@cartanova/qgrid-cli 1.9.0 → 2.0.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.md +47 -68
- package/bundle/dist/application/qgrid/oauth.js +1 -1
- package/bundle/dist/application/qgrid/qgrid-run-lifecycle.js +137 -0
- package/bundle/dist/application/qgrid/qgrid.dispatcher.js +116 -16
- package/bundle/dist/application/qgrid/qgrid.frame.js +350 -83
- package/bundle/dist/application/qgrid/qgrid.types.js +132 -19
- package/bundle/dist/application/qgrid/token-subscriber.js +14 -4
- package/bundle/dist/application/qgrid/token-trigger-setup.js +3 -4
- package/bundle/dist/application/qgrid/tool-emulation.js +102 -0
- package/bundle/dist/application/queries.generated.js +8 -3
- package/bundle/dist/application/request-log/request-log.model.js +105 -1
- package/bundle/dist/application/request-log/request-log.types.js +14 -3
- package/bundle/dist/application/request-log-step/request-log-step.model.js +115 -0
- package/bundle/dist/application/request-log-step/request-log-step.types.js +28 -0
- package/bundle/dist/application/sonamu.generated.js +145 -20
- package/bundle/dist/application/sonamu.generated.sso.js +63 -8
- package/bundle/dist/application/token/token.model.js +10 -8
- package/bundle/dist/application/token/token.types.js +19 -11
- package/bundle/dist/codex-protocol/AbsolutePathBuf.js +2 -0
- package/bundle/dist/codex-protocol/AgentPath.js +2 -0
- package/bundle/dist/codex-protocol/ApplyPatchApprovalParams.js +2 -0
- package/bundle/dist/codex-protocol/ApplyPatchApprovalResponse.js +2 -0
- package/bundle/dist/codex-protocol/AuthMode.js +2 -0
- package/bundle/dist/codex-protocol/ClientInfo.js +2 -0
- package/bundle/dist/codex-protocol/ClientNotification.js +2 -0
- package/bundle/dist/codex-protocol/ClientRequest.js +2 -0
- package/bundle/dist/codex-protocol/CollaborationMode.js +2 -0
- package/bundle/dist/codex-protocol/ContentItem.js +2 -0
- package/bundle/dist/codex-protocol/ConversationGitInfo.js +2 -0
- package/bundle/dist/codex-protocol/ConversationSummary.js +2 -0
- package/bundle/dist/codex-protocol/ExecCommandApprovalParams.js +2 -0
- package/bundle/dist/codex-protocol/ExecCommandApprovalResponse.js +2 -0
- package/bundle/dist/codex-protocol/ExecPolicyAmendment.js +2 -0
- package/bundle/dist/codex-protocol/FileChange.js +2 -0
- package/bundle/dist/codex-protocol/ForcedLoginMethod.js +2 -0
- package/bundle/dist/codex-protocol/FunctionCallOutputBody.js +2 -0
- package/bundle/dist/codex-protocol/FunctionCallOutputContentItem.js +2 -0
- package/bundle/dist/codex-protocol/FuzzyFileSearchMatchType.js +2 -0
- package/bundle/dist/codex-protocol/FuzzyFileSearchParams.js +2 -0
- package/bundle/dist/codex-protocol/FuzzyFileSearchResponse.js +2 -0
- package/bundle/dist/codex-protocol/FuzzyFileSearchResult.js +2 -0
- package/bundle/dist/codex-protocol/FuzzyFileSearchSessionCompletedNotification.js +2 -0
- package/bundle/dist/codex-protocol/FuzzyFileSearchSessionUpdatedNotification.js +2 -0
- package/bundle/dist/codex-protocol/GetAuthStatusParams.js +2 -0
- package/bundle/dist/codex-protocol/GetAuthStatusResponse.js +2 -0
- package/bundle/dist/codex-protocol/GetConversationSummaryParams.js +2 -0
- package/bundle/dist/codex-protocol/GetConversationSummaryResponse.js +2 -0
- package/bundle/dist/codex-protocol/GitDiffToRemoteParams.js +2 -0
- package/bundle/dist/codex-protocol/GitDiffToRemoteResponse.js +2 -0
- package/bundle/dist/codex-protocol/GitSha.js +2 -0
- package/bundle/dist/codex-protocol/ImageDetail.js +2 -0
- package/bundle/dist/codex-protocol/InitializeCapabilities.js +2 -0
- package/bundle/dist/codex-protocol/InitializeParams.js +2 -0
- package/bundle/dist/codex-protocol/InitializeResponse.js +2 -0
- package/bundle/dist/codex-protocol/InputModality.js +2 -0
- package/bundle/dist/codex-protocol/InternalSessionSource.js +2 -0
- package/bundle/dist/codex-protocol/LocalShellAction.js +2 -0
- package/bundle/dist/codex-protocol/LocalShellExecAction.js +2 -0
- package/bundle/dist/codex-protocol/LocalShellStatus.js +2 -0
- package/bundle/dist/codex-protocol/MessagePhase.js +2 -0
- package/bundle/dist/codex-protocol/ModeKind.js +2 -0
- package/bundle/dist/codex-protocol/NetworkPolicyAmendment.js +2 -0
- package/bundle/dist/codex-protocol/NetworkPolicyRuleAction.js +2 -0
- package/bundle/dist/codex-protocol/ParsedCommand.js +2 -0
- package/bundle/dist/codex-protocol/Personality.js +2 -0
- package/bundle/dist/codex-protocol/PlanType.js +2 -0
- package/bundle/dist/codex-protocol/RealtimeConversationVersion.js +2 -0
- package/bundle/dist/codex-protocol/RealtimeOutputModality.js +2 -0
- package/bundle/dist/codex-protocol/RealtimeVoice.js +2 -0
- package/bundle/dist/codex-protocol/RealtimeVoicesList.js +2 -0
- package/bundle/dist/codex-protocol/ReasoningEffort.js +2 -0
- package/bundle/dist/codex-protocol/ReasoningItemContent.js +2 -0
- package/bundle/dist/codex-protocol/ReasoningItemReasoningSummary.js +2 -0
- package/bundle/dist/codex-protocol/ReasoningSummary.js +2 -0
- package/bundle/dist/codex-protocol/RequestId.js +2 -0
- package/bundle/dist/codex-protocol/Resource.js +2 -0
- package/bundle/dist/codex-protocol/ResourceContent.js +2 -0
- package/bundle/dist/codex-protocol/ResourceTemplate.js +2 -0
- package/bundle/dist/codex-protocol/ResponseItem.js +2 -0
- package/bundle/dist/codex-protocol/ReviewDecision.js +2 -0
- package/bundle/dist/codex-protocol/ServerNotification.js +2 -0
- package/bundle/dist/codex-protocol/ServerRequest.js +2 -0
- package/bundle/dist/codex-protocol/SessionSource.js +2 -0
- package/bundle/dist/codex-protocol/Settings.js +2 -0
- package/bundle/dist/codex-protocol/SubAgentSource.js +2 -0
- package/bundle/dist/codex-protocol/ThreadId.js +2 -0
- package/bundle/dist/codex-protocol/ThreadMemoryMode.js +2 -0
- package/bundle/dist/codex-protocol/Tool.js +2 -0
- package/bundle/dist/codex-protocol/Verbosity.js +2 -0
- package/bundle/dist/codex-protocol/WebSearchAction.js +2 -0
- package/bundle/dist/codex-protocol/WebSearchContextSize.js +2 -0
- package/bundle/dist/codex-protocol/WebSearchLocation.js +2 -0
- package/bundle/dist/codex-protocol/WebSearchMode.js +2 -0
- package/bundle/dist/codex-protocol/WebSearchToolConfig.js +2 -0
- package/bundle/dist/codex-protocol/index.js +3 -0
- package/bundle/dist/codex-protocol/serde_json/JsonValue.js +2 -0
- package/bundle/dist/codex-protocol/v2/Account.js +2 -0
- package/bundle/dist/codex-protocol/v2/AccountLoginCompletedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/AccountRateLimitsUpdatedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/AccountUpdatedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/ActivePermissionProfile.js +2 -0
- package/bundle/dist/codex-protocol/v2/ActivePermissionProfileModification.js +2 -0
- package/bundle/dist/codex-protocol/v2/AddCreditsNudgeCreditType.js +2 -0
- package/bundle/dist/codex-protocol/v2/AddCreditsNudgeEmailStatus.js +2 -0
- package/bundle/dist/codex-protocol/v2/AdditionalFileSystemPermissions.js +2 -0
- package/bundle/dist/codex-protocol/v2/AdditionalNetworkPermissions.js +2 -0
- package/bundle/dist/codex-protocol/v2/AdditionalPermissionProfile.js +2 -0
- package/bundle/dist/codex-protocol/v2/AgentMessageDeltaNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/AnalyticsConfig.js +2 -0
- package/bundle/dist/codex-protocol/v2/AppBranding.js +2 -0
- package/bundle/dist/codex-protocol/v2/AppInfo.js +2 -0
- package/bundle/dist/codex-protocol/v2/AppListUpdatedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/AppMetadata.js +2 -0
- package/bundle/dist/codex-protocol/v2/AppReview.js +2 -0
- package/bundle/dist/codex-protocol/v2/AppScreenshot.js +2 -0
- package/bundle/dist/codex-protocol/v2/AppSummary.js +2 -0
- package/bundle/dist/codex-protocol/v2/AppToolApproval.js +2 -0
- package/bundle/dist/codex-protocol/v2/AppToolsConfig.js +2 -0
- package/bundle/dist/codex-protocol/v2/ApprovalsReviewer.js +2 -0
- package/bundle/dist/codex-protocol/v2/AppsConfig.js +2 -0
- package/bundle/dist/codex-protocol/v2/AppsDefaultConfig.js +2 -0
- package/bundle/dist/codex-protocol/v2/AppsListParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/AppsListResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/AskForApproval.js +2 -0
- package/bundle/dist/codex-protocol/v2/AutoReviewDecisionSource.js +2 -0
- package/bundle/dist/codex-protocol/v2/ByteRange.js +2 -0
- package/bundle/dist/codex-protocol/v2/CancelLoginAccountParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/CancelLoginAccountResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/CancelLoginAccountStatus.js +2 -0
- package/bundle/dist/codex-protocol/v2/ChatgptAuthTokensRefreshParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/ChatgptAuthTokensRefreshReason.js +2 -0
- package/bundle/dist/codex-protocol/v2/ChatgptAuthTokensRefreshResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/CodexErrorInfo.js +2 -0
- package/bundle/dist/codex-protocol/v2/CollabAgentState.js +2 -0
- package/bundle/dist/codex-protocol/v2/CollabAgentStatus.js +2 -0
- package/bundle/dist/codex-protocol/v2/CollabAgentTool.js +2 -0
- package/bundle/dist/codex-protocol/v2/CollabAgentToolCallStatus.js +2 -0
- package/bundle/dist/codex-protocol/v2/CollaborationModeMask.js +2 -0
- package/bundle/dist/codex-protocol/v2/CommandAction.js +2 -0
- package/bundle/dist/codex-protocol/v2/CommandExecOutputDeltaNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/CommandExecOutputStream.js +2 -0
- package/bundle/dist/codex-protocol/v2/CommandExecParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/CommandExecResizeParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/CommandExecResizeResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/CommandExecResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/CommandExecTerminalSize.js +2 -0
- package/bundle/dist/codex-protocol/v2/CommandExecTerminateParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/CommandExecTerminateResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/CommandExecWriteParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/CommandExecWriteResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/CommandExecutionApprovalDecision.js +2 -0
- package/bundle/dist/codex-protocol/v2/CommandExecutionOutputDeltaNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/CommandExecutionRequestApprovalParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/CommandExecutionRequestApprovalResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/CommandExecutionSource.js +2 -0
- package/bundle/dist/codex-protocol/v2/CommandExecutionStatus.js +2 -0
- package/bundle/dist/codex-protocol/v2/CommandMigration.js +2 -0
- package/bundle/dist/codex-protocol/v2/Config.js +2 -0
- package/bundle/dist/codex-protocol/v2/ConfigBatchWriteParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/ConfigEdit.js +2 -0
- package/bundle/dist/codex-protocol/v2/ConfigLayer.js +2 -0
- package/bundle/dist/codex-protocol/v2/ConfigLayerMetadata.js +2 -0
- package/bundle/dist/codex-protocol/v2/ConfigLayerSource.js +2 -0
- package/bundle/dist/codex-protocol/v2/ConfigReadParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/ConfigReadResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/ConfigRequirements.js +2 -0
- package/bundle/dist/codex-protocol/v2/ConfigRequirementsReadResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/ConfigValueWriteParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/ConfigWarningNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/ConfigWriteResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/ConfiguredHookHandler.js +2 -0
- package/bundle/dist/codex-protocol/v2/ConfiguredHookMatcherGroup.js +2 -0
- package/bundle/dist/codex-protocol/v2/ContextCompactedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/CreditsSnapshot.js +2 -0
- package/bundle/dist/codex-protocol/v2/DeprecationNoticeNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/DynamicToolCallOutputContentItem.js +2 -0
- package/bundle/dist/codex-protocol/v2/DynamicToolCallParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/DynamicToolCallResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/DynamicToolCallStatus.js +2 -0
- package/bundle/dist/codex-protocol/v2/DynamicToolSpec.js +2 -0
- package/bundle/dist/codex-protocol/v2/ErrorNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/ExecPolicyAmendment.js +2 -0
- package/bundle/dist/codex-protocol/v2/ExperimentalFeature.js +2 -0
- package/bundle/dist/codex-protocol/v2/ExperimentalFeatureEnablementSetParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/ExperimentalFeatureEnablementSetResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/ExperimentalFeatureListParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/ExperimentalFeatureListResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/ExperimentalFeatureStage.js +2 -0
- package/bundle/dist/codex-protocol/v2/ExternalAgentConfigDetectParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/ExternalAgentConfigDetectResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/ExternalAgentConfigImportCompletedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/ExternalAgentConfigImportParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/ExternalAgentConfigImportResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/ExternalAgentConfigMigrationItem.js +2 -0
- package/bundle/dist/codex-protocol/v2/ExternalAgentConfigMigrationItemType.js +2 -0
- package/bundle/dist/codex-protocol/v2/FeedbackUploadParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/FeedbackUploadResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/FileChangeApprovalDecision.js +2 -0
- package/bundle/dist/codex-protocol/v2/FileChangeOutputDeltaNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/FileChangePatchUpdatedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/FileChangeRequestApprovalParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/FileChangeRequestApprovalResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/FileSystemAccessMode.js +2 -0
- package/bundle/dist/codex-protocol/v2/FileSystemPath.js +2 -0
- package/bundle/dist/codex-protocol/v2/FileSystemSandboxEntry.js +2 -0
- package/bundle/dist/codex-protocol/v2/FileSystemSpecialPath.js +2 -0
- package/bundle/dist/codex-protocol/v2/FileUpdateChange.js +2 -0
- package/bundle/dist/codex-protocol/v2/FsChangedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/FsCopyParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/FsCopyResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/FsCreateDirectoryParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/FsCreateDirectoryResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/FsGetMetadataParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/FsGetMetadataResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/FsReadDirectoryEntry.js +2 -0
- package/bundle/dist/codex-protocol/v2/FsReadDirectoryParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/FsReadDirectoryResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/FsReadFileParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/FsReadFileResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/FsRemoveParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/FsRemoveResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/FsUnwatchParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/FsUnwatchResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/FsWatchParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/FsWatchResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/FsWriteFileParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/FsWriteFileResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/GetAccountParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/GetAccountRateLimitsResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/GetAccountResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/GitInfo.js +2 -0
- package/bundle/dist/codex-protocol/v2/GrantedPermissionProfile.js +2 -0
- package/bundle/dist/codex-protocol/v2/GuardianApprovalReview.js +2 -0
- package/bundle/dist/codex-protocol/v2/GuardianApprovalReviewAction.js +2 -0
- package/bundle/dist/codex-protocol/v2/GuardianApprovalReviewStatus.js +2 -0
- package/bundle/dist/codex-protocol/v2/GuardianCommandSource.js +2 -0
- package/bundle/dist/codex-protocol/v2/GuardianRiskLevel.js +2 -0
- package/bundle/dist/codex-protocol/v2/GuardianUserAuthorization.js +2 -0
- package/bundle/dist/codex-protocol/v2/GuardianWarningNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/HookCompletedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/HookErrorInfo.js +2 -0
- package/bundle/dist/codex-protocol/v2/HookEventName.js +2 -0
- package/bundle/dist/codex-protocol/v2/HookExecutionMode.js +2 -0
- package/bundle/dist/codex-protocol/v2/HookHandlerType.js +2 -0
- package/bundle/dist/codex-protocol/v2/HookMetadata.js +2 -0
- package/bundle/dist/codex-protocol/v2/HookMigration.js +2 -0
- package/bundle/dist/codex-protocol/v2/HookOutputEntry.js +2 -0
- package/bundle/dist/codex-protocol/v2/HookOutputEntryKind.js +2 -0
- package/bundle/dist/codex-protocol/v2/HookPromptFragment.js +2 -0
- package/bundle/dist/codex-protocol/v2/HookRunStatus.js +2 -0
- package/bundle/dist/codex-protocol/v2/HookRunSummary.js +2 -0
- package/bundle/dist/codex-protocol/v2/HookScope.js +2 -0
- package/bundle/dist/codex-protocol/v2/HookSource.js +2 -0
- package/bundle/dist/codex-protocol/v2/HookStartedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/HookTrustStatus.js +2 -0
- package/bundle/dist/codex-protocol/v2/HooksListEntry.js +2 -0
- package/bundle/dist/codex-protocol/v2/HooksListParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/HooksListResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/ItemCompletedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/ItemGuardianApprovalReviewCompletedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/ItemGuardianApprovalReviewStartedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/ItemStartedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/ListMcpServerStatusParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/ListMcpServerStatusResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/LoginAccountParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/LoginAccountResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/LogoutAccountResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/ManagedHooksRequirements.js +2 -0
- package/bundle/dist/codex-protocol/v2/MarketplaceAddParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/MarketplaceAddResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/MarketplaceInterface.js +2 -0
- package/bundle/dist/codex-protocol/v2/MarketplaceLoadErrorInfo.js +2 -0
- package/bundle/dist/codex-protocol/v2/MarketplaceRemoveParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/MarketplaceRemoveResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/MarketplaceUpgradeErrorInfo.js +2 -0
- package/bundle/dist/codex-protocol/v2/MarketplaceUpgradeParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/MarketplaceUpgradeResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpAuthStatus.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpElicitationArrayType.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpElicitationBooleanSchema.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpElicitationBooleanType.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpElicitationConstOption.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpElicitationEnumSchema.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpElicitationLegacyTitledEnumSchema.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpElicitationMultiSelectEnumSchema.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpElicitationNumberSchema.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpElicitationNumberType.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpElicitationObjectType.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpElicitationPrimitiveSchema.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpElicitationSchema.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpElicitationSingleSelectEnumSchema.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpElicitationStringFormat.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpElicitationStringSchema.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpElicitationStringType.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpElicitationTitledEnumItems.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpElicitationTitledMultiSelectEnumSchema.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpElicitationTitledSingleSelectEnumSchema.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpElicitationUntitledEnumItems.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpElicitationUntitledMultiSelectEnumSchema.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpElicitationUntitledSingleSelectEnumSchema.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpResourceReadParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpResourceReadResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpServerElicitationAction.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpServerElicitationRequestParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpServerElicitationRequestResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpServerMigration.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpServerOauthLoginCompletedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpServerOauthLoginParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpServerOauthLoginResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpServerRefreshResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpServerStartupState.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpServerStatus.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpServerStatusDetail.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpServerStatusUpdatedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpServerToolCallParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpServerToolCallResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpToolCallError.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpToolCallProgressNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpToolCallResult.js +2 -0
- package/bundle/dist/codex-protocol/v2/McpToolCallStatus.js +2 -0
- package/bundle/dist/codex-protocol/v2/MemoryCitation.js +2 -0
- package/bundle/dist/codex-protocol/v2/MemoryCitationEntry.js +2 -0
- package/bundle/dist/codex-protocol/v2/MergeStrategy.js +2 -0
- package/bundle/dist/codex-protocol/v2/MigrationDetails.js +2 -0
- package/bundle/dist/codex-protocol/v2/Model.js +2 -0
- package/bundle/dist/codex-protocol/v2/ModelAvailabilityNux.js +2 -0
- package/bundle/dist/codex-protocol/v2/ModelListParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/ModelListResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/ModelProviderCapabilitiesReadParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/ModelProviderCapabilitiesReadResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/ModelRerouteReason.js +2 -0
- package/bundle/dist/codex-protocol/v2/ModelReroutedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/ModelServiceTier.js +2 -0
- package/bundle/dist/codex-protocol/v2/ModelUpgradeInfo.js +2 -0
- package/bundle/dist/codex-protocol/v2/ModelVerification.js +2 -0
- package/bundle/dist/codex-protocol/v2/ModelVerificationNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/NetworkAccess.js +2 -0
- package/bundle/dist/codex-protocol/v2/NetworkApprovalContext.js +2 -0
- package/bundle/dist/codex-protocol/v2/NetworkApprovalProtocol.js +2 -0
- package/bundle/dist/codex-protocol/v2/NetworkDomainPermission.js +2 -0
- package/bundle/dist/codex-protocol/v2/NetworkPolicyAmendment.js +2 -0
- package/bundle/dist/codex-protocol/v2/NetworkPolicyRuleAction.js +2 -0
- package/bundle/dist/codex-protocol/v2/NetworkRequirements.js +2 -0
- package/bundle/dist/codex-protocol/v2/NetworkUnixSocketPermission.js +2 -0
- package/bundle/dist/codex-protocol/v2/NonSteerableTurnKind.js +2 -0
- package/bundle/dist/codex-protocol/v2/OverriddenMetadata.js +2 -0
- package/bundle/dist/codex-protocol/v2/PatchApplyStatus.js +2 -0
- package/bundle/dist/codex-protocol/v2/PatchChangeKind.js +2 -0
- package/bundle/dist/codex-protocol/v2/PermissionGrantScope.js +2 -0
- package/bundle/dist/codex-protocol/v2/PermissionProfile.js +2 -0
- package/bundle/dist/codex-protocol/v2/PermissionProfileFileSystemPermissions.js +2 -0
- package/bundle/dist/codex-protocol/v2/PermissionProfileModificationParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/PermissionProfileNetworkPermissions.js +2 -0
- package/bundle/dist/codex-protocol/v2/PermissionProfileSelectionParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/PermissionsRequestApprovalParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/PermissionsRequestApprovalResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/PlanDeltaNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/PluginAuthPolicy.js +2 -0
- package/bundle/dist/codex-protocol/v2/PluginAvailability.js +2 -0
- package/bundle/dist/codex-protocol/v2/PluginDetail.js +2 -0
- package/bundle/dist/codex-protocol/v2/PluginHookSummary.js +2 -0
- package/bundle/dist/codex-protocol/v2/PluginInstallParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/PluginInstallPolicy.js +2 -0
- package/bundle/dist/codex-protocol/v2/PluginInstallResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/PluginInterface.js +2 -0
- package/bundle/dist/codex-protocol/v2/PluginListMarketplaceKind.js +2 -0
- package/bundle/dist/codex-protocol/v2/PluginListParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/PluginListResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/PluginMarketplaceEntry.js +2 -0
- package/bundle/dist/codex-protocol/v2/PluginReadParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/PluginReadResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/PluginShareContext.js +2 -0
- package/bundle/dist/codex-protocol/v2/PluginShareDeleteParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/PluginShareDeleteResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/PluginShareDiscoverability.js +2 -0
- package/bundle/dist/codex-protocol/v2/PluginShareListItem.js +2 -0
- package/bundle/dist/codex-protocol/v2/PluginShareListParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/PluginShareListResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/PluginSharePrincipal.js +2 -0
- package/bundle/dist/codex-protocol/v2/PluginSharePrincipalType.js +2 -0
- package/bundle/dist/codex-protocol/v2/PluginShareSaveParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/PluginShareSaveResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/PluginShareTarget.js +2 -0
- package/bundle/dist/codex-protocol/v2/PluginShareUpdateDiscoverability.js +2 -0
- package/bundle/dist/codex-protocol/v2/PluginShareUpdateTargetsParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/PluginShareUpdateTargetsResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/PluginSkillReadParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/PluginSkillReadResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/PluginSource.js +2 -0
- package/bundle/dist/codex-protocol/v2/PluginSummary.js +2 -0
- package/bundle/dist/codex-protocol/v2/PluginUninstallParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/PluginUninstallResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/PluginsMigration.js +2 -0
- package/bundle/dist/codex-protocol/v2/ProcessExitedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/ProcessOutputDeltaNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/ProcessOutputStream.js +2 -0
- package/bundle/dist/codex-protocol/v2/ProcessTerminalSize.js +2 -0
- package/bundle/dist/codex-protocol/v2/ProfileV2.js +2 -0
- package/bundle/dist/codex-protocol/v2/RateLimitReachedType.js +2 -0
- package/bundle/dist/codex-protocol/v2/RateLimitSnapshot.js +2 -0
- package/bundle/dist/codex-protocol/v2/RateLimitWindow.js +2 -0
- package/bundle/dist/codex-protocol/v2/RawResponseItemCompletedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/ReasoningEffortOption.js +2 -0
- package/bundle/dist/codex-protocol/v2/ReasoningSummaryPartAddedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/ReasoningSummaryTextDeltaNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/ReasoningTextDeltaNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/RemoteControlConnectionStatus.js +2 -0
- package/bundle/dist/codex-protocol/v2/RemoteControlStatusChangedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/RequestPermissionProfile.js +2 -0
- package/bundle/dist/codex-protocol/v2/ResidencyRequirement.js +2 -0
- package/bundle/dist/codex-protocol/v2/ReviewDelivery.js +2 -0
- package/bundle/dist/codex-protocol/v2/ReviewStartParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/ReviewStartResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/ReviewTarget.js +2 -0
- package/bundle/dist/codex-protocol/v2/SandboxMode.js +2 -0
- package/bundle/dist/codex-protocol/v2/SandboxPolicy.js +2 -0
- package/bundle/dist/codex-protocol/v2/SandboxWorkspaceWrite.js +2 -0
- package/bundle/dist/codex-protocol/v2/SendAddCreditsNudgeEmailParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/SendAddCreditsNudgeEmailResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/ServerRequestResolvedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/SessionMigration.js +2 -0
- package/bundle/dist/codex-protocol/v2/SessionSource.js +2 -0
- package/bundle/dist/codex-protocol/v2/SkillDependencies.js +2 -0
- package/bundle/dist/codex-protocol/v2/SkillErrorInfo.js +2 -0
- package/bundle/dist/codex-protocol/v2/SkillInterface.js +2 -0
- package/bundle/dist/codex-protocol/v2/SkillMetadata.js +2 -0
- package/bundle/dist/codex-protocol/v2/SkillScope.js +2 -0
- package/bundle/dist/codex-protocol/v2/SkillSummary.js +2 -0
- package/bundle/dist/codex-protocol/v2/SkillToolDependency.js +2 -0
- package/bundle/dist/codex-protocol/v2/SkillsChangedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/SkillsConfigWriteParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/SkillsConfigWriteResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/SkillsListEntry.js +2 -0
- package/bundle/dist/codex-protocol/v2/SkillsListParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/SkillsListResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/SortDirection.js +2 -0
- package/bundle/dist/codex-protocol/v2/SubagentMigration.js +2 -0
- package/bundle/dist/codex-protocol/v2/TerminalInteractionNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/TextElement.js +2 -0
- package/bundle/dist/codex-protocol/v2/TextPosition.js +2 -0
- package/bundle/dist/codex-protocol/v2/TextRange.js +2 -0
- package/bundle/dist/codex-protocol/v2/Thread.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadActiveFlag.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadApproveGuardianDeniedActionParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadApproveGuardianDeniedActionResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadArchiveParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadArchiveResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadArchivedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadClosedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadCompactStartParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadCompactStartResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadForkParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadForkResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadGoal.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadGoalClearedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadGoalStatus.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadGoalUpdatedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadInjectItemsParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadInjectItemsResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadItem.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadListParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadListResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadLoadedListParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadLoadedListResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadMetadataGitInfoUpdateParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadMetadataUpdateParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadMetadataUpdateResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadNameUpdatedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadReadParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadReadResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadRealtimeAudioChunk.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadRealtimeClosedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadRealtimeErrorNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadRealtimeItemAddedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadRealtimeOutputAudioDeltaNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadRealtimeSdpNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadRealtimeStartTransport.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadRealtimeStartedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadRealtimeTranscriptDeltaNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadRealtimeTranscriptDoneNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadResumeParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadResumeResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadRollbackParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadRollbackResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadSetNameParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadSetNameResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadShellCommandParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadShellCommandResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadSortKey.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadSource.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadSourceKind.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadStartParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadStartResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadStartSource.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadStartedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadStatus.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadStatusChangedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadTokenUsage.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadTokenUsageUpdatedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadUnarchiveParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadUnarchiveResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadUnarchivedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadUnsubscribeParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadUnsubscribeResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/ThreadUnsubscribeStatus.js +2 -0
- package/bundle/dist/codex-protocol/v2/TokenUsageBreakdown.js +2 -0
- package/bundle/dist/codex-protocol/v2/ToolRequestUserInputAnswer.js +2 -0
- package/bundle/dist/codex-protocol/v2/ToolRequestUserInputOption.js +2 -0
- package/bundle/dist/codex-protocol/v2/ToolRequestUserInputParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/ToolRequestUserInputQuestion.js +2 -0
- package/bundle/dist/codex-protocol/v2/ToolRequestUserInputResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/ToolsV2.js +2 -0
- package/bundle/dist/codex-protocol/v2/Turn.js +2 -0
- package/bundle/dist/codex-protocol/v2/TurnCompletedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/TurnDiffUpdatedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/TurnEnvironmentParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/TurnError.js +2 -0
- package/bundle/dist/codex-protocol/v2/TurnInterruptParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/TurnInterruptResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/TurnItemsView.js +2 -0
- package/bundle/dist/codex-protocol/v2/TurnPlanStep.js +2 -0
- package/bundle/dist/codex-protocol/v2/TurnPlanStepStatus.js +2 -0
- package/bundle/dist/codex-protocol/v2/TurnPlanUpdatedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/TurnStartParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/TurnStartResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/TurnStartedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/TurnStatus.js +2 -0
- package/bundle/dist/codex-protocol/v2/TurnSteerParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/TurnSteerResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/UserInput.js +2 -0
- package/bundle/dist/codex-protocol/v2/WarningNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/WebSearchAction.js +2 -0
- package/bundle/dist/codex-protocol/v2/WindowsSandboxReadiness.js +2 -0
- package/bundle/dist/codex-protocol/v2/WindowsSandboxReadinessResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/WindowsSandboxSetupCompletedNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/WindowsSandboxSetupMode.js +2 -0
- package/bundle/dist/codex-protocol/v2/WindowsSandboxSetupStartParams.js +2 -0
- package/bundle/dist/codex-protocol/v2/WindowsSandboxSetupStartResponse.js +2 -0
- package/bundle/dist/codex-protocol/v2/WindowsWorldWritableWarningNotification.js +2 -0
- package/bundle/dist/codex-protocol/v2/WriteStatus.js +2 -0
- package/bundle/dist/codex-protocol/v2/index.js +7 -0
- package/bundle/dist/i18n/sd.generated.js +37 -5
- package/bundle/dist/migrations/20260518145411_alter_tokens_add2_drop4_alter1.js +22 -0
- package/bundle/dist/migrations/20260520112853_alter_request_logs_add3_alter1.js +18 -0
- package/bundle/dist/migrations/20260520124755_alter_request_logs_drop1_alter1.js +16 -0
- package/bundle/dist/migrations/20260520130420_create__request_log_steps.js +34 -0
- package/bundle/dist/migrations/20260520134908_alter_request_logs_add2_alter8.js +31 -0
- package/bundle/dist/migrations/20260520134909_alter_request_log_steps_add1_alter3.js +20 -0
- package/bundle/dist/migrations/20260520141449_alter_request_logs_add1_alter1.js +16 -0
- package/bundle/dist/migrations/20260521134025_alter_request_log_steps_alter1.js +14 -0
- package/bundle/dist/migrations/20260521134026_alter_request_log_steps_foreigns.js +16 -0
- package/bundle/dist/migrations/20260522181721_alter_request_log_steps_add2_alter1.js +17 -0
- package/bundle/dist/sonamu.config.js +44 -42
- package/bundle/dist/utils/providers/common/credentials.js +22 -0
- package/bundle/dist/utils/providers/common/model-cost.js +117 -0
- package/bundle/dist/utils/providers/common/provider-dispatcher.js +2 -0
- package/bundle/dist/utils/providers/common/strictifier.js +81 -0
- package/bundle/dist/utils/providers/common/token-picker.js +15 -0
- package/bundle/dist/utils/providers/openai/codex-rpc.js +151 -0
- package/bundle/dist/utils/providers/openai/codex-worker.js +371 -0
- package/bundle/dist/utils/providers/openai/openai-constants.js +10 -0
- package/bundle/dist/utils/providers/openai/openai-dispatcher.js +325 -0
- package/bundle/dist/utils/providers/openai/openai-refresh.js +93 -0
- package/bundle/src/application/qgrid/oauth.ts +8 -4
- package/bundle/src/application/qgrid/qgrid-run-lifecycle.ts +185 -0
- package/bundle/src/application/qgrid/qgrid.dispatcher.ts +165 -23
- package/bundle/src/application/qgrid/qgrid.frame.ts +400 -81
- package/bundle/src/application/qgrid/qgrid.types.ts +150 -20
- package/bundle/src/application/qgrid/token-subscriber.ts +27 -5
- package/bundle/src/application/qgrid/token-trigger-setup.ts +2 -3
- package/bundle/src/application/qgrid/tool-emulation.ts +95 -0
- package/bundle/src/application/queries.generated.ts +31 -3
- package/bundle/src/application/request-log/request-log.entity.json +49 -41
- package/bundle/src/application/request-log/request-log.model.ts +180 -0
- package/bundle/src/application/request-log/request-log.types.ts +15 -0
- package/bundle/src/application/request-log-step/request-log-step.entity.json +137 -0
- package/bundle/src/application/request-log-step/request-log-step.model.ts +161 -0
- package/bundle/src/application/request-log-step/request-log-step.types.ts +30 -0
- package/bundle/src/application/sonamu.generated.http +245 -24
- package/bundle/src/application/sonamu.generated.sso.ts +72 -5
- package/bundle/src/application/sonamu.generated.ts +199 -22
- package/bundle/src/application/token/token.entity.json +7 -19
- package/bundle/src/application/token/token.model.ts +13 -13
- package/bundle/src/application/token/token.types.ts +25 -12
- package/bundle/src/codex-protocol/AbsolutePathBuf.ts +14 -0
- package/bundle/src/codex-protocol/AgentPath.ts +5 -0
- package/bundle/src/codex-protocol/ApplyPatchApprovalParams.ts +24 -0
- package/bundle/src/codex-protocol/ApplyPatchApprovalResponse.ts +6 -0
- package/bundle/src/codex-protocol/AuthMode.ts +8 -0
- package/bundle/src/codex-protocol/ClientInfo.ts +5 -0
- package/bundle/src/codex-protocol/ClientNotification.ts +5 -0
- package/bundle/src/codex-protocol/ClientRequest.ts +176 -0
- package/bundle/src/codex-protocol/CollaborationMode.ts +10 -0
- package/bundle/src/codex-protocol/ContentItem.ts +9 -0
- package/bundle/src/codex-protocol/ConversationGitInfo.ts +9 -0
- package/bundle/src/codex-protocol/ConversationSummary.ts +19 -0
- package/bundle/src/codex-protocol/ExecCommandApprovalParams.ts +22 -0
- package/bundle/src/codex-protocol/ExecCommandApprovalResponse.ts +6 -0
- package/bundle/src/codex-protocol/ExecPolicyAmendment.ts +12 -0
- package/bundle/src/codex-protocol/FileChange.ts +8 -0
- package/bundle/src/codex-protocol/ForcedLoginMethod.ts +5 -0
- package/bundle/src/codex-protocol/FunctionCallOutputBody.ts +6 -0
- package/bundle/src/codex-protocol/FunctionCallOutputContentItem.ts +12 -0
- package/bundle/src/codex-protocol/FuzzyFileSearchMatchType.ts +5 -0
- package/bundle/src/codex-protocol/FuzzyFileSearchParams.ts +9 -0
- package/bundle/src/codex-protocol/FuzzyFileSearchResponse.ts +6 -0
- package/bundle/src/codex-protocol/FuzzyFileSearchResult.ts +16 -0
- package/bundle/src/codex-protocol/FuzzyFileSearchSessionCompletedNotification.ts +5 -0
- package/bundle/src/codex-protocol/FuzzyFileSearchSessionUpdatedNotification.ts +10 -0
- package/bundle/src/codex-protocol/GetAuthStatusParams.ts +5 -0
- package/bundle/src/codex-protocol/GetAuthStatusResponse.ts +10 -0
- package/bundle/src/codex-protocol/GetConversationSummaryParams.ts +6 -0
- package/bundle/src/codex-protocol/GetConversationSummaryResponse.ts +6 -0
- package/bundle/src/codex-protocol/GitDiffToRemoteParams.ts +5 -0
- package/bundle/src/codex-protocol/GitDiffToRemoteResponse.ts +6 -0
- package/bundle/src/codex-protocol/GitSha.ts +5 -0
- package/bundle/src/codex-protocol/ImageDetail.ts +5 -0
- package/bundle/src/codex-protocol/InitializeCapabilities.ts +18 -0
- package/bundle/src/codex-protocol/InitializeParams.ts +10 -0
- package/bundle/src/codex-protocol/InitializeResponse.ts +22 -0
- package/bundle/src/codex-protocol/InputModality.ts +8 -0
- package/bundle/src/codex-protocol/InternalSessionSource.ts +5 -0
- package/bundle/src/codex-protocol/LocalShellAction.ts +6 -0
- package/bundle/src/codex-protocol/LocalShellExecAction.ts +11 -0
- package/bundle/src/codex-protocol/LocalShellStatus.ts +5 -0
- package/bundle/src/codex-protocol/MessagePhase.ts +11 -0
- package/bundle/src/codex-protocol/ModeKind.ts +8 -0
- package/bundle/src/codex-protocol/NetworkPolicyAmendment.ts +6 -0
- package/bundle/src/codex-protocol/NetworkPolicyRuleAction.ts +5 -0
- package/bundle/src/codex-protocol/ParsedCommand.ts +20 -0
- package/bundle/src/codex-protocol/Personality.ts +5 -0
- package/bundle/src/codex-protocol/PlanType.ts +17 -0
- package/bundle/src/codex-protocol/RealtimeConversationVersion.ts +5 -0
- package/bundle/src/codex-protocol/RealtimeOutputModality.ts +5 -0
- package/bundle/src/codex-protocol/RealtimeVoice.ts +24 -0
- package/bundle/src/codex-protocol/RealtimeVoicesList.ts +11 -0
- package/bundle/src/codex-protocol/ReasoningEffort.ts +8 -0
- package/bundle/src/codex-protocol/ReasoningItemContent.ts +7 -0
- package/bundle/src/codex-protocol/ReasoningItemReasoningSummary.ts +5 -0
- package/bundle/src/codex-protocol/ReasoningSummary.ts +10 -0
- package/bundle/src/codex-protocol/RequestId.ts +5 -0
- package/bundle/src/codex-protocol/Resource.ts +19 -0
- package/bundle/src/codex-protocol/ResourceContent.ts +27 -0
- package/bundle/src/codex-protocol/ResourceTemplate.ts +16 -0
- package/bundle/src/codex-protocol/ResponseItem.ts +63 -0
- package/bundle/src/codex-protocol/ReviewDecision.ts +17 -0
- package/bundle/src/codex-protocol/ServerNotification.ts +154 -0
- package/bundle/src/codex-protocol/ServerRequest.ts +47 -0
- package/bundle/src/codex-protocol/SessionSource.ts +15 -0
- package/bundle/src/codex-protocol/Settings.ts +13 -0
- package/bundle/src/codex-protocol/SubAgentSource.ts +20 -0
- package/bundle/src/codex-protocol/ThreadId.ts +5 -0
- package/bundle/src/codex-protocol/ThreadMemoryMode.ts +5 -0
- package/bundle/src/codex-protocol/Tool.ts +18 -0
- package/bundle/src/codex-protocol/Verbosity.ts +9 -0
- package/bundle/src/codex-protocol/WebSearchAction.ts +9 -0
- package/bundle/src/codex-protocol/WebSearchContextSize.ts +5 -0
- package/bundle/src/codex-protocol/WebSearchLocation.ts +10 -0
- package/bundle/src/codex-protocol/WebSearchMode.ts +5 -0
- package/bundle/src/codex-protocol/WebSearchToolConfig.ts +11 -0
- package/bundle/src/codex-protocol/index.ts +79 -0
- package/bundle/src/codex-protocol/serde_json/JsonValue.ts +11 -0
- package/bundle/src/codex-protocol/v2/Account.ts +9 -0
- package/bundle/src/codex-protocol/v2/AccountLoginCompletedNotification.ts +9 -0
- package/bundle/src/codex-protocol/v2/AccountRateLimitsUpdatedNotification.ts +6 -0
- package/bundle/src/codex-protocol/v2/AccountUpdatedNotification.ts +7 -0
- package/bundle/src/codex-protocol/v2/ActivePermissionProfile.ts +22 -0
- package/bundle/src/codex-protocol/v2/ActivePermissionProfileModification.ts +9 -0
- package/bundle/src/codex-protocol/v2/AddCreditsNudgeCreditType.ts +5 -0
- package/bundle/src/codex-protocol/v2/AddCreditsNudgeEmailStatus.ts +5 -0
- package/bundle/src/codex-protocol/v2/AdditionalFileSystemPermissions.ts +18 -0
- package/bundle/src/codex-protocol/v2/AdditionalNetworkPermissions.ts +5 -0
- package/bundle/src/codex-protocol/v2/AdditionalPermissionProfile.ts +13 -0
- package/bundle/src/codex-protocol/v2/AgentMessageDeltaNotification.ts +10 -0
- package/bundle/src/codex-protocol/v2/AnalyticsConfig.ts +14 -0
- package/bundle/src/codex-protocol/v2/AppBranding.ts +15 -0
- package/bundle/src/codex-protocol/v2/AppInfo.ts +32 -0
- package/bundle/src/codex-protocol/v2/AppListUpdatedNotification.ts +9 -0
- package/bundle/src/codex-protocol/v2/AppMetadata.ts +20 -0
- package/bundle/src/codex-protocol/v2/AppReview.ts +5 -0
- package/bundle/src/codex-protocol/v2/AppScreenshot.ts +5 -0
- package/bundle/src/codex-protocol/v2/AppSummary.ts +14 -0
- package/bundle/src/codex-protocol/v2/AppToolApproval.ts +5 -0
- package/bundle/src/codex-protocol/v2/AppToolsConfig.ts +8 -0
- package/bundle/src/codex-protocol/v2/ApprovalsReviewer.ts +12 -0
- package/bundle/src/codex-protocol/v2/AppsConfig.ts +17 -0
- package/bundle/src/codex-protocol/v2/AppsDefaultConfig.ts +9 -0
- package/bundle/src/codex-protocol/v2/AppsListParams.ts +25 -0
- package/bundle/src/codex-protocol/v2/AppsListResponse.ts +16 -0
- package/bundle/src/codex-protocol/v2/AskForApproval.ts +18 -0
- package/bundle/src/codex-protocol/v2/AutoReviewDecisionSource.ts +8 -0
- package/bundle/src/codex-protocol/v2/ByteRange.ts +5 -0
- package/bundle/src/codex-protocol/v2/CancelLoginAccountParams.ts +5 -0
- package/bundle/src/codex-protocol/v2/CancelLoginAccountResponse.ts +6 -0
- package/bundle/src/codex-protocol/v2/CancelLoginAccountStatus.ts +5 -0
- package/bundle/src/codex-protocol/v2/ChatgptAuthTokensRefreshParams.ts +18 -0
- package/bundle/src/codex-protocol/v2/ChatgptAuthTokensRefreshReason.ts +5 -0
- package/bundle/src/codex-protocol/v2/ChatgptAuthTokensRefreshResponse.ts +9 -0
- package/bundle/src/codex-protocol/v2/CodexErrorInfo.ts +27 -0
- package/bundle/src/codex-protocol/v2/CollabAgentState.ts +6 -0
- package/bundle/src/codex-protocol/v2/CollabAgentStatus.ts +12 -0
- package/bundle/src/codex-protocol/v2/CollabAgentTool.ts +5 -0
- package/bundle/src/codex-protocol/v2/CollabAgentToolCallStatus.ts +5 -0
- package/bundle/src/codex-protocol/v2/CollaborationModeMask.ts +15 -0
- package/bundle/src/codex-protocol/v2/CommandAction.ts +10 -0
- package/bundle/src/codex-protocol/v2/CommandExecOutputDeltaNotification.ts +31 -0
- package/bundle/src/codex-protocol/v2/CommandExecOutputStream.ts +8 -0
- package/bundle/src/codex-protocol/v2/CommandExecParams.ts +87 -0
- package/bundle/src/codex-protocol/v2/CommandExecResizeParams.ts +19 -0
- package/bundle/src/codex-protocol/v2/CommandExecResizeResponse.ts +8 -0
- package/bundle/src/codex-protocol/v2/CommandExecResponse.ts +25 -0
- package/bundle/src/codex-protocol/v2/CommandExecTerminalSize.ts +17 -0
- package/bundle/src/codex-protocol/v2/CommandExecTerminateParams.ts +14 -0
- package/bundle/src/codex-protocol/v2/CommandExecTerminateResponse.ts +8 -0
- package/bundle/src/codex-protocol/v2/CommandExecWriteParams.ts +23 -0
- package/bundle/src/codex-protocol/v2/CommandExecWriteResponse.ts +8 -0
- package/bundle/src/codex-protocol/v2/CommandExecutionApprovalDecision.ts +13 -0
- package/bundle/src/codex-protocol/v2/CommandExecutionOutputDeltaNotification.ts +10 -0
- package/bundle/src/codex-protocol/v2/CommandExecutionRequestApprovalParams.ts +47 -0
- package/bundle/src/codex-protocol/v2/CommandExecutionRequestApprovalResponse.ts +8 -0
- package/bundle/src/codex-protocol/v2/CommandExecutionSource.ts +9 -0
- package/bundle/src/codex-protocol/v2/CommandExecutionStatus.ts +5 -0
- package/bundle/src/codex-protocol/v2/CommandMigration.ts +5 -0
- package/bundle/src/codex-protocol/v2/Config.ts +53 -0
- package/bundle/src/codex-protocol/v2/ConfigBatchWriteParams.ts +17 -0
- package/bundle/src/codex-protocol/v2/ConfigEdit.ts +7 -0
- package/bundle/src/codex-protocol/v2/ConfigLayer.ts +12 -0
- package/bundle/src/codex-protocol/v2/ConfigLayerMetadata.ts +6 -0
- package/bundle/src/codex-protocol/v2/ConfigLayerSource.ts +27 -0
- package/bundle/src/codex-protocol/v2/ConfigReadParams.ts +13 -0
- package/bundle/src/codex-protocol/v2/ConfigReadResponse.ts +12 -0
- package/bundle/src/codex-protocol/v2/ConfigRequirements.ts +15 -0
- package/bundle/src/codex-protocol/v2/ConfigRequirementsReadResponse.ts +11 -0
- package/bundle/src/codex-protocol/v2/ConfigValueWriteParams.ts +16 -0
- package/bundle/src/codex-protocol/v2/ConfigWarningNotification.ts +23 -0
- package/bundle/src/codex-protocol/v2/ConfigWriteResponse.ts +16 -0
- package/bundle/src/codex-protocol/v2/ConfiguredHookHandler.ts +14 -0
- package/bundle/src/codex-protocol/v2/ConfiguredHookMatcherGroup.ts +9 -0
- package/bundle/src/codex-protocol/v2/ContextCompactedNotification.ts +8 -0
- package/bundle/src/codex-protocol/v2/CreditsSnapshot.ts +5 -0
- package/bundle/src/codex-protocol/v2/DeprecationNoticeNotification.ts +14 -0
- package/bundle/src/codex-protocol/v2/DynamicToolCallOutputContentItem.ts +7 -0
- package/bundle/src/codex-protocol/v2/DynamicToolCallParams.ts +13 -0
- package/bundle/src/codex-protocol/v2/DynamicToolCallResponse.ts +9 -0
- package/bundle/src/codex-protocol/v2/DynamicToolCallStatus.ts +5 -0
- package/bundle/src/codex-protocol/v2/DynamicToolSpec.ts +12 -0
- package/bundle/src/codex-protocol/v2/ErrorNotification.ts +11 -0
- package/bundle/src/codex-protocol/v2/ExecPolicyAmendment.ts +5 -0
- package/bundle/src/codex-protocol/v2/ExperimentalFeature.ts +38 -0
- package/bundle/src/codex-protocol/v2/ExperimentalFeatureEnablementSetParams.ts +13 -0
- package/bundle/src/codex-protocol/v2/ExperimentalFeatureEnablementSetResponse.ts +10 -0
- package/bundle/src/codex-protocol/v2/ExperimentalFeatureListParams.ts +14 -0
- package/bundle/src/codex-protocol/v2/ExperimentalFeatureListResponse.ts +13 -0
- package/bundle/src/codex-protocol/v2/ExperimentalFeatureStage.ts +10 -0
- package/bundle/src/codex-protocol/v2/ExternalAgentConfigDetectParams.ts +14 -0
- package/bundle/src/codex-protocol/v2/ExternalAgentConfigDetectResponse.ts +6 -0
- package/bundle/src/codex-protocol/v2/ExternalAgentConfigImportCompletedNotification.ts +5 -0
- package/bundle/src/codex-protocol/v2/ExternalAgentConfigImportParams.ts +8 -0
- package/bundle/src/codex-protocol/v2/ExternalAgentConfigImportResponse.ts +5 -0
- package/bundle/src/codex-protocol/v2/ExternalAgentConfigMigrationItem.ts +15 -0
- package/bundle/src/codex-protocol/v2/ExternalAgentConfigMigrationItemType.ts +14 -0
- package/bundle/src/codex-protocol/v2/FeedbackUploadParams.ts +12 -0
- package/bundle/src/codex-protocol/v2/FeedbackUploadResponse.ts +5 -0
- package/bundle/src/codex-protocol/v2/FileChangeApprovalDecision.ts +5 -0
- package/bundle/src/codex-protocol/v2/FileChangeOutputDeltaNotification.ts +15 -0
- package/bundle/src/codex-protocol/v2/FileChangePatchUpdatedNotification.ts +11 -0
- package/bundle/src/codex-protocol/v2/FileChangeRequestApprovalParams.ts +22 -0
- package/bundle/src/codex-protocol/v2/FileChangeRequestApprovalResponse.ts +6 -0
- package/bundle/src/codex-protocol/v2/FileSystemAccessMode.ts +5 -0
- package/bundle/src/codex-protocol/v2/FileSystemPath.ts +10 -0
- package/bundle/src/codex-protocol/v2/FileSystemSandboxEntry.ts +7 -0
- package/bundle/src/codex-protocol/v2/FileSystemSpecialPath.ts +11 -0
- package/bundle/src/codex-protocol/v2/FileUpdateChange.ts +6 -0
- package/bundle/src/codex-protocol/v2/FsChangedNotification.ts +18 -0
- package/bundle/src/codex-protocol/v2/FsCopyParams.ts +22 -0
- package/bundle/src/codex-protocol/v2/FsCopyResponse.ts +8 -0
- package/bundle/src/codex-protocol/v2/FsCreateDirectoryParams.ts +18 -0
- package/bundle/src/codex-protocol/v2/FsCreateDirectoryResponse.ts +8 -0
- package/bundle/src/codex-protocol/v2/FsGetMetadataParams.ts +14 -0
- package/bundle/src/codex-protocol/v2/FsGetMetadataResponse.ts +29 -0
- package/bundle/src/codex-protocol/v2/FsReadDirectoryEntry.ts +21 -0
- package/bundle/src/codex-protocol/v2/FsReadDirectoryParams.ts +14 -0
- package/bundle/src/codex-protocol/v2/FsReadDirectoryResponse.ts +14 -0
- package/bundle/src/codex-protocol/v2/FsReadFileParams.ts +14 -0
- package/bundle/src/codex-protocol/v2/FsReadFileResponse.ts +13 -0
- package/bundle/src/codex-protocol/v2/FsRemoveParams.ts +22 -0
- package/bundle/src/codex-protocol/v2/FsRemoveResponse.ts +8 -0
- package/bundle/src/codex-protocol/v2/FsUnwatchParams.ts +13 -0
- package/bundle/src/codex-protocol/v2/FsUnwatchResponse.ts +8 -0
- package/bundle/src/codex-protocol/v2/FsWatchParams.ts +18 -0
- package/bundle/src/codex-protocol/v2/FsWatchResponse.ts +14 -0
- package/bundle/src/codex-protocol/v2/FsWriteFileParams.ts +18 -0
- package/bundle/src/codex-protocol/v2/FsWriteFileResponse.ts +8 -0
- package/bundle/src/codex-protocol/v2/GetAccountParams.ts +14 -0
- package/bundle/src/codex-protocol/v2/GetAccountRateLimitsResponse.ts +15 -0
- package/bundle/src/codex-protocol/v2/GetAccountResponse.ts +6 -0
- package/bundle/src/codex-protocol/v2/GitInfo.ts +5 -0
- package/bundle/src/codex-protocol/v2/GrantedPermissionProfile.ts +10 -0
- package/bundle/src/codex-protocol/v2/GuardianApprovalReview.ts +18 -0
- package/bundle/src/codex-protocol/v2/GuardianApprovalReviewAction.ts +34 -0
- package/bundle/src/codex-protocol/v2/GuardianApprovalReviewStatus.ts +13 -0
- package/bundle/src/codex-protocol/v2/GuardianCommandSource.ts +5 -0
- package/bundle/src/codex-protocol/v2/GuardianRiskLevel.ts +8 -0
- package/bundle/src/codex-protocol/v2/GuardianUserAuthorization.ts +8 -0
- package/bundle/src/codex-protocol/v2/GuardianWarningNotification.ts +14 -0
- package/bundle/src/codex-protocol/v2/HookCompletedNotification.ts +10 -0
- package/bundle/src/codex-protocol/v2/HookErrorInfo.ts +5 -0
- package/bundle/src/codex-protocol/v2/HookEventName.ts +13 -0
- package/bundle/src/codex-protocol/v2/HookExecutionMode.ts +5 -0
- package/bundle/src/codex-protocol/v2/HookHandlerType.ts +5 -0
- package/bundle/src/codex-protocol/v2/HookMetadata.ts +26 -0
- package/bundle/src/codex-protocol/v2/HookMigration.ts +5 -0
- package/bundle/src/codex-protocol/v2/HookOutputEntry.ts +6 -0
- package/bundle/src/codex-protocol/v2/HookOutputEntryKind.ts +5 -0
- package/bundle/src/codex-protocol/v2/HookPromptFragment.ts +5 -0
- package/bundle/src/codex-protocol/v2/HookRunStatus.ts +5 -0
- package/bundle/src/codex-protocol/v2/HookRunSummary.ts +28 -0
- package/bundle/src/codex-protocol/v2/HookScope.ts +5 -0
- package/bundle/src/codex-protocol/v2/HookSource.ts +15 -0
- package/bundle/src/codex-protocol/v2/HookStartedNotification.ts +10 -0
- package/bundle/src/codex-protocol/v2/HookTrustStatus.ts +5 -0
- package/bundle/src/codex-protocol/v2/HooksListEntry.ts +12 -0
- package/bundle/src/codex-protocol/v2/HooksListParams.ts +10 -0
- package/bundle/src/codex-protocol/v2/HooksListResponse.ts +6 -0
- package/bundle/src/codex-protocol/v2/ItemCompletedNotification.ts +14 -0
- package/bundle/src/codex-protocol/v2/ItemGuardianApprovalReviewCompletedNotification.ts +44 -0
- package/bundle/src/codex-protocol/v2/ItemGuardianApprovalReviewStartedNotification.ts +38 -0
- package/bundle/src/codex-protocol/v2/ItemStartedNotification.ts +14 -0
- package/bundle/src/codex-protocol/v2/ListMcpServerStatusParams.ts +20 -0
- package/bundle/src/codex-protocol/v2/ListMcpServerStatusResponse.ts +13 -0
- package/bundle/src/codex-protocol/v2/LoginAccountParams.ts +27 -0
- package/bundle/src/codex-protocol/v2/LoginAccountResponse.ts +27 -0
- package/bundle/src/codex-protocol/v2/LogoutAccountResponse.ts +5 -0
- package/bundle/src/codex-protocol/v2/ManagedHooksRequirements.ts +17 -0
- package/bundle/src/codex-protocol/v2/MarketplaceAddParams.ts +9 -0
- package/bundle/src/codex-protocol/v2/MarketplaceAddResponse.ts +10 -0
- package/bundle/src/codex-protocol/v2/MarketplaceInterface.ts +5 -0
- package/bundle/src/codex-protocol/v2/MarketplaceLoadErrorInfo.ts +6 -0
- package/bundle/src/codex-protocol/v2/MarketplaceRemoveParams.ts +5 -0
- package/bundle/src/codex-protocol/v2/MarketplaceRemoveResponse.ts +9 -0
- package/bundle/src/codex-protocol/v2/MarketplaceUpgradeErrorInfo.ts +5 -0
- package/bundle/src/codex-protocol/v2/MarketplaceUpgradeParams.ts +5 -0
- package/bundle/src/codex-protocol/v2/MarketplaceUpgradeResponse.ts +11 -0
- package/bundle/src/codex-protocol/v2/McpAuthStatus.ts +5 -0
- package/bundle/src/codex-protocol/v2/McpElicitationArrayType.ts +5 -0
- package/bundle/src/codex-protocol/v2/McpElicitationBooleanSchema.ts +11 -0
- package/bundle/src/codex-protocol/v2/McpElicitationBooleanType.ts +5 -0
- package/bundle/src/codex-protocol/v2/McpElicitationConstOption.ts +5 -0
- package/bundle/src/codex-protocol/v2/McpElicitationEnumSchema.ts +11 -0
- package/bundle/src/codex-protocol/v2/McpElicitationLegacyTitledEnumSchema.ts +13 -0
- package/bundle/src/codex-protocol/v2/McpElicitationMultiSelectEnumSchema.ts +9 -0
- package/bundle/src/codex-protocol/v2/McpElicitationNumberSchema.ts +13 -0
- package/bundle/src/codex-protocol/v2/McpElicitationNumberType.ts +5 -0
- package/bundle/src/codex-protocol/v2/McpElicitationObjectType.ts +5 -0
- package/bundle/src/codex-protocol/v2/McpElicitationPrimitiveSchema.ts +13 -0
- package/bundle/src/codex-protocol/v2/McpElicitationSchema.ts +18 -0
- package/bundle/src/codex-protocol/v2/McpElicitationSingleSelectEnumSchema.ts +9 -0
- package/bundle/src/codex-protocol/v2/McpElicitationStringFormat.ts +5 -0
- package/bundle/src/codex-protocol/v2/McpElicitationStringSchema.ts +15 -0
- package/bundle/src/codex-protocol/v2/McpElicitationStringType.ts +5 -0
- package/bundle/src/codex-protocol/v2/McpElicitationTitledEnumItems.ts +6 -0
- package/bundle/src/codex-protocol/v2/McpElicitationTitledMultiSelectEnumSchema.ts +15 -0
- package/bundle/src/codex-protocol/v2/McpElicitationTitledSingleSelectEnumSchema.ts +13 -0
- package/bundle/src/codex-protocol/v2/McpElicitationUntitledEnumItems.ts +9 -0
- package/bundle/src/codex-protocol/v2/McpElicitationUntitledMultiSelectEnumSchema.ts +15 -0
- package/bundle/src/codex-protocol/v2/McpElicitationUntitledSingleSelectEnumSchema.ts +12 -0
- package/bundle/src/codex-protocol/v2/McpResourceReadParams.ts +5 -0
- package/bundle/src/codex-protocol/v2/McpResourceReadResponse.ts +6 -0
- package/bundle/src/codex-protocol/v2/McpServerElicitationAction.ts +5 -0
- package/bundle/src/codex-protocol/v2/McpServerElicitationRequestParams.ts +27 -0
- package/bundle/src/codex-protocol/v2/McpServerElicitationRequestResponse.ts +19 -0
- package/bundle/src/codex-protocol/v2/McpServerMigration.ts +5 -0
- package/bundle/src/codex-protocol/v2/McpServerOauthLoginCompletedNotification.ts +9 -0
- package/bundle/src/codex-protocol/v2/McpServerOauthLoginParams.ts +9 -0
- package/bundle/src/codex-protocol/v2/McpServerOauthLoginResponse.ts +5 -0
- package/bundle/src/codex-protocol/v2/McpServerRefreshResponse.ts +5 -0
- package/bundle/src/codex-protocol/v2/McpServerStartupState.ts +5 -0
- package/bundle/src/codex-protocol/v2/McpServerStatus.ts +15 -0
- package/bundle/src/codex-protocol/v2/McpServerStatusDetail.ts +5 -0
- package/bundle/src/codex-protocol/v2/McpServerStatusUpdatedNotification.ts +10 -0
- package/bundle/src/codex-protocol/v2/McpServerToolCallParams.ts +12 -0
- package/bundle/src/codex-protocol/v2/McpServerToolCallResponse.ts +11 -0
- package/bundle/src/codex-protocol/v2/McpToolCallError.ts +5 -0
- package/bundle/src/codex-protocol/v2/McpToolCallProgressNotification.ts +10 -0
- package/bundle/src/codex-protocol/v2/McpToolCallResult.ts +10 -0
- package/bundle/src/codex-protocol/v2/McpToolCallStatus.ts +5 -0
- package/bundle/src/codex-protocol/v2/MemoryCitation.ts +6 -0
- package/bundle/src/codex-protocol/v2/MemoryCitationEntry.ts +10 -0
- package/bundle/src/codex-protocol/v2/MergeStrategy.ts +5 -0
- package/bundle/src/codex-protocol/v2/MigrationDetails.ts +18 -0
- package/bundle/src/codex-protocol/v2/Model.ts +30 -0
- package/bundle/src/codex-protocol/v2/ModelAvailabilityNux.ts +5 -0
- package/bundle/src/codex-protocol/v2/ModelListParams.ts +18 -0
- package/bundle/src/codex-protocol/v2/ModelListResponse.ts +13 -0
- package/bundle/src/codex-protocol/v2/ModelProviderCapabilitiesReadParams.ts +5 -0
- package/bundle/src/codex-protocol/v2/ModelProviderCapabilitiesReadResponse.ts +9 -0
- package/bundle/src/codex-protocol/v2/ModelRerouteReason.ts +5 -0
- package/bundle/src/codex-protocol/v2/ModelReroutedNotification.ts +12 -0
- package/bundle/src/codex-protocol/v2/ModelServiceTier.ts +5 -0
- package/bundle/src/codex-protocol/v2/ModelUpgradeInfo.ts +10 -0
- package/bundle/src/codex-protocol/v2/ModelVerification.ts +5 -0
- package/bundle/src/codex-protocol/v2/ModelVerificationNotification.ts +10 -0
- package/bundle/src/codex-protocol/v2/NetworkAccess.ts +5 -0
- package/bundle/src/codex-protocol/v2/NetworkApprovalContext.ts +6 -0
- package/bundle/src/codex-protocol/v2/NetworkApprovalProtocol.ts +5 -0
- package/bundle/src/codex-protocol/v2/NetworkDomainPermission.ts +5 -0
- package/bundle/src/codex-protocol/v2/NetworkPolicyAmendment.ts +6 -0
- package/bundle/src/codex-protocol/v2/NetworkPolicyRuleAction.ts +5 -0
- package/bundle/src/codex-protocol/v2/NetworkRequirements.ts +40 -0
- package/bundle/src/codex-protocol/v2/NetworkUnixSocketPermission.ts +5 -0
- package/bundle/src/codex-protocol/v2/NonSteerableTurnKind.ts +5 -0
- package/bundle/src/codex-protocol/v2/OverriddenMetadata.ts +11 -0
- package/bundle/src/codex-protocol/v2/PatchApplyStatus.ts +5 -0
- package/bundle/src/codex-protocol/v2/PatchChangeKind.ts +8 -0
- package/bundle/src/codex-protocol/v2/PermissionGrantScope.ts +5 -0
- package/bundle/src/codex-protocol/v2/PermissionProfile.ts +14 -0
- package/bundle/src/codex-protocol/v2/PermissionProfileFileSystemPermissions.ts +8 -0
- package/bundle/src/codex-protocol/v2/PermissionProfileModificationParams.ts +9 -0
- package/bundle/src/codex-protocol/v2/PermissionProfileNetworkPermissions.ts +5 -0
- package/bundle/src/codex-protocol/v2/PermissionProfileSelectionParams.ts +10 -0
- package/bundle/src/codex-protocol/v2/PermissionsRequestApprovalParams.ts +18 -0
- package/bundle/src/codex-protocol/v2/PermissionsRequestApprovalResponse.ts +14 -0
- package/bundle/src/codex-protocol/v2/PlanDeltaNotification.ts +14 -0
- package/bundle/src/codex-protocol/v2/PluginAuthPolicy.ts +5 -0
- package/bundle/src/codex-protocol/v2/PluginAvailability.ts +5 -0
- package/bundle/src/codex-protocol/v2/PluginDetail.ts +19 -0
- package/bundle/src/codex-protocol/v2/PluginHookSummary.ts +6 -0
- package/bundle/src/codex-protocol/v2/PluginInstallParams.ts +10 -0
- package/bundle/src/codex-protocol/v2/PluginInstallPolicy.ts +5 -0
- package/bundle/src/codex-protocol/v2/PluginInstallResponse.ts +10 -0
- package/bundle/src/codex-protocol/v2/PluginInterface.ts +46 -0
- package/bundle/src/codex-protocol/v2/PluginListMarketplaceKind.ts +5 -0
- package/bundle/src/codex-protocol/v2/PluginListParams.ts +18 -0
- package/bundle/src/codex-protocol/v2/PluginListResponse.ts +11 -0
- package/bundle/src/codex-protocol/v2/PluginMarketplaceEntry.ts +17 -0
- package/bundle/src/codex-protocol/v2/PluginReadParams.ts +10 -0
- package/bundle/src/codex-protocol/v2/PluginReadResponse.ts +6 -0
- package/bundle/src/codex-protocol/v2/PluginShareContext.ts +12 -0
- package/bundle/src/codex-protocol/v2/PluginShareDeleteParams.ts +5 -0
- package/bundle/src/codex-protocol/v2/PluginShareDeleteResponse.ts +5 -0
- package/bundle/src/codex-protocol/v2/PluginShareDiscoverability.ts +5 -0
- package/bundle/src/codex-protocol/v2/PluginShareListItem.ts +11 -0
- package/bundle/src/codex-protocol/v2/PluginShareListParams.ts +5 -0
- package/bundle/src/codex-protocol/v2/PluginShareListResponse.ts +6 -0
- package/bundle/src/codex-protocol/v2/PluginSharePrincipal.ts +10 -0
- package/bundle/src/codex-protocol/v2/PluginSharePrincipalType.ts +5 -0
- package/bundle/src/codex-protocol/v2/PluginShareSaveParams.ts +13 -0
- package/bundle/src/codex-protocol/v2/PluginShareSaveResponse.ts +5 -0
- package/bundle/src/codex-protocol/v2/PluginShareTarget.ts +6 -0
- package/bundle/src/codex-protocol/v2/PluginShareUpdateDiscoverability.ts +5 -0
- package/bundle/src/codex-protocol/v2/PluginShareUpdateTargetsParams.ts +11 -0
- package/bundle/src/codex-protocol/v2/PluginShareUpdateTargetsResponse.ts +10 -0
- package/bundle/src/codex-protocol/v2/PluginSkillReadParams.ts +9 -0
- package/bundle/src/codex-protocol/v2/PluginSkillReadResponse.ts +5 -0
- package/bundle/src/codex-protocol/v2/PluginSource.ts +9 -0
- package/bundle/src/codex-protocol/v2/PluginSummary.ts +29 -0
- package/bundle/src/codex-protocol/v2/PluginUninstallParams.ts +5 -0
- package/bundle/src/codex-protocol/v2/PluginUninstallResponse.ts +5 -0
- package/bundle/src/codex-protocol/v2/PluginsMigration.ts +5 -0
- package/bundle/src/codex-protocol/v2/ProcessExitedNotification.ts +43 -0
- package/bundle/src/codex-protocol/v2/ProcessOutputDeltaNotification.ts +27 -0
- package/bundle/src/codex-protocol/v2/ProcessOutputStream.ts +8 -0
- package/bundle/src/codex-protocol/v2/ProcessTerminalSize.ts +17 -0
- package/bundle/src/codex-protocol/v2/ProfileV2.ts +37 -0
- package/bundle/src/codex-protocol/v2/RateLimitReachedType.ts +10 -0
- package/bundle/src/codex-protocol/v2/RateLimitSnapshot.ts +17 -0
- package/bundle/src/codex-protocol/v2/RateLimitWindow.ts +9 -0
- package/bundle/src/codex-protocol/v2/RawResponseItemCompletedNotification.ts +10 -0
- package/bundle/src/codex-protocol/v2/ReasoningEffortOption.ts +6 -0
- package/bundle/src/codex-protocol/v2/ReasoningSummaryPartAddedNotification.ts +10 -0
- package/bundle/src/codex-protocol/v2/ReasoningSummaryTextDeltaNotification.ts +11 -0
- package/bundle/src/codex-protocol/v2/ReasoningTextDeltaNotification.ts +11 -0
- package/bundle/src/codex-protocol/v2/RemoteControlConnectionStatus.ts +5 -0
- package/bundle/src/codex-protocol/v2/RemoteControlStatusChangedNotification.ts +12 -0
- package/bundle/src/codex-protocol/v2/RequestPermissionProfile.ts +10 -0
- package/bundle/src/codex-protocol/v2/ResidencyRequirement.ts +5 -0
- package/bundle/src/codex-protocol/v2/ReviewDelivery.ts +5 -0
- package/bundle/src/codex-protocol/v2/ReviewStartParams.ts +15 -0
- package/bundle/src/codex-protocol/v2/ReviewStartResponse.ts +15 -0
- package/bundle/src/codex-protocol/v2/ReviewTarget.ts +16 -0
- package/bundle/src/codex-protocol/v2/SandboxMode.ts +5 -0
- package/bundle/src/codex-protocol/v2/SandboxPolicy.ts +17 -0
- package/bundle/src/codex-protocol/v2/SandboxWorkspaceWrite.ts +10 -0
- package/bundle/src/codex-protocol/v2/SendAddCreditsNudgeEmailParams.ts +6 -0
- package/bundle/src/codex-protocol/v2/SendAddCreditsNudgeEmailResponse.ts +6 -0
- package/bundle/src/codex-protocol/v2/ServerRequestResolvedNotification.ts +6 -0
- package/bundle/src/codex-protocol/v2/SessionMigration.ts +5 -0
- package/bundle/src/codex-protocol/v2/SessionSource.ts +13 -0
- package/bundle/src/codex-protocol/v2/SkillDependencies.ts +6 -0
- package/bundle/src/codex-protocol/v2/SkillErrorInfo.ts +5 -0
- package/bundle/src/codex-protocol/v2/SkillInterface.ts +13 -0
- package/bundle/src/codex-protocol/v2/SkillMetadata.ts +21 -0
- package/bundle/src/codex-protocol/v2/SkillScope.ts +5 -0
- package/bundle/src/codex-protocol/v2/SkillSummary.ts +14 -0
- package/bundle/src/codex-protocol/v2/SkillToolDependency.ts +12 -0
- package/bundle/src/codex-protocol/v2/SkillsChangedNotification.ts +11 -0
- package/bundle/src/codex-protocol/v2/SkillsConfigWriteParams.ts +16 -0
- package/bundle/src/codex-protocol/v2/SkillsConfigWriteResponse.ts +5 -0
- package/bundle/src/codex-protocol/v2/SkillsListEntry.ts +11 -0
- package/bundle/src/codex-protocol/v2/SkillsListParams.ts +14 -0
- package/bundle/src/codex-protocol/v2/SkillsListResponse.ts +6 -0
- package/bundle/src/codex-protocol/v2/SortDirection.ts +5 -0
- package/bundle/src/codex-protocol/v2/SubagentMigration.ts +5 -0
- package/bundle/src/codex-protocol/v2/TerminalInteractionNotification.ts +11 -0
- package/bundle/src/codex-protocol/v2/TextElement.ts +15 -0
- package/bundle/src/codex-protocol/v2/TextPosition.ts +14 -0
- package/bundle/src/codex-protocol/v2/TextRange.ts +6 -0
- package/bundle/src/codex-protocol/v2/Thread.ts +88 -0
- package/bundle/src/codex-protocol/v2/ThreadActiveFlag.ts +5 -0
- package/bundle/src/codex-protocol/v2/ThreadApproveGuardianDeniedActionParams.ts +12 -0
- package/bundle/src/codex-protocol/v2/ThreadApproveGuardianDeniedActionResponse.ts +5 -0
- package/bundle/src/codex-protocol/v2/ThreadArchiveParams.ts +5 -0
- package/bundle/src/codex-protocol/v2/ThreadArchiveResponse.ts +5 -0
- package/bundle/src/codex-protocol/v2/ThreadArchivedNotification.ts +5 -0
- package/bundle/src/codex-protocol/v2/ThreadClosedNotification.ts +5 -0
- package/bundle/src/codex-protocol/v2/ThreadCompactStartParams.ts +5 -0
- package/bundle/src/codex-protocol/v2/ThreadCompactStartResponse.ts +5 -0
- package/bundle/src/codex-protocol/v2/ThreadForkParams.ts +40 -0
- package/bundle/src/codex-protocol/v2/ThreadForkResponse.ts +30 -0
- package/bundle/src/codex-protocol/v2/ThreadGoal.ts +15 -0
- package/bundle/src/codex-protocol/v2/ThreadGoalClearedNotification.ts +5 -0
- package/bundle/src/codex-protocol/v2/ThreadGoalStatus.ts +5 -0
- package/bundle/src/codex-protocol/v2/ThreadGoalUpdatedNotification.ts +10 -0
- package/bundle/src/codex-protocol/v2/ThreadInjectItemsParams.ts +12 -0
- package/bundle/src/codex-protocol/v2/ThreadInjectItemsResponse.ts +5 -0
- package/bundle/src/codex-protocol/v2/ThreadItem.ts +156 -0
- package/bundle/src/codex-protocol/v2/ThreadListParams.ts +55 -0
- package/bundle/src/codex-protocol/v2/ThreadListResponse.ts +20 -0
- package/bundle/src/codex-protocol/v2/ThreadLoadedListParams.ts +14 -0
- package/bundle/src/codex-protocol/v2/ThreadLoadedListResponse.ts +15 -0
- package/bundle/src/codex-protocol/v2/ThreadMetadataGitInfoUpdateParams.ts +21 -0
- package/bundle/src/codex-protocol/v2/ThreadMetadataUpdateParams.ts +14 -0
- package/bundle/src/codex-protocol/v2/ThreadMetadataUpdateResponse.ts +6 -0
- package/bundle/src/codex-protocol/v2/ThreadNameUpdatedNotification.ts +5 -0
- package/bundle/src/codex-protocol/v2/ThreadReadParams.ts +11 -0
- package/bundle/src/codex-protocol/v2/ThreadReadResponse.ts +6 -0
- package/bundle/src/codex-protocol/v2/ThreadRealtimeAudioChunk.ts +14 -0
- package/bundle/src/codex-protocol/v2/ThreadRealtimeClosedNotification.ts +8 -0
- package/bundle/src/codex-protocol/v2/ThreadRealtimeErrorNotification.ts +8 -0
- package/bundle/src/codex-protocol/v2/ThreadRealtimeItemAddedNotification.ts +9 -0
- package/bundle/src/codex-protocol/v2/ThreadRealtimeOutputAudioDeltaNotification.ts +12 -0
- package/bundle/src/codex-protocol/v2/ThreadRealtimeSdpNotification.ts +8 -0
- package/bundle/src/codex-protocol/v2/ThreadRealtimeStartTransport.ts +17 -0
- package/bundle/src/codex-protocol/v2/ThreadRealtimeStartedNotification.ts +13 -0
- package/bundle/src/codex-protocol/v2/ThreadRealtimeTranscriptDeltaNotification.ts +16 -0
- package/bundle/src/codex-protocol/v2/ThreadRealtimeTranscriptDoneNotification.ts +16 -0
- package/bundle/src/codex-protocol/v2/ThreadResumeParams.ts +39 -0
- package/bundle/src/codex-protocol/v2/ThreadResumeResponse.ts +30 -0
- package/bundle/src/codex-protocol/v2/ThreadRollbackParams.ts +14 -0
- package/bundle/src/codex-protocol/v2/ThreadRollbackResponse.ts +15 -0
- package/bundle/src/codex-protocol/v2/ThreadSetNameParams.ts +5 -0
- package/bundle/src/codex-protocol/v2/ThreadSetNameResponse.ts +5 -0
- package/bundle/src/codex-protocol/v2/ThreadShellCommandParams.ts +14 -0
- package/bundle/src/codex-protocol/v2/ThreadShellCommandResponse.ts +5 -0
- package/bundle/src/codex-protocol/v2/ThreadSortKey.ts +5 -0
- package/bundle/src/codex-protocol/v2/ThreadSource.ts +5 -0
- package/bundle/src/codex-protocol/v2/ThreadSourceKind.ts +15 -0
- package/bundle/src/codex-protocol/v2/ThreadStartParams.ts +33 -0
- package/bundle/src/codex-protocol/v2/ThreadStartResponse.ts +30 -0
- package/bundle/src/codex-protocol/v2/ThreadStartSource.ts +5 -0
- package/bundle/src/codex-protocol/v2/ThreadStartedNotification.ts +6 -0
- package/bundle/src/codex-protocol/v2/ThreadStatus.ts +10 -0
- package/bundle/src/codex-protocol/v2/ThreadStatusChangedNotification.ts +6 -0
- package/bundle/src/codex-protocol/v2/ThreadTokenUsage.ts +10 -0
- package/bundle/src/codex-protocol/v2/ThreadTokenUsageUpdatedNotification.ts +10 -0
- package/bundle/src/codex-protocol/v2/ThreadUnarchiveParams.ts +5 -0
- package/bundle/src/codex-protocol/v2/ThreadUnarchiveResponse.ts +6 -0
- package/bundle/src/codex-protocol/v2/ThreadUnarchivedNotification.ts +5 -0
- package/bundle/src/codex-protocol/v2/ThreadUnsubscribeParams.ts +5 -0
- package/bundle/src/codex-protocol/v2/ThreadUnsubscribeResponse.ts +6 -0
- package/bundle/src/codex-protocol/v2/ThreadUnsubscribeStatus.ts +5 -0
- package/bundle/src/codex-protocol/v2/TokenUsageBreakdown.ts +11 -0
- package/bundle/src/codex-protocol/v2/ToolRequestUserInputAnswer.ts +8 -0
- package/bundle/src/codex-protocol/v2/ToolRequestUserInputOption.ts +8 -0
- package/bundle/src/codex-protocol/v2/ToolRequestUserInputParams.ts +14 -0
- package/bundle/src/codex-protocol/v2/ToolRequestUserInputQuestion.ts +16 -0
- package/bundle/src/codex-protocol/v2/ToolRequestUserInputResponse.ts +11 -0
- package/bundle/src/codex-protocol/v2/ToolsV2.ts +6 -0
- package/bundle/src/codex-protocol/v2/Turn.ts +36 -0
- package/bundle/src/codex-protocol/v2/TurnCompletedNotification.ts +6 -0
- package/bundle/src/codex-protocol/v2/TurnDiffUpdatedNotification.ts +9 -0
- package/bundle/src/codex-protocol/v2/TurnEnvironmentParams.ts +6 -0
- package/bundle/src/codex-protocol/v2/TurnError.ts +10 -0
- package/bundle/src/codex-protocol/v2/TurnInterruptParams.ts +5 -0
- package/bundle/src/codex-protocol/v2/TurnInterruptResponse.ts +5 -0
- package/bundle/src/codex-protocol/v2/TurnItemsView.ts +5 -0
- package/bundle/src/codex-protocol/v2/TurnPlanStep.ts +6 -0
- package/bundle/src/codex-protocol/v2/TurnPlanStepStatus.ts +5 -0
- package/bundle/src/codex-protocol/v2/TurnPlanUpdatedNotification.ts +11 -0
- package/bundle/src/codex-protocol/v2/TurnStartParams.ts +48 -0
- package/bundle/src/codex-protocol/v2/TurnStartResponse.ts +6 -0
- package/bundle/src/codex-protocol/v2/TurnStartedNotification.ts +6 -0
- package/bundle/src/codex-protocol/v2/TurnStatus.ts +5 -0
- package/bundle/src/codex-protocol/v2/TurnSteerParams.ts +13 -0
- package/bundle/src/codex-protocol/v2/TurnSteerResponse.ts +5 -0
- package/bundle/src/codex-protocol/v2/UserInput.ts +18 -0
- package/bundle/src/codex-protocol/v2/WarningNotification.ts +14 -0
- package/bundle/src/codex-protocol/v2/WebSearchAction.ts +9 -0
- package/bundle/src/codex-protocol/v2/WindowsSandboxReadiness.ts +5 -0
- package/bundle/src/codex-protocol/v2/WindowsSandboxReadinessResponse.ts +6 -0
- package/bundle/src/codex-protocol/v2/WindowsSandboxSetupCompletedNotification.ts +10 -0
- package/bundle/src/codex-protocol/v2/WindowsSandboxSetupMode.ts +5 -0
- package/bundle/src/codex-protocol/v2/WindowsSandboxSetupStartParams.ts +10 -0
- package/bundle/src/codex-protocol/v2/WindowsSandboxSetupStartResponse.ts +5 -0
- package/bundle/src/codex-protocol/v2/WindowsWorldWritableWarningNotification.ts +9 -0
- package/bundle/src/codex-protocol/v2/WriteStatus.ts +5 -0
- package/bundle/src/codex-protocol/v2/index.ts +446 -0
- package/bundle/src/i18n/sd.generated.ts +36 -4
- package/bundle/src/migrations/20260518145411_alter_tokens_add2_drop4_alter1.ts +23 -0
- package/bundle/src/migrations/20260520112853_alter_request_logs_add3_alter1.ts +17 -0
- package/bundle/src/migrations/20260520124755_alter_request_logs_drop1_alter1.ts +15 -0
- package/bundle/src/migrations/20260520130420_create__request_log_steps.ts +33 -0
- package/bundle/src/migrations/20260520134908_alter_request_logs_add2_alter8.ts +44 -0
- package/bundle/src/migrations/20260520134909_alter_request_log_steps_add1_alter3.ts +23 -0
- package/bundle/src/migrations/20260520141449_alter_request_logs_add1_alter1.ts +15 -0
- package/bundle/src/migrations/20260521134025_alter_request_log_steps_alter1.ts +13 -0
- package/bundle/src/migrations/20260521134026_alter_request_log_steps_foreigns.ts +17 -0
- package/bundle/src/migrations/20260522181721_alter_request_log_steps_add2_alter1.ts +16 -0
- package/bundle/src/sonamu.config.ts +58 -46
- package/bundle/src/typings/sonamu.d.ts +1 -1
- package/bundle/src/utils/providers/common/credentials.ts +26 -0
- package/bundle/src/utils/providers/common/model-cost.ts +65 -0
- package/bundle/src/utils/providers/common/provider-dispatcher.ts +36 -0
- package/bundle/src/utils/providers/common/strictifier.ts +128 -0
- package/bundle/src/utils/providers/common/token-picker.ts +18 -0
- package/bundle/src/utils/providers/openai/codex-rpc.ts +236 -0
- package/bundle/src/utils/providers/openai/codex-worker.ts +469 -0
- package/bundle/src/utils/providers/openai/openai-constants.ts +5 -0
- package/bundle/src/utils/providers/openai/openai-dispatcher.ts +453 -0
- package/bundle/src/utils/providers/openai/openai-refresh.ts +134 -0
- package/bundle/web-dist/client/assets/index-B5DSo5uH.css +1 -0
- package/bundle/web-dist/client/assets/index-ZV-tHpAg.js +78 -0
- package/bundle/web-dist/client/assets/logs-HJYkbqom.js +1 -0
- package/bundle/web-dist/client/assets/routes-BMRwPj6F.js +5 -0
- package/bundle/web-dist/client/assets/sd.generated-7jzAQL2_.js +51 -0
- package/bundle/web-dist/client/assets/services.generated-Bx1Eh7ot.js +1 -0
- package/bundle/web-dist/client/assets/{show-WxeogUIk.js → show-DI6iWDzV.js} +3 -2
- package/bundle/web-dist/client/assets/tokens-Cg1f0Ga2.js +1 -0
- package/bundle/web-dist/client/index.html +3 -3
- package/bundle/web-dist/server/assets/{lazyRouteComponent-CcyhCAoL.js → lazyRouteComponent-BEaI4mOq.js} +2 -2
- package/bundle/web-dist/server/assets/logs-Xt934T5f.js +371 -0
- package/bundle/web-dist/server/assets/{routes-DQh4d03H.js → routes-B7QYbNIv.js} +149 -92
- package/bundle/web-dist/server/assets/{sd.generated-CkiEsOwK.js → sd.generated-BeUHLWKH.js} +538 -163
- package/bundle/web-dist/server/assets/{services.generated-Q2ZIxMdn.js → services.generated-C39hdSv0.js} +164 -34
- package/bundle/web-dist/server/assets/{shim-BYpcQGN1.js → shim-B9ZrFt3Z.js} +1 -1
- package/bundle/web-dist/server/assets/{show-j1j13Hq1.js → show-Dxz6UJnD.js} +508 -150
- package/bundle/web-dist/server/assets/tokens-IPwv3pNB.js +477 -0
- package/bundle/web-dist/server/entry-server.generated.js +157 -197
- package/dist/cli.js +38 -17
- package/package.json +2 -2
- package/bundle/web-dist/client/assets/copy-DdGJDXSK.js +0 -1
- package/bundle/web-dist/client/assets/index-D-D8GkQh.css +0 -1
- package/bundle/web-dist/client/assets/index-DxJOOfGV.js +0 -78
- package/bundle/web-dist/client/assets/logs-D83MPvLO.js +0 -1
- package/bundle/web-dist/client/assets/routes-C1PeZiBp.js +0 -5
- package/bundle/web-dist/client/assets/sd.generated-C9WnMJm4.js +0 -47
- package/bundle/web-dist/client/assets/services.generated-BV5C1PQa.js +0 -1
- package/bundle/web-dist/client/assets/tokens--RfCPd1y.js +0 -1
- package/bundle/web-dist/server/assets/copy-SIUvcEcZ.js +0 -42
- package/bundle/web-dist/server/assets/logs-9j6ES80h.js +0 -361
- package/bundle/web-dist/server/assets/tokens-hSHCLF_7.js +0 -861
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import "../../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import { calculateCostUsd } from "../../utils/providers/common/model-cost.js";
|
|
3
|
+
import { getAccessToken, getExpiresAt, getRefreshToken } from "../../utils/providers/common/credentials.js";
|
|
4
|
+
import { strictify } from "../../utils/providers/common/strictifier.js";
|
|
2
5
|
import { ProcessError, QuotaError, TimeoutError, maskToken } from "./qgrid.types.js";
|
|
6
|
+
import { applyToolCallEmulation, buildToolCallSchema } from "./tool-emulation.js";
|
|
3
7
|
import { getLogger } from "@logtape/logtape";
|
|
8
|
+
import assert from "node:assert";
|
|
4
9
|
import { spawn } from "node:child_process";
|
|
5
10
|
import { mkdirSync, writeFileSync } from "node:fs";
|
|
6
11
|
//#region src/application/qgrid/qgrid.dispatcher.ts
|
|
@@ -33,6 +38,7 @@ var QgridDispatcherClass = class {
|
|
|
33
38
|
requestCounts = /* @__PURE__ */ new Map();
|
|
34
39
|
rrIndex = 0;
|
|
35
40
|
subscriber = null;
|
|
41
|
+
openaiDispatcher = null;
|
|
36
42
|
constructor() {
|
|
37
43
|
const settingsJson = JSON.stringify(QGRID_CLAUDE_SETTINGS, null, 2);
|
|
38
44
|
mkdirSync(`${CLAUDE_CWD}/.claude`, { recursive: true });
|
|
@@ -55,13 +61,14 @@ var QgridDispatcherClass = class {
|
|
|
55
61
|
}
|
|
56
62
|
getStats() {
|
|
57
63
|
return [...this.tokens.values()].map((r) => ({
|
|
58
|
-
token: r.
|
|
64
|
+
token: maskToken(getAccessToken(r.credentials)),
|
|
59
65
|
name: r.name,
|
|
66
|
+
provider: r.provider,
|
|
60
67
|
requests: this.countOf(r.name)
|
|
61
68
|
}));
|
|
62
69
|
}
|
|
63
|
-
selectToken() {
|
|
64
|
-
const rows = [...this.tokens.values()];
|
|
70
|
+
selectToken(provider = "anthropic") {
|
|
71
|
+
const rows = [...this.tokens.values()].filter((r) => r.provider === provider);
|
|
65
72
|
if (rows.length === 0) return null;
|
|
66
73
|
const minCount = Math.min(...rows.map((r) => this.countOf(r.name)));
|
|
67
74
|
const idle = rows.filter((r) => this.countOf(r.name) === minCount);
|
|
@@ -70,31 +77,124 @@ var QgridDispatcherClass = class {
|
|
|
70
77
|
return picked;
|
|
71
78
|
}
|
|
72
79
|
async query(input, timeoutMs) {
|
|
80
|
+
if (input.tools?.length && input.jsonSchema) throw new ProcessError("tools and jsonSchema cannot be used together");
|
|
81
|
+
const outputSchema = input.tools?.length ? buildToolCallSchema(input.tools) : input.jsonSchema ? JSON.parse(input.jsonSchema) : void 0;
|
|
82
|
+
if (input.model?.includes("/")) {
|
|
83
|
+
const [provider, model] = input.model.split("/", 2);
|
|
84
|
+
assert(model, "unknown model");
|
|
85
|
+
if (provider === "openai") {
|
|
86
|
+
if (!this.openaiDispatcher) throw new QuotaError("OpenAI dispatcher not initialized");
|
|
87
|
+
const result = await this.openaiDispatcher.generate({
|
|
88
|
+
model,
|
|
89
|
+
input: [{
|
|
90
|
+
type: "text",
|
|
91
|
+
text: input.prompt,
|
|
92
|
+
text_elements: []
|
|
93
|
+
}],
|
|
94
|
+
systemPrompt: input.system,
|
|
95
|
+
outputSchema: outputSchema ? strictify(outputSchema) : void 0,
|
|
96
|
+
effort: input.effort,
|
|
97
|
+
verbosity: input.verbosity,
|
|
98
|
+
reasoningSummary: input.reasoningSummary,
|
|
99
|
+
serviceTier: input.serviceTier,
|
|
100
|
+
history: input.history ? JSON.parse(input.history) : void 0
|
|
101
|
+
});
|
|
102
|
+
return applyToolCallEmulation({
|
|
103
|
+
text: result.text,
|
|
104
|
+
tokenName: result.tokenName,
|
|
105
|
+
model: result.model,
|
|
106
|
+
usage: {
|
|
107
|
+
input_tokens: result.usage.inputTokens,
|
|
108
|
+
output_tokens: result.usage.outputTokens,
|
|
109
|
+
cache_creation_input_tokens: 0,
|
|
110
|
+
cache_read_input_tokens: result.usage.cachedInputTokens
|
|
111
|
+
},
|
|
112
|
+
durationMs: result.durationMs,
|
|
113
|
+
costUsd: calculateCostUsd(result.model, {
|
|
114
|
+
inputTokens: result.usage.inputTokens,
|
|
115
|
+
outputTokens: result.usage.outputTokens,
|
|
116
|
+
cachedInputTokens: result.usage.cachedInputTokens
|
|
117
|
+
})
|
|
118
|
+
}, input.tools);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
const executionInput = outputSchema && input.tools?.length ? {
|
|
122
|
+
...input,
|
|
123
|
+
jsonSchema: JSON.stringify(outputSchema)
|
|
124
|
+
} : input;
|
|
73
125
|
const electedToken = this.selectToken();
|
|
74
126
|
if (!electedToken) throw new QuotaError("No tokens available");
|
|
75
127
|
this.requestCounts.set(electedToken.name, this.countOf(electedToken.name) + 1);
|
|
76
|
-
let token = electedToken.
|
|
77
|
-
|
|
128
|
+
let token = getAccessToken(electedToken.credentials);
|
|
129
|
+
const expiresAt = getExpiresAt(electedToken.credentials);
|
|
130
|
+
if (expiresAt && expiresAt - Date.now() < REFRESH_SAFETY_MS && getRefreshToken(electedToken.credentials)) try {
|
|
78
131
|
const { QgridFrame } = await import("./qgrid.frame.js");
|
|
79
|
-
token = await QgridFrame.refreshToken(
|
|
80
|
-
id: electedToken.id,
|
|
81
|
-
token: electedToken.token,
|
|
82
|
-
name: electedToken.name,
|
|
83
|
-
refresh_token: electedToken.refresh_token
|
|
84
|
-
});
|
|
132
|
+
token = await QgridFrame.refreshToken(electedToken);
|
|
85
133
|
} catch (e) {
|
|
86
134
|
logger.warn(`refresh failed for ${electedToken.name}: ${e.message}`);
|
|
87
135
|
}
|
|
88
136
|
logger.info(`→ ${electedToken.name} (model: ${input.model ?? DEFAULT_MODEL})`);
|
|
89
|
-
return {
|
|
90
|
-
...await executeClaude(
|
|
137
|
+
return applyToolCallEmulation({
|
|
138
|
+
...await executeClaude(executionInput, token, timeoutMs ?? DEFAULT_TIMEOUT_MS),
|
|
91
139
|
tokenName: electedToken.name,
|
|
92
140
|
model: input.model ?? DEFAULT_MODEL
|
|
93
|
-
};
|
|
141
|
+
}, input.tools);
|
|
142
|
+
}
|
|
143
|
+
async queryStream(input, cb) {
|
|
144
|
+
if (!input.model?.startsWith("openai/")) {
|
|
145
|
+
const result = await this.query(input);
|
|
146
|
+
cb.onComplete(result);
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
const [, model] = input.model.split("/", 2);
|
|
150
|
+
if (!model) throw new ProcessError("unknown model");
|
|
151
|
+
if (!this.openaiDispatcher) throw new QuotaError("OpenAI dispatcher not initialized");
|
|
152
|
+
const outputSchema = input.tools?.length ? buildToolCallSchema(input.tools) : input.jsonSchema ? JSON.parse(input.jsonSchema) : void 0;
|
|
153
|
+
await this.openaiDispatcher.generateStream({
|
|
154
|
+
model,
|
|
155
|
+
input: [{
|
|
156
|
+
type: "text",
|
|
157
|
+
text: input.prompt,
|
|
158
|
+
text_elements: []
|
|
159
|
+
}],
|
|
160
|
+
systemPrompt: input.system,
|
|
161
|
+
outputSchema: outputSchema ? strictify(outputSchema) : void 0,
|
|
162
|
+
effort: input.effort,
|
|
163
|
+
verbosity: input.verbosity,
|
|
164
|
+
reasoningSummary: input.reasoningSummary,
|
|
165
|
+
serviceTier: input.serviceTier,
|
|
166
|
+
history: input.history ? JSON.parse(input.history) : void 0
|
|
167
|
+
}, {
|
|
168
|
+
onDelta: cb.onDelta,
|
|
169
|
+
onThreadId: cb.onThreadId,
|
|
170
|
+
onTurnId: cb.onTurnId,
|
|
171
|
+
onComplete: (turnResult) => {
|
|
172
|
+
const applied = applyToolCallEmulation({
|
|
173
|
+
text: turnResult.text,
|
|
174
|
+
tokenName: turnResult.tokenName,
|
|
175
|
+
model: turnResult.model,
|
|
176
|
+
usage: {
|
|
177
|
+
input_tokens: turnResult.usage.inputTokens,
|
|
178
|
+
output_tokens: turnResult.usage.outputTokens,
|
|
179
|
+
cache_creation_input_tokens: 0,
|
|
180
|
+
cache_read_input_tokens: turnResult.usage.cachedInputTokens
|
|
181
|
+
},
|
|
182
|
+
durationMs: turnResult.durationMs,
|
|
183
|
+
costUsd: calculateCostUsd(turnResult.model, {
|
|
184
|
+
inputTokens: turnResult.usage.inputTokens,
|
|
185
|
+
outputTokens: turnResult.usage.outputTokens,
|
|
186
|
+
cachedInputTokens: turnResult.usage.cachedInputTokens
|
|
187
|
+
})
|
|
188
|
+
}, input.tools);
|
|
189
|
+
cb.onComplete(applied);
|
|
190
|
+
},
|
|
191
|
+
onError: cb.onError
|
|
192
|
+
});
|
|
94
193
|
}
|
|
95
194
|
};
|
|
96
195
|
async function executeClaude(input, token, timeoutMs) {
|
|
97
|
-
const
|
|
196
|
+
const rawModel = input.model ?? DEFAULT_MODEL;
|
|
197
|
+
const model = rawModel.includes("/") ? rawModel.split("/").pop() : rawModel;
|
|
98
198
|
const timeout = input.timeout ?? timeoutMs;
|
|
99
199
|
const useStructuredOutput = input.jsonSchema && input.jsonSchema.length > 0;
|
|
100
200
|
const args = [
|
|
@@ -217,4 +317,4 @@ const QgridDispatcher = new QgridDispatcherClass();
|
|
|
217
317
|
//#endregion
|
|
218
318
|
export { QgridDispatcher, QgridDispatcherClass };
|
|
219
319
|
|
|
220
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicWdyaWQuZGlzcGF0Y2hlci5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwbGljYXRpb24vcWdyaWQvcWdyaWQuZGlzcGF0Y2hlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFFncmlkRGlzcGF0Y2hlciDigJQgT0F1dGgg7Yag7YGwIOyEoO2DnSArIGNsYXVkZSBDTEkgZnJlc2ggc3Bhd24g65SU7Iqk7Yyo7LKYIOyLseq4gO2EtC5cbiAqXG4gKiAtIOunpCDsmpTssq3rp4jri6Qg7IOIIGNsYXVkZSBDTEkg7ZSE66Gc7IS47IqkIHNwYXduIOKGkiDsnZHri7Ug7ZuEIOyiheujjFxuICogLSBsZWFzdC11c2VkIHJvdW5kLXJvYmluIOycvOuhnCDthqDtgbAg7ISg7YOdXG4gKiAtIOuplOuqqOumrCDsupDsi5wgKE1hcDxpZCwgVG9rZW5TdWJzZXRBPikg64qUIFRva2VuU3Vic2NyaWJlciDqsIAgcGcgTElTVEVOL05PVElGWSDroZwg6rCx7IugXG4gKiAtIHF1ZXJ5IOyLnCBleHBpcmVzX2F0IOu5hOq1kCDihpIg7J6E67CVIOyLnCBwcmVlbXB0aXZlIHJlZnJlc2hcbiAqIC0gUXVvdGFFcnJvciDripQg6re464yA66GcIOyDgeychCDsoITtjIwgKOyekOuPmSBmYWlsb3ZlciDsl4bsnYwsIFVJIOyXkOyEnCDsiJjrj5kg7Yag6riAKVxuICpcbiAqIGVudiBhbGxvd2xpc3Q6IFBBVEgsIFRNUERJUiwgQ0xBVURFX0NPREVfT0FVVEhfVE9LRU4sIENMQVVERV9DT05GSUdfRElSXG4gKiAgICsgQ0xBVURFX0NPREVfRElTQUJMRV8qICsgQ0xBVURFX0NPREVfQVRUUklCVVRJT05fSEVBREVSXG4gKi9cbmltcG9ydCB7IHNwYXduIH0gZnJvbSBcIm5vZGU6Y2hpbGRfcHJvY2Vzc1wiO1xuaW1wb3J0IHsgbWtkaXJTeW5jLCB3cml0ZUZpbGVTeW5jIH0gZnJvbSBcIm5vZGU6ZnNcIjtcblxuaW1wb3J0IHsgZ2V0TG9nZ2VyIH0gZnJvbSBcIkBsb2d0YXBlL2xvZ3RhcGVcIjtcblxuaW1wb3J0IHsgdHlwZSBUb2tlblN1YnNldEEgfSBmcm9tIFwiLi4vc29uYW11LmdlbmVyYXRlZFwiO1xuaW1wb3J0IHsgdHlwZSBDbGlSZXN1bHQsIHR5cGUgUXVlcnlJbnB1dCwgdHlwZSBUb2tlblN0YXRzIH0gZnJvbSBcIi4vcWdyaWQudHlwZXNcIjtcbmltcG9ydCB7IG1hc2tUb2tlbiwgUHJvY2Vzc0Vycm9yLCBRdW90YUVycm9yLCBUaW1lb3V0RXJyb3IgfSBmcm9tIFwiLi9xZ3JpZC50eXBlc1wiO1xuaW1wb3J0IHsgdHlwZSBUb2tlblN1YnNjcmliZXIgfSBmcm9tIFwiLi90b2tlbi1zdWJzY3JpYmVyXCI7XG5cbmNvbnN0IGxvZ2dlciA9IGdldExvZ2dlcihbXCJxZ3JpZFwiXSk7XG5cbmNvbnN0IERFRkFVTFRfTU9ERUwgPSBcInNvbm5ldFwiO1xuY29uc3QgREVGQVVMVF9USU1FT1VUX01TID0gNjAwXzAwMDtcbmNvbnN0IERFRkFVTFRfRUZGT1JUID0gXCJoaWdoXCI7XG5cbi8vIGNsYXVkZSBDTEkg7J2YIGN3ZC4g7J20IOqyveuhnOydmCAuY2xhdWRlL3NldHRpbmdzLmpzb24g7J20IHByb2plY3Qgc2NvcGUg66GcIOuhnOuTnOuQmOyWtFxuLy8g7Zi57Iuc652864+EIOyeiOydhCB1c2VyIHNjb3BlICh+Ly5jbGF1ZGUvc2V0dGluZ3MuanNvbinrpbwg642u7Ja07JSAICgtLXNldHRpbmctc291cmNlcyBwcm9qZWN0IOyZgCDtlajqu5gpLlxuY29uc3QgQ0xBVURFX0NXRCA9IFwiL3RtcC9xZ3JpZFwiO1xuXG4vLyDquIDroZzrsowgdXNlciBjb25maWcg6rKp66asIOqyveuhnC4gKEND7JeQ7IScIO2ZmOqyveuzgOyImOuhnCDsnb3ripTrs4DsiJgpXG5jb25zdCBDTEFVREVfQ09ORklHX0RJUiA9IFwiL3RtcC9xZ3JpZC1jb25maWdcIjtcblxuLy8gcWdyaWQg7KCE7JqpIHByb2plY3QvZ2xvYmFsIHNldHRpbmdzIOKAlCB1c2VyIHNjb3BlIOqyqeumrOyaqVxuY29uc3QgUUdSSURfQ0xBVURFX1NFVFRJTkdTID0ge1xuICBhbHdheXNUaGlua2luZ0VuYWJsZWQ6IGZhbHNlLCAvLyB0aGlua2luZyBibG9jayDssKjri6hcbiAgaW5jbHVkZUdpdEluc3RydWN0aW9uczogZmFsc2UsIC8vIHN5c3RlbSBwcm9tcHQg7J2YIGdpdCDqsIDsnbTrk5wg7KCc6rGwXG4gIGNsZWFudXBQZXJpb2REYXlzOiAxLFxufTtcblxuLy8g7Yag7YGwIOunjOujjCDsnoTrsJUg7J6E6rOE6rCSIOKAlCB0b2tlbi5leHBpcmVkQXTsnbQgMeu2hCDslYjsl5Ag66eM66OM65Cc64uk66m0IHF1ZXJ5IOyLnCDssrTtgaztlZjqs6AgcmVmcmVzaC5cbmNvbnN0IFJFRlJFU0hfU0FGRVRZX01TID0gNjBfMDAwO1xuXG5leHBvcnQgY2xhc3MgUWdyaWREaXNwYXRjaGVyQ2xhc3Mge1xuICB0b2tlbnMgPSBuZXcgTWFwPG51bWJlciwgVG9rZW5TdWJzZXRBPigpO1xuXG4gIC8vIGtleeq4sOuwmCh0b2tlbk5hbWUpIOuIhOyggSDsubTsmrTthLAuIHRva2VuIOydtCBPQXV0aCByZWZyZXNoIOuhnCDroZzthYzsnbTtirjrkJjrj4QgdG9rZW5OYW1lIOydgCDrtojrs4DsnbTrnbwg7Lm07Jq07YSwIOycoOyngOuQqFxuICByZXF1ZXN0Q291bnRzID0gbmV3IE1hcDxzdHJpbmcsIG51bWJlcj4oKTtcbiAgcnJJbmRleCA9IDA7XG5cbiAgLy8gc29uYW11LmNvbmZpZyBvblN0YXJ0IOyXkOyEnCDsspjrpqztlZjripQg67OA7IiYXG4gIHN1YnNjcmliZXI6IFRva2VuU3Vic2NyaWJlciB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGNvbnN0IHNldHRpbmdzSnNvbiA9IEpTT04uc3RyaW5naWZ5KFFHUklEX0NMQVVERV9TRVRUSU5HUywgbnVsbCwgMik7XG5cbiAgICBta2RpclN5bmMoYCR7Q0xBVURFX0NXRH0vLmNsYXVkZWAsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgIHdyaXRlRmlsZVN5bmMoYCR7Q0xBVURFX0NXRH0vLmNsYXVkZS9zZXR0aW5ncy5qc29uYCwgc2V0dGluZ3NKc29uKTtcblxuICAgIG1rZGlyU3luYyhDTEFVREVfQ09ORklHX0RJUiwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gICAgd3JpdGVGaWxlU3luYyhgJHtDTEFVREVfQ09ORklHX0RJUn0vLmNsYXVkZS5qc29uYCwgXCJ7fVwiKTtcbiAgICB3cml0ZUZpbGVTeW5jKGAke0NMQVVERV9DT05GSUdfRElSfS9zZXR0aW5ncy5qc29uYCwgc2V0dGluZ3NKc29uKTtcbiAgfVxuXG4gIGNvdW50T2YobmFtZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0Q291bnRzLmdldChuYW1lKSA/PyAwO1xuICB9XG5cbiAgLy8gVG9rZW5TdWJzY3JpYmVyIOy9nOuwsSDigJQg7LqQ7IucIG11dGF0aW9uXG4gIHVwc2VydENhY2hlKGlkOiBudW1iZXIsIHJvdzogVG9rZW5TdWJzZXRBKTogdm9pZCB7XG4gICAgdGhpcy50b2tlbnMuc2V0KGlkLCByb3cpO1xuICB9XG5cbiAgcmVtb3ZlQ2FjaGUoaWQ6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMudG9rZW5zLmRlbGV0ZShpZCk7XG4gIH1cblxuICByZXBsYWNlQ2FjaGUocm93czogVG9rZW5TdWJzZXRBW10pOiB2b2lkIHtcbiAgICB0aGlzLnRva2VucyA9IG5ldyBNYXAocm93cy5tYXAoKHIpID0+IFtyLmlkLCByXSkpO1xuICB9XG5cbiAgZ2V0U3RhdHMoKTogVG9rZW5TdGF0c1tdIHtcbiAgICByZXR1cm4gWy4uLnRoaXMudG9rZW5zLnZhbHVlcygpXS5tYXAoKHIpID0+ICh7XG4gICAgICB0b2tlbjogci50b2tlbixcbiAgICAgIG5hbWU6IHIubmFtZSxcbiAgICAgIHJlcXVlc3RzOiB0aGlzLmNvdW50T2Yoci5uYW1lKSxcbiAgICB9KSk7XG4gIH1cblxuICBzZWxlY3RUb2tlbigpOiBUb2tlblN1YnNldEEgfCBudWxsIHtcbiAgICBjb25zdCByb3dzID0gWy4uLnRoaXMudG9rZW5zLnZhbHVlcygpXTtcbiAgICBpZiAocm93cy5sZW5ndGggPT09IDApIHJldHVybiBudWxsO1xuXG4gICAgY29uc3QgbWluQ291bnQgPSBNYXRoLm1pbiguLi5yb3dzLm1hcCgocikgPT4gdGhpcy5jb3VudE9mKHIubmFtZSkpKTtcbiAgICBjb25zdCBpZGxlID0gcm93cy5maWx0ZXIoKHIpID0+IHRoaXMuY291bnRPZihyLm5hbWUpID09PSBtaW5Db3VudCk7XG4gICAgY29uc3QgcGlja2VkID0gaWRsZVt0aGlzLnJySW5kZXggJSBpZGxlLmxlbmd0aF0hO1xuICAgIHRoaXMucnJJbmRleCsrO1xuICAgIHJldHVybiBwaWNrZWQ7XG4gIH1cblxuICBhc3luYyBxdWVyeShpbnB1dDogUXVlcnlJbnB1dCwgdGltZW91dE1zPzogbnVtYmVyKTogUHJvbWlzZTxDbGlSZXN1bHQ+IHtcbiAgICBjb25zdCBlbGVjdGVkVG9rZW4gPSB0aGlzLnNlbGVjdFRva2VuKCk7XG4gICAgaWYgKCFlbGVjdGVkVG9rZW4pIHRocm93IG5ldyBRdW90YUVycm9yKFwiTm8gdG9rZW5zIGF2YWlsYWJsZVwiKTtcblxuICAgIC8vIGF3YWl0IOyghOyXkCBjb3VudCDshKDrsJjsmIEuIOuzkeugrCDsmpTssq3snbQg64+Z7Iuc7JeQIOuPhOywqe2VtOuPhCDqsIHsnpAg64uk66W4IO2GoO2BsOydhCDqs6DrpbTrj4TroZ0uXG4gICAgdGhpcy5yZXF1ZXN0Q291bnRzLnNldChlbGVjdGVkVG9rZW4ubmFtZSwgdGhpcy5jb3VudE9mKGVsZWN0ZWRUb2tlbi5uYW1lKSArIDEpO1xuXG4gICAgbGV0IHRva2VuID0gZWxlY3RlZFRva2VuLnRva2VuO1xuICAgIC8vIGV4cGlyZXNfYXQg7J6E67CV7J2066m0IHJlZnJlc2guXG4gICAgLy8gcmVmcmVzaCDtm4QgREIgc2F2ZSDihpIgdHJpZ2dlciBOT1RJRlkg4oaSIHN1YnNjcmliZXIg6rCAIOuwm+yVhCDsupDsi5wg6rCx7IugICjri6TrpbggZGlzcGF0Y2hlciDrj4Qg64+Z6riw7ZmUKVxuICAgIGlmIChcbiAgICAgIGVsZWN0ZWRUb2tlbi5leHBpcmVzX2F0ICYmXG4gICAgICBOdW1iZXIoZWxlY3RlZFRva2VuLmV4cGlyZXNfYXQpIC0gRGF0ZS5ub3coKSA8IFJFRlJFU0hfU0FGRVRZX01TICYmXG4gICAgICBlbGVjdGVkVG9rZW4ucmVmcmVzaF90b2tlblxuICAgICkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBRZ3JpZEZyYW1lIH0gPSBhd2FpdCBpbXBvcnQoXCIuL3FncmlkLmZyYW1lXCIpO1xuICAgICAgICB0b2tlbiA9IGF3YWl0IFFncmlkRnJhbWUucmVmcmVzaFRva2VuKHtcbiAgICAgICAgICBpZDogZWxlY3RlZFRva2VuLmlkLFxuICAgICAgICAgIHRva2VuOiBlbGVjdGVkVG9rZW4udG9rZW4sXG4gICAgICAgICAgbmFtZTogZWxlY3RlZFRva2VuLm5hbWUsXG4gICAgICAgICAgcmVmcmVzaF90b2tlbjogZWxlY3RlZFRva2VuLnJlZnJlc2hfdG9rZW4sXG4gICAgICAgIH0pO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBsb2dnZXIud2FybihgcmVmcmVzaCBmYWlsZWQgZm9yICR7ZWxlY3RlZFRva2VuLm5hbWV9OiAkeyhlIGFzIEVycm9yKS5tZXNzYWdlfWApO1xuICAgICAgICAvLyByZWZyZXNoIOyLpO2MqCDsi5wg6riw7KG0IHRva2VuIOycvOuhnCDsp4TtlokuIGV4ZWN1dGVDbGF1ZGUg6rCAIDQwMSDrsJvsnLzrqbQgY2FsbGVyIOyymOumrC5cbiAgICAgIH1cbiAgICB9XG5cbiAgICBsb2dnZXIuaW5mbyhg4oaSICR7ZWxlY3RlZFRva2VuLm5hbWV9IChtb2RlbDogJHtpbnB1dC5tb2RlbCA/PyBERUZBVUxUX01PREVMfSlgKTtcblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGV4ZWN1dGVDbGF1ZGUoaW5wdXQsIHRva2VuLCB0aW1lb3V0TXMgPz8gREVGQVVMVF9USU1FT1VUX01TKTtcbiAgICByZXR1cm4geyAuLi5yZXN1bHQsIHRva2VuTmFtZTogZWxlY3RlZFRva2VuLm5hbWUsIG1vZGVsOiBpbnB1dC5tb2RlbCA/PyBERUZBVUxUX01PREVMIH07XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gZXhlY3V0ZUNsYXVkZShcbiAgaW5wdXQ6IFF1ZXJ5SW5wdXQsXG4gIHRva2VuOiBzdHJpbmcsXG4gIHRpbWVvdXRNczogbnVtYmVyLFxuKTogUHJvbWlzZTxDbGlSZXN1bHQ+IHtcbiAgY29uc3QgbW9kZWwgPSBpbnB1dC5tb2RlbCA/PyBERUZBVUxUX01PREVMO1xuICBjb25zdCB0aW1lb3V0ID0gaW5wdXQudGltZW91dCA/PyB0aW1lb3V0TXM7XG4gIGNvbnN0IHVzZVN0cnVjdHVyZWRPdXRwdXQgPSBpbnB1dC5qc29uU2NoZW1hICYmIGlucHV0Lmpzb25TY2hlbWEubGVuZ3RoID4gMDtcblxuICAvLyAtLXRvb2xzIFwiXCIg66GcIOuqqOuToCB0b29sIOydhCDquLDrs7gg7LCo64uoLiBzdHJ1Y3R1cmVkIG91dHB1dCDsk7DrqbQgU3RydWN0dXJlZE91dHB1dCDrp4wg7ZmU7J207Yq466as7Iqk7Yq4LlxuICAvLyAtLXRvb2xzIFwiXCIg64qUIOuwmOuTnOyLnCDrkqTsl5Ag64uk66W4IO2UjOuemOq3uOqwgCDsmYDslbwgQ0xJIO2MjOyLseydtCDruYgg66y47J6Q7Je066GcIOyduOyLnVxuICBjb25zdCB0b29sQXJncyA9IHVzZVN0cnVjdHVyZWRPdXRwdXRcbiAgICA/IFtcIi0tdG9vbHNcIiwgXCJcIiwgXCItLWFsbG93ZWQtdG9vbHNcIiwgXCJTdHJ1Y3R1cmVkT3V0cHV0XCJdXG4gICAgOiBbXCItLXRvb2xzXCIsIFwiXCJdO1xuXG4gIGNvbnN0IGFyZ3M6IHN0cmluZ1tdID0gW1xuICAgIFwiLXBcIixcbiAgICAuLi50b29sQXJncyxcbiAgICBcIi0tZGlzYWxsb3dlZFRvb2xzXCIsXG4gICAgLy8gQ0Psl5DshJwg7J6Q64+ZIO2ZnOyEse2ZlOuQmOuKlCBkZWZlcnJlZCDrj4TqtawuIO2GoO2BsCDstZzsoIHtmZTrpbzsnITtlbQg7LCo64uoXG4gICAgLi4uKFtcIk1vbml0b3JcIiwgXCJQdXNoTm90aWZpY2F0aW9uXCIsIFwiUmVtb3RlVHJpZ2dlclwiXSBhcyBjb25zdCksXG4gICAgXCItLW91dHB1dC1mb3JtYXRcIixcbiAgICBcInN0cmVhbS1qc29uXCIsXG4gICAgXCItLXZlcmJvc2VcIixcbiAgICAvLyAtLW1heC10dXJuczogc3RydWN0dXJlZCBvdXRwdXQg7J2AIHRvb2xfdXNlICsgdG9vbF9yZXN1bHQg66GcIDLthLQg7IaM67mEXG4gICAgXCItLW1heC10dXJuc1wiLFxuICAgIHVzZVN0cnVjdHVyZWRPdXRwdXQgPyBcIjJcIiA6IFwiMVwiLFxuICAgIFwiLS1wZXJtaXNzaW9uLW1vZGVcIixcbiAgICBcImJ5cGFzc1Blcm1pc3Npb25zXCIsXG4gICAgXCItLXNldHRpbmctc291cmNlc1wiLFxuICAgIFwicHJvamVjdFwiLFxuICAgIFwiLS1tb2RlbFwiLFxuICAgIG1vZGVsLFxuICAgIC8vIC0tc3lzdGVtLXByb21wdOuKlCDrsJjrk5zsi5wg66qF7Iuc7ZW07JW87ZWoLiDsmLXshZgg7IOd6561IOyLnCBDQ+qwgCBkZWZhdWx0IHN5c3RlbSBwcm9tcHTrpbwg7J6Q64+Z7Jy866GcIOyjvOyehe2VqCgyM2spXG4gICAgXCItLXN5c3RlbS1wcm9tcHRcIixcbiAgICBpbnB1dC5zeXN0ZW0gPz8gXCJcIixcbiAgICBcIi0tdGhpbmtpbmdcIixcbiAgICBcImRpc2FibGVkXCIsXG4gICAgXCItLWVmZm9ydFwiLFxuICAgIGlucHV0LmVmZm9ydCA/PyBERUZBVUxUX0VGRk9SVCxcbiAgICBcIi0tbm8tc2Vzc2lvbi1wZXJzaXN0ZW5jZVwiLFxuICAgIC8vIOuqqOuToCBza2lsbHMg67mE7Zmc7ISx7ZmUXG4gICAgXCItLWRpc2FibGUtc2xhc2gtY29tbWFuZHNcIixcbiAgXTtcbiAgaWYgKHVzZVN0cnVjdHVyZWRPdXRwdXQpIHtcbiAgICBhcmdzLnB1c2goXCItLWpzb24tc2NoZW1hXCIsIGlucHV0Lmpzb25TY2hlbWEhKTtcbiAgfVxuICBhcmdzLnB1c2goaW5wdXQucHJvbXB0KTtcblxuICBjb25zdCBlbnY6IE5vZGVKUy5Qcm9jZXNzRW52ID0ge1xuICAgIFBBVEg6IHByb2Nlc3MuZW52LlBBVEgsXG4gICAgVE1QRElSOiBwcm9jZXNzLmVudi5UTVBESVIsXG4gICAgQ0xBVURFX0NPREVfT0FVVEhfVE9LRU46IHRva2VuLFxuICAgIC8vIENMQVVERV9DT05GSUdfRElSIO2ZmOqyveuzgOyImOuhnCDso7zsnoVcbiAgICBDTEFVREVfQ09ORklHX0RJUixcbiAgICBDTEFVREVfQ09ERV9ESVNBQkxFX0FVVE9fTUVNT1JZOiBcIjFcIixcbiAgICBDTEFVREVfQ09ERV9ESVNBQkxFX0FEQVBUSVZFX1RISU5LSU5HOiBcIjFcIixcbiAgICBDTEFVREVfQ09ERV9ESVNBQkxFXzFNX0NPTlRFWFQ6IFwiMVwiLFxuICAgIENMQVVERV9DT0RFX0RJU0FCTEVfQ0xBVURFX01EUzogXCIxXCIsXG4gICAgQ0xBVURFX0NPREVfQVRUUklCVVRJT05fSEVBREVSOiBcIjBcIixcbiAgfTtcblxuICByZXR1cm4gbmV3IFByb21pc2U8Q2xpUmVzdWx0PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3QgY2hpbGQgPSBzcGF3bihcImNsYXVkZVwiLCBhcmdzLCB7XG4gICAgICBzdGRpbzogW1wiaWdub3JlXCIsIFwicGlwZVwiLCBcImlnbm9yZVwiXSxcbiAgICAgIGVudixcbiAgICAgIC8vIOqyqeumrCAo65GQIOuLqOqzhCk6XG4gICAgICAvLyAxLiBDTEFVREVfQ1dEIOKAlCBwcm9qZWN0IHNjb3BlIOqyqeumrCAoY3dkIOydmCAuY2xhdWRlL3NldHRpbmdzLmpzb24pXG4gICAgICAvLyAyLiBDTEFVREVfQ09ORklHX0RJUiDigJQgdXNlciBzY29wZSDqsqnrpqwgY3dkIOqyqeumrOunjOycvOuhoCDrtoDsobEuXG4gICAgICBjd2Q6IENMQVVERV9DV0QsXG4gICAgfSk7XG5cbiAgICBsZXQgYnVmZmVyID0gXCJcIjtcbiAgICBsZXQgc2V0dGxlZCA9IGZhbHNlO1xuICAgIGNvbnN0IHRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAoc2V0dGxlZCkgcmV0dXJuO1xuICAgICAgc2V0dGxlZCA9IHRydWU7XG4gICAgICBjaGlsZC5raWxsKCk7XG4gICAgICByZWplY3QobmV3IFRpbWVvdXRFcnJvcihgVGltZW91dCBhZnRlciAke3RpbWVvdXQgLyAxMDAwfXMgKHRva2VuOiAke21hc2tUb2tlbih0b2tlbil9KWApKTtcbiAgICB9LCB0aW1lb3V0KTtcblxuICAgIGNoaWxkLnN0ZG91dD8ub24oXCJkYXRhXCIsIChkOiBCdWZmZXIpID0+IHtcbiAgICAgIGlmIChzZXR0bGVkKSByZXR1cm47XG4gICAgICBidWZmZXIgKz0gZC50b1N0cmluZygpO1xuICAgICAgY29uc3QgbGluZXMgPSBidWZmZXIuc3BsaXQoXCJcXG5cIik7XG4gICAgICBidWZmZXIgPSBsaW5lcy5wb3AoKSA/PyBcIlwiO1xuICAgICAgZm9yIChjb25zdCBsaW5lIG9mIGxpbmVzKSB7XG4gICAgICAgIGlmICghbGluZS50cmltKCkpIGNvbnRpbnVlO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IGogPSBKU09OLnBhcnNlKGxpbmUpO1xuICAgICAgICAgIGlmIChqLnR5cGUgPT09IFwicmVzdWx0XCIgJiYgIXNldHRsZWQpIHtcbiAgICAgICAgICAgIC8vIC0tanNvbi1zY2hlbWEg7IKs7JqpIOyLnCBzdHJ1Y3R1cmVkX291dHB1dCDsl5Ag7YyM7Iux65CcIOqwneyytOqwgCDsmKjri6Qg4oaSIOyasOyEoCDsgqzsmqlcbiAgICAgICAgICAgIGxldCB0ZXh0OiBzdHJpbmc7XG4gICAgICAgICAgICBpZiAoai5zdHJ1Y3R1cmVkX291dHB1dCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgIHRleHQgPSBKU09OLnN0cmluZ2lmeShqLnN0cnVjdHVyZWRfb3V0cHV0KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRleHQgPSAoai5yZXN1bHQgPz8gXCJcIilcbiAgICAgICAgICAgICAgICAucmVwbGFjZSgvXmBgYCg/Ompzb24pP1xccypcXG4/L2ksIFwiXCIpXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoL1xcbj9gYGBcXHMqJC9pLCBcIlwiKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRleHQuc3RhcnRzV2l0aChcIllvdSd2ZSBoaXRcIikpIHtcbiAgICAgICAgICAgICAgc2V0dGxlZCA9IHRydWU7XG4gICAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lcik7XG4gICAgICAgICAgICAgIHJlamVjdChuZXcgUXVvdGFFcnJvcihgUXVvdGEgZXhoYXVzdGVkICh0b2tlbjogJHttYXNrVG9rZW4odG9rZW4pfSlgKSk7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgdSA9IGoudXNhZ2UgPz8ge307XG4gICAgICAgICAgICBzZXR0bGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lcik7XG4gICAgICAgICAgICByZXNvbHZlKHtcbiAgICAgICAgICAgICAgdGV4dCxcbiAgICAgICAgICAgICAgdXNhZ2U6IHtcbiAgICAgICAgICAgICAgICBpbnB1dF90b2tlbnM6IHUuaW5wdXRfdG9rZW5zID8/IDAsXG4gICAgICAgICAgICAgICAgb3V0cHV0X3Rva2VuczogdS5vdXRwdXRfdG9rZW5zID8/IDAsXG4gICAgICAgICAgICAgICAgY2FjaGVfY3JlYXRpb25faW5wdXRfdG9rZW5zOiB1LmNhY2hlX2NyZWF0aW9uX2lucHV0X3Rva2VucyA/PyAwLFxuICAgICAgICAgICAgICAgIGNhY2hlX3JlYWRfaW5wdXRfdG9rZW5zOiB1LmNhY2hlX3JlYWRfaW5wdXRfdG9rZW5zID8/IDAsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGR1cmF0aW9uTXM6IGouZHVyYXRpb25fbXMgPz8gMCxcbiAgICAgICAgICAgICAgY29zdFVzZDogai50b3RhbF9jb3N0X3VzZCA/PyAwLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIHt9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBjaGlsZC5vbihcImNsb3NlXCIsICgpID0+IHtcbiAgICAgIGlmIChzZXR0bGVkKSByZXR1cm47XG4gICAgICBzZXR0bGVkID0gdHJ1ZTtcbiAgICAgIGNsZWFyVGltZW91dCh0aW1lcik7XG4gICAgICByZWplY3QobmV3IFByb2Nlc3NFcnJvcihgQ0xJIHByb2Nlc3MgY2xvc2VkIHdpdGhvdXQgcmVzdWx0ICh0b2tlbjogJHttYXNrVG9rZW4odG9rZW4pfSlgKSk7XG4gICAgfSk7XG5cbiAgICBjaGlsZC5vbihcImVycm9yXCIsIChlcnIpID0+IHtcbiAgICAgIGlmIChzZXR0bGVkKSByZXR1cm47XG4gICAgICBzZXR0bGVkID0gdHJ1ZTtcbiAgICAgIGNsZWFyVGltZW91dCh0aW1lcik7XG4gICAgICByZWplY3QobmV3IFByb2Nlc3NFcnJvcihgQ0xJIHByb2Nlc3MgZXJyb3I6ICR7ZXJyLm1lc3NhZ2V9ICh0b2tlbjogJHttYXNrVG9rZW4odG9rZW4pfSlgKSk7XG4gICAgfSk7XG4gIH0pO1xufVxuXG5leHBvcnQgY29uc3QgUWdyaWREaXNwYXRjaGVyID0gbmV3IFFncmlkRGlzcGF0Y2hlckNsYXNzKCk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXNCQSxNQUFNLFNBQVMsVUFBVSxDQUFDLFFBQVEsQ0FBQztBQUVuQyxNQUFNLGdCQUFnQjtBQUN0QixNQUFNLHFCQUFxQjtBQUMzQixNQUFNLGlCQUFpQjtBQUl2QixNQUFNLGFBQWE7QUFHbkIsTUFBTSxvQkFBb0I7QUFHMUIsTUFBTSx3QkFBd0I7Q0FDNUIsdUJBQXVCO0NBQ3ZC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
|
|
320
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicWdyaWQuZGlzcGF0Y2hlci5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwbGljYXRpb24vcWdyaWQvcWdyaWQuZGlzcGF0Y2hlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gXCJub2RlOmFzc2VydFwiO1xuLyoqXG4gKiBRZ3JpZERpc3BhdGNoZXIg4oCUIE9BdXRoIO2GoO2BsCDshKDtg50gKyBjbGF1ZGUgQ0xJIGZyZXNoIHNwYXduIOuUlOyKpO2MqOyymCDsi7HquIDthLQuXG4gKlxuICogLSDrp6Qg7JqU7LKt66eI64ukIOyDiCBjbGF1ZGUgQ0xJIO2UhOuhnOyEuOyKpCBzcGF3biDihpIg7J2R64u1IO2bhCDsooXro4xcbiAqIC0gbGVhc3QtdXNlZCByb3VuZC1yb2JpbiDsnLzroZwg7Yag7YGwIOyEoO2DnVxuICogLSDrqZTrqqjrpqwg7LqQ7IucIChNYXA8aWQsIFRva2VuU3Vic2V0QT4pIOuKlCBUb2tlblN1YnNjcmliZXIg6rCAIHBnIExJU1RFTi9OT1RJRlkg66GcIOqwseyLoFxuICogLSBxdWVyeSDsi5wgZXhwaXJlc19hdCDruYTqtZAg4oaSIOyehOuwlSDsi5wgcHJlZW1wdGl2ZSByZWZyZXNoXG4gKiAtIFF1b3RhRXJyb3Ig64qUIOq3uOuMgOuhnCDsg4HsnIQg7KCE7YyMICjsnpDrj5kgZmFpbG92ZXIg7JeG7J2MLCBVSSDsl5DshJwg7IiY64+ZIO2GoOq4gClcbiAqXG4gKiBlbnYgYWxsb3dsaXN0OiBQQVRILCBUTVBESVIsIENMQVVERV9DT0RFX09BVVRIX1RPS0VOLCBDTEFVREVfQ09ORklHX0RJUlxuICogICArIENMQVVERV9DT0RFX0RJU0FCTEVfKiArIENMQVVERV9DT0RFX0FUVFJJQlVUSU9OX0hFQURFUlxuICovXG5pbXBvcnQgeyBzcGF3biB9IGZyb20gXCJub2RlOmNoaWxkX3Byb2Nlc3NcIjtcbmltcG9ydCB7IG1rZGlyU3luYywgd3JpdGVGaWxlU3luYyB9IGZyb20gXCJub2RlOmZzXCI7XG5cbmltcG9ydCB7IGdldExvZ2dlciB9IGZyb20gXCJAbG9ndGFwZS9sb2d0YXBlXCI7XG5cbmltcG9ydCB7IHR5cGUgSnNvblZhbHVlIH0gZnJvbSBcIi4uLy4uL2NvZGV4LXByb3RvY29sL3NlcmRlX2pzb24vSnNvblZhbHVlXCI7XG5pbXBvcnQge1xuICBnZXRBY2Nlc3NUb2tlbixcbiAgZ2V0RXhwaXJlc0F0LFxuICBnZXRSZWZyZXNoVG9rZW4sXG59IGZyb20gXCIuLi8uLi91dGlscy9wcm92aWRlcnMvY29tbW9uL2NyZWRlbnRpYWxzXCI7XG5pbXBvcnQgeyBjYWxjdWxhdGVDb3N0VXNkIH0gZnJvbSBcIi4uLy4uL3V0aWxzL3Byb3ZpZGVycy9jb21tb24vbW9kZWwtY29zdFwiO1xuaW1wb3J0IHsgc3RyaWN0aWZ5IH0gZnJvbSBcIi4uLy4uL3V0aWxzL3Byb3ZpZGVycy9jb21tb24vc3RyaWN0aWZpZXJcIjtcbmltcG9ydCB7IHR5cGUgT3BlbkFJRGlzcGF0Y2hlciB9IGZyb20gXCIuLi8uLi91dGlscy9wcm92aWRlcnMvb3BlbmFpL29wZW5haS1kaXNwYXRjaGVyXCI7XG5pbXBvcnQgeyB0eXBlIFRva2VuU3Vic2V0QSB9IGZyb20gXCIuLi9zb25hbXUuZ2VuZXJhdGVkXCI7XG5pbXBvcnQgeyB0eXBlIFF1ZXJ5SW5wdXQsIHR5cGUgUXVlcnlPdXRwdXQsIHR5cGUgVG9rZW5TdGF0cyB9IGZyb20gXCIuL3FncmlkLnR5cGVzXCI7XG5pbXBvcnQgeyBtYXNrVG9rZW4sIFByb2Nlc3NFcnJvciwgUXVvdGFFcnJvciwgVGltZW91dEVycm9yIH0gZnJvbSBcIi4vcWdyaWQudHlwZXNcIjtcbmltcG9ydCB7IHR5cGUgVG9rZW5TdWJzY3JpYmVyIH0gZnJvbSBcIi4vdG9rZW4tc3Vic2NyaWJlclwiO1xuaW1wb3J0IHsgYXBwbHlUb29sQ2FsbEVtdWxhdGlvbiwgYnVpbGRUb29sQ2FsbFNjaGVtYSB9IGZyb20gXCIuL3Rvb2wtZW11bGF0aW9uXCI7XG5cbmNvbnN0IGxvZ2dlciA9IGdldExvZ2dlcihbXCJxZ3JpZFwiXSk7XG5cbmNvbnN0IERFRkFVTFRfTU9ERUwgPSBcInNvbm5ldFwiO1xuY29uc3QgREVGQVVMVF9USU1FT1VUX01TID0gNjAwXzAwMDtcbmNvbnN0IERFRkFVTFRfRUZGT1JUID0gXCJoaWdoXCI7XG5cbi8vIGNsYXVkZSBDTEkg7J2YIGN3ZC4g7J20IOqyveuhnOydmCAuY2xhdWRlL3NldHRpbmdzLmpzb24g7J20IHByb2plY3Qgc2NvcGUg66GcIOuhnOuTnOuQmOyWtFxuLy8g7Zi57Iuc652864+EIOyeiOydhCB1c2VyIHNjb3BlICh+Ly5jbGF1ZGUvc2V0dGluZ3MuanNvbinrpbwg642u7Ja07JSAICgtLXNldHRpbmctc291cmNlcyBwcm9qZWN0IOyZgCDtlajqu5gpLlxuY29uc3QgQ0xBVURFX0NXRCA9IFwiL3RtcC9xZ3JpZFwiO1xuXG4vLyDquIDroZzrsowgdXNlciBjb25maWcg6rKp66asIOqyveuhnC4gKEND7JeQ7IScIO2ZmOqyveuzgOyImOuhnCDsnb3ripTrs4DsiJgpXG5jb25zdCBDTEFVREVfQ09ORklHX0RJUiA9IFwiL3RtcC9xZ3JpZC1jb25maWdcIjtcblxuLy8gcWdyaWQg7KCE7JqpIHByb2plY3QvZ2xvYmFsIHNldHRpbmdzIOKAlCB1c2VyIHNjb3BlIOqyqeumrOyaqVxuY29uc3QgUUdSSURfQ0xBVURFX1NFVFRJTkdTID0ge1xuICBhbHdheXNUaGlua2luZ0VuYWJsZWQ6IGZhbHNlLCAvLyB0aGlua2luZyBibG9jayDssKjri6hcbiAgaW5jbHVkZUdpdEluc3RydWN0aW9uczogZmFsc2UsIC8vIHN5c3RlbSBwcm9tcHQg7J2YIGdpdCDqsIDsnbTrk5wg7KCc6rGwXG4gIGNsZWFudXBQZXJpb2REYXlzOiAxLFxufTtcblxuLy8g7Yag7YGwIOunjOujjCDsnoTrsJUg7J6E6rOE6rCSIOKAlCB0b2tlbi5leHBpcmVkQXTsnbQgMeu2hCDslYjsl5Ag66eM66OM65Cc64uk66m0IHF1ZXJ5IOyLnCDssrTtgaztlZjqs6AgcmVmcmVzaC5cbmNvbnN0IFJFRlJFU0hfU0FGRVRZX01TID0gNjBfMDAwO1xuXG5leHBvcnQgY2xhc3MgUWdyaWREaXNwYXRjaGVyQ2xhc3Mge1xuICB0b2tlbnMgPSBuZXcgTWFwPG51bWJlciwgVG9rZW5TdWJzZXRBPigpO1xuXG4gIC8vIGtleeq4sOuwmCh0b2tlbk5hbWUpIOuIhOyggSDsubTsmrTthLAuIHRva2VuIOydtCBPQXV0aCByZWZyZXNoIOuhnCDroZzthYzsnbTtirjrkJjrj4QgdG9rZW5OYW1lIOydgCDrtojrs4DsnbTrnbwg7Lm07Jq07YSwIOycoOyngOuQqFxuICByZXF1ZXN0Q291bnRzID0gbmV3IE1hcDxzdHJpbmcsIG51bWJlcj4oKTtcbiAgcnJJbmRleCA9IDA7XG5cbiAgLy8gc29uYW11LmNvbmZpZyBvblN0YXJ0IOyXkOyEnCDsspjrpqztlZjripQg67OA7IiYXG4gIHN1YnNjcmliZXI6IFRva2VuU3Vic2NyaWJlciB8IG51bGwgPSBudWxsO1xuICBvcGVuYWlEaXNwYXRjaGVyOiBPcGVuQUlEaXNwYXRjaGVyIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgY29uc3Qgc2V0dGluZ3NKc29uID0gSlNPTi5zdHJpbmdpZnkoUUdSSURfQ0xBVURFX1NFVFRJTkdTLCBudWxsLCAyKTtcblxuICAgIG1rZGlyU3luYyhgJHtDTEFVREVfQ1dEfS8uY2xhdWRlYCwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gICAgd3JpdGVGaWxlU3luYyhgJHtDTEFVREVfQ1dEfS8uY2xhdWRlL3NldHRpbmdzLmpzb25gLCBzZXR0aW5nc0pzb24pO1xuXG4gICAgbWtkaXJTeW5jKENMQVVERV9DT05GSUdfRElSLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICB3cml0ZUZpbGVTeW5jKGAke0NMQVVERV9DT05GSUdfRElSfS8uY2xhdWRlLmpzb25gLCBcInt9XCIpO1xuICAgIHdyaXRlRmlsZVN5bmMoYCR7Q0xBVURFX0NPTkZJR19ESVJ9L3NldHRpbmdzLmpzb25gLCBzZXR0aW5nc0pzb24pO1xuICB9XG5cbiAgY291bnRPZihuYW1lOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnJlcXVlc3RDb3VudHMuZ2V0KG5hbWUpID8/IDA7XG4gIH1cblxuICAvLyBUb2tlblN1YnNjcmliZXIg7L2c67CxIOKAlCDsupDsi5wgbXV0YXRpb25cbiAgdXBzZXJ0Q2FjaGUoaWQ6IG51bWJlciwgcm93OiBUb2tlblN1YnNldEEpOiB2b2lkIHtcbiAgICB0aGlzLnRva2Vucy5zZXQoaWQsIHJvdyk7XG4gIH1cblxuICByZW1vdmVDYWNoZShpZDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy50b2tlbnMuZGVsZXRlKGlkKTtcbiAgfVxuXG4gIHJlcGxhY2VDYWNoZShyb3dzOiBUb2tlblN1YnNldEFbXSk6IHZvaWQge1xuICAgIHRoaXMudG9rZW5zID0gbmV3IE1hcChyb3dzLm1hcCgocikgPT4gW3IuaWQsIHJdKSk7XG4gIH1cblxuICBnZXRTdGF0cygpOiBUb2tlblN0YXRzW10ge1xuICAgIHJldHVybiBbLi4udGhpcy50b2tlbnMudmFsdWVzKCldLm1hcCgocikgPT4gKHtcbiAgICAgIHRva2VuOiBtYXNrVG9rZW4oZ2V0QWNjZXNzVG9rZW4oci5jcmVkZW50aWFscykpLFxuICAgICAgbmFtZTogci5uYW1lLFxuICAgICAgcHJvdmlkZXI6IHIucHJvdmlkZXIsXG4gICAgICByZXF1ZXN0czogdGhpcy5jb3VudE9mKHIubmFtZSksXG4gICAgfSkpO1xuICB9XG5cbiAgc2VsZWN0VG9rZW4ocHJvdmlkZXIgPSBcImFudGhyb3BpY1wiKTogVG9rZW5TdWJzZXRBIHwgbnVsbCB7XG4gICAgY29uc3Qgcm93cyA9IFsuLi50aGlzLnRva2Vucy52YWx1ZXMoKV0uZmlsdGVyKChyKSA9PiByLnByb3ZpZGVyID09PSBwcm92aWRlcik7XG4gICAgaWYgKHJvd3MubGVuZ3RoID09PSAwKSByZXR1cm4gbnVsbDtcblxuICAgIGNvbnN0IG1pbkNvdW50ID0gTWF0aC5taW4oLi4ucm93cy5tYXAoKHIpID0+IHRoaXMuY291bnRPZihyLm5hbWUpKSk7XG4gICAgY29uc3QgaWRsZSA9IHJvd3MuZmlsdGVyKChyKSA9PiB0aGlzLmNvdW50T2Yoci5uYW1lKSA9PT0gbWluQ291bnQpO1xuICAgIGNvbnN0IHBpY2tlZCA9IGlkbGVbdGhpcy5yckluZGV4ICUgaWRsZS5sZW5ndGhdITtcbiAgICB0aGlzLnJySW5kZXgrKztcbiAgICByZXR1cm4gcGlja2VkO1xuICB9XG5cbiAgYXN5bmMgcXVlcnkoaW5wdXQ6IFF1ZXJ5SW5wdXQsIHRpbWVvdXRNcz86IG51bWJlcik6IFByb21pc2U8UXVlcnlPdXRwdXQ+IHtcbiAgICBpZiAoaW5wdXQudG9vbHM/Lmxlbmd0aCAmJiBpbnB1dC5qc29uU2NoZW1hKSB7XG4gICAgICB0aHJvdyBuZXcgUHJvY2Vzc0Vycm9yKFwidG9vbHMgYW5kIGpzb25TY2hlbWEgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXJcIik7XG4gICAgfVxuXG4gICAgY29uc3Qgb3V0cHV0U2NoZW1hID0gaW5wdXQudG9vbHM/Lmxlbmd0aFxuICAgICAgPyBidWlsZFRvb2xDYWxsU2NoZW1hKGlucHV0LnRvb2xzKVxuICAgICAgOiBpbnB1dC5qc29uU2NoZW1hXG4gICAgICAgID8gKEpTT04ucGFyc2UoaW5wdXQuanNvblNjaGVtYSkgYXMgSnNvblZhbHVlKVxuICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgIC8vIHByb3ZpZGVyIHByZWZpeCByb3V0aW5nOiAnb3BlbmFpL2dwdC01LjQnIOKGkiBPcGVuQUlEaXNwYXRjaGVyXG4gICAgaWYgKGlucHV0Lm1vZGVsPy5pbmNsdWRlcyhcIi9cIikpIHtcbiAgICAgIGNvbnN0IFtwcm92aWRlciwgbW9kZWxdID0gaW5wdXQubW9kZWwuc3BsaXQoXCIvXCIsIDIpO1xuICAgICAgYXNzZXJ0KG1vZGVsLCBcInVua25vd24gbW9kZWxcIik7XG4gICAgICBpZiAocHJvdmlkZXIgPT09IFwib3BlbmFpXCIpIHtcbiAgICAgICAgaWYgKCF0aGlzLm9wZW5haURpc3BhdGNoZXIpIHRocm93IG5ldyBRdW90YUVycm9yKFwiT3BlbkFJIGRpc3BhdGNoZXIgbm90IGluaXRpYWxpemVkXCIpO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLm9wZW5haURpc3BhdGNoZXIuZ2VuZXJhdGUoe1xuICAgICAgICAgIG1vZGVsOiBtb2RlbCxcbiAgICAgICAgICBpbnB1dDogW3sgdHlwZTogXCJ0ZXh0XCIgYXMgY29uc3QsIHRleHQ6IGlucHV0LnByb21wdCwgdGV4dF9lbGVtZW50czogW10gfV0sXG4gICAgICAgICAgc3lzdGVtUHJvbXB0OiBpbnB1dC5zeXN0ZW0sXG4gICAgICAgICAgb3V0cHV0U2NoZW1hOiBvdXRwdXRTY2hlbWFcbiAgICAgICAgICAgID8gKHN0cmljdGlmeShvdXRwdXRTY2hlbWEgYXMgUGFyYW1ldGVyczx0eXBlb2Ygc3RyaWN0aWZ5PlswXSkgYXMgSnNvblZhbHVlKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgZWZmb3J0OiBpbnB1dC5lZmZvcnQsXG4gICAgICAgICAgdmVyYm9zaXR5OiBpbnB1dC52ZXJib3NpdHksXG4gICAgICAgICAgcmVhc29uaW5nU3VtbWFyeTogaW5wdXQucmVhc29uaW5nU3VtbWFyeSxcbiAgICAgICAgICBzZXJ2aWNlVGllcjogaW5wdXQuc2VydmljZVRpZXIsXG4gICAgICAgICAgaGlzdG9yeTogaW5wdXQuaGlzdG9yeSA/IEpTT04ucGFyc2UoaW5wdXQuaGlzdG9yeSkgOiB1bmRlZmluZWQsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBhcHBseVRvb2xDYWxsRW11bGF0aW9uKFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHRleHQ6IHJlc3VsdC50ZXh0LFxuICAgICAgICAgICAgdG9rZW5OYW1lOiByZXN1bHQudG9rZW5OYW1lLFxuICAgICAgICAgICAgbW9kZWw6IHJlc3VsdC5tb2RlbCxcbiAgICAgICAgICAgIHVzYWdlOiB7XG4gICAgICAgICAgICAgIGlucHV0X3Rva2VuczogcmVzdWx0LnVzYWdlLmlucHV0VG9rZW5zLFxuICAgICAgICAgICAgICBvdXRwdXRfdG9rZW5zOiByZXN1bHQudXNhZ2Uub3V0cHV0VG9rZW5zLFxuICAgICAgICAgICAgICBjYWNoZV9jcmVhdGlvbl9pbnB1dF90b2tlbnM6IDAsXG4gICAgICAgICAgICAgIGNhY2hlX3JlYWRfaW5wdXRfdG9rZW5zOiByZXN1bHQudXNhZ2UuY2FjaGVkSW5wdXRUb2tlbnMsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZHVyYXRpb25NczogcmVzdWx0LmR1cmF0aW9uTXMsXG4gICAgICAgICAgICBjb3N0VXNkOiBjYWxjdWxhdGVDb3N0VXNkKHJlc3VsdC5tb2RlbCwge1xuICAgICAgICAgICAgICBpbnB1dFRva2VuczogcmVzdWx0LnVzYWdlLmlucHV0VG9rZW5zLFxuICAgICAgICAgICAgICBvdXRwdXRUb2tlbnM6IHJlc3VsdC51c2FnZS5vdXRwdXRUb2tlbnMsXG4gICAgICAgICAgICAgIGNhY2hlZElucHV0VG9rZW5zOiByZXN1bHQudXNhZ2UuY2FjaGVkSW5wdXRUb2tlbnMsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGlucHV0LnRvb2xzLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGV4ZWN1dGlvbklucHV0ID1cbiAgICAgIG91dHB1dFNjaGVtYSAmJiBpbnB1dC50b29scz8ubGVuZ3RoXG4gICAgICAgID8geyAuLi5pbnB1dCwganNvblNjaGVtYTogSlNPTi5zdHJpbmdpZnkob3V0cHV0U2NoZW1hKSB9XG4gICAgICAgIDogaW5wdXQ7XG5cbiAgICAvLyBBbnRocm9waWMgKOq4sOyhtCBjbGF1ZGUgLXAg6rK966GcKVxuICAgIGNvbnN0IGVsZWN0ZWRUb2tlbiA9IHRoaXMuc2VsZWN0VG9rZW4oKTtcbiAgICBpZiAoIWVsZWN0ZWRUb2tlbikgdGhyb3cgbmV3IFF1b3RhRXJyb3IoXCJObyB0b2tlbnMgYXZhaWxhYmxlXCIpO1xuXG4gICAgLy8gYXdhaXQg7KCE7JeQIGNvdW50IOyEoOuwmOyYgS4g67OR66CsIOyalOyyreydtCDrj5nsi5zsl5Ag64+E7LCp7ZW064+EIOqwgeyekCDri6Trpbgg7Yag7YGw7J2EIOqzoOultOuPhOuhnS5cbiAgICB0aGlzLnJlcXVlc3RDb3VudHMuc2V0KGVsZWN0ZWRUb2tlbi5uYW1lLCB0aGlzLmNvdW50T2YoZWxlY3RlZFRva2VuLm5hbWUpICsgMSk7XG5cbiAgICBsZXQgdG9rZW4gPSBnZXRBY2Nlc3NUb2tlbihlbGVjdGVkVG9rZW4uY3JlZGVudGlhbHMpO1xuICAgIC8vIGV4cGlyZXNfYXQg7J6E67CV7J2066m0IHByZWVtcHRpdmUgcmVmcmVzaFxuICAgIGNvbnN0IGV4cGlyZXNBdCA9IGdldEV4cGlyZXNBdChlbGVjdGVkVG9rZW4uY3JlZGVudGlhbHMpO1xuICAgIGlmIChcbiAgICAgIGV4cGlyZXNBdCAmJlxuICAgICAgZXhwaXJlc0F0IC0gRGF0ZS5ub3coKSA8IFJFRlJFU0hfU0FGRVRZX01TICYmXG4gICAgICBnZXRSZWZyZXNoVG9rZW4oZWxlY3RlZFRva2VuLmNyZWRlbnRpYWxzKVxuICAgICkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBRZ3JpZEZyYW1lIH0gPSBhd2FpdCBpbXBvcnQoXCIuL3FncmlkLmZyYW1lXCIpO1xuICAgICAgICB0b2tlbiA9IGF3YWl0IFFncmlkRnJhbWUucmVmcmVzaFRva2VuKGVsZWN0ZWRUb2tlbik7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGxvZ2dlci53YXJuKGByZWZyZXNoIGZhaWxlZCBmb3IgJHtlbGVjdGVkVG9rZW4ubmFtZX06ICR7KGUgYXMgRXJyb3IpLm1lc3NhZ2V9YCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbG9nZ2VyLmluZm8oYOKGkiAke2VsZWN0ZWRUb2tlbi5uYW1lfSAobW9kZWw6ICR7aW5wdXQubW9kZWwgPz8gREVGQVVMVF9NT0RFTH0pYCk7XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBleGVjdXRlQ2xhdWRlKGV4ZWN1dGlvbklucHV0LCB0b2tlbiwgdGltZW91dE1zID8/IERFRkFVTFRfVElNRU9VVF9NUyk7XG4gICAgcmV0dXJuIGFwcGx5VG9vbENhbGxFbXVsYXRpb24oXG4gICAgICB7IC4uLnJlc3VsdCwgdG9rZW5OYW1lOiBlbGVjdGVkVG9rZW4ubmFtZSwgbW9kZWw6IGlucHV0Lm1vZGVsID8/IERFRkFVTFRfTU9ERUwgfSxcbiAgICAgIGlucHV0LnRvb2xzLFxuICAgICk7XG4gIH1cblxuICBhc3luYyBxdWVyeVN0cmVhbShcbiAgICBpbnB1dDogUXVlcnlJbnB1dCxcbiAgICBjYjoge1xuICAgICAgb25EZWx0YTogKHRleHQ6IHN0cmluZykgPT4gdm9pZDtcbiAgICAgIG9uQ29tcGxldGU6IChyZXN1bHQ6IFF1ZXJ5T3V0cHV0KSA9PiB2b2lkO1xuICAgICAgb25FcnJvcjogKGVycm9yOiBFcnJvcikgPT4gdm9pZDtcbiAgICAgIG9uVGhyZWFkSWQ/OiAodGhyZWFkSWQ6IHN0cmluZykgPT4gdm9pZDtcbiAgICAgIG9uVHVybklkPzogKHR1cm5JZDogc3RyaW5nKSA9PiB2b2lkO1xuICAgIH0sXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghaW5wdXQubW9kZWw/LnN0YXJ0c1dpdGgoXCJvcGVuYWkvXCIpKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnF1ZXJ5KGlucHV0KTtcbiAgICAgIGNiLm9uQ29tcGxldGUocmVzdWx0KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBbLCBtb2RlbF0gPSBpbnB1dC5tb2RlbC5zcGxpdChcIi9cIiwgMik7XG4gICAgaWYgKCFtb2RlbCkgdGhyb3cgbmV3IFByb2Nlc3NFcnJvcihcInVua25vd24gbW9kZWxcIik7XG4gICAgaWYgKCF0aGlzLm9wZW5haURpc3BhdGNoZXIpIHRocm93IG5ldyBRdW90YUVycm9yKFwiT3BlbkFJIGRpc3BhdGNoZXIgbm90IGluaXRpYWxpemVkXCIpO1xuXG4gICAgY29uc3Qgb3V0cHV0U2NoZW1hID0gaW5wdXQudG9vbHM/Lmxlbmd0aFxuICAgICAgPyBidWlsZFRvb2xDYWxsU2NoZW1hKGlucHV0LnRvb2xzKVxuICAgICAgOiBpbnB1dC5qc29uU2NoZW1hXG4gICAgICAgID8gKEpTT04ucGFyc2UoaW5wdXQuanNvblNjaGVtYSkgYXMgSnNvblZhbHVlKVxuICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgIGF3YWl0IHRoaXMub3BlbmFpRGlzcGF0Y2hlci5nZW5lcmF0ZVN0cmVhbShcbiAgICAgIHtcbiAgICAgICAgbW9kZWwsXG4gICAgICAgIGlucHV0OiBbeyB0eXBlOiBcInRleHRcIiBhcyBjb25zdCwgdGV4dDogaW5wdXQucHJvbXB0LCB0ZXh0X2VsZW1lbnRzOiBbXSB9XSxcbiAgICAgICAgc3lzdGVtUHJvbXB0OiBpbnB1dC5zeXN0ZW0sXG4gICAgICAgIG91dHB1dFNjaGVtYTogb3V0cHV0U2NoZW1hXG4gICAgICAgICAgPyAoc3RyaWN0aWZ5KG91dHB1dFNjaGVtYSBhcyBQYXJhbWV0ZXJzPHR5cGVvZiBzdHJpY3RpZnk+WzBdKSBhcyBKc29uVmFsdWUpXG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIGVmZm9ydDogaW5wdXQuZWZmb3J0LFxuICAgICAgICB2ZXJib3NpdHk6IGlucHV0LnZlcmJvc2l0eSxcbiAgICAgICAgcmVhc29uaW5nU3VtbWFyeTogaW5wdXQucmVhc29uaW5nU3VtbWFyeSxcbiAgICAgICAgc2VydmljZVRpZXI6IGlucHV0LnNlcnZpY2VUaWVyLFxuICAgICAgICBoaXN0b3J5OiBpbnB1dC5oaXN0b3J5ID8gSlNPTi5wYXJzZShpbnB1dC5oaXN0b3J5KSA6IHVuZGVmaW5lZCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG9uRGVsdGE6IGNiLm9uRGVsdGEsXG4gICAgICAgIG9uVGhyZWFkSWQ6IGNiLm9uVGhyZWFkSWQsXG4gICAgICAgIG9uVHVybklkOiBjYi5vblR1cm5JZCxcbiAgICAgICAgb25Db21wbGV0ZTogKHR1cm5SZXN1bHQpID0+IHtcbiAgICAgICAgICBjb25zdCBhcHBsaWVkID0gYXBwbHlUb29sQ2FsbEVtdWxhdGlvbihcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGV4dDogdHVyblJlc3VsdC50ZXh0LFxuICAgICAgICAgICAgICB0b2tlbk5hbWU6ICh0dXJuUmVzdWx0IGFzIHVua25vd24gYXMgeyB0b2tlbk5hbWU/OiBzdHJpbmcgfSkudG9rZW5OYW1lLFxuICAgICAgICAgICAgICBtb2RlbDogdHVyblJlc3VsdC5tb2RlbCxcbiAgICAgICAgICAgICAgdXNhZ2U6IHtcbiAgICAgICAgICAgICAgICBpbnB1dF90b2tlbnM6IHR1cm5SZXN1bHQudXNhZ2UuaW5wdXRUb2tlbnMsXG4gICAgICAgICAgICAgICAgb3V0cHV0X3Rva2VuczogdHVyblJlc3VsdC51c2FnZS5vdXRwdXRUb2tlbnMsXG4gICAgICAgICAgICAgICAgY2FjaGVfY3JlYXRpb25faW5wdXRfdG9rZW5zOiAwLFxuICAgICAgICAgICAgICAgIGNhY2hlX3JlYWRfaW5wdXRfdG9rZW5zOiB0dXJuUmVzdWx0LnVzYWdlLmNhY2hlZElucHV0VG9rZW5zLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBkdXJhdGlvbk1zOiB0dXJuUmVzdWx0LmR1cmF0aW9uTXMsXG4gICAgICAgICAgICAgIGNvc3RVc2Q6IGNhbGN1bGF0ZUNvc3RVc2QodHVyblJlc3VsdC5tb2RlbCwge1xuICAgICAgICAgICAgICAgIGlucHV0VG9rZW5zOiB0dXJuUmVzdWx0LnVzYWdlLmlucHV0VG9rZW5zLFxuICAgICAgICAgICAgICAgIG91dHB1dFRva2VuczogdHVyblJlc3VsdC51c2FnZS5vdXRwdXRUb2tlbnMsXG4gICAgICAgICAgICAgICAgY2FjaGVkSW5wdXRUb2tlbnM6IHR1cm5SZXN1bHQudXNhZ2UuY2FjaGVkSW5wdXRUb2tlbnMsXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGlucHV0LnRvb2xzLFxuICAgICAgICAgICk7XG4gICAgICAgICAgY2Iub25Db21wbGV0ZShhcHBsaWVkKTtcbiAgICAgICAgfSxcbiAgICAgICAgb25FcnJvcjogY2Iub25FcnJvcixcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBleGVjdXRlQ2xhdWRlKFxuICBpbnB1dDogUXVlcnlJbnB1dCxcbiAgdG9rZW46IHN0cmluZyxcbiAgdGltZW91dE1zOiBudW1iZXIsXG4pOiBQcm9taXNlPE9taXQ8UXVlcnlPdXRwdXQsIFwiY29udGVudFwiIHwgXCJmaW5pc2hSZWFzb25cIj4+IHtcbiAgY29uc3QgcmF3TW9kZWwgPSBpbnB1dC5tb2RlbCA/PyBERUZBVUxUX01PREVMO1xuICBjb25zdCBtb2RlbCA9IHJhd01vZGVsLmluY2x1ZGVzKFwiL1wiKSA/IHJhd01vZGVsLnNwbGl0KFwiL1wiKS5wb3AoKSEgOiByYXdNb2RlbDtcbiAgY29uc3QgdGltZW91dCA9IGlucHV0LnRpbWVvdXQgPz8gdGltZW91dE1zO1xuICBjb25zdCB1c2VTdHJ1Y3R1cmVkT3V0cHV0ID0gaW5wdXQuanNvblNjaGVtYSAmJiBpbnB1dC5qc29uU2NoZW1hLmxlbmd0aCA+IDA7XG5cbiAgLy8gLS10b29scyBcIlwiIOuhnCDrqqjrk6AgdG9vbCDsnYQg6riw67O4IOywqOuLqC4gc3RydWN0dXJlZCBvdXRwdXQg7JOw66m0IFN0cnVjdHVyZWRPdXRwdXQg66eMIO2ZlOydtO2KuOumrOyKpO2KuC5cbiAgLy8gLS10b29scyBcIlwiIOuKlCDrsJjrk5zsi5wg65Kk7JeQIOuLpOuluCDtlIzrnpjqt7jqsIAg7JmA7JW8IENMSSDtjIzsi7HsnbQg67mIIOusuOyekOyXtOuhnCDsnbjsi51cbiAgY29uc3QgdG9vbEFyZ3MgPSB1c2VTdHJ1Y3R1cmVkT3V0cHV0XG4gICAgPyBbXCItLXRvb2xzXCIsIFwiXCIsIFwiLS1hbGxvd2VkLXRvb2xzXCIsIFwiU3RydWN0dXJlZE91dHB1dFwiXVxuICAgIDogW1wiLS10b29sc1wiLCBcIlwiXTtcblxuICBjb25zdCBhcmdzOiBzdHJpbmdbXSA9IFtcbiAgICBcIi1wXCIsXG4gICAgLi4udG9vbEFyZ3MsXG4gICAgXCItLWRpc2FsbG93ZWRUb29sc1wiLFxuICAgIC8vIEND7JeQ7IScIOyekOuPmSDtmZzshLHtmZTrkJjripQgZGVmZXJyZWQg64+E6rWsLiDthqDtgbAg7LWc7KCB7ZmU66W87JyE7ZW0IOywqOuLqFxuICAgIC4uLihbXCJNb25pdG9yXCIsIFwiUHVzaE5vdGlmaWNhdGlvblwiLCBcIlJlbW90ZVRyaWdnZXJcIl0gYXMgY29uc3QpLFxuICAgIFwiLS1vdXRwdXQtZm9ybWF0XCIsXG4gICAgXCJzdHJlYW0tanNvblwiLFxuICAgIFwiLS12ZXJib3NlXCIsXG4gICAgLy8gLS1tYXgtdHVybnM6IHN0cnVjdHVyZWQgb3V0cHV0IOydgCB0b29sX3VzZSArIHRvb2xfcmVzdWx0IOuhnCAy7YS0IOyGjOu5hFxuICAgIFwiLS1tYXgtdHVybnNcIixcbiAgICB1c2VTdHJ1Y3R1cmVkT3V0cHV0ID8gXCIyXCIgOiBcIjFcIixcbiAgICBcIi0tcGVybWlzc2lvbi1tb2RlXCIsXG4gICAgXCJieXBhc3NQZXJtaXNzaW9uc1wiLFxuICAgIFwiLS1zZXR0aW5nLXNvdXJjZXNcIixcbiAgICBcInByb2plY3RcIixcbiAgICBcIi0tbW9kZWxcIixcbiAgICBtb2RlbCxcbiAgICAvLyAtLXN5c3RlbS1wcm9tcHTripQg67CY65Oc7IucIOuqheyLnO2VtOyVvO2VqC4g7Ji17IWYIOyDneuetSDsi5wgQ0PqsIAgZGVmYXVsdCBzeXN0ZW0gcHJvbXB066W8IOyekOuPmeycvOuhnCDso7zsnoXtlagoMjNrKVxuICAgIFwiLS1zeXN0ZW0tcHJvbXB0XCIsXG4gICAgaW5wdXQuc3lzdGVtID8/IFwiXCIsXG4gICAgXCItLXRoaW5raW5nXCIsXG4gICAgXCJkaXNhYmxlZFwiLFxuICAgIFwiLS1lZmZvcnRcIixcbiAgICBpbnB1dC5lZmZvcnQgPz8gREVGQVVMVF9FRkZPUlQsXG4gICAgXCItLW5vLXNlc3Npb24tcGVyc2lzdGVuY2VcIixcbiAgICAvLyDrqqjrk6Agc2tpbGxzIOu5hO2ZnOyEse2ZlFxuICAgIFwiLS1kaXNhYmxlLXNsYXNoLWNvbW1hbmRzXCIsXG4gIF07XG4gIGlmICh1c2VTdHJ1Y3R1cmVkT3V0cHV0KSB7XG4gICAgYXJncy5wdXNoKFwiLS1qc29uLXNjaGVtYVwiLCBpbnB1dC5qc29uU2NoZW1hISk7XG4gIH1cbiAgYXJncy5wdXNoKGlucHV0LnByb21wdCk7XG5cbiAgY29uc3QgZW52OiBOb2RlSlMuUHJvY2Vzc0VudiA9IHtcbiAgICBQQVRIOiBwcm9jZXNzLmVudi5QQVRILFxuICAgIFRNUERJUjogcHJvY2Vzcy5lbnYuVE1QRElSLFxuICAgIENMQVVERV9DT0RFX09BVVRIX1RPS0VOOiB0b2tlbixcbiAgICAvLyBDTEFVREVfQ09ORklHX0RJUiDtmZjqsr3rs4DsiJjroZwg7KO87J6FXG4gICAgQ0xBVURFX0NPTkZJR19ESVIsXG4gICAgQ0xBVURFX0NPREVfRElTQUJMRV9BVVRPX01FTU9SWTogXCIxXCIsXG4gICAgQ0xBVURFX0NPREVfRElTQUJMRV9BREFQVElWRV9USElOS0lORzogXCIxXCIsXG4gICAgQ0xBVURFX0NPREVfRElTQUJMRV8xTV9DT05URVhUOiBcIjFcIixcbiAgICBDTEFVREVfQ09ERV9ESVNBQkxFX0NMQVVERV9NRFM6IFwiMVwiLFxuICAgIENMQVVERV9DT0RFX0FUVFJJQlVUSU9OX0hFQURFUjogXCIwXCIsXG4gIH07XG5cbiAgcmV0dXJuIG5ldyBQcm9taXNlPE9taXQ8UXVlcnlPdXRwdXQsIFwiY29udGVudFwiIHwgXCJmaW5pc2hSZWFzb25cIj4+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjb25zdCBjaGlsZCA9IHNwYXduKFwiY2xhdWRlXCIsIGFyZ3MsIHtcbiAgICAgIHN0ZGlvOiBbXCJpZ25vcmVcIiwgXCJwaXBlXCIsIFwiaWdub3JlXCJdLFxuICAgICAgZW52LFxuICAgICAgLy8g6rKp66asICjrkZAg64uo6rOEKTpcbiAgICAgIC8vIDEuIENMQVVERV9DV0Qg4oCUIHByb2plY3Qgc2NvcGUg6rKp66asIChjd2Qg7J2YIC5jbGF1ZGUvc2V0dGluZ3MuanNvbilcbiAgICAgIC8vIDIuIENMQVVERV9DT05GSUdfRElSIOKAlCB1c2VyIHNjb3BlIOqyqeumrCBjd2Qg6rKp66as66eM7Jy866GgIOu2gOyhsS5cbiAgICAgIGN3ZDogQ0xBVURFX0NXRCxcbiAgICB9KTtcblxuICAgIGxldCBidWZmZXIgPSBcIlwiO1xuICAgIGxldCBzZXR0bGVkID0gZmFsc2U7XG4gICAgY29uc3QgdGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmIChzZXR0bGVkKSByZXR1cm47XG4gICAgICBzZXR0bGVkID0gdHJ1ZTtcbiAgICAgIGNoaWxkLmtpbGwoKTtcbiAgICAgIHJlamVjdChuZXcgVGltZW91dEVycm9yKGBUaW1lb3V0IGFmdGVyICR7dGltZW91dCAvIDEwMDB9cyAodG9rZW46ICR7bWFza1Rva2VuKHRva2VuKX0pYCkpO1xuICAgIH0sIHRpbWVvdXQpO1xuXG4gICAgY2hpbGQuc3Rkb3V0Py5vbihcImRhdGFcIiwgKGQ6IEJ1ZmZlcikgPT4ge1xuICAgICAgaWYgKHNldHRsZWQpIHJldHVybjtcbiAgICAgIGJ1ZmZlciArPSBkLnRvU3RyaW5nKCk7XG4gICAgICBjb25zdCBsaW5lcyA9IGJ1ZmZlci5zcGxpdChcIlxcblwiKTtcbiAgICAgIGJ1ZmZlciA9IGxpbmVzLnBvcCgpID8/IFwiXCI7XG4gICAgICBmb3IgKGNvbnN0IGxpbmUgb2YgbGluZXMpIHtcbiAgICAgICAgaWYgKCFsaW5lLnRyaW0oKSkgY29udGludWU7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgaiA9IEpTT04ucGFyc2UobGluZSk7XG4gICAgICAgICAgaWYgKGoudHlwZSA9PT0gXCJyZXN1bHRcIiAmJiAhc2V0dGxlZCkge1xuICAgICAgICAgICAgLy8gLS1qc29uLXNjaGVtYSDsgqzsmqkg7IucIHN0cnVjdHVyZWRfb3V0cHV0IOyXkCDtjIzsi7HrkJwg6rCd7LK06rCAIOyYqOuLpCDihpIg7Jqw7ISgIOyCrOyaqVxuICAgICAgICAgICAgbGV0IHRleHQ6IHN0cmluZztcbiAgICAgICAgICAgIGlmIChqLnN0cnVjdHVyZWRfb3V0cHV0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgdGV4dCA9IEpTT04uc3RyaW5naWZ5KGouc3RydWN0dXJlZF9vdXRwdXQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGV4dCA9IChqLnJlc3VsdCA/PyBcIlwiKVxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9eYGBgKD86anNvbik/XFxzKlxcbj8vaSwgXCJcIilcbiAgICAgICAgICAgICAgICAucmVwbGFjZSgvXFxuP2BgYFxccyokL2ksIFwiXCIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGV4dC5zdGFydHNXaXRoKFwiWW91J3ZlIGhpdFwiKSkge1xuICAgICAgICAgICAgICBzZXR0bGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVyKTtcbiAgICAgICAgICAgICAgcmVqZWN0KG5ldyBRdW90YUVycm9yKGBRdW90YSBleGhhdXN0ZWQgKHRva2VuOiAke21hc2tUb2tlbih0b2tlbil9KWApKTtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB1ID0gai51c2FnZSA/PyB7fTtcbiAgICAgICAgICAgIHNldHRsZWQgPSB0cnVlO1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVyKTtcbiAgICAgICAgICAgIHJlc29sdmUoe1xuICAgICAgICAgICAgICB0ZXh0LFxuICAgICAgICAgICAgICB1c2FnZToge1xuICAgICAgICAgICAgICAgIGlucHV0X3Rva2VuczogdS5pbnB1dF90b2tlbnMgPz8gMCxcbiAgICAgICAgICAgICAgICBvdXRwdXRfdG9rZW5zOiB1Lm91dHB1dF90b2tlbnMgPz8gMCxcbiAgICAgICAgICAgICAgICBjYWNoZV9jcmVhdGlvbl9pbnB1dF90b2tlbnM6IHUuY2FjaGVfY3JlYXRpb25faW5wdXRfdG9rZW5zID8/IDAsXG4gICAgICAgICAgICAgICAgY2FjaGVfcmVhZF9pbnB1dF90b2tlbnM6IHUuY2FjaGVfcmVhZF9pbnB1dF90b2tlbnMgPz8gMCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgZHVyYXRpb25Nczogai5kdXJhdGlvbl9tcyA/PyAwLFxuICAgICAgICAgICAgICBjb3N0VXNkOiBqLnRvdGFsX2Nvc3RfdXNkID8/IDAsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2gge31cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNoaWxkLm9uKFwiY2xvc2VcIiwgKCkgPT4ge1xuICAgICAgaWYgKHNldHRsZWQpIHJldHVybjtcbiAgICAgIHNldHRsZWQgPSB0cnVlO1xuICAgICAgY2xlYXJUaW1lb3V0KHRpbWVyKTtcbiAgICAgIHJlamVjdChuZXcgUHJvY2Vzc0Vycm9yKGBDTEkgcHJvY2VzcyBjbG9zZWQgd2l0aG91dCByZXN1bHQgKHRva2VuOiAke21hc2tUb2tlbih0b2tlbil9KWApKTtcbiAgICB9KTtcblxuICAgIGNoaWxkLm9uKFwiZXJyb3JcIiwgKGVycikgPT4ge1xuICAgICAgaWYgKHNldHRsZWQpIHJldHVybjtcbiAgICAgIHNldHRsZWQgPSB0cnVlO1xuICAgICAgY2xlYXJUaW1lb3V0KHRpbWVyKTtcbiAgICAgIHJlamVjdChuZXcgUHJvY2Vzc0Vycm9yKGBDTEkgcHJvY2VzcyBlcnJvcjogJHtlcnIubWVzc2FnZX0gKHRva2VuOiAke21hc2tUb2tlbih0b2tlbil9KWApKTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbmV4cG9ydCBjb25zdCBRZ3JpZERpc3BhdGNoZXIgPSBuZXcgUWdyaWREaXNwYXRjaGVyQ2xhc3MoKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7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
|