@cartanova/qgrid-cli 2.4.7 → 2.4.9

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 (748) hide show
  1. package/README.ko.md +18 -11
  2. package/README.md +18 -11
  3. package/bundle/.env +0 -0
  4. package/bundle/dist/_virtual/{_@oxc-project_runtime@0.122.0/helpers → _@oxc-project_runtime@0.140.0/helpers/esm}/decorate.js +2 -2
  5. package/bundle/dist/_virtual/{_@oxc-project_runtime@0.122.0/helpers → _@oxc-project_runtime@0.140.0/helpers/esm}/decorateMetadata.js +2 -2
  6. package/bundle/dist/_virtual/_rolldown/runtime.js +2 -3
  7. package/bundle/dist/application/monit/log-buffer.js +3 -2
  8. package/bundle/dist/application/monit/monit.frame.js +5 -6
  9. package/bundle/dist/application/monit/monit.types.js +1 -2
  10. package/bundle/dist/application/qgrid/conv-routing.js +1 -2
  11. package/bundle/dist/application/qgrid/oauth.js +1 -2
  12. package/bundle/dist/application/qgrid/qgrid-image-generation.js +1 -2
  13. package/bundle/dist/application/qgrid/qgrid-response-format.js +1 -2
  14. package/bundle/dist/application/qgrid/qgrid-run-lifecycle.js +86 -43
  15. package/bundle/dist/application/qgrid/qgrid.dispatcher.js +12 -5
  16. package/bundle/dist/application/qgrid/qgrid.frame.js +87 -92
  17. package/bundle/dist/application/qgrid/qgrid.types.js +47 -10
  18. package/bundle/dist/application/qgrid/token-subscriber.js +3 -2
  19. package/bundle/dist/application/qgrid/token-trigger-setup.js +1 -2
  20. package/bundle/dist/application/qgrid/tool-emulation.js +1 -2
  21. package/bundle/dist/application/queries.generated.js +1 -2
  22. package/bundle/dist/application/request-log/request-log.model.js +143 -47
  23. package/bundle/dist/application/request-log/request-log.types.js +1 -2
  24. package/bundle/dist/application/request-log-step/request-log-step.model.js +3 -4
  25. package/bundle/dist/application/request-log-step/request-log-step.types.js +8 -2
  26. package/bundle/dist/application/sonamu.generated.js +41 -6
  27. package/bundle/dist/application/sonamu.generated.sso.js +25 -2
  28. package/bundle/dist/application/token/token.model.js +3 -4
  29. package/bundle/dist/application/token/token.types.js +1 -2
  30. package/bundle/dist/codex-protocol/AbsolutePathBuf.js +0 -1
  31. package/bundle/dist/codex-protocol/AgentPath.js +0 -1
  32. package/bundle/dist/codex-protocol/ApplyPatchApprovalParams.js +0 -1
  33. package/bundle/dist/codex-protocol/ApplyPatchApprovalResponse.js +0 -1
  34. package/bundle/dist/codex-protocol/AuthMode.js +0 -1
  35. package/bundle/dist/codex-protocol/ClientInfo.js +0 -1
  36. package/bundle/dist/codex-protocol/ClientNotification.js +0 -1
  37. package/bundle/dist/codex-protocol/ClientRequest.js +0 -1
  38. package/bundle/dist/codex-protocol/CollaborationMode.js +0 -1
  39. package/bundle/dist/codex-protocol/ContentItem.js +0 -1
  40. package/bundle/dist/codex-protocol/ConversationGitInfo.js +0 -1
  41. package/bundle/dist/codex-protocol/ConversationSummary.js +0 -1
  42. package/bundle/dist/codex-protocol/ExecCommandApprovalParams.js +0 -1
  43. package/bundle/dist/codex-protocol/ExecCommandApprovalResponse.js +0 -1
  44. package/bundle/dist/codex-protocol/ExecPolicyAmendment.js +0 -1
  45. package/bundle/dist/codex-protocol/FileChange.js +0 -1
  46. package/bundle/dist/codex-protocol/ForcedLoginMethod.js +0 -1
  47. package/bundle/dist/codex-protocol/FunctionCallOutputBody.js +0 -1
  48. package/bundle/dist/codex-protocol/FunctionCallOutputContentItem.js +0 -1
  49. package/bundle/dist/codex-protocol/FuzzyFileSearchMatchType.js +0 -1
  50. package/bundle/dist/codex-protocol/FuzzyFileSearchParams.js +0 -1
  51. package/bundle/dist/codex-protocol/FuzzyFileSearchResponse.js +0 -1
  52. package/bundle/dist/codex-protocol/FuzzyFileSearchResult.js +0 -1
  53. package/bundle/dist/codex-protocol/FuzzyFileSearchSessionCompletedNotification.js +0 -1
  54. package/bundle/dist/codex-protocol/FuzzyFileSearchSessionUpdatedNotification.js +0 -1
  55. package/bundle/dist/codex-protocol/GetAuthStatusParams.js +0 -1
  56. package/bundle/dist/codex-protocol/GetAuthStatusResponse.js +0 -1
  57. package/bundle/dist/codex-protocol/GetConversationSummaryParams.js +0 -1
  58. package/bundle/dist/codex-protocol/GetConversationSummaryResponse.js +0 -1
  59. package/bundle/dist/codex-protocol/GitDiffToRemoteParams.js +0 -1
  60. package/bundle/dist/codex-protocol/GitDiffToRemoteResponse.js +0 -1
  61. package/bundle/dist/codex-protocol/GitSha.js +0 -1
  62. package/bundle/dist/codex-protocol/ImageDetail.js +0 -1
  63. package/bundle/dist/codex-protocol/InitializeCapabilities.js +0 -1
  64. package/bundle/dist/codex-protocol/InitializeParams.js +0 -1
  65. package/bundle/dist/codex-protocol/InitializeResponse.js +0 -1
  66. package/bundle/dist/codex-protocol/InputModality.js +0 -1
  67. package/bundle/dist/codex-protocol/InternalSessionSource.js +0 -1
  68. package/bundle/dist/codex-protocol/LocalShellAction.js +0 -1
  69. package/bundle/dist/codex-protocol/LocalShellExecAction.js +0 -1
  70. package/bundle/dist/codex-protocol/LocalShellStatus.js +0 -1
  71. package/bundle/dist/codex-protocol/MessagePhase.js +0 -1
  72. package/bundle/dist/codex-protocol/ModeKind.js +0 -1
  73. package/bundle/dist/codex-protocol/NetworkPolicyAmendment.js +0 -1
  74. package/bundle/dist/codex-protocol/NetworkPolicyRuleAction.js +0 -1
  75. package/bundle/dist/codex-protocol/ParsedCommand.js +0 -1
  76. package/bundle/dist/codex-protocol/Personality.js +0 -1
  77. package/bundle/dist/codex-protocol/PlanType.js +0 -1
  78. package/bundle/dist/codex-protocol/RealtimeConversationVersion.js +0 -1
  79. package/bundle/dist/codex-protocol/RealtimeOutputModality.js +0 -1
  80. package/bundle/dist/codex-protocol/RealtimeVoice.js +0 -1
  81. package/bundle/dist/codex-protocol/RealtimeVoicesList.js +0 -1
  82. package/bundle/dist/codex-protocol/ReasoningEffort.js +0 -1
  83. package/bundle/dist/codex-protocol/ReasoningItemContent.js +0 -1
  84. package/bundle/dist/codex-protocol/ReasoningItemReasoningSummary.js +0 -1
  85. package/bundle/dist/codex-protocol/ReasoningSummary.js +0 -1
  86. package/bundle/dist/codex-protocol/RequestId.js +0 -1
  87. package/bundle/dist/codex-protocol/Resource.js +0 -1
  88. package/bundle/dist/codex-protocol/ResourceContent.js +0 -1
  89. package/bundle/dist/codex-protocol/ResourceTemplate.js +0 -1
  90. package/bundle/dist/codex-protocol/ResponseItem.js +0 -1
  91. package/bundle/dist/codex-protocol/ReviewDecision.js +0 -1
  92. package/bundle/dist/codex-protocol/ServerNotification.js +0 -1
  93. package/bundle/dist/codex-protocol/ServerRequest.js +0 -1
  94. package/bundle/dist/codex-protocol/SessionSource.js +0 -1
  95. package/bundle/dist/codex-protocol/Settings.js +0 -1
  96. package/bundle/dist/codex-protocol/SubAgentSource.js +0 -1
  97. package/bundle/dist/codex-protocol/ThreadId.js +0 -1
  98. package/bundle/dist/codex-protocol/ThreadMemoryMode.js +0 -1
  99. package/bundle/dist/codex-protocol/Tool.js +0 -1
  100. package/bundle/dist/codex-protocol/Verbosity.js +0 -1
  101. package/bundle/dist/codex-protocol/WebSearchAction.js +0 -1
  102. package/bundle/dist/codex-protocol/WebSearchContextSize.js +0 -1
  103. package/bundle/dist/codex-protocol/WebSearchLocation.js +0 -1
  104. package/bundle/dist/codex-protocol/WebSearchMode.js +0 -1
  105. package/bundle/dist/codex-protocol/WebSearchToolConfig.js +0 -1
  106. package/bundle/dist/codex-protocol/index.js +0 -1
  107. package/bundle/dist/codex-protocol/serde_json/JsonValue.js +0 -1
  108. package/bundle/dist/codex-protocol/v2/Account.js +0 -1
  109. package/bundle/dist/codex-protocol/v2/AccountLoginCompletedNotification.js +0 -1
  110. package/bundle/dist/codex-protocol/v2/AccountRateLimitsUpdatedNotification.js +0 -1
  111. package/bundle/dist/codex-protocol/v2/AccountUpdatedNotification.js +0 -1
  112. package/bundle/dist/codex-protocol/v2/ActivePermissionProfile.js +0 -1
  113. package/bundle/dist/codex-protocol/v2/ActivePermissionProfileModification.js +0 -1
  114. package/bundle/dist/codex-protocol/v2/AddCreditsNudgeCreditType.js +0 -1
  115. package/bundle/dist/codex-protocol/v2/AddCreditsNudgeEmailStatus.js +0 -1
  116. package/bundle/dist/codex-protocol/v2/AdditionalFileSystemPermissions.js +0 -1
  117. package/bundle/dist/codex-protocol/v2/AdditionalNetworkPermissions.js +0 -1
  118. package/bundle/dist/codex-protocol/v2/AdditionalPermissionProfile.js +0 -1
  119. package/bundle/dist/codex-protocol/v2/AgentMessageDeltaNotification.js +0 -1
  120. package/bundle/dist/codex-protocol/v2/AnalyticsConfig.js +0 -1
  121. package/bundle/dist/codex-protocol/v2/AppBranding.js +0 -1
  122. package/bundle/dist/codex-protocol/v2/AppInfo.js +0 -1
  123. package/bundle/dist/codex-protocol/v2/AppListUpdatedNotification.js +0 -1
  124. package/bundle/dist/codex-protocol/v2/AppMetadata.js +0 -1
  125. package/bundle/dist/codex-protocol/v2/AppReview.js +0 -1
  126. package/bundle/dist/codex-protocol/v2/AppScreenshot.js +0 -1
  127. package/bundle/dist/codex-protocol/v2/AppSummary.js +0 -1
  128. package/bundle/dist/codex-protocol/v2/AppToolApproval.js +0 -1
  129. package/bundle/dist/codex-protocol/v2/AppToolsConfig.js +0 -1
  130. package/bundle/dist/codex-protocol/v2/ApprovalsReviewer.js +0 -1
  131. package/bundle/dist/codex-protocol/v2/AppsConfig.js +0 -1
  132. package/bundle/dist/codex-protocol/v2/AppsDefaultConfig.js +0 -1
  133. package/bundle/dist/codex-protocol/v2/AppsListParams.js +0 -1
  134. package/bundle/dist/codex-protocol/v2/AppsListResponse.js +0 -1
  135. package/bundle/dist/codex-protocol/v2/AskForApproval.js +0 -1
  136. package/bundle/dist/codex-protocol/v2/AutoReviewDecisionSource.js +0 -1
  137. package/bundle/dist/codex-protocol/v2/ByteRange.js +0 -1
  138. package/bundle/dist/codex-protocol/v2/CancelLoginAccountParams.js +0 -1
  139. package/bundle/dist/codex-protocol/v2/CancelLoginAccountResponse.js +0 -1
  140. package/bundle/dist/codex-protocol/v2/CancelLoginAccountStatus.js +0 -1
  141. package/bundle/dist/codex-protocol/v2/ChatgptAuthTokensRefreshParams.js +0 -1
  142. package/bundle/dist/codex-protocol/v2/ChatgptAuthTokensRefreshReason.js +0 -1
  143. package/bundle/dist/codex-protocol/v2/ChatgptAuthTokensRefreshResponse.js +0 -1
  144. package/bundle/dist/codex-protocol/v2/CodexErrorInfo.js +0 -1
  145. package/bundle/dist/codex-protocol/v2/CollabAgentState.js +0 -1
  146. package/bundle/dist/codex-protocol/v2/CollabAgentStatus.js +0 -1
  147. package/bundle/dist/codex-protocol/v2/CollabAgentTool.js +0 -1
  148. package/bundle/dist/codex-protocol/v2/CollabAgentToolCallStatus.js +0 -1
  149. package/bundle/dist/codex-protocol/v2/CollaborationModeMask.js +0 -1
  150. package/bundle/dist/codex-protocol/v2/CommandAction.js +0 -1
  151. package/bundle/dist/codex-protocol/v2/CommandExecOutputDeltaNotification.js +0 -1
  152. package/bundle/dist/codex-protocol/v2/CommandExecOutputStream.js +0 -1
  153. package/bundle/dist/codex-protocol/v2/CommandExecParams.js +0 -1
  154. package/bundle/dist/codex-protocol/v2/CommandExecResizeParams.js +0 -1
  155. package/bundle/dist/codex-protocol/v2/CommandExecResizeResponse.js +0 -1
  156. package/bundle/dist/codex-protocol/v2/CommandExecResponse.js +0 -1
  157. package/bundle/dist/codex-protocol/v2/CommandExecTerminalSize.js +0 -1
  158. package/bundle/dist/codex-protocol/v2/CommandExecTerminateParams.js +0 -1
  159. package/bundle/dist/codex-protocol/v2/CommandExecTerminateResponse.js +0 -1
  160. package/bundle/dist/codex-protocol/v2/CommandExecWriteParams.js +0 -1
  161. package/bundle/dist/codex-protocol/v2/CommandExecWriteResponse.js +0 -1
  162. package/bundle/dist/codex-protocol/v2/CommandExecutionApprovalDecision.js +0 -1
  163. package/bundle/dist/codex-protocol/v2/CommandExecutionOutputDeltaNotification.js +0 -1
  164. package/bundle/dist/codex-protocol/v2/CommandExecutionRequestApprovalParams.js +0 -1
  165. package/bundle/dist/codex-protocol/v2/CommandExecutionRequestApprovalResponse.js +0 -1
  166. package/bundle/dist/codex-protocol/v2/CommandExecutionSource.js +0 -1
  167. package/bundle/dist/codex-protocol/v2/CommandExecutionStatus.js +0 -1
  168. package/bundle/dist/codex-protocol/v2/CommandMigration.js +0 -1
  169. package/bundle/dist/codex-protocol/v2/Config.js +0 -1
  170. package/bundle/dist/codex-protocol/v2/ConfigBatchWriteParams.js +0 -1
  171. package/bundle/dist/codex-protocol/v2/ConfigEdit.js +0 -1
  172. package/bundle/dist/codex-protocol/v2/ConfigLayer.js +0 -1
  173. package/bundle/dist/codex-protocol/v2/ConfigLayerMetadata.js +0 -1
  174. package/bundle/dist/codex-protocol/v2/ConfigLayerSource.js +0 -1
  175. package/bundle/dist/codex-protocol/v2/ConfigReadParams.js +0 -1
  176. package/bundle/dist/codex-protocol/v2/ConfigReadResponse.js +0 -1
  177. package/bundle/dist/codex-protocol/v2/ConfigRequirements.js +0 -1
  178. package/bundle/dist/codex-protocol/v2/ConfigRequirementsReadResponse.js +0 -1
  179. package/bundle/dist/codex-protocol/v2/ConfigValueWriteParams.js +0 -1
  180. package/bundle/dist/codex-protocol/v2/ConfigWarningNotification.js +0 -1
  181. package/bundle/dist/codex-protocol/v2/ConfigWriteResponse.js +0 -1
  182. package/bundle/dist/codex-protocol/v2/ConfiguredHookHandler.js +0 -1
  183. package/bundle/dist/codex-protocol/v2/ConfiguredHookMatcherGroup.js +0 -1
  184. package/bundle/dist/codex-protocol/v2/ContextCompactedNotification.js +0 -1
  185. package/bundle/dist/codex-protocol/v2/CreditsSnapshot.js +0 -1
  186. package/bundle/dist/codex-protocol/v2/DeprecationNoticeNotification.js +0 -1
  187. package/bundle/dist/codex-protocol/v2/DynamicToolCallOutputContentItem.js +0 -1
  188. package/bundle/dist/codex-protocol/v2/DynamicToolCallParams.js +0 -1
  189. package/bundle/dist/codex-protocol/v2/DynamicToolCallResponse.js +0 -1
  190. package/bundle/dist/codex-protocol/v2/DynamicToolCallStatus.js +0 -1
  191. package/bundle/dist/codex-protocol/v2/DynamicToolSpec.js +0 -1
  192. package/bundle/dist/codex-protocol/v2/ErrorNotification.js +0 -1
  193. package/bundle/dist/codex-protocol/v2/ExecPolicyAmendment.js +0 -1
  194. package/bundle/dist/codex-protocol/v2/ExperimentalFeature.js +0 -1
  195. package/bundle/dist/codex-protocol/v2/ExperimentalFeatureEnablementSetParams.js +0 -1
  196. package/bundle/dist/codex-protocol/v2/ExperimentalFeatureEnablementSetResponse.js +0 -1
  197. package/bundle/dist/codex-protocol/v2/ExperimentalFeatureListParams.js +0 -1
  198. package/bundle/dist/codex-protocol/v2/ExperimentalFeatureListResponse.js +0 -1
  199. package/bundle/dist/codex-protocol/v2/ExperimentalFeatureStage.js +0 -1
  200. package/bundle/dist/codex-protocol/v2/ExternalAgentConfigDetectParams.js +0 -1
  201. package/bundle/dist/codex-protocol/v2/ExternalAgentConfigDetectResponse.js +0 -1
  202. package/bundle/dist/codex-protocol/v2/ExternalAgentConfigImportCompletedNotification.js +0 -1
  203. package/bundle/dist/codex-protocol/v2/ExternalAgentConfigImportParams.js +0 -1
  204. package/bundle/dist/codex-protocol/v2/ExternalAgentConfigImportResponse.js +0 -1
  205. package/bundle/dist/codex-protocol/v2/ExternalAgentConfigMigrationItem.js +0 -1
  206. package/bundle/dist/codex-protocol/v2/ExternalAgentConfigMigrationItemType.js +0 -1
  207. package/bundle/dist/codex-protocol/v2/FeedbackUploadParams.js +0 -1
  208. package/bundle/dist/codex-protocol/v2/FeedbackUploadResponse.js +0 -1
  209. package/bundle/dist/codex-protocol/v2/FileChangeApprovalDecision.js +0 -1
  210. package/bundle/dist/codex-protocol/v2/FileChangeOutputDeltaNotification.js +0 -1
  211. package/bundle/dist/codex-protocol/v2/FileChangePatchUpdatedNotification.js +0 -1
  212. package/bundle/dist/codex-protocol/v2/FileChangeRequestApprovalParams.js +0 -1
  213. package/bundle/dist/codex-protocol/v2/FileChangeRequestApprovalResponse.js +0 -1
  214. package/bundle/dist/codex-protocol/v2/FileSystemAccessMode.js +0 -1
  215. package/bundle/dist/codex-protocol/v2/FileSystemPath.js +0 -1
  216. package/bundle/dist/codex-protocol/v2/FileSystemSandboxEntry.js +0 -1
  217. package/bundle/dist/codex-protocol/v2/FileSystemSpecialPath.js +0 -1
  218. package/bundle/dist/codex-protocol/v2/FileUpdateChange.js +0 -1
  219. package/bundle/dist/codex-protocol/v2/FsChangedNotification.js +0 -1
  220. package/bundle/dist/codex-protocol/v2/FsCopyParams.js +0 -1
  221. package/bundle/dist/codex-protocol/v2/FsCopyResponse.js +0 -1
  222. package/bundle/dist/codex-protocol/v2/FsCreateDirectoryParams.js +0 -1
  223. package/bundle/dist/codex-protocol/v2/FsCreateDirectoryResponse.js +0 -1
  224. package/bundle/dist/codex-protocol/v2/FsGetMetadataParams.js +0 -1
  225. package/bundle/dist/codex-protocol/v2/FsGetMetadataResponse.js +0 -1
  226. package/bundle/dist/codex-protocol/v2/FsReadDirectoryEntry.js +0 -1
  227. package/bundle/dist/codex-protocol/v2/FsReadDirectoryParams.js +0 -1
  228. package/bundle/dist/codex-protocol/v2/FsReadDirectoryResponse.js +0 -1
  229. package/bundle/dist/codex-protocol/v2/FsReadFileParams.js +0 -1
  230. package/bundle/dist/codex-protocol/v2/FsReadFileResponse.js +0 -1
  231. package/bundle/dist/codex-protocol/v2/FsRemoveParams.js +0 -1
  232. package/bundle/dist/codex-protocol/v2/FsRemoveResponse.js +0 -1
  233. package/bundle/dist/codex-protocol/v2/FsUnwatchParams.js +0 -1
  234. package/bundle/dist/codex-protocol/v2/FsUnwatchResponse.js +0 -1
  235. package/bundle/dist/codex-protocol/v2/FsWatchParams.js +0 -1
  236. package/bundle/dist/codex-protocol/v2/FsWatchResponse.js +0 -1
  237. package/bundle/dist/codex-protocol/v2/FsWriteFileParams.js +0 -1
  238. package/bundle/dist/codex-protocol/v2/FsWriteFileResponse.js +0 -1
  239. package/bundle/dist/codex-protocol/v2/GetAccountParams.js +0 -1
  240. package/bundle/dist/codex-protocol/v2/GetAccountRateLimitsResponse.js +0 -1
  241. package/bundle/dist/codex-protocol/v2/GetAccountResponse.js +0 -1
  242. package/bundle/dist/codex-protocol/v2/GitInfo.js +0 -1
  243. package/bundle/dist/codex-protocol/v2/GrantedPermissionProfile.js +0 -1
  244. package/bundle/dist/codex-protocol/v2/GuardianApprovalReview.js +0 -1
  245. package/bundle/dist/codex-protocol/v2/GuardianApprovalReviewAction.js +0 -1
  246. package/bundle/dist/codex-protocol/v2/GuardianApprovalReviewStatus.js +0 -1
  247. package/bundle/dist/codex-protocol/v2/GuardianCommandSource.js +0 -1
  248. package/bundle/dist/codex-protocol/v2/GuardianRiskLevel.js +0 -1
  249. package/bundle/dist/codex-protocol/v2/GuardianUserAuthorization.js +0 -1
  250. package/bundle/dist/codex-protocol/v2/GuardianWarningNotification.js +0 -1
  251. package/bundle/dist/codex-protocol/v2/HookCompletedNotification.js +0 -1
  252. package/bundle/dist/codex-protocol/v2/HookErrorInfo.js +0 -1
  253. package/bundle/dist/codex-protocol/v2/HookEventName.js +0 -1
  254. package/bundle/dist/codex-protocol/v2/HookExecutionMode.js +0 -1
  255. package/bundle/dist/codex-protocol/v2/HookHandlerType.js +0 -1
  256. package/bundle/dist/codex-protocol/v2/HookMetadata.js +0 -1
  257. package/bundle/dist/codex-protocol/v2/HookMigration.js +0 -1
  258. package/bundle/dist/codex-protocol/v2/HookOutputEntry.js +0 -1
  259. package/bundle/dist/codex-protocol/v2/HookOutputEntryKind.js +0 -1
  260. package/bundle/dist/codex-protocol/v2/HookPromptFragment.js +0 -1
  261. package/bundle/dist/codex-protocol/v2/HookRunStatus.js +0 -1
  262. package/bundle/dist/codex-protocol/v2/HookRunSummary.js +0 -1
  263. package/bundle/dist/codex-protocol/v2/HookScope.js +0 -1
  264. package/bundle/dist/codex-protocol/v2/HookSource.js +0 -1
  265. package/bundle/dist/codex-protocol/v2/HookStartedNotification.js +0 -1
  266. package/bundle/dist/codex-protocol/v2/HookTrustStatus.js +0 -1
  267. package/bundle/dist/codex-protocol/v2/HooksListEntry.js +0 -1
  268. package/bundle/dist/codex-protocol/v2/HooksListParams.js +0 -1
  269. package/bundle/dist/codex-protocol/v2/HooksListResponse.js +0 -1
  270. package/bundle/dist/codex-protocol/v2/ItemCompletedNotification.js +0 -1
  271. package/bundle/dist/codex-protocol/v2/ItemGuardianApprovalReviewCompletedNotification.js +0 -1
  272. package/bundle/dist/codex-protocol/v2/ItemGuardianApprovalReviewStartedNotification.js +0 -1
  273. package/bundle/dist/codex-protocol/v2/ItemStartedNotification.js +0 -1
  274. package/bundle/dist/codex-protocol/v2/ListMcpServerStatusParams.js +0 -1
  275. package/bundle/dist/codex-protocol/v2/ListMcpServerStatusResponse.js +0 -1
  276. package/bundle/dist/codex-protocol/v2/LoginAccountParams.js +0 -1
  277. package/bundle/dist/codex-protocol/v2/LoginAccountResponse.js +0 -1
  278. package/bundle/dist/codex-protocol/v2/LogoutAccountResponse.js +0 -1
  279. package/bundle/dist/codex-protocol/v2/ManagedHooksRequirements.js +0 -1
  280. package/bundle/dist/codex-protocol/v2/MarketplaceAddParams.js +0 -1
  281. package/bundle/dist/codex-protocol/v2/MarketplaceAddResponse.js +0 -1
  282. package/bundle/dist/codex-protocol/v2/MarketplaceInterface.js +0 -1
  283. package/bundle/dist/codex-protocol/v2/MarketplaceLoadErrorInfo.js +0 -1
  284. package/bundle/dist/codex-protocol/v2/MarketplaceRemoveParams.js +0 -1
  285. package/bundle/dist/codex-protocol/v2/MarketplaceRemoveResponse.js +0 -1
  286. package/bundle/dist/codex-protocol/v2/MarketplaceUpgradeErrorInfo.js +0 -1
  287. package/bundle/dist/codex-protocol/v2/MarketplaceUpgradeParams.js +0 -1
  288. package/bundle/dist/codex-protocol/v2/MarketplaceUpgradeResponse.js +0 -1
  289. package/bundle/dist/codex-protocol/v2/McpAuthStatus.js +0 -1
  290. package/bundle/dist/codex-protocol/v2/McpElicitationArrayType.js +0 -1
  291. package/bundle/dist/codex-protocol/v2/McpElicitationBooleanSchema.js +0 -1
  292. package/bundle/dist/codex-protocol/v2/McpElicitationBooleanType.js +0 -1
  293. package/bundle/dist/codex-protocol/v2/McpElicitationConstOption.js +0 -1
  294. package/bundle/dist/codex-protocol/v2/McpElicitationEnumSchema.js +0 -1
  295. package/bundle/dist/codex-protocol/v2/McpElicitationLegacyTitledEnumSchema.js +0 -1
  296. package/bundle/dist/codex-protocol/v2/McpElicitationMultiSelectEnumSchema.js +0 -1
  297. package/bundle/dist/codex-protocol/v2/McpElicitationNumberSchema.js +0 -1
  298. package/bundle/dist/codex-protocol/v2/McpElicitationNumberType.js +0 -1
  299. package/bundle/dist/codex-protocol/v2/McpElicitationObjectType.js +0 -1
  300. package/bundle/dist/codex-protocol/v2/McpElicitationPrimitiveSchema.js +0 -1
  301. package/bundle/dist/codex-protocol/v2/McpElicitationSchema.js +0 -1
  302. package/bundle/dist/codex-protocol/v2/McpElicitationSingleSelectEnumSchema.js +0 -1
  303. package/bundle/dist/codex-protocol/v2/McpElicitationStringFormat.js +0 -1
  304. package/bundle/dist/codex-protocol/v2/McpElicitationStringSchema.js +0 -1
  305. package/bundle/dist/codex-protocol/v2/McpElicitationStringType.js +0 -1
  306. package/bundle/dist/codex-protocol/v2/McpElicitationTitledEnumItems.js +0 -1
  307. package/bundle/dist/codex-protocol/v2/McpElicitationTitledMultiSelectEnumSchema.js +0 -1
  308. package/bundle/dist/codex-protocol/v2/McpElicitationTitledSingleSelectEnumSchema.js +0 -1
  309. package/bundle/dist/codex-protocol/v2/McpElicitationUntitledEnumItems.js +0 -1
  310. package/bundle/dist/codex-protocol/v2/McpElicitationUntitledMultiSelectEnumSchema.js +0 -1
  311. package/bundle/dist/codex-protocol/v2/McpElicitationUntitledSingleSelectEnumSchema.js +0 -1
  312. package/bundle/dist/codex-protocol/v2/McpResourceReadParams.js +0 -1
  313. package/bundle/dist/codex-protocol/v2/McpResourceReadResponse.js +0 -1
  314. package/bundle/dist/codex-protocol/v2/McpServerElicitationAction.js +0 -1
  315. package/bundle/dist/codex-protocol/v2/McpServerElicitationRequestParams.js +0 -1
  316. package/bundle/dist/codex-protocol/v2/McpServerElicitationRequestResponse.js +0 -1
  317. package/bundle/dist/codex-protocol/v2/McpServerMigration.js +0 -1
  318. package/bundle/dist/codex-protocol/v2/McpServerOauthLoginCompletedNotification.js +0 -1
  319. package/bundle/dist/codex-protocol/v2/McpServerOauthLoginParams.js +0 -1
  320. package/bundle/dist/codex-protocol/v2/McpServerOauthLoginResponse.js +0 -1
  321. package/bundle/dist/codex-protocol/v2/McpServerRefreshResponse.js +0 -1
  322. package/bundle/dist/codex-protocol/v2/McpServerStartupState.js +0 -1
  323. package/bundle/dist/codex-protocol/v2/McpServerStatus.js +0 -1
  324. package/bundle/dist/codex-protocol/v2/McpServerStatusDetail.js +0 -1
  325. package/bundle/dist/codex-protocol/v2/McpServerStatusUpdatedNotification.js +0 -1
  326. package/bundle/dist/codex-protocol/v2/McpServerToolCallParams.js +0 -1
  327. package/bundle/dist/codex-protocol/v2/McpServerToolCallResponse.js +0 -1
  328. package/bundle/dist/codex-protocol/v2/McpToolCallError.js +0 -1
  329. package/bundle/dist/codex-protocol/v2/McpToolCallProgressNotification.js +0 -1
  330. package/bundle/dist/codex-protocol/v2/McpToolCallResult.js +0 -1
  331. package/bundle/dist/codex-protocol/v2/McpToolCallStatus.js +0 -1
  332. package/bundle/dist/codex-protocol/v2/MemoryCitation.js +0 -1
  333. package/bundle/dist/codex-protocol/v2/MemoryCitationEntry.js +0 -1
  334. package/bundle/dist/codex-protocol/v2/MergeStrategy.js +0 -1
  335. package/bundle/dist/codex-protocol/v2/MigrationDetails.js +0 -1
  336. package/bundle/dist/codex-protocol/v2/Model.js +0 -1
  337. package/bundle/dist/codex-protocol/v2/ModelAvailabilityNux.js +0 -1
  338. package/bundle/dist/codex-protocol/v2/ModelListParams.js +0 -1
  339. package/bundle/dist/codex-protocol/v2/ModelListResponse.js +0 -1
  340. package/bundle/dist/codex-protocol/v2/ModelProviderCapabilitiesReadParams.js +0 -1
  341. package/bundle/dist/codex-protocol/v2/ModelProviderCapabilitiesReadResponse.js +0 -1
  342. package/bundle/dist/codex-protocol/v2/ModelRerouteReason.js +0 -1
  343. package/bundle/dist/codex-protocol/v2/ModelReroutedNotification.js +0 -1
  344. package/bundle/dist/codex-protocol/v2/ModelServiceTier.js +0 -1
  345. package/bundle/dist/codex-protocol/v2/ModelUpgradeInfo.js +0 -1
  346. package/bundle/dist/codex-protocol/v2/ModelVerification.js +0 -1
  347. package/bundle/dist/codex-protocol/v2/ModelVerificationNotification.js +0 -1
  348. package/bundle/dist/codex-protocol/v2/NetworkAccess.js +0 -1
  349. package/bundle/dist/codex-protocol/v2/NetworkApprovalContext.js +0 -1
  350. package/bundle/dist/codex-protocol/v2/NetworkApprovalProtocol.js +0 -1
  351. package/bundle/dist/codex-protocol/v2/NetworkDomainPermission.js +0 -1
  352. package/bundle/dist/codex-protocol/v2/NetworkPolicyAmendment.js +0 -1
  353. package/bundle/dist/codex-protocol/v2/NetworkPolicyRuleAction.js +0 -1
  354. package/bundle/dist/codex-protocol/v2/NetworkRequirements.js +0 -1
  355. package/bundle/dist/codex-protocol/v2/NetworkUnixSocketPermission.js +0 -1
  356. package/bundle/dist/codex-protocol/v2/NonSteerableTurnKind.js +0 -1
  357. package/bundle/dist/codex-protocol/v2/OverriddenMetadata.js +0 -1
  358. package/bundle/dist/codex-protocol/v2/PatchApplyStatus.js +0 -1
  359. package/bundle/dist/codex-protocol/v2/PatchChangeKind.js +0 -1
  360. package/bundle/dist/codex-protocol/v2/PermissionGrantScope.js +0 -1
  361. package/bundle/dist/codex-protocol/v2/PermissionProfile.js +0 -1
  362. package/bundle/dist/codex-protocol/v2/PermissionProfileFileSystemPermissions.js +0 -1
  363. package/bundle/dist/codex-protocol/v2/PermissionProfileModificationParams.js +0 -1
  364. package/bundle/dist/codex-protocol/v2/PermissionProfileNetworkPermissions.js +0 -1
  365. package/bundle/dist/codex-protocol/v2/PermissionProfileSelectionParams.js +0 -1
  366. package/bundle/dist/codex-protocol/v2/PermissionsRequestApprovalParams.js +0 -1
  367. package/bundle/dist/codex-protocol/v2/PermissionsRequestApprovalResponse.js +0 -1
  368. package/bundle/dist/codex-protocol/v2/PlanDeltaNotification.js +0 -1
  369. package/bundle/dist/codex-protocol/v2/PluginAuthPolicy.js +0 -1
  370. package/bundle/dist/codex-protocol/v2/PluginAvailability.js +0 -1
  371. package/bundle/dist/codex-protocol/v2/PluginDetail.js +0 -1
  372. package/bundle/dist/codex-protocol/v2/PluginHookSummary.js +0 -1
  373. package/bundle/dist/codex-protocol/v2/PluginInstallParams.js +0 -1
  374. package/bundle/dist/codex-protocol/v2/PluginInstallPolicy.js +0 -1
  375. package/bundle/dist/codex-protocol/v2/PluginInstallResponse.js +0 -1
  376. package/bundle/dist/codex-protocol/v2/PluginInterface.js +0 -1
  377. package/bundle/dist/codex-protocol/v2/PluginListMarketplaceKind.js +0 -1
  378. package/bundle/dist/codex-protocol/v2/PluginListParams.js +0 -1
  379. package/bundle/dist/codex-protocol/v2/PluginListResponse.js +0 -1
  380. package/bundle/dist/codex-protocol/v2/PluginMarketplaceEntry.js +0 -1
  381. package/bundle/dist/codex-protocol/v2/PluginReadParams.js +0 -1
  382. package/bundle/dist/codex-protocol/v2/PluginReadResponse.js +0 -1
  383. package/bundle/dist/codex-protocol/v2/PluginShareContext.js +0 -1
  384. package/bundle/dist/codex-protocol/v2/PluginShareDeleteParams.js +0 -1
  385. package/bundle/dist/codex-protocol/v2/PluginShareDeleteResponse.js +0 -1
  386. package/bundle/dist/codex-protocol/v2/PluginShareDiscoverability.js +0 -1
  387. package/bundle/dist/codex-protocol/v2/PluginShareListItem.js +0 -1
  388. package/bundle/dist/codex-protocol/v2/PluginShareListParams.js +0 -1
  389. package/bundle/dist/codex-protocol/v2/PluginShareListResponse.js +0 -1
  390. package/bundle/dist/codex-protocol/v2/PluginSharePrincipal.js +0 -1
  391. package/bundle/dist/codex-protocol/v2/PluginSharePrincipalType.js +0 -1
  392. package/bundle/dist/codex-protocol/v2/PluginShareSaveParams.js +0 -1
  393. package/bundle/dist/codex-protocol/v2/PluginShareSaveResponse.js +0 -1
  394. package/bundle/dist/codex-protocol/v2/PluginShareTarget.js +0 -1
  395. package/bundle/dist/codex-protocol/v2/PluginShareUpdateDiscoverability.js +0 -1
  396. package/bundle/dist/codex-protocol/v2/PluginShareUpdateTargetsParams.js +0 -1
  397. package/bundle/dist/codex-protocol/v2/PluginShareUpdateTargetsResponse.js +0 -1
  398. package/bundle/dist/codex-protocol/v2/PluginSkillReadParams.js +0 -1
  399. package/bundle/dist/codex-protocol/v2/PluginSkillReadResponse.js +0 -1
  400. package/bundle/dist/codex-protocol/v2/PluginSource.js +0 -1
  401. package/bundle/dist/codex-protocol/v2/PluginSummary.js +0 -1
  402. package/bundle/dist/codex-protocol/v2/PluginUninstallParams.js +0 -1
  403. package/bundle/dist/codex-protocol/v2/PluginUninstallResponse.js +0 -1
  404. package/bundle/dist/codex-protocol/v2/PluginsMigration.js +0 -1
  405. package/bundle/dist/codex-protocol/v2/ProcessExitedNotification.js +0 -1
  406. package/bundle/dist/codex-protocol/v2/ProcessOutputDeltaNotification.js +0 -1
  407. package/bundle/dist/codex-protocol/v2/ProcessOutputStream.js +0 -1
  408. package/bundle/dist/codex-protocol/v2/ProcessTerminalSize.js +0 -1
  409. package/bundle/dist/codex-protocol/v2/ProfileV2.js +0 -1
  410. package/bundle/dist/codex-protocol/v2/RateLimitReachedType.js +0 -1
  411. package/bundle/dist/codex-protocol/v2/RateLimitSnapshot.js +0 -1
  412. package/bundle/dist/codex-protocol/v2/RateLimitWindow.js +0 -1
  413. package/bundle/dist/codex-protocol/v2/RawResponseItemCompletedNotification.js +0 -1
  414. package/bundle/dist/codex-protocol/v2/ReasoningEffortOption.js +0 -1
  415. package/bundle/dist/codex-protocol/v2/ReasoningSummaryPartAddedNotification.js +0 -1
  416. package/bundle/dist/codex-protocol/v2/ReasoningSummaryTextDeltaNotification.js +0 -1
  417. package/bundle/dist/codex-protocol/v2/ReasoningTextDeltaNotification.js +0 -1
  418. package/bundle/dist/codex-protocol/v2/RemoteControlConnectionStatus.js +0 -1
  419. package/bundle/dist/codex-protocol/v2/RemoteControlStatusChangedNotification.js +0 -1
  420. package/bundle/dist/codex-protocol/v2/RequestPermissionProfile.js +0 -1
  421. package/bundle/dist/codex-protocol/v2/ResidencyRequirement.js +0 -1
  422. package/bundle/dist/codex-protocol/v2/ReviewDelivery.js +0 -1
  423. package/bundle/dist/codex-protocol/v2/ReviewStartParams.js +0 -1
  424. package/bundle/dist/codex-protocol/v2/ReviewStartResponse.js +0 -1
  425. package/bundle/dist/codex-protocol/v2/ReviewTarget.js +0 -1
  426. package/bundle/dist/codex-protocol/v2/SandboxMode.js +0 -1
  427. package/bundle/dist/codex-protocol/v2/SandboxPolicy.js +0 -1
  428. package/bundle/dist/codex-protocol/v2/SandboxWorkspaceWrite.js +0 -1
  429. package/bundle/dist/codex-protocol/v2/SendAddCreditsNudgeEmailParams.js +0 -1
  430. package/bundle/dist/codex-protocol/v2/SendAddCreditsNudgeEmailResponse.js +0 -1
  431. package/bundle/dist/codex-protocol/v2/ServerRequestResolvedNotification.js +0 -1
  432. package/bundle/dist/codex-protocol/v2/SessionMigration.js +0 -1
  433. package/bundle/dist/codex-protocol/v2/SessionSource.js +0 -1
  434. package/bundle/dist/codex-protocol/v2/SkillDependencies.js +0 -1
  435. package/bundle/dist/codex-protocol/v2/SkillErrorInfo.js +0 -1
  436. package/bundle/dist/codex-protocol/v2/SkillInterface.js +0 -1
  437. package/bundle/dist/codex-protocol/v2/SkillMetadata.js +0 -1
  438. package/bundle/dist/codex-protocol/v2/SkillScope.js +0 -1
  439. package/bundle/dist/codex-protocol/v2/SkillSummary.js +0 -1
  440. package/bundle/dist/codex-protocol/v2/SkillToolDependency.js +0 -1
  441. package/bundle/dist/codex-protocol/v2/SkillsChangedNotification.js +0 -1
  442. package/bundle/dist/codex-protocol/v2/SkillsConfigWriteParams.js +0 -1
  443. package/bundle/dist/codex-protocol/v2/SkillsConfigWriteResponse.js +0 -1
  444. package/bundle/dist/codex-protocol/v2/SkillsListEntry.js +0 -1
  445. package/bundle/dist/codex-protocol/v2/SkillsListParams.js +0 -1
  446. package/bundle/dist/codex-protocol/v2/SkillsListResponse.js +0 -1
  447. package/bundle/dist/codex-protocol/v2/SortDirection.js +0 -1
  448. package/bundle/dist/codex-protocol/v2/SubagentMigration.js +0 -1
  449. package/bundle/dist/codex-protocol/v2/TerminalInteractionNotification.js +0 -1
  450. package/bundle/dist/codex-protocol/v2/TextElement.js +0 -1
  451. package/bundle/dist/codex-protocol/v2/TextPosition.js +0 -1
  452. package/bundle/dist/codex-protocol/v2/TextRange.js +0 -1
  453. package/bundle/dist/codex-protocol/v2/Thread.js +0 -1
  454. package/bundle/dist/codex-protocol/v2/ThreadActiveFlag.js +0 -1
  455. package/bundle/dist/codex-protocol/v2/ThreadApproveGuardianDeniedActionParams.js +0 -1
  456. package/bundle/dist/codex-protocol/v2/ThreadApproveGuardianDeniedActionResponse.js +0 -1
  457. package/bundle/dist/codex-protocol/v2/ThreadArchiveParams.js +0 -1
  458. package/bundle/dist/codex-protocol/v2/ThreadArchiveResponse.js +0 -1
  459. package/bundle/dist/codex-protocol/v2/ThreadArchivedNotification.js +0 -1
  460. package/bundle/dist/codex-protocol/v2/ThreadClosedNotification.js +0 -1
  461. package/bundle/dist/codex-protocol/v2/ThreadCompactStartParams.js +0 -1
  462. package/bundle/dist/codex-protocol/v2/ThreadCompactStartResponse.js +0 -1
  463. package/bundle/dist/codex-protocol/v2/ThreadForkParams.js +0 -1
  464. package/bundle/dist/codex-protocol/v2/ThreadForkResponse.js +0 -1
  465. package/bundle/dist/codex-protocol/v2/ThreadGoal.js +0 -1
  466. package/bundle/dist/codex-protocol/v2/ThreadGoalClearedNotification.js +0 -1
  467. package/bundle/dist/codex-protocol/v2/ThreadGoalStatus.js +0 -1
  468. package/bundle/dist/codex-protocol/v2/ThreadGoalUpdatedNotification.js +0 -1
  469. package/bundle/dist/codex-protocol/v2/ThreadInjectItemsParams.js +0 -1
  470. package/bundle/dist/codex-protocol/v2/ThreadInjectItemsResponse.js +0 -1
  471. package/bundle/dist/codex-protocol/v2/ThreadItem.js +0 -1
  472. package/bundle/dist/codex-protocol/v2/ThreadListParams.js +0 -1
  473. package/bundle/dist/codex-protocol/v2/ThreadListResponse.js +0 -1
  474. package/bundle/dist/codex-protocol/v2/ThreadLoadedListParams.js +0 -1
  475. package/bundle/dist/codex-protocol/v2/ThreadLoadedListResponse.js +0 -1
  476. package/bundle/dist/codex-protocol/v2/ThreadMetadataGitInfoUpdateParams.js +0 -1
  477. package/bundle/dist/codex-protocol/v2/ThreadMetadataUpdateParams.js +0 -1
  478. package/bundle/dist/codex-protocol/v2/ThreadMetadataUpdateResponse.js +0 -1
  479. package/bundle/dist/codex-protocol/v2/ThreadNameUpdatedNotification.js +0 -1
  480. package/bundle/dist/codex-protocol/v2/ThreadReadParams.js +0 -1
  481. package/bundle/dist/codex-protocol/v2/ThreadReadResponse.js +0 -1
  482. package/bundle/dist/codex-protocol/v2/ThreadRealtimeAudioChunk.js +0 -1
  483. package/bundle/dist/codex-protocol/v2/ThreadRealtimeClosedNotification.js +0 -1
  484. package/bundle/dist/codex-protocol/v2/ThreadRealtimeErrorNotification.js +0 -1
  485. package/bundle/dist/codex-protocol/v2/ThreadRealtimeItemAddedNotification.js +0 -1
  486. package/bundle/dist/codex-protocol/v2/ThreadRealtimeOutputAudioDeltaNotification.js +0 -1
  487. package/bundle/dist/codex-protocol/v2/ThreadRealtimeSdpNotification.js +0 -1
  488. package/bundle/dist/codex-protocol/v2/ThreadRealtimeStartTransport.js +0 -1
  489. package/bundle/dist/codex-protocol/v2/ThreadRealtimeStartedNotification.js +0 -1
  490. package/bundle/dist/codex-protocol/v2/ThreadRealtimeTranscriptDeltaNotification.js +0 -1
  491. package/bundle/dist/codex-protocol/v2/ThreadRealtimeTranscriptDoneNotification.js +0 -1
  492. package/bundle/dist/codex-protocol/v2/ThreadResumeParams.js +0 -1
  493. package/bundle/dist/codex-protocol/v2/ThreadResumeResponse.js +0 -1
  494. package/bundle/dist/codex-protocol/v2/ThreadRollbackParams.js +0 -1
  495. package/bundle/dist/codex-protocol/v2/ThreadRollbackResponse.js +0 -1
  496. package/bundle/dist/codex-protocol/v2/ThreadSetNameParams.js +0 -1
  497. package/bundle/dist/codex-protocol/v2/ThreadSetNameResponse.js +0 -1
  498. package/bundle/dist/codex-protocol/v2/ThreadShellCommandParams.js +0 -1
  499. package/bundle/dist/codex-protocol/v2/ThreadShellCommandResponse.js +0 -1
  500. package/bundle/dist/codex-protocol/v2/ThreadSortKey.js +0 -1
  501. package/bundle/dist/codex-protocol/v2/ThreadSource.js +0 -1
  502. package/bundle/dist/codex-protocol/v2/ThreadSourceKind.js +0 -1
  503. package/bundle/dist/codex-protocol/v2/ThreadStartParams.js +0 -1
  504. package/bundle/dist/codex-protocol/v2/ThreadStartResponse.js +0 -1
  505. package/bundle/dist/codex-protocol/v2/ThreadStartSource.js +0 -1
  506. package/bundle/dist/codex-protocol/v2/ThreadStartedNotification.js +0 -1
  507. package/bundle/dist/codex-protocol/v2/ThreadStatus.js +0 -1
  508. package/bundle/dist/codex-protocol/v2/ThreadStatusChangedNotification.js +0 -1
  509. package/bundle/dist/codex-protocol/v2/ThreadTokenUsage.js +0 -1
  510. package/bundle/dist/codex-protocol/v2/ThreadTokenUsageUpdatedNotification.js +0 -1
  511. package/bundle/dist/codex-protocol/v2/ThreadUnarchiveParams.js +0 -1
  512. package/bundle/dist/codex-protocol/v2/ThreadUnarchiveResponse.js +0 -1
  513. package/bundle/dist/codex-protocol/v2/ThreadUnarchivedNotification.js +0 -1
  514. package/bundle/dist/codex-protocol/v2/ThreadUnsubscribeParams.js +0 -1
  515. package/bundle/dist/codex-protocol/v2/ThreadUnsubscribeResponse.js +0 -1
  516. package/bundle/dist/codex-protocol/v2/ThreadUnsubscribeStatus.js +0 -1
  517. package/bundle/dist/codex-protocol/v2/TokenUsageBreakdown.js +0 -1
  518. package/bundle/dist/codex-protocol/v2/ToolRequestUserInputAnswer.js +0 -1
  519. package/bundle/dist/codex-protocol/v2/ToolRequestUserInputOption.js +0 -1
  520. package/bundle/dist/codex-protocol/v2/ToolRequestUserInputParams.js +0 -1
  521. package/bundle/dist/codex-protocol/v2/ToolRequestUserInputQuestion.js +0 -1
  522. package/bundle/dist/codex-protocol/v2/ToolRequestUserInputResponse.js +0 -1
  523. package/bundle/dist/codex-protocol/v2/ToolsV2.js +0 -1
  524. package/bundle/dist/codex-protocol/v2/Turn.js +0 -1
  525. package/bundle/dist/codex-protocol/v2/TurnCompletedNotification.js +0 -1
  526. package/bundle/dist/codex-protocol/v2/TurnDiffUpdatedNotification.js +0 -1
  527. package/bundle/dist/codex-protocol/v2/TurnEnvironmentParams.js +0 -1
  528. package/bundle/dist/codex-protocol/v2/TurnError.js +0 -1
  529. package/bundle/dist/codex-protocol/v2/TurnInterruptParams.js +0 -1
  530. package/bundle/dist/codex-protocol/v2/TurnInterruptResponse.js +0 -1
  531. package/bundle/dist/codex-protocol/v2/TurnItemsView.js +0 -1
  532. package/bundle/dist/codex-protocol/v2/TurnPlanStep.js +0 -1
  533. package/bundle/dist/codex-protocol/v2/TurnPlanStepStatus.js +0 -1
  534. package/bundle/dist/codex-protocol/v2/TurnPlanUpdatedNotification.js +0 -1
  535. package/bundle/dist/codex-protocol/v2/TurnStartParams.js +0 -1
  536. package/bundle/dist/codex-protocol/v2/TurnStartResponse.js +0 -1
  537. package/bundle/dist/codex-protocol/v2/TurnStartedNotification.js +0 -1
  538. package/bundle/dist/codex-protocol/v2/TurnStatus.js +0 -1
  539. package/bundle/dist/codex-protocol/v2/TurnSteerParams.js +0 -1
  540. package/bundle/dist/codex-protocol/v2/TurnSteerResponse.js +0 -1
  541. package/bundle/dist/codex-protocol/v2/UserInput.js +0 -1
  542. package/bundle/dist/codex-protocol/v2/WarningNotification.js +0 -1
  543. package/bundle/dist/codex-protocol/v2/WebSearchAction.js +0 -1
  544. package/bundle/dist/codex-protocol/v2/WindowsSandboxReadiness.js +0 -1
  545. package/bundle/dist/codex-protocol/v2/WindowsSandboxReadinessResponse.js +0 -1
  546. package/bundle/dist/codex-protocol/v2/WindowsSandboxSetupCompletedNotification.js +0 -1
  547. package/bundle/dist/codex-protocol/v2/WindowsSandboxSetupMode.js +0 -1
  548. package/bundle/dist/codex-protocol/v2/WindowsSandboxSetupStartParams.js +0 -1
  549. package/bundle/dist/codex-protocol/v2/WindowsSandboxSetupStartResponse.js +0 -1
  550. package/bundle/dist/codex-protocol/v2/WindowsWorldWritableWarningNotification.js +0 -1
  551. package/bundle/dist/codex-protocol/v2/WriteStatus.js +0 -1
  552. package/bundle/dist/i18n/en.js +1 -2
  553. package/bundle/dist/i18n/ko.js +1 -2
  554. package/bundle/dist/i18n/sd.generated.js +66 -21
  555. package/bundle/dist/index.js +1 -2
  556. package/bundle/dist/migrations/20260410171405_create__request_logs.js +1 -2
  557. package/bundle/dist/migrations/20260410171406_create__tokens.js +1 -2
  558. package/bundle/dist/migrations/20260411120624_alter_tokens_alter2.js +1 -2
  559. package/bundle/dist/migrations/20260415113716_alter_tokens_add_ord.js +1 -2
  560. package/bundle/dist/migrations/20260415134649_alter_request_logs_alter1.js +1 -2
  561. package/bundle/dist/migrations/20260421223627_alter_request_logs_add1_alter1.js +1 -2
  562. package/bundle/dist/migrations/20260423180818_alter_request_logs_add1_alter1.js +1 -2
  563. package/bundle/dist/migrations/20260423182017_alter_request_logs_add2_drop1_alter1.js +1 -2
  564. package/bundle/dist/migrations/20260423183613_alter_request_logs_add1_alter1.js +1 -2
  565. package/bundle/dist/migrations/20260518145411_alter_tokens_add2_drop4_alter1.js +1 -2
  566. package/bundle/dist/migrations/20260520112853_alter_request_logs_add3_alter1.js +1 -2
  567. package/bundle/dist/migrations/20260520124755_alter_request_logs_drop1_alter1.js +1 -2
  568. package/bundle/dist/migrations/20260520130420_create__request_log_steps.js +1 -2
  569. package/bundle/dist/migrations/20260520134908_alter_request_logs_add2_alter8.js +1 -2
  570. package/bundle/dist/migrations/20260520134909_alter_request_log_steps_add1_alter3.js +1 -2
  571. package/bundle/dist/migrations/20260520141449_alter_request_logs_add1_alter1.js +1 -2
  572. package/bundle/dist/migrations/20260521134025_alter_request_log_steps_alter1.js +1 -2
  573. package/bundle/dist/migrations/20260521134026_alter_request_log_steps_foreigns.js +1 -2
  574. package/bundle/dist/migrations/20260522181721_alter_request_log_steps_add2_alter1.js +1 -2
  575. package/bundle/dist/migrations/20260630223950_alter_tokens_add1_alter1.js +1 -2
  576. package/bundle/dist/migrations/20260701105327_alter_request_logs_add1_alter1.js +1 -2
  577. package/bundle/dist/migrations/20260701105328_alter_request_log_steps_add1_alter1.js +1 -2
  578. package/bundle/dist/migrations/20260705140614_alter_request_logs_add1_alter1.js +1 -2
  579. package/bundle/dist/migrations/20260706120000_alter_request_logs_add_image_cost.js +1 -2
  580. package/bundle/dist/migrations/20260710090000_alter_tokens_add_weight.js +1 -2
  581. package/bundle/dist/migrations/20260718180824_alter_request_logs_add5_alter1.js +19 -0
  582. package/bundle/dist/migrations/20260718180825_alter_request_log_steps_add7_alter1.js +21 -0
  583. package/bundle/dist/migrations/20260722174410_alter_request_logs_alter3.js +17 -0
  584. package/bundle/dist/migrations/20260722174411_alter_request_log_steps_alter3.js +17 -0
  585. package/bundle/dist/node_modules/.pnpm/@jridgewell_sourcemap-codec@1.5.5/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.js +255 -4
  586. package/bundle/dist/node_modules/.pnpm/@vitest_expect@4.1.10/node_modules/@vitest/expect/dist/index.js +1507 -0
  587. package/bundle/dist/node_modules/.pnpm/@vitest_pretty-format@4.1.10/node_modules/@vitest/pretty-format/dist/index.js +887 -0
  588. package/bundle/dist/node_modules/.pnpm/@vitest_runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js +2756 -0
  589. package/bundle/dist/node_modules/.pnpm/@vitest_runner@4.1.10/node_modules/@vitest/runner/dist/index.js +8 -0
  590. package/bundle/dist/node_modules/.pnpm/@vitest_runner@4.1.10/node_modules/@vitest/runner/dist/utils.js +8 -0
  591. package/bundle/dist/node_modules/.pnpm/@vitest_snapshot@4.1.10/node_modules/@vitest/snapshot/dist/index.js +922 -0
  592. package/bundle/dist/node_modules/.pnpm/@vitest_spy@4.1.10/node_modules/@vitest/spy/dist/index.js +386 -0
  593. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/chunk-pathe.M-eThtNZ.js +121 -0
  594. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/constants.js +51 -0
  595. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/diff.js +1317 -0
  596. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/display.js +561 -0
  597. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/error.js +40 -0
  598. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/helpers.js +272 -0
  599. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/offset.js +27 -0
  600. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/serialize.js +77 -0
  601. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/source-map.js +381 -0
  602. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/timers.js +51 -0
  603. package/bundle/dist/node_modules/.pnpm/chai@6.2.2/node_modules/chai/index.js +103 -3
  604. package/bundle/dist/node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/branding.js +1 -1
  605. package/bundle/dist/node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/index.js +1 -1
  606. package/bundle/dist/node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/messages.js +1 -1
  607. package/bundle/dist/node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/overloads.js +1 -1
  608. package/bundle/dist/node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/utils.js +1 -1
  609. package/bundle/dist/node_modules/.pnpm/magic-string@0.30.21/node_modules/magic-string/dist/magic-string.es.js +2 -3
  610. package/bundle/dist/node_modules/.pnpm/pathe@2.0.3/node_modules/pathe/dist/index.js +4 -4
  611. package/bundle/dist/node_modules/.pnpm/pathe@2.0.3/node_modules/pathe/dist/shared/pathe.M-eThtNZ.js +2 -2
  612. package/bundle/dist/node_modules/.pnpm/tinybench@2.9.0/node_modules/tinybench/dist/index.js +18 -7
  613. package/bundle/dist/node_modules/.pnpm/tinyrainbow@3.1.0/node_modules/tinyrainbow/dist/index.js +18 -3
  614. package/bundle/dist/node_modules/.pnpm/vite@8.0.3_@emnapi_core@1.11.2_@emnapi_runtime@1.11.2_@types_node@25.0.7_esbuild@0.27.4_2519c2e8d8013fcbc7b443879bc9da6d/node_modules/vite/dist/node/module-runner.js +1265 -0
  615. package/bundle/dist/node_modules/.pnpm/{vitest@4.1.2_@opentelemetry_api@1.9.0_@types_node@25.0.7_msw@2.13.3_@types_node@25.0.7__ba64bc4dd2e2bdde58df187864f65496 → vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_ms_f9cfcfeddd63e656d4010c98521af26c}/node_modules/vitest/dist/chunks/_commonjsHelpers.D26ty3Ew.js +6 -3
  616. package/bundle/dist/node_modules/.pnpm/{vitest@4.1.2_@opentelemetry_api@1.9.0_@types_node@25.0.7_msw@2.13.3_@types_node@25.0.7__ba64bc4dd2e2bdde58df187864f65496 → vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_ms_f9cfcfeddd63e656d4010c98521af26c}/node_modules/vitest/dist/chunks/benchmark.CX_oY03V.js +8 -8
  617. package/bundle/dist/node_modules/.pnpm/{vitest@4.1.2_@opentelemetry_api@1.9.0_@types_node@25.0.7_msw@2.13.3_@types_node@25.0.7__ba64bc4dd2e2bdde58df187864f65496 → vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_ms_f9cfcfeddd63e656d4010c98521af26c}/node_modules/vitest/dist/chunks/evaluatedModules.Dg1zASAC.js +5 -5
  618. package/bundle/dist/node_modules/.pnpm/{vitest@4.1.2_@opentelemetry_api@1.9.0_@types_node@25.0.7_msw@2.13.3_@types_node@25.0.7__ba64bc4dd2e2bdde58df187864f65496 → vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_ms_f9cfcfeddd63e656d4010c98521af26c}/node_modules/vitest/dist/chunks/index.Chj8NDwU.js +3 -3
  619. package/bundle/dist/node_modules/.pnpm/vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_ms_f9cfcfeddd63e656d4010c98521af26c/node_modules/vitest/dist/chunks/index.DdgEv5B1.js +46 -0
  620. package/bundle/dist/node_modules/.pnpm/{vitest@4.1.2_@opentelemetry_api@1.9.0_@types_node@25.0.7_msw@2.13.3_@types_node@25.0.7__ba64bc4dd2e2bdde58df187864f65496 → vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_ms_f9cfcfeddd63e656d4010c98521af26c}/node_modules/vitest/dist/chunks/rpc.MzXet3jl.js +66 -6
  621. package/bundle/dist/node_modules/.pnpm/vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_ms_f9cfcfeddd63e656d4010c98521af26c/node_modules/vitest/dist/chunks/test.DNmyFkvJ.js +3044 -0
  622. package/bundle/dist/node_modules/.pnpm/{vitest@4.1.2_@opentelemetry_api@1.9.0_@types_node@25.0.7_msw@2.13.3_@types_node@25.0.7__ba64bc4dd2e2bdde58df187864f65496 → vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_ms_f9cfcfeddd63e656d4010c98521af26c}/node_modules/vitest/dist/chunks/utils.BX5Fg8C4.js +19 -4
  623. package/bundle/dist/node_modules/.pnpm/vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_ms_f9cfcfeddd63e656d4010c98521af26c/node_modules/vitest/dist/index.js +28 -0
  624. package/bundle/dist/server-bootstrap.js +1 -2
  625. package/bundle/dist/sonamu.config.js +11 -27
  626. package/bundle/dist/startup-migrations.js +1 -2
  627. package/bundle/dist/testing/fixture.js +1 -2
  628. package/bundle/dist/testing/global.js +6 -7
  629. package/bundle/dist/testing/setup-mocks.js +3 -4
  630. package/bundle/dist/testing/test-database-name.js +5 -8
  631. package/bundle/dist/utils/providers/anthropic/anthropic-constants.js +11 -5
  632. package/bundle/dist/utils/providers/anthropic/anthropic-dispatcher.js +6 -4
  633. package/bundle/dist/utils/providers/anthropic/anthropic-quota.js +1 -2
  634. package/bundle/dist/utils/providers/anthropic/claude-session.js +12 -10
  635. package/bundle/dist/utils/providers/anthropic/stream-json-adapter.js +117 -8
  636. package/bundle/dist/utils/providers/common/credentials.js +1 -2
  637. package/bundle/dist/utils/providers/common/model-cost.js +46 -99
  638. package/bundle/dist/utils/providers/common/provider-dispatcher.js +0 -1
  639. package/bundle/dist/utils/providers/common/smooth-weighted-round-robin.js +1 -2
  640. package/bundle/dist/utils/providers/common/strictifier.js +2 -2
  641. package/bundle/dist/utils/providers/common/token-picker.js +1 -2
  642. package/bundle/dist/utils/providers/common/ttft.js +1 -2
  643. package/bundle/dist/utils/providers/openai/codex-rpc.js +4 -2
  644. package/bundle/dist/utils/providers/openai/codex-worker.js +2 -2
  645. package/bundle/dist/utils/providers/openai/openai-constants.js +1 -2
  646. package/bundle/dist/utils/providers/openai/openai-dispatcher.js +103 -40
  647. package/bundle/dist/utils/providers/openai/openai-quota.js +1 -2
  648. package/bundle/dist/utils/providers/openai/openai-refresh.js +1 -2
  649. package/bundle/dist/utils/subset-loaders.js +1 -2
  650. package/bundle/src/application/monit/monit.frame.test.ts +2 -2
  651. package/bundle/src/application/monit/monit.frame.ts +2 -2
  652. package/bundle/src/application/qgrid/qgrid-run-lifecycle.test.ts +305 -3
  653. package/bundle/src/application/qgrid/qgrid-run-lifecycle.ts +107 -53
  654. package/bundle/src/application/qgrid/qgrid.dispatcher.test.ts +81 -0
  655. package/bundle/src/application/qgrid/qgrid.dispatcher.ts +16 -9
  656. package/bundle/src/application/qgrid/qgrid.frame.test.ts +400 -96
  657. package/bundle/src/application/qgrid/qgrid.frame.ts +99 -118
  658. package/bundle/src/application/qgrid/qgrid.types.ts +71 -27
  659. package/bundle/src/application/qgrid/tool-emulation.test.ts +1 -0
  660. package/bundle/src/application/request-log/request-log.entity.json +43 -1
  661. package/bundle/src/application/request-log/request-log.model.test.ts +375 -13
  662. package/bundle/src/application/request-log/request-log.model.ts +283 -86
  663. package/bundle/src/application/request-log-step/request-log-step.entity.json +54 -0
  664. package/bundle/src/application/request-log-step/request-log-step.types.ts +7 -0
  665. package/bundle/src/application/sonamu.generated.http +28 -2
  666. package/bundle/src/application/sonamu.generated.sso.ts +24 -0
  667. package/bundle/src/application/sonamu.generated.ts +52 -4
  668. package/bundle/src/i18n/sd.generated.ts +95 -14
  669. package/bundle/src/migrations/20260718180824_alter_request_logs_add5_alter1.ts +25 -0
  670. package/bundle/src/migrations/20260718180825_alter_request_log_steps_add7_alter1.ts +29 -0
  671. package/bundle/src/migrations/20260722174410_alter_request_logs_alter3.ts +19 -0
  672. package/bundle/src/migrations/20260722174411_alter_request_log_steps_alter3.ts +19 -0
  673. package/bundle/src/sonamu.config.ts +5 -23
  674. package/bundle/src/testing/global.ts +5 -5
  675. package/bundle/src/testing/test-database-name.test.ts +5 -5
  676. package/bundle/src/testing/test-database-name.ts +9 -8
  677. package/bundle/src/utils/providers/anthropic/anthropic-constants.test.ts +19 -0
  678. package/bundle/src/utils/providers/anthropic/anthropic-constants.ts +15 -2
  679. package/bundle/src/utils/providers/anthropic/anthropic-dispatcher.ts +7 -2
  680. package/bundle/src/utils/providers/anthropic/claude-session.test.ts +43 -2
  681. package/bundle/src/utils/providers/anthropic/claude-session.ts +16 -4
  682. package/bundle/src/utils/providers/anthropic/stream-json-adapter.test.ts +131 -0
  683. package/bundle/src/utils/providers/anthropic/stream-json-adapter.ts +194 -11
  684. package/bundle/src/utils/providers/common/model-cost.test.ts +137 -2
  685. package/bundle/src/utils/providers/common/model-cost.ts +77 -99
  686. package/bundle/src/utils/providers/common/provider-dispatcher.ts +18 -0
  687. package/bundle/src/utils/providers/openai/openai-dispatcher.test.ts +440 -0
  688. package/bundle/src/utils/providers/openai/openai-dispatcher.ts +143 -45
  689. package/bundle/web-dist/client/assets/{index-CYnw2kNG.js → index-ioEghlNo.js} +3 -3
  690. package/bundle/web-dist/client/assets/logs-TGA3XE4C.js +1 -0
  691. package/bundle/web-dist/client/assets/{monit-DRuDGJj4.js → monit-DLynJGca.js} +1 -1
  692. package/bundle/web-dist/client/assets/{routes-CuyNd-ya.js → routes-DugjmKS_.js} +1 -1
  693. package/bundle/web-dist/client/assets/{sd.generated-D2Y9QeiN.js → sd.generated-DbBC73_z.js} +1 -1
  694. package/bundle/web-dist/client/assets/{services.generated-CmxXl220.js → services.generated-BWyAypSh.js} +1 -1
  695. package/bundle/web-dist/client/assets/show-DSswR7Cy.js +30 -0
  696. package/bundle/web-dist/client/assets/{tokens-DxFeKC8Q.js → tokens-C5djVO__.js} +1 -1
  697. package/bundle/web-dist/client/assets/{use-update-token-mutation-6J1T9U2-.js → use-update-token-mutation-DeDBiZiM.js} +1 -1
  698. package/bundle/web-dist/client/index.html +2 -2
  699. package/bundle/web-dist/server/assets/{lazyRouteComponent-BlfOh9S3.js → lazyRouteComponent-BCJr868T.js} +1 -1
  700. package/bundle/web-dist/server/assets/{logs-DYly4ipQ.js → logs-33YNafdW.js} +30 -6
  701. package/bundle/web-dist/server/assets/{monit-CYyY2S2f.js → monit--9mVsjNU.js} +2 -2
  702. package/bundle/web-dist/server/assets/{routes-Dqu3osXt.js → routes-BK3Xh1UB.js} +3 -3
  703. package/bundle/web-dist/server/assets/{sd.generated-CE6D5clm.js → sd.generated-C3gcvRcU.js} +13 -0
  704. package/bundle/web-dist/server/assets/{services.generated-DyZUzXiq.js → services.generated-B2_Auwvk.js} +1 -1
  705. package/bundle/web-dist/server/assets/{show-BDul8xLb.js → show-Dxxxe608.js} +57 -8
  706. package/bundle/web-dist/server/assets/{tokens-fzMW4G74.js → tokens-BWPVvdfi.js} +3 -3
  707. package/bundle/web-dist/server/assets/{use-update-token-mutation-BejUW5sw.js → use-update-token-mutation-CNBgTysy.js} +1 -1
  708. package/bundle/web-dist/server/entry-server.generated.js +23 -23
  709. package/dist/cli.d.ts +1 -0
  710. package/dist/cli.js +18 -12
  711. package/package.json +6 -6
  712. package/skills/qgrid/SKILL.md +8 -0
  713. package/skills/qgrid/references/ai-sdk-provider-contract.md +58 -4
  714. package/skills/qgrid/references/anthropic-claude-code-runtime.md +44 -5
  715. package/skills/qgrid/references/cli-env-and-server-boot.md +20 -8
  716. package/skills/qgrid/references/decision-rationale.md +6 -0
  717. package/skills/qgrid/references/docs-workflow.md +10 -0
  718. package/skills/qgrid/references/openai-codex-runtime.md +11 -3
  719. package/skills/qgrid/references/prompt-cache-and-usage.md +4 -1
  720. package/skills/qgrid/references/provider-runtime-differences.md +3 -3
  721. package/skills/qgrid/references/request-log-run-lifecycle.md +50 -28
  722. package/skills/qgrid/references/sonamu-api-web-flow.md +17 -0
  723. package/skills/qgrid/references/token-auth-quota-lifecycle.md +6 -0
  724. package/skills/qgrid/references/tool-calling-and-multiturn.md +8 -7
  725. package/skills/qgrid/references/verification-and-debugging.md +1 -1
  726. package/bundle/dist/node_modules/.pnpm/@vitest_expect@4.1.2/node_modules/@vitest/expect/dist/index.js +0 -1484
  727. package/bundle/dist/node_modules/.pnpm/@vitest_pretty-format@4.1.2/node_modules/@vitest/pretty-format/dist/index.js +0 -887
  728. package/bundle/dist/node_modules/.pnpm/@vitest_runner@4.1.2/node_modules/@vitest/runner/dist/chunk-artifact.js +0 -2746
  729. package/bundle/dist/node_modules/.pnpm/@vitest_runner@4.1.2/node_modules/@vitest/runner/dist/index.js +0 -8
  730. package/bundle/dist/node_modules/.pnpm/@vitest_runner@4.1.2/node_modules/@vitest/runner/dist/utils.js +0 -8
  731. package/bundle/dist/node_modules/.pnpm/@vitest_snapshot@4.1.2/node_modules/@vitest/snapshot/dist/index.js +0 -662
  732. package/bundle/dist/node_modules/.pnpm/@vitest_spy@4.1.2/node_modules/@vitest/spy/dist/index.js +0 -386
  733. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.2/node_modules/@vitest/utils/dist/chunk-pathe.M-eThtNZ.js +0 -82
  734. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.2/node_modules/@vitest/utils/dist/constants.js +0 -48
  735. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.2/node_modules/@vitest/utils/dist/diff.js +0 -1307
  736. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.2/node_modules/@vitest/utils/dist/display.js +0 -558
  737. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.2/node_modules/@vitest/utils/dist/error.js +0 -33
  738. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.2/node_modules/@vitest/utils/dist/helpers.js +0 -226
  739. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.2/node_modules/@vitest/utils/dist/offset.js +0 -27
  740. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.2/node_modules/@vitest/utils/dist/serialize.js +0 -77
  741. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.2/node_modules/@vitest/utils/dist/source-map.js +0 -374
  742. package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.2/node_modules/@vitest/utils/dist/timers.js +0 -37
  743. package/bundle/dist/node_modules/.pnpm/vite@8.0.3_@emnapi_core@1.9.2_@emnapi_runtime@1.9.2_@types_node@25.0.7_esbuild@0.27.4_jiti@2.6.1_sass@1.98.0_tsx@4.21.0/node_modules/vite/dist/node/module-runner.js +0 -426
  744. package/bundle/dist/node_modules/.pnpm/vitest@4.1.2_@opentelemetry_api@1.9.0_@types_node@25.0.7_msw@2.13.3_@types_node@25.0.7__ba64bc4dd2e2bdde58df187864f65496/node_modules/vitest/dist/chunks/index.DOa3dzoN.js +0 -16
  745. package/bundle/dist/node_modules/.pnpm/vitest@4.1.2_@opentelemetry_api@1.9.0_@types_node@25.0.7_msw@2.13.3_@types_node@25.0.7__ba64bc4dd2e2bdde58df187864f65496/node_modules/vitest/dist/chunks/test.p_J6dB8a.js +0 -2910
  746. package/bundle/dist/node_modules/.pnpm/vitest@4.1.2_@opentelemetry_api@1.9.0_@types_node@25.0.7_msw@2.13.3_@types_node@25.0.7__ba64bc4dd2e2bdde58df187864f65496/node_modules/vitest/dist/index.js +0 -28
  747. package/bundle/web-dist/client/assets/logs-CnXIN-jp.js +0 -1
  748. package/bundle/web-dist/client/assets/show-EleAOzJv.js +0 -30
