@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.
Files changed (1161) hide show
  1. package/README.md +47 -68
  2. package/bundle/dist/application/qgrid/oauth.js +1 -1
  3. package/bundle/dist/application/qgrid/qgrid-run-lifecycle.js +137 -0
  4. package/bundle/dist/application/qgrid/qgrid.dispatcher.js +116 -16
  5. package/bundle/dist/application/qgrid/qgrid.frame.js +350 -83
  6. package/bundle/dist/application/qgrid/qgrid.types.js +132 -19
  7. package/bundle/dist/application/qgrid/token-subscriber.js +14 -4
  8. package/bundle/dist/application/qgrid/token-trigger-setup.js +3 -4
  9. package/bundle/dist/application/qgrid/tool-emulation.js +102 -0
  10. package/bundle/dist/application/queries.generated.js +8 -3
  11. package/bundle/dist/application/request-log/request-log.model.js +105 -1
  12. package/bundle/dist/application/request-log/request-log.types.js +14 -3
  13. package/bundle/dist/application/request-log-step/request-log-step.model.js +115 -0
  14. package/bundle/dist/application/request-log-step/request-log-step.types.js +28 -0
  15. package/bundle/dist/application/sonamu.generated.js +145 -20
  16. package/bundle/dist/application/sonamu.generated.sso.js +63 -8
  17. package/bundle/dist/application/token/token.model.js +10 -8
  18. package/bundle/dist/application/token/token.types.js +19 -11
  19. package/bundle/dist/codex-protocol/AbsolutePathBuf.js +2 -0
  20. package/bundle/dist/codex-protocol/AgentPath.js +2 -0
  21. package/bundle/dist/codex-protocol/ApplyPatchApprovalParams.js +2 -0
  22. package/bundle/dist/codex-protocol/ApplyPatchApprovalResponse.js +2 -0
  23. package/bundle/dist/codex-protocol/AuthMode.js +2 -0
  24. package/bundle/dist/codex-protocol/ClientInfo.js +2 -0
  25. package/bundle/dist/codex-protocol/ClientNotification.js +2 -0
  26. package/bundle/dist/codex-protocol/ClientRequest.js +2 -0
  27. package/bundle/dist/codex-protocol/CollaborationMode.js +2 -0
  28. package/bundle/dist/codex-protocol/ContentItem.js +2 -0
  29. package/bundle/dist/codex-protocol/ConversationGitInfo.js +2 -0
  30. package/bundle/dist/codex-protocol/ConversationSummary.js +2 -0
  31. package/bundle/dist/codex-protocol/ExecCommandApprovalParams.js +2 -0
  32. package/bundle/dist/codex-protocol/ExecCommandApprovalResponse.js +2 -0
  33. package/bundle/dist/codex-protocol/ExecPolicyAmendment.js +2 -0
  34. package/bundle/dist/codex-protocol/FileChange.js +2 -0
  35. package/bundle/dist/codex-protocol/ForcedLoginMethod.js +2 -0
  36. package/bundle/dist/codex-protocol/FunctionCallOutputBody.js +2 -0
  37. package/bundle/dist/codex-protocol/FunctionCallOutputContentItem.js +2 -0
  38. package/bundle/dist/codex-protocol/FuzzyFileSearchMatchType.js +2 -0
  39. package/bundle/dist/codex-protocol/FuzzyFileSearchParams.js +2 -0
  40. package/bundle/dist/codex-protocol/FuzzyFileSearchResponse.js +2 -0
  41. package/bundle/dist/codex-protocol/FuzzyFileSearchResult.js +2 -0
  42. package/bundle/dist/codex-protocol/FuzzyFileSearchSessionCompletedNotification.js +2 -0
  43. package/bundle/dist/codex-protocol/FuzzyFileSearchSessionUpdatedNotification.js +2 -0
  44. package/bundle/dist/codex-protocol/GetAuthStatusParams.js +2 -0
  45. package/bundle/dist/codex-protocol/GetAuthStatusResponse.js +2 -0
  46. package/bundle/dist/codex-protocol/GetConversationSummaryParams.js +2 -0
  47. package/bundle/dist/codex-protocol/GetConversationSummaryResponse.js +2 -0
  48. package/bundle/dist/codex-protocol/GitDiffToRemoteParams.js +2 -0
  49. package/bundle/dist/codex-protocol/GitDiffToRemoteResponse.js +2 -0
  50. package/bundle/dist/codex-protocol/GitSha.js +2 -0
  51. package/bundle/dist/codex-protocol/ImageDetail.js +2 -0
  52. package/bundle/dist/codex-protocol/InitializeCapabilities.js +2 -0
  53. package/bundle/dist/codex-protocol/InitializeParams.js +2 -0
  54. package/bundle/dist/codex-protocol/InitializeResponse.js +2 -0
  55. package/bundle/dist/codex-protocol/InputModality.js +2 -0
  56. package/bundle/dist/codex-protocol/InternalSessionSource.js +2 -0
  57. package/bundle/dist/codex-protocol/LocalShellAction.js +2 -0
  58. package/bundle/dist/codex-protocol/LocalShellExecAction.js +2 -0
  59. package/bundle/dist/codex-protocol/LocalShellStatus.js +2 -0
  60. package/bundle/dist/codex-protocol/MessagePhase.js +2 -0
  61. package/bundle/dist/codex-protocol/ModeKind.js +2 -0
  62. package/bundle/dist/codex-protocol/NetworkPolicyAmendment.js +2 -0
  63. package/bundle/dist/codex-protocol/NetworkPolicyRuleAction.js +2 -0
  64. package/bundle/dist/codex-protocol/ParsedCommand.js +2 -0
  65. package/bundle/dist/codex-protocol/Personality.js +2 -0
  66. package/bundle/dist/codex-protocol/PlanType.js +2 -0
  67. package/bundle/dist/codex-protocol/RealtimeConversationVersion.js +2 -0
  68. package/bundle/dist/codex-protocol/RealtimeOutputModality.js +2 -0
  69. package/bundle/dist/codex-protocol/RealtimeVoice.js +2 -0
  70. package/bundle/dist/codex-protocol/RealtimeVoicesList.js +2 -0
  71. package/bundle/dist/codex-protocol/ReasoningEffort.js +2 -0
  72. package/bundle/dist/codex-protocol/ReasoningItemContent.js +2 -0
  73. package/bundle/dist/codex-protocol/ReasoningItemReasoningSummary.js +2 -0
  74. package/bundle/dist/codex-protocol/ReasoningSummary.js +2 -0
  75. package/bundle/dist/codex-protocol/RequestId.js +2 -0
  76. package/bundle/dist/codex-protocol/Resource.js +2 -0
  77. package/bundle/dist/codex-protocol/ResourceContent.js +2 -0
  78. package/bundle/dist/codex-protocol/ResourceTemplate.js +2 -0
  79. package/bundle/dist/codex-protocol/ResponseItem.js +2 -0
  80. package/bundle/dist/codex-protocol/ReviewDecision.js +2 -0
  81. package/bundle/dist/codex-protocol/ServerNotification.js +2 -0
  82. package/bundle/dist/codex-protocol/ServerRequest.js +2 -0
  83. package/bundle/dist/codex-protocol/SessionSource.js +2 -0
  84. package/bundle/dist/codex-protocol/Settings.js +2 -0
  85. package/bundle/dist/codex-protocol/SubAgentSource.js +2 -0
  86. package/bundle/dist/codex-protocol/ThreadId.js +2 -0
  87. package/bundle/dist/codex-protocol/ThreadMemoryMode.js +2 -0
  88. package/bundle/dist/codex-protocol/Tool.js +2 -0
  89. package/bundle/dist/codex-protocol/Verbosity.js +2 -0
  90. package/bundle/dist/codex-protocol/WebSearchAction.js +2 -0
  91. package/bundle/dist/codex-protocol/WebSearchContextSize.js +2 -0
  92. package/bundle/dist/codex-protocol/WebSearchLocation.js +2 -0
  93. package/bundle/dist/codex-protocol/WebSearchMode.js +2 -0
  94. package/bundle/dist/codex-protocol/WebSearchToolConfig.js +2 -0
  95. package/bundle/dist/codex-protocol/index.js +3 -0
  96. package/bundle/dist/codex-protocol/serde_json/JsonValue.js +2 -0
  97. package/bundle/dist/codex-protocol/v2/Account.js +2 -0
  98. package/bundle/dist/codex-protocol/v2/AccountLoginCompletedNotification.js +2 -0
  99. package/bundle/dist/codex-protocol/v2/AccountRateLimitsUpdatedNotification.js +2 -0
  100. package/bundle/dist/codex-protocol/v2/AccountUpdatedNotification.js +2 -0
  101. package/bundle/dist/codex-protocol/v2/ActivePermissionProfile.js +2 -0
  102. package/bundle/dist/codex-protocol/v2/ActivePermissionProfileModification.js +2 -0
  103. package/bundle/dist/codex-protocol/v2/AddCreditsNudgeCreditType.js +2 -0
  104. package/bundle/dist/codex-protocol/v2/AddCreditsNudgeEmailStatus.js +2 -0
  105. package/bundle/dist/codex-protocol/v2/AdditionalFileSystemPermissions.js +2 -0
  106. package/bundle/dist/codex-protocol/v2/AdditionalNetworkPermissions.js +2 -0
  107. package/bundle/dist/codex-protocol/v2/AdditionalPermissionProfile.js +2 -0
  108. package/bundle/dist/codex-protocol/v2/AgentMessageDeltaNotification.js +2 -0
  109. package/bundle/dist/codex-protocol/v2/AnalyticsConfig.js +2 -0
  110. package/bundle/dist/codex-protocol/v2/AppBranding.js +2 -0
  111. package/bundle/dist/codex-protocol/v2/AppInfo.js +2 -0
  112. package/bundle/dist/codex-protocol/v2/AppListUpdatedNotification.js +2 -0
  113. package/bundle/dist/codex-protocol/v2/AppMetadata.js +2 -0
  114. package/bundle/dist/codex-protocol/v2/AppReview.js +2 -0
  115. package/bundle/dist/codex-protocol/v2/AppScreenshot.js +2 -0
  116. package/bundle/dist/codex-protocol/v2/AppSummary.js +2 -0
  117. package/bundle/dist/codex-protocol/v2/AppToolApproval.js +2 -0
  118. package/bundle/dist/codex-protocol/v2/AppToolsConfig.js +2 -0
  119. package/bundle/dist/codex-protocol/v2/ApprovalsReviewer.js +2 -0
  120. package/bundle/dist/codex-protocol/v2/AppsConfig.js +2 -0
  121. package/bundle/dist/codex-protocol/v2/AppsDefaultConfig.js +2 -0
  122. package/bundle/dist/codex-protocol/v2/AppsListParams.js +2 -0
  123. package/bundle/dist/codex-protocol/v2/AppsListResponse.js +2 -0
  124. package/bundle/dist/codex-protocol/v2/AskForApproval.js +2 -0
  125. package/bundle/dist/codex-protocol/v2/AutoReviewDecisionSource.js +2 -0
  126. package/bundle/dist/codex-protocol/v2/ByteRange.js +2 -0
  127. package/bundle/dist/codex-protocol/v2/CancelLoginAccountParams.js +2 -0
  128. package/bundle/dist/codex-protocol/v2/CancelLoginAccountResponse.js +2 -0
  129. package/bundle/dist/codex-protocol/v2/CancelLoginAccountStatus.js +2 -0
  130. package/bundle/dist/codex-protocol/v2/ChatgptAuthTokensRefreshParams.js +2 -0
  131. package/bundle/dist/codex-protocol/v2/ChatgptAuthTokensRefreshReason.js +2 -0
  132. package/bundle/dist/codex-protocol/v2/ChatgptAuthTokensRefreshResponse.js +2 -0
  133. package/bundle/dist/codex-protocol/v2/CodexErrorInfo.js +2 -0
  134. package/bundle/dist/codex-protocol/v2/CollabAgentState.js +2 -0
  135. package/bundle/dist/codex-protocol/v2/CollabAgentStatus.js +2 -0
  136. package/bundle/dist/codex-protocol/v2/CollabAgentTool.js +2 -0
  137. package/bundle/dist/codex-protocol/v2/CollabAgentToolCallStatus.js +2 -0
  138. package/bundle/dist/codex-protocol/v2/CollaborationModeMask.js +2 -0
  139. package/bundle/dist/codex-protocol/v2/CommandAction.js +2 -0
  140. package/bundle/dist/codex-protocol/v2/CommandExecOutputDeltaNotification.js +2 -0
  141. package/bundle/dist/codex-protocol/v2/CommandExecOutputStream.js +2 -0
  142. package/bundle/dist/codex-protocol/v2/CommandExecParams.js +2 -0
  143. package/bundle/dist/codex-protocol/v2/CommandExecResizeParams.js +2 -0
  144. package/bundle/dist/codex-protocol/v2/CommandExecResizeResponse.js +2 -0
  145. package/bundle/dist/codex-protocol/v2/CommandExecResponse.js +2 -0
  146. package/bundle/dist/codex-protocol/v2/CommandExecTerminalSize.js +2 -0
  147. package/bundle/dist/codex-protocol/v2/CommandExecTerminateParams.js +2 -0
  148. package/bundle/dist/codex-protocol/v2/CommandExecTerminateResponse.js +2 -0
  149. package/bundle/dist/codex-protocol/v2/CommandExecWriteParams.js +2 -0
  150. package/bundle/dist/codex-protocol/v2/CommandExecWriteResponse.js +2 -0
  151. package/bundle/dist/codex-protocol/v2/CommandExecutionApprovalDecision.js +2 -0
  152. package/bundle/dist/codex-protocol/v2/CommandExecutionOutputDeltaNotification.js +2 -0
  153. package/bundle/dist/codex-protocol/v2/CommandExecutionRequestApprovalParams.js +2 -0
  154. package/bundle/dist/codex-protocol/v2/CommandExecutionRequestApprovalResponse.js +2 -0
  155. package/bundle/dist/codex-protocol/v2/CommandExecutionSource.js +2 -0
  156. package/bundle/dist/codex-protocol/v2/CommandExecutionStatus.js +2 -0
  157. package/bundle/dist/codex-protocol/v2/CommandMigration.js +2 -0
  158. package/bundle/dist/codex-protocol/v2/Config.js +2 -0
  159. package/bundle/dist/codex-protocol/v2/ConfigBatchWriteParams.js +2 -0
  160. package/bundle/dist/codex-protocol/v2/ConfigEdit.js +2 -0
  161. package/bundle/dist/codex-protocol/v2/ConfigLayer.js +2 -0
  162. package/bundle/dist/codex-protocol/v2/ConfigLayerMetadata.js +2 -0
  163. package/bundle/dist/codex-protocol/v2/ConfigLayerSource.js +2 -0
  164. package/bundle/dist/codex-protocol/v2/ConfigReadParams.js +2 -0
  165. package/bundle/dist/codex-protocol/v2/ConfigReadResponse.js +2 -0
  166. package/bundle/dist/codex-protocol/v2/ConfigRequirements.js +2 -0
  167. package/bundle/dist/codex-protocol/v2/ConfigRequirementsReadResponse.js +2 -0
  168. package/bundle/dist/codex-protocol/v2/ConfigValueWriteParams.js +2 -0
  169. package/bundle/dist/codex-protocol/v2/ConfigWarningNotification.js +2 -0
  170. package/bundle/dist/codex-protocol/v2/ConfigWriteResponse.js +2 -0
  171. package/bundle/dist/codex-protocol/v2/ConfiguredHookHandler.js +2 -0
  172. package/bundle/dist/codex-protocol/v2/ConfiguredHookMatcherGroup.js +2 -0
  173. package/bundle/dist/codex-protocol/v2/ContextCompactedNotification.js +2 -0
  174. package/bundle/dist/codex-protocol/v2/CreditsSnapshot.js +2 -0
  175. package/bundle/dist/codex-protocol/v2/DeprecationNoticeNotification.js +2 -0
  176. package/bundle/dist/codex-protocol/v2/DynamicToolCallOutputContentItem.js +2 -0
  177. package/bundle/dist/codex-protocol/v2/DynamicToolCallParams.js +2 -0
  178. package/bundle/dist/codex-protocol/v2/DynamicToolCallResponse.js +2 -0
  179. package/bundle/dist/codex-protocol/v2/DynamicToolCallStatus.js +2 -0
  180. package/bundle/dist/codex-protocol/v2/DynamicToolSpec.js +2 -0
  181. package/bundle/dist/codex-protocol/v2/ErrorNotification.js +2 -0
  182. package/bundle/dist/codex-protocol/v2/ExecPolicyAmendment.js +2 -0
  183. package/bundle/dist/codex-protocol/v2/ExperimentalFeature.js +2 -0
  184. package/bundle/dist/codex-protocol/v2/ExperimentalFeatureEnablementSetParams.js +2 -0
  185. package/bundle/dist/codex-protocol/v2/ExperimentalFeatureEnablementSetResponse.js +2 -0
  186. package/bundle/dist/codex-protocol/v2/ExperimentalFeatureListParams.js +2 -0
  187. package/bundle/dist/codex-protocol/v2/ExperimentalFeatureListResponse.js +2 -0
  188. package/bundle/dist/codex-protocol/v2/ExperimentalFeatureStage.js +2 -0
  189. package/bundle/dist/codex-protocol/v2/ExternalAgentConfigDetectParams.js +2 -0
  190. package/bundle/dist/codex-protocol/v2/ExternalAgentConfigDetectResponse.js +2 -0
  191. package/bundle/dist/codex-protocol/v2/ExternalAgentConfigImportCompletedNotification.js +2 -0
  192. package/bundle/dist/codex-protocol/v2/ExternalAgentConfigImportParams.js +2 -0
  193. package/bundle/dist/codex-protocol/v2/ExternalAgentConfigImportResponse.js +2 -0
  194. package/bundle/dist/codex-protocol/v2/ExternalAgentConfigMigrationItem.js +2 -0
  195. package/bundle/dist/codex-protocol/v2/ExternalAgentConfigMigrationItemType.js +2 -0
  196. package/bundle/dist/codex-protocol/v2/FeedbackUploadParams.js +2 -0
  197. package/bundle/dist/codex-protocol/v2/FeedbackUploadResponse.js +2 -0
  198. package/bundle/dist/codex-protocol/v2/FileChangeApprovalDecision.js +2 -0
  199. package/bundle/dist/codex-protocol/v2/FileChangeOutputDeltaNotification.js +2 -0
  200. package/bundle/dist/codex-protocol/v2/FileChangePatchUpdatedNotification.js +2 -0
  201. package/bundle/dist/codex-protocol/v2/FileChangeRequestApprovalParams.js +2 -0
  202. package/bundle/dist/codex-protocol/v2/FileChangeRequestApprovalResponse.js +2 -0
  203. package/bundle/dist/codex-protocol/v2/FileSystemAccessMode.js +2 -0
  204. package/bundle/dist/codex-protocol/v2/FileSystemPath.js +2 -0
  205. package/bundle/dist/codex-protocol/v2/FileSystemSandboxEntry.js +2 -0
  206. package/bundle/dist/codex-protocol/v2/FileSystemSpecialPath.js +2 -0
  207. package/bundle/dist/codex-protocol/v2/FileUpdateChange.js +2 -0
  208. package/bundle/dist/codex-protocol/v2/FsChangedNotification.js +2 -0
  209. package/bundle/dist/codex-protocol/v2/FsCopyParams.js +2 -0
  210. package/bundle/dist/codex-protocol/v2/FsCopyResponse.js +2 -0
  211. package/bundle/dist/codex-protocol/v2/FsCreateDirectoryParams.js +2 -0
  212. package/bundle/dist/codex-protocol/v2/FsCreateDirectoryResponse.js +2 -0
  213. package/bundle/dist/codex-protocol/v2/FsGetMetadataParams.js +2 -0
  214. package/bundle/dist/codex-protocol/v2/FsGetMetadataResponse.js +2 -0
  215. package/bundle/dist/codex-protocol/v2/FsReadDirectoryEntry.js +2 -0
  216. package/bundle/dist/codex-protocol/v2/FsReadDirectoryParams.js +2 -0
  217. package/bundle/dist/codex-protocol/v2/FsReadDirectoryResponse.js +2 -0
  218. package/bundle/dist/codex-protocol/v2/FsReadFileParams.js +2 -0
  219. package/bundle/dist/codex-protocol/v2/FsReadFileResponse.js +2 -0
  220. package/bundle/dist/codex-protocol/v2/FsRemoveParams.js +2 -0
  221. package/bundle/dist/codex-protocol/v2/FsRemoveResponse.js +2 -0
  222. package/bundle/dist/codex-protocol/v2/FsUnwatchParams.js +2 -0
  223. package/bundle/dist/codex-protocol/v2/FsUnwatchResponse.js +2 -0
  224. package/bundle/dist/codex-protocol/v2/FsWatchParams.js +2 -0
  225. package/bundle/dist/codex-protocol/v2/FsWatchResponse.js +2 -0
  226. package/bundle/dist/codex-protocol/v2/FsWriteFileParams.js +2 -0
  227. package/bundle/dist/codex-protocol/v2/FsWriteFileResponse.js +2 -0
  228. package/bundle/dist/codex-protocol/v2/GetAccountParams.js +2 -0
  229. package/bundle/dist/codex-protocol/v2/GetAccountRateLimitsResponse.js +2 -0
  230. package/bundle/dist/codex-protocol/v2/GetAccountResponse.js +2 -0
  231. package/bundle/dist/codex-protocol/v2/GitInfo.js +2 -0
  232. package/bundle/dist/codex-protocol/v2/GrantedPermissionProfile.js +2 -0
  233. package/bundle/dist/codex-protocol/v2/GuardianApprovalReview.js +2 -0
  234. package/bundle/dist/codex-protocol/v2/GuardianApprovalReviewAction.js +2 -0
  235. package/bundle/dist/codex-protocol/v2/GuardianApprovalReviewStatus.js +2 -0
  236. package/bundle/dist/codex-protocol/v2/GuardianCommandSource.js +2 -0
  237. package/bundle/dist/codex-protocol/v2/GuardianRiskLevel.js +2 -0
  238. package/bundle/dist/codex-protocol/v2/GuardianUserAuthorization.js +2 -0
  239. package/bundle/dist/codex-protocol/v2/GuardianWarningNotification.js +2 -0
  240. package/bundle/dist/codex-protocol/v2/HookCompletedNotification.js +2 -0
  241. package/bundle/dist/codex-protocol/v2/HookErrorInfo.js +2 -0
  242. package/bundle/dist/codex-protocol/v2/HookEventName.js +2 -0
  243. package/bundle/dist/codex-protocol/v2/HookExecutionMode.js +2 -0
  244. package/bundle/dist/codex-protocol/v2/HookHandlerType.js +2 -0
  245. package/bundle/dist/codex-protocol/v2/HookMetadata.js +2 -0
  246. package/bundle/dist/codex-protocol/v2/HookMigration.js +2 -0
  247. package/bundle/dist/codex-protocol/v2/HookOutputEntry.js +2 -0
  248. package/bundle/dist/codex-protocol/v2/HookOutputEntryKind.js +2 -0
  249. package/bundle/dist/codex-protocol/v2/HookPromptFragment.js +2 -0
  250. package/bundle/dist/codex-protocol/v2/HookRunStatus.js +2 -0
  251. package/bundle/dist/codex-protocol/v2/HookRunSummary.js +2 -0
  252. package/bundle/dist/codex-protocol/v2/HookScope.js +2 -0
  253. package/bundle/dist/codex-protocol/v2/HookSource.js +2 -0
  254. package/bundle/dist/codex-protocol/v2/HookStartedNotification.js +2 -0
  255. package/bundle/dist/codex-protocol/v2/HookTrustStatus.js +2 -0
  256. package/bundle/dist/codex-protocol/v2/HooksListEntry.js +2 -0
  257. package/bundle/dist/codex-protocol/v2/HooksListParams.js +2 -0
  258. package/bundle/dist/codex-protocol/v2/HooksListResponse.js +2 -0
  259. package/bundle/dist/codex-protocol/v2/ItemCompletedNotification.js +2 -0
  260. package/bundle/dist/codex-protocol/v2/ItemGuardianApprovalReviewCompletedNotification.js +2 -0
  261. package/bundle/dist/codex-protocol/v2/ItemGuardianApprovalReviewStartedNotification.js +2 -0
  262. package/bundle/dist/codex-protocol/v2/ItemStartedNotification.js +2 -0
  263. package/bundle/dist/codex-protocol/v2/ListMcpServerStatusParams.js +2 -0
  264. package/bundle/dist/codex-protocol/v2/ListMcpServerStatusResponse.js +2 -0
  265. package/bundle/dist/codex-protocol/v2/LoginAccountParams.js +2 -0
  266. package/bundle/dist/codex-protocol/v2/LoginAccountResponse.js +2 -0
  267. package/bundle/dist/codex-protocol/v2/LogoutAccountResponse.js +2 -0
  268. package/bundle/dist/codex-protocol/v2/ManagedHooksRequirements.js +2 -0
  269. package/bundle/dist/codex-protocol/v2/MarketplaceAddParams.js +2 -0
  270. package/bundle/dist/codex-protocol/v2/MarketplaceAddResponse.js +2 -0
  271. package/bundle/dist/codex-protocol/v2/MarketplaceInterface.js +2 -0
  272. package/bundle/dist/codex-protocol/v2/MarketplaceLoadErrorInfo.js +2 -0
  273. package/bundle/dist/codex-protocol/v2/MarketplaceRemoveParams.js +2 -0
  274. package/bundle/dist/codex-protocol/v2/MarketplaceRemoveResponse.js +2 -0
  275. package/bundle/dist/codex-protocol/v2/MarketplaceUpgradeErrorInfo.js +2 -0
  276. package/bundle/dist/codex-protocol/v2/MarketplaceUpgradeParams.js +2 -0
  277. package/bundle/dist/codex-protocol/v2/MarketplaceUpgradeResponse.js +2 -0
  278. package/bundle/dist/codex-protocol/v2/McpAuthStatus.js +2 -0
  279. package/bundle/dist/codex-protocol/v2/McpElicitationArrayType.js +2 -0
  280. package/bundle/dist/codex-protocol/v2/McpElicitationBooleanSchema.js +2 -0
  281. package/bundle/dist/codex-protocol/v2/McpElicitationBooleanType.js +2 -0
  282. package/bundle/dist/codex-protocol/v2/McpElicitationConstOption.js +2 -0
  283. package/bundle/dist/codex-protocol/v2/McpElicitationEnumSchema.js +2 -0
  284. package/bundle/dist/codex-protocol/v2/McpElicitationLegacyTitledEnumSchema.js +2 -0
  285. package/bundle/dist/codex-protocol/v2/McpElicitationMultiSelectEnumSchema.js +2 -0
  286. package/bundle/dist/codex-protocol/v2/McpElicitationNumberSchema.js +2 -0
  287. package/bundle/dist/codex-protocol/v2/McpElicitationNumberType.js +2 -0
  288. package/bundle/dist/codex-protocol/v2/McpElicitationObjectType.js +2 -0
  289. package/bundle/dist/codex-protocol/v2/McpElicitationPrimitiveSchema.js +2 -0
  290. package/bundle/dist/codex-protocol/v2/McpElicitationSchema.js +2 -0
  291. package/bundle/dist/codex-protocol/v2/McpElicitationSingleSelectEnumSchema.js +2 -0
  292. package/bundle/dist/codex-protocol/v2/McpElicitationStringFormat.js +2 -0
  293. package/bundle/dist/codex-protocol/v2/McpElicitationStringSchema.js +2 -0
  294. package/bundle/dist/codex-protocol/v2/McpElicitationStringType.js +2 -0
  295. package/bundle/dist/codex-protocol/v2/McpElicitationTitledEnumItems.js +2 -0
  296. package/bundle/dist/codex-protocol/v2/McpElicitationTitledMultiSelectEnumSchema.js +2 -0
  297. package/bundle/dist/codex-protocol/v2/McpElicitationTitledSingleSelectEnumSchema.js +2 -0
  298. package/bundle/dist/codex-protocol/v2/McpElicitationUntitledEnumItems.js +2 -0
  299. package/bundle/dist/codex-protocol/v2/McpElicitationUntitledMultiSelectEnumSchema.js +2 -0
  300. package/bundle/dist/codex-protocol/v2/McpElicitationUntitledSingleSelectEnumSchema.js +2 -0
  301. package/bundle/dist/codex-protocol/v2/McpResourceReadParams.js +2 -0
  302. package/bundle/dist/codex-protocol/v2/McpResourceReadResponse.js +2 -0
  303. package/bundle/dist/codex-protocol/v2/McpServerElicitationAction.js +2 -0
  304. package/bundle/dist/codex-protocol/v2/McpServerElicitationRequestParams.js +2 -0
  305. package/bundle/dist/codex-protocol/v2/McpServerElicitationRequestResponse.js +2 -0
  306. package/bundle/dist/codex-protocol/v2/McpServerMigration.js +2 -0
  307. package/bundle/dist/codex-protocol/v2/McpServerOauthLoginCompletedNotification.js +2 -0
  308. package/bundle/dist/codex-protocol/v2/McpServerOauthLoginParams.js +2 -0
  309. package/bundle/dist/codex-protocol/v2/McpServerOauthLoginResponse.js +2 -0
  310. package/bundle/dist/codex-protocol/v2/McpServerRefreshResponse.js +2 -0
  311. package/bundle/dist/codex-protocol/v2/McpServerStartupState.js +2 -0
  312. package/bundle/dist/codex-protocol/v2/McpServerStatus.js +2 -0
  313. package/bundle/dist/codex-protocol/v2/McpServerStatusDetail.js +2 -0
  314. package/bundle/dist/codex-protocol/v2/McpServerStatusUpdatedNotification.js +2 -0
  315. package/bundle/dist/codex-protocol/v2/McpServerToolCallParams.js +2 -0
  316. package/bundle/dist/codex-protocol/v2/McpServerToolCallResponse.js +2 -0
  317. package/bundle/dist/codex-protocol/v2/McpToolCallError.js +2 -0
  318. package/bundle/dist/codex-protocol/v2/McpToolCallProgressNotification.js +2 -0
  319. package/bundle/dist/codex-protocol/v2/McpToolCallResult.js +2 -0
  320. package/bundle/dist/codex-protocol/v2/McpToolCallStatus.js +2 -0
  321. package/bundle/dist/codex-protocol/v2/MemoryCitation.js +2 -0
  322. package/bundle/dist/codex-protocol/v2/MemoryCitationEntry.js +2 -0
  323. package/bundle/dist/codex-protocol/v2/MergeStrategy.js +2 -0
  324. package/bundle/dist/codex-protocol/v2/MigrationDetails.js +2 -0
  325. package/bundle/dist/codex-protocol/v2/Model.js +2 -0
  326. package/bundle/dist/codex-protocol/v2/ModelAvailabilityNux.js +2 -0
  327. package/bundle/dist/codex-protocol/v2/ModelListParams.js +2 -0
  328. package/bundle/dist/codex-protocol/v2/ModelListResponse.js +2 -0
  329. package/bundle/dist/codex-protocol/v2/ModelProviderCapabilitiesReadParams.js +2 -0
  330. package/bundle/dist/codex-protocol/v2/ModelProviderCapabilitiesReadResponse.js +2 -0
  331. package/bundle/dist/codex-protocol/v2/ModelRerouteReason.js +2 -0
  332. package/bundle/dist/codex-protocol/v2/ModelReroutedNotification.js +2 -0
  333. package/bundle/dist/codex-protocol/v2/ModelServiceTier.js +2 -0
  334. package/bundle/dist/codex-protocol/v2/ModelUpgradeInfo.js +2 -0
  335. package/bundle/dist/codex-protocol/v2/ModelVerification.js +2 -0
  336. package/bundle/dist/codex-protocol/v2/ModelVerificationNotification.js +2 -0
  337. package/bundle/dist/codex-protocol/v2/NetworkAccess.js +2 -0
  338. package/bundle/dist/codex-protocol/v2/NetworkApprovalContext.js +2 -0
  339. package/bundle/dist/codex-protocol/v2/NetworkApprovalProtocol.js +2 -0
  340. package/bundle/dist/codex-protocol/v2/NetworkDomainPermission.js +2 -0
  341. package/bundle/dist/codex-protocol/v2/NetworkPolicyAmendment.js +2 -0
  342. package/bundle/dist/codex-protocol/v2/NetworkPolicyRuleAction.js +2 -0
  343. package/bundle/dist/codex-protocol/v2/NetworkRequirements.js +2 -0
  344. package/bundle/dist/codex-protocol/v2/NetworkUnixSocketPermission.js +2 -0
  345. package/bundle/dist/codex-protocol/v2/NonSteerableTurnKind.js +2 -0
  346. package/bundle/dist/codex-protocol/v2/OverriddenMetadata.js +2 -0
  347. package/bundle/dist/codex-protocol/v2/PatchApplyStatus.js +2 -0
  348. package/bundle/dist/codex-protocol/v2/PatchChangeKind.js +2 -0
  349. package/bundle/dist/codex-protocol/v2/PermissionGrantScope.js +2 -0
  350. package/bundle/dist/codex-protocol/v2/PermissionProfile.js +2 -0
  351. package/bundle/dist/codex-protocol/v2/PermissionProfileFileSystemPermissions.js +2 -0
  352. package/bundle/dist/codex-protocol/v2/PermissionProfileModificationParams.js +2 -0
  353. package/bundle/dist/codex-protocol/v2/PermissionProfileNetworkPermissions.js +2 -0
  354. package/bundle/dist/codex-protocol/v2/PermissionProfileSelectionParams.js +2 -0
  355. package/bundle/dist/codex-protocol/v2/PermissionsRequestApprovalParams.js +2 -0
  356. package/bundle/dist/codex-protocol/v2/PermissionsRequestApprovalResponse.js +2 -0
  357. package/bundle/dist/codex-protocol/v2/PlanDeltaNotification.js +2 -0
  358. package/bundle/dist/codex-protocol/v2/PluginAuthPolicy.js +2 -0
  359. package/bundle/dist/codex-protocol/v2/PluginAvailability.js +2 -0
  360. package/bundle/dist/codex-protocol/v2/PluginDetail.js +2 -0
  361. package/bundle/dist/codex-protocol/v2/PluginHookSummary.js +2 -0
  362. package/bundle/dist/codex-protocol/v2/PluginInstallParams.js +2 -0
  363. package/bundle/dist/codex-protocol/v2/PluginInstallPolicy.js +2 -0
  364. package/bundle/dist/codex-protocol/v2/PluginInstallResponse.js +2 -0
  365. package/bundle/dist/codex-protocol/v2/PluginInterface.js +2 -0
  366. package/bundle/dist/codex-protocol/v2/PluginListMarketplaceKind.js +2 -0
  367. package/bundle/dist/codex-protocol/v2/PluginListParams.js +2 -0
  368. package/bundle/dist/codex-protocol/v2/PluginListResponse.js +2 -0
  369. package/bundle/dist/codex-protocol/v2/PluginMarketplaceEntry.js +2 -0
  370. package/bundle/dist/codex-protocol/v2/PluginReadParams.js +2 -0
  371. package/bundle/dist/codex-protocol/v2/PluginReadResponse.js +2 -0
  372. package/bundle/dist/codex-protocol/v2/PluginShareContext.js +2 -0
  373. package/bundle/dist/codex-protocol/v2/PluginShareDeleteParams.js +2 -0
  374. package/bundle/dist/codex-protocol/v2/PluginShareDeleteResponse.js +2 -0
  375. package/bundle/dist/codex-protocol/v2/PluginShareDiscoverability.js +2 -0
  376. package/bundle/dist/codex-protocol/v2/PluginShareListItem.js +2 -0
  377. package/bundle/dist/codex-protocol/v2/PluginShareListParams.js +2 -0
  378. package/bundle/dist/codex-protocol/v2/PluginShareListResponse.js +2 -0
  379. package/bundle/dist/codex-protocol/v2/PluginSharePrincipal.js +2 -0
  380. package/bundle/dist/codex-protocol/v2/PluginSharePrincipalType.js +2 -0
  381. package/bundle/dist/codex-protocol/v2/PluginShareSaveParams.js +2 -0
  382. package/bundle/dist/codex-protocol/v2/PluginShareSaveResponse.js +2 -0
  383. package/bundle/dist/codex-protocol/v2/PluginShareTarget.js +2 -0
  384. package/bundle/dist/codex-protocol/v2/PluginShareUpdateDiscoverability.js +2 -0
  385. package/bundle/dist/codex-protocol/v2/PluginShareUpdateTargetsParams.js +2 -0
  386. package/bundle/dist/codex-protocol/v2/PluginShareUpdateTargetsResponse.js +2 -0
  387. package/bundle/dist/codex-protocol/v2/PluginSkillReadParams.js +2 -0
  388. package/bundle/dist/codex-protocol/v2/PluginSkillReadResponse.js +2 -0
  389. package/bundle/dist/codex-protocol/v2/PluginSource.js +2 -0
  390. package/bundle/dist/codex-protocol/v2/PluginSummary.js +2 -0
  391. package/bundle/dist/codex-protocol/v2/PluginUninstallParams.js +2 -0
  392. package/bundle/dist/codex-protocol/v2/PluginUninstallResponse.js +2 -0
  393. package/bundle/dist/codex-protocol/v2/PluginsMigration.js +2 -0
  394. package/bundle/dist/codex-protocol/v2/ProcessExitedNotification.js +2 -0
  395. package/bundle/dist/codex-protocol/v2/ProcessOutputDeltaNotification.js +2 -0
  396. package/bundle/dist/codex-protocol/v2/ProcessOutputStream.js +2 -0
  397. package/bundle/dist/codex-protocol/v2/ProcessTerminalSize.js +2 -0
  398. package/bundle/dist/codex-protocol/v2/ProfileV2.js +2 -0
  399. package/bundle/dist/codex-protocol/v2/RateLimitReachedType.js +2 -0
  400. package/bundle/dist/codex-protocol/v2/RateLimitSnapshot.js +2 -0
  401. package/bundle/dist/codex-protocol/v2/RateLimitWindow.js +2 -0
  402. package/bundle/dist/codex-protocol/v2/RawResponseItemCompletedNotification.js +2 -0
  403. package/bundle/dist/codex-protocol/v2/ReasoningEffortOption.js +2 -0
  404. package/bundle/dist/codex-protocol/v2/ReasoningSummaryPartAddedNotification.js +2 -0
  405. package/bundle/dist/codex-protocol/v2/ReasoningSummaryTextDeltaNotification.js +2 -0
  406. package/bundle/dist/codex-protocol/v2/ReasoningTextDeltaNotification.js +2 -0
  407. package/bundle/dist/codex-protocol/v2/RemoteControlConnectionStatus.js +2 -0
  408. package/bundle/dist/codex-protocol/v2/RemoteControlStatusChangedNotification.js +2 -0
  409. package/bundle/dist/codex-protocol/v2/RequestPermissionProfile.js +2 -0
  410. package/bundle/dist/codex-protocol/v2/ResidencyRequirement.js +2 -0
  411. package/bundle/dist/codex-protocol/v2/ReviewDelivery.js +2 -0
  412. package/bundle/dist/codex-protocol/v2/ReviewStartParams.js +2 -0
  413. package/bundle/dist/codex-protocol/v2/ReviewStartResponse.js +2 -0
  414. package/bundle/dist/codex-protocol/v2/ReviewTarget.js +2 -0
  415. package/bundle/dist/codex-protocol/v2/SandboxMode.js +2 -0
  416. package/bundle/dist/codex-protocol/v2/SandboxPolicy.js +2 -0
  417. package/bundle/dist/codex-protocol/v2/SandboxWorkspaceWrite.js +2 -0
  418. package/bundle/dist/codex-protocol/v2/SendAddCreditsNudgeEmailParams.js +2 -0
  419. package/bundle/dist/codex-protocol/v2/SendAddCreditsNudgeEmailResponse.js +2 -0
  420. package/bundle/dist/codex-protocol/v2/ServerRequestResolvedNotification.js +2 -0
  421. package/bundle/dist/codex-protocol/v2/SessionMigration.js +2 -0
  422. package/bundle/dist/codex-protocol/v2/SessionSource.js +2 -0
  423. package/bundle/dist/codex-protocol/v2/SkillDependencies.js +2 -0
  424. package/bundle/dist/codex-protocol/v2/SkillErrorInfo.js +2 -0
  425. package/bundle/dist/codex-protocol/v2/SkillInterface.js +2 -0
  426. package/bundle/dist/codex-protocol/v2/SkillMetadata.js +2 -0
  427. package/bundle/dist/codex-protocol/v2/SkillScope.js +2 -0
  428. package/bundle/dist/codex-protocol/v2/SkillSummary.js +2 -0
  429. package/bundle/dist/codex-protocol/v2/SkillToolDependency.js +2 -0
  430. package/bundle/dist/codex-protocol/v2/SkillsChangedNotification.js +2 -0
  431. package/bundle/dist/codex-protocol/v2/SkillsConfigWriteParams.js +2 -0
  432. package/bundle/dist/codex-protocol/v2/SkillsConfigWriteResponse.js +2 -0
  433. package/bundle/dist/codex-protocol/v2/SkillsListEntry.js +2 -0
  434. package/bundle/dist/codex-protocol/v2/SkillsListParams.js +2 -0
  435. package/bundle/dist/codex-protocol/v2/SkillsListResponse.js +2 -0
  436. package/bundle/dist/codex-protocol/v2/SortDirection.js +2 -0
  437. package/bundle/dist/codex-protocol/v2/SubagentMigration.js +2 -0
  438. package/bundle/dist/codex-protocol/v2/TerminalInteractionNotification.js +2 -0
  439. package/bundle/dist/codex-protocol/v2/TextElement.js +2 -0
  440. package/bundle/dist/codex-protocol/v2/TextPosition.js +2 -0
  441. package/bundle/dist/codex-protocol/v2/TextRange.js +2 -0
  442. package/bundle/dist/codex-protocol/v2/Thread.js +2 -0
  443. package/bundle/dist/codex-protocol/v2/ThreadActiveFlag.js +2 -0
  444. package/bundle/dist/codex-protocol/v2/ThreadApproveGuardianDeniedActionParams.js +2 -0
  445. package/bundle/dist/codex-protocol/v2/ThreadApproveGuardianDeniedActionResponse.js +2 -0
  446. package/bundle/dist/codex-protocol/v2/ThreadArchiveParams.js +2 -0
  447. package/bundle/dist/codex-protocol/v2/ThreadArchiveResponse.js +2 -0
  448. package/bundle/dist/codex-protocol/v2/ThreadArchivedNotification.js +2 -0
  449. package/bundle/dist/codex-protocol/v2/ThreadClosedNotification.js +2 -0
  450. package/bundle/dist/codex-protocol/v2/ThreadCompactStartParams.js +2 -0
  451. package/bundle/dist/codex-protocol/v2/ThreadCompactStartResponse.js +2 -0
  452. package/bundle/dist/codex-protocol/v2/ThreadForkParams.js +2 -0
  453. package/bundle/dist/codex-protocol/v2/ThreadForkResponse.js +2 -0
  454. package/bundle/dist/codex-protocol/v2/ThreadGoal.js +2 -0
  455. package/bundle/dist/codex-protocol/v2/ThreadGoalClearedNotification.js +2 -0
  456. package/bundle/dist/codex-protocol/v2/ThreadGoalStatus.js +2 -0
  457. package/bundle/dist/codex-protocol/v2/ThreadGoalUpdatedNotification.js +2 -0
  458. package/bundle/dist/codex-protocol/v2/ThreadInjectItemsParams.js +2 -0
  459. package/bundle/dist/codex-protocol/v2/ThreadInjectItemsResponse.js +2 -0
  460. package/bundle/dist/codex-protocol/v2/ThreadItem.js +2 -0
  461. package/bundle/dist/codex-protocol/v2/ThreadListParams.js +2 -0
  462. package/bundle/dist/codex-protocol/v2/ThreadListResponse.js +2 -0
  463. package/bundle/dist/codex-protocol/v2/ThreadLoadedListParams.js +2 -0
  464. package/bundle/dist/codex-protocol/v2/ThreadLoadedListResponse.js +2 -0
  465. package/bundle/dist/codex-protocol/v2/ThreadMetadataGitInfoUpdateParams.js +2 -0
  466. package/bundle/dist/codex-protocol/v2/ThreadMetadataUpdateParams.js +2 -0
  467. package/bundle/dist/codex-protocol/v2/ThreadMetadataUpdateResponse.js +2 -0
  468. package/bundle/dist/codex-protocol/v2/ThreadNameUpdatedNotification.js +2 -0
  469. package/bundle/dist/codex-protocol/v2/ThreadReadParams.js +2 -0
  470. package/bundle/dist/codex-protocol/v2/ThreadReadResponse.js +2 -0
  471. package/bundle/dist/codex-protocol/v2/ThreadRealtimeAudioChunk.js +2 -0
  472. package/bundle/dist/codex-protocol/v2/ThreadRealtimeClosedNotification.js +2 -0
  473. package/bundle/dist/codex-protocol/v2/ThreadRealtimeErrorNotification.js +2 -0
  474. package/bundle/dist/codex-protocol/v2/ThreadRealtimeItemAddedNotification.js +2 -0
  475. package/bundle/dist/codex-protocol/v2/ThreadRealtimeOutputAudioDeltaNotification.js +2 -0
  476. package/bundle/dist/codex-protocol/v2/ThreadRealtimeSdpNotification.js +2 -0
  477. package/bundle/dist/codex-protocol/v2/ThreadRealtimeStartTransport.js +2 -0
  478. package/bundle/dist/codex-protocol/v2/ThreadRealtimeStartedNotification.js +2 -0
  479. package/bundle/dist/codex-protocol/v2/ThreadRealtimeTranscriptDeltaNotification.js +2 -0
  480. package/bundle/dist/codex-protocol/v2/ThreadRealtimeTranscriptDoneNotification.js +2 -0
  481. package/bundle/dist/codex-protocol/v2/ThreadResumeParams.js +2 -0
  482. package/bundle/dist/codex-protocol/v2/ThreadResumeResponse.js +2 -0
  483. package/bundle/dist/codex-protocol/v2/ThreadRollbackParams.js +2 -0
  484. package/bundle/dist/codex-protocol/v2/ThreadRollbackResponse.js +2 -0
  485. package/bundle/dist/codex-protocol/v2/ThreadSetNameParams.js +2 -0
  486. package/bundle/dist/codex-protocol/v2/ThreadSetNameResponse.js +2 -0
  487. package/bundle/dist/codex-protocol/v2/ThreadShellCommandParams.js +2 -0
  488. package/bundle/dist/codex-protocol/v2/ThreadShellCommandResponse.js +2 -0
  489. package/bundle/dist/codex-protocol/v2/ThreadSortKey.js +2 -0
  490. package/bundle/dist/codex-protocol/v2/ThreadSource.js +2 -0
  491. package/bundle/dist/codex-protocol/v2/ThreadSourceKind.js +2 -0
  492. package/bundle/dist/codex-protocol/v2/ThreadStartParams.js +2 -0
  493. package/bundle/dist/codex-protocol/v2/ThreadStartResponse.js +2 -0
  494. package/bundle/dist/codex-protocol/v2/ThreadStartSource.js +2 -0
  495. package/bundle/dist/codex-protocol/v2/ThreadStartedNotification.js +2 -0
  496. package/bundle/dist/codex-protocol/v2/ThreadStatus.js +2 -0
  497. package/bundle/dist/codex-protocol/v2/ThreadStatusChangedNotification.js +2 -0
  498. package/bundle/dist/codex-protocol/v2/ThreadTokenUsage.js +2 -0
  499. package/bundle/dist/codex-protocol/v2/ThreadTokenUsageUpdatedNotification.js +2 -0
  500. package/bundle/dist/codex-protocol/v2/ThreadUnarchiveParams.js +2 -0
  501. package/bundle/dist/codex-protocol/v2/ThreadUnarchiveResponse.js +2 -0
  502. package/bundle/dist/codex-protocol/v2/ThreadUnarchivedNotification.js +2 -0
  503. package/bundle/dist/codex-protocol/v2/ThreadUnsubscribeParams.js +2 -0
  504. package/bundle/dist/codex-protocol/v2/ThreadUnsubscribeResponse.js +2 -0
  505. package/bundle/dist/codex-protocol/v2/ThreadUnsubscribeStatus.js +2 -0
  506. package/bundle/dist/codex-protocol/v2/TokenUsageBreakdown.js +2 -0
  507. package/bundle/dist/codex-protocol/v2/ToolRequestUserInputAnswer.js +2 -0
  508. package/bundle/dist/codex-protocol/v2/ToolRequestUserInputOption.js +2 -0
  509. package/bundle/dist/codex-protocol/v2/ToolRequestUserInputParams.js +2 -0
  510. package/bundle/dist/codex-protocol/v2/ToolRequestUserInputQuestion.js +2 -0
  511. package/bundle/dist/codex-protocol/v2/ToolRequestUserInputResponse.js +2 -0
  512. package/bundle/dist/codex-protocol/v2/ToolsV2.js +2 -0
  513. package/bundle/dist/codex-protocol/v2/Turn.js +2 -0
  514. package/bundle/dist/codex-protocol/v2/TurnCompletedNotification.js +2 -0
  515. package/bundle/dist/codex-protocol/v2/TurnDiffUpdatedNotification.js +2 -0
  516. package/bundle/dist/codex-protocol/v2/TurnEnvironmentParams.js +2 -0
  517. package/bundle/dist/codex-protocol/v2/TurnError.js +2 -0
  518. package/bundle/dist/codex-protocol/v2/TurnInterruptParams.js +2 -0
  519. package/bundle/dist/codex-protocol/v2/TurnInterruptResponse.js +2 -0
  520. package/bundle/dist/codex-protocol/v2/TurnItemsView.js +2 -0
  521. package/bundle/dist/codex-protocol/v2/TurnPlanStep.js +2 -0
  522. package/bundle/dist/codex-protocol/v2/TurnPlanStepStatus.js +2 -0
  523. package/bundle/dist/codex-protocol/v2/TurnPlanUpdatedNotification.js +2 -0
  524. package/bundle/dist/codex-protocol/v2/TurnStartParams.js +2 -0
  525. package/bundle/dist/codex-protocol/v2/TurnStartResponse.js +2 -0
  526. package/bundle/dist/codex-protocol/v2/TurnStartedNotification.js +2 -0
  527. package/bundle/dist/codex-protocol/v2/TurnStatus.js +2 -0
  528. package/bundle/dist/codex-protocol/v2/TurnSteerParams.js +2 -0
  529. package/bundle/dist/codex-protocol/v2/TurnSteerResponse.js +2 -0
  530. package/bundle/dist/codex-protocol/v2/UserInput.js +2 -0
  531. package/bundle/dist/codex-protocol/v2/WarningNotification.js +2 -0
  532. package/bundle/dist/codex-protocol/v2/WebSearchAction.js +2 -0
  533. package/bundle/dist/codex-protocol/v2/WindowsSandboxReadiness.js +2 -0
  534. package/bundle/dist/codex-protocol/v2/WindowsSandboxReadinessResponse.js +2 -0
  535. package/bundle/dist/codex-protocol/v2/WindowsSandboxSetupCompletedNotification.js +2 -0
  536. package/bundle/dist/codex-protocol/v2/WindowsSandboxSetupMode.js +2 -0
  537. package/bundle/dist/codex-protocol/v2/WindowsSandboxSetupStartParams.js +2 -0
  538. package/bundle/dist/codex-protocol/v2/WindowsSandboxSetupStartResponse.js +2 -0
  539. package/bundle/dist/codex-protocol/v2/WindowsWorldWritableWarningNotification.js +2 -0
  540. package/bundle/dist/codex-protocol/v2/WriteStatus.js +2 -0
  541. package/bundle/dist/codex-protocol/v2/index.js +7 -0
  542. package/bundle/dist/i18n/sd.generated.js +37 -5
  543. package/bundle/dist/migrations/20260518145411_alter_tokens_add2_drop4_alter1.js +22 -0
  544. package/bundle/dist/migrations/20260520112853_alter_request_logs_add3_alter1.js +18 -0
  545. package/bundle/dist/migrations/20260520124755_alter_request_logs_drop1_alter1.js +16 -0
  546. package/bundle/dist/migrations/20260520130420_create__request_log_steps.js +34 -0
  547. package/bundle/dist/migrations/20260520134908_alter_request_logs_add2_alter8.js +31 -0
  548. package/bundle/dist/migrations/20260520134909_alter_request_log_steps_add1_alter3.js +20 -0
  549. package/bundle/dist/migrations/20260520141449_alter_request_logs_add1_alter1.js +16 -0
  550. package/bundle/dist/migrations/20260521134025_alter_request_log_steps_alter1.js +14 -0
  551. package/bundle/dist/migrations/20260521134026_alter_request_log_steps_foreigns.js +16 -0
  552. package/bundle/dist/migrations/20260522181721_alter_request_log_steps_add2_alter1.js +17 -0
  553. package/bundle/dist/sonamu.config.js +44 -42
  554. package/bundle/dist/utils/providers/common/credentials.js +22 -0
  555. package/bundle/dist/utils/providers/common/model-cost.js +117 -0
  556. package/bundle/dist/utils/providers/common/provider-dispatcher.js +2 -0
  557. package/bundle/dist/utils/providers/common/strictifier.js +81 -0
  558. package/bundle/dist/utils/providers/common/token-picker.js +15 -0
  559. package/bundle/dist/utils/providers/openai/codex-rpc.js +151 -0
  560. package/bundle/dist/utils/providers/openai/codex-worker.js +371 -0
  561. package/bundle/dist/utils/providers/openai/openai-constants.js +10 -0
  562. package/bundle/dist/utils/providers/openai/openai-dispatcher.js +325 -0
  563. package/bundle/dist/utils/providers/openai/openai-refresh.js +93 -0
  564. package/bundle/src/application/qgrid/oauth.ts +8 -4
  565. package/bundle/src/application/qgrid/qgrid-run-lifecycle.ts +185 -0
  566. package/bundle/src/application/qgrid/qgrid.dispatcher.ts +165 -23
  567. package/bundle/src/application/qgrid/qgrid.frame.ts +400 -81
  568. package/bundle/src/application/qgrid/qgrid.types.ts +150 -20
  569. package/bundle/src/application/qgrid/token-subscriber.ts +27 -5
  570. package/bundle/src/application/qgrid/token-trigger-setup.ts +2 -3
  571. package/bundle/src/application/qgrid/tool-emulation.ts +95 -0
  572. package/bundle/src/application/queries.generated.ts +31 -3
  573. package/bundle/src/application/request-log/request-log.entity.json +49 -41
  574. package/bundle/src/application/request-log/request-log.model.ts +180 -0
  575. package/bundle/src/application/request-log/request-log.types.ts +15 -0
  576. package/bundle/src/application/request-log-step/request-log-step.entity.json +137 -0
  577. package/bundle/src/application/request-log-step/request-log-step.model.ts +161 -0
  578. package/bundle/src/application/request-log-step/request-log-step.types.ts +30 -0
  579. package/bundle/src/application/sonamu.generated.http +245 -24
  580. package/bundle/src/application/sonamu.generated.sso.ts +72 -5
  581. package/bundle/src/application/sonamu.generated.ts +199 -22
  582. package/bundle/src/application/token/token.entity.json +7 -19
  583. package/bundle/src/application/token/token.model.ts +13 -13
  584. package/bundle/src/application/token/token.types.ts +25 -12
  585. package/bundle/src/codex-protocol/AbsolutePathBuf.ts +14 -0
  586. package/bundle/src/codex-protocol/AgentPath.ts +5 -0
  587. package/bundle/src/codex-protocol/ApplyPatchApprovalParams.ts +24 -0
  588. package/bundle/src/codex-protocol/ApplyPatchApprovalResponse.ts +6 -0
  589. package/bundle/src/codex-protocol/AuthMode.ts +8 -0
  590. package/bundle/src/codex-protocol/ClientInfo.ts +5 -0
  591. package/bundle/src/codex-protocol/ClientNotification.ts +5 -0
  592. package/bundle/src/codex-protocol/ClientRequest.ts +176 -0
  593. package/bundle/src/codex-protocol/CollaborationMode.ts +10 -0
  594. package/bundle/src/codex-protocol/ContentItem.ts +9 -0
  595. package/bundle/src/codex-protocol/ConversationGitInfo.ts +9 -0
  596. package/bundle/src/codex-protocol/ConversationSummary.ts +19 -0
  597. package/bundle/src/codex-protocol/ExecCommandApprovalParams.ts +22 -0
  598. package/bundle/src/codex-protocol/ExecCommandApprovalResponse.ts +6 -0
  599. package/bundle/src/codex-protocol/ExecPolicyAmendment.ts +12 -0
  600. package/bundle/src/codex-protocol/FileChange.ts +8 -0
  601. package/bundle/src/codex-protocol/ForcedLoginMethod.ts +5 -0
  602. package/bundle/src/codex-protocol/FunctionCallOutputBody.ts +6 -0
  603. package/bundle/src/codex-protocol/FunctionCallOutputContentItem.ts +12 -0
  604. package/bundle/src/codex-protocol/FuzzyFileSearchMatchType.ts +5 -0
  605. package/bundle/src/codex-protocol/FuzzyFileSearchParams.ts +9 -0
  606. package/bundle/src/codex-protocol/FuzzyFileSearchResponse.ts +6 -0
  607. package/bundle/src/codex-protocol/FuzzyFileSearchResult.ts +16 -0
  608. package/bundle/src/codex-protocol/FuzzyFileSearchSessionCompletedNotification.ts +5 -0
  609. package/bundle/src/codex-protocol/FuzzyFileSearchSessionUpdatedNotification.ts +10 -0
  610. package/bundle/src/codex-protocol/GetAuthStatusParams.ts +5 -0
  611. package/bundle/src/codex-protocol/GetAuthStatusResponse.ts +10 -0
  612. package/bundle/src/codex-protocol/GetConversationSummaryParams.ts +6 -0
  613. package/bundle/src/codex-protocol/GetConversationSummaryResponse.ts +6 -0
  614. package/bundle/src/codex-protocol/GitDiffToRemoteParams.ts +5 -0
  615. package/bundle/src/codex-protocol/GitDiffToRemoteResponse.ts +6 -0
  616. package/bundle/src/codex-protocol/GitSha.ts +5 -0
  617. package/bundle/src/codex-protocol/ImageDetail.ts +5 -0
  618. package/bundle/src/codex-protocol/InitializeCapabilities.ts +18 -0
  619. package/bundle/src/codex-protocol/InitializeParams.ts +10 -0
  620. package/bundle/src/codex-protocol/InitializeResponse.ts +22 -0
  621. package/bundle/src/codex-protocol/InputModality.ts +8 -0
  622. package/bundle/src/codex-protocol/InternalSessionSource.ts +5 -0
  623. package/bundle/src/codex-protocol/LocalShellAction.ts +6 -0
  624. package/bundle/src/codex-protocol/LocalShellExecAction.ts +11 -0
  625. package/bundle/src/codex-protocol/LocalShellStatus.ts +5 -0
  626. package/bundle/src/codex-protocol/MessagePhase.ts +11 -0
  627. package/bundle/src/codex-protocol/ModeKind.ts +8 -0
  628. package/bundle/src/codex-protocol/NetworkPolicyAmendment.ts +6 -0
  629. package/bundle/src/codex-protocol/NetworkPolicyRuleAction.ts +5 -0
  630. package/bundle/src/codex-protocol/ParsedCommand.ts +20 -0
  631. package/bundle/src/codex-protocol/Personality.ts +5 -0
  632. package/bundle/src/codex-protocol/PlanType.ts +17 -0
  633. package/bundle/src/codex-protocol/RealtimeConversationVersion.ts +5 -0
  634. package/bundle/src/codex-protocol/RealtimeOutputModality.ts +5 -0
  635. package/bundle/src/codex-protocol/RealtimeVoice.ts +24 -0
  636. package/bundle/src/codex-protocol/RealtimeVoicesList.ts +11 -0
  637. package/bundle/src/codex-protocol/ReasoningEffort.ts +8 -0
  638. package/bundle/src/codex-protocol/ReasoningItemContent.ts +7 -0
  639. package/bundle/src/codex-protocol/ReasoningItemReasoningSummary.ts +5 -0
  640. package/bundle/src/codex-protocol/ReasoningSummary.ts +10 -0
  641. package/bundle/src/codex-protocol/RequestId.ts +5 -0
  642. package/bundle/src/codex-protocol/Resource.ts +19 -0
  643. package/bundle/src/codex-protocol/ResourceContent.ts +27 -0
  644. package/bundle/src/codex-protocol/ResourceTemplate.ts +16 -0
  645. package/bundle/src/codex-protocol/ResponseItem.ts +63 -0
  646. package/bundle/src/codex-protocol/ReviewDecision.ts +17 -0
  647. package/bundle/src/codex-protocol/ServerNotification.ts +154 -0
  648. package/bundle/src/codex-protocol/ServerRequest.ts +47 -0
  649. package/bundle/src/codex-protocol/SessionSource.ts +15 -0
  650. package/bundle/src/codex-protocol/Settings.ts +13 -0
  651. package/bundle/src/codex-protocol/SubAgentSource.ts +20 -0
  652. package/bundle/src/codex-protocol/ThreadId.ts +5 -0
  653. package/bundle/src/codex-protocol/ThreadMemoryMode.ts +5 -0
  654. package/bundle/src/codex-protocol/Tool.ts +18 -0
  655. package/bundle/src/codex-protocol/Verbosity.ts +9 -0
  656. package/bundle/src/codex-protocol/WebSearchAction.ts +9 -0
  657. package/bundle/src/codex-protocol/WebSearchContextSize.ts +5 -0
  658. package/bundle/src/codex-protocol/WebSearchLocation.ts +10 -0
  659. package/bundle/src/codex-protocol/WebSearchMode.ts +5 -0
  660. package/bundle/src/codex-protocol/WebSearchToolConfig.ts +11 -0
  661. package/bundle/src/codex-protocol/index.ts +79 -0
  662. package/bundle/src/codex-protocol/serde_json/JsonValue.ts +11 -0
  663. package/bundle/src/codex-protocol/v2/Account.ts +9 -0
  664. package/bundle/src/codex-protocol/v2/AccountLoginCompletedNotification.ts +9 -0
  665. package/bundle/src/codex-protocol/v2/AccountRateLimitsUpdatedNotification.ts +6 -0
  666. package/bundle/src/codex-protocol/v2/AccountUpdatedNotification.ts +7 -0
  667. package/bundle/src/codex-protocol/v2/ActivePermissionProfile.ts +22 -0
  668. package/bundle/src/codex-protocol/v2/ActivePermissionProfileModification.ts +9 -0
  669. package/bundle/src/codex-protocol/v2/AddCreditsNudgeCreditType.ts +5 -0
  670. package/bundle/src/codex-protocol/v2/AddCreditsNudgeEmailStatus.ts +5 -0
  671. package/bundle/src/codex-protocol/v2/AdditionalFileSystemPermissions.ts +18 -0
  672. package/bundle/src/codex-protocol/v2/AdditionalNetworkPermissions.ts +5 -0
  673. package/bundle/src/codex-protocol/v2/AdditionalPermissionProfile.ts +13 -0
  674. package/bundle/src/codex-protocol/v2/AgentMessageDeltaNotification.ts +10 -0
  675. package/bundle/src/codex-protocol/v2/AnalyticsConfig.ts +14 -0
  676. package/bundle/src/codex-protocol/v2/AppBranding.ts +15 -0
  677. package/bundle/src/codex-protocol/v2/AppInfo.ts +32 -0
  678. package/bundle/src/codex-protocol/v2/AppListUpdatedNotification.ts +9 -0
  679. package/bundle/src/codex-protocol/v2/AppMetadata.ts +20 -0
  680. package/bundle/src/codex-protocol/v2/AppReview.ts +5 -0
  681. package/bundle/src/codex-protocol/v2/AppScreenshot.ts +5 -0
  682. package/bundle/src/codex-protocol/v2/AppSummary.ts +14 -0
  683. package/bundle/src/codex-protocol/v2/AppToolApproval.ts +5 -0
  684. package/bundle/src/codex-protocol/v2/AppToolsConfig.ts +8 -0
  685. package/bundle/src/codex-protocol/v2/ApprovalsReviewer.ts +12 -0
  686. package/bundle/src/codex-protocol/v2/AppsConfig.ts +17 -0
  687. package/bundle/src/codex-protocol/v2/AppsDefaultConfig.ts +9 -0
  688. package/bundle/src/codex-protocol/v2/AppsListParams.ts +25 -0
  689. package/bundle/src/codex-protocol/v2/AppsListResponse.ts +16 -0
  690. package/bundle/src/codex-protocol/v2/AskForApproval.ts +18 -0
  691. package/bundle/src/codex-protocol/v2/AutoReviewDecisionSource.ts +8 -0
  692. package/bundle/src/codex-protocol/v2/ByteRange.ts +5 -0
  693. package/bundle/src/codex-protocol/v2/CancelLoginAccountParams.ts +5 -0
  694. package/bundle/src/codex-protocol/v2/CancelLoginAccountResponse.ts +6 -0
  695. package/bundle/src/codex-protocol/v2/CancelLoginAccountStatus.ts +5 -0
  696. package/bundle/src/codex-protocol/v2/ChatgptAuthTokensRefreshParams.ts +18 -0
  697. package/bundle/src/codex-protocol/v2/ChatgptAuthTokensRefreshReason.ts +5 -0
  698. package/bundle/src/codex-protocol/v2/ChatgptAuthTokensRefreshResponse.ts +9 -0
  699. package/bundle/src/codex-protocol/v2/CodexErrorInfo.ts +27 -0
  700. package/bundle/src/codex-protocol/v2/CollabAgentState.ts +6 -0
  701. package/bundle/src/codex-protocol/v2/CollabAgentStatus.ts +12 -0
  702. package/bundle/src/codex-protocol/v2/CollabAgentTool.ts +5 -0
  703. package/bundle/src/codex-protocol/v2/CollabAgentToolCallStatus.ts +5 -0
  704. package/bundle/src/codex-protocol/v2/CollaborationModeMask.ts +15 -0
  705. package/bundle/src/codex-protocol/v2/CommandAction.ts +10 -0
  706. package/bundle/src/codex-protocol/v2/CommandExecOutputDeltaNotification.ts +31 -0
  707. package/bundle/src/codex-protocol/v2/CommandExecOutputStream.ts +8 -0
  708. package/bundle/src/codex-protocol/v2/CommandExecParams.ts +87 -0
  709. package/bundle/src/codex-protocol/v2/CommandExecResizeParams.ts +19 -0
  710. package/bundle/src/codex-protocol/v2/CommandExecResizeResponse.ts +8 -0
  711. package/bundle/src/codex-protocol/v2/CommandExecResponse.ts +25 -0
  712. package/bundle/src/codex-protocol/v2/CommandExecTerminalSize.ts +17 -0
  713. package/bundle/src/codex-protocol/v2/CommandExecTerminateParams.ts +14 -0
  714. package/bundle/src/codex-protocol/v2/CommandExecTerminateResponse.ts +8 -0
  715. package/bundle/src/codex-protocol/v2/CommandExecWriteParams.ts +23 -0
  716. package/bundle/src/codex-protocol/v2/CommandExecWriteResponse.ts +8 -0
  717. package/bundle/src/codex-protocol/v2/CommandExecutionApprovalDecision.ts +13 -0
  718. package/bundle/src/codex-protocol/v2/CommandExecutionOutputDeltaNotification.ts +10 -0
  719. package/bundle/src/codex-protocol/v2/CommandExecutionRequestApprovalParams.ts +47 -0
  720. package/bundle/src/codex-protocol/v2/CommandExecutionRequestApprovalResponse.ts +8 -0
  721. package/bundle/src/codex-protocol/v2/CommandExecutionSource.ts +9 -0
  722. package/bundle/src/codex-protocol/v2/CommandExecutionStatus.ts +5 -0
  723. package/bundle/src/codex-protocol/v2/CommandMigration.ts +5 -0
  724. package/bundle/src/codex-protocol/v2/Config.ts +53 -0
  725. package/bundle/src/codex-protocol/v2/ConfigBatchWriteParams.ts +17 -0
  726. package/bundle/src/codex-protocol/v2/ConfigEdit.ts +7 -0
  727. package/bundle/src/codex-protocol/v2/ConfigLayer.ts +12 -0
  728. package/bundle/src/codex-protocol/v2/ConfigLayerMetadata.ts +6 -0
  729. package/bundle/src/codex-protocol/v2/ConfigLayerSource.ts +27 -0
  730. package/bundle/src/codex-protocol/v2/ConfigReadParams.ts +13 -0
  731. package/bundle/src/codex-protocol/v2/ConfigReadResponse.ts +12 -0
  732. package/bundle/src/codex-protocol/v2/ConfigRequirements.ts +15 -0
  733. package/bundle/src/codex-protocol/v2/ConfigRequirementsReadResponse.ts +11 -0
  734. package/bundle/src/codex-protocol/v2/ConfigValueWriteParams.ts +16 -0
  735. package/bundle/src/codex-protocol/v2/ConfigWarningNotification.ts +23 -0
  736. package/bundle/src/codex-protocol/v2/ConfigWriteResponse.ts +16 -0
  737. package/bundle/src/codex-protocol/v2/ConfiguredHookHandler.ts +14 -0
  738. package/bundle/src/codex-protocol/v2/ConfiguredHookMatcherGroup.ts +9 -0
  739. package/bundle/src/codex-protocol/v2/ContextCompactedNotification.ts +8 -0
  740. package/bundle/src/codex-protocol/v2/CreditsSnapshot.ts +5 -0
  741. package/bundle/src/codex-protocol/v2/DeprecationNoticeNotification.ts +14 -0
  742. package/bundle/src/codex-protocol/v2/DynamicToolCallOutputContentItem.ts +7 -0
  743. package/bundle/src/codex-protocol/v2/DynamicToolCallParams.ts +13 -0
  744. package/bundle/src/codex-protocol/v2/DynamicToolCallResponse.ts +9 -0
  745. package/bundle/src/codex-protocol/v2/DynamicToolCallStatus.ts +5 -0
  746. package/bundle/src/codex-protocol/v2/DynamicToolSpec.ts +12 -0
  747. package/bundle/src/codex-protocol/v2/ErrorNotification.ts +11 -0
  748. package/bundle/src/codex-protocol/v2/ExecPolicyAmendment.ts +5 -0
  749. package/bundle/src/codex-protocol/v2/ExperimentalFeature.ts +38 -0
  750. package/bundle/src/codex-protocol/v2/ExperimentalFeatureEnablementSetParams.ts +13 -0
  751. package/bundle/src/codex-protocol/v2/ExperimentalFeatureEnablementSetResponse.ts +10 -0
  752. package/bundle/src/codex-protocol/v2/ExperimentalFeatureListParams.ts +14 -0
  753. package/bundle/src/codex-protocol/v2/ExperimentalFeatureListResponse.ts +13 -0
  754. package/bundle/src/codex-protocol/v2/ExperimentalFeatureStage.ts +10 -0
  755. package/bundle/src/codex-protocol/v2/ExternalAgentConfigDetectParams.ts +14 -0
  756. package/bundle/src/codex-protocol/v2/ExternalAgentConfigDetectResponse.ts +6 -0
  757. package/bundle/src/codex-protocol/v2/ExternalAgentConfigImportCompletedNotification.ts +5 -0
  758. package/bundle/src/codex-protocol/v2/ExternalAgentConfigImportParams.ts +8 -0
  759. package/bundle/src/codex-protocol/v2/ExternalAgentConfigImportResponse.ts +5 -0
  760. package/bundle/src/codex-protocol/v2/ExternalAgentConfigMigrationItem.ts +15 -0
  761. package/bundle/src/codex-protocol/v2/ExternalAgentConfigMigrationItemType.ts +14 -0
  762. package/bundle/src/codex-protocol/v2/FeedbackUploadParams.ts +12 -0
  763. package/bundle/src/codex-protocol/v2/FeedbackUploadResponse.ts +5 -0
  764. package/bundle/src/codex-protocol/v2/FileChangeApprovalDecision.ts +5 -0
  765. package/bundle/src/codex-protocol/v2/FileChangeOutputDeltaNotification.ts +15 -0
  766. package/bundle/src/codex-protocol/v2/FileChangePatchUpdatedNotification.ts +11 -0
  767. package/bundle/src/codex-protocol/v2/FileChangeRequestApprovalParams.ts +22 -0
  768. package/bundle/src/codex-protocol/v2/FileChangeRequestApprovalResponse.ts +6 -0
  769. package/bundle/src/codex-protocol/v2/FileSystemAccessMode.ts +5 -0
  770. package/bundle/src/codex-protocol/v2/FileSystemPath.ts +10 -0
  771. package/bundle/src/codex-protocol/v2/FileSystemSandboxEntry.ts +7 -0
  772. package/bundle/src/codex-protocol/v2/FileSystemSpecialPath.ts +11 -0
  773. package/bundle/src/codex-protocol/v2/FileUpdateChange.ts +6 -0
  774. package/bundle/src/codex-protocol/v2/FsChangedNotification.ts +18 -0
  775. package/bundle/src/codex-protocol/v2/FsCopyParams.ts +22 -0
  776. package/bundle/src/codex-protocol/v2/FsCopyResponse.ts +8 -0
  777. package/bundle/src/codex-protocol/v2/FsCreateDirectoryParams.ts +18 -0
  778. package/bundle/src/codex-protocol/v2/FsCreateDirectoryResponse.ts +8 -0
  779. package/bundle/src/codex-protocol/v2/FsGetMetadataParams.ts +14 -0
  780. package/bundle/src/codex-protocol/v2/FsGetMetadataResponse.ts +29 -0
  781. package/bundle/src/codex-protocol/v2/FsReadDirectoryEntry.ts +21 -0
  782. package/bundle/src/codex-protocol/v2/FsReadDirectoryParams.ts +14 -0
  783. package/bundle/src/codex-protocol/v2/FsReadDirectoryResponse.ts +14 -0
  784. package/bundle/src/codex-protocol/v2/FsReadFileParams.ts +14 -0
  785. package/bundle/src/codex-protocol/v2/FsReadFileResponse.ts +13 -0
  786. package/bundle/src/codex-protocol/v2/FsRemoveParams.ts +22 -0
  787. package/bundle/src/codex-protocol/v2/FsRemoveResponse.ts +8 -0
  788. package/bundle/src/codex-protocol/v2/FsUnwatchParams.ts +13 -0
  789. package/bundle/src/codex-protocol/v2/FsUnwatchResponse.ts +8 -0
  790. package/bundle/src/codex-protocol/v2/FsWatchParams.ts +18 -0
  791. package/bundle/src/codex-protocol/v2/FsWatchResponse.ts +14 -0
  792. package/bundle/src/codex-protocol/v2/FsWriteFileParams.ts +18 -0
  793. package/bundle/src/codex-protocol/v2/FsWriteFileResponse.ts +8 -0
  794. package/bundle/src/codex-protocol/v2/GetAccountParams.ts +14 -0
  795. package/bundle/src/codex-protocol/v2/GetAccountRateLimitsResponse.ts +15 -0
  796. package/bundle/src/codex-protocol/v2/GetAccountResponse.ts +6 -0
  797. package/bundle/src/codex-protocol/v2/GitInfo.ts +5 -0
  798. package/bundle/src/codex-protocol/v2/GrantedPermissionProfile.ts +10 -0
  799. package/bundle/src/codex-protocol/v2/GuardianApprovalReview.ts +18 -0
  800. package/bundle/src/codex-protocol/v2/GuardianApprovalReviewAction.ts +34 -0
  801. package/bundle/src/codex-protocol/v2/GuardianApprovalReviewStatus.ts +13 -0
  802. package/bundle/src/codex-protocol/v2/GuardianCommandSource.ts +5 -0
  803. package/bundle/src/codex-protocol/v2/GuardianRiskLevel.ts +8 -0
  804. package/bundle/src/codex-protocol/v2/GuardianUserAuthorization.ts +8 -0
  805. package/bundle/src/codex-protocol/v2/GuardianWarningNotification.ts +14 -0
  806. package/bundle/src/codex-protocol/v2/HookCompletedNotification.ts +10 -0
  807. package/bundle/src/codex-protocol/v2/HookErrorInfo.ts +5 -0
  808. package/bundle/src/codex-protocol/v2/HookEventName.ts +13 -0
  809. package/bundle/src/codex-protocol/v2/HookExecutionMode.ts +5 -0
  810. package/bundle/src/codex-protocol/v2/HookHandlerType.ts +5 -0
  811. package/bundle/src/codex-protocol/v2/HookMetadata.ts +26 -0
  812. package/bundle/src/codex-protocol/v2/HookMigration.ts +5 -0
  813. package/bundle/src/codex-protocol/v2/HookOutputEntry.ts +6 -0
  814. package/bundle/src/codex-protocol/v2/HookOutputEntryKind.ts +5 -0
  815. package/bundle/src/codex-protocol/v2/HookPromptFragment.ts +5 -0
  816. package/bundle/src/codex-protocol/v2/HookRunStatus.ts +5 -0
  817. package/bundle/src/codex-protocol/v2/HookRunSummary.ts +28 -0
  818. package/bundle/src/codex-protocol/v2/HookScope.ts +5 -0
  819. package/bundle/src/codex-protocol/v2/HookSource.ts +15 -0
  820. package/bundle/src/codex-protocol/v2/HookStartedNotification.ts +10 -0
  821. package/bundle/src/codex-protocol/v2/HookTrustStatus.ts +5 -0
  822. package/bundle/src/codex-protocol/v2/HooksListEntry.ts +12 -0
  823. package/bundle/src/codex-protocol/v2/HooksListParams.ts +10 -0
  824. package/bundle/src/codex-protocol/v2/HooksListResponse.ts +6 -0
  825. package/bundle/src/codex-protocol/v2/ItemCompletedNotification.ts +14 -0
  826. package/bundle/src/codex-protocol/v2/ItemGuardianApprovalReviewCompletedNotification.ts +44 -0
  827. package/bundle/src/codex-protocol/v2/ItemGuardianApprovalReviewStartedNotification.ts +38 -0
  828. package/bundle/src/codex-protocol/v2/ItemStartedNotification.ts +14 -0
  829. package/bundle/src/codex-protocol/v2/ListMcpServerStatusParams.ts +20 -0
  830. package/bundle/src/codex-protocol/v2/ListMcpServerStatusResponse.ts +13 -0
  831. package/bundle/src/codex-protocol/v2/LoginAccountParams.ts +27 -0
  832. package/bundle/src/codex-protocol/v2/LoginAccountResponse.ts +27 -0
  833. package/bundle/src/codex-protocol/v2/LogoutAccountResponse.ts +5 -0
  834. package/bundle/src/codex-protocol/v2/ManagedHooksRequirements.ts +17 -0
  835. package/bundle/src/codex-protocol/v2/MarketplaceAddParams.ts +9 -0
  836. package/bundle/src/codex-protocol/v2/MarketplaceAddResponse.ts +10 -0
  837. package/bundle/src/codex-protocol/v2/MarketplaceInterface.ts +5 -0
  838. package/bundle/src/codex-protocol/v2/MarketplaceLoadErrorInfo.ts +6 -0
  839. package/bundle/src/codex-protocol/v2/MarketplaceRemoveParams.ts +5 -0
  840. package/bundle/src/codex-protocol/v2/MarketplaceRemoveResponse.ts +9 -0
  841. package/bundle/src/codex-protocol/v2/MarketplaceUpgradeErrorInfo.ts +5 -0
  842. package/bundle/src/codex-protocol/v2/MarketplaceUpgradeParams.ts +5 -0
  843. package/bundle/src/codex-protocol/v2/MarketplaceUpgradeResponse.ts +11 -0
  844. package/bundle/src/codex-protocol/v2/McpAuthStatus.ts +5 -0
  845. package/bundle/src/codex-protocol/v2/McpElicitationArrayType.ts +5 -0
  846. package/bundle/src/codex-protocol/v2/McpElicitationBooleanSchema.ts +11 -0
  847. package/bundle/src/codex-protocol/v2/McpElicitationBooleanType.ts +5 -0
  848. package/bundle/src/codex-protocol/v2/McpElicitationConstOption.ts +5 -0
  849. package/bundle/src/codex-protocol/v2/McpElicitationEnumSchema.ts +11 -0
  850. package/bundle/src/codex-protocol/v2/McpElicitationLegacyTitledEnumSchema.ts +13 -0
  851. package/bundle/src/codex-protocol/v2/McpElicitationMultiSelectEnumSchema.ts +9 -0
  852. package/bundle/src/codex-protocol/v2/McpElicitationNumberSchema.ts +13 -0
  853. package/bundle/src/codex-protocol/v2/McpElicitationNumberType.ts +5 -0
  854. package/bundle/src/codex-protocol/v2/McpElicitationObjectType.ts +5 -0
  855. package/bundle/src/codex-protocol/v2/McpElicitationPrimitiveSchema.ts +13 -0
  856. package/bundle/src/codex-protocol/v2/McpElicitationSchema.ts +18 -0
  857. package/bundle/src/codex-protocol/v2/McpElicitationSingleSelectEnumSchema.ts +9 -0
  858. package/bundle/src/codex-protocol/v2/McpElicitationStringFormat.ts +5 -0
  859. package/bundle/src/codex-protocol/v2/McpElicitationStringSchema.ts +15 -0
  860. package/bundle/src/codex-protocol/v2/McpElicitationStringType.ts +5 -0
  861. package/bundle/src/codex-protocol/v2/McpElicitationTitledEnumItems.ts +6 -0
  862. package/bundle/src/codex-protocol/v2/McpElicitationTitledMultiSelectEnumSchema.ts +15 -0
  863. package/bundle/src/codex-protocol/v2/McpElicitationTitledSingleSelectEnumSchema.ts +13 -0
  864. package/bundle/src/codex-protocol/v2/McpElicitationUntitledEnumItems.ts +9 -0
  865. package/bundle/src/codex-protocol/v2/McpElicitationUntitledMultiSelectEnumSchema.ts +15 -0
  866. package/bundle/src/codex-protocol/v2/McpElicitationUntitledSingleSelectEnumSchema.ts +12 -0
  867. package/bundle/src/codex-protocol/v2/McpResourceReadParams.ts +5 -0
  868. package/bundle/src/codex-protocol/v2/McpResourceReadResponse.ts +6 -0
  869. package/bundle/src/codex-protocol/v2/McpServerElicitationAction.ts +5 -0
  870. package/bundle/src/codex-protocol/v2/McpServerElicitationRequestParams.ts +27 -0
  871. package/bundle/src/codex-protocol/v2/McpServerElicitationRequestResponse.ts +19 -0
  872. package/bundle/src/codex-protocol/v2/McpServerMigration.ts +5 -0
  873. package/bundle/src/codex-protocol/v2/McpServerOauthLoginCompletedNotification.ts +9 -0
  874. package/bundle/src/codex-protocol/v2/McpServerOauthLoginParams.ts +9 -0
  875. package/bundle/src/codex-protocol/v2/McpServerOauthLoginResponse.ts +5 -0
  876. package/bundle/src/codex-protocol/v2/McpServerRefreshResponse.ts +5 -0
  877. package/bundle/src/codex-protocol/v2/McpServerStartupState.ts +5 -0
  878. package/bundle/src/codex-protocol/v2/McpServerStatus.ts +15 -0
  879. package/bundle/src/codex-protocol/v2/McpServerStatusDetail.ts +5 -0
  880. package/bundle/src/codex-protocol/v2/McpServerStatusUpdatedNotification.ts +10 -0
  881. package/bundle/src/codex-protocol/v2/McpServerToolCallParams.ts +12 -0
  882. package/bundle/src/codex-protocol/v2/McpServerToolCallResponse.ts +11 -0
  883. package/bundle/src/codex-protocol/v2/McpToolCallError.ts +5 -0
  884. package/bundle/src/codex-protocol/v2/McpToolCallProgressNotification.ts +10 -0
  885. package/bundle/src/codex-protocol/v2/McpToolCallResult.ts +10 -0
  886. package/bundle/src/codex-protocol/v2/McpToolCallStatus.ts +5 -0
  887. package/bundle/src/codex-protocol/v2/MemoryCitation.ts +6 -0
  888. package/bundle/src/codex-protocol/v2/MemoryCitationEntry.ts +10 -0
  889. package/bundle/src/codex-protocol/v2/MergeStrategy.ts +5 -0
  890. package/bundle/src/codex-protocol/v2/MigrationDetails.ts +18 -0
  891. package/bundle/src/codex-protocol/v2/Model.ts +30 -0
  892. package/bundle/src/codex-protocol/v2/ModelAvailabilityNux.ts +5 -0
  893. package/bundle/src/codex-protocol/v2/ModelListParams.ts +18 -0
  894. package/bundle/src/codex-protocol/v2/ModelListResponse.ts +13 -0
  895. package/bundle/src/codex-protocol/v2/ModelProviderCapabilitiesReadParams.ts +5 -0
  896. package/bundle/src/codex-protocol/v2/ModelProviderCapabilitiesReadResponse.ts +9 -0
  897. package/bundle/src/codex-protocol/v2/ModelRerouteReason.ts +5 -0
  898. package/bundle/src/codex-protocol/v2/ModelReroutedNotification.ts +12 -0
  899. package/bundle/src/codex-protocol/v2/ModelServiceTier.ts +5 -0
  900. package/bundle/src/codex-protocol/v2/ModelUpgradeInfo.ts +10 -0
  901. package/bundle/src/codex-protocol/v2/ModelVerification.ts +5 -0
  902. package/bundle/src/codex-protocol/v2/ModelVerificationNotification.ts +10 -0
  903. package/bundle/src/codex-protocol/v2/NetworkAccess.ts +5 -0
  904. package/bundle/src/codex-protocol/v2/NetworkApprovalContext.ts +6 -0
  905. package/bundle/src/codex-protocol/v2/NetworkApprovalProtocol.ts +5 -0
  906. package/bundle/src/codex-protocol/v2/NetworkDomainPermission.ts +5 -0
  907. package/bundle/src/codex-protocol/v2/NetworkPolicyAmendment.ts +6 -0
  908. package/bundle/src/codex-protocol/v2/NetworkPolicyRuleAction.ts +5 -0
  909. package/bundle/src/codex-protocol/v2/NetworkRequirements.ts +40 -0
  910. package/bundle/src/codex-protocol/v2/NetworkUnixSocketPermission.ts +5 -0
  911. package/bundle/src/codex-protocol/v2/NonSteerableTurnKind.ts +5 -0
  912. package/bundle/src/codex-protocol/v2/OverriddenMetadata.ts +11 -0
  913. package/bundle/src/codex-protocol/v2/PatchApplyStatus.ts +5 -0
  914. package/bundle/src/codex-protocol/v2/PatchChangeKind.ts +8 -0
  915. package/bundle/src/codex-protocol/v2/PermissionGrantScope.ts +5 -0
  916. package/bundle/src/codex-protocol/v2/PermissionProfile.ts +14 -0
  917. package/bundle/src/codex-protocol/v2/PermissionProfileFileSystemPermissions.ts +8 -0
  918. package/bundle/src/codex-protocol/v2/PermissionProfileModificationParams.ts +9 -0
  919. package/bundle/src/codex-protocol/v2/PermissionProfileNetworkPermissions.ts +5 -0
  920. package/bundle/src/codex-protocol/v2/PermissionProfileSelectionParams.ts +10 -0
  921. package/bundle/src/codex-protocol/v2/PermissionsRequestApprovalParams.ts +18 -0
  922. package/bundle/src/codex-protocol/v2/PermissionsRequestApprovalResponse.ts +14 -0
  923. package/bundle/src/codex-protocol/v2/PlanDeltaNotification.ts +14 -0
  924. package/bundle/src/codex-protocol/v2/PluginAuthPolicy.ts +5 -0
  925. package/bundle/src/codex-protocol/v2/PluginAvailability.ts +5 -0
  926. package/bundle/src/codex-protocol/v2/PluginDetail.ts +19 -0
  927. package/bundle/src/codex-protocol/v2/PluginHookSummary.ts +6 -0
  928. package/bundle/src/codex-protocol/v2/PluginInstallParams.ts +10 -0
  929. package/bundle/src/codex-protocol/v2/PluginInstallPolicy.ts +5 -0
  930. package/bundle/src/codex-protocol/v2/PluginInstallResponse.ts +10 -0
  931. package/bundle/src/codex-protocol/v2/PluginInterface.ts +46 -0
  932. package/bundle/src/codex-protocol/v2/PluginListMarketplaceKind.ts +5 -0
  933. package/bundle/src/codex-protocol/v2/PluginListParams.ts +18 -0
  934. package/bundle/src/codex-protocol/v2/PluginListResponse.ts +11 -0
  935. package/bundle/src/codex-protocol/v2/PluginMarketplaceEntry.ts +17 -0
  936. package/bundle/src/codex-protocol/v2/PluginReadParams.ts +10 -0
  937. package/bundle/src/codex-protocol/v2/PluginReadResponse.ts +6 -0
  938. package/bundle/src/codex-protocol/v2/PluginShareContext.ts +12 -0
  939. package/bundle/src/codex-protocol/v2/PluginShareDeleteParams.ts +5 -0
  940. package/bundle/src/codex-protocol/v2/PluginShareDeleteResponse.ts +5 -0
  941. package/bundle/src/codex-protocol/v2/PluginShareDiscoverability.ts +5 -0
  942. package/bundle/src/codex-protocol/v2/PluginShareListItem.ts +11 -0
  943. package/bundle/src/codex-protocol/v2/PluginShareListParams.ts +5 -0
  944. package/bundle/src/codex-protocol/v2/PluginShareListResponse.ts +6 -0
  945. package/bundle/src/codex-protocol/v2/PluginSharePrincipal.ts +10 -0
  946. package/bundle/src/codex-protocol/v2/PluginSharePrincipalType.ts +5 -0
  947. package/bundle/src/codex-protocol/v2/PluginShareSaveParams.ts +13 -0
  948. package/bundle/src/codex-protocol/v2/PluginShareSaveResponse.ts +5 -0
  949. package/bundle/src/codex-protocol/v2/PluginShareTarget.ts +6 -0
  950. package/bundle/src/codex-protocol/v2/PluginShareUpdateDiscoverability.ts +5 -0
  951. package/bundle/src/codex-protocol/v2/PluginShareUpdateTargetsParams.ts +11 -0
  952. package/bundle/src/codex-protocol/v2/PluginShareUpdateTargetsResponse.ts +10 -0
  953. package/bundle/src/codex-protocol/v2/PluginSkillReadParams.ts +9 -0
  954. package/bundle/src/codex-protocol/v2/PluginSkillReadResponse.ts +5 -0
  955. package/bundle/src/codex-protocol/v2/PluginSource.ts +9 -0
  956. package/bundle/src/codex-protocol/v2/PluginSummary.ts +29 -0
  957. package/bundle/src/codex-protocol/v2/PluginUninstallParams.ts +5 -0
  958. package/bundle/src/codex-protocol/v2/PluginUninstallResponse.ts +5 -0
  959. package/bundle/src/codex-protocol/v2/PluginsMigration.ts +5 -0
  960. package/bundle/src/codex-protocol/v2/ProcessExitedNotification.ts +43 -0
  961. package/bundle/src/codex-protocol/v2/ProcessOutputDeltaNotification.ts +27 -0
  962. package/bundle/src/codex-protocol/v2/ProcessOutputStream.ts +8 -0
  963. package/bundle/src/codex-protocol/v2/ProcessTerminalSize.ts +17 -0
  964. package/bundle/src/codex-protocol/v2/ProfileV2.ts +37 -0
  965. package/bundle/src/codex-protocol/v2/RateLimitReachedType.ts +10 -0
  966. package/bundle/src/codex-protocol/v2/RateLimitSnapshot.ts +17 -0
  967. package/bundle/src/codex-protocol/v2/RateLimitWindow.ts +9 -0
  968. package/bundle/src/codex-protocol/v2/RawResponseItemCompletedNotification.ts +10 -0
  969. package/bundle/src/codex-protocol/v2/ReasoningEffortOption.ts +6 -0
  970. package/bundle/src/codex-protocol/v2/ReasoningSummaryPartAddedNotification.ts +10 -0
  971. package/bundle/src/codex-protocol/v2/ReasoningSummaryTextDeltaNotification.ts +11 -0
  972. package/bundle/src/codex-protocol/v2/ReasoningTextDeltaNotification.ts +11 -0
  973. package/bundle/src/codex-protocol/v2/RemoteControlConnectionStatus.ts +5 -0
  974. package/bundle/src/codex-protocol/v2/RemoteControlStatusChangedNotification.ts +12 -0
  975. package/bundle/src/codex-protocol/v2/RequestPermissionProfile.ts +10 -0
  976. package/bundle/src/codex-protocol/v2/ResidencyRequirement.ts +5 -0
  977. package/bundle/src/codex-protocol/v2/ReviewDelivery.ts +5 -0
  978. package/bundle/src/codex-protocol/v2/ReviewStartParams.ts +15 -0
  979. package/bundle/src/codex-protocol/v2/ReviewStartResponse.ts +15 -0
  980. package/bundle/src/codex-protocol/v2/ReviewTarget.ts +16 -0
  981. package/bundle/src/codex-protocol/v2/SandboxMode.ts +5 -0
  982. package/bundle/src/codex-protocol/v2/SandboxPolicy.ts +17 -0
  983. package/bundle/src/codex-protocol/v2/SandboxWorkspaceWrite.ts +10 -0
  984. package/bundle/src/codex-protocol/v2/SendAddCreditsNudgeEmailParams.ts +6 -0
  985. package/bundle/src/codex-protocol/v2/SendAddCreditsNudgeEmailResponse.ts +6 -0
  986. package/bundle/src/codex-protocol/v2/ServerRequestResolvedNotification.ts +6 -0
  987. package/bundle/src/codex-protocol/v2/SessionMigration.ts +5 -0
  988. package/bundle/src/codex-protocol/v2/SessionSource.ts +13 -0
  989. package/bundle/src/codex-protocol/v2/SkillDependencies.ts +6 -0
  990. package/bundle/src/codex-protocol/v2/SkillErrorInfo.ts +5 -0
  991. package/bundle/src/codex-protocol/v2/SkillInterface.ts +13 -0
  992. package/bundle/src/codex-protocol/v2/SkillMetadata.ts +21 -0
  993. package/bundle/src/codex-protocol/v2/SkillScope.ts +5 -0
  994. package/bundle/src/codex-protocol/v2/SkillSummary.ts +14 -0
  995. package/bundle/src/codex-protocol/v2/SkillToolDependency.ts +12 -0
  996. package/bundle/src/codex-protocol/v2/SkillsChangedNotification.ts +11 -0
  997. package/bundle/src/codex-protocol/v2/SkillsConfigWriteParams.ts +16 -0
  998. package/bundle/src/codex-protocol/v2/SkillsConfigWriteResponse.ts +5 -0
  999. package/bundle/src/codex-protocol/v2/SkillsListEntry.ts +11 -0
  1000. package/bundle/src/codex-protocol/v2/SkillsListParams.ts +14 -0
  1001. package/bundle/src/codex-protocol/v2/SkillsListResponse.ts +6 -0
  1002. package/bundle/src/codex-protocol/v2/SortDirection.ts +5 -0
  1003. package/bundle/src/codex-protocol/v2/SubagentMigration.ts +5 -0
  1004. package/bundle/src/codex-protocol/v2/TerminalInteractionNotification.ts +11 -0
  1005. package/bundle/src/codex-protocol/v2/TextElement.ts +15 -0
  1006. package/bundle/src/codex-protocol/v2/TextPosition.ts +14 -0
  1007. package/bundle/src/codex-protocol/v2/TextRange.ts +6 -0
  1008. package/bundle/src/codex-protocol/v2/Thread.ts +88 -0
  1009. package/bundle/src/codex-protocol/v2/ThreadActiveFlag.ts +5 -0
  1010. package/bundle/src/codex-protocol/v2/ThreadApproveGuardianDeniedActionParams.ts +12 -0
  1011. package/bundle/src/codex-protocol/v2/ThreadApproveGuardianDeniedActionResponse.ts +5 -0
  1012. package/bundle/src/codex-protocol/v2/ThreadArchiveParams.ts +5 -0
  1013. package/bundle/src/codex-protocol/v2/ThreadArchiveResponse.ts +5 -0
  1014. package/bundle/src/codex-protocol/v2/ThreadArchivedNotification.ts +5 -0
  1015. package/bundle/src/codex-protocol/v2/ThreadClosedNotification.ts +5 -0
  1016. package/bundle/src/codex-protocol/v2/ThreadCompactStartParams.ts +5 -0
  1017. package/bundle/src/codex-protocol/v2/ThreadCompactStartResponse.ts +5 -0
  1018. package/bundle/src/codex-protocol/v2/ThreadForkParams.ts +40 -0
  1019. package/bundle/src/codex-protocol/v2/ThreadForkResponse.ts +30 -0
  1020. package/bundle/src/codex-protocol/v2/ThreadGoal.ts +15 -0
  1021. package/bundle/src/codex-protocol/v2/ThreadGoalClearedNotification.ts +5 -0
  1022. package/bundle/src/codex-protocol/v2/ThreadGoalStatus.ts +5 -0
  1023. package/bundle/src/codex-protocol/v2/ThreadGoalUpdatedNotification.ts +10 -0
  1024. package/bundle/src/codex-protocol/v2/ThreadInjectItemsParams.ts +12 -0
  1025. package/bundle/src/codex-protocol/v2/ThreadInjectItemsResponse.ts +5 -0
  1026. package/bundle/src/codex-protocol/v2/ThreadItem.ts +156 -0
  1027. package/bundle/src/codex-protocol/v2/ThreadListParams.ts +55 -0
  1028. package/bundle/src/codex-protocol/v2/ThreadListResponse.ts +20 -0
  1029. package/bundle/src/codex-protocol/v2/ThreadLoadedListParams.ts +14 -0
  1030. package/bundle/src/codex-protocol/v2/ThreadLoadedListResponse.ts +15 -0
  1031. package/bundle/src/codex-protocol/v2/ThreadMetadataGitInfoUpdateParams.ts +21 -0
  1032. package/bundle/src/codex-protocol/v2/ThreadMetadataUpdateParams.ts +14 -0
  1033. package/bundle/src/codex-protocol/v2/ThreadMetadataUpdateResponse.ts +6 -0
  1034. package/bundle/src/codex-protocol/v2/ThreadNameUpdatedNotification.ts +5 -0
  1035. package/bundle/src/codex-protocol/v2/ThreadReadParams.ts +11 -0
  1036. package/bundle/src/codex-protocol/v2/ThreadReadResponse.ts +6 -0
  1037. package/bundle/src/codex-protocol/v2/ThreadRealtimeAudioChunk.ts +14 -0
  1038. package/bundle/src/codex-protocol/v2/ThreadRealtimeClosedNotification.ts +8 -0
  1039. package/bundle/src/codex-protocol/v2/ThreadRealtimeErrorNotification.ts +8 -0
  1040. package/bundle/src/codex-protocol/v2/ThreadRealtimeItemAddedNotification.ts +9 -0
  1041. package/bundle/src/codex-protocol/v2/ThreadRealtimeOutputAudioDeltaNotification.ts +12 -0
  1042. package/bundle/src/codex-protocol/v2/ThreadRealtimeSdpNotification.ts +8 -0
  1043. package/bundle/src/codex-protocol/v2/ThreadRealtimeStartTransport.ts +17 -0
  1044. package/bundle/src/codex-protocol/v2/ThreadRealtimeStartedNotification.ts +13 -0
  1045. package/bundle/src/codex-protocol/v2/ThreadRealtimeTranscriptDeltaNotification.ts +16 -0
  1046. package/bundle/src/codex-protocol/v2/ThreadRealtimeTranscriptDoneNotification.ts +16 -0
  1047. package/bundle/src/codex-protocol/v2/ThreadResumeParams.ts +39 -0
  1048. package/bundle/src/codex-protocol/v2/ThreadResumeResponse.ts +30 -0
  1049. package/bundle/src/codex-protocol/v2/ThreadRollbackParams.ts +14 -0
  1050. package/bundle/src/codex-protocol/v2/ThreadRollbackResponse.ts +15 -0
  1051. package/bundle/src/codex-protocol/v2/ThreadSetNameParams.ts +5 -0
  1052. package/bundle/src/codex-protocol/v2/ThreadSetNameResponse.ts +5 -0
  1053. package/bundle/src/codex-protocol/v2/ThreadShellCommandParams.ts +14 -0
  1054. package/bundle/src/codex-protocol/v2/ThreadShellCommandResponse.ts +5 -0
  1055. package/bundle/src/codex-protocol/v2/ThreadSortKey.ts +5 -0
  1056. package/bundle/src/codex-protocol/v2/ThreadSource.ts +5 -0
  1057. package/bundle/src/codex-protocol/v2/ThreadSourceKind.ts +15 -0
  1058. package/bundle/src/codex-protocol/v2/ThreadStartParams.ts +33 -0
  1059. package/bundle/src/codex-protocol/v2/ThreadStartResponse.ts +30 -0
  1060. package/bundle/src/codex-protocol/v2/ThreadStartSource.ts +5 -0
  1061. package/bundle/src/codex-protocol/v2/ThreadStartedNotification.ts +6 -0
  1062. package/bundle/src/codex-protocol/v2/ThreadStatus.ts +10 -0
  1063. package/bundle/src/codex-protocol/v2/ThreadStatusChangedNotification.ts +6 -0
  1064. package/bundle/src/codex-protocol/v2/ThreadTokenUsage.ts +10 -0
  1065. package/bundle/src/codex-protocol/v2/ThreadTokenUsageUpdatedNotification.ts +10 -0
  1066. package/bundle/src/codex-protocol/v2/ThreadUnarchiveParams.ts +5 -0
  1067. package/bundle/src/codex-protocol/v2/ThreadUnarchiveResponse.ts +6 -0
  1068. package/bundle/src/codex-protocol/v2/ThreadUnarchivedNotification.ts +5 -0
  1069. package/bundle/src/codex-protocol/v2/ThreadUnsubscribeParams.ts +5 -0
  1070. package/bundle/src/codex-protocol/v2/ThreadUnsubscribeResponse.ts +6 -0
  1071. package/bundle/src/codex-protocol/v2/ThreadUnsubscribeStatus.ts +5 -0
  1072. package/bundle/src/codex-protocol/v2/TokenUsageBreakdown.ts +11 -0
  1073. package/bundle/src/codex-protocol/v2/ToolRequestUserInputAnswer.ts +8 -0
  1074. package/bundle/src/codex-protocol/v2/ToolRequestUserInputOption.ts +8 -0
  1075. package/bundle/src/codex-protocol/v2/ToolRequestUserInputParams.ts +14 -0
  1076. package/bundle/src/codex-protocol/v2/ToolRequestUserInputQuestion.ts +16 -0
  1077. package/bundle/src/codex-protocol/v2/ToolRequestUserInputResponse.ts +11 -0
  1078. package/bundle/src/codex-protocol/v2/ToolsV2.ts +6 -0
  1079. package/bundle/src/codex-protocol/v2/Turn.ts +36 -0
  1080. package/bundle/src/codex-protocol/v2/TurnCompletedNotification.ts +6 -0
  1081. package/bundle/src/codex-protocol/v2/TurnDiffUpdatedNotification.ts +9 -0
  1082. package/bundle/src/codex-protocol/v2/TurnEnvironmentParams.ts +6 -0
  1083. package/bundle/src/codex-protocol/v2/TurnError.ts +10 -0
  1084. package/bundle/src/codex-protocol/v2/TurnInterruptParams.ts +5 -0
  1085. package/bundle/src/codex-protocol/v2/TurnInterruptResponse.ts +5 -0
  1086. package/bundle/src/codex-protocol/v2/TurnItemsView.ts +5 -0
  1087. package/bundle/src/codex-protocol/v2/TurnPlanStep.ts +6 -0
  1088. package/bundle/src/codex-protocol/v2/TurnPlanStepStatus.ts +5 -0
  1089. package/bundle/src/codex-protocol/v2/TurnPlanUpdatedNotification.ts +11 -0
  1090. package/bundle/src/codex-protocol/v2/TurnStartParams.ts +48 -0
  1091. package/bundle/src/codex-protocol/v2/TurnStartResponse.ts +6 -0
  1092. package/bundle/src/codex-protocol/v2/TurnStartedNotification.ts +6 -0
  1093. package/bundle/src/codex-protocol/v2/TurnStatus.ts +5 -0
  1094. package/bundle/src/codex-protocol/v2/TurnSteerParams.ts +13 -0
  1095. package/bundle/src/codex-protocol/v2/TurnSteerResponse.ts +5 -0
  1096. package/bundle/src/codex-protocol/v2/UserInput.ts +18 -0
  1097. package/bundle/src/codex-protocol/v2/WarningNotification.ts +14 -0
  1098. package/bundle/src/codex-protocol/v2/WebSearchAction.ts +9 -0
  1099. package/bundle/src/codex-protocol/v2/WindowsSandboxReadiness.ts +5 -0
  1100. package/bundle/src/codex-protocol/v2/WindowsSandboxReadinessResponse.ts +6 -0
  1101. package/bundle/src/codex-protocol/v2/WindowsSandboxSetupCompletedNotification.ts +10 -0
  1102. package/bundle/src/codex-protocol/v2/WindowsSandboxSetupMode.ts +5 -0
  1103. package/bundle/src/codex-protocol/v2/WindowsSandboxSetupStartParams.ts +10 -0
  1104. package/bundle/src/codex-protocol/v2/WindowsSandboxSetupStartResponse.ts +5 -0
  1105. package/bundle/src/codex-protocol/v2/WindowsWorldWritableWarningNotification.ts +9 -0
  1106. package/bundle/src/codex-protocol/v2/WriteStatus.ts +5 -0
  1107. package/bundle/src/codex-protocol/v2/index.ts +446 -0
  1108. package/bundle/src/i18n/sd.generated.ts +36 -4
  1109. package/bundle/src/migrations/20260518145411_alter_tokens_add2_drop4_alter1.ts +23 -0
  1110. package/bundle/src/migrations/20260520112853_alter_request_logs_add3_alter1.ts +17 -0
  1111. package/bundle/src/migrations/20260520124755_alter_request_logs_drop1_alter1.ts +15 -0
  1112. package/bundle/src/migrations/20260520130420_create__request_log_steps.ts +33 -0
  1113. package/bundle/src/migrations/20260520134908_alter_request_logs_add2_alter8.ts +44 -0
  1114. package/bundle/src/migrations/20260520134909_alter_request_log_steps_add1_alter3.ts +23 -0
  1115. package/bundle/src/migrations/20260520141449_alter_request_logs_add1_alter1.ts +15 -0
  1116. package/bundle/src/migrations/20260521134025_alter_request_log_steps_alter1.ts +13 -0
  1117. package/bundle/src/migrations/20260521134026_alter_request_log_steps_foreigns.ts +17 -0
  1118. package/bundle/src/migrations/20260522181721_alter_request_log_steps_add2_alter1.ts +16 -0
  1119. package/bundle/src/sonamu.config.ts +58 -46
  1120. package/bundle/src/typings/sonamu.d.ts +1 -1
  1121. package/bundle/src/utils/providers/common/credentials.ts +26 -0
  1122. package/bundle/src/utils/providers/common/model-cost.ts +65 -0
  1123. package/bundle/src/utils/providers/common/provider-dispatcher.ts +36 -0
  1124. package/bundle/src/utils/providers/common/strictifier.ts +128 -0
  1125. package/bundle/src/utils/providers/common/token-picker.ts +18 -0
  1126. package/bundle/src/utils/providers/openai/codex-rpc.ts +236 -0
  1127. package/bundle/src/utils/providers/openai/codex-worker.ts +469 -0
  1128. package/bundle/src/utils/providers/openai/openai-constants.ts +5 -0
  1129. package/bundle/src/utils/providers/openai/openai-dispatcher.ts +453 -0
  1130. package/bundle/src/utils/providers/openai/openai-refresh.ts +134 -0
  1131. package/bundle/web-dist/client/assets/index-B5DSo5uH.css +1 -0
  1132. package/bundle/web-dist/client/assets/index-ZV-tHpAg.js +78 -0
  1133. package/bundle/web-dist/client/assets/logs-HJYkbqom.js +1 -0
  1134. package/bundle/web-dist/client/assets/routes-BMRwPj6F.js +5 -0
  1135. package/bundle/web-dist/client/assets/sd.generated-7jzAQL2_.js +51 -0
  1136. package/bundle/web-dist/client/assets/services.generated-Bx1Eh7ot.js +1 -0
  1137. package/bundle/web-dist/client/assets/{show-WxeogUIk.js → show-DI6iWDzV.js} +3 -2
  1138. package/bundle/web-dist/client/assets/tokens-Cg1f0Ga2.js +1 -0
  1139. package/bundle/web-dist/client/index.html +3 -3
  1140. package/bundle/web-dist/server/assets/{lazyRouteComponent-CcyhCAoL.js → lazyRouteComponent-BEaI4mOq.js} +2 -2
  1141. package/bundle/web-dist/server/assets/logs-Xt934T5f.js +371 -0
  1142. package/bundle/web-dist/server/assets/{routes-DQh4d03H.js → routes-B7QYbNIv.js} +149 -92
  1143. package/bundle/web-dist/server/assets/{sd.generated-CkiEsOwK.js → sd.generated-BeUHLWKH.js} +538 -163
  1144. package/bundle/web-dist/server/assets/{services.generated-Q2ZIxMdn.js → services.generated-C39hdSv0.js} +164 -34
  1145. package/bundle/web-dist/server/assets/{shim-BYpcQGN1.js → shim-B9ZrFt3Z.js} +1 -1
  1146. package/bundle/web-dist/server/assets/{show-j1j13Hq1.js → show-Dxz6UJnD.js} +508 -150
  1147. package/bundle/web-dist/server/assets/tokens-IPwv3pNB.js +477 -0
  1148. package/bundle/web-dist/server/entry-server.generated.js +157 -197
  1149. package/dist/cli.js +38 -17
  1150. package/package.json +2 -2
  1151. package/bundle/web-dist/client/assets/copy-DdGJDXSK.js +0 -1
  1152. package/bundle/web-dist/client/assets/index-D-D8GkQh.css +0 -1
  1153. package/bundle/web-dist/client/assets/index-DxJOOfGV.js +0 -78
  1154. package/bundle/web-dist/client/assets/logs-D83MPvLO.js +0 -1
  1155. package/bundle/web-dist/client/assets/routes-C1PeZiBp.js +0 -5
  1156. package/bundle/web-dist/client/assets/sd.generated-C9WnMJm4.js +0 -47
  1157. package/bundle/web-dist/client/assets/services.generated-BV5C1PQa.js +0 -1
  1158. package/bundle/web-dist/client/assets/tokens--RfCPd1y.js +0 -1
  1159. package/bundle/web-dist/server/assets/copy-SIUvcEcZ.js +0 -42
  1160. package/bundle/web-dist/server/assets/logs-9j6ES80h.js +0 -361
  1161. 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.token,
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.token;
77
- if (electedToken.expires_at && Number(electedToken.expires_at) - Date.now() < REFRESH_SAFETY_MS && electedToken.refresh_token) try {
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(input, token, timeoutMs ?? DEFAULT_TIMEOUT_MS),
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 model = input.model ?? DEFAULT_MODEL;
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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