@@ -0,0 +1,381 @@
1
+ import "./constants.js";
2
+ import { isPrimitive, notNullish } from "./helpers.js";
3
+ import { r as resolve } from "./chunk-pathe.M-eThtNZ.js";
4
+ //#region ../../node_modules/.pnpm/@vitest+utils@4.1.10/node_modules/@vitest/utils/dist/source-map.js
5
+ var comma = ",".charCodeAt(0);
6
+ var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
7
+ var intToChar = /* @__PURE__ */ new Uint8Array(64);
8
+ var charToInt = /* @__PURE__ */ new Uint8Array(128);
9
+ for (let i = 0; i < chars.length; i++) {
10
+ const c = chars.charCodeAt(i);
11
+ intToChar[i] = c;
12
+ charToInt[c] = i;
13
+ }
14
+ function decodeInteger(reader, relative) {
15
+ let value = 0;
16
+ let shift = 0;
17
+ let integer = 0;
18
+ do {
19
+ integer = charToInt[reader.next()];
20
+ value |= (integer & 31) << shift;
21
+ shift += 5;
22
+ } while (integer & 32);
23
+ const shouldNegate = value & 1;
24
+ value >>>= 1;
25
+ if (shouldNegate) value = -2147483648 | -value;
26
+ return relative + value;
27
+ }
28
+ function hasMoreVlq(reader, max) {
29
+ if (reader.pos >= max) return false;
30
+ return reader.peek() !== comma;
31
+ }
32
+ var StringReader = class {
33
+ constructor(buffer) {
34
+ this.pos = 0;
35
+ this.buffer = buffer;
36
+ }
37
+ next() {
38
+ return this.buffer.charCodeAt(this.pos++);
39
+ }
40
+ peek() {
41
+ return this.buffer.charCodeAt(this.pos);
42
+ }
43
+ indexOf(char) {
44
+ const { buffer, pos } = this;
45
+ const idx = buffer.indexOf(char, pos);
46
+ return idx === -1 ? buffer.length : idx;
47
+ }
48
+ };
49
+ function decode(mappings) {
50
+ const { length } = mappings;
51
+ const reader = new StringReader(mappings);
52
+ const decoded = [];
53
+ let genColumn = 0;
54
+ let sourcesIndex = 0;
55
+ let sourceLine = 0;
56
+ let sourceColumn = 0;
57
+ let namesIndex = 0;
58
+ do {
59
+ const semi = reader.indexOf(";");
60
+ const line = [];
61
+ let sorted = true;
62
+ let lastCol = 0;
63
+ genColumn = 0;
64
+ while (reader.pos < semi) {
65
+ let seg;
66
+ genColumn = decodeInteger(reader, genColumn);
67
+ if (genColumn < lastCol) sorted = false;
68
+ lastCol = genColumn;
69
+ if (hasMoreVlq(reader, semi)) {
70
+ sourcesIndex = decodeInteger(reader, sourcesIndex);
71
+ sourceLine = decodeInteger(reader, sourceLine);
72
+ sourceColumn = decodeInteger(reader, sourceColumn);
73
+ if (hasMoreVlq(reader, semi)) {
74
+ namesIndex = decodeInteger(reader, namesIndex);
75
+ seg = [
76
+ genColumn,
77
+ sourcesIndex,
78
+ sourceLine,
79
+ sourceColumn,
80
+ namesIndex
81
+ ];
82
+ } else seg = [
83
+ genColumn,
84
+ sourcesIndex,
85
+ sourceLine,
86
+ sourceColumn
87
+ ];
88
+ } else seg = [genColumn];
89
+ line.push(seg);
90
+ reader.pos++;
91
+ }
92
+ if (!sorted) sort(line);
93
+ decoded.push(line);
94
+ reader.pos = semi + 1;
95
+ } while (reader.pos <= length);
96
+ return decoded;
97
+ }
98
+ function sort(line) {
99
+ line.sort(sortComparator);
100
+ }
101
+ function sortComparator(a, b) {
102
+ return a[0] - b[0];
103
+ }
104
+ var COLUMN = 0;
105
+ var SOURCES_INDEX = 1;
106
+ var SOURCE_LINE = 2;
107
+ var SOURCE_COLUMN = 3;
108
+ var NAMES_INDEX = 4;
109
+ var found = false;
110
+ function binarySearch(haystack, needle, low, high) {
111
+ while (low <= high) {
112
+ const mid = low + (high - low >> 1);
113
+ const cmp = haystack[mid][COLUMN] - needle;
114
+ if (cmp === 0) {
115
+ found = true;
116
+ return mid;
117
+ }
118
+ if (cmp < 0) low = mid + 1;
119
+ else high = mid - 1;
120
+ }
121
+ found = false;
122
+ return low - 1;
123
+ }
124
+ function upperBound(haystack, needle, index) {
125
+ for (let i = index + 1; i < haystack.length; index = i++) if (haystack[i][COLUMN] !== needle) break;
126
+ return index;
127
+ }
128
+ function lowerBound(haystack, needle, index) {
129
+ for (let i = index - 1; i >= 0; index = i--) if (haystack[i][COLUMN] !== needle) break;
130
+ return index;
131
+ }
132
+ function memoizedBinarySearch(haystack, needle, state, key) {
133
+ const { lastKey, lastNeedle, lastIndex } = state;
134
+ let low = 0;
135
+ let high = haystack.length - 1;
136
+ if (key === lastKey) {
137
+ if (needle === lastNeedle) {
138
+ found = lastIndex !== -1 && haystack[lastIndex][COLUMN] === needle;
139
+ return lastIndex;
140
+ }
141
+ if (needle >= lastNeedle) low = lastIndex === -1 ? 0 : lastIndex;
142
+ else high = lastIndex;
143
+ }
144
+ state.lastKey = key;
145
+ state.lastNeedle = needle;
146
+ return state.lastIndex = binarySearch(haystack, needle, low, high);
147
+ }
148
+ var LINE_GTR_ZERO = "`line` must be greater than 0 (lines start at line 1)";
149
+ var COL_GTR_EQ_ZERO = "`column` must be greater than or equal to 0 (columns start at column 0)";
150
+ var LEAST_UPPER_BOUND = -1;
151
+ var GREATEST_LOWER_BOUND = 1;
152
+ function cast(map) {
153
+ return map;
154
+ }
155
+ function decodedMappings(map) {
156
+ var _a;
157
+ return (_a = cast(map))._decoded || (_a._decoded = decode(cast(map)._encoded));
158
+ }
159
+ function originalPositionFor(map, needle) {
160
+ let { line, column, bias } = needle;
161
+ line--;
162
+ if (line < 0) throw new Error(LINE_GTR_ZERO);
163
+ if (column < 0) throw new Error(COL_GTR_EQ_ZERO);
164
+ const decoded = decodedMappings(map);
165
+ if (line >= decoded.length) return OMapping(null, null, null, null);
166
+ const segments = decoded[line];
167
+ const index = traceSegmentInternal(segments, cast(map)._decodedMemo, line, column, bias || GREATEST_LOWER_BOUND);
168
+ if (index === -1) return OMapping(null, null, null, null);
169
+ const segment = segments[index];
170
+ if (segment.length === 1) return OMapping(null, null, null, null);
171
+ const { names, resolvedSources } = map;
172
+ return OMapping(resolvedSources[segment[SOURCES_INDEX]], segment[SOURCE_LINE] + 1, segment[SOURCE_COLUMN], segment.length === 5 ? names[segment[NAMES_INDEX]] : null);
173
+ }
174
+ function OMapping(source, line, column, name) {
175
+ return {
176
+ source,
177
+ line,
178
+ column,
179
+ name
180
+ };
181
+ }
182
+ function traceSegmentInternal(segments, memo, line, column, bias) {
183
+ let index = memoizedBinarySearch(segments, column, memo, line);
184
+ if (found) index = (bias === LEAST_UPPER_BOUND ? upperBound : lowerBound)(segments, column, index);
185
+ else if (bias === LEAST_UPPER_BOUND) index++;
186
+ if (index === -1 || index === segments.length) return -1;
187
+ return index;
188
+ }
189
+ const CHROME_IE_STACK_REGEXP = /^\s*at .*(?:\S:\d+|\(native\))/m;
190
+ const SAFARI_NATIVE_CODE_REGEXP = /^(?:eval@)?(?:\[native code\])?$/;
191
+ const stackIgnorePatterns = [
192
+ "node:internal",
193
+ /\/packages\/\w+\/dist\//,
194
+ /\/@vitest\/\w+\/dist\//,
195
+ "/vitest/dist/",
196
+ "/vitest/src/",
197
+ "/node_modules/chai/",
198
+ "/node_modules/tinyspy/",
199
+ "/vite/dist/node/module-runner",
200
+ "/rolldown-vite/dist/node/module-runner",
201
+ "/deps/chunk-",
202
+ "/deps/@vitest",
203
+ "/deps/loupe",
204
+ "/deps/chai",
205
+ "/browser-playwright/dist/locators.js",
206
+ "/browser-webdriverio/dist/locators.js",
207
+ "/browser-preview/dist/locators.js",
208
+ /node:\w+/,
209
+ /__vitest_test__/,
210
+ /__vitest_browser__/,
211
+ "/@id/__x00__vitest/browser",
212
+ /\/deps\/vitest_/
213
+ ];
214
+ const NOW_LENGTH = Date.now().toString().length;
215
+ const REGEXP_VITEST = new RegExp(`vitest=\\d{${NOW_LENGTH}}`);
216
+ function extractLocation(urlLike) {
217
+ if (!urlLike.includes(":")) return [urlLike];
218
+ const parts = /(.+?)(?::(\d+))?(?::(\d+))?$/.exec(urlLike.replace(/^\(|\)$/g, ""));
219
+ if (!parts) return [urlLike];
220
+ let url = parts[1];
221
+ if (url.startsWith("async ")) url = url.slice(6);
222
+ if (url.startsWith("http:") || url.startsWith("https:")) {
223
+ const urlObj = new URL(url);
224
+ urlObj.searchParams.delete("import");
225
+ urlObj.searchParams.delete("browserv");
226
+ url = urlObj.pathname + urlObj.hash + urlObj.search;
227
+ }
228
+ if (url.startsWith("/@fs/")) {
229
+ const isWindows = /^\/@fs\/[a-zA-Z]:\//.test(url);
230
+ url = url.slice(isWindows ? 5 : 4);
231
+ }
232
+ if (url.includes("vitest=")) url = url.replace(REGEXP_VITEST, "").replace(/[?&]$/, "");
233
+ return [
234
+ url,
235
+ parts[2] || void 0,
236
+ parts[3] || void 0
237
+ ];
238
+ }
239
+ function parseSingleFFOrSafariStack(raw) {
240
+ let line = raw.trim();
241
+ if (SAFARI_NATIVE_CODE_REGEXP.test(line)) return null;
242
+ if (line.includes(" > eval")) line = line.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g, ":$1");
243
+ if (!line.includes("@")) return null;
244
+ let atIndex = -1;
245
+ let locationPart = "";
246
+ let functionName;
247
+ for (let i = 0; i < line.length; i++) if (line[i] === "@") {
248
+ const candidateLocation = line.slice(i + 1);
249
+ if (candidateLocation.includes(":") && candidateLocation.length >= 3) {
250
+ atIndex = i;
251
+ locationPart = candidateLocation;
252
+ functionName = i > 0 ? line.slice(0, i) : void 0;
253
+ break;
254
+ }
255
+ }
256
+ if (atIndex === -1 || !locationPart.includes(":") || locationPart.length < 3) return null;
257
+ const [url, lineNumber, columnNumber] = extractLocation(locationPart);
258
+ if (!url || !lineNumber || !columnNumber) return null;
259
+ return {
260
+ file: url,
261
+ method: functionName || "",
262
+ line: Number.parseInt(lineNumber),
263
+ column: Number.parseInt(columnNumber)
264
+ };
265
+ }
266
+ function parseSingleStack(raw) {
267
+ const line = raw.trim();
268
+ if (!CHROME_IE_STACK_REGEXP.test(line)) return parseSingleFFOrSafariStack(line);
269
+ return parseSingleV8Stack(line);
270
+ }
271
+ function parseSingleV8Stack(raw) {
272
+ let line = raw.trim();
273
+ if (!CHROME_IE_STACK_REGEXP.test(line)) return null;
274
+ if (line.includes("(eval ")) line = line.replace(/eval code/g, "eval").replace(/(\(eval at [^()]*)|(,.*$)/g, "");
275
+ let sanitizedLine = line.replace(/^\s+/, "").replace(/\(eval code/g, "(").replace(/^.*?\s+/, "");
276
+ const location = sanitizedLine.match(/ (\(.+\)$)/);
277
+ sanitizedLine = location ? sanitizedLine.replace(location[0], "") : sanitizedLine;
278
+ const [url, lineNumber, columnNumber] = extractLocation(location ? location[1] : sanitizedLine);
279
+ let method = location && sanitizedLine || "";
280
+ let file = url && ["eval", "<anonymous>"].includes(url) ? void 0 : url;
281
+ if (!file || !lineNumber || !columnNumber) return null;
282
+ if (method.startsWith("async ")) method = method.slice(6);
283
+ if (file.startsWith("file://")) file = file.slice(7);
284
+ file = file.startsWith("node:") || file.startsWith("internal:") ? file : resolve(file);
285
+ if (method) method = method.replace(/\(0\s?,\s?__vite_ssr_import_\d+__.(\w+)\)/g, "$1").replace(/__(vite_ssr_import|vi_import)_\d+__\./g, "").replace(/(Object\.)?__vite_ssr_export_default__\s?/g, "");
286
+ return {
287
+ method,
288
+ file,
289
+ line: Number.parseInt(lineNumber),
290
+ column: Number.parseInt(columnNumber)
291
+ };
292
+ }
293
+ function createStackString(stacks) {
294
+ return stacks.map((stack) => {
295
+ const line = `${stack.file}:${stack.line}:${stack.column}`;
296
+ if (stack.method) return ` at ${stack.method}(${line})`;
297
+ return ` at ${line}`;
298
+ }).join("\n");
299
+ }
300
+ function parseStacktrace(stack, options = {}) {
301
+ const { ignoreStackEntries = stackIgnorePatterns } = options;
302
+ let stacks = !CHROME_IE_STACK_REGEXP.test(stack) ? parseFFOrSafariStackTrace(stack) : parseV8Stacktrace(stack);
303
+ const helperIndex = stacks.findLastIndex((s) => s.method.includes("__VITEST_HELPER__"));
304
+ if (helperIndex >= 0) stacks = stacks.slice(helperIndex + 1);
305
+ return stacks.map((stack) => {
306
+ if (options.getUrlId) stack.file = options.getUrlId(stack.file);
307
+ const map = options.getSourceMap?.(stack.file);
308
+ if (!map || typeof map !== "object" || !map.version) return shouldFilter(ignoreStackEntries, stack.file) ? null : stack;
309
+ const position = getOriginalPosition(new DecodedMap(map, stack.file), stack);
310
+ if (!position) return stack;
311
+ const { line, column, source, name } = position;
312
+ let file = source || stack.file;
313
+ if (file.match(/\/\w:\//)) file = file.slice(1);
314
+ if (shouldFilter(ignoreStackEntries, file)) return null;
315
+ if (line != null && column != null) return {
316
+ line,
317
+ column,
318
+ file,
319
+ method: name || stack.method
320
+ };
321
+ return stack;
322
+ }).filter((s) => s != null);
323
+ }
324
+ function shouldFilter(ignoreStackEntries, file) {
325
+ return ignoreStackEntries.some((p) => file.match(p));
326
+ }
327
+ function parseFFOrSafariStackTrace(stack) {
328
+ return stack.split("\n").map((line) => parseSingleFFOrSafariStack(line)).filter(notNullish);
329
+ }
330
+ function parseV8Stacktrace(stack) {
331
+ return stack.split("\n").map((line) => parseSingleV8Stack(line)).filter(notNullish);
332
+ }
333
+ function parseErrorStacktrace(e, options = {}) {
334
+ if (!e || isPrimitive(e)) return [];
335
+ if ("stacks" in e && e.stacks) return e.stacks;
336
+ const stackStr = e.stack || "";
337
+ let stackFrames = typeof stackStr === "string" ? parseStacktrace(stackStr, options) : [];
338
+ if (!stackFrames.length) {
339
+ const e_ = e;
340
+ if (e_.fileName != null && e_.lineNumber != null && e_.columnNumber != null) stackFrames = parseStacktrace(`${e_.fileName}:${e_.lineNumber}:${e_.columnNumber}`, options);
341
+ if (e_.sourceURL != null && e_.line != null && e_._column != null) stackFrames = parseStacktrace(`${e_.sourceURL}:${e_.line}:${e_.column}`, options);
342
+ }
343
+ if (options.frameFilter) stackFrames = stackFrames.filter((f) => options.frameFilter(e, f) !== false);
344
+ e.stacks = stackFrames;
345
+ return stackFrames;
346
+ }
347
+ var DecodedMap = class {
348
+ _encoded;
349
+ _decoded;
350
+ _decodedMemo;
351
+ url;
352
+ version;
353
+ names = [];
354
+ resolvedSources;
355
+ constructor(map, from) {
356
+ this.map = map;
357
+ const { mappings, names, sources } = map;
358
+ this.version = map.version;
359
+ this.names = names || [];
360
+ this._encoded = mappings || "";
361
+ this._decodedMemo = memoizedState();
362
+ this.url = from;
363
+ this.resolvedSources = (sources || []).map((s) => resolve(from, "..", s || ""));
364
+ }
365
+ };
366
+ function memoizedState() {
367
+ return {
368
+ lastKey: -1,
369
+ lastNeedle: -1,
370
+ lastIndex: -1
371
+ };
372
+ }
373
+ function getOriginalPosition(map, needle) {
374
+ const result = originalPositionFor(map, needle);
375
+ if (result.column == null) return null;
376
+ return result;
377
+ }
378
+ //#endregion
379
+ export { DecodedMap, createStackString, stackIgnorePatterns as defaultStackIgnorePatterns, getOriginalPosition, parseErrorStacktrace, parseSingleFFOrSafariStack, parseSingleStack, parseSingleV8Stack, parseStacktrace };
380
+
381
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLW1hcC5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvLnBucG0vQHZpdGVzdCt1dGlsc0A0LjEuMTAvbm9kZV9tb2R1bGVzL0B2aXRlc3QvdXRpbHMvZGlzdC9zb3VyY2UtbWFwLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUHJpbWl0aXZlLCBub3ROdWxsaXNoIH0gZnJvbSAnLi9oZWxwZXJzLmpzJztcbmltcG9ydCB7IHIgYXMgcmVzb2x2ZSB9IGZyb20gJy4vY2h1bmstcGF0aGUuTS1lVGh0TlouanMnO1xuaW1wb3J0ICcuL2NvbnN0YW50cy5qcyc7XG5cbi8vIHNyYy92bHEudHNcbnZhciBjb21tYSA9IFwiLFwiLmNoYXJDb2RlQXQoMCk7XG52YXIgY2hhcnMgPSBcIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky9cIjtcbnZhciBpbnRUb0NoYXIgPSBuZXcgVWludDhBcnJheSg2NCk7XG52YXIgY2hhclRvSW50ID0gbmV3IFVpbnQ4QXJyYXkoMTI4KTtcbmZvciAobGV0IGkgPSAwOyBpIDwgY2hhcnMubGVuZ3RoOyBpKyspIHtcbiAgY29uc3QgYyA9IGNoYXJzLmNoYXJDb2RlQXQoaSk7XG4gIGludFRvQ2hhcltpXSA9IGM7XG4gIGNoYXJUb0ludFtjXSA9IGk7XG59XG5mdW5jdGlvbiBkZWNvZGVJbnRlZ2VyKHJlYWRlciwgcmVsYXRpdmUpIHtcbiAgbGV0IHZhbHVlID0gMDtcbiAgbGV0IHNoaWZ0ID0gMDtcbiAgbGV0IGludGVnZXIgPSAwO1xuICBkbyB7XG4gICAgY29uc3QgYyA9IHJlYWRlci5uZXh0KCk7XG4gICAgaW50ZWdlciA9IGNoYXJUb0ludFtjXTtcbiAgICB2YWx1ZSB8PSAoaW50ZWdlciAmIDMxKSA8PCBzaGlmdDtcbiAgICBzaGlmdCArPSA1O1xuICB9IHdoaWxlIChpbnRlZ2VyICYgMzIpO1xuICBjb25zdCBzaG91bGROZWdhdGUgPSB2YWx1ZSAmIDE7XG4gIHZhbHVlID4+Pj0gMTtcbiAgaWYgKHNob3VsZE5lZ2F0ZSkge1xuICAgIHZhbHVlID0gLTIxNDc0ODM2NDggfCAtdmFsdWU7XG4gIH1cbiAgcmV0dXJuIHJlbGF0aXZlICsgdmFsdWU7XG59XG5mdW5jdGlvbiBoYXNNb3JlVmxxKHJlYWRlciwgbWF4KSB7XG4gIGlmIChyZWFkZXIucG9zID49IG1heCkgcmV0dXJuIGZhbHNlO1xuICByZXR1cm4gcmVhZGVyLnBlZWsoKSAhPT0gY29tbWE7XG59XG52YXIgU3RyaW5nUmVhZGVyID0gY2xhc3Mge1xuICBjb25zdHJ1Y3RvcihidWZmZXIpIHtcbiAgICB0aGlzLnBvcyA9IDA7XG4gICAgdGhpcy5idWZmZXIgPSBidWZmZXI7XG4gIH1cbiAgbmV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5idWZmZXIuY2hhckNvZGVBdCh0aGlzLnBvcysrKTtcbiAgfVxuICBwZWVrKCkge1xuICAgIHJldHVybiB0aGlzLmJ1ZmZlci5jaGFyQ29kZUF0KHRoaXMucG9zKTtcbiAgfVxuICBpbmRleE9mKGNoYXIpIHtcbiAgICBjb25zdCB7IGJ1ZmZlciwgcG9zIH0gPSB0aGlzO1xuICAgIGNvbnN0IGlkeCA9IGJ1ZmZlci5pbmRleE9mKGNoYXIsIHBvcyk7XG4gICAgcmV0dXJuIGlkeCA9PT0gLTEgPyBidWZmZXIubGVuZ3RoIDogaWR4O1xuICB9XG59O1xuXG4vLyBzcmMvc291cmNlbWFwLWNvZGVjLnRzXG5mdW5jdGlvbiBkZWNvZGUobWFwcGluZ3MpIHtcbiAgY29uc3QgeyBsZW5ndGggfSA9IG1hcHBpbmdzO1xuICBjb25zdCByZWFkZXIgPSBuZXcgU3RyaW5nUmVhZGVyKG1hcHBpbmdzKTtcbiAgY29uc3QgZGVjb2RlZCA9IFtdO1xuICBsZXQgZ2VuQ29sdW1uID0gMDtcbiAgbGV0IHNvdXJjZXNJbmRleCA9IDA7XG4gIGxldCBzb3VyY2VMaW5lID0gMDtcbiAgbGV0IHNvdXJjZUNvbHVtbiA9IDA7XG4gIGxldCBuYW1lc0luZGV4ID0gMDtcbiAgZG8ge1xuICAgIGNvbnN0IHNlbWkgPSByZWFkZXIuaW5kZXhPZihcIjtcIik7XG4gICAgY29uc3QgbGluZSA9IFtdO1xuICAgIGxldCBzb3J0ZWQgPSB0cnVlO1xuICAgIGxldCBsYXN0Q29sID0gMDtcbiAgICBnZW5Db2x1bW4gPSAwO1xuICAgIHdoaWxlIChyZWFkZXIucG9zIDwgc2VtaSkge1xuICAgICAgbGV0IHNlZztcbiAgICAgIGdlbkNvbHVtbiA9IGRlY29kZUludGVnZXIocmVhZGVyLCBnZW5Db2x1bW4pO1xuICAgICAgaWYgKGdlbkNvbHVtbiA8IGxhc3RDb2wpIHNvcnRlZCA9IGZhbHNlO1xuICAgICAgbGFzdENvbCA9IGdlbkNvbHVtbjtcbiAgICAgIGlmIChoYXNNb3JlVmxxKHJlYWRlciwgc2VtaSkpIHtcbiAgICAgICAgc291cmNlc0luZGV4ID0gZGVjb2RlSW50ZWdlcihyZWFkZXIsIHNvdXJjZXNJbmRleCk7XG4gICAgICAgIHNvdXJjZUxpbmUgPSBkZWNvZGVJbnRlZ2VyKHJlYWRlciwgc291cmNlTGluZSk7XG4gICAgICAgIHNvdXJjZUNvbHVtbiA9IGRlY29kZUludGVnZXIocmVhZGVyLCBzb3VyY2VDb2x1bW4pO1xuICAgICAgICBpZiAoaGFzTW9yZVZscShyZWFkZXIsIHNlbWkpKSB7XG4gICAgICAgICAgbmFtZXNJbmRleCA9IGRlY29kZUludGVnZXIocmVhZGVyLCBuYW1lc0luZGV4KTtcbiAgICAgICAgICBzZWcgPSBbZ2VuQ29sdW1uLCBzb3VyY2VzSW5kZXgsIHNvdXJjZUxpbmUsIHNvdXJjZUNvbHVtbiwgbmFtZXNJbmRleF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc2VnID0gW2dlbkNvbHVtbiwgc291cmNlc0luZGV4LCBzb3VyY2VMaW5lLCBzb3VyY2VDb2x1bW5dO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZWcgPSBbZ2VuQ29sdW1uXTtcbiAgICAgIH1cbiAgICAgIGxpbmUucHVzaChzZWcpO1xuICAgICAgcmVhZGVyLnBvcysrO1xuICAgIH1cbiAgICBpZiAoIXNvcnRlZCkgc29ydChsaW5lKTtcbiAgICBkZWNvZGVkLnB1c2gobGluZSk7XG4gICAgcmVhZGVyLnBvcyA9IHNlbWkgKyAxO1xuICB9IHdoaWxlIChyZWFkZXIucG9zIDw9IGxlbmd0aCk7XG4gIHJldHVybiBkZWNvZGVkO1xufVxuZnVuY3Rpb24gc29ydChsaW5lKSB7XG4gIGxpbmUuc29ydChzb3J0Q29tcGFyYXRvcik7XG59XG5mdW5jdGlvbiBzb3J0Q29tcGFyYXRvcihhLCBiKSB7XG4gIHJldHVybiBhWzBdIC0gYlswXTtcbn1cblxuLy8gc3JjL3RyYWNlLW1hcHBpbmcudHNcblxuLy8gc3JjL3NvdXJjZW1hcC1zZWdtZW50LnRzXG52YXIgQ09MVU1OID0gMDtcbnZhciBTT1VSQ0VTX0lOREVYID0gMTtcbnZhciBTT1VSQ0VfTElORSA9IDI7XG52YXIgU09VUkNFX0NPTFVNTiA9IDM7XG52YXIgTkFNRVNfSU5ERVggPSA0O1xuXG4vLyBzcmMvYmluYXJ5LXNlYXJjaC50c1xudmFyIGZvdW5kID0gZmFsc2U7XG5mdW5jdGlvbiBiaW5hcnlTZWFyY2goaGF5c3RhY2ssIG5lZWRsZSwgbG93LCBoaWdoKSB7XG4gIHdoaWxlIChsb3cgPD0gaGlnaCkge1xuICAgIGNvbnN0IG1pZCA9IGxvdyArIChoaWdoIC0gbG93ID4+IDEpO1xuICAgIGNvbnN0IGNtcCA9IGhheXN0YWNrW21pZF1bQ09MVU1OXSAtIG5lZWRsZTtcbiAgICBpZiAoY21wID09PSAwKSB7XG4gICAgICBmb3VuZCA9IHRydWU7XG4gICAgICByZXR1cm4gbWlkO1xuICAgIH1cbiAgICBpZiAoY21wIDwgMCkge1xuICAgICAgbG93ID0gbWlkICsgMTtcbiAgICB9IGVsc2Uge1xuICAgICAgaGlnaCA9IG1pZCAtIDE7XG4gICAgfVxuICB9XG4gIGZvdW5kID0gZmFsc2U7XG4gIHJldHVybiBsb3cgLSAxO1xufVxuZnVuY3Rpb24gdXBwZXJCb3VuZChoYXlzdGFjaywgbmVlZGxlLCBpbmRleCkge1xuICBmb3IgKGxldCBpID0gaW5kZXggKyAxOyBpIDwgaGF5c3RhY2subGVuZ3RoOyBpbmRleCA9IGkrKykge1xuICAgIGlmIChoYXlzdGFja1tpXVtDT0xVTU5dICE9PSBuZWVkbGUpIGJyZWFrO1xuICB9XG4gIHJldHVybiBpbmRleDtcbn1cbmZ1bmN0aW9uIGxvd2VyQm91bmQoaGF5c3RhY2ssIG5lZWRsZSwgaW5kZXgpIHtcbiAgZm9yIChsZXQgaSA9IGluZGV4IC0gMTsgaSA+PSAwOyBpbmRleCA9IGktLSkge1xuICAgIGlmIChoYXlzdGFja1tpXVtDT0xVTU5dICE9PSBuZWVkbGUpIGJyZWFrO1xuICB9XG4gIHJldHVybiBpbmRleDtcbn1cbmZ1bmN0aW9uIG1lbW9pemVkQmluYXJ5U2VhcmNoKGhheXN0YWNrLCBuZWVkbGUsIHN0YXRlLCBrZXkpIHtcbiAgY29uc3QgeyBsYXN0S2V5LCBsYXN0TmVlZGxlLCBsYXN0SW5kZXggfSA9IHN0YXRlO1xuICBsZXQgbG93ID0gMDtcbiAgbGV0IGhpZ2ggPSBoYXlzdGFjay5sZW5ndGggLSAxO1xuICBpZiAoa2V5ID09PSBsYXN0S2V5KSB7XG4gICAgaWYgKG5lZWRsZSA9PT0gbGFzdE5lZWRsZSkge1xuICAgICAgZm91bmQgPSBsYXN0SW5kZXggIT09IC0xICYmIGhheXN0YWNrW2xhc3RJbmRleF1bQ09MVU1OXSA9PT0gbmVlZGxlO1xuICAgICAgcmV0dXJuIGxhc3RJbmRleDtcbiAgICB9XG4gICAgaWYgKG5lZWRsZSA+PSBsYXN0TmVlZGxlKSB7XG4gICAgICBsb3cgPSBsYXN0SW5kZXggPT09IC0xID8gMCA6IGxhc3RJbmRleDtcbiAgICB9IGVsc2Uge1xuICAgICAgaGlnaCA9IGxhc3RJbmRleDtcbiAgICB9XG4gIH1cbiAgc3RhdGUubGFzdEtleSA9IGtleTtcbiAgc3RhdGUubGFzdE5lZWRsZSA9IG5lZWRsZTtcbiAgcmV0dXJuIHN0YXRlLmxhc3RJbmRleCA9IGJpbmFyeVNlYXJjaChoYXlzdGFjaywgbmVlZGxlLCBsb3csIGhpZ2gpO1xufVxuXG4vLyBzcmMvdHJhY2UtbWFwcGluZy50c1xudmFyIExJTkVfR1RSX1pFUk8gPSBcImBsaW5lYCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAwIChsaW5lcyBzdGFydCBhdCBsaW5lIDEpXCI7XG52YXIgQ09MX0dUUl9FUV9aRVJPID0gXCJgY29sdW1uYCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAwIChjb2x1bW5zIHN0YXJ0IGF0IGNvbHVtbiAwKVwiO1xudmFyIExFQVNUX1VQUEVSX0JPVU5EID0gLTE7XG52YXIgR1JFQVRFU1RfTE9XRVJfQk9VTkQgPSAxO1xuZnVuY3Rpb24gY2FzdChtYXApIHtcbiAgcmV0dXJuIG1hcDtcbn1cbmZ1bmN0aW9uIGRlY29kZWRNYXBwaW5ncyhtYXApIHtcbiAgdmFyIF9hO1xuICByZXR1cm4gKF9hID0gY2FzdChtYXApKS5fZGVjb2RlZCB8fCAoX2EuX2RlY29kZWQgPSBkZWNvZGUoY2FzdChtYXApLl9lbmNvZGVkKSk7XG59XG5mdW5jdGlvbiBvcmlnaW5hbFBvc2l0aW9uRm9yKG1hcCwgbmVlZGxlKSB7XG4gIGxldCB7IGxpbmUsIGNvbHVtbiwgYmlhcyB9ID0gbmVlZGxlO1xuICBsaW5lLS07XG4gIGlmIChsaW5lIDwgMCkgdGhyb3cgbmV3IEVycm9yKExJTkVfR1RSX1pFUk8pO1xuICBpZiAoY29sdW1uIDwgMCkgdGhyb3cgbmV3IEVycm9yKENPTF9HVFJfRVFfWkVSTyk7XG4gIGNvbnN0IGRlY29kZWQgPSBkZWNvZGVkTWFwcGluZ3MobWFwKTtcbiAgaWYgKGxpbmUgPj0gZGVjb2RlZC5sZW5ndGgpIHJldHVybiBPTWFwcGluZyhudWxsLCBudWxsLCBudWxsLCBudWxsKTtcbiAgY29uc3Qgc2VnbWVudHMgPSBkZWNvZGVkW2xpbmVdO1xuICBjb25zdCBpbmRleCA9IHRyYWNlU2VnbWVudEludGVybmFsKFxuICAgIHNlZ21lbnRzLFxuICAgIGNhc3QobWFwKS5fZGVjb2RlZE1lbW8sXG4gICAgbGluZSxcbiAgICBjb2x1bW4sXG4gICAgYmlhcyB8fCBHUkVBVEVTVF9MT1dFUl9CT1VORFxuICApO1xuICBpZiAoaW5kZXggPT09IC0xKSByZXR1cm4gT01hcHBpbmcobnVsbCwgbnVsbCwgbnVsbCwgbnVsbCk7XG4gIGNvbnN0IHNlZ21lbnQgPSBzZWdtZW50c1tpbmRleF07XG4gIGlmIChzZWdtZW50Lmxlbmd0aCA9PT0gMSkgcmV0dXJuIE9NYXBwaW5nKG51bGwsIG51bGwsIG51bGwsIG51bGwpO1xuICBjb25zdCB7IG5hbWVzLCByZXNvbHZlZFNvdXJjZXMgfSA9IG1hcDtcbiAgcmV0dXJuIE9NYXBwaW5nKFxuICAgIHJlc29sdmVkU291cmNlc1tzZWdtZW50W1NPVVJDRVNfSU5ERVhdXSxcbiAgICBzZWdtZW50W1NPVVJDRV9MSU5FXSArIDEsXG4gICAgc2VnbWVudFtTT1VSQ0VfQ09MVU1OXSxcbiAgICBzZWdtZW50Lmxlbmd0aCA9PT0gNSA/IG5hbWVzW3NlZ21lbnRbTkFNRVNfSU5ERVhdXSA6IG51bGxcbiAgKTtcbn1cbmZ1bmN0aW9uIE9NYXBwaW5nKHNvdXJjZSwgbGluZSwgY29sdW1uLCBuYW1lKSB7XG4gIHJldHVybiB7IHNvdXJjZSwgbGluZSwgY29sdW1uLCBuYW1lIH07XG59XG5mdW5jdGlvbiB0cmFjZVNlZ21lbnRJbnRlcm5hbChzZWdtZW50cywgbWVtbywgbGluZSwgY29sdW1uLCBiaWFzKSB7XG4gIGxldCBpbmRleCA9IG1lbW9pemVkQmluYXJ5U2VhcmNoKHNlZ21lbnRzLCBjb2x1bW4sIG1lbW8sIGxpbmUpO1xuICBpZiAoZm91bmQpIHtcbiAgICBpbmRleCA9IChiaWFzID09PSBMRUFTVF9VUFBFUl9CT1VORCA/IHVwcGVyQm91bmQgOiBsb3dlckJvdW5kKShzZWdtZW50cywgY29sdW1uLCBpbmRleCk7XG4gIH0gZWxzZSBpZiAoYmlhcyA9PT0gTEVBU1RfVVBQRVJfQk9VTkQpIGluZGV4Kys7XG4gIGlmIChpbmRleCA9PT0gLTEgfHwgaW5kZXggPT09IHNlZ21lbnRzLmxlbmd0aCkgcmV0dXJuIC0xO1xuICByZXR1cm4gaW5kZXg7XG59XG5cbmNvbnN0IENIUk9NRV9JRV9TVEFDS19SRUdFWFAgPSAvXlxccyphdCAuKig/OlxcUzpcXGQrfFxcKG5hdGl2ZVxcKSkvbTtcbmNvbnN0IFNBRkFSSV9OQVRJVkVfQ09ERV9SRUdFWFAgPSAvXig/OmV2YWxAKT8oPzpcXFtuYXRpdmUgY29kZVxcXSk/JC87XG5jb25zdCBzdGFja0lnbm9yZVBhdHRlcm5zID0gW1xuXHRcIm5vZGU6aW50ZXJuYWxcIixcblx0L1xcL3BhY2thZ2VzXFwvXFx3K1xcL2Rpc3RcXC8vLFxuXHQvXFwvQHZpdGVzdFxcL1xcdytcXC9kaXN0XFwvLyxcblx0XCIvdml0ZXN0L2Rpc3QvXCIsXG5cdFwiL3ZpdGVzdC9zcmMvXCIsXG5cdFwiL25vZGVfbW9kdWxlcy9jaGFpL1wiLFxuXHRcIi9ub2RlX21vZHVsZXMvdGlueXNweS9cIixcblx0XCIvdml0ZS9kaXN0L25vZGUvbW9kdWxlLXJ1bm5lclwiLFxuXHRcIi9yb2xsZG93bi12aXRlL2Rpc3Qvbm9kZS9tb2R1bGUtcnVubmVyXCIsXG5cdFwiL2RlcHMvY2h1bmstXCIsXG5cdFwiL2RlcHMvQHZpdGVzdFwiLFxuXHRcIi9kZXBzL2xvdXBlXCIsXG5cdFwiL2RlcHMvY2hhaVwiLFxuXHRcIi9icm93c2VyLXBsYXl3cmlnaHQvZGlzdC9sb2NhdG9ycy5qc1wiLFxuXHRcIi9icm93c2VyLXdlYmRyaXZlcmlvL2Rpc3QvbG9jYXRvcnMuanNcIixcblx0XCIvYnJvd3Nlci1wcmV2aWV3L2Rpc3QvbG9jYXRvcnMuanNcIixcblx0L25vZGU6XFx3Ky8sXG5cdC9fX3ZpdGVzdF90ZXN0X18vLFxuXHQvX192aXRlc3RfYnJvd3Nlcl9fLyxcblx0XCIvQGlkL19feDAwX192aXRlc3QvYnJvd3NlclwiLFxuXHQvXFwvZGVwc1xcL3ZpdGVzdF8vXG5dO1xuY29uc3QgTk9XX0xFTkdUSCA9IERhdGUubm93KCkudG9TdHJpbmcoKS5sZW5ndGg7XG5jb25zdCBSRUdFWFBfVklURVNUID0gbmV3IFJlZ0V4cChgdml0ZXN0PVxcXFxkeyR7Tk9XX0xFTkdUSH19YCk7XG5mdW5jdGlvbiBleHRyYWN0TG9jYXRpb24odXJsTGlrZSkge1xuXHQvLyBGYWlsLWZhc3QgYnV0IHJldHVybiBsb2NhdGlvbnMgbGlrZSBcIihuYXRpdmUpXCJcblx0aWYgKCF1cmxMaWtlLmluY2x1ZGVzKFwiOlwiKSkge1xuXHRcdHJldHVybiBbdXJsTGlrZV07XG5cdH1cblx0Y29uc3QgcmVnRXhwID0gLyguKz8pKD86OihcXGQrKSk/KD86OihcXGQrKSk/JC87XG5cdGNvbnN0IHBhcnRzID0gcmVnRXhwLmV4ZWModXJsTGlrZS5yZXBsYWNlKC9eXFwofFxcKSQvZywgXCJcIikpO1xuXHRpZiAoIXBhcnRzKSB7XG5cdFx0cmV0dXJuIFt1cmxMaWtlXTtcblx0fVxuXHRsZXQgdXJsID0gcGFydHNbMV07XG5cdGlmICh1cmwuc3RhcnRzV2l0aChcImFzeW5jIFwiKSkge1xuXHRcdHVybCA9IHVybC5zbGljZSg2KTtcblx0fVxuXHRpZiAodXJsLnN0YXJ0c1dpdGgoXCJodHRwOlwiKSB8fCB1cmwuc3RhcnRzV2l0aChcImh0dHBzOlwiKSkge1xuXHRcdGNvbnN0IHVybE9iaiA9IG5ldyBVUkwodXJsKTtcblx0XHR1cmxPYmouc2VhcmNoUGFyYW1zLmRlbGV0ZShcImltcG9ydFwiKTtcblx0XHR1cmxPYmouc2VhcmNoUGFyYW1zLmRlbGV0ZShcImJyb3dzZXJ2XCIpO1xuXHRcdHVybCA9IHVybE9iai5wYXRobmFtZSArIHVybE9iai5oYXNoICsgdXJsT2JqLnNlYXJjaDtcblx0fVxuXHRpZiAodXJsLnN0YXJ0c1dpdGgoXCIvQGZzL1wiKSkge1xuXHRcdGNvbnN0IGlzV2luZG93cyA9IC9eXFwvQGZzXFwvW2EtekEtWl06XFwvLy50ZXN0KHVybCk7XG5cdFx0dXJsID0gdXJsLnNsaWNlKGlzV2luZG93cyA/IDUgOiA0KTtcblx0fVxuXHRpZiAodXJsLmluY2x1ZGVzKFwidml0ZXN0PVwiKSkge1xuXHRcdHVybCA9IHVybC5yZXBsYWNlKFJFR0VYUF9WSVRFU1QsIFwiXCIpLnJlcGxhY2UoL1s/Jl0kLywgXCJcIik7XG5cdH1cblx0cmV0dXJuIFtcblx0XHR1cmwsXG5cdFx0cGFydHNbMl0gfHwgdW5kZWZpbmVkLFxuXHRcdHBhcnRzWzNdIHx8IHVuZGVmaW5lZFxuXHRdO1xufVxuZnVuY3Rpb24gcGFyc2VTaW5nbGVGRk9yU2FmYXJpU3RhY2socmF3KSB7XG5cdGxldCBsaW5lID0gcmF3LnRyaW0oKTtcblx0aWYgKFNBRkFSSV9OQVRJVkVfQ09ERV9SRUdFWFAudGVzdChsaW5lKSkge1xuXHRcdHJldHVybiBudWxsO1xuXHR9XG5cdGlmIChsaW5lLmluY2x1ZGVzKFwiID4gZXZhbFwiKSkge1xuXHRcdGxpbmUgPSBsaW5lLnJlcGxhY2UoLyBsaW5lIChcXGQrKSg/OiA+IGV2YWwgbGluZSBcXGQrKSogPiBldmFsOlxcZCs6XFxkKy9nLCBcIjokMVwiKTtcblx0fVxuXHQvLyBFYXJseSByZXR1cm4gZm9yIGxpbmVzIHRoYXQgZG9uJ3QgbG9vayBsaWtlIEZpcmVmb3gvU2FmYXJpIHN0YWNrIHRyYWNlc1xuXHQvLyBGaXJlZm94L1NhZmFyaSBzdGFjayB0cmFjZXMgbXVzdCBjb250YWluICdAJyBhbmQgc2hvdWxkIGhhdmUgbG9jYXRpb24gaW5mbyBhZnRlciBpdFxuXHRpZiAoIWxpbmUuaW5jbHVkZXMoXCJAXCIpKSB7XG5cdFx0cmV0dXJuIG51bGw7XG5cdH1cblx0Ly8gRmluZCB0aGUgY29ycmVjdCBAIHRoYXQgc2VwYXJhdGVzIGZ1bmN0aW9uIG5hbWUgZnJvbSBsb2NhdGlvblxuXHQvLyBGb3IgY2FzZXMgbGlrZSAnQGh0dHBzOi8vQGZzL3BhdGgnIG9yICdmdW5jdGlvbk5hbWVAaHR0cHM6Ly9AZnMvcGF0aCdcblx0Ly8gd2UgbmVlZCB0byBmaW5kIHRoZSBmaXJzdCBAIHRoYXQgcHJlY2VkZXMgYSB2YWxpZCBsb2NhdGlvbiAoY29udGFpbmluZyA6KVxuXHRsZXQgYXRJbmRleCA9IC0xO1xuXHRsZXQgbG9jYXRpb25QYXJ0ID0gXCJcIjtcblx0bGV0IGZ1bmN0aW9uTmFtZTtcblx0Ly8gVHJ5IGVhY2ggQCBmcm9tIGxlZnQgdG8gcmlnaHQgdG8gZmluZCB0aGUgb25lIHRoYXQgZ2l2ZXMgdXMgYSB2YWxpZCBsb2NhdGlvblxuXHRmb3IgKGxldCBpID0gMDsgaSA8IGxpbmUubGVuZ3RoOyBpKyspIHtcblx0XHRpZiAobGluZVtpXSA9PT0gXCJAXCIpIHtcblx0XHRcdGNvbnN0IGNhbmRpZGF0ZUxvY2F0aW9uID0gbGluZS5zbGljZShpICsgMSk7XG5cdFx0XHQvLyBNaW5pbXVtIGxlbmd0aCAzIGZvciB2YWxpZCBsb2NhdGlvbjogMSBmb3IgZmlsZW5hbWUgKyAxIGZvciBjb2xvbiArIDEgZm9yIGxpbmUgbnVtYmVyIChlLmcuLCBcImE6MVwiKVxuXHRcdFx0aWYgKGNhbmRpZGF0ZUxvY2F0aW9uLmluY2x1ZGVzKFwiOlwiKSAmJiBjYW5kaWRhdGVMb2NhdGlvbi5sZW5ndGggPj0gMykge1xuXHRcdFx0XHRhdEluZGV4ID0gaTtcblx0XHRcdFx0bG9jYXRpb25QYXJ0ID0gY2FuZGlkYXRlTG9jYXRpb247XG5cdFx0XHRcdGZ1bmN0aW9uTmFtZSA9IGkgPiAwID8gbGluZS5zbGljZSgwLCBpKSA6IHVuZGVmaW5lZDtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC8vIFZhbGlkYXRlIHdlIGZvdW5kIGEgdmFsaWQgbG9jYXRpb24gd2l0aCBtaW5pbXVtIGxlbmd0aCAoZmlsZW5hbWU6bGluZSBmb3JtYXQpXG5cdGlmIChhdEluZGV4ID09PSAtMSB8fCAhbG9jYXRpb25QYXJ0LmluY2x1ZGVzKFwiOlwiKSB8fCBsb2NhdGlvblBhcnQubGVuZ3RoIDwgMykge1xuXHRcdHJldHVybiBudWxsO1xuXHR9XG5cdGNvbnN0IFt1cmwsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlcl0gPSBleHRyYWN0TG9jYXRpb24obG9jYXRpb25QYXJ0KTtcblx0aWYgKCF1cmwgfHwgIWxpbmVOdW1iZXIgfHwgIWNvbHVtbk51bWJlcikge1xuXHRcdHJldHVybiBudWxsO1xuXHR9XG5cdHJldHVybiB7XG5cdFx0ZmlsZTogdXJsLFxuXHRcdG1ldGhvZDogZnVuY3Rpb25OYW1lIHx8IFwiXCIsXG5cdFx0bGluZTogTnVtYmVyLnBhcnNlSW50KGxpbmVOdW1iZXIpLFxuXHRcdGNvbHVtbjogTnVtYmVyLnBhcnNlSW50KGNvbHVtbk51bWJlcilcblx0fTtcbn1cbmZ1bmN0aW9uIHBhcnNlU2luZ2xlU3RhY2socmF3KSB7XG5cdGNvbnN0IGxpbmUgPSByYXcudHJpbSgpO1xuXHRpZiAoIUNIUk9NRV9JRV9TVEFDS19SRUdFWFAudGVzdChsaW5lKSkge1xuXHRcdHJldHVybiBwYXJzZVNpbmdsZUZGT3JTYWZhcmlTdGFjayhsaW5lKTtcblx0fVxuXHRyZXR1cm4gcGFyc2VTaW5nbGVWOFN0YWNrKGxpbmUpO1xufVxuLy8gQmFzZWQgb24gaHR0cHM6Ly9naXRodWIuY29tL3N0YWNrdHJhY2Vqcy9lcnJvci1zdGFjay1wYXJzZXJcbi8vIENyZWRpdCB0byBzdGFja3RyYWNlanNcbmZ1bmN0aW9uIHBhcnNlU2luZ2xlVjhTdGFjayhyYXcpIHtcblx0bGV0IGxpbmUgPSByYXcudHJpbSgpO1xuXHRpZiAoIUNIUk9NRV9JRV9TVEFDS19SRUdFWFAudGVzdChsaW5lKSkge1xuXHRcdHJldHVybiBudWxsO1xuXHR9XG5cdGlmIChsaW5lLmluY2x1ZGVzKFwiKGV2YWwgXCIpKSB7XG5cdFx0bGluZSA9IGxpbmUucmVwbGFjZSgvZXZhbCBjb2RlL2csIFwiZXZhbFwiKS5yZXBsYWNlKC8oXFwoZXZhbCBhdCBbXigpXSopfCgsLiokKS9nLCBcIlwiKTtcblx0fVxuXHRsZXQgc2FuaXRpemVkTGluZSA9IGxpbmUucmVwbGFjZSgvXlxccysvLCBcIlwiKS5yZXBsYWNlKC9cXChldmFsIGNvZGUvZywgXCIoXCIpLnJlcGxhY2UoL14uKj9cXHMrLywgXCJcIik7XG5cdC8vIGNhcHR1cmUgYW5kIHByZXNlcnZlIHRoZSBwYXJlbnRoZXNpemVkIGxvY2F0aW9uIFwiKC9mb28vbXkgYmFyLmpzOjEyOjg3KVwiIGluXG5cdC8vIGNhc2UgaXQgaGFzIHNwYWNlcyBpbiBpdCwgYXMgdGhlIHN0cmluZyBpcyBzcGxpdCBvbiBcXHMrIGxhdGVyIG9uXG5cdGNvbnN0IGxvY2F0aW9uID0gc2FuaXRpemVkTGluZS5tYXRjaCgvIChcXCguK1xcKSQpLyk7XG5cdC8vIHJlbW92ZSB0aGUgcGFyZW50aGVzaXplZCBsb2NhdGlvbiBmcm9tIHRoZSBsaW5lLCBpZiBpdCB3YXMgbWF0Y2hlZFxuXHRzYW5pdGl6ZWRMaW5lID0gbG9jYXRpb24gPyBzYW5pdGl6ZWRMaW5lLnJlcGxhY2UobG9jYXRpb25bMF0sIFwiXCIpIDogc2FuaXRpemVkTGluZTtcblx0Ly8gaWYgYSBsb2NhdGlvbiB3YXMgbWF0Y2hlZCwgcGFzcyBpdCB0byBleHRyYWN0TG9jYXRpb24oKSBvdGhlcndpc2UgcGFzcyBhbGwgc2FuaXRpemVkTGluZVxuXHQvLyBiZWNhdXNlIHRoaXMgbGluZSBkb2Vzbid0IGhhdmUgZnVuY3Rpb24gbmFtZVxuXHRjb25zdCBbdXJsLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXJdID0gZXh0cmFjdExvY2F0aW9uKGxvY2F0aW9uID8gbG9jYXRpb25bMV0gOiBzYW5pdGl6ZWRMaW5lKTtcblx0bGV0IG1ldGhvZCA9IGxvY2F0aW9uICYmIHNhbml0aXplZExpbmUgfHwgXCJcIjtcblx0bGV0IGZpbGUgPSB1cmwgJiYgW1wiZXZhbFwiLCBcIjxhbm9ueW1vdXM+XCJdLmluY2x1ZGVzKHVybCkgPyB1bmRlZmluZWQgOiB1cmw7XG5cdGlmICghZmlsZSB8fCAhbGluZU51bWJlciB8fCAhY29sdW1uTnVtYmVyKSB7XG5cdFx0cmV0dXJuIG51bGw7XG5cdH1cblx0aWYgKG1ldGhvZC5zdGFydHNXaXRoKFwiYXN5bmMgXCIpKSB7XG5cdFx0bWV0aG9kID0gbWV0aG9kLnNsaWNlKDYpO1xuXHR9XG5cdGlmIChmaWxlLnN0YXJ0c1dpdGgoXCJmaWxlOi8vXCIpKSB7XG5cdFx0ZmlsZSA9IGZpbGUuc2xpY2UoNyk7XG5cdH1cblx0Ly8gbm9ybWFsaXplIFdpbmRvd3MgcGF0aCAoXFwgLT4gLylcblx0ZmlsZSA9IGZpbGUuc3RhcnRzV2l0aChcIm5vZGU6XCIpIHx8IGZpbGUuc3RhcnRzV2l0aChcImludGVybmFsOlwiKSA/IGZpbGUgOiByZXNvbHZlKGZpbGUpO1xuXHRpZiAobWV0aG9kKSB7XG5cdFx0bWV0aG9kID0gbWV0aG9kLnJlcGxhY2UoL1xcKDBcXHM/LFxccz9fX3ZpdGVfc3NyX2ltcG9ydF9cXGQrX18uKFxcdyspXFwpL2csIFwiJDFcIikucmVwbGFjZSgvX18odml0ZV9zc3JfaW1wb3J0fHZpX2ltcG9ydClfXFxkK19fXFwuL2csIFwiXCIpLnJlcGxhY2UoLyhPYmplY3RcXC4pP19fdml0ZV9zc3JfZXhwb3J0X2RlZmF1bHRfX1xccz8vZywgXCJcIik7XG5cdH1cblx0cmV0dXJuIHtcblx0XHRtZXRob2QsXG5cdFx0ZmlsZSxcblx0XHRsaW5lOiBOdW1iZXIucGFyc2VJbnQobGluZU51bWJlciksXG5cdFx0Y29sdW1uOiBOdW1iZXIucGFyc2VJbnQoY29sdW1uTnVtYmVyKVxuXHR9O1xufVxuZnVuY3Rpb24gY3JlYXRlU3RhY2tTdHJpbmcoc3RhY2tzKSB7XG5cdHJldHVybiBzdGFja3MubWFwKChzdGFjaykgPT4ge1xuXHRcdGNvbnN0IGxpbmUgPSBgJHtzdGFjay5maWxlfToke3N0YWNrLmxpbmV9OiR7c3RhY2suY29sdW1ufWA7XG5cdFx0aWYgKHN0YWNrLm1ldGhvZCkge1xuXHRcdFx0cmV0dXJuIGAgICAgYXQgJHtzdGFjay5tZXRob2R9KCR7bGluZX0pYDtcblx0XHR9XG5cdFx0cmV0dXJuIGAgICAgYXQgJHtsaW5lfWA7XG5cdH0pLmpvaW4oXCJcXG5cIik7XG59XG5mdW5jdGlvbiBwYXJzZVN0YWNrdHJhY2Uoc3RhY2ssIG9wdGlvbnMgPSB7fSkge1xuXHRjb25zdCB7IGlnbm9yZVN0YWNrRW50cmllcyA9IHN0YWNrSWdub3JlUGF0dGVybnMgfSA9IG9wdGlvbnM7XG5cdGxldCBzdGFja3MgPSAhQ0hST01FX0lFX1NUQUNLX1JFR0VYUC50ZXN0KHN0YWNrKSA/IHBhcnNlRkZPclNhZmFyaVN0YWNrVHJhY2Uoc3RhY2spIDogcGFyc2VWOFN0YWNrdHJhY2Uoc3RhY2spO1xuXHQvLyByZW1vdmUgdmkuZGVmaW5lSGVscGVyJ3MgaW50ZXJuYWwgc3RhY2tzXG5cdGNvbnN0IGhlbHBlckluZGV4ID0gc3RhY2tzLmZpbmRMYXN0SW5kZXgoKHMpID0+IHMubWV0aG9kLmluY2x1ZGVzKFwiX19WSVRFU1RfSEVMUEVSX19cIikpO1xuXHRpZiAoaGVscGVySW5kZXggPj0gMCkge1xuXHRcdHN0YWNrcyA9IHN0YWNrcy5zbGljZShoZWxwZXJJbmRleCArIDEpO1xuXHR9XG5cdHJldHVybiBzdGFja3MubWFwKChzdGFjaykgPT4ge1xuXHRcdGlmIChvcHRpb25zLmdldFVybElkKSB7XG5cdFx0XHRzdGFjay5maWxlID0gb3B0aW9ucy5nZXRVcmxJZChzdGFjay5maWxlKTtcblx0XHR9XG5cdFx0Y29uc3QgbWFwID0gb3B0aW9ucy5nZXRTb3VyY2VNYXA/LihzdGFjay5maWxlKTtcblx0XHRpZiAoIW1hcCB8fCB0eXBlb2YgbWFwICE9PSBcIm9iamVjdFwiIHx8ICFtYXAudmVyc2lvbikge1xuXHRcdFx0cmV0dXJuIHNob3VsZEZpbHRlcihpZ25vcmVTdGFja0VudHJpZXMsIHN0YWNrLmZpbGUpID8gbnVsbCA6IHN0YWNrO1xuXHRcdH1cblx0XHRjb25zdCB0cmFjZU1hcCA9IG5ldyBEZWNvZGVkTWFwKG1hcCwgc3RhY2suZmlsZSk7XG5cdFx0Y29uc3QgcG9zaXRpb24gPSBnZXRPcmlnaW5hbFBvc2l0aW9uKHRyYWNlTWFwLCBzdGFjayk7XG5cdFx0aWYgKCFwb3NpdGlvbikge1xuXHRcdFx0cmV0dXJuIHN0YWNrO1xuXHRcdH1cblx0XHRjb25zdCB7IGxpbmUsIGNvbHVtbiwgc291cmNlLCBuYW1lIH0gPSBwb3NpdGlvbjtcblx0XHRsZXQgZmlsZSA9IHNvdXJjZSB8fCBzdGFjay5maWxlO1xuXHRcdGlmIChmaWxlLm1hdGNoKC9cXC9cXHc6XFwvLykpIHtcblx0XHRcdGZpbGUgPSBmaWxlLnNsaWNlKDEpO1xuXHRcdH1cblx0XHRpZiAoc2hvdWxkRmlsdGVyKGlnbm9yZVN0YWNrRW50cmllcywgZmlsZSkpIHtcblx0XHRcdHJldHVybiBudWxsO1xuXHRcdH1cblx0XHRpZiAobGluZSAhPSBudWxsICYmIGNvbHVtbiAhPSBudWxsKSB7XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRsaW5lLFxuXHRcdFx0XHRjb2x1bW4sXG5cdFx0XHRcdGZpbGUsXG5cdFx0XHRcdG1ldGhvZDogbmFtZSB8fCBzdGFjay5tZXRob2Rcblx0XHRcdH07XG5cdFx0fVxuXHRcdHJldHVybiBzdGFjaztcblx0fSkuZmlsdGVyKChzKSA9PiBzICE9IG51bGwpO1xufVxuZnVuY3Rpb24gc2hvdWxkRmlsdGVyKGlnbm9yZVN0YWNrRW50cmllcywgZmlsZSkge1xuXHRyZXR1cm4gaWdub3JlU3RhY2tFbnRyaWVzLnNvbWUoKHApID0+IGZpbGUubWF0Y2gocCkpO1xufVxuZnVuY3Rpb24gcGFyc2VGRk9yU2FmYXJpU3RhY2tUcmFjZShzdGFjaykge1xuXHRyZXR1cm4gc3RhY2suc3BsaXQoXCJcXG5cIikubWFwKChsaW5lKSA9PiBwYXJzZVNpbmdsZUZGT3JTYWZhcmlTdGFjayhsaW5lKSkuZmlsdGVyKG5vdE51bGxpc2gpO1xufVxuZnVuY3Rpb24gcGFyc2VWOFN0YWNrdHJhY2Uoc3RhY2spIHtcblx0cmV0dXJuIHN0YWNrLnNwbGl0KFwiXFxuXCIpLm1hcCgobGluZSkgPT4gcGFyc2VTaW5nbGVWOFN0YWNrKGxpbmUpKS5maWx0ZXIobm90TnVsbGlzaCk7XG59XG5mdW5jdGlvbiBwYXJzZUVycm9yU3RhY2t0cmFjZShlLCBvcHRpb25zID0ge30pIHtcblx0aWYgKCFlIHx8IGlzUHJpbWl0aXZlKGUpKSB7XG5cdFx0cmV0dXJuIFtdO1xuXHR9XG5cdGlmIChcInN0YWNrc1wiIGluIGUgJiYgZS5zdGFja3MpIHtcblx0XHRyZXR1cm4gZS5zdGFja3M7XG5cdH1cblx0Y29uc3Qgc3RhY2tTdHIgPSBlLnN0YWNrIHx8IFwiXCI7XG5cdC8vIGlmIFwic3RhY2tcIiBwcm9wZXJ0eSB3YXMgb3ZlcndyaXR0ZW4gYXQgcnVudGltZSB0byBiZSBzb21ldGhpbmcgZWxzZSxcblx0Ly8gaWdub3JlIHRoZSB2YWx1ZSBiZWNhdXNlIHdlIGRvbid0IGtub3cgaG93IHRvIHByb2Nlc3MgaXRcblx0bGV0IHN0YWNrRnJhbWVzID0gdHlwZW9mIHN0YWNrU3RyID09PSBcInN0cmluZ1wiID8gcGFyc2VTdGFja3RyYWNlKHN0YWNrU3RyLCBvcHRpb25zKSA6IFtdO1xuXHRpZiAoIXN0YWNrRnJhbWVzLmxlbmd0aCkge1xuXHRcdGNvbnN0IGVfID0gZTtcblx0XHRpZiAoZV8uZmlsZU5hbWUgIT0gbnVsbCAmJiBlXy5saW5lTnVtYmVyICE9IG51bGwgJiYgZV8uY29sdW1uTnVtYmVyICE9IG51bGwpIHtcblx0XHRcdHN0YWNrRnJhbWVzID0gcGFyc2VTdGFja3RyYWNlKGAke2VfLmZpbGVOYW1lfToke2VfLmxpbmVOdW1iZXJ9OiR7ZV8uY29sdW1uTnVtYmVyfWAsIG9wdGlvbnMpO1xuXHRcdH1cblx0XHRpZiAoZV8uc291cmNlVVJMICE9IG51bGwgJiYgZV8ubGluZSAhPSBudWxsICYmIGVfLl9jb2x1bW4gIT0gbnVsbCkge1xuXHRcdFx0c3RhY2tGcmFtZXMgPSBwYXJzZVN0YWNrdHJhY2UoYCR7ZV8uc291cmNlVVJMfToke2VfLmxpbmV9OiR7ZV8uY29sdW1ufWAsIG9wdGlvbnMpO1xuXHRcdH1cblx0fVxuXHRpZiAob3B0aW9ucy5mcmFtZUZpbHRlcikge1xuXHRcdHN0YWNrRnJhbWVzID0gc3RhY2tGcmFtZXMuZmlsdGVyKChmKSA9PiBvcHRpb25zLmZyYW1lRmlsdGVyKGUsIGYpICE9PSBmYWxzZSk7XG5cdH1cblx0ZS5zdGFja3MgPSBzdGFja0ZyYW1lcztcblx0cmV0dXJuIHN0YWNrRnJhbWVzO1xufVxuY2xhc3MgRGVjb2RlZE1hcCB7XG5cdF9lbmNvZGVkO1xuXHRfZGVjb2RlZDtcblx0X2RlY29kZWRNZW1vO1xuXHR1cmw7XG5cdHZlcnNpb247XG5cdG5hbWVzID0gW107XG5cdHJlc29sdmVkU291cmNlcztcblx0Y29uc3RydWN0b3IobWFwLCBmcm9tKSB7XG5cdFx0dGhpcy5tYXAgPSBtYXA7XG5cdFx0Y29uc3QgeyBtYXBwaW5ncywgbmFtZXMsIHNvdXJjZXMgfSA9IG1hcDtcblx0XHR0aGlzLnZlcnNpb24gPSBtYXAudmVyc2lvbjtcblx0XHR0aGlzLm5hbWVzID0gbmFtZXMgfHwgW107XG5cdFx0dGhpcy5fZW5jb2RlZCA9IG1hcHBpbmdzIHx8IFwiXCI7XG5cdFx0dGhpcy5fZGVjb2RlZE1lbW8gPSBtZW1vaXplZFN0YXRlKCk7XG5cdFx0dGhpcy51cmwgPSBmcm9tO1xuXHRcdHRoaXMucmVzb2x2ZWRTb3VyY2VzID0gKHNvdXJjZXMgfHwgW10pLm1hcCgocykgPT4gcmVzb2x2ZShmcm9tLCBcIi4uXCIsIHMgfHwgXCJcIikpO1xuXHR9XG59XG5mdW5jdGlvbiBtZW1vaXplZFN0YXRlKCkge1xuXHRyZXR1cm4ge1xuXHRcdGxhc3RLZXk6IC0xLFxuXHRcdGxhc3ROZWVkbGU6IC0xLFxuXHRcdGxhc3RJbmRleDogLTFcblx0fTtcbn1cbmZ1bmN0aW9uIGdldE9yaWdpbmFsUG9zaXRpb24obWFwLCBuZWVkbGUpIHtcblx0Y29uc3QgcmVzdWx0ID0gb3JpZ2luYWxQb3NpdGlvbkZvcihtYXAsIG5lZWRsZSk7XG5cdGlmIChyZXN1bHQuY29sdW1uID09IG51bGwpIHtcblx0XHRyZXR1cm4gbnVsbDtcblx0fVxuXHRyZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgeyBEZWNvZGVkTWFwLCBjcmVhdGVTdGFja1N0cmluZywgc3RhY2tJZ25vcmVQYXR0ZXJucyBhcyBkZWZhdWx0U3RhY2tJZ25vcmVQYXR0ZXJucywgZ2V0T3JpZ2luYWxQb3NpdGlvbiwgcGFyc2VFcnJvclN0YWNrdHJhY2UsIHBhcnNlU2luZ2xlRkZPclNhZmFyaVN0YWNrLCBwYXJzZVNpbmdsZVN0YWNrLCBwYXJzZVNpbmdsZVY4U3RhY2ssIHBhcnNlU3RhY2t0cmFjZSB9O1xuIl0sInhfZ29vZ2xlX2lnbm9yZUxpc3QiOlswXSwibWFwcGluZ3MiOiI7Ozs7QUFLQSxJQUFJLFFBQVEsSUFBSSxXQUFXLENBQUM7QUFDNUIsSUFBSSxRQUFRO0FBQ1osSUFBSSw0QkFBWSxJQUFJLFdBQVcsRUFBRTtBQUNqQyxJQUFJLDRCQUFZLElBQUksV0FBVyxHQUFHO0FBQ2xDLEtBQUssSUFBSSxJQUFJLEdBQUcsSUFBSSxNQUFNLFFBQVEsS0FBSztDQUNyQyxNQUFNLElBQUksTUFBTSxXQUFXLENBQUM7Q0FDNUIsVUFBVSxLQUFLO0NBQ2YsVUFBVSxLQUFLO0FBQ2pCO0FBQ0EsU0FBUyxjQUFjLFFBQVEsVUFBVTtDQUN2QyxJQUFJLFFBQVE7Q0FDWixJQUFJLFFBQVE7Q0FDWixJQUFJLFVBQVU7Q0FDZCxHQUFHO0VBRUQsVUFBVSxVQURBLE9BQU8sS0FDRztFQUNwQixVQUFVLFVBQVUsT0FBTztFQUMzQixTQUFTO0NBQ1gsU0FBUyxVQUFVO0NBQ25CLE1BQU0sZUFBZSxRQUFRO0NBQzdCLFdBQVc7Q0FDWCxJQUFJLGNBQ0YsUUFBUSxjQUFjLENBQUM7Q0FFekIsT0FBTyxXQUFXO0FBQ3BCO0FBQ0EsU0FBUyxXQUFXLFFBQVEsS0FBSztDQUMvQixJQUFJLE9BQU8sT0FBTyxLQUFLLE9BQU87Q0FDOUIsT0FBTyxPQUFPLEtBQUssTUFBTTtBQUMzQjtBQUNBLElBQUksZUFBZSxNQUFNO0NBQ3ZCLFlBQVksUUFBUTtFQUNsQixLQUFLLE1BQU07RUFDWCxLQUFLLFNBQVM7Q0FDaEI7Q0FDQSxPQUFPO0VBQ0wsT0FBTyxLQUFLLE9BQU8sV0FBVyxLQUFLLEtBQUs7Q0FDMUM7Q0FDQSxPQUFPO0VBQ0wsT0FBTyxLQUFLLE9BQU8sV0FBVyxLQUFLLEdBQUc7Q0FDeEM7Q0FDQSxRQUFRLE1BQU07RUFDWixNQUFNLEVBQUUsUUFB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
@@ -0,0 +1,51 @@
1
+ //#region ../../node_modules/.pnpm/@vitest+utils@4.1.10/node_modules/@vitest/utils/dist/timers.js
2
+ const SAFE_TIMERS_SYMBOL = Symbol("vitest:SAFE_TIMERS");
3
+ function getSafeTimers() {
4
+ const { setTimeout: safeSetTimeout, setInterval: safeSetInterval, clearInterval: safeClearInterval, clearTimeout: safeClearTimeout, setImmediate: safeSetImmediate, clearImmediate: safeClearImmediate, queueMicrotask: safeQueueMicrotask } = globalThis[SAFE_TIMERS_SYMBOL] || globalThis;
5
+ const { nextTick: safeNextTick } = globalThis[SAFE_TIMERS_SYMBOL] || globalThis.process || {};
6
+ return {
7
+ nextTick: safeNextTick,
8
+ setTimeout: safeSetTimeout,
9
+ setInterval: safeSetInterval,
10
+ clearInterval: safeClearInterval,
11
+ clearTimeout: safeClearTimeout,
12
+ setImmediate: safeSetImmediate,
13
+ clearImmediate: safeClearImmediate,
14
+ queueMicrotask: safeQueueMicrotask
15
+ };
16
+ }
17
+ function setSafeTimers() {
18
+ const { setTimeout: safeSetTimeout, setInterval: safeSetInterval, clearInterval: safeClearInterval, clearTimeout: safeClearTimeout, setImmediate: safeSetImmediate, clearImmediate: safeClearImmediate, queueMicrotask: safeQueueMicrotask } = globalThis;
19
+ const { nextTick: safeNextTick } = globalThis.process || {};
20
+ globalThis[SAFE_TIMERS_SYMBOL] = {
21
+ nextTick: safeNextTick,
22
+ setTimeout: safeSetTimeout,
23
+ setInterval: safeSetInterval,
24
+ clearInterval: safeClearInterval,
25
+ clearTimeout: safeClearTimeout,
26
+ setImmediate: safeSetImmediate,
27
+ clearImmediate: safeClearImmediate,
28
+ queueMicrotask: safeQueueMicrotask
29
+ };
30
+ }
31
+ /**
32
+ * Returns a promise that resolves after the specified duration.
33
+ *
34
+ * @param timeout - Delay in milliseconds
35
+ * @param scheduler - Timer function to use, defaults to `setTimeout`. Useful for mocked timers.
36
+ *
37
+ * @example
38
+ * await delay(100)
39
+ *
40
+ * @example
41
+ * // With mocked timers
42
+ * const { setTimeout } = getSafeTimers()
43
+ * await delay(100, setTimeout)
44
+ */
45
+ function delay(timeout, scheduler = setTimeout) {
46
+ return new Promise((resolve) => scheduler(resolve, timeout));
47
+ }
48
+ //#endregion
49
+ export { delay, getSafeTimers, setSafeTimers };
50
+
51
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXJzLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy8ucG5wbS9Adml0ZXN0K3V0aWxzQDQuMS4xMC9ub2RlX21vZHVsZXMvQHZpdGVzdC91dGlscy9kaXN0L3RpbWVycy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBTQUZFX1RJTUVSU19TWU1CT0wgPSBTeW1ib2woXCJ2aXRlc3Q6U0FGRV9USU1FUlNcIik7XG5mdW5jdGlvbiBnZXRTYWZlVGltZXJzKCkge1xuXHRjb25zdCB7IHNldFRpbWVvdXQ6IHNhZmVTZXRUaW1lb3V0LCBzZXRJbnRlcnZhbDogc2FmZVNldEludGVydmFsLCBjbGVhckludGVydmFsOiBzYWZlQ2xlYXJJbnRlcnZhbCwgY2xlYXJUaW1lb3V0OiBzYWZlQ2xlYXJUaW1lb3V0LCBzZXRJbW1lZGlhdGU6IHNhZmVTZXRJbW1lZGlhdGUsIGNsZWFySW1tZWRpYXRlOiBzYWZlQ2xlYXJJbW1lZGlhdGUsIHF1ZXVlTWljcm90YXNrOiBzYWZlUXVldWVNaWNyb3Rhc2sgfSA9IGdsb2JhbFRoaXNbU0FGRV9USU1FUlNfU1lNQk9MXSB8fCBnbG9iYWxUaGlzO1xuXHRjb25zdCB7IG5leHRUaWNrOiBzYWZlTmV4dFRpY2sgfSA9IGdsb2JhbFRoaXNbU0FGRV9USU1FUlNfU1lNQk9MXSB8fCBnbG9iYWxUaGlzLnByb2Nlc3MgfHwge307XG5cdHJldHVybiB7XG5cdFx0bmV4dFRpY2s6IHNhZmVOZXh0VGljayxcblx0XHRzZXRUaW1lb3V0OiBzYWZlU2V0VGltZW91dCxcblx0XHRzZXRJbnRlcnZhbDogc2FmZVNldEludGVydmFsLFxuXHRcdGNsZWFySW50ZXJ2YWw6IHNhZmVDbGVhckludGVydmFsLFxuXHRcdGNsZWFyVGltZW91dDogc2FmZUNsZWFyVGltZW91dCxcblx0XHRzZXRJbW1lZGlhdGU6IHNhZmVTZXRJbW1lZGlhdGUsXG5cdFx0Y2xlYXJJbW1lZGlhdGU6IHNhZmVDbGVhckltbWVkaWF0ZSxcblx0XHRxdWV1ZU1pY3JvdGFzazogc2FmZVF1ZXVlTWljcm90YXNrXG5cdH07XG59XG5mdW5jdGlvbiBzZXRTYWZlVGltZXJzKCkge1xuXHRjb25zdCB7IHNldFRpbWVvdXQ6IHNhZmVTZXRUaW1lb3V0LCBzZXRJbnRlcnZhbDogc2FmZVNldEludGVydmFsLCBjbGVhckludGVydmFsOiBzYWZlQ2xlYXJJbnRlcnZhbCwgY2xlYXJUaW1lb3V0OiBzYWZlQ2xlYXJUaW1lb3V0LCBzZXRJbW1lZGlhdGU6IHNhZmVTZXRJbW1lZGlhdGUsIGNsZWFySW1tZWRpYXRlOiBzYWZlQ2xlYXJJbW1lZGlhdGUsIHF1ZXVlTWljcm90YXNrOiBzYWZlUXVldWVNaWNyb3Rhc2sgfSA9IGdsb2JhbFRoaXM7XG5cdGNvbnN0IHsgbmV4dFRpY2s6IHNhZmVOZXh0VGljayB9ID0gZ2xvYmFsVGhpcy5wcm9jZXNzIHx8IHt9O1xuXHRjb25zdCB0aW1lcnMgPSB7XG5cdFx0bmV4dFRpY2s6IHNhZmVOZXh0VGljayxcblx0XHRzZXRUaW1lb3V0OiBzYWZlU2V0VGltZW91dCxcblx0XHRzZXRJbnRlcnZhbDogc2FmZVNldEludGVydmFsLFxuXHRcdGNsZWFySW50ZXJ2YWw6IHNhZmVDbGVhckludGVydmFsLFxuXHRcdGNsZWFyVGltZW91dDogc2FmZUNsZWFyVGltZW91dCxcblx0XHRzZXRJbW1lZGlhdGU6IHNhZmVTZXRJbW1lZGlhdGUsXG5cdFx0Y2xlYXJJbW1lZGlhdGU6IHNhZmVDbGVhckltbWVkaWF0ZSxcblx0XHRxdWV1ZU1pY3JvdGFzazogc2FmZVF1ZXVlTWljcm90YXNrXG5cdH07XG5cdGdsb2JhbFRoaXNbU0FGRV9USU1FUlNfU1lNQk9MXSA9IHRpbWVycztcbn1cbi8qKlxuKiBSZXR1cm5zIGEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIGFmdGVyIHRoZSBzcGVjaWZpZWQgZHVyYXRpb24uXG4qXG4qIEBwYXJhbSB0aW1lb3V0IC0gRGVsYXkgaW4gbWlsbGlzZWNvbmRzXG4qIEBwYXJhbSBzY2hlZHVsZXIgLSBUaW1lciBmdW5jdGlvbiB0byB1c2UsIGRlZmF1bHRzIHRvIGBzZXRUaW1lb3V0YC4gVXNlZnVsIGZvciBtb2NrZWQgdGltZXJzLlxuKlxuKiBAZXhhbXBsZVxuKiBhd2FpdCBkZWxheSgxMDApXG4qXG4qIEBleGFtcGxlXG4qIC8vIFdpdGggbW9ja2VkIHRpbWVyc1xuKiBjb25zdCB7IHNldFRpbWVvdXQgfSA9IGdldFNhZmVUaW1lcnMoKVxuKiBhd2FpdCBkZWxheSgxMDAsIHNldFRpbWVvdXQpXG4qL1xuZnVuY3Rpb24gZGVsYXkodGltZW91dCwgc2NoZWR1bGVyID0gc2V0VGltZW91dCkge1xuXHRyZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNjaGVkdWxlcihyZXNvbHZlLCB0aW1lb3V0KSk7XG59XG5cbmV4cG9ydCB7IGRlbGF5LCBnZXRTYWZlVGltZXJzLCBzZXRTYWZlVGltZXJzIH07XG4iXSwieF9nb29nbGVfaWdub3JlTGlzdCI6WzBdLCJtYXBwaW5ncyI6IjtBQUFBLE1BQU0scUJBQXFCLE9BQU8sb0JBQW9CO0FBQ3RELFNBQVMsZ0JBQWdCO0NBQ3hCLE1BQU0sRUFBRSxZQUFZLGdCQUFnQixhQUFhLGlCQUFpQixlQUFlLG1CQUFtQixjQUFjLGtCQUFrQixjQUFjLGtCQUFrQixnQkFBZ0Isb0JBQW9CLGdCQUFnQix1QkFBdUIsV0FBVyx1QkFBdUI7Q0FDalIsTUFBTSxFQUFFLFVBQVUsaUJBQWlCLFdBQVcsdUJBQXVCLFdBQVcsV0FBVyxDQUFDO0NBQzVGLE9BQU87RUFDTixVQUFVO0VBQ1YsWUFBWTtFQUNaLGFBQWE7RUFDYixlQUFlO0VBQ2YsY0FBYztFQUNkLGNBQWM7RUFDZCxnQkFBZ0I7RUFDaEIsZ0JBQWdCO0NBQ2pCO0FBQ0Q7QUFDQSxTQUFTLGdCQUFnQjtDQUN4QixNQUFNLEVBQUUsWUFBWSxnQkFBZ0IsYUFBYSxpQkFBaUIsZUFBZSxtQkFBbUIsY0FBYyxrQkFBa0IsY0FBYyxrQkFBa0IsZ0JBQWdCLG9CQUFvQixnQkFBZ0IsdUJBQXVCO0NBQy9PLE1BQU0sRUFBRSxVQUFVLGlCQUFpQixXQUFXLFdBQVcsQ0FBQztDQVcxRCxXQUFXLHNCQUFzQjtFQVRoQyxVQUFVO0VBQ1YsWUFBWTtFQUNaLGFBQWE7RUFDYixlQUFlO0VBQ2YsY0FBYztFQUNkLGNBQWM7RUFDZCxnQkFBZ0I7RUFDaEIsZ0JBQWdCO0NBRWdCO0FBQ2xDOzs7Ozs7Ozs7Ozs7Ozs7QUFlQSxTQUFTLE1BQU0sU0FBUyxZQUFZLFlBQVk7Q0FDL0MsT0FBTyxJQUFJLFNBQVMsWUFBWSxVQUFVLFNBQVMsT0FBTyxDQUFDO0FBQzVEIn0=