@cartanova/qgrid-cli 2.7.1 → 2.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1212) hide show
  1. package/README.ko.md +3 -2
  2. package/README.md +3 -2
  3. package/bundle/dist/application/monit/monit.frame.js +27 -14
  4. package/bundle/dist/application/monit/monit.types.js +22 -13
  5. package/bundle/dist/application/qgrid/conv-routing.js +21 -11
  6. package/bundle/dist/application/qgrid/oauth.js +1 -1
  7. package/bundle/dist/application/qgrid/qgrid-run-lifecycle.js +15 -4
  8. package/bundle/dist/application/qgrid/qgrid.dispatcher.js +18 -9
  9. package/bundle/dist/application/qgrid/qgrid.frame.js +50 -73
  10. package/bundle/dist/application/qgrid/qgrid.types.js +4 -1
  11. package/bundle/dist/application/qgrid/token-subscriber.js +5 -5
  12. package/bundle/dist/application/qgrid/tool-emulation-schema.js +13 -1
  13. package/bundle/dist/application/qgrid/tool-emulation.js +1 -1
  14. package/bundle/dist/application/queries.generated.js +3 -1
  15. package/bundle/dist/application/request-log/json-schema-type-text.js +55 -0
  16. package/bundle/dist/application/request-log/request-log.model.js +85 -3
  17. package/bundle/dist/application/request-log/request-log.types.js +3 -2
  18. package/bundle/dist/application/request-log/zod-code-format.js +71 -0
  19. package/bundle/dist/application/setting/setting.constant.js +2 -62
  20. package/bundle/dist/application/setting/setting.model.js +3 -3
  21. package/bundle/dist/application/setting/setting.store.js +2 -2
  22. package/bundle/dist/application/sonamu.generated.js +11 -4
  23. package/bundle/dist/application/sonamu.generated.sso.js +7 -3
  24. package/bundle/dist/i18n/sd.generated.js +5 -2
  25. package/bundle/dist/migrations/20260814130113_alter_request_logs_add1_alter1.js +15 -0
  26. package/bundle/dist/migrations/20260814131051_alter_request_logs_add1_alter1.js +15 -0
  27. package/bundle/dist/migrations/20260814134846_alter_request_logs_add1_alter1.js +15 -0
  28. package/bundle/dist/migrations/20260814140759_alter_request_logs_alter1.js +13 -0
  29. 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 → vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_vi_3892b4338df694f79f7d384fad23d930}/node_modules/vitest/dist/chunks/_commonjsHelpers.D26ty3Ew.js +2 -2
  30. 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 → vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_vi_3892b4338df694f79f7d384fad23d930}/node_modules/vitest/dist/chunks/benchmark.CX_oY03V.js +2 -2
  31. 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 → vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_vi_3892b4338df694f79f7d384fad23d930}/node_modules/vitest/dist/chunks/evaluatedModules.Dg1zASAC.js +2 -2
  32. 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 → vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_vi_3892b4338df694f79f7d384fad23d930}/node_modules/vitest/dist/chunks/index.Chj8NDwU.js +2 -2
  33. 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 → vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_vi_3892b4338df694f79f7d384fad23d930}/node_modules/vitest/dist/chunks/index.DdgEv5B1.js +2 -2
  34. 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 → vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_vi_3892b4338df694f79f7d384fad23d930}/node_modules/vitest/dist/chunks/rpc.MzXet3jl.js +2 -2
  35. 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 → vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_vi_3892b4338df694f79f7d384fad23d930}/node_modules/vitest/dist/chunks/test.DNmyFkvJ.js +2 -2
  36. 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 → vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_vi_3892b4338df694f79f7d384fad23d930}/node_modules/vitest/dist/chunks/utils.BX5Fg8C4.js +2 -2
  37. 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 → vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_vi_3892b4338df694f79f7d384fad23d930}/node_modules/vitest/dist/index.js +1 -1
  38. package/bundle/dist/sonamu.config.js +10 -9
  39. package/bundle/dist/testing/setup-mocks.js +2 -2
  40. package/bundle/dist/utils/providers/anthropic/anthropic-dispatcher.js +14 -2
  41. package/bundle/dist/utils/providers/anthropic/claude-session.js +1 -1
  42. package/bundle/dist/utils/providers/anthropic/stream-json-adapter.js +1 -1
  43. package/bundle/dist/utils/providers/common/model-cost.js +1 -1
  44. package/bundle/dist/utils/providers/common/schema-validation.js +1 -1
  45. package/bundle/dist/utils/providers/openai/openai-backend-protocol.js +144 -0
  46. package/bundle/dist/utils/providers/openai/openai-constants.js +4 -2
  47. package/bundle/dist/utils/providers/openai/openai-direct-client.js +327 -0
  48. package/bundle/dist/utils/providers/openai/openai-dispatcher.js +358 -781
  49. package/bundle/dist/utils/providers/openai/openai-oauth.js +84 -0
  50. package/bundle/dist/utils/providers/openai/openai-quota.js +76 -5
  51. package/bundle/dist/utils/providers/openai/openai-refresh.js +3 -3
  52. package/bundle/dist/utils/providers/openai/openai-sse.js +72 -0
  53. package/bundle/dist/utils/providers/openai/openai-transport-config.js +14 -0
  54. package/bundle/src/application/monit/monit.frame.test.ts +14 -17
  55. package/bundle/src/application/monit/monit.frame.ts +23 -12
  56. package/bundle/src/application/monit/monit.types.ts +40 -11
  57. package/bundle/src/application/qgrid/conv-routing.test.ts +67 -0
  58. package/bundle/src/application/qgrid/conv-routing.ts +46 -12
  59. package/bundle/src/application/qgrid/qgrid-oauth-redirect.test.ts +92 -2
  60. package/bundle/src/application/qgrid/qgrid-run-lifecycle.test.ts +3 -0
  61. package/bundle/src/application/qgrid/qgrid-run-lifecycle.ts +15 -1
  62. package/bundle/src/application/qgrid/qgrid.dispatcher.test.ts +36 -6
  63. package/bundle/src/application/qgrid/qgrid.dispatcher.ts +22 -9
  64. package/bundle/src/application/qgrid/qgrid.frame.ts +55 -94
  65. package/bundle/src/application/qgrid/qgrid.types.ts +11 -4
  66. package/bundle/src/application/qgrid/token-subscriber.ts +4 -4
  67. package/bundle/src/application/qgrid/tool-emulation-schema.ts +1 -1
  68. package/bundle/src/application/qgrid/tool-emulation.test.ts +1 -0
  69. package/bundle/src/application/queries.generated.ts +6 -0
  70. package/bundle/src/application/request-log/json-schema-type-text.test.ts +96 -0
  71. package/bundle/src/application/request-log/json-schema-type-text.ts +83 -0
  72. package/bundle/src/application/request-log/request-log.entity.json +147 -21
  73. package/bundle/src/application/request-log/request-log.model.ts +108 -0
  74. package/bundle/src/application/request-log/request-log.types.ts +2 -0
  75. package/bundle/src/application/request-log/zod-code-format.test.ts +31 -0
  76. package/bundle/src/application/request-log/zod-code-format.ts +73 -0
  77. package/bundle/src/application/setting/setting.constant.test.ts +22 -24
  78. package/bundle/src/application/setting/setting.constant.ts +2 -63
  79. package/bundle/src/application/setting/setting.entity.json +1 -1
  80. package/bundle/src/application/setting/setting.store.ts +1 -1
  81. package/bundle/src/application/sonamu.generated.http +20 -1
  82. package/bundle/src/application/sonamu.generated.sso.ts +4 -0
  83. package/bundle/src/application/sonamu.generated.ts +10 -0
  84. package/bundle/src/i18n/sd.generated.ts +6 -1
  85. package/bundle/src/migrations/20260814130113_alter_request_logs_add1_alter1.ts +15 -0
  86. package/bundle/src/migrations/20260814131051_alter_request_logs_add1_alter1.ts +15 -0
  87. package/bundle/src/migrations/20260814134846_alter_request_logs_add1_alter1.ts +15 -0
  88. package/bundle/src/migrations/20260814140759_alter_request_logs_alter1.ts +13 -0
  89. package/bundle/src/sonamu.config.ts +9 -13
  90. package/bundle/src/utils/providers/anthropic/anthropic-dispatcher.ts +17 -2
  91. package/bundle/src/utils/providers/anthropic/claude-session.ts +1 -3
  92. package/bundle/src/utils/providers/anthropic/stream-json-adapter.test.ts +1 -2
  93. package/bundle/src/utils/providers/anthropic/stream-json-adapter.ts +2 -3
  94. package/bundle/src/utils/providers/common/model-cost.ts +4 -9
  95. package/bundle/src/utils/providers/common/provider-dispatcher.ts +10 -8
  96. package/bundle/src/utils/providers/common/provider-types.ts +48 -0
  97. package/bundle/src/utils/providers/common/schema-validation.ts +1 -1
  98. package/bundle/src/utils/providers/openai/openai-backend-protocol.test.ts +106 -0
  99. package/bundle/src/utils/providers/openai/openai-backend-protocol.ts +255 -0
  100. package/bundle/src/utils/providers/openai/openai-constants.ts +2 -0
  101. package/bundle/src/utils/providers/openai/openai-direct-client.test.ts +610 -0
  102. package/bundle/src/utils/providers/openai/openai-direct-client.ts +478 -0
  103. package/bundle/src/utils/providers/openai/openai-dispatcher.test.ts +336 -1723
  104. package/bundle/src/utils/providers/openai/openai-dispatcher.ts +458 -1175
  105. package/bundle/src/utils/providers/openai/openai-oauth.test.ts +95 -0
  106. package/bundle/src/utils/providers/openai/openai-oauth.ts +141 -0
  107. package/bundle/src/utils/providers/openai/openai-quota.test.ts +80 -7
  108. package/bundle/src/utils/providers/openai/openai-quota.ts +105 -4
  109. package/bundle/src/utils/providers/openai/openai-refresh.test.ts +120 -0
  110. package/bundle/src/utils/providers/openai/openai-refresh.ts +3 -1
  111. package/bundle/src/utils/providers/openai/openai-sse.test.ts +52 -0
  112. package/bundle/src/utils/providers/openai/openai-sse.ts +79 -0
  113. package/bundle/src/utils/providers/openai/openai-transport-config.ts +17 -0
  114. package/bundle/web-dist/client/assets/index-BldeEvAK.css +1 -0
  115. package/bundle/web-dist/client/assets/index-DkAXPF9q.js +106 -0
  116. package/bundle/web-dist/client/assets/logs-DlI6OojL.js +1 -0
  117. package/bundle/web-dist/client/assets/monit-qap66dhi.js +1 -0
  118. package/bundle/web-dist/client/assets/{routes-J4bnHVfl.js → routes-CV07Pzde.js} +1 -1
  119. package/bundle/web-dist/client/assets/{services.generated-jGypfumC.js → services.generated-CSW8bhCP.js} +4 -4
  120. package/bundle/web-dist/client/assets/settings-CdYub4yo.js +1 -0
  121. package/bundle/web-dist/client/assets/show-DA1L8DVD.js +2 -0
  122. package/bundle/web-dist/client/assets/{tokens-DDrATjGA.js → tokens-Dt3gfkwP.js} +1 -1
  123. package/bundle/web-dist/client/assets/{use-oauth-login-flow-CptleCFM.js → use-oauth-login-flow-Cwi0HtJY.js} +1 -1
  124. package/bundle/web-dist/client/index.html +3 -3
  125. package/bundle/web-dist/server/assets/{lazyRouteComponent-DOc8TV-P.js → lazyRouteComponent-0y-znAfz.js} +2 -2
  126. package/bundle/web-dist/server/assets/{logs-CfF3nmLM.js → logs-CJBbHM3_.js} +35 -5
  127. package/bundle/web-dist/server/assets/{monit-BSaKhh5D.js → monit-8WAsPETB.js} +144 -51
  128. package/bundle/web-dist/server/assets/{plus-DLFUHsfx.js → plus-9das21ju.js} +1 -1
  129. package/bundle/web-dist/server/assets/{react-dom-BotjLnTK.js → react-dom-zmEq8BVp.js} +1 -1
  130. package/bundle/web-dist/server/assets/{routes-CHMxrTT0.js → routes-B6bX3o41.js} +3 -3
  131. package/bundle/web-dist/server/assets/{services.generated-D3Q3FYot.js → services.generated-DyPeBI00.js} +76 -2
  132. package/bundle/web-dist/server/assets/{settings-DOQjV28c.js → settings-D1u5WdpP.js} +2 -3
  133. package/bundle/web-dist/server/assets/{show-Cn_C6Qvl.js → show-Cr7vwR0l.js} +93 -8
  134. package/bundle/web-dist/server/assets/{tokens-c0EN3iCx.js → tokens-BumM0gnH.js} +3 -3
  135. package/bundle/web-dist/server/assets/{use-oauth-login-flow-B68AbMDE.js → use-oauth-login-flow-DmsHGOlx.js} +1 -1
  136. package/bundle/web-dist/server/entry-server.generated.js +12 -12
  137. package/dist/cli.d.ts +10 -1
  138. package/dist/cli.js +1 -6
  139. package/package.json +3 -2
  140. package/skills/qgrid/SKILL.md +5 -5
  141. package/skills/qgrid/references/ai-sdk-provider-contract.md +16 -10
  142. package/skills/qgrid/references/cli-env-and-server-boot.md +6 -13
  143. package/skills/qgrid/references/decision-rationale.md +15 -23
  144. package/skills/qgrid/references/docs-workflow.md +1 -1
  145. package/skills/qgrid/references/openai-codex-runtime.md +39 -156
  146. package/skills/qgrid/references/prompt-cache-and-usage.md +35 -71
  147. package/skills/qgrid/references/provider-runtime-differences.md +17 -17
  148. package/skills/qgrid/references/repo-map.md +2 -2
  149. package/skills/qgrid/references/request-log-run-lifecycle.md +12 -2
  150. package/skills/qgrid/references/sonamu-api-web-flow.md +4 -0
  151. package/skills/qgrid/references/token-auth-quota-lifecycle.md +14 -24
  152. package/skills/qgrid/references/tool-calling-and-multiturn.md +3 -3
  153. package/skills/qgrid/references/verification-and-debugging.md +17 -15
  154. package/bundle/dist/codex-protocol/AgentPath.js +0 -1
  155. package/bundle/dist/codex-protocol/ApplyPatchApprovalParams.js +0 -1
  156. package/bundle/dist/codex-protocol/ApplyPatchApprovalResponse.js +0 -1
  157. package/bundle/dist/codex-protocol/AuthMode.js +0 -1
  158. package/bundle/dist/codex-protocol/ClientInfo.js +0 -1
  159. package/bundle/dist/codex-protocol/ClientNotification.js +0 -1
  160. package/bundle/dist/codex-protocol/ClientRequest.js +0 -1
  161. package/bundle/dist/codex-protocol/CollaborationMode.js +0 -1
  162. package/bundle/dist/codex-protocol/ContentItem.js +0 -1
  163. package/bundle/dist/codex-protocol/ConversationGitInfo.js +0 -1
  164. package/bundle/dist/codex-protocol/ConversationSummary.js +0 -1
  165. package/bundle/dist/codex-protocol/ExecCommandApprovalParams.js +0 -1
  166. package/bundle/dist/codex-protocol/ExecCommandApprovalResponse.js +0 -1
  167. package/bundle/dist/codex-protocol/ExecPolicyAmendment.js +0 -1
  168. package/bundle/dist/codex-protocol/FileChange.js +0 -1
  169. package/bundle/dist/codex-protocol/ForcedLoginMethod.js +0 -1
  170. package/bundle/dist/codex-protocol/FunctionCallOutputBody.js +0 -1
  171. package/bundle/dist/codex-protocol/FunctionCallOutputContentItem.js +0 -1
  172. package/bundle/dist/codex-protocol/FuzzyFileSearchMatchType.js +0 -1
  173. package/bundle/dist/codex-protocol/FuzzyFileSearchParams.js +0 -1
  174. package/bundle/dist/codex-protocol/FuzzyFileSearchResponse.js +0 -1
  175. package/bundle/dist/codex-protocol/FuzzyFileSearchResult.js +0 -1
  176. package/bundle/dist/codex-protocol/FuzzyFileSearchSessionCompletedNotification.js +0 -1
  177. package/bundle/dist/codex-protocol/FuzzyFileSearchSessionUpdatedNotification.js +0 -1
  178. package/bundle/dist/codex-protocol/GetAuthStatusParams.js +0 -1
  179. package/bundle/dist/codex-protocol/GetAuthStatusResponse.js +0 -1
  180. package/bundle/dist/codex-protocol/GetConversationSummaryParams.js +0 -1
  181. package/bundle/dist/codex-protocol/GetConversationSummaryResponse.js +0 -1
  182. package/bundle/dist/codex-protocol/GitDiffToRemoteParams.js +0 -1
  183. package/bundle/dist/codex-protocol/GitDiffToRemoteResponse.js +0 -1
  184. package/bundle/dist/codex-protocol/GitSha.js +0 -1
  185. package/bundle/dist/codex-protocol/ImageDetail.js +0 -1
  186. package/bundle/dist/codex-protocol/InitializeCapabilities.js +0 -1
  187. package/bundle/dist/codex-protocol/InitializeParams.js +0 -1
  188. package/bundle/dist/codex-protocol/InitializeResponse.js +0 -1
  189. package/bundle/dist/codex-protocol/InputModality.js +0 -1
  190. package/bundle/dist/codex-protocol/InternalSessionSource.js +0 -1
  191. package/bundle/dist/codex-protocol/LocalShellAction.js +0 -1
  192. package/bundle/dist/codex-protocol/LocalShellExecAction.js +0 -1
  193. package/bundle/dist/codex-protocol/LocalShellStatus.js +0 -1
  194. package/bundle/dist/codex-protocol/MessagePhase.js +0 -1
  195. package/bundle/dist/codex-protocol/ModeKind.js +0 -1
  196. package/bundle/dist/codex-protocol/NetworkPolicyAmendment.js +0 -1
  197. package/bundle/dist/codex-protocol/NetworkPolicyRuleAction.js +0 -1
  198. package/bundle/dist/codex-protocol/ParsedCommand.js +0 -1
  199. package/bundle/dist/codex-protocol/Personality.js +0 -1
  200. package/bundle/dist/codex-protocol/PlanType.js +0 -1
  201. package/bundle/dist/codex-protocol/RealtimeConversationVersion.js +0 -1
  202. package/bundle/dist/codex-protocol/RealtimeOutputModality.js +0 -1
  203. package/bundle/dist/codex-protocol/RealtimeVoice.js +0 -1
  204. package/bundle/dist/codex-protocol/RealtimeVoicesList.js +0 -1
  205. package/bundle/dist/codex-protocol/ReasoningEffort.js +0 -1
  206. package/bundle/dist/codex-protocol/ReasoningItemContent.js +0 -1
  207. package/bundle/dist/codex-protocol/ReasoningItemReasoningSummary.js +0 -1
  208. package/bundle/dist/codex-protocol/ReasoningSummary.js +0 -1
  209. package/bundle/dist/codex-protocol/RequestId.js +0 -1
  210. package/bundle/dist/codex-protocol/Resource.js +0 -1
  211. package/bundle/dist/codex-protocol/ResourceContent.js +0 -1
  212. package/bundle/dist/codex-protocol/ResourceTemplate.js +0 -1
  213. package/bundle/dist/codex-protocol/ResponseItem.js +0 -1
  214. package/bundle/dist/codex-protocol/ReviewDecision.js +0 -1
  215. package/bundle/dist/codex-protocol/ServerNotification.js +0 -1
  216. package/bundle/dist/codex-protocol/ServerRequest.js +0 -1
  217. package/bundle/dist/codex-protocol/SessionSource.js +0 -1
  218. package/bundle/dist/codex-protocol/Settings.js +0 -1
  219. package/bundle/dist/codex-protocol/SubAgentSource.js +0 -1
  220. package/bundle/dist/codex-protocol/ThreadId.js +0 -1
  221. package/bundle/dist/codex-protocol/ThreadMemoryMode.js +0 -1
  222. package/bundle/dist/codex-protocol/Tool.js +0 -1
  223. package/bundle/dist/codex-protocol/Verbosity.js +0 -1
  224. package/bundle/dist/codex-protocol/WebSearchAction.js +0 -1
  225. package/bundle/dist/codex-protocol/WebSearchContextSize.js +0 -1
  226. package/bundle/dist/codex-protocol/WebSearchLocation.js +0 -1
  227. package/bundle/dist/codex-protocol/WebSearchMode.js +0 -1
  228. package/bundle/dist/codex-protocol/WebSearchToolConfig.js +0 -1
  229. package/bundle/dist/codex-protocol/index.js +0 -2
  230. package/bundle/dist/codex-protocol/serde_json/JsonValue.js +0 -1
  231. package/bundle/dist/codex-protocol/v2/Account.js +0 -1
  232. package/bundle/dist/codex-protocol/v2/AccountLoginCompletedNotification.js +0 -1
  233. package/bundle/dist/codex-protocol/v2/AccountRateLimitsUpdatedNotification.js +0 -1
  234. package/bundle/dist/codex-protocol/v2/AccountUpdatedNotification.js +0 -1
  235. package/bundle/dist/codex-protocol/v2/ActivePermissionProfile.js +0 -1
  236. package/bundle/dist/codex-protocol/v2/ActivePermissionProfileModification.js +0 -1
  237. package/bundle/dist/codex-protocol/v2/AddCreditsNudgeCreditType.js +0 -1
  238. package/bundle/dist/codex-protocol/v2/AddCreditsNudgeEmailStatus.js +0 -1
  239. package/bundle/dist/codex-protocol/v2/AdditionalFileSystemPermissions.js +0 -1
  240. package/bundle/dist/codex-protocol/v2/AdditionalNetworkPermissions.js +0 -1
  241. package/bundle/dist/codex-protocol/v2/AdditionalPermissionProfile.js +0 -1
  242. package/bundle/dist/codex-protocol/v2/AgentMessageDeltaNotification.js +0 -1
  243. package/bundle/dist/codex-protocol/v2/AnalyticsConfig.js +0 -1
  244. package/bundle/dist/codex-protocol/v2/AppBranding.js +0 -1
  245. package/bundle/dist/codex-protocol/v2/AppInfo.js +0 -1
  246. package/bundle/dist/codex-protocol/v2/AppListUpdatedNotification.js +0 -1
  247. package/bundle/dist/codex-protocol/v2/AppMetadata.js +0 -1
  248. package/bundle/dist/codex-protocol/v2/AppReview.js +0 -1
  249. package/bundle/dist/codex-protocol/v2/AppScreenshot.js +0 -1
  250. package/bundle/dist/codex-protocol/v2/AppSummary.js +0 -1
  251. package/bundle/dist/codex-protocol/v2/AppToolApproval.js +0 -1
  252. package/bundle/dist/codex-protocol/v2/AppToolsConfig.js +0 -1
  253. package/bundle/dist/codex-protocol/v2/ApprovalsReviewer.js +0 -1
  254. package/bundle/dist/codex-protocol/v2/AppsConfig.js +0 -1
  255. package/bundle/dist/codex-protocol/v2/AppsDefaultConfig.js +0 -1
  256. package/bundle/dist/codex-protocol/v2/AppsListParams.js +0 -1
  257. package/bundle/dist/codex-protocol/v2/AppsListResponse.js +0 -1
  258. package/bundle/dist/codex-protocol/v2/AskForApproval.js +0 -1
  259. package/bundle/dist/codex-protocol/v2/AutoReviewDecisionSource.js +0 -1
  260. package/bundle/dist/codex-protocol/v2/ByteRange.js +0 -1
  261. package/bundle/dist/codex-protocol/v2/CancelLoginAccountParams.js +0 -1
  262. package/bundle/dist/codex-protocol/v2/CancelLoginAccountResponse.js +0 -1
  263. package/bundle/dist/codex-protocol/v2/CancelLoginAccountStatus.js +0 -1
  264. package/bundle/dist/codex-protocol/v2/ChatgptAuthTokensRefreshParams.js +0 -1
  265. package/bundle/dist/codex-protocol/v2/ChatgptAuthTokensRefreshReason.js +0 -1
  266. package/bundle/dist/codex-protocol/v2/ChatgptAuthTokensRefreshResponse.js +0 -1
  267. package/bundle/dist/codex-protocol/v2/CodexErrorInfo.js +0 -1
  268. package/bundle/dist/codex-protocol/v2/CollabAgentState.js +0 -1
  269. package/bundle/dist/codex-protocol/v2/CollabAgentStatus.js +0 -1
  270. package/bundle/dist/codex-protocol/v2/CollabAgentTool.js +0 -1
  271. package/bundle/dist/codex-protocol/v2/CollabAgentToolCallStatus.js +0 -1
  272. package/bundle/dist/codex-protocol/v2/CollaborationModeMask.js +0 -1
  273. package/bundle/dist/codex-protocol/v2/CommandAction.js +0 -1
  274. package/bundle/dist/codex-protocol/v2/CommandExecOutputDeltaNotification.js +0 -1
  275. package/bundle/dist/codex-protocol/v2/CommandExecOutputStream.js +0 -1
  276. package/bundle/dist/codex-protocol/v2/CommandExecParams.js +0 -1
  277. package/bundle/dist/codex-protocol/v2/CommandExecResizeParams.js +0 -1
  278. package/bundle/dist/codex-protocol/v2/CommandExecResizeResponse.js +0 -1
  279. package/bundle/dist/codex-protocol/v2/CommandExecResponse.js +0 -1
  280. package/bundle/dist/codex-protocol/v2/CommandExecTerminalSize.js +0 -1
  281. package/bundle/dist/codex-protocol/v2/CommandExecTerminateParams.js +0 -1
  282. package/bundle/dist/codex-protocol/v2/CommandExecTerminateResponse.js +0 -1
  283. package/bundle/dist/codex-protocol/v2/CommandExecWriteParams.js +0 -1
  284. package/bundle/dist/codex-protocol/v2/CommandExecWriteResponse.js +0 -1
  285. package/bundle/dist/codex-protocol/v2/CommandExecutionApprovalDecision.js +0 -1
  286. package/bundle/dist/codex-protocol/v2/CommandExecutionOutputDeltaNotification.js +0 -1
  287. package/bundle/dist/codex-protocol/v2/CommandExecutionRequestApprovalParams.js +0 -1
  288. package/bundle/dist/codex-protocol/v2/CommandExecutionRequestApprovalResponse.js +0 -1
  289. package/bundle/dist/codex-protocol/v2/CommandExecutionSource.js +0 -1
  290. package/bundle/dist/codex-protocol/v2/CommandExecutionStatus.js +0 -1
  291. package/bundle/dist/codex-protocol/v2/CommandMigration.js +0 -1
  292. package/bundle/dist/codex-protocol/v2/Config.js +0 -1
  293. package/bundle/dist/codex-protocol/v2/ConfigBatchWriteParams.js +0 -1
  294. package/bundle/dist/codex-protocol/v2/ConfigEdit.js +0 -1
  295. package/bundle/dist/codex-protocol/v2/ConfigLayer.js +0 -1
  296. package/bundle/dist/codex-protocol/v2/ConfigLayerMetadata.js +0 -1
  297. package/bundle/dist/codex-protocol/v2/ConfigLayerSource.js +0 -1
  298. package/bundle/dist/codex-protocol/v2/ConfigReadParams.js +0 -1
  299. package/bundle/dist/codex-protocol/v2/ConfigReadResponse.js +0 -1
  300. package/bundle/dist/codex-protocol/v2/ConfigRequirements.js +0 -1
  301. package/bundle/dist/codex-protocol/v2/ConfigRequirementsReadResponse.js +0 -1
  302. package/bundle/dist/codex-protocol/v2/ConfigValueWriteParams.js +0 -1
  303. package/bundle/dist/codex-protocol/v2/ConfigWarningNotification.js +0 -1
  304. package/bundle/dist/codex-protocol/v2/ConfigWriteResponse.js +0 -1
  305. package/bundle/dist/codex-protocol/v2/ConfiguredHookHandler.js +0 -1
  306. package/bundle/dist/codex-protocol/v2/ConfiguredHookMatcherGroup.js +0 -1
  307. package/bundle/dist/codex-protocol/v2/ContextCompactedNotification.js +0 -1
  308. package/bundle/dist/codex-protocol/v2/CreditsSnapshot.js +0 -1
  309. package/bundle/dist/codex-protocol/v2/DeprecationNoticeNotification.js +0 -1
  310. package/bundle/dist/codex-protocol/v2/DynamicToolCallOutputContentItem.js +0 -1
  311. package/bundle/dist/codex-protocol/v2/DynamicToolCallParams.js +0 -1
  312. package/bundle/dist/codex-protocol/v2/DynamicToolCallResponse.js +0 -1
  313. package/bundle/dist/codex-protocol/v2/DynamicToolCallStatus.js +0 -1
  314. package/bundle/dist/codex-protocol/v2/DynamicToolSpec.js +0 -1
  315. package/bundle/dist/codex-protocol/v2/ErrorNotification.js +0 -1
  316. package/bundle/dist/codex-protocol/v2/ExecPolicyAmendment.js +0 -1
  317. package/bundle/dist/codex-protocol/v2/ExperimentalFeature.js +0 -1
  318. package/bundle/dist/codex-protocol/v2/ExperimentalFeatureEnablementSetParams.js +0 -1
  319. package/bundle/dist/codex-protocol/v2/ExperimentalFeatureEnablementSetResponse.js +0 -1
  320. package/bundle/dist/codex-protocol/v2/ExperimentalFeatureListParams.js +0 -1
  321. package/bundle/dist/codex-protocol/v2/ExperimentalFeatureListResponse.js +0 -1
  322. package/bundle/dist/codex-protocol/v2/ExperimentalFeatureStage.js +0 -1
  323. package/bundle/dist/codex-protocol/v2/ExternalAgentConfigDetectParams.js +0 -1
  324. package/bundle/dist/codex-protocol/v2/ExternalAgentConfigDetectResponse.js +0 -1
  325. package/bundle/dist/codex-protocol/v2/ExternalAgentConfigImportCompletedNotification.js +0 -1
  326. package/bundle/dist/codex-protocol/v2/ExternalAgentConfigImportParams.js +0 -1
  327. package/bundle/dist/codex-protocol/v2/ExternalAgentConfigImportResponse.js +0 -1
  328. package/bundle/dist/codex-protocol/v2/ExternalAgentConfigMigrationItem.js +0 -1
  329. package/bundle/dist/codex-protocol/v2/ExternalAgentConfigMigrationItemType.js +0 -1
  330. package/bundle/dist/codex-protocol/v2/FeedbackUploadParams.js +0 -1
  331. package/bundle/dist/codex-protocol/v2/FeedbackUploadResponse.js +0 -1
  332. package/bundle/dist/codex-protocol/v2/FileChangeApprovalDecision.js +0 -1
  333. package/bundle/dist/codex-protocol/v2/FileChangeOutputDeltaNotification.js +0 -1
  334. package/bundle/dist/codex-protocol/v2/FileChangePatchUpdatedNotification.js +0 -1
  335. package/bundle/dist/codex-protocol/v2/FileChangeRequestApprovalParams.js +0 -1
  336. package/bundle/dist/codex-protocol/v2/FileChangeRequestApprovalResponse.js +0 -1
  337. package/bundle/dist/codex-protocol/v2/FileSystemAccessMode.js +0 -1
  338. package/bundle/dist/codex-protocol/v2/FileSystemPath.js +0 -1
  339. package/bundle/dist/codex-protocol/v2/FileSystemSandboxEntry.js +0 -1
  340. package/bundle/dist/codex-protocol/v2/FileSystemSpecialPath.js +0 -1
  341. package/bundle/dist/codex-protocol/v2/FileUpdateChange.js +0 -1
  342. package/bundle/dist/codex-protocol/v2/FsChangedNotification.js +0 -1
  343. package/bundle/dist/codex-protocol/v2/FsCopyParams.js +0 -1
  344. package/bundle/dist/codex-protocol/v2/FsCopyResponse.js +0 -1
  345. package/bundle/dist/codex-protocol/v2/FsCreateDirectoryParams.js +0 -1
  346. package/bundle/dist/codex-protocol/v2/FsCreateDirectoryResponse.js +0 -1
  347. package/bundle/dist/codex-protocol/v2/FsGetMetadataParams.js +0 -1
  348. package/bundle/dist/codex-protocol/v2/FsGetMetadataResponse.js +0 -1
  349. package/bundle/dist/codex-protocol/v2/FsReadDirectoryEntry.js +0 -1
  350. package/bundle/dist/codex-protocol/v2/FsReadDirectoryParams.js +0 -1
  351. package/bundle/dist/codex-protocol/v2/FsReadDirectoryResponse.js +0 -1
  352. package/bundle/dist/codex-protocol/v2/FsReadFileParams.js +0 -1
  353. package/bundle/dist/codex-protocol/v2/FsReadFileResponse.js +0 -1
  354. package/bundle/dist/codex-protocol/v2/FsRemoveParams.js +0 -1
  355. package/bundle/dist/codex-protocol/v2/FsRemoveResponse.js +0 -1
  356. package/bundle/dist/codex-protocol/v2/FsUnwatchParams.js +0 -1
  357. package/bundle/dist/codex-protocol/v2/FsUnwatchResponse.js +0 -1
  358. package/bundle/dist/codex-protocol/v2/FsWatchParams.js +0 -1
  359. package/bundle/dist/codex-protocol/v2/FsWatchResponse.js +0 -1
  360. package/bundle/dist/codex-protocol/v2/FsWriteFileParams.js +0 -1
  361. package/bundle/dist/codex-protocol/v2/FsWriteFileResponse.js +0 -1
  362. package/bundle/dist/codex-protocol/v2/GetAccountParams.js +0 -1
  363. package/bundle/dist/codex-protocol/v2/GetAccountRateLimitsResponse.js +0 -1
  364. package/bundle/dist/codex-protocol/v2/GetAccountResponse.js +0 -1
  365. package/bundle/dist/codex-protocol/v2/GitInfo.js +0 -1
  366. package/bundle/dist/codex-protocol/v2/GrantedPermissionProfile.js +0 -1
  367. package/bundle/dist/codex-protocol/v2/GuardianApprovalReview.js +0 -1
  368. package/bundle/dist/codex-protocol/v2/GuardianApprovalReviewAction.js +0 -1
  369. package/bundle/dist/codex-protocol/v2/GuardianApprovalReviewStatus.js +0 -1
  370. package/bundle/dist/codex-protocol/v2/GuardianCommandSource.js +0 -1
  371. package/bundle/dist/codex-protocol/v2/GuardianRiskLevel.js +0 -1
  372. package/bundle/dist/codex-protocol/v2/GuardianUserAuthorization.js +0 -1
  373. package/bundle/dist/codex-protocol/v2/GuardianWarningNotification.js +0 -1
  374. package/bundle/dist/codex-protocol/v2/HookCompletedNotification.js +0 -1
  375. package/bundle/dist/codex-protocol/v2/HookErrorInfo.js +0 -1
  376. package/bundle/dist/codex-protocol/v2/HookEventName.js +0 -1
  377. package/bundle/dist/codex-protocol/v2/HookExecutionMode.js +0 -1
  378. package/bundle/dist/codex-protocol/v2/HookHandlerType.js +0 -1
  379. package/bundle/dist/codex-protocol/v2/HookMetadata.js +0 -1
  380. package/bundle/dist/codex-protocol/v2/HookMigration.js +0 -1
  381. package/bundle/dist/codex-protocol/v2/HookOutputEntry.js +0 -1
  382. package/bundle/dist/codex-protocol/v2/HookOutputEntryKind.js +0 -1
  383. package/bundle/dist/codex-protocol/v2/HookPromptFragment.js +0 -1
  384. package/bundle/dist/codex-protocol/v2/HookRunStatus.js +0 -1
  385. package/bundle/dist/codex-protocol/v2/HookRunSummary.js +0 -1
  386. package/bundle/dist/codex-protocol/v2/HookScope.js +0 -1
  387. package/bundle/dist/codex-protocol/v2/HookSource.js +0 -1
  388. package/bundle/dist/codex-protocol/v2/HookStartedNotification.js +0 -1
  389. package/bundle/dist/codex-protocol/v2/HookTrustStatus.js +0 -1
  390. package/bundle/dist/codex-protocol/v2/HooksListEntry.js +0 -1
  391. package/bundle/dist/codex-protocol/v2/HooksListParams.js +0 -1
  392. package/bundle/dist/codex-protocol/v2/HooksListResponse.js +0 -1
  393. package/bundle/dist/codex-protocol/v2/ItemCompletedNotification.js +0 -1
  394. package/bundle/dist/codex-protocol/v2/ItemGuardianApprovalReviewCompletedNotification.js +0 -1
  395. package/bundle/dist/codex-protocol/v2/ItemGuardianApprovalReviewStartedNotification.js +0 -1
  396. package/bundle/dist/codex-protocol/v2/ItemStartedNotification.js +0 -1
  397. package/bundle/dist/codex-protocol/v2/ListMcpServerStatusParams.js +0 -1
  398. package/bundle/dist/codex-protocol/v2/ListMcpServerStatusResponse.js +0 -1
  399. package/bundle/dist/codex-protocol/v2/LoginAccountParams.js +0 -1
  400. package/bundle/dist/codex-protocol/v2/LoginAccountResponse.js +0 -1
  401. package/bundle/dist/codex-protocol/v2/LogoutAccountResponse.js +0 -1
  402. package/bundle/dist/codex-protocol/v2/ManagedHooksRequirements.js +0 -1
  403. package/bundle/dist/codex-protocol/v2/MarketplaceAddParams.js +0 -1
  404. package/bundle/dist/codex-protocol/v2/MarketplaceAddResponse.js +0 -1
  405. package/bundle/dist/codex-protocol/v2/MarketplaceInterface.js +0 -1
  406. package/bundle/dist/codex-protocol/v2/MarketplaceLoadErrorInfo.js +0 -1
  407. package/bundle/dist/codex-protocol/v2/MarketplaceRemoveParams.js +0 -1
  408. package/bundle/dist/codex-protocol/v2/MarketplaceRemoveResponse.js +0 -1
  409. package/bundle/dist/codex-protocol/v2/MarketplaceUpgradeErrorInfo.js +0 -1
  410. package/bundle/dist/codex-protocol/v2/MarketplaceUpgradeParams.js +0 -1
  411. package/bundle/dist/codex-protocol/v2/MarketplaceUpgradeResponse.js +0 -1
  412. package/bundle/dist/codex-protocol/v2/McpAuthStatus.js +0 -1
  413. package/bundle/dist/codex-protocol/v2/McpElicitationArrayType.js +0 -1
  414. package/bundle/dist/codex-protocol/v2/McpElicitationBooleanSchema.js +0 -1
  415. package/bundle/dist/codex-protocol/v2/McpElicitationBooleanType.js +0 -1
  416. package/bundle/dist/codex-protocol/v2/McpElicitationConstOption.js +0 -1
  417. package/bundle/dist/codex-protocol/v2/McpElicitationEnumSchema.js +0 -1
  418. package/bundle/dist/codex-protocol/v2/McpElicitationLegacyTitledEnumSchema.js +0 -1
  419. package/bundle/dist/codex-protocol/v2/McpElicitationMultiSelectEnumSchema.js +0 -1
  420. package/bundle/dist/codex-protocol/v2/McpElicitationNumberSchema.js +0 -1
  421. package/bundle/dist/codex-protocol/v2/McpElicitationNumberType.js +0 -1
  422. package/bundle/dist/codex-protocol/v2/McpElicitationObjectType.js +0 -1
  423. package/bundle/dist/codex-protocol/v2/McpElicitationPrimitiveSchema.js +0 -1
  424. package/bundle/dist/codex-protocol/v2/McpElicitationSchema.js +0 -1
  425. package/bundle/dist/codex-protocol/v2/McpElicitationSingleSelectEnumSchema.js +0 -1
  426. package/bundle/dist/codex-protocol/v2/McpElicitationStringFormat.js +0 -1
  427. package/bundle/dist/codex-protocol/v2/McpElicitationStringSchema.js +0 -1
  428. package/bundle/dist/codex-protocol/v2/McpElicitationStringType.js +0 -1
  429. package/bundle/dist/codex-protocol/v2/McpElicitationTitledEnumItems.js +0 -1
  430. package/bundle/dist/codex-protocol/v2/McpElicitationTitledMultiSelectEnumSchema.js +0 -1
  431. package/bundle/dist/codex-protocol/v2/McpElicitationTitledSingleSelectEnumSchema.js +0 -1
  432. package/bundle/dist/codex-protocol/v2/McpElicitationUntitledEnumItems.js +0 -1
  433. package/bundle/dist/codex-protocol/v2/McpElicitationUntitledMultiSelectEnumSchema.js +0 -1
  434. package/bundle/dist/codex-protocol/v2/McpElicitationUntitledSingleSelectEnumSchema.js +0 -1
  435. package/bundle/dist/codex-protocol/v2/McpResourceReadParams.js +0 -1
  436. package/bundle/dist/codex-protocol/v2/McpResourceReadResponse.js +0 -1
  437. package/bundle/dist/codex-protocol/v2/McpServerElicitationAction.js +0 -1
  438. package/bundle/dist/codex-protocol/v2/McpServerElicitationRequestParams.js +0 -1
  439. package/bundle/dist/codex-protocol/v2/McpServerElicitationRequestResponse.js +0 -1
  440. package/bundle/dist/codex-protocol/v2/McpServerMigration.js +0 -1
  441. package/bundle/dist/codex-protocol/v2/McpServerOauthLoginCompletedNotification.js +0 -1
  442. package/bundle/dist/codex-protocol/v2/McpServerOauthLoginParams.js +0 -1
  443. package/bundle/dist/codex-protocol/v2/McpServerOauthLoginResponse.js +0 -1
  444. package/bundle/dist/codex-protocol/v2/McpServerRefreshResponse.js +0 -1
  445. package/bundle/dist/codex-protocol/v2/McpServerStartupState.js +0 -1
  446. package/bundle/dist/codex-protocol/v2/McpServerStatus.js +0 -1
  447. package/bundle/dist/codex-protocol/v2/McpServerStatusDetail.js +0 -1
  448. package/bundle/dist/codex-protocol/v2/McpServerStatusUpdatedNotification.js +0 -1
  449. package/bundle/dist/codex-protocol/v2/McpServerToolCallParams.js +0 -1
  450. package/bundle/dist/codex-protocol/v2/McpServerToolCallResponse.js +0 -1
  451. package/bundle/dist/codex-protocol/v2/McpToolCallError.js +0 -1
  452. package/bundle/dist/codex-protocol/v2/McpToolCallProgressNotification.js +0 -1
  453. package/bundle/dist/codex-protocol/v2/McpToolCallResult.js +0 -1
  454. package/bundle/dist/codex-protocol/v2/McpToolCallStatus.js +0 -1
  455. package/bundle/dist/codex-protocol/v2/MemoryCitation.js +0 -1
  456. package/bundle/dist/codex-protocol/v2/MemoryCitationEntry.js +0 -1
  457. package/bundle/dist/codex-protocol/v2/MergeStrategy.js +0 -1
  458. package/bundle/dist/codex-protocol/v2/MigrationDetails.js +0 -1
  459. package/bundle/dist/codex-protocol/v2/Model.js +0 -1
  460. package/bundle/dist/codex-protocol/v2/ModelAvailabilityNux.js +0 -1
  461. package/bundle/dist/codex-protocol/v2/ModelListParams.js +0 -1
  462. package/bundle/dist/codex-protocol/v2/ModelListResponse.js +0 -1
  463. package/bundle/dist/codex-protocol/v2/ModelProviderCapabilitiesReadParams.js +0 -1
  464. package/bundle/dist/codex-protocol/v2/ModelProviderCapabilitiesReadResponse.js +0 -1
  465. package/bundle/dist/codex-protocol/v2/ModelRerouteReason.js +0 -1
  466. package/bundle/dist/codex-protocol/v2/ModelReroutedNotification.js +0 -1
  467. package/bundle/dist/codex-protocol/v2/ModelServiceTier.js +0 -1
  468. package/bundle/dist/codex-protocol/v2/ModelUpgradeInfo.js +0 -1
  469. package/bundle/dist/codex-protocol/v2/ModelVerification.js +0 -1
  470. package/bundle/dist/codex-protocol/v2/ModelVerificationNotification.js +0 -1
  471. package/bundle/dist/codex-protocol/v2/NetworkAccess.js +0 -1
  472. package/bundle/dist/codex-protocol/v2/NetworkApprovalContext.js +0 -1
  473. package/bundle/dist/codex-protocol/v2/NetworkApprovalProtocol.js +0 -1
  474. package/bundle/dist/codex-protocol/v2/NetworkDomainPermission.js +0 -1
  475. package/bundle/dist/codex-protocol/v2/NetworkPolicyAmendment.js +0 -1
  476. package/bundle/dist/codex-protocol/v2/NetworkPolicyRuleAction.js +0 -1
  477. package/bundle/dist/codex-protocol/v2/NetworkRequirements.js +0 -1
  478. package/bundle/dist/codex-protocol/v2/NetworkUnixSocketPermission.js +0 -1
  479. package/bundle/dist/codex-protocol/v2/NonSteerableTurnKind.js +0 -1
  480. package/bundle/dist/codex-protocol/v2/OverriddenMetadata.js +0 -1
  481. package/bundle/dist/codex-protocol/v2/PatchApplyStatus.js +0 -1
  482. package/bundle/dist/codex-protocol/v2/PatchChangeKind.js +0 -1
  483. package/bundle/dist/codex-protocol/v2/PermissionGrantScope.js +0 -1
  484. package/bundle/dist/codex-protocol/v2/PermissionProfile.js +0 -1
  485. package/bundle/dist/codex-protocol/v2/PermissionProfileFileSystemPermissions.js +0 -1
  486. package/bundle/dist/codex-protocol/v2/PermissionProfileModificationParams.js +0 -1
  487. package/bundle/dist/codex-protocol/v2/PermissionProfileNetworkPermissions.js +0 -1
  488. package/bundle/dist/codex-protocol/v2/PermissionProfileSelectionParams.js +0 -1
  489. package/bundle/dist/codex-protocol/v2/PermissionsRequestApprovalParams.js +0 -1
  490. package/bundle/dist/codex-protocol/v2/PermissionsRequestApprovalResponse.js +0 -1
  491. package/bundle/dist/codex-protocol/v2/PlanDeltaNotification.js +0 -1
  492. package/bundle/dist/codex-protocol/v2/PluginAuthPolicy.js +0 -1
  493. package/bundle/dist/codex-protocol/v2/PluginAvailability.js +0 -1
  494. package/bundle/dist/codex-protocol/v2/PluginDetail.js +0 -1
  495. package/bundle/dist/codex-protocol/v2/PluginHookSummary.js +0 -1
  496. package/bundle/dist/codex-protocol/v2/PluginInstallParams.js +0 -1
  497. package/bundle/dist/codex-protocol/v2/PluginInstallPolicy.js +0 -1
  498. package/bundle/dist/codex-protocol/v2/PluginInstallResponse.js +0 -1
  499. package/bundle/dist/codex-protocol/v2/PluginInterface.js +0 -1
  500. package/bundle/dist/codex-protocol/v2/PluginListMarketplaceKind.js +0 -1
  501. package/bundle/dist/codex-protocol/v2/PluginListParams.js +0 -1
  502. package/bundle/dist/codex-protocol/v2/PluginListResponse.js +0 -1
  503. package/bundle/dist/codex-protocol/v2/PluginMarketplaceEntry.js +0 -1
  504. package/bundle/dist/codex-protocol/v2/PluginReadParams.js +0 -1
  505. package/bundle/dist/codex-protocol/v2/PluginReadResponse.js +0 -1
  506. package/bundle/dist/codex-protocol/v2/PluginShareContext.js +0 -1
  507. package/bundle/dist/codex-protocol/v2/PluginShareDeleteParams.js +0 -1
  508. package/bundle/dist/codex-protocol/v2/PluginShareDeleteResponse.js +0 -1
  509. package/bundle/dist/codex-protocol/v2/PluginShareDiscoverability.js +0 -1
  510. package/bundle/dist/codex-protocol/v2/PluginShareListItem.js +0 -1
  511. package/bundle/dist/codex-protocol/v2/PluginShareListParams.js +0 -1
  512. package/bundle/dist/codex-protocol/v2/PluginShareListResponse.js +0 -1
  513. package/bundle/dist/codex-protocol/v2/PluginSharePrincipal.js +0 -1
  514. package/bundle/dist/codex-protocol/v2/PluginSharePrincipalType.js +0 -1
  515. package/bundle/dist/codex-protocol/v2/PluginShareSaveParams.js +0 -1
  516. package/bundle/dist/codex-protocol/v2/PluginShareSaveResponse.js +0 -1
  517. package/bundle/dist/codex-protocol/v2/PluginShareTarget.js +0 -1
  518. package/bundle/dist/codex-protocol/v2/PluginShareUpdateDiscoverability.js +0 -1
  519. package/bundle/dist/codex-protocol/v2/PluginShareUpdateTargetsParams.js +0 -1
  520. package/bundle/dist/codex-protocol/v2/PluginShareUpdateTargetsResponse.js +0 -1
  521. package/bundle/dist/codex-protocol/v2/PluginSkillReadParams.js +0 -1
  522. package/bundle/dist/codex-protocol/v2/PluginSkillReadResponse.js +0 -1
  523. package/bundle/dist/codex-protocol/v2/PluginSource.js +0 -1
  524. package/bundle/dist/codex-protocol/v2/PluginSummary.js +0 -1
  525. package/bundle/dist/codex-protocol/v2/PluginUninstallParams.js +0 -1
  526. package/bundle/dist/codex-protocol/v2/PluginUninstallResponse.js +0 -1
  527. package/bundle/dist/codex-protocol/v2/PluginsMigration.js +0 -1
  528. package/bundle/dist/codex-protocol/v2/ProcessExitedNotification.js +0 -1
  529. package/bundle/dist/codex-protocol/v2/ProcessOutputDeltaNotification.js +0 -1
  530. package/bundle/dist/codex-protocol/v2/ProcessOutputStream.js +0 -1
  531. package/bundle/dist/codex-protocol/v2/ProcessTerminalSize.js +0 -1
  532. package/bundle/dist/codex-protocol/v2/ProfileV2.js +0 -1
  533. package/bundle/dist/codex-protocol/v2/RateLimitReachedType.js +0 -1
  534. package/bundle/dist/codex-protocol/v2/RateLimitSnapshot.js +0 -1
  535. package/bundle/dist/codex-protocol/v2/RateLimitWindow.js +0 -1
  536. package/bundle/dist/codex-protocol/v2/RawResponseItemCompletedNotification.js +0 -1
  537. package/bundle/dist/codex-protocol/v2/ReasoningEffortOption.js +0 -1
  538. package/bundle/dist/codex-protocol/v2/ReasoningSummaryPartAddedNotification.js +0 -1
  539. package/bundle/dist/codex-protocol/v2/ReasoningSummaryTextDeltaNotification.js +0 -1
  540. package/bundle/dist/codex-protocol/v2/ReasoningTextDeltaNotification.js +0 -1
  541. package/bundle/dist/codex-protocol/v2/RemoteControlConnectionStatus.js +0 -1
  542. package/bundle/dist/codex-protocol/v2/RemoteControlStatusChangedNotification.js +0 -1
  543. package/bundle/dist/codex-protocol/v2/RequestPermissionProfile.js +0 -1
  544. package/bundle/dist/codex-protocol/v2/ResidencyRequirement.js +0 -1
  545. package/bundle/dist/codex-protocol/v2/ReviewDelivery.js +0 -1
  546. package/bundle/dist/codex-protocol/v2/ReviewStartParams.js +0 -1
  547. package/bundle/dist/codex-protocol/v2/ReviewStartResponse.js +0 -1
  548. package/bundle/dist/codex-protocol/v2/ReviewTarget.js +0 -1
  549. package/bundle/dist/codex-protocol/v2/SandboxMode.js +0 -1
  550. package/bundle/dist/codex-protocol/v2/SandboxPolicy.js +0 -1
  551. package/bundle/dist/codex-protocol/v2/SandboxWorkspaceWrite.js +0 -1
  552. package/bundle/dist/codex-protocol/v2/SendAddCreditsNudgeEmailParams.js +0 -1
  553. package/bundle/dist/codex-protocol/v2/SendAddCreditsNudgeEmailResponse.js +0 -1
  554. package/bundle/dist/codex-protocol/v2/ServerRequestResolvedNotification.js +0 -1
  555. package/bundle/dist/codex-protocol/v2/SessionMigration.js +0 -1
  556. package/bundle/dist/codex-protocol/v2/SessionSource.js +0 -1
  557. package/bundle/dist/codex-protocol/v2/SkillDependencies.js +0 -1
  558. package/bundle/dist/codex-protocol/v2/SkillErrorInfo.js +0 -1
  559. package/bundle/dist/codex-protocol/v2/SkillInterface.js +0 -1
  560. package/bundle/dist/codex-protocol/v2/SkillMetadata.js +0 -1
  561. package/bundle/dist/codex-protocol/v2/SkillScope.js +0 -1
  562. package/bundle/dist/codex-protocol/v2/SkillSummary.js +0 -1
  563. package/bundle/dist/codex-protocol/v2/SkillToolDependency.js +0 -1
  564. package/bundle/dist/codex-protocol/v2/SkillsChangedNotification.js +0 -1
  565. package/bundle/dist/codex-protocol/v2/SkillsConfigWriteParams.js +0 -1
  566. package/bundle/dist/codex-protocol/v2/SkillsConfigWriteResponse.js +0 -1
  567. package/bundle/dist/codex-protocol/v2/SkillsListEntry.js +0 -1
  568. package/bundle/dist/codex-protocol/v2/SkillsListParams.js +0 -1
  569. package/bundle/dist/codex-protocol/v2/SkillsListResponse.js +0 -1
  570. package/bundle/dist/codex-protocol/v2/SortDirection.js +0 -1
  571. package/bundle/dist/codex-protocol/v2/SubagentMigration.js +0 -1
  572. package/bundle/dist/codex-protocol/v2/TerminalInteractionNotification.js +0 -1
  573. package/bundle/dist/codex-protocol/v2/TextElement.js +0 -1
  574. package/bundle/dist/codex-protocol/v2/TextPosition.js +0 -1
  575. package/bundle/dist/codex-protocol/v2/TextRange.js +0 -1
  576. package/bundle/dist/codex-protocol/v2/Thread.js +0 -1
  577. package/bundle/dist/codex-protocol/v2/ThreadActiveFlag.js +0 -1
  578. package/bundle/dist/codex-protocol/v2/ThreadApproveGuardianDeniedActionParams.js +0 -1
  579. package/bundle/dist/codex-protocol/v2/ThreadApproveGuardianDeniedActionResponse.js +0 -1
  580. package/bundle/dist/codex-protocol/v2/ThreadArchiveParams.js +0 -1
  581. package/bundle/dist/codex-protocol/v2/ThreadArchiveResponse.js +0 -1
  582. package/bundle/dist/codex-protocol/v2/ThreadArchivedNotification.js +0 -1
  583. package/bundle/dist/codex-protocol/v2/ThreadClosedNotification.js +0 -1
  584. package/bundle/dist/codex-protocol/v2/ThreadCompactStartParams.js +0 -1
  585. package/bundle/dist/codex-protocol/v2/ThreadCompactStartResponse.js +0 -1
  586. package/bundle/dist/codex-protocol/v2/ThreadForkParams.js +0 -1
  587. package/bundle/dist/codex-protocol/v2/ThreadForkResponse.js +0 -1
  588. package/bundle/dist/codex-protocol/v2/ThreadGoal.js +0 -1
  589. package/bundle/dist/codex-protocol/v2/ThreadGoalClearedNotification.js +0 -1
  590. package/bundle/dist/codex-protocol/v2/ThreadGoalStatus.js +0 -1
  591. package/bundle/dist/codex-protocol/v2/ThreadGoalUpdatedNotification.js +0 -1
  592. package/bundle/dist/codex-protocol/v2/ThreadInjectItemsParams.js +0 -1
  593. package/bundle/dist/codex-protocol/v2/ThreadInjectItemsResponse.js +0 -1
  594. package/bundle/dist/codex-protocol/v2/ThreadItem.js +0 -1
  595. package/bundle/dist/codex-protocol/v2/ThreadListParams.js +0 -1
  596. package/bundle/dist/codex-protocol/v2/ThreadListResponse.js +0 -1
  597. package/bundle/dist/codex-protocol/v2/ThreadLoadedListParams.js +0 -1
  598. package/bundle/dist/codex-protocol/v2/ThreadLoadedListResponse.js +0 -1
  599. package/bundle/dist/codex-protocol/v2/ThreadMetadataGitInfoUpdateParams.js +0 -1
  600. package/bundle/dist/codex-protocol/v2/ThreadMetadataUpdateParams.js +0 -1
  601. package/bundle/dist/codex-protocol/v2/ThreadMetadataUpdateResponse.js +0 -1
  602. package/bundle/dist/codex-protocol/v2/ThreadNameUpdatedNotification.js +0 -1
  603. package/bundle/dist/codex-protocol/v2/ThreadReadParams.js +0 -1
  604. package/bundle/dist/codex-protocol/v2/ThreadReadResponse.js +0 -1
  605. package/bundle/dist/codex-protocol/v2/ThreadRealtimeAudioChunk.js +0 -1
  606. package/bundle/dist/codex-protocol/v2/ThreadRealtimeClosedNotification.js +0 -1
  607. package/bundle/dist/codex-protocol/v2/ThreadRealtimeErrorNotification.js +0 -1
  608. package/bundle/dist/codex-protocol/v2/ThreadRealtimeItemAddedNotification.js +0 -1
  609. package/bundle/dist/codex-protocol/v2/ThreadRealtimeOutputAudioDeltaNotification.js +0 -1
  610. package/bundle/dist/codex-protocol/v2/ThreadRealtimeSdpNotification.js +0 -1
  611. package/bundle/dist/codex-protocol/v2/ThreadRealtimeStartTransport.js +0 -1
  612. package/bundle/dist/codex-protocol/v2/ThreadRealtimeStartedNotification.js +0 -1
  613. package/bundle/dist/codex-protocol/v2/ThreadRealtimeTranscriptDeltaNotification.js +0 -1
  614. package/bundle/dist/codex-protocol/v2/ThreadRealtimeTranscriptDoneNotification.js +0 -1
  615. package/bundle/dist/codex-protocol/v2/ThreadResumeParams.js +0 -1
  616. package/bundle/dist/codex-protocol/v2/ThreadResumeResponse.js +0 -1
  617. package/bundle/dist/codex-protocol/v2/ThreadRollbackParams.js +0 -1
  618. package/bundle/dist/codex-protocol/v2/ThreadRollbackResponse.js +0 -1
  619. package/bundle/dist/codex-protocol/v2/ThreadSetNameParams.js +0 -1
  620. package/bundle/dist/codex-protocol/v2/ThreadSetNameResponse.js +0 -1
  621. package/bundle/dist/codex-protocol/v2/ThreadShellCommandParams.js +0 -1
  622. package/bundle/dist/codex-protocol/v2/ThreadShellCommandResponse.js +0 -1
  623. package/bundle/dist/codex-protocol/v2/ThreadSortKey.js +0 -1
  624. package/bundle/dist/codex-protocol/v2/ThreadSource.js +0 -1
  625. package/bundle/dist/codex-protocol/v2/ThreadSourceKind.js +0 -1
  626. package/bundle/dist/codex-protocol/v2/ThreadStartParams.js +0 -1
  627. package/bundle/dist/codex-protocol/v2/ThreadStartResponse.js +0 -1
  628. package/bundle/dist/codex-protocol/v2/ThreadStartSource.js +0 -1
  629. package/bundle/dist/codex-protocol/v2/ThreadStartedNotification.js +0 -1
  630. package/bundle/dist/codex-protocol/v2/ThreadStatus.js +0 -1
  631. package/bundle/dist/codex-protocol/v2/ThreadStatusChangedNotification.js +0 -1
  632. package/bundle/dist/codex-protocol/v2/ThreadTokenUsage.js +0 -1
  633. package/bundle/dist/codex-protocol/v2/ThreadTokenUsageUpdatedNotification.js +0 -1
  634. package/bundle/dist/codex-protocol/v2/ThreadUnarchiveParams.js +0 -1
  635. package/bundle/dist/codex-protocol/v2/ThreadUnarchiveResponse.js +0 -1
  636. package/bundle/dist/codex-protocol/v2/ThreadUnarchivedNotification.js +0 -1
  637. package/bundle/dist/codex-protocol/v2/ThreadUnsubscribeParams.js +0 -1
  638. package/bundle/dist/codex-protocol/v2/ThreadUnsubscribeResponse.js +0 -1
  639. package/bundle/dist/codex-protocol/v2/ThreadUnsubscribeStatus.js +0 -1
  640. package/bundle/dist/codex-protocol/v2/TokenUsageBreakdown.js +0 -1
  641. package/bundle/dist/codex-protocol/v2/ToolRequestUserInputAnswer.js +0 -1
  642. package/bundle/dist/codex-protocol/v2/ToolRequestUserInputOption.js +0 -1
  643. package/bundle/dist/codex-protocol/v2/ToolRequestUserInputParams.js +0 -1
  644. package/bundle/dist/codex-protocol/v2/ToolRequestUserInputQuestion.js +0 -1
  645. package/bundle/dist/codex-protocol/v2/ToolRequestUserInputResponse.js +0 -1
  646. package/bundle/dist/codex-protocol/v2/ToolsV2.js +0 -1
  647. package/bundle/dist/codex-protocol/v2/Turn.js +0 -1
  648. package/bundle/dist/codex-protocol/v2/TurnCompletedNotification.js +0 -1
  649. package/bundle/dist/codex-protocol/v2/TurnDiffUpdatedNotification.js +0 -1
  650. package/bundle/dist/codex-protocol/v2/TurnEnvironmentParams.js +0 -1
  651. package/bundle/dist/codex-protocol/v2/TurnError.js +0 -1
  652. package/bundle/dist/codex-protocol/v2/TurnInterruptParams.js +0 -1
  653. package/bundle/dist/codex-protocol/v2/TurnInterruptResponse.js +0 -1
  654. package/bundle/dist/codex-protocol/v2/TurnItemsView.js +0 -1
  655. package/bundle/dist/codex-protocol/v2/TurnPlanStep.js +0 -1
  656. package/bundle/dist/codex-protocol/v2/TurnPlanStepStatus.js +0 -1
  657. package/bundle/dist/codex-protocol/v2/TurnPlanUpdatedNotification.js +0 -1
  658. package/bundle/dist/codex-protocol/v2/TurnStartParams.js +0 -1
  659. package/bundle/dist/codex-protocol/v2/TurnStartResponse.js +0 -1
  660. package/bundle/dist/codex-protocol/v2/TurnStartedNotification.js +0 -1
  661. package/bundle/dist/codex-protocol/v2/TurnStatus.js +0 -1
  662. package/bundle/dist/codex-protocol/v2/TurnSteerParams.js +0 -1
  663. package/bundle/dist/codex-protocol/v2/TurnSteerResponse.js +0 -1
  664. package/bundle/dist/codex-protocol/v2/UserInput.js +0 -1
  665. package/bundle/dist/codex-protocol/v2/WarningNotification.js +0 -1
  666. package/bundle/dist/codex-protocol/v2/WebSearchAction.js +0 -1
  667. package/bundle/dist/codex-protocol/v2/WindowsSandboxReadiness.js +0 -1
  668. package/bundle/dist/codex-protocol/v2/WindowsSandboxReadinessResponse.js +0 -1
  669. package/bundle/dist/codex-protocol/v2/WindowsSandboxSetupCompletedNotification.js +0 -1
  670. package/bundle/dist/codex-protocol/v2/WindowsSandboxSetupMode.js +0 -1
  671. package/bundle/dist/codex-protocol/v2/WindowsSandboxSetupStartParams.js +0 -1
  672. package/bundle/dist/codex-protocol/v2/WindowsSandboxSetupStartResponse.js +0 -1
  673. package/bundle/dist/codex-protocol/v2/WindowsWorldWritableWarningNotification.js +0 -1
  674. package/bundle/dist/codex-protocol/v2/WriteStatus.js +0 -1
  675. package/bundle/dist/codex-protocol/v2/index.js +0 -7
  676. package/bundle/dist/utils/providers/openai/codex-rpc.js +0 -153
  677. package/bundle/dist/utils/providers/openai/codex-worker.js +0 -642
  678. package/bundle/dist/utils/providers/openai/openai-worker-pool-config.js +0 -51
  679. package/bundle/src/codex-protocol/AbsolutePathBuf.ts +0 -14
  680. package/bundle/src/codex-protocol/AgentPath.ts +0 -5
  681. package/bundle/src/codex-protocol/ApplyPatchApprovalParams.ts +0 -24
  682. package/bundle/src/codex-protocol/ApplyPatchApprovalResponse.ts +0 -6
  683. package/bundle/src/codex-protocol/AuthMode.ts +0 -8
  684. package/bundle/src/codex-protocol/ClientInfo.ts +0 -5
  685. package/bundle/src/codex-protocol/ClientNotification.ts +0 -5
  686. package/bundle/src/codex-protocol/ClientRequest.ts +0 -176
  687. package/bundle/src/codex-protocol/CollaborationMode.ts +0 -10
  688. package/bundle/src/codex-protocol/ContentItem.ts +0 -9
  689. package/bundle/src/codex-protocol/ConversationGitInfo.ts +0 -9
  690. package/bundle/src/codex-protocol/ConversationSummary.ts +0 -19
  691. package/bundle/src/codex-protocol/ExecCommandApprovalParams.ts +0 -22
  692. package/bundle/src/codex-protocol/ExecCommandApprovalResponse.ts +0 -6
  693. package/bundle/src/codex-protocol/ExecPolicyAmendment.ts +0 -12
  694. package/bundle/src/codex-protocol/FileChange.ts +0 -8
  695. package/bundle/src/codex-protocol/ForcedLoginMethod.ts +0 -5
  696. package/bundle/src/codex-protocol/FunctionCallOutputBody.ts +0 -6
  697. package/bundle/src/codex-protocol/FunctionCallOutputContentItem.ts +0 -12
  698. package/bundle/src/codex-protocol/FuzzyFileSearchMatchType.ts +0 -5
  699. package/bundle/src/codex-protocol/FuzzyFileSearchParams.ts +0 -9
  700. package/bundle/src/codex-protocol/FuzzyFileSearchResponse.ts +0 -6
  701. package/bundle/src/codex-protocol/FuzzyFileSearchResult.ts +0 -16
  702. package/bundle/src/codex-protocol/FuzzyFileSearchSessionCompletedNotification.ts +0 -5
  703. package/bundle/src/codex-protocol/FuzzyFileSearchSessionUpdatedNotification.ts +0 -10
  704. package/bundle/src/codex-protocol/GetAuthStatusParams.ts +0 -5
  705. package/bundle/src/codex-protocol/GetAuthStatusResponse.ts +0 -10
  706. package/bundle/src/codex-protocol/GetConversationSummaryParams.ts +0 -6
  707. package/bundle/src/codex-protocol/GetConversationSummaryResponse.ts +0 -6
  708. package/bundle/src/codex-protocol/GitDiffToRemoteParams.ts +0 -5
  709. package/bundle/src/codex-protocol/GitDiffToRemoteResponse.ts +0 -6
  710. package/bundle/src/codex-protocol/GitSha.ts +0 -5
  711. package/bundle/src/codex-protocol/ImageDetail.ts +0 -5
  712. package/bundle/src/codex-protocol/InitializeCapabilities.ts +0 -18
  713. package/bundle/src/codex-protocol/InitializeParams.ts +0 -10
  714. package/bundle/src/codex-protocol/InitializeResponse.ts +0 -22
  715. package/bundle/src/codex-protocol/InputModality.ts +0 -8
  716. package/bundle/src/codex-protocol/InternalSessionSource.ts +0 -5
  717. package/bundle/src/codex-protocol/LocalShellAction.ts +0 -6
  718. package/bundle/src/codex-protocol/LocalShellExecAction.ts +0 -11
  719. package/bundle/src/codex-protocol/LocalShellStatus.ts +0 -5
  720. package/bundle/src/codex-protocol/MessagePhase.ts +0 -11
  721. package/bundle/src/codex-protocol/ModeKind.ts +0 -8
  722. package/bundle/src/codex-protocol/NetworkPolicyAmendment.ts +0 -6
  723. package/bundle/src/codex-protocol/NetworkPolicyRuleAction.ts +0 -5
  724. package/bundle/src/codex-protocol/ParsedCommand.ts +0 -20
  725. package/bundle/src/codex-protocol/Personality.ts +0 -5
  726. package/bundle/src/codex-protocol/PlanType.ts +0 -17
  727. package/bundle/src/codex-protocol/RealtimeConversationVersion.ts +0 -5
  728. package/bundle/src/codex-protocol/RealtimeOutputModality.ts +0 -5
  729. package/bundle/src/codex-protocol/RealtimeVoice.ts +0 -24
  730. package/bundle/src/codex-protocol/RealtimeVoicesList.ts +0 -11
  731. package/bundle/src/codex-protocol/ReasoningEffort.ts +0 -8
  732. package/bundle/src/codex-protocol/ReasoningItemContent.ts +0 -7
  733. package/bundle/src/codex-protocol/ReasoningItemReasoningSummary.ts +0 -5
  734. package/bundle/src/codex-protocol/ReasoningSummary.ts +0 -10
  735. package/bundle/src/codex-protocol/RequestId.ts +0 -5
  736. package/bundle/src/codex-protocol/Resource.ts +0 -19
  737. package/bundle/src/codex-protocol/ResourceContent.ts +0 -27
  738. package/bundle/src/codex-protocol/ResourceTemplate.ts +0 -16
  739. package/bundle/src/codex-protocol/ResponseItem.ts +0 -63
  740. package/bundle/src/codex-protocol/ReviewDecision.ts +0 -17
  741. package/bundle/src/codex-protocol/ServerNotification.ts +0 -154
  742. package/bundle/src/codex-protocol/ServerRequest.ts +0 -47
  743. package/bundle/src/codex-protocol/SessionSource.ts +0 -15
  744. package/bundle/src/codex-protocol/Settings.ts +0 -13
  745. package/bundle/src/codex-protocol/SubAgentSource.ts +0 -20
  746. package/bundle/src/codex-protocol/ThreadId.ts +0 -5
  747. package/bundle/src/codex-protocol/ThreadMemoryMode.ts +0 -5
  748. package/bundle/src/codex-protocol/Tool.ts +0 -18
  749. package/bundle/src/codex-protocol/Verbosity.ts +0 -9
  750. package/bundle/src/codex-protocol/WebSearchAction.ts +0 -9
  751. package/bundle/src/codex-protocol/WebSearchContextSize.ts +0 -5
  752. package/bundle/src/codex-protocol/WebSearchLocation.ts +0 -10
  753. package/bundle/src/codex-protocol/WebSearchMode.ts +0 -5
  754. package/bundle/src/codex-protocol/WebSearchToolConfig.ts +0 -11
  755. package/bundle/src/codex-protocol/index.ts +0 -79
  756. package/bundle/src/codex-protocol/serde_json/JsonValue.ts +0 -11
  757. package/bundle/src/codex-protocol/v2/Account.ts +0 -9
  758. package/bundle/src/codex-protocol/v2/AccountLoginCompletedNotification.ts +0 -9
  759. package/bundle/src/codex-protocol/v2/AccountRateLimitsUpdatedNotification.ts +0 -6
  760. package/bundle/src/codex-protocol/v2/AccountUpdatedNotification.ts +0 -7
  761. package/bundle/src/codex-protocol/v2/ActivePermissionProfile.ts +0 -22
  762. package/bundle/src/codex-protocol/v2/ActivePermissionProfileModification.ts +0 -9
  763. package/bundle/src/codex-protocol/v2/AddCreditsNudgeCreditType.ts +0 -5
  764. package/bundle/src/codex-protocol/v2/AddCreditsNudgeEmailStatus.ts +0 -5
  765. package/bundle/src/codex-protocol/v2/AdditionalFileSystemPermissions.ts +0 -18
  766. package/bundle/src/codex-protocol/v2/AdditionalNetworkPermissions.ts +0 -5
  767. package/bundle/src/codex-protocol/v2/AdditionalPermissionProfile.ts +0 -13
  768. package/bundle/src/codex-protocol/v2/AgentMessageDeltaNotification.ts +0 -10
  769. package/bundle/src/codex-protocol/v2/AnalyticsConfig.ts +0 -14
  770. package/bundle/src/codex-protocol/v2/AppBranding.ts +0 -15
  771. package/bundle/src/codex-protocol/v2/AppInfo.ts +0 -32
  772. package/bundle/src/codex-protocol/v2/AppListUpdatedNotification.ts +0 -9
  773. package/bundle/src/codex-protocol/v2/AppMetadata.ts +0 -20
  774. package/bundle/src/codex-protocol/v2/AppReview.ts +0 -5
  775. package/bundle/src/codex-protocol/v2/AppScreenshot.ts +0 -5
  776. package/bundle/src/codex-protocol/v2/AppSummary.ts +0 -14
  777. package/bundle/src/codex-protocol/v2/AppToolApproval.ts +0 -5
  778. package/bundle/src/codex-protocol/v2/AppToolsConfig.ts +0 -8
  779. package/bundle/src/codex-protocol/v2/ApprovalsReviewer.ts +0 -12
  780. package/bundle/src/codex-protocol/v2/AppsConfig.ts +0 -17
  781. package/bundle/src/codex-protocol/v2/AppsDefaultConfig.ts +0 -9
  782. package/bundle/src/codex-protocol/v2/AppsListParams.ts +0 -25
  783. package/bundle/src/codex-protocol/v2/AppsListResponse.ts +0 -16
  784. package/bundle/src/codex-protocol/v2/AskForApproval.ts +0 -18
  785. package/bundle/src/codex-protocol/v2/AutoReviewDecisionSource.ts +0 -8
  786. package/bundle/src/codex-protocol/v2/ByteRange.ts +0 -5
  787. package/bundle/src/codex-protocol/v2/CancelLoginAccountParams.ts +0 -5
  788. package/bundle/src/codex-protocol/v2/CancelLoginAccountResponse.ts +0 -6
  789. package/bundle/src/codex-protocol/v2/CancelLoginAccountStatus.ts +0 -5
  790. package/bundle/src/codex-protocol/v2/ChatgptAuthTokensRefreshParams.ts +0 -18
  791. package/bundle/src/codex-protocol/v2/ChatgptAuthTokensRefreshReason.ts +0 -5
  792. package/bundle/src/codex-protocol/v2/ChatgptAuthTokensRefreshResponse.ts +0 -9
  793. package/bundle/src/codex-protocol/v2/CodexErrorInfo.ts +0 -27
  794. package/bundle/src/codex-protocol/v2/CollabAgentState.ts +0 -6
  795. package/bundle/src/codex-protocol/v2/CollabAgentStatus.ts +0 -12
  796. package/bundle/src/codex-protocol/v2/CollabAgentTool.ts +0 -5
  797. package/bundle/src/codex-protocol/v2/CollabAgentToolCallStatus.ts +0 -5
  798. package/bundle/src/codex-protocol/v2/CollaborationModeMask.ts +0 -15
  799. package/bundle/src/codex-protocol/v2/CommandAction.ts +0 -10
  800. package/bundle/src/codex-protocol/v2/CommandExecOutputDeltaNotification.ts +0 -31
  801. package/bundle/src/codex-protocol/v2/CommandExecOutputStream.ts +0 -8
  802. package/bundle/src/codex-protocol/v2/CommandExecParams.ts +0 -87
  803. package/bundle/src/codex-protocol/v2/CommandExecResizeParams.ts +0 -19
  804. package/bundle/src/codex-protocol/v2/CommandExecResizeResponse.ts +0 -8
  805. package/bundle/src/codex-protocol/v2/CommandExecResponse.ts +0 -25
  806. package/bundle/src/codex-protocol/v2/CommandExecTerminalSize.ts +0 -17
  807. package/bundle/src/codex-protocol/v2/CommandExecTerminateParams.ts +0 -14
  808. package/bundle/src/codex-protocol/v2/CommandExecTerminateResponse.ts +0 -8
  809. package/bundle/src/codex-protocol/v2/CommandExecWriteParams.ts +0 -23
  810. package/bundle/src/codex-protocol/v2/CommandExecWriteResponse.ts +0 -8
  811. package/bundle/src/codex-protocol/v2/CommandExecutionApprovalDecision.ts +0 -13
  812. package/bundle/src/codex-protocol/v2/CommandExecutionOutputDeltaNotification.ts +0 -10
  813. package/bundle/src/codex-protocol/v2/CommandExecutionRequestApprovalParams.ts +0 -47
  814. package/bundle/src/codex-protocol/v2/CommandExecutionRequestApprovalResponse.ts +0 -8
  815. package/bundle/src/codex-protocol/v2/CommandExecutionSource.ts +0 -9
  816. package/bundle/src/codex-protocol/v2/CommandExecutionStatus.ts +0 -5
  817. package/bundle/src/codex-protocol/v2/CommandMigration.ts +0 -5
  818. package/bundle/src/codex-protocol/v2/Config.ts +0 -53
  819. package/bundle/src/codex-protocol/v2/ConfigBatchWriteParams.ts +0 -17
  820. package/bundle/src/codex-protocol/v2/ConfigEdit.ts +0 -7
  821. package/bundle/src/codex-protocol/v2/ConfigLayer.ts +0 -12
  822. package/bundle/src/codex-protocol/v2/ConfigLayerMetadata.ts +0 -6
  823. package/bundle/src/codex-protocol/v2/ConfigLayerSource.ts +0 -27
  824. package/bundle/src/codex-protocol/v2/ConfigReadParams.ts +0 -13
  825. package/bundle/src/codex-protocol/v2/ConfigReadResponse.ts +0 -12
  826. package/bundle/src/codex-protocol/v2/ConfigRequirements.ts +0 -15
  827. package/bundle/src/codex-protocol/v2/ConfigRequirementsReadResponse.ts +0 -11
  828. package/bundle/src/codex-protocol/v2/ConfigValueWriteParams.ts +0 -16
  829. package/bundle/src/codex-protocol/v2/ConfigWarningNotification.ts +0 -23
  830. package/bundle/src/codex-protocol/v2/ConfigWriteResponse.ts +0 -16
  831. package/bundle/src/codex-protocol/v2/ConfiguredHookHandler.ts +0 -14
  832. package/bundle/src/codex-protocol/v2/ConfiguredHookMatcherGroup.ts +0 -9
  833. package/bundle/src/codex-protocol/v2/ContextCompactedNotification.ts +0 -8
  834. package/bundle/src/codex-protocol/v2/CreditsSnapshot.ts +0 -5
  835. package/bundle/src/codex-protocol/v2/DeprecationNoticeNotification.ts +0 -14
  836. package/bundle/src/codex-protocol/v2/DynamicToolCallOutputContentItem.ts +0 -7
  837. package/bundle/src/codex-protocol/v2/DynamicToolCallParams.ts +0 -13
  838. package/bundle/src/codex-protocol/v2/DynamicToolCallResponse.ts +0 -9
  839. package/bundle/src/codex-protocol/v2/DynamicToolCallStatus.ts +0 -5
  840. package/bundle/src/codex-protocol/v2/DynamicToolSpec.ts +0 -12
  841. package/bundle/src/codex-protocol/v2/ErrorNotification.ts +0 -11
  842. package/bundle/src/codex-protocol/v2/ExecPolicyAmendment.ts +0 -5
  843. package/bundle/src/codex-protocol/v2/ExperimentalFeature.ts +0 -38
  844. package/bundle/src/codex-protocol/v2/ExperimentalFeatureEnablementSetParams.ts +0 -13
  845. package/bundle/src/codex-protocol/v2/ExperimentalFeatureEnablementSetResponse.ts +0 -10
  846. package/bundle/src/codex-protocol/v2/ExperimentalFeatureListParams.ts +0 -14
  847. package/bundle/src/codex-protocol/v2/ExperimentalFeatureListResponse.ts +0 -13
  848. package/bundle/src/codex-protocol/v2/ExperimentalFeatureStage.ts +0 -10
  849. package/bundle/src/codex-protocol/v2/ExternalAgentConfigDetectParams.ts +0 -14
  850. package/bundle/src/codex-protocol/v2/ExternalAgentConfigDetectResponse.ts +0 -6
  851. package/bundle/src/codex-protocol/v2/ExternalAgentConfigImportCompletedNotification.ts +0 -5
  852. package/bundle/src/codex-protocol/v2/ExternalAgentConfigImportParams.ts +0 -8
  853. package/bundle/src/codex-protocol/v2/ExternalAgentConfigImportResponse.ts +0 -5
  854. package/bundle/src/codex-protocol/v2/ExternalAgentConfigMigrationItem.ts +0 -15
  855. package/bundle/src/codex-protocol/v2/ExternalAgentConfigMigrationItemType.ts +0 -14
  856. package/bundle/src/codex-protocol/v2/FeedbackUploadParams.ts +0 -12
  857. package/bundle/src/codex-protocol/v2/FeedbackUploadResponse.ts +0 -5
  858. package/bundle/src/codex-protocol/v2/FileChangeApprovalDecision.ts +0 -5
  859. package/bundle/src/codex-protocol/v2/FileChangeOutputDeltaNotification.ts +0 -15
  860. package/bundle/src/codex-protocol/v2/FileChangePatchUpdatedNotification.ts +0 -11
  861. package/bundle/src/codex-protocol/v2/FileChangeRequestApprovalParams.ts +0 -22
  862. package/bundle/src/codex-protocol/v2/FileChangeRequestApprovalResponse.ts +0 -6
  863. package/bundle/src/codex-protocol/v2/FileSystemAccessMode.ts +0 -5
  864. package/bundle/src/codex-protocol/v2/FileSystemPath.ts +0 -10
  865. package/bundle/src/codex-protocol/v2/FileSystemSandboxEntry.ts +0 -7
  866. package/bundle/src/codex-protocol/v2/FileSystemSpecialPath.ts +0 -11
  867. package/bundle/src/codex-protocol/v2/FileUpdateChange.ts +0 -6
  868. package/bundle/src/codex-protocol/v2/FsChangedNotification.ts +0 -18
  869. package/bundle/src/codex-protocol/v2/FsCopyParams.ts +0 -22
  870. package/bundle/src/codex-protocol/v2/FsCopyResponse.ts +0 -8
  871. package/bundle/src/codex-protocol/v2/FsCreateDirectoryParams.ts +0 -18
  872. package/bundle/src/codex-protocol/v2/FsCreateDirectoryResponse.ts +0 -8
  873. package/bundle/src/codex-protocol/v2/FsGetMetadataParams.ts +0 -14
  874. package/bundle/src/codex-protocol/v2/FsGetMetadataResponse.ts +0 -29
  875. package/bundle/src/codex-protocol/v2/FsReadDirectoryEntry.ts +0 -21
  876. package/bundle/src/codex-protocol/v2/FsReadDirectoryParams.ts +0 -14
  877. package/bundle/src/codex-protocol/v2/FsReadDirectoryResponse.ts +0 -14
  878. package/bundle/src/codex-protocol/v2/FsReadFileParams.ts +0 -14
  879. package/bundle/src/codex-protocol/v2/FsReadFileResponse.ts +0 -13
  880. package/bundle/src/codex-protocol/v2/FsRemoveParams.ts +0 -22
  881. package/bundle/src/codex-protocol/v2/FsRemoveResponse.ts +0 -8
  882. package/bundle/src/codex-protocol/v2/FsUnwatchParams.ts +0 -13
  883. package/bundle/src/codex-protocol/v2/FsUnwatchResponse.ts +0 -8
  884. package/bundle/src/codex-protocol/v2/FsWatchParams.ts +0 -18
  885. package/bundle/src/codex-protocol/v2/FsWatchResponse.ts +0 -14
  886. package/bundle/src/codex-protocol/v2/FsWriteFileParams.ts +0 -18
  887. package/bundle/src/codex-protocol/v2/FsWriteFileResponse.ts +0 -8
  888. package/bundle/src/codex-protocol/v2/GetAccountParams.ts +0 -14
  889. package/bundle/src/codex-protocol/v2/GetAccountRateLimitsResponse.ts +0 -15
  890. package/bundle/src/codex-protocol/v2/GetAccountResponse.ts +0 -6
  891. package/bundle/src/codex-protocol/v2/GitInfo.ts +0 -5
  892. package/bundle/src/codex-protocol/v2/GrantedPermissionProfile.ts +0 -10
  893. package/bundle/src/codex-protocol/v2/GuardianApprovalReview.ts +0 -18
  894. package/bundle/src/codex-protocol/v2/GuardianApprovalReviewAction.ts +0 -34
  895. package/bundle/src/codex-protocol/v2/GuardianApprovalReviewStatus.ts +0 -13
  896. package/bundle/src/codex-protocol/v2/GuardianCommandSource.ts +0 -5
  897. package/bundle/src/codex-protocol/v2/GuardianRiskLevel.ts +0 -8
  898. package/bundle/src/codex-protocol/v2/GuardianUserAuthorization.ts +0 -8
  899. package/bundle/src/codex-protocol/v2/GuardianWarningNotification.ts +0 -14
  900. package/bundle/src/codex-protocol/v2/HookCompletedNotification.ts +0 -10
  901. package/bundle/src/codex-protocol/v2/HookErrorInfo.ts +0 -5
  902. package/bundle/src/codex-protocol/v2/HookEventName.ts +0 -13
  903. package/bundle/src/codex-protocol/v2/HookExecutionMode.ts +0 -5
  904. package/bundle/src/codex-protocol/v2/HookHandlerType.ts +0 -5
  905. package/bundle/src/codex-protocol/v2/HookMetadata.ts +0 -26
  906. package/bundle/src/codex-protocol/v2/HookMigration.ts +0 -5
  907. package/bundle/src/codex-protocol/v2/HookOutputEntry.ts +0 -6
  908. package/bundle/src/codex-protocol/v2/HookOutputEntryKind.ts +0 -5
  909. package/bundle/src/codex-protocol/v2/HookPromptFragment.ts +0 -5
  910. package/bundle/src/codex-protocol/v2/HookRunStatus.ts +0 -5
  911. package/bundle/src/codex-protocol/v2/HookRunSummary.ts +0 -28
  912. package/bundle/src/codex-protocol/v2/HookScope.ts +0 -5
  913. package/bundle/src/codex-protocol/v2/HookSource.ts +0 -15
  914. package/bundle/src/codex-protocol/v2/HookStartedNotification.ts +0 -10
  915. package/bundle/src/codex-protocol/v2/HookTrustStatus.ts +0 -5
  916. package/bundle/src/codex-protocol/v2/HooksListEntry.ts +0 -12
  917. package/bundle/src/codex-protocol/v2/HooksListParams.ts +0 -10
  918. package/bundle/src/codex-protocol/v2/HooksListResponse.ts +0 -6
  919. package/bundle/src/codex-protocol/v2/ItemCompletedNotification.ts +0 -14
  920. package/bundle/src/codex-protocol/v2/ItemGuardianApprovalReviewCompletedNotification.ts +0 -44
  921. package/bundle/src/codex-protocol/v2/ItemGuardianApprovalReviewStartedNotification.ts +0 -38
  922. package/bundle/src/codex-protocol/v2/ItemStartedNotification.ts +0 -14
  923. package/bundle/src/codex-protocol/v2/ListMcpServerStatusParams.ts +0 -20
  924. package/bundle/src/codex-protocol/v2/ListMcpServerStatusResponse.ts +0 -13
  925. package/bundle/src/codex-protocol/v2/LoginAccountParams.ts +0 -27
  926. package/bundle/src/codex-protocol/v2/LoginAccountResponse.ts +0 -27
  927. package/bundle/src/codex-protocol/v2/LogoutAccountResponse.ts +0 -5
  928. package/bundle/src/codex-protocol/v2/ManagedHooksRequirements.ts +0 -17
  929. package/bundle/src/codex-protocol/v2/MarketplaceAddParams.ts +0 -9
  930. package/bundle/src/codex-protocol/v2/MarketplaceAddResponse.ts +0 -10
  931. package/bundle/src/codex-protocol/v2/MarketplaceInterface.ts +0 -5
  932. package/bundle/src/codex-protocol/v2/MarketplaceLoadErrorInfo.ts +0 -6
  933. package/bundle/src/codex-protocol/v2/MarketplaceRemoveParams.ts +0 -5
  934. package/bundle/src/codex-protocol/v2/MarketplaceRemoveResponse.ts +0 -9
  935. package/bundle/src/codex-protocol/v2/MarketplaceUpgradeErrorInfo.ts +0 -5
  936. package/bundle/src/codex-protocol/v2/MarketplaceUpgradeParams.ts +0 -5
  937. package/bundle/src/codex-protocol/v2/MarketplaceUpgradeResponse.ts +0 -11
  938. package/bundle/src/codex-protocol/v2/McpAuthStatus.ts +0 -5
  939. package/bundle/src/codex-protocol/v2/McpElicitationArrayType.ts +0 -5
  940. package/bundle/src/codex-protocol/v2/McpElicitationBooleanSchema.ts +0 -11
  941. package/bundle/src/codex-protocol/v2/McpElicitationBooleanType.ts +0 -5
  942. package/bundle/src/codex-protocol/v2/McpElicitationConstOption.ts +0 -5
  943. package/bundle/src/codex-protocol/v2/McpElicitationEnumSchema.ts +0 -11
  944. package/bundle/src/codex-protocol/v2/McpElicitationLegacyTitledEnumSchema.ts +0 -13
  945. package/bundle/src/codex-protocol/v2/McpElicitationMultiSelectEnumSchema.ts +0 -9
  946. package/bundle/src/codex-protocol/v2/McpElicitationNumberSchema.ts +0 -13
  947. package/bundle/src/codex-protocol/v2/McpElicitationNumberType.ts +0 -5
  948. package/bundle/src/codex-protocol/v2/McpElicitationObjectType.ts +0 -5
  949. package/bundle/src/codex-protocol/v2/McpElicitationPrimitiveSchema.ts +0 -13
  950. package/bundle/src/codex-protocol/v2/McpElicitationSchema.ts +0 -18
  951. package/bundle/src/codex-protocol/v2/McpElicitationSingleSelectEnumSchema.ts +0 -9
  952. package/bundle/src/codex-protocol/v2/McpElicitationStringFormat.ts +0 -5
  953. package/bundle/src/codex-protocol/v2/McpElicitationStringSchema.ts +0 -15
  954. package/bundle/src/codex-protocol/v2/McpElicitationStringType.ts +0 -5
  955. package/bundle/src/codex-protocol/v2/McpElicitationTitledEnumItems.ts +0 -6
  956. package/bundle/src/codex-protocol/v2/McpElicitationTitledMultiSelectEnumSchema.ts +0 -15
  957. package/bundle/src/codex-protocol/v2/McpElicitationTitledSingleSelectEnumSchema.ts +0 -13
  958. package/bundle/src/codex-protocol/v2/McpElicitationUntitledEnumItems.ts +0 -9
  959. package/bundle/src/codex-protocol/v2/McpElicitationUntitledMultiSelectEnumSchema.ts +0 -15
  960. package/bundle/src/codex-protocol/v2/McpElicitationUntitledSingleSelectEnumSchema.ts +0 -12
  961. package/bundle/src/codex-protocol/v2/McpResourceReadParams.ts +0 -5
  962. package/bundle/src/codex-protocol/v2/McpResourceReadResponse.ts +0 -6
  963. package/bundle/src/codex-protocol/v2/McpServerElicitationAction.ts +0 -5
  964. package/bundle/src/codex-protocol/v2/McpServerElicitationRequestParams.ts +0 -27
  965. package/bundle/src/codex-protocol/v2/McpServerElicitationRequestResponse.ts +0 -19
  966. package/bundle/src/codex-protocol/v2/McpServerMigration.ts +0 -5
  967. package/bundle/src/codex-protocol/v2/McpServerOauthLoginCompletedNotification.ts +0 -9
  968. package/bundle/src/codex-protocol/v2/McpServerOauthLoginParams.ts +0 -9
  969. package/bundle/src/codex-protocol/v2/McpServerOauthLoginResponse.ts +0 -5
  970. package/bundle/src/codex-protocol/v2/McpServerRefreshResponse.ts +0 -5
  971. package/bundle/src/codex-protocol/v2/McpServerStartupState.ts +0 -5
  972. package/bundle/src/codex-protocol/v2/McpServerStatus.ts +0 -15
  973. package/bundle/src/codex-protocol/v2/McpServerStatusDetail.ts +0 -5
  974. package/bundle/src/codex-protocol/v2/McpServerStatusUpdatedNotification.ts +0 -10
  975. package/bundle/src/codex-protocol/v2/McpServerToolCallParams.ts +0 -12
  976. package/bundle/src/codex-protocol/v2/McpServerToolCallResponse.ts +0 -11
  977. package/bundle/src/codex-protocol/v2/McpToolCallError.ts +0 -5
  978. package/bundle/src/codex-protocol/v2/McpToolCallProgressNotification.ts +0 -10
  979. package/bundle/src/codex-protocol/v2/McpToolCallResult.ts +0 -10
  980. package/bundle/src/codex-protocol/v2/McpToolCallStatus.ts +0 -5
  981. package/bundle/src/codex-protocol/v2/MemoryCitation.ts +0 -6
  982. package/bundle/src/codex-protocol/v2/MemoryCitationEntry.ts +0 -10
  983. package/bundle/src/codex-protocol/v2/MergeStrategy.ts +0 -5
  984. package/bundle/src/codex-protocol/v2/MigrationDetails.ts +0 -18
  985. package/bundle/src/codex-protocol/v2/Model.ts +0 -30
  986. package/bundle/src/codex-protocol/v2/ModelAvailabilityNux.ts +0 -5
  987. package/bundle/src/codex-protocol/v2/ModelListParams.ts +0 -18
  988. package/bundle/src/codex-protocol/v2/ModelListResponse.ts +0 -13
  989. package/bundle/src/codex-protocol/v2/ModelProviderCapabilitiesReadParams.ts +0 -5
  990. package/bundle/src/codex-protocol/v2/ModelProviderCapabilitiesReadResponse.ts +0 -9
  991. package/bundle/src/codex-protocol/v2/ModelRerouteReason.ts +0 -5
  992. package/bundle/src/codex-protocol/v2/ModelReroutedNotification.ts +0 -12
  993. package/bundle/src/codex-protocol/v2/ModelServiceTier.ts +0 -5
  994. package/bundle/src/codex-protocol/v2/ModelUpgradeInfo.ts +0 -10
  995. package/bundle/src/codex-protocol/v2/ModelVerification.ts +0 -5
  996. package/bundle/src/codex-protocol/v2/ModelVerificationNotification.ts +0 -10
  997. package/bundle/src/codex-protocol/v2/NetworkAccess.ts +0 -5
  998. package/bundle/src/codex-protocol/v2/NetworkApprovalContext.ts +0 -6
  999. package/bundle/src/codex-protocol/v2/NetworkApprovalProtocol.ts +0 -5
  1000. package/bundle/src/codex-protocol/v2/NetworkDomainPermission.ts +0 -5
  1001. package/bundle/src/codex-protocol/v2/NetworkPolicyAmendment.ts +0 -6
  1002. package/bundle/src/codex-protocol/v2/NetworkPolicyRuleAction.ts +0 -5
  1003. package/bundle/src/codex-protocol/v2/NetworkRequirements.ts +0 -40
  1004. package/bundle/src/codex-protocol/v2/NetworkUnixSocketPermission.ts +0 -5
  1005. package/bundle/src/codex-protocol/v2/NonSteerableTurnKind.ts +0 -5
  1006. package/bundle/src/codex-protocol/v2/OverriddenMetadata.ts +0 -11
  1007. package/bundle/src/codex-protocol/v2/PatchApplyStatus.ts +0 -5
  1008. package/bundle/src/codex-protocol/v2/PatchChangeKind.ts +0 -8
  1009. package/bundle/src/codex-protocol/v2/PermissionGrantScope.ts +0 -5
  1010. package/bundle/src/codex-protocol/v2/PermissionProfile.ts +0 -14
  1011. package/bundle/src/codex-protocol/v2/PermissionProfileFileSystemPermissions.ts +0 -8
  1012. package/bundle/src/codex-protocol/v2/PermissionProfileModificationParams.ts +0 -9
  1013. package/bundle/src/codex-protocol/v2/PermissionProfileNetworkPermissions.ts +0 -5
  1014. package/bundle/src/codex-protocol/v2/PermissionProfileSelectionParams.ts +0 -10
  1015. package/bundle/src/codex-protocol/v2/PermissionsRequestApprovalParams.ts +0 -18
  1016. package/bundle/src/codex-protocol/v2/PermissionsRequestApprovalResponse.ts +0 -14
  1017. package/bundle/src/codex-protocol/v2/PlanDeltaNotification.ts +0 -14
  1018. package/bundle/src/codex-protocol/v2/PluginAuthPolicy.ts +0 -5
  1019. package/bundle/src/codex-protocol/v2/PluginAvailability.ts +0 -5
  1020. package/bundle/src/codex-protocol/v2/PluginDetail.ts +0 -19
  1021. package/bundle/src/codex-protocol/v2/PluginHookSummary.ts +0 -6
  1022. package/bundle/src/codex-protocol/v2/PluginInstallParams.ts +0 -10
  1023. package/bundle/src/codex-protocol/v2/PluginInstallPolicy.ts +0 -5
  1024. package/bundle/src/codex-protocol/v2/PluginInstallResponse.ts +0 -10
  1025. package/bundle/src/codex-protocol/v2/PluginInterface.ts +0 -46
  1026. package/bundle/src/codex-protocol/v2/PluginListMarketplaceKind.ts +0 -5
  1027. package/bundle/src/codex-protocol/v2/PluginListParams.ts +0 -18
  1028. package/bundle/src/codex-protocol/v2/PluginListResponse.ts +0 -11
  1029. package/bundle/src/codex-protocol/v2/PluginMarketplaceEntry.ts +0 -17
  1030. package/bundle/src/codex-protocol/v2/PluginReadParams.ts +0 -10
  1031. package/bundle/src/codex-protocol/v2/PluginReadResponse.ts +0 -6
  1032. package/bundle/src/codex-protocol/v2/PluginShareContext.ts +0 -12
  1033. package/bundle/src/codex-protocol/v2/PluginShareDeleteParams.ts +0 -5
  1034. package/bundle/src/codex-protocol/v2/PluginShareDeleteResponse.ts +0 -5
  1035. package/bundle/src/codex-protocol/v2/PluginShareDiscoverability.ts +0 -5
  1036. package/bundle/src/codex-protocol/v2/PluginShareListItem.ts +0 -11
  1037. package/bundle/src/codex-protocol/v2/PluginShareListParams.ts +0 -5
  1038. package/bundle/src/codex-protocol/v2/PluginShareListResponse.ts +0 -6
  1039. package/bundle/src/codex-protocol/v2/PluginSharePrincipal.ts +0 -10
  1040. package/bundle/src/codex-protocol/v2/PluginSharePrincipalType.ts +0 -5
  1041. package/bundle/src/codex-protocol/v2/PluginShareSaveParams.ts +0 -13
  1042. package/bundle/src/codex-protocol/v2/PluginShareSaveResponse.ts +0 -5
  1043. package/bundle/src/codex-protocol/v2/PluginShareTarget.ts +0 -6
  1044. package/bundle/src/codex-protocol/v2/PluginShareUpdateDiscoverability.ts +0 -5
  1045. package/bundle/src/codex-protocol/v2/PluginShareUpdateTargetsParams.ts +0 -11
  1046. package/bundle/src/codex-protocol/v2/PluginShareUpdateTargetsResponse.ts +0 -10
  1047. package/bundle/src/codex-protocol/v2/PluginSkillReadParams.ts +0 -9
  1048. package/bundle/src/codex-protocol/v2/PluginSkillReadResponse.ts +0 -5
  1049. package/bundle/src/codex-protocol/v2/PluginSource.ts +0 -9
  1050. package/bundle/src/codex-protocol/v2/PluginSummary.ts +0 -29
  1051. package/bundle/src/codex-protocol/v2/PluginUninstallParams.ts +0 -5
  1052. package/bundle/src/codex-protocol/v2/PluginUninstallResponse.ts +0 -5
  1053. package/bundle/src/codex-protocol/v2/PluginsMigration.ts +0 -5
  1054. package/bundle/src/codex-protocol/v2/ProcessExitedNotification.ts +0 -43
  1055. package/bundle/src/codex-protocol/v2/ProcessOutputDeltaNotification.ts +0 -27
  1056. package/bundle/src/codex-protocol/v2/ProcessOutputStream.ts +0 -8
  1057. package/bundle/src/codex-protocol/v2/ProcessTerminalSize.ts +0 -17
  1058. package/bundle/src/codex-protocol/v2/ProfileV2.ts +0 -37
  1059. package/bundle/src/codex-protocol/v2/RateLimitReachedType.ts +0 -10
  1060. package/bundle/src/codex-protocol/v2/RateLimitSnapshot.ts +0 -17
  1061. package/bundle/src/codex-protocol/v2/RateLimitWindow.ts +0 -9
  1062. package/bundle/src/codex-protocol/v2/RawResponseItemCompletedNotification.ts +0 -10
  1063. package/bundle/src/codex-protocol/v2/ReasoningEffortOption.ts +0 -6
  1064. package/bundle/src/codex-protocol/v2/ReasoningSummaryPartAddedNotification.ts +0 -10
  1065. package/bundle/src/codex-protocol/v2/ReasoningSummaryTextDeltaNotification.ts +0 -11
  1066. package/bundle/src/codex-protocol/v2/ReasoningTextDeltaNotification.ts +0 -11
  1067. package/bundle/src/codex-protocol/v2/RemoteControlConnectionStatus.ts +0 -5
  1068. package/bundle/src/codex-protocol/v2/RemoteControlStatusChangedNotification.ts +0 -12
  1069. package/bundle/src/codex-protocol/v2/RequestPermissionProfile.ts +0 -10
  1070. package/bundle/src/codex-protocol/v2/ResidencyRequirement.ts +0 -5
  1071. package/bundle/src/codex-protocol/v2/ReviewDelivery.ts +0 -5
  1072. package/bundle/src/codex-protocol/v2/ReviewStartParams.ts +0 -15
  1073. package/bundle/src/codex-protocol/v2/ReviewStartResponse.ts +0 -15
  1074. package/bundle/src/codex-protocol/v2/ReviewTarget.ts +0 -16
  1075. package/bundle/src/codex-protocol/v2/SandboxMode.ts +0 -5
  1076. package/bundle/src/codex-protocol/v2/SandboxPolicy.ts +0 -17
  1077. package/bundle/src/codex-protocol/v2/SandboxWorkspaceWrite.ts +0 -10
  1078. package/bundle/src/codex-protocol/v2/SendAddCreditsNudgeEmailParams.ts +0 -6
  1079. package/bundle/src/codex-protocol/v2/SendAddCreditsNudgeEmailResponse.ts +0 -6
  1080. package/bundle/src/codex-protocol/v2/ServerRequestResolvedNotification.ts +0 -6
  1081. package/bundle/src/codex-protocol/v2/SessionMigration.ts +0 -5
  1082. package/bundle/src/codex-protocol/v2/SessionSource.ts +0 -13
  1083. package/bundle/src/codex-protocol/v2/SkillDependencies.ts +0 -6
  1084. package/bundle/src/codex-protocol/v2/SkillErrorInfo.ts +0 -5
  1085. package/bundle/src/codex-protocol/v2/SkillInterface.ts +0 -13
  1086. package/bundle/src/codex-protocol/v2/SkillMetadata.ts +0 -21
  1087. package/bundle/src/codex-protocol/v2/SkillScope.ts +0 -5
  1088. package/bundle/src/codex-protocol/v2/SkillSummary.ts +0 -14
  1089. package/bundle/src/codex-protocol/v2/SkillToolDependency.ts +0 -12
  1090. package/bundle/src/codex-protocol/v2/SkillsChangedNotification.ts +0 -11
  1091. package/bundle/src/codex-protocol/v2/SkillsConfigWriteParams.ts +0 -16
  1092. package/bundle/src/codex-protocol/v2/SkillsConfigWriteResponse.ts +0 -5
  1093. package/bundle/src/codex-protocol/v2/SkillsListEntry.ts +0 -11
  1094. package/bundle/src/codex-protocol/v2/SkillsListParams.ts +0 -14
  1095. package/bundle/src/codex-protocol/v2/SkillsListResponse.ts +0 -6
  1096. package/bundle/src/codex-protocol/v2/SortDirection.ts +0 -5
  1097. package/bundle/src/codex-protocol/v2/SubagentMigration.ts +0 -5
  1098. package/bundle/src/codex-protocol/v2/TerminalInteractionNotification.ts +0 -11
  1099. package/bundle/src/codex-protocol/v2/TextElement.ts +0 -15
  1100. package/bundle/src/codex-protocol/v2/TextPosition.ts +0 -14
  1101. package/bundle/src/codex-protocol/v2/TextRange.ts +0 -6
  1102. package/bundle/src/codex-protocol/v2/Thread.ts +0 -88
  1103. package/bundle/src/codex-protocol/v2/ThreadActiveFlag.ts +0 -5
  1104. package/bundle/src/codex-protocol/v2/ThreadApproveGuardianDeniedActionParams.ts +0 -12
  1105. package/bundle/src/codex-protocol/v2/ThreadApproveGuardianDeniedActionResponse.ts +0 -5
  1106. package/bundle/src/codex-protocol/v2/ThreadArchiveParams.ts +0 -5
  1107. package/bundle/src/codex-protocol/v2/ThreadArchiveResponse.ts +0 -5
  1108. package/bundle/src/codex-protocol/v2/ThreadArchivedNotification.ts +0 -5
  1109. package/bundle/src/codex-protocol/v2/ThreadClosedNotification.ts +0 -5
  1110. package/bundle/src/codex-protocol/v2/ThreadCompactStartParams.ts +0 -5
  1111. package/bundle/src/codex-protocol/v2/ThreadCompactStartResponse.ts +0 -5
  1112. package/bundle/src/codex-protocol/v2/ThreadForkParams.ts +0 -40
  1113. package/bundle/src/codex-protocol/v2/ThreadForkResponse.ts +0 -30
  1114. package/bundle/src/codex-protocol/v2/ThreadGoal.ts +0 -15
  1115. package/bundle/src/codex-protocol/v2/ThreadGoalClearedNotification.ts +0 -5
  1116. package/bundle/src/codex-protocol/v2/ThreadGoalStatus.ts +0 -5
  1117. package/bundle/src/codex-protocol/v2/ThreadGoalUpdatedNotification.ts +0 -10
  1118. package/bundle/src/codex-protocol/v2/ThreadInjectItemsParams.ts +0 -12
  1119. package/bundle/src/codex-protocol/v2/ThreadInjectItemsResponse.ts +0 -5
  1120. package/bundle/src/codex-protocol/v2/ThreadItem.ts +0 -156
  1121. package/bundle/src/codex-protocol/v2/ThreadListParams.ts +0 -55
  1122. package/bundle/src/codex-protocol/v2/ThreadListResponse.ts +0 -20
  1123. package/bundle/src/codex-protocol/v2/ThreadLoadedListParams.ts +0 -14
  1124. package/bundle/src/codex-protocol/v2/ThreadLoadedListResponse.ts +0 -15
  1125. package/bundle/src/codex-protocol/v2/ThreadMetadataGitInfoUpdateParams.ts +0 -21
  1126. package/bundle/src/codex-protocol/v2/ThreadMetadataUpdateParams.ts +0 -14
  1127. package/bundle/src/codex-protocol/v2/ThreadMetadataUpdateResponse.ts +0 -6
  1128. package/bundle/src/codex-protocol/v2/ThreadNameUpdatedNotification.ts +0 -5
  1129. package/bundle/src/codex-protocol/v2/ThreadReadParams.ts +0 -11
  1130. package/bundle/src/codex-protocol/v2/ThreadReadResponse.ts +0 -6
  1131. package/bundle/src/codex-protocol/v2/ThreadRealtimeAudioChunk.ts +0 -14
  1132. package/bundle/src/codex-protocol/v2/ThreadRealtimeClosedNotification.ts +0 -8
  1133. package/bundle/src/codex-protocol/v2/ThreadRealtimeErrorNotification.ts +0 -8
  1134. package/bundle/src/codex-protocol/v2/ThreadRealtimeItemAddedNotification.ts +0 -9
  1135. package/bundle/src/codex-protocol/v2/ThreadRealtimeOutputAudioDeltaNotification.ts +0 -12
  1136. package/bundle/src/codex-protocol/v2/ThreadRealtimeSdpNotification.ts +0 -8
  1137. package/bundle/src/codex-protocol/v2/ThreadRealtimeStartTransport.ts +0 -17
  1138. package/bundle/src/codex-protocol/v2/ThreadRealtimeStartedNotification.ts +0 -13
  1139. package/bundle/src/codex-protocol/v2/ThreadRealtimeTranscriptDeltaNotification.ts +0 -16
  1140. package/bundle/src/codex-protocol/v2/ThreadRealtimeTranscriptDoneNotification.ts +0 -16
  1141. package/bundle/src/codex-protocol/v2/ThreadResumeParams.ts +0 -39
  1142. package/bundle/src/codex-protocol/v2/ThreadResumeResponse.ts +0 -30
  1143. package/bundle/src/codex-protocol/v2/ThreadRollbackParams.ts +0 -14
  1144. package/bundle/src/codex-protocol/v2/ThreadRollbackResponse.ts +0 -15
  1145. package/bundle/src/codex-protocol/v2/ThreadSetNameParams.ts +0 -5
  1146. package/bundle/src/codex-protocol/v2/ThreadSetNameResponse.ts +0 -5
  1147. package/bundle/src/codex-protocol/v2/ThreadShellCommandParams.ts +0 -14
  1148. package/bundle/src/codex-protocol/v2/ThreadShellCommandResponse.ts +0 -5
  1149. package/bundle/src/codex-protocol/v2/ThreadSortKey.ts +0 -5
  1150. package/bundle/src/codex-protocol/v2/ThreadSource.ts +0 -5
  1151. package/bundle/src/codex-protocol/v2/ThreadSourceKind.ts +0 -15
  1152. package/bundle/src/codex-protocol/v2/ThreadStartParams.ts +0 -33
  1153. package/bundle/src/codex-protocol/v2/ThreadStartResponse.ts +0 -30
  1154. package/bundle/src/codex-protocol/v2/ThreadStartSource.ts +0 -5
  1155. package/bundle/src/codex-protocol/v2/ThreadStartedNotification.ts +0 -6
  1156. package/bundle/src/codex-protocol/v2/ThreadStatus.ts +0 -10
  1157. package/bundle/src/codex-protocol/v2/ThreadStatusChangedNotification.ts +0 -6
  1158. package/bundle/src/codex-protocol/v2/ThreadTokenUsage.ts +0 -10
  1159. package/bundle/src/codex-protocol/v2/ThreadTokenUsageUpdatedNotification.ts +0 -10
  1160. package/bundle/src/codex-protocol/v2/ThreadUnarchiveParams.ts +0 -5
  1161. package/bundle/src/codex-protocol/v2/ThreadUnarchiveResponse.ts +0 -6
  1162. package/bundle/src/codex-protocol/v2/ThreadUnarchivedNotification.ts +0 -5
  1163. package/bundle/src/codex-protocol/v2/ThreadUnsubscribeParams.ts +0 -5
  1164. package/bundle/src/codex-protocol/v2/ThreadUnsubscribeResponse.ts +0 -6
  1165. package/bundle/src/codex-protocol/v2/ThreadUnsubscribeStatus.ts +0 -5
  1166. package/bundle/src/codex-protocol/v2/TokenUsageBreakdown.ts +0 -11
  1167. package/bundle/src/codex-protocol/v2/ToolRequestUserInputAnswer.ts +0 -8
  1168. package/bundle/src/codex-protocol/v2/ToolRequestUserInputOption.ts +0 -8
  1169. package/bundle/src/codex-protocol/v2/ToolRequestUserInputParams.ts +0 -14
  1170. package/bundle/src/codex-protocol/v2/ToolRequestUserInputQuestion.ts +0 -16
  1171. package/bundle/src/codex-protocol/v2/ToolRequestUserInputResponse.ts +0 -11
  1172. package/bundle/src/codex-protocol/v2/ToolsV2.ts +0 -6
  1173. package/bundle/src/codex-protocol/v2/Turn.ts +0 -36
  1174. package/bundle/src/codex-protocol/v2/TurnCompletedNotification.ts +0 -6
  1175. package/bundle/src/codex-protocol/v2/TurnDiffUpdatedNotification.ts +0 -9
  1176. package/bundle/src/codex-protocol/v2/TurnEnvironmentParams.ts +0 -6
  1177. package/bundle/src/codex-protocol/v2/TurnError.ts +0 -10
  1178. package/bundle/src/codex-protocol/v2/TurnInterruptParams.ts +0 -5
  1179. package/bundle/src/codex-protocol/v2/TurnInterruptResponse.ts +0 -5
  1180. package/bundle/src/codex-protocol/v2/TurnItemsView.ts +0 -5
  1181. package/bundle/src/codex-protocol/v2/TurnPlanStep.ts +0 -6
  1182. package/bundle/src/codex-protocol/v2/TurnPlanStepStatus.ts +0 -5
  1183. package/bundle/src/codex-protocol/v2/TurnPlanUpdatedNotification.ts +0 -11
  1184. package/bundle/src/codex-protocol/v2/TurnStartParams.ts +0 -48
  1185. package/bundle/src/codex-protocol/v2/TurnStartResponse.ts +0 -6
  1186. package/bundle/src/codex-protocol/v2/TurnStartedNotification.ts +0 -6
  1187. package/bundle/src/codex-protocol/v2/TurnStatus.ts +0 -5
  1188. package/bundle/src/codex-protocol/v2/TurnSteerParams.ts +0 -13
  1189. package/bundle/src/codex-protocol/v2/TurnSteerResponse.ts +0 -5
  1190. package/bundle/src/codex-protocol/v2/UserInput.ts +0 -18
  1191. package/bundle/src/codex-protocol/v2/WarningNotification.ts +0 -14
  1192. package/bundle/src/codex-protocol/v2/WebSearchAction.ts +0 -9
  1193. package/bundle/src/codex-protocol/v2/WindowsSandboxReadiness.ts +0 -5
  1194. package/bundle/src/codex-protocol/v2/WindowsSandboxReadinessResponse.ts +0 -6
  1195. package/bundle/src/codex-protocol/v2/WindowsSandboxSetupCompletedNotification.ts +0 -10
  1196. package/bundle/src/codex-protocol/v2/WindowsSandboxSetupMode.ts +0 -5
  1197. package/bundle/src/codex-protocol/v2/WindowsSandboxSetupStartParams.ts +0 -10
  1198. package/bundle/src/codex-protocol/v2/WindowsSandboxSetupStartResponse.ts +0 -5
  1199. package/bundle/src/codex-protocol/v2/WindowsWorldWritableWarningNotification.ts +0 -9
  1200. package/bundle/src/codex-protocol/v2/WriteStatus.ts +0 -5
  1201. package/bundle/src/codex-protocol/v2/index.ts +0 -446
  1202. package/bundle/src/utils/providers/openai/codex-rpc.ts +0 -238
  1203. package/bundle/src/utils/providers/openai/codex-worker.test.ts +0 -1006
  1204. package/bundle/src/utils/providers/openai/codex-worker.ts +0 -927
  1205. package/bundle/src/utils/providers/openai/openai-worker-pool-config.ts +0 -112
  1206. package/bundle/web-dist/client/assets/index-C0594sjh.js +0 -106
  1207. package/bundle/web-dist/client/assets/index-CcMEpCgt.css +0 -1
  1208. package/bundle/web-dist/client/assets/logs-BotUcOEB.js +0 -1
  1209. package/bundle/web-dist/client/assets/monit-kk3vnGvu.js +0 -1
  1210. package/bundle/web-dist/client/assets/settings-CAAQSIyg.js +0 -1
  1211. package/bundle/web-dist/client/assets/show-BryNvjUT.js +0 -2
  1212. /package/bundle/dist/{codex-protocol/AbsolutePathBuf.js → utils/providers/common/provider-types.js} +0 -0
@@ -130,7 +130,7 @@ var TokenSubscriber = class {
130
130
  const payload = JSON.parse(payloadJson);
131
131
  if (payload.op === "DELETE") {
132
132
  this.dispatcher.removeCache(payload.id);
133
- await this.dispatcher.openaiDispatcher?.onTokenRemoved(payload.id).catch((e) => logger.warn(`openai worker remove failed: ${e.message}`));
133
+ await this.dispatcher.openaiDispatcher?.onTokenRemoved(payload.id).catch((e) => logger.warn(`openai token remove failed: ${e.message}`));
134
134
  this.dispatcher.anthropicDispatcher?.onTokenRemoved(payload.id);
135
135
  logger.info(`NOTIFY ${payload.op} id=${payload.id} → removed from cache`);
136
136
  return;
@@ -138,7 +138,7 @@ var TokenSubscriber = class {
138
138
  const row = await TokenModel.findOne("A", { id: payload.id });
139
139
  if (!row) {
140
140
  this.dispatcher.removeCache(payload.id);
141
- await this.dispatcher.openaiDispatcher?.onTokenRemoved(payload.id).catch((e) => logger.warn(`openai worker remove failed: ${e.message}`));
141
+ await this.dispatcher.openaiDispatcher?.onTokenRemoved(payload.id).catch((e) => logger.warn(`openai token remove failed: ${e.message}`));
142
142
  this.dispatcher.anthropicDispatcher?.onTokenRemoved(payload.id);
143
143
  logger.info(`NOTIFY ${payload.op} id=${payload.id} → missing, removed from cache`);
144
144
  return;
@@ -147,9 +147,9 @@ var TokenSubscriber = class {
147
147
  if (row.provider === "openai") {
148
148
  const creds = row.credentials;
149
149
  const openaiDispatcher = this.dispatcher.openaiDispatcher;
150
- if (payload.op === "INSERT" && row.active) await openaiDispatcher?.onTokenAdded(payload.id, row.name, creds, row.quota_threshold, row.weight).catch((e) => logger.warn(`openai worker spawn failed: ${e.message}`));
150
+ if (payload.op === "INSERT" && row.active) await openaiDispatcher?.onTokenAdded(payload.id, row.name, creds, row.quota_threshold, row.weight).catch((e) => logger.warn(`openai token add failed: ${e.message}`));
151
151
  else if (row.active) {
152
- if (openaiDispatcher) await openaiDispatcher.onTokenUpdated(payload.id, row.name, creds, row.quota_threshold, row.weight).then(() => openaiDispatcher.onTokenActivated(payload.id)).catch((e) => logger.warn(`openai worker update failed: ${e.message}`));
152
+ if (openaiDispatcher) await openaiDispatcher.onTokenUpdated(payload.id, row.name, creds, row.quota_threshold, row.weight).then(() => openaiDispatcher.onTokenActivated(payload.id)).catch((e) => logger.warn(`openai token update failed: ${e.message}`));
153
153
  } else openaiDispatcher?.onTokenDeactivated(payload.id);
154
154
  } else if (row.provider === "anthropic") {
155
155
  const creds = row.credentials;
@@ -192,4 +192,4 @@ var TokenSubscriber = class {
192
192
  //#endregion
193
193
  export { TokenSubscriber };
194
194
 
195
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4tc3Vic2NyaWJlci5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwbGljYXRpb24vcWdyaWQvdG9rZW4tc3Vic2NyaWJlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogdG9rZW5zX2NoYW5nZWQgTElTVEVOIHN1YnNjcmliZXIuICovXG5pbXBvcnQgeyBnZXRMb2dnZXIgfSBmcm9tIFwiQGxvZ3RhcGUvbG9ndGFwZVwiO1xuaW1wb3J0IHsgQ2xpZW50LCB0eXBlIENsaWVudENvbmZpZyB9IGZyb20gXCJwZ1wiO1xuXG5pbXBvcnQgeyBUb2tlbk1vZGVsIH0gZnJvbSBcIi4uL3Rva2VuL3Rva2VuLm1vZGVsXCI7XG5pbXBvcnQgeyB0eXBlIEFudGhyb3BpY0NyZWRlbnRpYWxzLCB0eXBlIE9wZW5BSUNyZWRlbnRpYWxzIH0gZnJvbSBcIi4uL3Rva2VuL3Rva2VuLnR5cGVzXCI7XG5pbXBvcnQgeyB0eXBlIFFncmlkRGlzcGF0Y2hlckNsYXNzIH0gZnJvbSBcIi4vcWdyaWQuZGlzcGF0Y2hlclwiO1xuaW1wb3J0IHsgdHlwZSBTdWJzY3JpYmVyU3RhdHVzIH0gZnJvbSBcIi4vcWdyaWQudHlwZXNcIjtcblxuY29uc3QgbG9nZ2VyID0gZ2V0TG9nZ2VyKFtcInFncmlkXCIsIFwic3Vic2NyaWJlclwiXSk7XG5cbmNvbnN0IFRPS0VOU19DSEFOR0VEID0gXCJ0b2tlbnNfY2hhbmdlZFwiO1xuY29uc3QgUkVDT05DSUxFX0lOVEVSVkFMX01TID0gMTAgKiA2MCAqIDEwMDA7XG5jb25zdCBDT05ORUNUSU9OX1RJTUVPVVRfTVMgPSA1XzAwMDtcbmNvbnN0IEJBQ0tPRkZfQkFTRV9NUyA9IDUwMDtcbmNvbnN0IEJBQ0tPRkZfQ0FQX01TID0gMzBfMDAwO1xuXG50eXBlIFBheWxvYWQgPSB7IG9wOiBcIklOU0VSVFwiIHwgXCJVUERBVEVcIiB8IFwiREVMRVRFXCI7IGlkOiBudW1iZXIgfTtcblxuZXhwb3J0IGNsYXNzIFRva2VuU3Vic2NyaWJlciB7XG4gIGNsaWVudDogQ2xpZW50IHwgbnVsbCA9IG51bGw7XG4gIHJlY29uY2lsZVRpbWVyOiBOb2RlSlMuVGltZW91dCB8IG51bGwgPSBudWxsO1xuICByZWNvbm5lY3RUaW1lcjogTm9kZUpTLlRpbWVvdXQgfCBudWxsID0gbnVsbDtcbiAgc2h1dGRvd25SZXF1ZXN0ZWQgPSBmYWxzZTtcbiAgYXR0ZW1wdCA9IDA7XG4gIGNvbm5lY3RlZEF0OiBEYXRlIHwgbnVsbCA9IG51bGw7XG4gIGxhc3RSZWNvbmNpbGVBdDogRGF0ZSB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIG9wZXJhdGlvbkNoYWluOiBQcm9taXNlPHZvaWQ+ID0gUHJvbWlzZS5yZXNvbHZlKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGNvbm5Db25maWc6IENsaWVudENvbmZpZyxcbiAgICBwdWJsaWMgZGlzcGF0Y2hlcjogUWdyaWREaXNwYXRjaGVyQ2xhc3MsXG4gICkge31cblxuICBhc3luYyBzdGFydCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICB0aGlzLnNodXRkb3duUmVxdWVzdGVkID0gZmFsc2U7XG4gICAgdGhpcy5lbnN1cmVSZWNvbmNpbGVUaW1lcigpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuY29ubmVjdEFuZFJlY29uY2lsZSgpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgbG9nZ2VyLndhcm4oYHN1YnNjcmliZXIgc3RhcnQgZmFpbGVkOiAkeyhlIGFzIEVycm9yKS5tZXNzYWdlfSwgc2NoZWR1bGluZyByZXRyeWApO1xuICAgICAgdGhpcy5yZXRyeUxhdGVyKCk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc3RvcCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLnNodXRkb3duUmVxdWVzdGVkID0gdHJ1ZTtcbiAgICBpZiAodGhpcy5yZWNvbmNpbGVUaW1lcikge1xuICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLnJlY29uY2lsZVRpbWVyKTtcbiAgICAgIHRoaXMucmVjb25jaWxlVGltZXIgPSBudWxsO1xuICAgIH1cbiAgICBpZiAodGhpcy5yZWNvbm5lY3RUaW1lcikge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMucmVjb25uZWN0VGltZXIpO1xuICAgICAgdGhpcy5yZWNvbm5lY3RUaW1lciA9IG51bGw7XG4gICAgfVxuICAgIGF3YWl0IHRoaXMuY2xvc2VDbGllbnQoKTtcbiAgfVxuXG4gIHN0YXR1cygpOiBTdWJzY3JpYmVyU3RhdHVzIHtcbiAgICByZXR1cm4ge1xuICAgICAgY29ubmVjdGVkOiB0aGlzLmNsaWVudCAhPT0gbnVsbCAmJiB0aGlzLnJlY29ubmVjdFRpbWVyID09PSBudWxsLFxuICAgICAgY29ubmVjdGVkQXQ6IHRoaXMuY29ubmVjdGVkQXQsXG4gICAgICBsYXN0UmVjb25jaWxlQXQ6IHRoaXMubGFzdFJlY29uY2lsZUF0LFxuICAgICAgYXR0ZW1wdDogdGhpcy5hdHRlbXB0LFxuICAgIH07XG4gIH1cblxuICBlbnN1cmVSZWNvbmNpbGVUaW1lcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yZWNvbmNpbGVUaW1lcikgcmV0dXJuO1xuXG4gICAgLy8gTElTVEVOL05PVElGWSDripQg64GK6ri0IOuPmeyViCDsnKDsi6TrkKAg7IiYIOyeiOyWtCDso7zquLDsoIHsnLzroZwgREIg6riw7KSA7Jy866GcIOunnuy2mOuLpC5cbiAgICB0aGlzLnJlY29uY2lsZVRpbWVyID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgdGhpcy5yZWNvbmNpbGUoKS5jYXRjaCgoZSkgPT5cbiAgICAgICAgbG9nZ2VyLndhcm4oYHBlcmlvZGljIHJlY29uY2lsZSBmYWlsZWQ6ICR7KGUgYXMgRXJyb3IpLm1lc3NhZ2V9YCksXG4gICAgICApO1xuICAgIH0sIFJFQ09OQ0lMRV9JTlRFUlZBTF9NUyk7XG4gIH1cblxuICBhc3luYyBjb25uZWN0QW5kUmVjb25jaWxlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuY29ubmVjdEFuZExpc3RlbigpO1xuICAgIGF3YWl0IHRoaXMucmVjb25jaWxlKCk7XG4gICAgdGhpcy5hdHRlbXB0ID0gMDtcbiAgfVxuXG4gIGFzeW5jIGNvbm5lY3RBbmRMaXN0ZW4oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IENsaWVudCh7XG4gICAgICAuLi50aGlzLmNvbm5Db25maWcsXG4gICAgICBjb25uZWN0aW9uVGltZW91dE1pbGxpczogQ09OTkVDVElPTl9USU1FT1VUX01TLFxuICAgICAga2VlcEFsaXZlOiB0cnVlLFxuICAgICAga2VlcEFsaXZlSW5pdGlhbERlbGF5TWlsbGlzOiAxMF8wMDAsXG4gICAgICBhcHBsaWNhdGlvbl9uYW1lOiBcInFncmlkLWxpc3RlbmVyXCIsXG4gICAgfSk7XG5cbiAgICBjbGllbnQub24oXCJlcnJvclwiLCAoZSkgPT4ge1xuICAgICAgbG9nZ2VyLndhcm4oYHN1YnNjcmliZXIgZXJyb3I6ICR7ZS5tZXNzYWdlfWApO1xuICAgICAgdGhpcy5yZXRyeUxhdGVyKCk7XG4gICAgfSk7XG4gICAgY2xpZW50Lm9uKFwiZW5kXCIsICgpID0+IHtcbiAgICAgIGlmICghdGhpcy5zaHV0ZG93blJlcXVlc3RlZCkgdGhpcy5yZXRyeUxhdGVyKCk7XG4gICAgfSk7XG4gICAgY2xpZW50Lm9uKFwibm90aWZpY2F0aW9uXCIsIChtc2cpID0+IHtcbiAgICAgIGlmIChtc2cuY2hhbm5lbCAhPT0gVE9LRU5TX0NIQU5HRUQgfHwgIW1zZy5wYXlsb2FkKSByZXR1cm47XG4gICAgICB0aGlzLmhhbmRsZU5vdGlmaWNhdGlvbihtc2cucGF5bG9hZCkuY2F0Y2goKGUpID0+XG4gICAgICAgIGxvZ2dlci53YXJuKGBoYW5kbGUgTk9USUZZIGZhaWxlZDogJHsoZSBhcyBFcnJvcikubWVzc2FnZX1gKSxcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgY2xpZW50LmNvbm5lY3QoKTtcbiAgICAgIGF3YWl0IGNsaWVudC5xdWVyeShcIlNFVCBzdGF0ZW1lbnRfdGltZW91dCA9IDBcIik7XG4gICAgICBhd2FpdCBjbGllbnQucXVlcnkoXCJTRVQgaWRsZV9pbl90cmFuc2FjdGlvbl9zZXNzaW9uX3RpbWVvdXQgPSAwXCIpO1xuICAgICAgYXdhaXQgY2xpZW50LnF1ZXJ5KGBMSVNURU4gJHtjbGllbnQuZXNjYXBlSWRlbnRpZmllcihUT0tFTlNfQ0hBTkdFRCl9YCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY2xpZW50LnJlbW92ZUFsbExpc3RlbmVycygpO1xuICAgICAgYXdhaXQgY2xpZW50LmVuZCgpLmNhdGNoKCgpID0+IHt9KTtcbiAgICAgIHRocm93IGU7XG4gICAgfVxuXG4gICAgdGhpcy5jbGllbnQgPSBjbGllbnQ7XG4gICAgdGhpcy5jb25uZWN0ZWRBdCA9IG5ldyBEYXRlKCk7XG4gICAgbG9nZ2VyLmluZm8oYHN1YnNjcmliZWQgdG8gJHtUT0tFTlNfQ0hBTkdFRH1gKTtcbiAgfVxuXG4gIHJldHJ5TGF0ZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2h1dGRvd25SZXF1ZXN0ZWQpIHJldHVybjtcbiAgICBpZiAodGhpcy5yZWNvbm5lY3RUaW1lcikgcmV0dXJuO1xuXG4gICAgdm9pZCB0aGlzLmNsb3NlQ2xpZW50KCk7XG4gICAgdGhpcy5hdHRlbXB0ICs9IDE7XG4gICAgY29uc3QgY2FwID0gTWF0aC5taW4oQkFDS09GRl9CQVNFX01TICogMiAqKiB0aGlzLmF0dGVtcHQsIEJBQ0tPRkZfQ0FQX01TKTtcbiAgICBjb25zdCBkZWxheSA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGNhcCk7XG4gICAgbG9nZ2VyLmluZm8oYHJlY29ubmVjdGluZyBpbiAke2RlbGF5fW1zIChhdHRlbXB0ICR7dGhpcy5hdHRlbXB0fSlgKTtcbiAgICB0aGlzLnJlY29ubmVjdFRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnJlY29ubmVjdFRpbWVyID0gbnVsbDtcbiAgICAgIHRoaXMuY29ubmVjdEFuZFJlY29uY2lsZSgpLmNhdGNoKChlKSA9PiB7XG4gICAgICAgIGxvZ2dlci53YXJuKGBzdWJzY3JpYmVyIHJlY29ubmVjdCBmYWlsZWQ6ICR7KGUgYXMgRXJyb3IpLm1lc3NhZ2V9YCk7XG4gICAgICAgIHRoaXMucmV0cnlMYXRlcigpO1xuICAgICAgfSk7XG4gICAgfSwgZGVsYXkpO1xuICB9XG5cbiAgYXN5bmMgY2xvc2VDbGllbnQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY2xpZW50ID0gdGhpcy5jbGllbnQ7XG4gICAgaWYgKCFjbGllbnQpIHJldHVybjtcblxuICAgIHRoaXMuY2xpZW50ID0gbnVsbDtcbiAgICBjbGllbnQucmVtb3ZlQWxsTGlzdGVuZXJzKCk7XG4gICAgYXdhaXQgY2xpZW50LmVuZCgpLmNhdGNoKCgpID0+IHt9KTtcbiAgfVxuXG4gIGFzeW5jIGhhbmRsZU5vdGlmaWNhdGlvbihwYXlsb2FkSnNvbjogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuZW5xdWV1ZU9wZXJhdGlvbigoKSA9PiB0aGlzLmhhbmRsZU5vdGlmaWNhdGlvbk5vdyhwYXlsb2FkSnNvbikpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBoYW5kbGVOb3RpZmljYXRpb25Ob3cocGF5bG9hZEpzb246IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHBheWxvYWQgPSBKU09OLnBhcnNlKHBheWxvYWRKc29uKSBhcyBQYXlsb2FkO1xuICAgIGlmIChwYXlsb2FkLm9wID09PSBcIkRFTEVURVwiKSB7XG4gICAgICB0aGlzLmRpc3BhdGNoZXIucmVtb3ZlQ2FjaGUocGF5bG9hZC5pZCk7XG4gICAgICBhd2FpdCB0aGlzLmRpc3BhdGNoZXIub3BlbmFpRGlzcGF0Y2hlclxuICAgICAgICA/Lm9uVG9rZW5SZW1vdmVkKHBheWxvYWQuaWQpXG4gICAgICAgIC5jYXRjaCgoZSkgPT4gbG9nZ2VyLndhcm4oYG9wZW5haSB3b3JrZXIgcmVtb3ZlIGZhaWxlZDogJHsoZSBhcyBFcnJvcikubWVzc2FnZX1gKSk7XG4gICAgICAvLyBhbnRocm9waWMg7Yag7YGwIOydtOuypO2KuOuKlCDrj5nquLAodm9pZCkg4oCUIHByb3ZpZGVyIOulvCDrqqjrpbTrr4DroZwg66y07ZW07ZWY6rKMIO2VreyDgSDsoJzqsbAg7Iuc64+ELlxuICAgICAgdGhpcy5kaXNwYXRjaGVyLmFudGhyb3BpY0Rpc3BhdGNoZXI/Lm9uVG9rZW5SZW1vdmVkKHBheWxvYWQuaWQpO1xuICAgICAgbG9nZ2VyLmluZm8oYE5PVElGWSAke3BheWxvYWQub3B9IGlkPSR7cGF5bG9hZC5pZH0g4oaSIHJlbW92ZWQgZnJvbSBjYWNoZWApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCByb3cgPSBhd2FpdCBUb2tlbk1vZGVsLmZpbmRPbmUoXCJBXCIsIHsgaWQ6IHBheWxvYWQuaWQgfSk7XG4gICAgaWYgKCFyb3cpIHtcbiAgICAgIHRoaXMuZGlzcGF0Y2hlci5yZW1vdmVDYWNoZShwYXlsb2FkLmlkKTtcbiAgICAgIGF3YWl0IHRoaXMuZGlzcGF0Y2hlci5vcGVuYWlEaXNwYXRjaGVyXG4gICAgICAgID8ub25Ub2tlblJlbW92ZWQocGF5bG9hZC5pZClcbiAgICAgICAgLmNhdGNoKChlKSA9PiBsb2dnZXIud2Fybihgb3BlbmFpIHdvcmtlciByZW1vdmUgZmFpbGVkOiAkeyhlIGFzIEVycm9yKS5tZXNzYWdlfWApKTtcbiAgICAgIHRoaXMuZGlzcGF0Y2hlci5hbnRocm9waWNEaXNwYXRjaGVyPy5vblRva2VuUmVtb3ZlZChwYXlsb2FkLmlkKTtcbiAgICAgIGxvZ2dlci5pbmZvKGBOT1RJRlkgJHtwYXlsb2FkLm9wfSBpZD0ke3BheWxvYWQuaWR9IOKGkiBtaXNzaW5nLCByZW1vdmVkIGZyb20gY2FjaGVgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmRpc3BhdGNoZXIudXBzZXJ0Q2FjaGUocGF5bG9hZC5pZCwgcm93KTtcblxuICAgIGlmIChyb3cucHJvdmlkZXIgPT09IFwib3BlbmFpXCIpIHtcbiAgICAgIGNvbnN0IGNyZWRzID0gcm93LmNyZWRlbnRpYWxzIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAgICAgY29uc3Qgb3BlbmFpRGlzcGF0Y2hlciA9IHRoaXMuZGlzcGF0Y2hlci5vcGVuYWlEaXNwYXRjaGVyO1xuICAgICAgaWYgKHBheWxvYWQub3AgPT09IFwiSU5TRVJUXCIgJiYgcm93LmFjdGl2ZSkge1xuICAgICAgICBhd2FpdCBvcGVuYWlEaXNwYXRjaGVyXG4gICAgICAgICAgPy5vblRva2VuQWRkZWQoXG4gICAgICAgICAgICBwYXlsb2FkLmlkLFxuICAgICAgICAgICAgcm93Lm5hbWUsXG4gICAgICAgICAgICBjcmVkcyBhcyBPcGVuQUlDcmVkZW50aWFscyxcbiAgICAgICAgICAgIHJvdy5xdW90YV90aHJlc2hvbGQsXG4gICAgICAgICAgICByb3cud2VpZ2h0LFxuICAgICAgICAgIClcbiAgICAgICAgICAuY2F0Y2goKGUpID0+IGxvZ2dlci53YXJuKGBvcGVuYWkgd29ya2VyIHNwYXduIGZhaWxlZDogJHsoZSBhcyBFcnJvcikubWVzc2FnZX1gKSk7XG4gICAgICB9IGVsc2UgaWYgKHJvdy5hY3RpdmUpIHtcbiAgICAgICAgaWYgKG9wZW5haURpc3BhdGNoZXIpIHtcbiAgICAgICAgICBhd2FpdCBvcGVuYWlEaXNwYXRjaGVyXG4gICAgICAgICAgICAub25Ub2tlblVwZGF0ZWQoXG4gICAgICAgICAgICAgIHBheWxvYWQuaWQsXG4gICAgICAgICAgICAgIHJvdy5uYW1lLFxuICAgICAgICAgICAgICBjcmVkcyBhcyBPcGVuQUlDcmVkZW50aWFscyxcbiAgICAgICAgICAgICAgcm93LnF1b3RhX3RocmVzaG9sZCxcbiAgICAgICAgICAgICAgcm93LndlaWdodCxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC50aGVuKCgpID0+IG9wZW5haURpc3BhdGNoZXIub25Ub2tlbkFjdGl2YXRlZChwYXlsb2FkLmlkKSlcbiAgICAgICAgICAgIC5jYXRjaCgoZSkgPT4gbG9nZ2VyLndhcm4oYG9wZW5haSB3b3JrZXIgdXBkYXRlIGZhaWxlZDogJHsoZSBhcyBFcnJvcikubWVzc2FnZX1gKSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9wZW5haURpc3BhdGNoZXI/Lm9uVG9rZW5EZWFjdGl2YXRlZChwYXlsb2FkLmlkKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHJvdy5wcm92aWRlciA9PT0gXCJhbnRocm9waWNcIikge1xuICAgICAgLy8gYW50aHJvcGljIO2GoO2BsCDsnbTrsqTtirjripQg64+Z6riwKHZvaWQpLiB3b3JrZXIg6rCAIOyXhuqzoCDtkoAoTWFwKeunjCDqtIDrpqztlZjrr4DroZwg64uo7IicOlxuICAgICAgLy8gIElOU0VSVCDihpIg7LaU6rCALCBhY3RpdmUg66m0IOqwseyLoChvblRva2VuVXBkYXRlZCDqsIAgaWRlbnRpdHkg67OA6rK964+EIOyymOumrCksIGluYWN0aXZlIOuptCDtkoDsl5DshJwg7KCc6rGwLlxuICAgICAgLy8gICjrs4Trj4QgYWN0aXZhdGUvZGVhY3RpdmF0ZSDsvZzrsLHsnbQg7JeG7Ja0IGFjdGl2ZSDthqDquIDsnYQgYWRkL3JlbW92ZSDroZwg66ek7ZWRLilcbiAgICAgIGNvbnN0IGNyZWRzID0gcm93LmNyZWRlbnRpYWxzIGFzIEFudGhyb3BpY0NyZWRlbnRpYWxzO1xuICAgICAgaWYgKHBheWxvYWQub3AgPT09IFwiSU5TRVJUXCIgJiYgcm93LmFjdGl2ZSkge1xuICAgICAgICB0aGlzLmRpc3BhdGNoZXIuYW50aHJvcGljRGlzcGF0Y2hlcj8ub25Ub2tlbkFkZGVkKFxuICAgICAgICAgIHBheWxvYWQuaWQsXG4gICAgICAgICAgcm93Lm5hbWUsXG4gICAgICAgICAgY3JlZHMsXG4gICAgICAgICAgcm93LnF1b3RhX3RocmVzaG9sZCxcbiAgICAgICAgICByb3cud2VpZ2h0LFxuICAgICAgICApO1xuICAgICAgfSBlbHNlIGlmIChyb3cuYWN0aXZlKSB7XG4gICAgICAgIHRoaXMuZGlzcGF0Y2hlci5hbnRocm9waWNEaXNwYXRjaGVyPy5vblRva2VuVXBkYXRlZChcbiAgICAgICAgICBwYXlsb2FkLmlkLFxuICAgICAgICAgIHJvdy5uYW1lLFxuICAgICAgICAgIGNyZWRzLFxuICAgICAgICAgIHJvdy5xdW90YV90aHJlc2hvbGQsXG4gICAgICAgICAgcm93LndlaWdodCxcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGluYWN0aXZlIOuptCBJTlNFUlQg65OgIFVQREFURSDrk6Ag7ZKA7JeQIOuEo+yngCDslYrripTri6QuXG4gICAgICAgIHRoaXMuZGlzcGF0Y2hlci5hbnRocm9waWNEaXNwYXRjaGVyPy5vblRva2VuUmVtb3ZlZChwYXlsb2FkLmlkKTtcbiAgICAgIH1cbiAgICB9XG4gICAgbG9nZ2VyLmluZm8oYE5PVElGWSAke3BheWxvYWQub3B9IGlkPSR7cGF5bG9hZC5pZH0gKCR7cm93Lm5hbWV9KSBhY3RpdmU9JHtyb3cuYWN0aXZlfWApO1xuICB9XG5cbiAgYXN5bmMgcmVjb25jaWxlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmVucXVldWVPcGVyYXRpb24oKCkgPT4gdGhpcy5yZWNvbmNpbGVOb3coKSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHJlY29uY2lsZU5vdygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCByb3dzID0gYXdhaXQgVG9rZW5Nb2RlbC5maW5kQWN0aXZlKFwiQVwiKTtcbiAgICB0aGlzLmRpc3BhdGNoZXIucmVwbGFjZUNhY2hlKHJvd3MpO1xuICAgIC8vIE5PVElGWSDsnKDsi6Qg64yA67mEOiBBbnRocm9waWNEaXNwYXRjaGVyIO2SgOuPhCBEQiBhY3RpdmUgYW50aHJvcGljIO2GoO2BsCDquLDspIDsnLzroZwg7J6s64+Z6riw7ZmULlxuICAgIC8vIChyb3dzIOuKlCBhY3RpdmUg66eMIOKAlCBpbmFjdGl2ZS/sgq3soJzrkJwg7Yag7YGw7J2AIOyXrOq4sCDsl4bsnLzrr4DroZwgcmVwbGFjZVRva2VucyDqsIAg7ZKA7JeQ7IScIOygnOqxsO2VnOuLpC4pXG4gICAgY29uc3QgYW50aHJvcGljUm93cyA9IHJvd3NcbiAgICAgIC5maWx0ZXIoKHIpID0+IHIucHJvdmlkZXIgPT09IFwiYW50aHJvcGljXCIpXG4gICAgICAubWFwKChyKSA9PiAoe1xuICAgICAgICBpZDogci5pZCxcbiAgICAgICAgbmFtZTogci5uYW1lLFxuICAgICAgICBjcmVkZW50aWFsczogci5jcmVkZW50aWFscyBhcyBBbnRocm9waWNDcmVkZW50aWFscyxcbiAgICAgICAgcXVvdGFUaHJlc2hvbGQ6IHIucXVvdGFfdGhyZXNob2xkLFxuICAgICAgICB3ZWlnaHQ6IHIud2VpZ2h0LFxuICAgICAgfSkpO1xuICAgIHRoaXMuZGlzcGF0Y2hlci5hbnRocm9waWNEaXNwYXRjaGVyPy5yZXBsYWNlVG9rZW5zKGFudGhyb3BpY1Jvd3MpO1xuICAgIGNvbnN0IG9wZW5haVJvd3MgPSByb3dzXG4gICAgICAuZmlsdGVyKChyKSA9PiByLnByb3ZpZGVyID09PSBcIm9wZW5haVwiKVxuICAgICAgLm1hcCgocikgPT4gKHtcbiAgICAgICAgaWQ6IHIuaWQsXG4gICAgICAgIG5hbWU6IHIubmFtZSxcbiAgICAgICAgY3JlZGVudGlhbHM6IHIuY3JlZGVudGlhbHMgYXMgT3BlbkFJQ3JlZGVudGlhbHMsXG4gICAgICAgIHF1b3RhVGhyZXNob2xkOiByLnF1b3RhX3RocmVzaG9sZCxcbiAgICAgICAgd2VpZ2h0OiByLndlaWdodCxcbiAgICAgIH0pKTtcbiAgICBhd2FpdCB0aGlzLmRpc3BhdGNoZXIub3BlbmFpRGlzcGF0Y2hlclxuICAgICAgPy5yZXBsYWNlVG9rZW5zKG9wZW5haVJvd3MpXG4gICAgICAuY2F0Y2goKGUpID0+IGxvZ2dlci53YXJuKGBvcGVuYWkgcmVjb25jaWxlIGZhaWxlZDogJHsoZSBhcyBFcnJvcikubWVzc2FnZX1gKSk7XG4gICAgdGhpcy5sYXN0UmVjb25jaWxlQXQgPSBuZXcgRGF0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbnF1ZXVlT3BlcmF0aW9uKG9wZXJhdGlvbjogKCkgPT4gUHJvbWlzZTx2b2lkPik6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IG5leHQgPSB0aGlzLm9wZXJhdGlvbkNoYWluLnRoZW4ob3BlcmF0aW9uLCBvcGVyYXRpb24pO1xuICAgIHRoaXMub3BlcmF0aW9uQ2hhaW4gPSBuZXh0LmNhdGNoKCgpID0+IHt9KTtcbiAgICByZXR1cm4gbmV4dDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7OztBQVNBLE1BQU0sU0FBUyxVQUFVLENBQUMsU0FBUyxZQUFZLENBQUM7QUFFaEQsTUFBTSxpQkFBaUI7QUFDdkIsTUFBTSx3QkFBd0IsTUFBVTtBQUN4QyxNQUFNLHdCQUF3QjtBQUM5QixNQUFNLGtCQUFrQjtBQUN4QixNQUFNLGlCQUFpQjtBQUl2QixJQUFhLGtCQUFiLE1BQTZCO0NBV2xCO0NBQ0E7Q0FYVCxTQUF3QjtDQUN4QixpQkFBd0M7Q0FDeEMsaUJBQXdDO0NBQ3hDLG9CQUFvQjtDQUNwQixVQUFVO0NBQ1YsY0FBMkI7Q0FDM0Isa0JBQStCO0NBQy9CLGlCQUF3QyxRQUFRLFFBQVE7Q0FFeEQsWUFDRSxZQUNBLFlBQ0E7RUFGTyxLQUFBLGFBQUE7RUFDQSxLQUFBLGFBQUE7Q0FDTjtDQUVILE1BQU0sUUFBMEI7RUFDOUIsS0FBSyxvQkFBb0I7RUFDekIsS0FBSyxxQkFBcUI7RUFFMUIsSUFBSTtHQUNGLE1BQU0sS0FBSyxvQkFBb0I7R0FDL0IsT0FBTztFQUNULFNBQVMsR0FBRztHQUNWLE9BQU8sS0FBSyw0QkFBNkIsRUFBWSxRQUFRLG1CQUFtQjtHQUNoRixLQUFLLFdBQVc7R0FDaEIsT0FBTztFQUNUO0NBQ0Y7Q0FFQSxNQUFNLE9BQXNCO0VBQzFCLEtBQUssb0JBQW9CO0VBQ3pCLElBQUksS0FBSyxnQkFBZ0I7R0FDdkIsY0FBYyxLQUFLLGNBQWM7R0FD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
195
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4tc3Vic2NyaWJlci5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwbGljYXRpb24vcWdyaWQvdG9rZW4tc3Vic2NyaWJlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogdG9rZW5zX2NoYW5nZWQgTElTVEVOIHN1YnNjcmliZXIuICovXG5pbXBvcnQgeyBnZXRMb2dnZXIgfSBmcm9tIFwiQGxvZ3RhcGUvbG9ndGFwZVwiO1xuaW1wb3J0IHsgQ2xpZW50LCB0eXBlIENsaWVudENvbmZpZyB9IGZyb20gXCJwZ1wiO1xuXG5pbXBvcnQgeyBUb2tlbk1vZGVsIH0gZnJvbSBcIi4uL3Rva2VuL3Rva2VuLm1vZGVsXCI7XG5pbXBvcnQgeyB0eXBlIEFudGhyb3BpY0NyZWRlbnRpYWxzLCB0eXBlIE9wZW5BSUNyZWRlbnRpYWxzIH0gZnJvbSBcIi4uL3Rva2VuL3Rva2VuLnR5cGVzXCI7XG5pbXBvcnQgeyB0eXBlIFFncmlkRGlzcGF0Y2hlckNsYXNzIH0gZnJvbSBcIi4vcWdyaWQuZGlzcGF0Y2hlclwiO1xuaW1wb3J0IHsgdHlwZSBTdWJzY3JpYmVyU3RhdHVzIH0gZnJvbSBcIi4vcWdyaWQudHlwZXNcIjtcblxuY29uc3QgbG9nZ2VyID0gZ2V0TG9nZ2VyKFtcInFncmlkXCIsIFwic3Vic2NyaWJlclwiXSk7XG5cbmNvbnN0IFRPS0VOU19DSEFOR0VEID0gXCJ0b2tlbnNfY2hhbmdlZFwiO1xuY29uc3QgUkVDT05DSUxFX0lOVEVSVkFMX01TID0gMTAgKiA2MCAqIDEwMDA7XG5jb25zdCBDT05ORUNUSU9OX1RJTUVPVVRfTVMgPSA1XzAwMDtcbmNvbnN0IEJBQ0tPRkZfQkFTRV9NUyA9IDUwMDtcbmNvbnN0IEJBQ0tPRkZfQ0FQX01TID0gMzBfMDAwO1xuXG50eXBlIFBheWxvYWQgPSB7IG9wOiBcIklOU0VSVFwiIHwgXCJVUERBVEVcIiB8IFwiREVMRVRFXCI7IGlkOiBudW1iZXIgfTtcblxuZXhwb3J0IGNsYXNzIFRva2VuU3Vic2NyaWJlciB7XG4gIGNsaWVudDogQ2xpZW50IHwgbnVsbCA9IG51bGw7XG4gIHJlY29uY2lsZVRpbWVyOiBOb2RlSlMuVGltZW91dCB8IG51bGwgPSBudWxsO1xuICByZWNvbm5lY3RUaW1lcjogTm9kZUpTLlRpbWVvdXQgfCBudWxsID0gbnVsbDtcbiAgc2h1dGRvd25SZXF1ZXN0ZWQgPSBmYWxzZTtcbiAgYXR0ZW1wdCA9IDA7XG4gIGNvbm5lY3RlZEF0OiBEYXRlIHwgbnVsbCA9IG51bGw7XG4gIGxhc3RSZWNvbmNpbGVBdDogRGF0ZSB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIG9wZXJhdGlvbkNoYWluOiBQcm9taXNlPHZvaWQ+ID0gUHJvbWlzZS5yZXNvbHZlKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGNvbm5Db25maWc6IENsaWVudENvbmZpZyxcbiAgICBwdWJsaWMgZGlzcGF0Y2hlcjogUWdyaWREaXNwYXRjaGVyQ2xhc3MsXG4gICkge31cblxuICBhc3luYyBzdGFydCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICB0aGlzLnNodXRkb3duUmVxdWVzdGVkID0gZmFsc2U7XG4gICAgdGhpcy5lbnN1cmVSZWNvbmNpbGVUaW1lcigpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuY29ubmVjdEFuZFJlY29uY2lsZSgpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgbG9nZ2VyLndhcm4oYHN1YnNjcmliZXIgc3RhcnQgZmFpbGVkOiAkeyhlIGFzIEVycm9yKS5tZXNzYWdlfSwgc2NoZWR1bGluZyByZXRyeWApO1xuICAgICAgdGhpcy5yZXRyeUxhdGVyKCk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc3RvcCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLnNodXRkb3duUmVxdWVzdGVkID0gdHJ1ZTtcbiAgICBpZiAodGhpcy5yZWNvbmNpbGVUaW1lcikge1xuICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLnJlY29uY2lsZVRpbWVyKTtcbiAgICAgIHRoaXMucmVjb25jaWxlVGltZXIgPSBudWxsO1xuICAgIH1cbiAgICBpZiAodGhpcy5yZWNvbm5lY3RUaW1lcikge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMucmVjb25uZWN0VGltZXIpO1xuICAgICAgdGhpcy5yZWNvbm5lY3RUaW1lciA9IG51bGw7XG4gICAgfVxuICAgIGF3YWl0IHRoaXMuY2xvc2VDbGllbnQoKTtcbiAgfVxuXG4gIHN0YXR1cygpOiBTdWJzY3JpYmVyU3RhdHVzIHtcbiAgICByZXR1cm4ge1xuICAgICAgY29ubmVjdGVkOiB0aGlzLmNsaWVudCAhPT0gbnVsbCAmJiB0aGlzLnJlY29ubmVjdFRpbWVyID09PSBudWxsLFxuICAgICAgY29ubmVjdGVkQXQ6IHRoaXMuY29ubmVjdGVkQXQsXG4gICAgICBsYXN0UmVjb25jaWxlQXQ6IHRoaXMubGFzdFJlY29uY2lsZUF0LFxuICAgICAgYXR0ZW1wdDogdGhpcy5hdHRlbXB0LFxuICAgIH07XG4gIH1cblxuICBlbnN1cmVSZWNvbmNpbGVUaW1lcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yZWNvbmNpbGVUaW1lcikgcmV0dXJuO1xuXG4gICAgLy8gTElTVEVOL05PVElGWSDripQg64GK6ri0IOuPmeyViCDsnKDsi6TrkKAg7IiYIOyeiOyWtCDso7zquLDsoIHsnLzroZwgREIg6riw7KSA7Jy866GcIOunnuy2mOuLpC5cbiAgICB0aGlzLnJlY29uY2lsZVRpbWVyID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgdGhpcy5yZWNvbmNpbGUoKS5jYXRjaCgoZSkgPT5cbiAgICAgICAgbG9nZ2VyLndhcm4oYHBlcmlvZGljIHJlY29uY2lsZSBmYWlsZWQ6ICR7KGUgYXMgRXJyb3IpLm1lc3NhZ2V9YCksXG4gICAgICApO1xuICAgIH0sIFJFQ09OQ0lMRV9JTlRFUlZBTF9NUyk7XG4gIH1cblxuICBhc3luYyBjb25uZWN0QW5kUmVjb25jaWxlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuY29ubmVjdEFuZExpc3RlbigpO1xuICAgIGF3YWl0IHRoaXMucmVjb25jaWxlKCk7XG4gICAgdGhpcy5hdHRlbXB0ID0gMDtcbiAgfVxuXG4gIGFzeW5jIGNvbm5lY3RBbmRMaXN0ZW4oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IENsaWVudCh7XG4gICAgICAuLi50aGlzLmNvbm5Db25maWcsXG4gICAgICBjb25uZWN0aW9uVGltZW91dE1pbGxpczogQ09OTkVDVElPTl9USU1FT1VUX01TLFxuICAgICAga2VlcEFsaXZlOiB0cnVlLFxuICAgICAga2VlcEFsaXZlSW5pdGlhbERlbGF5TWlsbGlzOiAxMF8wMDAsXG4gICAgICBhcHBsaWNhdGlvbl9uYW1lOiBcInFncmlkLWxpc3RlbmVyXCIsXG4gICAgfSk7XG5cbiAgICBjbGllbnQub24oXCJlcnJvclwiLCAoZSkgPT4ge1xuICAgICAgbG9nZ2VyLndhcm4oYHN1YnNjcmliZXIgZXJyb3I6ICR7ZS5tZXNzYWdlfWApO1xuICAgICAgdGhpcy5yZXRyeUxhdGVyKCk7XG4gICAgfSk7XG4gICAgY2xpZW50Lm9uKFwiZW5kXCIsICgpID0+IHtcbiAgICAgIGlmICghdGhpcy5zaHV0ZG93blJlcXVlc3RlZCkgdGhpcy5yZXRyeUxhdGVyKCk7XG4gICAgfSk7XG4gICAgY2xpZW50Lm9uKFwibm90aWZpY2F0aW9uXCIsIChtc2cpID0+IHtcbiAgICAgIGlmIChtc2cuY2hhbm5lbCAhPT0gVE9LRU5TX0NIQU5HRUQgfHwgIW1zZy5wYXlsb2FkKSByZXR1cm47XG4gICAgICB0aGlzLmhhbmRsZU5vdGlmaWNhdGlvbihtc2cucGF5bG9hZCkuY2F0Y2goKGUpID0+XG4gICAgICAgIGxvZ2dlci53YXJuKGBoYW5kbGUgTk9USUZZIGZhaWxlZDogJHsoZSBhcyBFcnJvcikubWVzc2FnZX1gKSxcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgY2xpZW50LmNvbm5lY3QoKTtcbiAgICAgIGF3YWl0IGNsaWVudC5xdWVyeShcIlNFVCBzdGF0ZW1lbnRfdGltZW91dCA9IDBcIik7XG4gICAgICBhd2FpdCBjbGllbnQucXVlcnkoXCJTRVQgaWRsZV9pbl90cmFuc2FjdGlvbl9zZXNzaW9uX3RpbWVvdXQgPSAwXCIpO1xuICAgICAgYXdhaXQgY2xpZW50LnF1ZXJ5KGBMSVNURU4gJHtjbGllbnQuZXNjYXBlSWRlbnRpZmllcihUT0tFTlNfQ0hBTkdFRCl9YCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY2xpZW50LnJlbW92ZUFsbExpc3RlbmVycygpO1xuICAgICAgYXdhaXQgY2xpZW50LmVuZCgpLmNhdGNoKCgpID0+IHt9KTtcbiAgICAgIHRocm93IGU7XG4gICAgfVxuXG4gICAgdGhpcy5jbGllbnQgPSBjbGllbnQ7XG4gICAgdGhpcy5jb25uZWN0ZWRBdCA9IG5ldyBEYXRlKCk7XG4gICAgbG9nZ2VyLmluZm8oYHN1YnNjcmliZWQgdG8gJHtUT0tFTlNfQ0hBTkdFRH1gKTtcbiAgfVxuXG4gIHJldHJ5TGF0ZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2h1dGRvd25SZXF1ZXN0ZWQpIHJldHVybjtcbiAgICBpZiAodGhpcy5yZWNvbm5lY3RUaW1lcikgcmV0dXJuO1xuXG4gICAgdm9pZCB0aGlzLmNsb3NlQ2xpZW50KCk7XG4gICAgdGhpcy5hdHRlbXB0ICs9IDE7XG4gICAgY29uc3QgY2FwID0gTWF0aC5taW4oQkFDS09GRl9CQVNFX01TICogMiAqKiB0aGlzLmF0dGVtcHQsIEJBQ0tPRkZfQ0FQX01TKTtcbiAgICBjb25zdCBkZWxheSA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGNhcCk7XG4gICAgbG9nZ2VyLmluZm8oYHJlY29ubmVjdGluZyBpbiAke2RlbGF5fW1zIChhdHRlbXB0ICR7dGhpcy5hdHRlbXB0fSlgKTtcbiAgICB0aGlzLnJlY29ubmVjdFRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnJlY29ubmVjdFRpbWVyID0gbnVsbDtcbiAgICAgIHRoaXMuY29ubmVjdEFuZFJlY29uY2lsZSgpLmNhdGNoKChlKSA9PiB7XG4gICAgICAgIGxvZ2dlci53YXJuKGBzdWJzY3JpYmVyIHJlY29ubmVjdCBmYWlsZWQ6ICR7KGUgYXMgRXJyb3IpLm1lc3NhZ2V9YCk7XG4gICAgICAgIHRoaXMucmV0cnlMYXRlcigpO1xuICAgICAgfSk7XG4gICAgfSwgZGVsYXkpO1xuICB9XG5cbiAgYXN5bmMgY2xvc2VDbGllbnQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY2xpZW50ID0gdGhpcy5jbGllbnQ7XG4gICAgaWYgKCFjbGllbnQpIHJldHVybjtcblxuICAgIHRoaXMuY2xpZW50ID0gbnVsbDtcbiAgICBjbGllbnQucmVtb3ZlQWxsTGlzdGVuZXJzKCk7XG4gICAgYXdhaXQgY2xpZW50LmVuZCgpLmNhdGNoKCgpID0+IHt9KTtcbiAgfVxuXG4gIGFzeW5jIGhhbmRsZU5vdGlmaWNhdGlvbihwYXlsb2FkSnNvbjogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuZW5xdWV1ZU9wZXJhdGlvbigoKSA9PiB0aGlzLmhhbmRsZU5vdGlmaWNhdGlvbk5vdyhwYXlsb2FkSnNvbikpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBoYW5kbGVOb3RpZmljYXRpb25Ob3cocGF5bG9hZEpzb246IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHBheWxvYWQgPSBKU09OLnBhcnNlKHBheWxvYWRKc29uKSBhcyBQYXlsb2FkO1xuICAgIGlmIChwYXlsb2FkLm9wID09PSBcIkRFTEVURVwiKSB7XG4gICAgICB0aGlzLmRpc3BhdGNoZXIucmVtb3ZlQ2FjaGUocGF5bG9hZC5pZCk7XG4gICAgICBhd2FpdCB0aGlzLmRpc3BhdGNoZXIub3BlbmFpRGlzcGF0Y2hlclxuICAgICAgICA/Lm9uVG9rZW5SZW1vdmVkKHBheWxvYWQuaWQpXG4gICAgICAgIC5jYXRjaCgoZSkgPT4gbG9nZ2VyLndhcm4oYG9wZW5haSB0b2tlbiByZW1vdmUgZmFpbGVkOiAkeyhlIGFzIEVycm9yKS5tZXNzYWdlfWApKTtcbiAgICAgIC8vIGFudGhyb3BpYyDthqDtgbAg7J2067Kk7Yq464qUIOuPmeq4sCh2b2lkKSDigJQgcHJvdmlkZXIg66W8IOuqqOultOuvgOuhnCDrrLTtlbTtlZjqsowg7ZWt7IOBIOygnOqxsCDsi5zrj4QuXG4gICAgICB0aGlzLmRpc3BhdGNoZXIuYW50aHJvcGljRGlzcGF0Y2hlcj8ub25Ub2tlblJlbW92ZWQocGF5bG9hZC5pZCk7XG4gICAgICBsb2dnZXIuaW5mbyhgTk9USUZZICR7cGF5bG9hZC5vcH0gaWQ9JHtwYXlsb2FkLmlkfSDihpIgcmVtb3ZlZCBmcm9tIGNhY2hlYCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHJvdyA9IGF3YWl0IFRva2VuTW9kZWwuZmluZE9uZShcIkFcIiwgeyBpZDogcGF5bG9hZC5pZCB9KTtcbiAgICBpZiAoIXJvdykge1xuICAgICAgdGhpcy5kaXNwYXRjaGVyLnJlbW92ZUNhY2hlKHBheWxvYWQuaWQpO1xuICAgICAgYXdhaXQgdGhpcy5kaXNwYXRjaGVyLm9wZW5haURpc3BhdGNoZXJcbiAgICAgICAgPy5vblRva2VuUmVtb3ZlZChwYXlsb2FkLmlkKVxuICAgICAgICAuY2F0Y2goKGUpID0+IGxvZ2dlci53YXJuKGBvcGVuYWkgdG9rZW4gcmVtb3ZlIGZhaWxlZDogJHsoZSBhcyBFcnJvcikubWVzc2FnZX1gKSk7XG4gICAgICB0aGlzLmRpc3BhdGNoZXIuYW50aHJvcGljRGlzcGF0Y2hlcj8ub25Ub2tlblJlbW92ZWQocGF5bG9hZC5pZCk7XG4gICAgICBsb2dnZXIuaW5mbyhgTk9USUZZICR7cGF5bG9hZC5vcH0gaWQ9JHtwYXlsb2FkLmlkfSDihpIgbWlzc2luZywgcmVtb3ZlZCBmcm9tIGNhY2hlYCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5kaXNwYXRjaGVyLnVwc2VydENhY2hlKHBheWxvYWQuaWQsIHJvdyk7XG5cbiAgICBpZiAocm93LnByb3ZpZGVyID09PSBcIm9wZW5haVwiKSB7XG4gICAgICBjb25zdCBjcmVkcyA9IHJvdy5jcmVkZW50aWFscyBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgICAgIGNvbnN0IG9wZW5haURpc3BhdGNoZXIgPSB0aGlzLmRpc3BhdGNoZXIub3BlbmFpRGlzcGF0Y2hlcjtcbiAgICAgIGlmIChwYXlsb2FkLm9wID09PSBcIklOU0VSVFwiICYmIHJvdy5hY3RpdmUpIHtcbiAgICAgICAgYXdhaXQgb3BlbmFpRGlzcGF0Y2hlclxuICAgICAgICAgID8ub25Ub2tlbkFkZGVkKFxuICAgICAgICAgICAgcGF5bG9hZC5pZCxcbiAgICAgICAgICAgIHJvdy5uYW1lLFxuICAgICAgICAgICAgY3JlZHMgYXMgT3BlbkFJQ3JlZGVudGlhbHMsXG4gICAgICAgICAgICByb3cucXVvdGFfdGhyZXNob2xkLFxuICAgICAgICAgICAgcm93LndlaWdodCxcbiAgICAgICAgICApXG4gICAgICAgICAgLmNhdGNoKChlKSA9PiBsb2dnZXIud2Fybihgb3BlbmFpIHRva2VuIGFkZCBmYWlsZWQ6ICR7KGUgYXMgRXJyb3IpLm1lc3NhZ2V9YCkpO1xuICAgICAgfSBlbHNlIGlmIChyb3cuYWN0aXZlKSB7XG4gICAgICAgIGlmIChvcGVuYWlEaXNwYXRjaGVyKSB7XG4gICAgICAgICAgYXdhaXQgb3BlbmFpRGlzcGF0Y2hlclxuICAgICAgICAgICAgLm9uVG9rZW5VcGRhdGVkKFxuICAgICAgICAgICAgICBwYXlsb2FkLmlkLFxuICAgICAgICAgICAgICByb3cubmFtZSxcbiAgICAgICAgICAgICAgY3JlZHMgYXMgT3BlbkFJQ3JlZGVudGlhbHMsXG4gICAgICAgICAgICAgIHJvdy5xdW90YV90aHJlc2hvbGQsXG4gICAgICAgICAgICAgIHJvdy53ZWlnaHQsXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAudGhlbigoKSA9PiBvcGVuYWlEaXNwYXRjaGVyLm9uVG9rZW5BY3RpdmF0ZWQocGF5bG9hZC5pZCkpXG4gICAgICAgICAgICAuY2F0Y2goKGUpID0+IGxvZ2dlci53YXJuKGBvcGVuYWkgdG9rZW4gdXBkYXRlIGZhaWxlZDogJHsoZSBhcyBFcnJvcikubWVzc2FnZX1gKSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9wZW5haURpc3BhdGNoZXI/Lm9uVG9rZW5EZWFjdGl2YXRlZChwYXlsb2FkLmlkKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHJvdy5wcm92aWRlciA9PT0gXCJhbnRocm9waWNcIikge1xuICAgICAgLy8gYW50aHJvcGljIO2GoO2BsCDsnbTrsqTtirjripQg64+Z6riwKHZvaWQpLiB3b3JrZXIg6rCAIOyXhuqzoCDtkoAoTWFwKeunjCDqtIDrpqztlZjrr4DroZwg64uo7IicOlxuICAgICAgLy8gIElOU0VSVCDihpIg7LaU6rCALCBhY3RpdmUg66m0IOqwseyLoChvblRva2VuVXBkYXRlZCDqsIAgaWRlbnRpdHkg67OA6rK964+EIOyymOumrCksIGluYWN0aXZlIOuptCDtkoDsl5DshJwg7KCc6rGwLlxuICAgICAgLy8gICjrs4Trj4QgYWN0aXZhdGUvZGVhY3RpdmF0ZSDsvZzrsLHsnbQg7JeG7Ja0IGFjdGl2ZSDthqDquIDsnYQgYWRkL3JlbW92ZSDroZwg66ek7ZWRLilcbiAgICAgIGNvbnN0IGNyZWRzID0gcm93LmNyZWRlbnRpYWxzIGFzIEFudGhyb3BpY0NyZWRlbnRpYWxzO1xuICAgICAgaWYgKHBheWxvYWQub3AgPT09IFwiSU5TRVJUXCIgJiYgcm93LmFjdGl2ZSkge1xuICAgICAgICB0aGlzLmRpc3BhdGNoZXIuYW50aHJvcGljRGlzcGF0Y2hlcj8ub25Ub2tlbkFkZGVkKFxuICAgICAgICAgIHBheWxvYWQuaWQsXG4gICAgICAgICAgcm93Lm5hbWUsXG4gICAgICAgICAgY3JlZHMsXG4gICAgICAgICAgcm93LnF1b3RhX3RocmVzaG9sZCxcbiAgICAgICAgICByb3cud2VpZ2h0LFxuICAgICAgICApO1xuICAgICAgfSBlbHNlIGlmIChyb3cuYWN0aXZlKSB7XG4gICAgICAgIHRoaXMuZGlzcGF0Y2hlci5hbnRocm9waWNEaXNwYXRjaGVyPy5vblRva2VuVXBkYXRlZChcbiAgICAgICAgICBwYXlsb2FkLmlkLFxuICAgICAgICAgIHJvdy5uYW1lLFxuICAgICAgICAgIGNyZWRzLFxuICAgICAgICAgIHJvdy5xdW90YV90aHJlc2hvbGQsXG4gICAgICAgICAgcm93LndlaWdodCxcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGluYWN0aXZlIOuptCBJTlNFUlQg65OgIFVQREFURSDrk6Ag7ZKA7JeQIOuEo+yngCDslYrripTri6QuXG4gICAgICAgIHRoaXMuZGlzcGF0Y2hlci5hbnRocm9waWNEaXNwYXRjaGVyPy5vblRva2VuUmVtb3ZlZChwYXlsb2FkLmlkKTtcbiAgICAgIH1cbiAgICB9XG4gICAgbG9nZ2VyLmluZm8oYE5PVElGWSAke3BheWxvYWQub3B9IGlkPSR7cGF5bG9hZC5pZH0gKCR7cm93Lm5hbWV9KSBhY3RpdmU9JHtyb3cuYWN0aXZlfWApO1xuICB9XG5cbiAgYXN5bmMgcmVjb25jaWxlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmVucXVldWVPcGVyYXRpb24oKCkgPT4gdGhpcy5yZWNvbmNpbGVOb3coKSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHJlY29uY2lsZU5vdygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCByb3dzID0gYXdhaXQgVG9rZW5Nb2RlbC5maW5kQWN0aXZlKFwiQVwiKTtcbiAgICB0aGlzLmRpc3BhdGNoZXIucmVwbGFjZUNhY2hlKHJvd3MpO1xuICAgIC8vIE5PVElGWSDsnKDsi6Qg64yA67mEOiBBbnRocm9waWNEaXNwYXRjaGVyIO2SgOuPhCBEQiBhY3RpdmUgYW50aHJvcGljIO2GoO2BsCDquLDspIDsnLzroZwg7J6s64+Z6riw7ZmULlxuICAgIC8vIChyb3dzIOuKlCBhY3RpdmUg66eMIOKAlCBpbmFjdGl2ZS/sgq3soJzrkJwg7Yag7YGw7J2AIOyXrOq4sCDsl4bsnLzrr4DroZwgcmVwbGFjZVRva2VucyDqsIAg7ZKA7JeQ7IScIOygnOqxsO2VnOuLpC4pXG4gICAgY29uc3QgYW50aHJvcGljUm93cyA9IHJvd3NcbiAgICAgIC5maWx0ZXIoKHIpID0+IHIucHJvdmlkZXIgPT09IFwiYW50aHJvcGljXCIpXG4gICAgICAubWFwKChyKSA9PiAoe1xuICAgICAgICBpZDogci5pZCxcbiAgICAgICAgbmFtZTogci5uYW1lLFxuICAgICAgICBjcmVkZW50aWFsczogci5jcmVkZW50aWFscyBhcyBBbnRocm9waWNDcmVkZW50aWFscyxcbiAgICAgICAgcXVvdGFUaHJlc2hvbGQ6IHIucXVvdGFfdGhyZXNob2xkLFxuICAgICAgICB3ZWlnaHQ6IHIud2VpZ2h0LFxuICAgICAgfSkpO1xuICAgIHRoaXMuZGlzcGF0Y2hlci5hbnRocm9waWNEaXNwYXRjaGVyPy5yZXBsYWNlVG9rZW5zKGFudGhyb3BpY1Jvd3MpO1xuICAgIGNvbnN0IG9wZW5haVJvd3MgPSByb3dzXG4gICAgICAuZmlsdGVyKChyKSA9PiByLnByb3ZpZGVyID09PSBcIm9wZW5haVwiKVxuICAgICAgLm1hcCgocikgPT4gKHtcbiAgICAgICAgaWQ6IHIuaWQsXG4gICAgICAgIG5hbWU6IHIubmFtZSxcbiAgICAgICAgY3JlZGVudGlhbHM6IHIuY3JlZGVudGlhbHMgYXMgT3BlbkFJQ3JlZGVudGlhbHMsXG4gICAgICAgIHF1b3RhVGhyZXNob2xkOiByLnF1b3RhX3RocmVzaG9sZCxcbiAgICAgICAgd2VpZ2h0OiByLndlaWdodCxcbiAgICAgIH0pKTtcbiAgICBhd2FpdCB0aGlzLmRpc3BhdGNoZXIub3BlbmFpRGlzcGF0Y2hlclxuICAgICAgPy5yZXBsYWNlVG9rZW5zKG9wZW5haVJvd3MpXG4gICAgICAuY2F0Y2goKGUpID0+IGxvZ2dlci53YXJuKGBvcGVuYWkgcmVjb25jaWxlIGZhaWxlZDogJHsoZSBhcyBFcnJvcikubWVzc2FnZX1gKSk7XG4gICAgdGhpcy5sYXN0UmVjb25jaWxlQXQgPSBuZXcgRGF0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbnF1ZXVlT3BlcmF0aW9uKG9wZXJhdGlvbjogKCkgPT4gUHJvbWlzZTx2b2lkPik6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IG5leHQgPSB0aGlzLm9wZXJhdGlvbkNoYWluLnRoZW4ob3BlcmF0aW9uLCBvcGVyYXRpb24pO1xuICAgIHRoaXMub3BlcmF0aW9uQ2hhaW4gPSBuZXh0LmNhdGNoKCgpID0+IHt9KTtcbiAgICByZXR1cm4gbmV4dDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7OztBQVNBLE1BQU0sU0FBUyxVQUFVLENBQUMsU0FBUyxZQUFZLENBQUM7QUFFaEQsTUFBTSxpQkFBaUI7QUFDdkIsTUFBTSx3QkFBd0IsTUFBVTtBQUN4QyxNQUFNLHdCQUF3QjtBQUM5QixNQUFNLGtCQUFrQjtBQUN4QixNQUFNLGlCQUFpQjtBQUl2QixJQUFhLGtCQUFiLE1BQTZCO0NBV2xCO0NBQ0E7Q0FYVCxTQUF3QjtDQUN4QixpQkFBd0M7Q0FDeEMsaUJBQXdDO0NBQ3hDLG9CQUFvQjtDQUNwQixVQUFVO0NBQ1YsY0FBMkI7Q0FDM0Isa0JBQStCO0NBQy9CLGlCQUF3QyxRQUFRLFFBQVE7Q0FFeEQsWUFDRSxZQUNBLFlBQ0E7RUFGTyxLQUFBLGFBQUE7RUFDQSxLQUFBLGFBQUE7Q0FDTjtDQUVILE1BQU0sUUFBMEI7RUFDOUIsS0FBSyxvQkFBb0I7RUFDekIsS0FBSyxxQkFBcUI7RUFFMUIsSUFBSTtHQUNGLE1BQU0sS0FBSyxvQkFBb0I7R0FDL0IsT0FBTztFQUNULFNBQVMsR0FBRztHQUNWLE9BQU8sS0FBSyw0QkFBNkIsRUFBWSxRQUFRLG1CQUFtQjtHQUNoRixLQUFLLFdBQVc7R0FDaEIsT0FBTztFQUNUO0NBQ0Y7Q0FFQSxNQUFNLE9BQXNCO0VBQzFCLEtBQUssb0JBQW9CO0VBQ3pCLElBQUksS0FBSyxnQkFBZ0I7R0FDdkIsY0FBYyxLQUFLLGNBQWM7R0FDakMsS0FB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
@@ -1,5 +1,17 @@
1
1
  import { SCHEMA_ARRAY_KEYWORDS, SCHEMA_MAP_KEYWORDS, SCHEMA_SINGLE_KEYWORDS, UNSUPPORTED_REFERENCE_KEYWORDS } from "../../utils/providers/common/json-schema-keywords.js";
2
2
  //#region src/application/qgrid/tool-emulation-schema.ts
3
+ /**
4
+ * tool envelope + 사용자 output 스키마 합성 (요청 방향). 응답 해석은 tool-emulation.ts.
5
+ *
6
+ * tools 가 있어도 최종 answer 가 사용자 스키마로 강제되게 하려고 envelope 의 answer 브랜치에
7
+ * 사용자 스키마를 심는다. 통째로 중첩할 수 없는 이유는 `$ref` 가 문서 절대 경로이기 때문 —
8
+ * `#` 은 "이 조각의 루트"가 아니라 "최종 문서의 루트"라, 그대로 넣으면 포인터가 envelope 을
9
+ * 가리켜 조용히 엉뚱한 걸 검증하게 된다. 그래서 예약 이름 아래로 옮기고 로컬 포인터를 재작성한다.
10
+ *
11
+ * 배경·실측·예시·거부 목록은 스킬 문서를 볼 것:
12
+ * packages/cli/skills/qgrid/references/tool-calling-and-multiturn.md
13
+ * → "Composing Tools With A User Output Schema"
14
+ */
3
15
  const USER_OUTPUT_DEFINITION = "__qgrid_user_output";
4
16
  const USER_OUTPUT_REF = `#/$defs/${USER_OUTPUT_DEFINITION}`;
5
17
  var ToolSchemaCompositionError = class extends Error {
@@ -110,4 +122,4 @@ function isJsonObject(value) {
110
122
  //#endregion
111
123
  export { ToolSchemaCompositionError, buildToolCallSchema };
112
124
 
113
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbC1lbXVsYXRpb24tc2NoZW1hLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHBsaWNhdGlvbi9xZ3JpZC90b29sLWVtdWxhdGlvbi1zY2hlbWEudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiB0b29sIGVudmVsb3BlICsg7IKs7Jqp7J6QIG91dHB1dCDsiqTtgqTrp4gg7ZWp7ISxICjsmpTssq0g67Cp7ZalKS4g7J2R64u1IO2VtOyEneydgCB0b29sLWVtdWxhdGlvbi50cy5cbiAqXG4gKiB0b29scyDqsIAg7J6I7Ja064+EIOy1nOyihSBhbnN3ZXIg6rCAIOyCrOyaqeyekCDsiqTtgqTrp4jroZwg6rCV7KCc65CY6rKMIO2VmOugpOqzoCBlbnZlbG9wZSDsnZggYW5zd2VyIOu4jOuenOy5mOyXkFxuICog7IKs7Jqp7J6QIOyKpO2CpOuniOulvCDsi6zripTri6QuIO2GteynuOuhnCDspJHssqntlaAg7IiYIOyXhuuKlCDsnbTsnKDripQgYCRyZWZgIOqwgCDrrLjshJwg7KCI64yAIOqyveuhnOydtOq4sCDrlYzrrLgg4oCUXG4gKiBgI2Ag7J2AIFwi7J20IOyhsOqwgeydmCDro6jtirhcIuqwgCDslYTri4jrnbwgXCLstZzsooUg66y47ISc7J2YIOujqO2KuFwi6528LCDqt7jrjIDroZwg64Sj7Jy866m0IO2PrOyduO2EsOqwgCBlbnZlbG9wZSDsnYRcbiAqIOqwgOumrOy8nCDsobDsmqntnogg7JeJ65qx7ZWcIOqxuCDqsoDspp3tlZjqsowg65Cc64ukLiDqt7jrnpjshJwg7JiI7JW9IOydtOumhCDslYTrnpjroZwg7Jiu6riw6rOgIOuhnOy7rCDtj6zsnbjthLDrpbwg7J6s7J6R7ISx7ZWc64ukLlxuICpcbiAqIOuwsOqyvcK37Iuk7LihwrfsmIjsi5zCt+qxsOu2gCDrqqnroZ3snYAg7Iqk7YKsIOusuOyEnOulvCDrs7wg6rKDOlxuICogICBwYWNrYWdlcy9jbGkvc2tpbGxzL3FncmlkL3JlZmVyZW5jZXMvdG9vbC1jYWxsaW5nLWFuZC1tdWx0aXR1cm4ubWRcbiAqICAg4oaSIFwiQ29tcG9zaW5nIFRvb2xzIFdpdGggQSBVc2VyIE91dHB1dCBTY2hlbWFcIlxuICovXG5cbmltcG9ydCB7IHR5cGUgSnNvblZhbHVlIH0gZnJvbSBcIi4uLy4uL2NvZGV4LXByb3RvY29sL3NlcmRlX2pzb24vSnNvblZhbHVlXCI7XG5pbXBvcnQge1xuICBTQ0hFTUFfQVJSQVlfS0VZV09SRFMsXG4gIFNDSEVNQV9ERVBFTkRFTkNJRVNfS0VZV09SRCxcbiAgU0NIRU1BX01BUF9LRVlXT1JEUyxcbiAgU0NIRU1BX1NJTkdMRV9LRVlXT1JEUyxcbiAgVU5TVVBQT1JURURfUkVGRVJFTkNFX0tFWVdPUkRTLFxufSBmcm9tIFwiLi4vLi4vdXRpbHMvcHJvdmlkZXJzL2NvbW1vbi9qc29uLXNjaGVtYS1rZXl3b3Jkc1wiO1xuaW1wb3J0IHsgdHlwZSBRZ3JpZFRvb2wgfSBmcm9tIFwiLi9xZ3JpZC50eXBlc1wiO1xuXG5jb25zdCBVU0VSX09VVFBVVF9ERUZJTklUSU9OID0gXCJfX3FncmlkX3VzZXJfb3V0cHV0XCI7XG5jb25zdCBVU0VSX09VVFBVVF9SRUYgPSBgIy8kZGVmcy8ke1VTRVJfT1VUUFVUX0RFRklOSVRJT059YDtcblxuZXhwb3J0IGNsYXNzIFRvb2xTY2hlbWFDb21wb3NpdGlvbkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihcbiAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgcHVibGljIHBhdGg6IHN0cmluZyxcbiAgKSB7XG4gICAgc3VwZXIoYHRvb2wgc2NoZW1hIGNvbXBvc2l0aW9uOiAke21lc3NhZ2V9IChhdCAke3BhdGh9KWApO1xuICAgIHRoaXMubmFtZSA9IFwiVG9vbFNjaGVtYUNvbXBvc2l0aW9uRXJyb3JcIjtcbiAgfVxufVxuXG4vLyBlbnZlbG9wZSDripQgcmVzdWx0IO2VnCDqsrkg7JWE656Y7JeQIGRpc2NyaW1pbmF0ZWQgdW5pb24g7J2EIOuRlOuLpC4g65GQIOuzgO2YleydhCDrrLjrspUg7IiY7KSA7JeQ7IScXG4vLyDsg4HtmLjrsLDtg4DroZwg66eM65Ok7Ja0KGFuc3dlciDrs4DtmJXsnYAgYW5zd2VyIOu5hG51bGwg7ZWE7IiYLCB0b29sX2NhbGwg67OA7ZiV7J2AIHRvb2xDYWxscyAx6rCcIOydtOyDgSlcbi8vIGBhY3Rpb246XCJhbnN3ZXJcIiwgYW5zd2VyOm51bGxgIOqwmeydgCDth7TtmZQg7KGw7ZWp7J2EIOybkOyynCDssKjri6jtlZzri6Qg4oCUIO2Pie2Pie2VnCDsiqTtgqTrp4gg7Iuc7KCIXG4vLyDsnbQg7KGw7ZWp7J20IGNvbnN0cmFpbmVkIGRlY29kaW5nIOydhCDthrXqs7ztlbQgMTMuNWsg6rG07J2YIOyYpOyXvCDsnZHri7XsnYQg66eM65OgIOyLpOyCrOqzoOqwgCDqt7zqsbAuXG4vLyB1bmlvbiDsnYQgcmVzdWx0IHByb3BlcnR5IOyViOyXkCDspJHssqntlZjripQg7J207JygOiBPcGVuQUkgc3RydWN0dXJlZCBvdXRwdXRzIOuKlCDro6jtirjqsIBcbi8vIG9iamVjdCDsl6zslbwg7ZWY6rOgIHRvcC1sZXZlbCBhbnlPZiDrpbwg6rGw67aA7ZWc64ukLiDspJHssqkgYW55T2Yg7JmAIG1pbkl0ZW1zIOuKlCDsp4Dsm5DrkJzri6QuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRUb29sQ2FsbFNjaGVtYSh0b29sczogUWdyaWRUb29sW10sIGFuc3dlclNjaGVtYT86IEpzb25WYWx1ZSk6IEpzb25WYWx1ZSB7XG4gIGNvbnN0IHRvb2xEZXNjcmlwdGlvbnMgPSB0b29sc1xuICAgIC5tYXAoKHRvb2wpID0+IHtcbiAgICAgIGNvbnN0IHNjaGVtYSA9IEpTT04uc3RyaW5naWZ5KHRvb2wuaW5wdXRTY2hlbWEpO1xuICAgICAgcmV0dXJuIGAtICR7dG9vbC5uYW1lfTogJHt0b29sLmRlc2NyaXB0aW9uID8/IFwiXCJ9XFxuICBpbnB1dFNjaGVtYTogJHtzY2hlbWF9YDtcbiAgICB9KVxuICAgIC5qb2luKFwiXFxuXCIpO1xuXG4gIGNvbnN0IG5vcm1hbGl6ZWRBbnN3ZXJTY2hlbWEgPVxuICAgIGFuc3dlclNjaGVtYSA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogcmViYXNlVXNlck91dHB1dFNjaGVtYShhbnN3ZXJTY2hlbWEpO1xuXG4gIHJldHVybiB7XG4gICAgdHlwZTogXCJvYmplY3RcIixcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiVXNlIHRoaXMgc2NoZW1hIG9ubHkgdGhyb3VnaCBTdHJ1Y3R1cmVkT3V0cHV0LiBEbyBub3QgaW52b2tlIGxpc3RlZCBjbGllbnQgdG9vbHMgYXMgbmF0aXZlIENsYXVkZSBDb2RlIHRvb2xzLiBUbyByZXF1ZXN0IGNsaWVudC1zaWRlIHRvb2wgZXhlY3V0aW9uLCBzZXQgcmVzdWx0LmFjdGlvbiB0byB0b29sX2NhbGwgYW5kIGluY2x1ZGUgcmVzdWx0LnRvb2xDYWxscy4gVXNlIGFjdGlvbiBhbnN3ZXIgb25seSB3aGVuIG5vIGZ1cnRoZXIgY2xpZW50IHRvb2wgcmVzdWx0IGlzIG5lZWRlZC5cIixcbiAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICByZXN1bHQ6IHtcbiAgICAgICAgYW55T2Y6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiBcIm9iamVjdFwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiRmluYWwgYW5zd2VyLiBVc2Ugb25seSB3aGVuIG5vIGZ1cnRoZXIgY2xpZW50IHRvb2wgcmVzdWx0IGlzIG5lZWRlZC5cIixcbiAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgYWN0aW9uOiB7IHR5cGU6IFwic3RyaW5nXCIsIGVudW06IFtcImFuc3dlclwiXSB9LFxuICAgICAgICAgICAgICBhbnN3ZXI6XG4gICAgICAgICAgICAgICAgbm9ybWFsaXplZEFuc3dlclNjaGVtYSA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICA/IHsgdHlwZTogXCJzdHJpbmdcIiB9XG4gICAgICAgICAgICAgICAgICA6IHsgJHJlZjogVVNFUl9PVVRQVVRfUkVGIH0sXG4gICAgICAgICAgICAgIHRvb2xDYWxsczogeyB0eXBlOiBcIm51bGxcIiB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJlcXVpcmVkOiBbXCJhY3Rpb25cIiwgXCJhbnN3ZXJcIiwgXCJ0b29sQ2FsbHNcIl0sXG4gICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiBcIm9iamVjdFwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAgIFwiUmVxdWVzdCBjbGllbnQtc2lkZSB0b29sIGV4ZWN1dGlvbiB0aHJvdWdoIHRoaXMgc3RydWN0dXJlZCBvdXRwdXQuIERvIG5vdCBjYWxsIHRoZXNlIHRvb2xzIGFzIG5hdGl2ZSBDbGF1ZGUgQ29kZSB0b29scy5cIixcbiAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgYWN0aW9uOiB7IHR5cGU6IFwic3RyaW5nXCIsIGVudW06IFtcInRvb2xfY2FsbFwiXSB9LFxuICAgICAgICAgICAgICBhbnN3ZXI6IHsgdHlwZTogXCJudWxsXCIgfSxcbiAgICAgICAgICAgICAgdG9vbENhbGxzOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogXCJhcnJheVwiLFxuICAgICAgICAgICAgICAgIG1pbkl0ZW1zOiAxLFxuICAgICAgICAgICAgICAgIGl0ZW1zOiB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiBcIm9iamVjdFwiLFxuICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgICAgICAgICB0b29sTmFtZToge1xuICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICAgICAgICAgICAgZW51bTogdG9vbHMubWFwKCh0b29sKSA9PiB0b29sLm5hbWUpLFxuICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBgQ2xpZW50LXNpZGUgdG9vbCBuYW1lIHRvIHJlcXVlc3QgdGhyb3VnaCBzdHJ1Y3R1cmVkIG91dHB1dC4gRG8gbm90IGNhbGwgdGhpcyBhcyBhIG5hdGl2ZSBDbGF1ZGUgQ29kZSB0b29sLlxcbiR7dG9vbERlc2NyaXB0aW9uc31gLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBhcmdzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJUb29sIGFyZ3VtZW50cyBhcyBhIEpTT04gc3RyaW5nIGZvciB0aGUgY2xpZW50LXNpZGUgdG9vbC5cIixcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZDogW1widG9vbE5hbWVcIiwgXCJhcmdzXCJdLFxuICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVxdWlyZWQ6IFtcImFjdGlvblwiLCBcImFuc3dlclwiLCBcInRvb2xDYWxsc1wiXSxcbiAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHJlcXVpcmVkOiBbXCJyZXN1bHRcIl0sXG4gICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgIC4uLihub3JtYWxpemVkQW5zd2VyU2NoZW1hID09PSB1bmRlZmluZWRcbiAgICAgID8ge31cbiAgICAgIDoge1xuICAgICAgICAgICRkZWZzOiB7XG4gICAgICAgICAgICBbVVNFUl9PVVRQVVRfREVGSU5JVElPTl06IG5vcm1hbGl6ZWRBbnN3ZXJTY2hlbWEsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gIH07XG59XG5cbmZ1bmN0aW9uIHJlYmFzZVVzZXJPdXRwdXRTY2hlbWEoc2NoZW1hOiBKc29uVmFsdWUpOiBKc29uVmFsdWUge1xuICByZXR1cm4gcmV3cml0ZVNjaGVtYU5vZGUoc2NoZW1hLCBcIiRcIik7XG59XG5cbmNvbnN0IE1BUF9LRVlXT1JEUyA9IG5ldyBTZXQ8c3RyaW5nPihTQ0hFTUFfTUFQX0tFWVdPUkRTKTtcbmNvbnN0IEFSUkFZX0tFWVdPUkRTID0gbmV3IFNldDxzdHJpbmc+KFNDSEVNQV9BUlJBWV9LRVlXT1JEUyk7XG5jb25zdCBTSU5HTEVfS0VZV09SRFMgPSBuZXcgU2V0PHN0cmluZz4oU0NIRU1BX1NJTkdMRV9LRVlXT1JEUyk7XG5cbmZ1bmN0aW9uIHJld3JpdGVTY2hlbWFOb2RlKHZhbHVlOiBKc29uVmFsdWUsIHBhdGg6IHN0cmluZyk6IEpzb25WYWx1ZSB7XG4gIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB0eXBlb2YgdmFsdWUgIT09IFwib2JqZWN0XCIgfHwgQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHJldHVybiB2YWx1ZTtcblxuICBjb25zdCBzb3VyY2UgPSB2YWx1ZSBhcyBSZWNvcmQ8c3RyaW5nLCBKc29uVmFsdWU+O1xuICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIEpzb25WYWx1ZT4gPSB7IC4uLnNvdXJjZSB9O1xuXG4gIGZvciAoY29uc3QgdW5zdXBwb3J0ZWRLZXl3b3JkIG9mIFVOU1VQUE9SVEVEX1JFRkVSRU5DRV9LRVlXT1JEUykge1xuICAgIGlmIChPYmplY3QuaGFzT3duKHNvdXJjZSwgdW5zdXBwb3J0ZWRLZXl3b3JkKSkge1xuICAgICAgdGhyb3cgbmV3IFRvb2xTY2hlbWFDb21wb3NpdGlvbkVycm9yKFxuICAgICAgICBgJHt1bnN1cHBvcnRlZEtleXdvcmR9IGlzIG5vdCBzdXBwb3J0ZWRgLFxuICAgICAgICBgJHtwYXRofS4ke3Vuc3VwcG9ydGVkS2V5d29yZH1gLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBpZiAoXCIkcmVmXCIgaW4gc291cmNlKSB7XG4gICAgY29uc3QgcmVmID0gc291cmNlLiRyZWY7XG4gICAgaWYgKHR5cGVvZiByZWYgIT09IFwic3RyaW5nXCIgfHwgKHJlZiAhPT0gXCIjXCIgJiYgIXJlZi5zdGFydHNXaXRoKFwiIy9cIikpKSB7XG4gICAgICB0aHJvdyBuZXcgVG9vbFNjaGVtYUNvbXBvc2l0aW9uRXJyb3IoXG4gICAgICAgIFwib25seSByb290LXJlbGF0aXZlIEpTT04gUG9pbnRlciAkcmVmIHZhbHVlcyBhcmUgc3VwcG9ydGVkXCIsXG4gICAgICAgIGAke3BhdGh9LiRyZWZgLFxuICAgICAgKTtcbiAgICB9XG4gICAgcmVzdWx0LiRyZWYgPSBgJHtVU0VSX09VVFBVVF9SRUZ9JHtyZWYuc2xpY2UoMSl9YDtcbiAgfVxuXG4gIGZvciAoY29uc3QgW2tleXdvcmQsIGNoaWxkXSBvZiBPYmplY3QuZW50cmllcyhzb3VyY2UpKSB7XG4gICAgY29uc3Qga2V5d29yZFBhdGggPSBgJHtwYXRofS4ke2tleXdvcmR9YDtcblxuICAgIGlmIChNQVBfS0VZV09SRFMuaGFzKGtleXdvcmQpICYmIGlzSnNvbk9iamVjdChjaGlsZCkpIHtcbiAgICAgIHJlc3VsdFtrZXl3b3JkXSA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgICAgT2JqZWN0LmVudHJpZXMoY2hpbGQpLm1hcCgoW25hbWUsIHNjaGVtYV0pID0+IFtcbiAgICAgICAgICBuYW1lLFxuICAgICAgICAgIHJld3JpdGVTY2hlbWFOb2RlKHNjaGVtYSwgYCR7a2V5d29yZFBhdGh9LiR7bmFtZX1gKSxcbiAgICAgICAgXSksXG4gICAgICApIGFzIEpzb25WYWx1ZTtcbiAgICB9IGVsc2UgaWYgKGtleXdvcmQgPT09IFNDSEVNQV9ERVBFTkRFTkNJRVNfS0VZV09SRCAmJiBpc0pzb25PYmplY3QoY2hpbGQpKSB7XG4gICAgICByZXN1bHRba2V5d29yZF0gPSBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICAgIE9iamVjdC5lbnRyaWVzKGNoaWxkKS5tYXAoKFtuYW1lLCBkZXBlbmRlbmN5XSkgPT4gW1xuICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgQXJyYXkuaXNBcnJheShkZXBlbmRlbmN5KVxuICAgICAgICAgICAgPyBkZXBlbmRlbmN5XG4gICAgICAgICAgICA6IHJld3JpdGVTY2hlbWFOb2RlKGRlcGVuZGVuY3ksIGAke2tleXdvcmRQYXRofS4ke25hbWV9YCksXG4gICAgICAgIF0pLFxuICAgICAgKSBhcyBKc29uVmFsdWU7XG4gICAgfSBlbHNlIGlmIChBUlJBWV9LRVlXT1JEUy5oYXMoa2V5d29yZCkgJiYgQXJyYXkuaXNBcnJheShjaGlsZCkpIHtcbiAgICAgIHJlc3VsdFtrZXl3b3JkXSA9IGNoaWxkLm1hcCgoc2NoZW1hLCBpbmRleCkgPT5cbiAgICAgICAgcmV3cml0ZVNjaGVtYU5vZGUoc2NoZW1hLCBgJHtrZXl3b3JkUGF0aH1bJHtpbmRleH1dYCksXG4gICAgICApIGFzIEpzb25WYWx1ZTtcbiAgICB9IGVsc2UgaWYgKFNJTkdMRV9LRVlXT1JEUy5oYXMoa2V5d29yZCkpIHtcbiAgICAgIGlmIChrZXl3b3JkID09PSBcIml0ZW1zXCIgJiYgQXJyYXkuaXNBcnJheShjaGlsZCkpIHtcbiAgICAgICAgcmVzdWx0W2tleXdvcmRdID0gY2hpbGQubWFwKChzY2hlbWEsIGluZGV4KSA9PlxuICAgICAgICAgIHJld3JpdGVTY2hlbWFOb2RlKHNjaGVtYSwgYCR7a2V5d29yZFBhdGh9WyR7aW5kZXh9XWApLFxuICAgICAgICApIGFzIEpzb25WYWx1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3VsdFtrZXl3b3JkXSA9IHJld3JpdGVTY2hlbWFOb2RlKGNoaWxkLCBrZXl3b3JkUGF0aCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlc3VsdCBhcyBKc29uVmFsdWU7XG59XG5cbmZ1bmN0aW9uIGlzSnNvbk9iamVjdCh2YWx1ZTogSnNvblZhbHVlKTogdmFsdWUgaXMgUmVjb3JkPHN0cmluZywgSnNvblZhbHVlPiB7XG4gIHJldHVybiB2YWx1ZSAhPT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUgPT09IFwib2JqZWN0XCIgJiYgIUFycmF5LmlzQXJyYXkodmFsdWUpO1xufVxuIl0sIm1hcHBpbmdzIjoiOztBQXVCQSxNQUFNLHlCQUF5QjtBQUMvQixNQUFNLGtCQUFrQixXQUFXO0FBRW5DLElBQWEsNkJBQWIsY0FBZ0QsTUFBTTtDQUczQztDQUZULFlBQ0UsU0FDQSxNQUNBO0VBQ0EsTUFBTSw0QkFBNEIsUUFBUSxPQUFPLEtBQUssRUFBRTtFQUZqRCxLQUFBLE9BQUE7RUFHUCxLQUFLLE9BQU87Q0FDZDtBQUNGO0FBUUEsU0FBZ0Isb0JBQW9CLE9BQW9CLGNBQXFDO0NBQzNGLE1BQU0sbUJBQW1CLE1BQ3RCLEtBQUssU0FBUztFQUNiLE1BQU0sU0FBUyxLQUFLLFVBQVUsS0FBSyxXQUFXO0VBQzlDLE9BQU8sS0FBSyxLQUFLLEtBQUssSUFBSSxLQUFLLGVBQWUsR0FBRyxtQkFBbUI7Q0FDdEUsQ0FBQyxDQUFDLENBQ0QsS0FBSyxJQUFJO0NBRVosTUFBTSx5QkFDSixpQkFBaUIsU0FBWSxTQUFZLHVCQUF1QixZQUFZO0NBRTlFLE9BQU87RUFDTCxNQUFNO0VBQ04sYUFDRTtFQUNGLFlBQVksRUFDVixRQUFRLEVBQ04sT0FBTyxDQUNMO0dBQ0UsTUFBTTtHQUNOLGFBQWE7R0FDYixZQUFZO0lBQ1YsUUFBUTtLQUFFLE1BQU07S0FBVSxNQUFNLENBQUMsUUFBUTtJQUFFO0lBQzNDLFFBQ0UsMkJBQTJCLFNBQ3ZCLEVBQUUsTUFBTSxTQUFTLElBQ2pCLEVBQUUsTUFBTSxnQkFBZ0I7SUFDOUIsV0FBVyxFQUFFLE1BQU0sT0FBTztHQUM1QjtHQUNBLFVBQVU7SUFBQztJQUFVO0lBQVU7R0FBVztHQUMxQyxzQkFBc0I7RUFDeEIsR0FDQTtHQUNFLE1BQU07R0FDTixhQUNFO0dBQ0YsWUFBWTtJQUNWLFFBQVE7S0FBRSxNQUFNO0tBQVUsTUFBTSxDQUFDLFdBQVc7SUFBRTtJQUM5QyxRQUFRLEVBQUUs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
125
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbC1lbXVsYXRpb24tc2NoZW1hLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHBsaWNhdGlvbi9xZ3JpZC90b29sLWVtdWxhdGlvbi1zY2hlbWEudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiB0b29sIGVudmVsb3BlICsg7IKs7Jqp7J6QIG91dHB1dCDsiqTtgqTrp4gg7ZWp7ISxICjsmpTssq0g67Cp7ZalKS4g7J2R64u1IO2VtOyEneydgCB0b29sLWVtdWxhdGlvbi50cy5cbiAqXG4gKiB0b29scyDqsIAg7J6I7Ja064+EIOy1nOyihSBhbnN3ZXIg6rCAIOyCrOyaqeyekCDsiqTtgqTrp4jroZwg6rCV7KCc65CY6rKMIO2VmOugpOqzoCBlbnZlbG9wZSDsnZggYW5zd2VyIOu4jOuenOy5mOyXkFxuICog7IKs7Jqp7J6QIOyKpO2CpOuniOulvCDsi6zripTri6QuIO2GteynuOuhnCDspJHssqntlaAg7IiYIOyXhuuKlCDsnbTsnKDripQgYCRyZWZgIOqwgCDrrLjshJwg7KCI64yAIOqyveuhnOydtOq4sCDrlYzrrLgg4oCUXG4gKiBgI2Ag7J2AIFwi7J20IOyhsOqwgeydmCDro6jtirhcIuqwgCDslYTri4jrnbwgXCLstZzsooUg66y47ISc7J2YIOujqO2KuFwi6528LCDqt7jrjIDroZwg64Sj7Jy866m0IO2PrOyduO2EsOqwgCBlbnZlbG9wZSDsnYRcbiAqIOqwgOumrOy8nCDsobDsmqntnogg7JeJ65qx7ZWcIOqxuCDqsoDspp3tlZjqsowg65Cc64ukLiDqt7jrnpjshJwg7JiI7JW9IOydtOumhCDslYTrnpjroZwg7Jiu6riw6rOgIOuhnOy7rCDtj6zsnbjthLDrpbwg7J6s7J6R7ISx7ZWc64ukLlxuICpcbiAqIOuwsOqyvcK37Iuk7LihwrfsmIjsi5zCt+qxsOu2gCDrqqnroZ3snYAg7Iqk7YKsIOusuOyEnOulvCDrs7wg6rKDOlxuICogICBwYWNrYWdlcy9jbGkvc2tpbGxzL3FncmlkL3JlZmVyZW5jZXMvdG9vbC1jYWxsaW5nLWFuZC1tdWx0aXR1cm4ubWRcbiAqICAg4oaSIFwiQ29tcG9zaW5nIFRvb2xzIFdpdGggQSBVc2VyIE91dHB1dCBTY2hlbWFcIlxuICovXG5cbmltcG9ydCB7XG4gIFNDSEVNQV9BUlJBWV9LRVlXT1JEUyxcbiAgU0NIRU1BX0RFUEVOREVOQ0lFU19LRVlXT1JELFxuICBTQ0hFTUFfTUFQX0tFWVdPUkRTLFxuICBTQ0hFTUFfU0lOR0xFX0tFWVdPUkRTLFxuICBVTlNVUFBPUlRFRF9SRUZFUkVOQ0VfS0VZV09SRFMsXG59IGZyb20gXCIuLi8uLi91dGlscy9wcm92aWRlcnMvY29tbW9uL2pzb24tc2NoZW1hLWtleXdvcmRzXCI7XG5pbXBvcnQgeyB0eXBlIEpzb25WYWx1ZSB9IGZyb20gXCIuLi8uLi91dGlscy9wcm92aWRlcnMvY29tbW9uL3Byb3ZpZGVyLXR5cGVzXCI7XG5pbXBvcnQgeyB0eXBlIFFncmlkVG9vbCB9IGZyb20gXCIuL3FncmlkLnR5cGVzXCI7XG5cbmNvbnN0IFVTRVJfT1VUUFVUX0RFRklOSVRJT04gPSBcIl9fcWdyaWRfdXNlcl9vdXRwdXRcIjtcbmNvbnN0IFVTRVJfT1VUUFVUX1JFRiA9IGAjLyRkZWZzLyR7VVNFUl9PVVRQVVRfREVGSU5JVElPTn1gO1xuXG5leHBvcnQgY2xhc3MgVG9vbFNjaGVtYUNvbXBvc2l0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICBwdWJsaWMgcGF0aDogc3RyaW5nLFxuICApIHtcbiAgICBzdXBlcihgdG9vbCBzY2hlbWEgY29tcG9zaXRpb246ICR7bWVzc2FnZX0gKGF0ICR7cGF0aH0pYCk7XG4gICAgdGhpcy5uYW1lID0gXCJUb29sU2NoZW1hQ29tcG9zaXRpb25FcnJvclwiO1xuICB9XG59XG5cbi8vIGVudmVsb3BlIOuKlCByZXN1bHQg7ZWcIOqyuSDslYTrnpjsl5AgZGlzY3JpbWluYXRlZCB1bmlvbiDsnYQg65GU64ukLiDrkZAg67OA7ZiV7J2EIOusuOuylSDsiJjspIDsl5DshJxcbi8vIOyDge2YuOuwsO2DgOuhnCDrp4zrk6TslrQoYW5zd2VyIOuzgO2YleydgCBhbnN3ZXIg67mEbnVsbCDtlYTsiJgsIHRvb2xfY2FsbCDrs4DtmJXsnYAgdG9vbENhbGxzIDHqsJwg7J207IOBKVxuLy8gYGFjdGlvbjpcImFuc3dlclwiLCBhbnN3ZXI6bnVsbGAg6rCZ7J2AIO2HtO2ZlCDsobDtlansnYQg7JuQ7LKcIOywqOuLqO2VnOuLpCDigJQg7Y+J7Y+J7ZWcIOyKpO2CpOuniCDsi5zsoIhcbi8vIOydtCDsobDtlansnbQgY29uc3RyYWluZWQgZGVjb2Rpbmcg7J2EIO2GteqzvO2VtCAxMy41ayDqsbTsnZgg7Jik7Je8IOydkeuLteydhCDrp4zrk6Ag7Iuk7IKs6rOg6rCAIOq3vOqxsC5cbi8vIHVuaW9uIOydhCByZXN1bHQgcHJvcGVydHkg7JWI7JeQIOykkeyyqe2VmOuKlCDsnbTsnKA6IE9wZW5BSSBzdHJ1Y3R1cmVkIG91dHB1dHMg64qUIOujqO2KuOqwgFxuLy8gb2JqZWN0IOyXrOyVvCDtlZjqs6AgdG9wLWxldmVsIGFueU9mIOulvCDqsbDrtoDtlZzri6QuIOykkeyyqSBhbnlPZiDsmYAgbWluSXRlbXMg64qUIOyngOybkOuQnOuLpC5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFRvb2xDYWxsU2NoZW1hKHRvb2xzOiBRZ3JpZFRvb2xbXSwgYW5zd2VyU2NoZW1hPzogSnNvblZhbHVlKTogSnNvblZhbHVlIHtcbiAgY29uc3QgdG9vbERlc2NyaXB0aW9ucyA9IHRvb2xzXG4gICAgLm1hcCgodG9vbCkgPT4ge1xuICAgICAgY29uc3Qgc2NoZW1hID0gSlNPTi5zdHJpbmdpZnkodG9vbC5pbnB1dFNjaGVtYSk7XG4gICAgICByZXR1cm4gYC0gJHt0b29sLm5hbWV9OiAke3Rvb2wuZGVzY3JpcHRpb24gPz8gXCJcIn1cXG4gIGlucHV0U2NoZW1hOiAke3NjaGVtYX1gO1xuICAgIH0pXG4gICAgLmpvaW4oXCJcXG5cIik7XG5cbiAgY29uc3Qgbm9ybWFsaXplZEFuc3dlclNjaGVtYSA9XG4gICAgYW5zd2VyU2NoZW1hID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiByZWJhc2VVc2VyT3V0cHV0U2NoZW1hKGFuc3dlclNjaGVtYSk7XG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBcIm9iamVjdFwiLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJVc2UgdGhpcyBzY2hlbWEgb25seSB0aHJvdWdoIFN0cnVjdHVyZWRPdXRwdXQuIERvIG5vdCBpbnZva2UgbGlzdGVkIGNsaWVudCB0b29scyBhcyBuYXRpdmUgQ2xhdWRlIENvZGUgdG9vbHMuIFRvIHJlcXVlc3QgY2xpZW50LXNpZGUgdG9vbCBleGVjdXRpb24sIHNldCByZXN1bHQuYWN0aW9uIHRvIHRvb2xfY2FsbCBhbmQgaW5jbHVkZSByZXN1bHQudG9vbENhbGxzLiBVc2UgYWN0aW9uIGFuc3dlciBvbmx5IHdoZW4gbm8gZnVydGhlciBjbGllbnQgdG9vbCByZXN1bHQgaXMgbmVlZGVkLlwiLFxuICAgIHByb3BlcnRpZXM6IHtcbiAgICAgIHJlc3VsdDoge1xuICAgICAgICBhbnlPZjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHR5cGU6IFwib2JqZWN0XCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJGaW5hbCBhbnN3ZXIuIFVzZSBvbmx5IHdoZW4gbm8gZnVydGhlciBjbGllbnQgdG9vbCByZXN1bHQgaXMgbmVlZGVkLlwiLFxuICAgICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgICBhY3Rpb246IHsgdHlwZTogXCJzdHJpbmdcIiwgZW51bTogW1wiYW5zd2VyXCJdIH0sXG4gICAgICAgICAgICAgIGFuc3dlcjpcbiAgICAgICAgICAgICAgICBub3JtYWxpemVkQW5zd2VyU2NoZW1hID09PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgID8geyB0eXBlOiBcInN0cmluZ1wiIH1cbiAgICAgICAgICAgICAgICAgIDogeyAkcmVmOiBVU0VSX09VVFBVVF9SRUYgfSxcbiAgICAgICAgICAgICAgdG9vbENhbGxzOiB7IHR5cGU6IFwibnVsbFwiIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVxdWlyZWQ6IFtcImFjdGlvblwiLCBcImFuc3dlclwiLCBcInRvb2xDYWxsc1wiXSxcbiAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHR5cGU6IFwib2JqZWN0XCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICAgXCJSZXF1ZXN0IGNsaWVudC1zaWRlIHRvb2wgZXhlY3V0aW9uIHRocm91Z2ggdGhpcyBzdHJ1Y3R1cmVkIG91dHB1dC4gRG8gbm90IGNhbGwgdGhlc2UgdG9vbHMgYXMgbmF0aXZlIENsYXVkZSBDb2RlIHRvb2xzLlwiLFxuICAgICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgICBhY3Rpb246IHsgdHlwZTogXCJzdHJpbmdcIiwgZW51bTogW1widG9vbF9jYWxsXCJdIH0sXG4gICAgICAgICAgICAgIGFuc3dlcjogeyB0eXBlOiBcIm51bGxcIiB9LFxuICAgICAgICAgICAgICB0b29sQ2FsbHM6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiBcImFycmF5XCIsXG4gICAgICAgICAgICAgICAgbWluSXRlbXM6IDEsXG4gICAgICAgICAgICAgICAgaXRlbXM6IHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6IFwib2JqZWN0XCIsXG4gICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgICAgICAgIHRvb2xOYW1lOiB7XG4gICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgICAgICAgICAgICAgICBlbnVtOiB0b29scy5tYXAoKHRvb2wpID0+IHRvb2wubmFtZSksXG4gICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGBDbGllbnQtc2lkZSB0b29sIG5hbWUgdG8gcmVxdWVzdCB0aHJvdWdoIHN0cnVjdHVyZWQgb3V0cHV0LiBEbyBub3QgY2FsbCB0aGlzIGFzIGEgbmF0aXZlIENsYXVkZSBDb2RlIHRvb2wuXFxuJHt0b29sRGVzY3JpcHRpb25zfWAsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIGFyZ3M6IHtcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlRvb2wgYXJndW1lbnRzIGFzIGEgSlNPTiBzdHJpbmcgZm9yIHRoZSBjbGllbnQtc2lkZSB0b29sLlwiLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiBbXCJ0b29sTmFtZVwiLCBcImFyZ3NcIl0sXG4gICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZXF1aXJlZDogW1wiYWN0aW9uXCIsIFwiYW5zd2VyXCIsIFwidG9vbENhbGxzXCJdLFxuICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0sXG4gICAgcmVxdWlyZWQ6IFtcInJlc3VsdFwiXSxcbiAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgLi4uKG5vcm1hbGl6ZWRBbnN3ZXJTY2hlbWEgPT09IHVuZGVmaW5lZFxuICAgICAgPyB7fVxuICAgICAgOiB7XG4gICAgICAgICAgJGRlZnM6IHtcbiAgICAgICAgICAgIFtVU0VSX09VVFBVVF9ERUZJTklUSU9OXTogbm9ybWFsaXplZEFuc3dlclNjaGVtYSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gcmViYXNlVXNlck91dHB1dFNjaGVtYShzY2hlbWE6IEpzb25WYWx1ZSk6IEpzb25WYWx1ZSB7XG4gIHJldHVybiByZXdyaXRlU2NoZW1hTm9kZShzY2hlbWEsIFwiJFwiKTtcbn1cblxuY29uc3QgTUFQX0tFWVdPUkRTID0gbmV3IFNldDxzdHJpbmc+KFNDSEVNQV9NQVBfS0VZV09SRFMpO1xuY29uc3QgQVJSQVlfS0VZV09SRFMgPSBuZXcgU2V0PHN0cmluZz4oU0NIRU1BX0FSUkFZX0tFWVdPUkRTKTtcbmNvbnN0IFNJTkdMRV9LRVlXT1JEUyA9IG5ldyBTZXQ8c3RyaW5nPihTQ0hFTUFfU0lOR0xFX0tFWVdPUkRTKTtcblxuZnVuY3Rpb24gcmV3cml0ZVNjaGVtYU5vZGUodmFsdWU6IEpzb25WYWx1ZSwgcGF0aDogc3RyaW5nKTogSnNvblZhbHVlIHtcbiAgaWYgKHZhbHVlID09PSBudWxsIHx8IHR5cGVvZiB2YWx1ZSAhPT0gXCJvYmplY3RcIiB8fCBBcnJheS5pc0FycmF5KHZhbHVlKSkgcmV0dXJuIHZhbHVlO1xuXG4gIGNvbnN0IHNvdXJjZSA9IHZhbHVlIGFzIFJlY29yZDxzdHJpbmcsIEpzb25WYWx1ZT47XG4gIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgSnNvblZhbHVlPiA9IHsgLi4uc291cmNlIH07XG5cbiAgZm9yIChjb25zdCB1bnN1cHBvcnRlZEtleXdvcmQgb2YgVU5TVVBQT1JURURfUkVGRVJFTkNFX0tFWVdPUkRTKSB7XG4gICAgaWYgKE9iamVjdC5oYXNPd24oc291cmNlLCB1bnN1cHBvcnRlZEtleXdvcmQpKSB7XG4gICAgICB0aHJvdyBuZXcgVG9vbFNjaGVtYUNvbXBvc2l0aW9uRXJyb3IoXG4gICAgICAgIGAke3Vuc3VwcG9ydGVkS2V5d29yZH0gaXMgbm90IHN1cHBvcnRlZGAsXG4gICAgICAgIGAke3BhdGh9LiR7dW5zdXBwb3J0ZWRLZXl3b3JkfWAsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIGlmIChcIiRyZWZcIiBpbiBzb3VyY2UpIHtcbiAgICBjb25zdCByZWYgPSBzb3VyY2UuJHJlZjtcbiAgICBpZiAodHlwZW9mIHJlZiAhPT0gXCJzdHJpbmdcIiB8fCAocmVmICE9PSBcIiNcIiAmJiAhcmVmLnN0YXJ0c1dpdGgoXCIjL1wiKSkpIHtcbiAgICAgIHRocm93IG5ldyBUb29sU2NoZW1hQ29tcG9zaXRpb25FcnJvcihcbiAgICAgICAgXCJvbmx5IHJvb3QtcmVsYXRpdmUgSlNPTiBQb2ludGVyICRyZWYgdmFsdWVzIGFyZSBzdXBwb3J0ZWRcIixcbiAgICAgICAgYCR7cGF0aH0uJHJlZmAsXG4gICAgICApO1xuICAgIH1cbiAgICByZXN1bHQuJHJlZiA9IGAke1VTRVJfT1VUUFVUX1JFRn0ke3JlZi5zbGljZSgxKX1gO1xuICB9XG5cbiAgZm9yIChjb25zdCBba2V5d29yZCwgY2hpbGRdIG9mIE9iamVjdC5lbnRyaWVzKHNvdXJjZSkpIHtcbiAgICBjb25zdCBrZXl3b3JkUGF0aCA9IGAke3BhdGh9LiR7a2V5d29yZH1gO1xuXG4gICAgaWYgKE1BUF9LRVlXT1JEUy5oYXMoa2V5d29yZCkgJiYgaXNKc29uT2JqZWN0KGNoaWxkKSkge1xuICAgICAgcmVzdWx0W2tleXdvcmRdID0gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgICBPYmplY3QuZW50cmllcyhjaGlsZCkubWFwKChbbmFtZSwgc2NoZW1hXSkgPT4gW1xuICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgcmV3cml0ZVNjaGVtYU5vZGUoc2NoZW1hLCBgJHtrZXl3b3JkUGF0aH0uJHtuYW1lfWApLFxuICAgICAgICBdKSxcbiAgICAgICkgYXMgSnNvblZhbHVlO1xuICAgIH0gZWxzZSBpZiAoa2V5d29yZCA9PT0gU0NIRU1BX0RFUEVOREVOQ0lFU19LRVlXT1JEICYmIGlzSnNvbk9iamVjdChjaGlsZCkpIHtcbiAgICAgIHJlc3VsdFtrZXl3b3JkXSA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgICAgT2JqZWN0LmVudHJpZXMoY2hpbGQpLm1hcCgoW25hbWUsIGRlcGVuZGVuY3ldKSA9PiBbXG4gICAgICAgICAgbmFtZSxcbiAgICAgICAgICBBcnJheS5pc0FycmF5KGRlcGVuZGVuY3kpXG4gICAgICAgICAgICA/IGRlcGVuZGVuY3lcbiAgICAgICAgICAgIDogcmV3cml0ZVNjaGVtYU5vZGUoZGVwZW5kZW5jeSwgYCR7a2V5d29yZFBhdGh9LiR7bmFtZX1gKSxcbiAgICAgICAgXSksXG4gICAgICApIGFzIEpzb25WYWx1ZTtcbiAgICB9IGVsc2UgaWYgKEFSUkFZX0tFWVdPUkRTLmhhcyhrZXl3b3JkKSAmJiBBcnJheS5pc0FycmF5KGNoaWxkKSkge1xuICAgICAgcmVzdWx0W2tleXdvcmRdID0gY2hpbGQubWFwKChzY2hlbWEsIGluZGV4KSA9PlxuICAgICAgICByZXdyaXRlU2NoZW1hTm9kZShzY2hlbWEsIGAke2tleXdvcmRQYXRofVske2luZGV4fV1gKSxcbiAgICAgICkgYXMgSnNvblZhbHVlO1xuICAgIH0gZWxzZSBpZiAoU0lOR0xFX0tFWVdPUkRTLmhhcyhrZXl3b3JkKSkge1xuICAgICAgaWYgKGtleXdvcmQgPT09IFwiaXRlbXNcIiAmJiBBcnJheS5pc0FycmF5KGNoaWxkKSkge1xuICAgICAgICByZXN1bHRba2V5d29yZF0gPSBjaGlsZC5tYXAoKHNjaGVtYSwgaW5kZXgpID0+XG4gICAgICAgICAgcmV3cml0ZVNjaGVtYU5vZGUoc2NoZW1hLCBgJHtrZXl3b3JkUGF0aH1bJHtpbmRleH1dYCksXG4gICAgICAgICkgYXMgSnNvblZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzdWx0W2tleXdvcmRdID0gcmV3cml0ZVNjaGVtYU5vZGUoY2hpbGQsIGtleXdvcmRQYXRoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmVzdWx0IGFzIEpzb25WYWx1ZTtcbn1cblxuZnVuY3Rpb24gaXNKc29uT2JqZWN0KHZhbHVlOiBKc29uVmFsdWUpOiB2YWx1ZSBpcyBSZWNvcmQ8c3RyaW5nLCBKc29uVmFsdWU+IHtcbiAgcmV0dXJuIHZhbHVlICE9PSBudWxsICYmIHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIiAmJiAhQXJyYXkuaXNBcnJheSh2YWx1ZSk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBdUJBLE1BQU0seUJBQXlCO0FBQy9CLE1BQU0sa0JBQWtCLFdBQVc7QUFFbkMsSUFBYSw2QkFBYixjQUFnRCxNQUFNO0NBRzNDO0NBRlQsWUFDRSxTQUNBLE1BQ0E7RUFDQSxNQUFNLDRCQUE0QixRQUFRLE9BQU8sS0FBSyxFQUFFO0VBRmpELEtBQUEsT0FBQTtFQUdQLEtBQUssT0FBTztDQUNkO0FBQ0Y7QUFRQSxTQUFnQixvQkFBb0IsT0FBb0IsY0FBcUM7Q0FDM0YsTUFBTSxtQkFBbUIsTUFDdEIsS0FBSyxTQUFTO0VBQ2IsTUFBTSxTQUFTLEtBQUssVUFBVSxLQUFLLFdBQVc7RUFDOUMsT0FBTyxLQUFLLEtBQUssS0FBSyxJQUFJLEtBQUssZUFBZSxHQUFHLG1CQUFtQjtDQUN0RSxDQUFDLENBQUMsQ0FDRCxLQUFLLElBQUk7Q0FFWixNQUFNLHlCQUNKLGlCQUFpQixTQUFZLFNBQVksdUJBQXVCLFlBQVk7Q0FFOUUsT0FBTztFQUNMLE1BQU07RUFDTixhQUNFO0VBQ0YsWUFBWSxFQUNWLFFBQVEsRUFDTixPQUFPLENBQ0w7R0FDRSxNQUFNO0dBQ04sYUFBYTtHQUNiLFlBQVk7SUFDVixRQUFRO0tBQUUsTUFBTTtLQUFVLE1BQU0sQ0FBQyxRQUFRO0lBQUU7SUFDM0MsUUFDRSwyQkFBMkIsU0FDdkIsRUFBRSxNQUFNLFNBQVMsSUFDakIsRUFBRSxNQUFNLGdCQUFnQjtJQUM5QixXQUFXLEVBQUUsTUFBTSxPQUFPO0dBQzVCO0dBQ0EsVUFBVTtJQUFDO0lBQVU7SUFBVTtHQUFXO0dBQzFDLHNCQUFzQjtFQUN4QixHQUNBO0dBQ0UsTUFBTTtHQUNOLGFBQ0U7R0FDRixZQUFZO0lBQ1YsUUFBUTtLQUFFLE1BQU07S0FBVSxNQUFNLENBQUMsV0FBVztJQUFFO0lB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
@@ -1,6 +1,6 @@
1
- import { getLogger } from "@logtape/logtape";
2
1
  import { Buffer } from "node:buffer";
3
2
  import { z } from "zod";
3
+ import { getLogger } from "@logtape/logtape";
4
4
  //#region src/application/qgrid/tool-emulation.ts
5
5
  const STRUCTURED_ENVELOPE_LIMITS = {
6
6
  maxUtf8Bytes: 512 * 1024,
@@ -28,6 +28,7 @@ let RequestLogService;
28
28
  (function(_RequestLogService) {
29
29
  _RequestLogService.getRequestLog = (subset, id) => createSSRQuery("RequestLogModel", "findById", [subset, id], ["RequestLog", "getRequestLog"]);
30
30
  _RequestLogService.getRequestLogs = (subset, rawParams) => createSSRQuery("RequestLogModel", "findMany", [subset, rawParams], ["RequestLog", "getRequestLogs"]);
31
+ _RequestLogService.responseTypeTs = (id) => createSSRQuery("RequestLogModel", "responseTypeTs", [id], ["RequestLog", "responseTypeTs"]);
31
32
  })(RequestLogService || (RequestLogService = {}));
32
33
  let QgridService;
33
34
  (function(_QgridService) {
@@ -42,8 +43,9 @@ let MonitService;
42
43
  (function(_MonitService) {
43
44
  _MonitService.monitLogs = (cursor) => createSSRQuery("MonitFrame", "monitLogs", [cursor], ["Monit", "monitLogs"]);
44
45
  _MonitService.monitInfo = () => createSSRQuery("MonitFrame", "monitInfo", [], ["Monit", "monitInfo"]);
46
+ _MonitService.monitStats = () => createSSRQuery("MonitFrame", "monitStats", [], ["Monit", "monitStats"]);
45
47
  })(MonitService || (MonitService = {}));
46
48
  //#endregion
47
49
  export { MonitService, QgridService, RequestLogService, RequestLogStepService, SettingService, TokenService };
48
50
 
49
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcmllcy5nZW5lcmF0ZWQuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwcGxpY2F0aW9uL3F1ZXJpZXMuZ2VuZXJhdGVkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGdlbmVyYXRlZFxuICog7KeB7KCRIOyImOygle2VmOyngCDrp4jshLjsmpQuXG4gKi9cblxuLyogb3hsaW50LWRpc2FibGUgKi9cblxuaW1wb3J0IHR5cGUgeyBTU1JRdWVyeSB9IGZyb20gXCJzb25hbXUvc3NyXCI7XG5cbi8vIFNTUlF1ZXJ5IO2XrO2NvCDtlajsiJhcbmZ1bmN0aW9uIGNyZWF0ZVNTUlF1ZXJ5KFxuICBtb2RlbE5hbWU6IHN0cmluZyxcbiAgbWV0aG9kTmFtZTogc3RyaW5nLFxuICBwYXJhbXM6IGFueVtdLFxuICBzZXJ2aWNlS2V5OiBbc3RyaW5nLCBzdHJpbmddLFxuKTogU1NSUXVlcnkge1xuICByZXR1cm4geyBtb2RlbE5hbWUsIG1ldGhvZE5hbWUsIHBhcmFtcywgc2VydmljZUtleSwgX19icmFuZDogXCJTU1JRdWVyeVwiIH0gYXMgU1NSUXVlcnk7XG59XG5cbmltcG9ydCB7IFJlcXVlc3RMb2dTdGVwTGlzdFBhcmFtcyB9IGZyb20gXCIuL3JlcXVlc3QtbG9nLXN0ZXAvcmVxdWVzdC1sb2ctc3RlcC50eXBlc1wiO1xuaW1wb3J0IHsgUmVxdWVzdExvZ0xpc3RQYXJhbXMgfSBmcm9tIFwiLi9yZXF1ZXN0LWxvZy9yZXF1ZXN0LWxvZy50eXBlc1wiO1xuaW1wb3J0IHsgU2V0dGluZ0xpc3RQYXJhbXMgfSBmcm9tIFwiLi9zZXR0aW5nL3NldHRpbmcudHlwZXNcIjtcbmltcG9ydCB7XG4gIFRva2VuU3Vic2V0S2V5LFxuICBTZXR0aW5nU3Vic2V0S2V5LFxuICBSZXF1ZXN0TG9nU3RlcFN1YnNldEtleSxcbiAgUmVxdWVzdExvZ1N1YnNldEtleSxcbn0gZnJvbSBcIi4vc29uYW11LmdlbmVyYXRlZFwiO1xuaW1wb3J0IHsgVG9rZW5MaXN0UGFyYW1zIH0gZnJvbSBcIi4vdG9rZW4vdG9rZW4udHlwZXNcIjtcblxuZXhwb3J0IG5hbWVzcGFjZSBUb2tlblNlcnZpY2Uge1xuICBleHBvcnQgY29uc3QgZ2V0VG9rZW4gPSA8VCBleHRlbmRzIFRva2VuU3Vic2V0S2V5PihzdWJzZXQ6IFQsIGlkOiBudW1iZXIpOiBTU1JRdWVyeSA9PlxuICAgIGNyZWF0ZVNTUlF1ZXJ5KFwiVG9rZW5Nb2RlbFwiLCBcImZpbmRCeUlkXCIsIFtzdWJzZXQsIGlkXSwgW1wiVG9rZW5cIiwgXCJnZXRUb2tlblwiXSk7XG5cbiAgZXhwb3J0IGNvbnN0IGdldFRva2VucyA9IDxUIGV4dGVuZHMgVG9rZW5TdWJzZXRLZXksIExQIGV4dGVuZHMgVG9rZW5MaXN0UGFyYW1zPihcbiAgICBzdWJzZXQ6IFQsXG4gICAgcmF3UGFyYW1zPzogTFAsXG4gICk6IFNTUlF1ZXJ5ID0+XG4gICAgY3JlYXRlU1NSUXVlcnkoXCJUb2tlbk1vZGVsXCIsIFwiZmluZE1hbnlcIiwgW3N1YnNldCwgcmF3UGFyYW1zXSwgW1wiVG9rZW5cIiwgXCJnZXRUb2tlbnNcIl0pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNldHRpbmdTZXJ2aWNlIHtcbiAgZXhwb3J0IGNvbnN0IGdldFNldHRpbmcgPSA8VCBleHRlbmRzIFNldHRpbmdTdWJzZXRLZXk+KHN1YnNldDogVCwgaWQ6IG51bWJlcik6IFNTUlF1ZXJ5ID0+XG4gICAgY3JlYXRlU1NSUXVlcnkoXCJTZXR0aW5nTW9kZWxcIiwgXCJmaW5kQnlJZFwiLCBbc3Vic2V0LCBpZF0sIFtcIlNldHRpbmdcIiwgXCJnZXRTZXR0aW5nXCJdKTtcblxuICBleHBvcnQgY29uc3QgZ2V0U2V0dGluZ3MgPSA8VCBleHRlbmRzIFNldHRpbmdTdWJzZXRLZXksIExQIGV4dGVuZHMgU2V0dGluZ0xpc3RQYXJhbXM+KFxuICAgIHN1YnNldDogVCxcbiAgICByYXdQYXJhbXM/OiBMUCxcbiAgKTogU1NSUXVlcnkgPT5cbiAgICBjcmVhdGVTU1JRdWVyeShcIlNldHRpbmdNb2RlbFwiLCBcImZpbmRNYW55XCIsIFtzdWJzZXQsIHJhd1BhcmFtc10sIFtcIlNldHRpbmdcIiwgXCJnZXRTZXR0aW5nc1wiXSk7XG5cbiAgZXhwb3J0IGNvbnN0IGdldFNldHRpbmdMaXN0ID0gKCk6IFNTUlF1ZXJ5ID0+XG4gICAgY3JlYXRlU1NSUXVlcnkoXCJTZXR0aW5nTW9kZWxcIiwgXCJsaXN0U2V0dGluZ3NcIiwgW10sIFtcIlNldHRpbmdcIiwgXCJnZXRTZXR0aW5nTGlzdFwiXSk7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUmVxdWVzdExvZ1N0ZXBTZXJ2aWNlIHtcbiAgZXhwb3J0IGNvbnN0IGdldFJlcXVlc3RMb2dTdGVwID0gPFQgZXh0ZW5kcyBSZXF1ZXN0TG9nU3RlcFN1YnNldEtleT4oXG4gICAgc3Vic2V0OiBULFxuICAgIGlkOiBudW1iZXIsXG4gICk6IFNTUlF1ZXJ5ID0+XG4gICAgY3JlYXRlU1NSUXVlcnkoXG4gICAgICBcIlJlcXVlc3RMb2dTdGVwTW9kZWxcIixcbiAgICAgIFwiZmluZEJ5SWRcIixcbiAgICAgIFtzdWJzZXQsIGlkXSxcbiAgICAgIFtcIlJlcXVlc3RMb2dTdGVwXCIsIFwiZ2V0UmVxdWVzdExvZ1N0ZXBcIl0sXG4gICAgKTtcblxuICBleHBvcnQgY29uc3QgZ2V0UmVxdWVzdExvZ1N0ZXBzID0gPFxuICAgIFQgZXh0ZW5kcyBSZXF1ZXN0TG9nU3RlcFN1YnNldEtleSxcbiAgICBMUCBleHRlbmRzIFJlcXVlc3RMb2dTdGVwTGlzdFBhcmFtcyxcbiAgPihcbiAgICBzdWJzZXQ6IFQsXG4gICAgcmF3UGFyYW1zPzogTFAsXG4gICk6IFNTUlF1ZXJ5ID0+XG4gICAgY3JlYXRlU1NSUXVlcnkoXG4gICAgICBcIlJlcXVlc3RMb2dTdGVwTW9kZWxcIixcbiAgICAgIFwiZmluZE1hbnlcIixcbiAgICAgIFtzdWJzZXQsIHJhd1BhcmFtc10sXG4gICAgICBbXCJSZXF1ZXN0TG9nU3RlcFwiLCBcImdldFJlcXVlc3RMb2dTdGVwc1wiXSxcbiAgICApO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFJlcXVlc3RMb2dTZXJ2aWNlIHtcbiAgZXhwb3J0IGNvbnN0IGdldFJlcXVlc3RMb2cgPSA8VCBleHRlbmRzIFJlcXVlc3RMb2dTdWJzZXRLZXk+KHN1YnNldDogVCwgaWQ6IG51bWJlcik6IFNTUlF1ZXJ5ID0+XG4gICAgY3JlYXRlU1NSUXVlcnkoXCJSZXF1ZXN0TG9nTW9kZWxcIiwgXCJmaW5kQnlJZFwiLCBbc3Vic2V0LCBpZF0sIFtcIlJlcXVlc3RMb2dcIiwgXCJnZXRSZXF1ZXN0TG9nXCJdKTtcblxuICBleHBvcnQgY29uc3QgZ2V0UmVxdWVzdExvZ3MgPSA8VCBleHRlbmRzIFJlcXVlc3RMb2dTdWJzZXRLZXksIExQIGV4dGVuZHMgUmVxdWVzdExvZ0xpc3RQYXJhbXM+KFxuICAgIHN1YnNldDogVCxcbiAgICByYXdQYXJhbXM/OiBMUCxcbiAgKTogU1NSUXVlcnkgPT5cbiAgICBjcmVhdGVTU1JRdWVyeShcbiAgICAgIFwiUmVxdWVzdExvZ01vZGVsXCIsXG4gICAgICBcImZpbmRNYW55XCIsXG4gICAgICBbc3Vic2V0LCByYXdQYXJhbXNdLFxuICAgICAgW1wiUmVxdWVzdExvZ1wiLCBcImdldFJlcXVlc3RMb2dzXCJdLFxuICAgICk7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUWdyaWRTZXJ2aWNlIHtcbiAgZXhwb3J0IGNvbnN0IHN0YXRzID0gKCk6IFNTUlF1ZXJ5ID0+XG4gICAgY3JlYXRlU1NSUXVlcnkoXCJRZ3JpZEZyYW1lXCIsIFwic3RhdHNcIiwgW10sIFtcIlFncmlkXCIsIFwic3RhdHNcIl0pO1xuXG4gIGV4cG9ydCBjb25zdCB0b3RhbENvc3QgPSAocGFyYW1zPzogUmVxdWVzdExvZ0xpc3RQYXJhbXMpOiBTU1JRdWVyeSA9PlxuICAgIGNyZWF0ZVNTUlF1ZXJ5KFwiUWdyaWRGcmFtZVwiLCBcInRvdGFsQ29zdFwiLCBbcGFyYW1zXSwgW1wiUWdyaWRcIiwgXCJ0b3RhbENvc3RcIl0pO1xuXG4gIGV4cG9ydCBjb25zdCBwcm9qZWN0TmFtZXMgPSAoKTogU1NSUXVlcnkgPT5cbiAgICBjcmVhdGVTU1JRdWVyeShcIlFncmlkRnJhbWVcIiwgXCJwcm9qZWN0TmFtZXNcIiwgW10sIFtcIlFncmlkXCIsIFwicHJvamVjdE5hbWVzXCJdKTtcblxuICBleHBvcnQgY29uc3QgbW9kZWxOYW1lcyA9ICgpOiBTU1JRdWVyeSA9PlxuICAgIGNyZWF0ZVNTUlF1ZXJ5KFwiUWdyaWRGcmFtZVwiLCBcIm1vZGVsTmFtZXNcIiwgW10sIFtcIlFncmlkXCIsIFwibW9kZWxOYW1lc1wiXSk7XG5cbiAgZXhwb3J0IGNvbnN0IHVzYWdlID0gKHRva2VuSWQ/OiBudW1iZXIpOiBTU1JRdWVyeSA9PlxuICAgIGNyZWF0ZVNTUlF1ZXJ5KFwiUWdyaWRGcmFtZVwiLCBcInVzYWdlXCIsIFt0b2tlbklkXSwgW1wiUWdyaWRcIiwgXCJ1c2FnZVwiXSk7XG5cbiAgZXhwb3J0IGNvbnN0IGhlYWx0aCA9ICgpOiBTU1JRdWVyeSA9PlxuICAgIGNyZWF0ZVNTUlF1ZXJ5KFwiUWdyaWRGcmFtZVwiLCBcImhlYWx0aFwiLCBbXSwgW1wiUWdyaWRcIiwgXCJoZWFsdGhcIl0pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIE1vbml0U2VydmljZSB7XG4gIGV4cG9ydCBjb25zdCBtb25pdExvZ3MgPSAoY3Vyc29yPzogbnVtYmVyKTogU1NSUXVlcnkgPT5cbiAgICBjcmVhdGVTU1JRdWVyeShcIk1vbml0RnJhbWVcIiwgXCJtb25pdExvZ3NcIiwgW2N1cnNvcl0sIFtcIk1vbml0XCIsIFwibW9uaXRMb2dzXCJdKTtcblxuICBleHBvcnQgY29uc3QgbW9uaXRJbmZvID0gKCk6IFNTUlF1ZXJ5ID0+XG4gICAgY3JlYXRlU1NSUXVlcnkoXCJNb25pdEZyYW1lXCIsIFwibW9uaXRJbmZvXCIsIFtdLCBbXCJNb25pdFwiLCBcIm1vbml0SW5mb1wiXSk7XG59XG4iXSwibWFwcGluZ3MiOiI7QUFVQSxTQUFTLGVBQ1AsV0FDQSxZQUNBLFFBQ0EsWUFDVTtDQUNWLE9BQU87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
51
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcmllcy5nZW5lcmF0ZWQuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwcGxpY2F0aW9uL3F1ZXJpZXMuZ2VuZXJhdGVkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGdlbmVyYXRlZFxuICog7KeB7KCRIOyImOygle2VmOyngCDrp4jshLjsmpQuXG4gKi9cblxuLyogb3hsaW50LWRpc2FibGUgKi9cblxuaW1wb3J0IHR5cGUgeyBTU1JRdWVyeSB9IGZyb20gXCJzb25hbXUvc3NyXCI7XG5cbi8vIFNTUlF1ZXJ5IO2XrO2NvCDtlajsiJhcbmZ1bmN0aW9uIGNyZWF0ZVNTUlF1ZXJ5KFxuICBtb2RlbE5hbWU6IHN0cmluZyxcbiAgbWV0aG9kTmFtZTogc3RyaW5nLFxuICBwYXJhbXM6IGFueVtdLFxuICBzZXJ2aWNlS2V5OiBbc3RyaW5nLCBzdHJpbmddLFxuKTogU1NSUXVlcnkge1xuICByZXR1cm4geyBtb2RlbE5hbWUsIG1ldGhvZE5hbWUsIHBhcmFtcywgc2VydmljZUtleSwgX19icmFuZDogXCJTU1JRdWVyeVwiIH0gYXMgU1NSUXVlcnk7XG59XG5cbmltcG9ydCB7IFJlcXVlc3RMb2dTdGVwTGlzdFBhcmFtcyB9IGZyb20gXCIuL3JlcXVlc3QtbG9nLXN0ZXAvcmVxdWVzdC1sb2ctc3RlcC50eXBlc1wiO1xuaW1wb3J0IHsgUmVxdWVzdExvZ0xpc3RQYXJhbXMgfSBmcm9tIFwiLi9yZXF1ZXN0LWxvZy9yZXF1ZXN0LWxvZy50eXBlc1wiO1xuaW1wb3J0IHsgU2V0dGluZ0xpc3RQYXJhbXMgfSBmcm9tIFwiLi9zZXR0aW5nL3NldHRpbmcudHlwZXNcIjtcbmltcG9ydCB7XG4gIFRva2VuU3Vic2V0S2V5LFxuICBTZXR0aW5nU3Vic2V0S2V5LFxuICBSZXF1ZXN0TG9nU3RlcFN1YnNldEtleSxcbiAgUmVxdWVzdExvZ1N1YnNldEtleSxcbn0gZnJvbSBcIi4vc29uYW11LmdlbmVyYXRlZFwiO1xuaW1wb3J0IHsgVG9rZW5MaXN0UGFyYW1zIH0gZnJvbSBcIi4vdG9rZW4vdG9rZW4udHlwZXNcIjtcblxuZXhwb3J0IG5hbWVzcGFjZSBUb2tlblNlcnZpY2Uge1xuICBleHBvcnQgY29uc3QgZ2V0VG9rZW4gPSA8VCBleHRlbmRzIFRva2VuU3Vic2V0S2V5PihzdWJzZXQ6IFQsIGlkOiBudW1iZXIpOiBTU1JRdWVyeSA9PlxuICAgIGNyZWF0ZVNTUlF1ZXJ5KFwiVG9rZW5Nb2RlbFwiLCBcImZpbmRCeUlkXCIsIFtzdWJzZXQsIGlkXSwgW1wiVG9rZW5cIiwgXCJnZXRUb2tlblwiXSk7XG5cbiAgZXhwb3J0IGNvbnN0IGdldFRva2VucyA9IDxUIGV4dGVuZHMgVG9rZW5TdWJzZXRLZXksIExQIGV4dGVuZHMgVG9rZW5MaXN0UGFyYW1zPihcbiAgICBzdWJzZXQ6IFQsXG4gICAgcmF3UGFyYW1zPzogTFAsXG4gICk6IFNTUlF1ZXJ5ID0+XG4gICAgY3JlYXRlU1NSUXVlcnkoXCJUb2tlbk1vZGVsXCIsIFwiZmluZE1hbnlcIiwgW3N1YnNldCwgcmF3UGFyYW1zXSwgW1wiVG9rZW5cIiwgXCJnZXRUb2tlbnNcIl0pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNldHRpbmdTZXJ2aWNlIHtcbiAgZXhwb3J0IGNvbnN0IGdldFNldHRpbmcgPSA8VCBleHRlbmRzIFNldHRpbmdTdWJzZXRLZXk+KHN1YnNldDogVCwgaWQ6IG51bWJlcik6IFNTUlF1ZXJ5ID0+XG4gICAgY3JlYXRlU1NSUXVlcnkoXCJTZXR0aW5nTW9kZWxcIiwgXCJmaW5kQnlJZFwiLCBbc3Vic2V0LCBpZF0sIFtcIlNldHRpbmdcIiwgXCJnZXRTZXR0aW5nXCJdKTtcblxuICBleHBvcnQgY29uc3QgZ2V0U2V0dGluZ3MgPSA8VCBleHRlbmRzIFNldHRpbmdTdWJzZXRLZXksIExQIGV4dGVuZHMgU2V0dGluZ0xpc3RQYXJhbXM+KFxuICAgIHN1YnNldDogVCxcbiAgICByYXdQYXJhbXM/OiBMUCxcbiAgKTogU1NSUXVlcnkgPT5cbiAgICBjcmVhdGVTU1JRdWVyeShcIlNldHRpbmdNb2RlbFwiLCBcImZpbmRNYW55XCIsIFtzdWJzZXQsIHJhd1BhcmFtc10sIFtcIlNldHRpbmdcIiwgXCJnZXRTZXR0aW5nc1wiXSk7XG5cbiAgZXhwb3J0IGNvbnN0IGdldFNldHRpbmdMaXN0ID0gKCk6IFNTUlF1ZXJ5ID0+XG4gICAgY3JlYXRlU1NSUXVlcnkoXCJTZXR0aW5nTW9kZWxcIiwgXCJsaXN0U2V0dGluZ3NcIiwgW10sIFtcIlNldHRpbmdcIiwgXCJnZXRTZXR0aW5nTGlzdFwiXSk7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUmVxdWVzdExvZ1N0ZXBTZXJ2aWNlIHtcbiAgZXhwb3J0IGNvbnN0IGdldFJlcXVlc3RMb2dTdGVwID0gPFQgZXh0ZW5kcyBSZXF1ZXN0TG9nU3RlcFN1YnNldEtleT4oXG4gICAgc3Vic2V0OiBULFxuICAgIGlkOiBudW1iZXIsXG4gICk6IFNTUlF1ZXJ5ID0+XG4gICAgY3JlYXRlU1NSUXVlcnkoXG4gICAgICBcIlJlcXVlc3RMb2dTdGVwTW9kZWxcIixcbiAgICAgIFwiZmluZEJ5SWRcIixcbiAgICAgIFtzdWJzZXQsIGlkXSxcbiAgICAgIFtcIlJlcXVlc3RMb2dTdGVwXCIsIFwiZ2V0UmVxdWVzdExvZ1N0ZXBcIl0sXG4gICAgKTtcblxuICBleHBvcnQgY29uc3QgZ2V0UmVxdWVzdExvZ1N0ZXBzID0gPFxuICAgIFQgZXh0ZW5kcyBSZXF1ZXN0TG9nU3RlcFN1YnNldEtleSxcbiAgICBMUCBleHRlbmRzIFJlcXVlc3RMb2dTdGVwTGlzdFBhcmFtcyxcbiAgPihcbiAgICBzdWJzZXQ6IFQsXG4gICAgcmF3UGFyYW1zPzogTFAsXG4gICk6IFNTUlF1ZXJ5ID0+XG4gICAgY3JlYXRlU1NSUXVlcnkoXG4gICAgICBcIlJlcXVlc3RMb2dTdGVwTW9kZWxcIixcbiAgICAgIFwiZmluZE1hbnlcIixcbiAgICAgIFtzdWJzZXQsIHJhd1BhcmFtc10sXG4gICAgICBbXCJSZXF1ZXN0TG9nU3RlcFwiLCBcImdldFJlcXVlc3RMb2dTdGVwc1wiXSxcbiAgICApO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFJlcXVlc3RMb2dTZXJ2aWNlIHtcbiAgZXhwb3J0IGNvbnN0IGdldFJlcXVlc3RMb2cgPSA8VCBleHRlbmRzIFJlcXVlc3RMb2dTdWJzZXRLZXk+KHN1YnNldDogVCwgaWQ6IG51bWJlcik6IFNTUlF1ZXJ5ID0+XG4gICAgY3JlYXRlU1NSUXVlcnkoXCJSZXF1ZXN0TG9nTW9kZWxcIiwgXCJmaW5kQnlJZFwiLCBbc3Vic2V0LCBpZF0sIFtcIlJlcXVlc3RMb2dcIiwgXCJnZXRSZXF1ZXN0TG9nXCJdKTtcblxuICBleHBvcnQgY29uc3QgZ2V0UmVxdWVzdExvZ3MgPSA8VCBleHRlbmRzIFJlcXVlc3RMb2dTdWJzZXRLZXksIExQIGV4dGVuZHMgUmVxdWVzdExvZ0xpc3RQYXJhbXM+KFxuICAgIHN1YnNldDogVCxcbiAgICByYXdQYXJhbXM/OiBMUCxcbiAgKTogU1NSUXVlcnkgPT5cbiAgICBjcmVhdGVTU1JRdWVyeShcbiAgICAgIFwiUmVxdWVzdExvZ01vZGVsXCIsXG4gICAgICBcImZpbmRNYW55XCIsXG4gICAgICBbc3Vic2V0LCByYXdQYXJhbXNdLFxuICAgICAgW1wiUmVxdWVzdExvZ1wiLCBcImdldFJlcXVlc3RMb2dzXCJdLFxuICAgICk7XG5cbiAgZXhwb3J0IGNvbnN0IHJlc3BvbnNlVHlwZVRzID0gKGlkOiBudW1iZXIpOiBTU1JRdWVyeSA9PlxuICAgIGNyZWF0ZVNTUlF1ZXJ5KFwiUmVxdWVzdExvZ01vZGVsXCIsIFwicmVzcG9uc2VUeXBlVHNcIiwgW2lkXSwgW1wiUmVxdWVzdExvZ1wiLCBcInJlc3BvbnNlVHlwZVRzXCJdKTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBRZ3JpZFNlcnZpY2Uge1xuICBleHBvcnQgY29uc3Qgc3RhdHMgPSAoKTogU1NSUXVlcnkgPT5cbiAgICBjcmVhdGVTU1JRdWVyeShcIlFncmlkRnJhbWVcIiwgXCJzdGF0c1wiLCBbXSwgW1wiUWdyaWRcIiwgXCJzdGF0c1wiXSk7XG5cbiAgZXhwb3J0IGNvbnN0IHRvdGFsQ29zdCA9IChwYXJhbXM/OiBSZXF1ZXN0TG9nTGlzdFBhcmFtcyk6IFNTUlF1ZXJ5ID0+XG4gICAgY3JlYXRlU1NSUXVlcnkoXCJRZ3JpZEZyYW1lXCIsIFwidG90YWxDb3N0XCIsIFtwYXJhbXNdLCBbXCJRZ3JpZFwiLCBcInRvdGFsQ29zdFwiXSk7XG5cbiAgZXhwb3J0IGNvbnN0IHByb2plY3ROYW1lcyA9ICgpOiBTU1JRdWVyeSA9PlxuICAgIGNyZWF0ZVNTUlF1ZXJ5KFwiUWdyaWRGcmFtZVwiLCBcInByb2plY3ROYW1lc1wiLCBbXSwgW1wiUWdyaWRcIiwgXCJwcm9qZWN0TmFtZXNcIl0pO1xuXG4gIGV4cG9ydCBjb25zdCBtb2RlbE5hbWVzID0gKCk6IFNTUlF1ZXJ5ID0+XG4gICAgY3JlYXRlU1NSUXVlcnkoXCJRZ3JpZEZyYW1lXCIsIFwibW9kZWxOYW1lc1wiLCBbXSwgW1wiUWdyaWRcIiwgXCJtb2RlbE5hbWVzXCJdKTtcblxuICBleHBvcnQgY29uc3QgdXNhZ2UgPSAodG9rZW5JZD86IG51bWJlcik6IFNTUlF1ZXJ5ID0+XG4gICAgY3JlYXRlU1NSUXVlcnkoXCJRZ3JpZEZyYW1lXCIsIFwidXNhZ2VcIiwgW3Rva2VuSWRdLCBbXCJRZ3JpZFwiLCBcInVzYWdlXCJdKTtcblxuICBleHBvcnQgY29uc3QgaGVhbHRoID0gKCk6IFNTUlF1ZXJ5ID0+XG4gICAgY3JlYXRlU1NSUXVlcnkoXCJRZ3JpZEZyYW1lXCIsIFwiaGVhbHRoXCIsIFtdLCBbXCJRZ3JpZFwiLCBcImhlYWx0aFwiXSk7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgTW9uaXRTZXJ2aWNlIHtcbiAgZXhwb3J0IGNvbnN0IG1vbml0TG9ncyA9IChjdXJzb3I/OiBudW1iZXIpOiBTU1JRdWVyeSA9PlxuICAgIGNyZWF0ZVNTUlF1ZXJ5KFwiTW9uaXRGcmFtZVwiLCBcIm1vbml0TG9nc1wiLCBbY3Vyc29yXSwgW1wiTW9uaXRcIiwgXCJtb25pdExvZ3NcIl0pO1xuXG4gIGV4cG9ydCBjb25zdCBtb25pdEluZm8gPSAoKTogU1NSUXVlcnkgPT5cbiAgICBjcmVhdGVTU1JRdWVyeShcIk1vbml0RnJhbWVcIiwgXCJtb25pdEluZm9cIiwgW10sIFtcIk1vbml0XCIsIFwibW9uaXRJbmZvXCJdKTtcblxuICBleHBvcnQgY29uc3QgbW9uaXRTdGF0cyA9ICgpOiBTU1JRdWVyeSA9PlxuICAgIGNyZWF0ZVNTUlF1ZXJ5KFwiTW9uaXRGcmFtZVwiLCBcIm1vbml0U3RhdHNcIiwgW10sIFtcIk1vbml0XCIsIFwibW9uaXRTdGF0c1wiXSk7XG59XG4iXSwibWFwcGluZ3MiOiI7QUFVQSxTQUFTLGVBQ1AsV0FDQSxZQUNBLFFBQ0EsWUFDVTtDQUNWLE9BQU87RUFBRTtFQUFXO0VBQVk7RUFBUTtFQUFZLFNBQVM7Q0FBVztBQUMxRTtBQWFPLElBQVU7Q0FBVixTQUFBLGVBQUE7Q0FDUSxjQUFBLFlBQXNDLFFBQVcsT0FDNUQsZUFBZSxjQUFjLFlBQVksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLFNBQVMsVUFBVSxDQUFDO0NBRWpFLGNBQUEsYUFDWCxRQUNBLGNBRUEsZUFBZSxjQUFjLFlBQVksQ0FBQyxRQUFRLFNBQVMsR0FBRyxDQUFDLFNBQVMsV0FBVyxDQUFDO0FBQ3ZGLEVBQUEsQ0FBQSxpQkFBQSxlQUFBLENBQUEsRUFBRDtBQUVPLElBQVU7Q0FBVixTQUFBLGlCQUFBO0NBQ1EsZ0JBQUEsY0FBMEMsUUFBVyxPQUNoRSxlQUFlLGdCQUFnQixZQUFZLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxXQUFXLFlBQVksQ0FBQztDQUV2RSxnQkFBQSxlQUNYLFFBQ0EsY0FFQSxlQUFlLGdCQUFnQixZQUFZLENBQUMsUUFBUSxTQUFTLEdBQUcsQ0FBQyxXQUFXLGFBQWEsQ0FBQztDQUUvRSxnQkFBQSx1QkFDWCxlQUFlLGdCQUFnQixnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsV0FBVyxnQkFBZ0IsQ0FBQztBQUNuRixFQUFBLENBQUEsbUJBQUEsaUJBQUEsQ0FBQSxFQUFEO0FBRU8sSUFBVTtDQUFWLFNBQUEsd0JBQUE7Q0FDUSx1QkFBQSxxQkFDWCxRQUNBLE9BRUEsZUFDRSx1QkFDQSxZQUNBLENBQUMsUUFBUSxFQUFFLEdBQ1gsQ0FBQyxrQkFBa0IsbUJBQW1CLENBQ3hDO0NBRVcsdUJBQUEsc0JBSVgsUUFDQSxjQUVBLGVBQ0UsdUJBQ0EsWUFDQSxDQUFDLFFBQVEsU0FBUyxHQUNsQixDQUFDLGtCQUFrQixvQkFBb0IsQ0FDekM7QUFDSCxFQUFBLENBQUEsMEJBQUEsd0JBQUEsQ0FBQSxFQUFEO0FBRU8sSUFBVTtDQUFWLFNBQUEsb0JBQUE7Q0FDUSxtQkFBQSxpQkFBZ0QsUUFBVyxPQUN0RSxlQUFlLG1CQUFtQixZQUFZLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxjQUFjLGVBQWUsQ0FBQztDQUVoRixtQkFBQSxrQkFDWCxRQUNBLGNBRUEsZUFDRSxtQkFDQSxZQUNBLENBQUMsUUFBUSxTQUFTLEdBQ2xCLENBQUMsY0FBYyxnQkFBZ0IsQ0FDakM7Q0FFVyxtQkFBQSxrQkFBa0IsT0FDN0IsZUFBZSxtQkFBbUIsa0JBQWtCLENBQUMsRUFBRSxHQUFHLENBQUMsY0FBYyxnQkFBZ0IsQ0FBQztBQUM3RixFQUFBLENBQUEsc0JBQUEsb0JBQUEsQ0FBQSxFQUFEO0FBRU8sSUFBVTtDQUFWLFNBQUEsZUFBQTtDQUNRLGNBQUEsY0FDWCxlQUFlLGNBQWMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLE9BQU8sQ0FBQztDQUVqRCxjQUFBLGFBQWEsV0FDeEIsZUFBZSxjQUFjLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxTQUFTLFdBQVcsQ0FBQztDQUUvRCxjQUFBLHFCQUNYLGVBQWUsY0FBYyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsU0FBUyxjQUFjLENBQUM7Q0FFL0QsY0FBQSxtQkFDWCxlQUFlLGNBQWMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxTQUFTLFlBQVksQ0FBQztDQUUzRCxjQUFBLFNBQVMsWUFDcEIsZUFBZSxjQUFjLFNBQVMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxTQUFTLE9BQU8sQ0FBQztDQUV4RCxjQUFBLGVBQ1gsZUFBZSxjQUFjLFVBQVUsQ0FBQyxHQUFHLENBQUMsU0FBUyxRQUFRLENBQUM7QUFDakUsRUFBQSxDQUFBLGlCQUFBLGVBQUEsQ0FBQSxFQUFEO0FBRU8sSUFBVTtDQUFWLFNBQUEsZUFBQTtDQUNRLGNBQUEsYUFBYSxXQUN4QixlQUFlLGNBQWMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLFNBQVMsV0FBVyxDQUFDO0NBRS9ELGNBQUEsa0JBQ1gsZUFBZSxjQUFjLGFBQWEsQ0FBQyxHQUFHLENBQUMsU0FBUyxXQUFXLENBQUM7Q0FFekQsY0FBQSxtQkFDWCxlQUFlLGNBQWMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxTQUFTLFlBQVksQ0FBQztBQUN6RSxFQUFBLENBQUEsaUJBQUEsZUFBQSxDQUFBLEVBQUQifQ==
@@ -0,0 +1,55 @@
1
+ //#region src/application/request-log/json-schema-type-text.ts
2
+ /** TS/zod 표시 코드 공용 식별자 판별 — zod-code-format 의 키 unquote 도 이걸 쓴다. */
3
+ const IDENT_SOURCE = "[A-Za-z_$][\\w$]*";
4
+ const IDENT_RE = new RegExp(`^${IDENT_SOURCE}$`);
5
+ function renderKey(key) {
6
+ return IDENT_RE.test(key) ? key : JSON.stringify(key);
7
+ }
8
+ function renderPrimitive(type) {
9
+ if (type === "string") return "string";
10
+ if (type === "number" || type === "integer") return "number";
11
+ if (type === "boolean") return "boolean";
12
+ if (type === "null") return "null";
13
+ return "unknown";
14
+ }
15
+ function renderNode(node, depth) {
16
+ if (node === true) return "unknown";
17
+ if (!node || typeof node !== "object" || Array.isArray(node)) return "unknown";
18
+ const schema = node;
19
+ if (Array.isArray(schema.enum)) return schema.enum.map((value) => JSON.stringify(value)).join(" | ");
20
+ if (schema.const !== void 0) return JSON.stringify(schema.const);
21
+ const variants = schema.anyOf ?? schema.oneOf;
22
+ if (Array.isArray(variants) && variants.length > 0) return [...new Set(variants.map((variant) => renderNode(variant, depth)))].join(" | ");
23
+ const type = schema.type;
24
+ if (Array.isArray(type)) return [...new Set(type.map(renderPrimitive))].join(" | ");
25
+ if (type === "object" || type === void 0 && schema.properties) {
26
+ const properties = schema.properties ?? {};
27
+ const required = new Set(Array.isArray(schema.required) ? schema.required : []);
28
+ const keys = Object.keys(properties);
29
+ if (keys.length === 0) return "Record<string, unknown>";
30
+ const inner = " ".repeat(depth + 1);
31
+ return `{\n${keys.map((key) => `${inner}${renderKey(key)}${required.has(key) ? "" : "?"}: ${renderNode(properties[key], depth + 1)}`).join("\n")}\n${" ".repeat(depth)}}`;
32
+ }
33
+ if (type === "array") {
34
+ const item = renderNode(schema.items, depth);
35
+ if (item.includes(" | ")) return `(${item})[]`;
36
+ return `${item}[]`;
37
+ }
38
+ return renderPrimitive(type);
39
+ }
40
+ /** 이미 파싱된 스키마 값용 — 호출부가 같은 JSON 을 두 번 파싱하지 않게 한다. */
41
+ function renderParsedJsonSchemaTypeText(schema, name = "Response") {
42
+ return `type ${name} = ${renderNode(schema, 0)}`;
43
+ }
44
+ /** 실패(파싱 불가 등) 시 null — 호출부가 표시 자체를 생략한다. */
45
+ function renderJsonSchemaTypeText(schemaJson, name = "Response") {
46
+ try {
47
+ return renderParsedJsonSchemaTypeText(JSON.parse(schemaJson), name);
48
+ } catch {
49
+ return null;
50
+ }
51
+ }
52
+ //#endregion
53
+ export { IDENT_SOURCE, renderJsonSchemaTypeText, renderParsedJsonSchemaTypeText };
54
+
55
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1zY2hlbWEtdHlwZS10ZXh0LmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHBsaWNhdGlvbi9yZXF1ZXN0LWxvZy9qc29uLXNjaGVtYS10eXBlLXRleHQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBKU09OIFNjaGVtYSDihpIg6rCE6rKw7ZWcIFR5cGVTY3JpcHQgYHR5cGVgIOyEoOyWuCDthY3siqTtirguXG4gKlxuICog65287J2067iM65+s66asKGpzb24tc2NoZW1hLXRvLXR5cGVzY3JpcHQg6rOE7Je0KeuKlCBpbnRlcmZhY2UgKyBtYXhJdGVtcyDtipztlIwg7Jyg64uI7JioIOuTsVxuICog7J6l7Zmp7ZWcIOy2nOugpeydhCDrgrTshJwgZGV0YWlsIO2ZlOuptCDsmpTslb3smqnsnLzroZwg67aA7KCB7ZWp7ZWY64ukLiBxZ3JpZCDqsIAg67Cb64qUIOyKpO2CpOuniOuKlFxuICogem9kIOyngeugrO2ZlCDsgrDrrLwob2JqZWN0IHJvb3QsIGRyYWZ0LTA3IOu2gOu2hOynke2VqSnsnbTrnbwg7J20IOygleuPhCDsp4Dsm5DsnbTrqbQg7Lap67aE7ZWY6rOgLFxuICog66qo66W064qUIO2CpOybjOuTnOuKlCB1bmtub3duIOycvOuhnCDsoJHslrQg7KCI64yAIOuNmOyngOyngCDslYrripTri6QuXG4gKi9cblxudHlwZSBTY2hlbWFOb2RlID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cbi8qKiBUUy96b2Qg7ZGc7IucIOy9lOuTnCDqs7Xsmqkg7Iud67OE7J6QIO2MkOuzhCDigJQgem9kLWNvZGUtZm9ybWF0IOydmCDtgqQgdW5xdW90ZSDrj4Qg7J206rG4IOyTtOuLpC4gKi9cbmV4cG9ydCBjb25zdCBJREVOVF9TT1VSQ0UgPSBcIltBLVphLXpfJF1bXFxcXHckXSpcIjtcbmNvbnN0IElERU5UX1JFID0gbmV3IFJlZ0V4cChgXiR7SURFTlRfU09VUkNFfSRgKTtcblxuZnVuY3Rpb24gcmVuZGVyS2V5KGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIElERU5UX1JFLnRlc3Qoa2V5KSA/IGtleSA6IEpTT04uc3RyaW5naWZ5KGtleSk7XG59XG5cbmZ1bmN0aW9uIHJlbmRlclByaW1pdGl2ZSh0eXBlOiB1bmtub3duKTogc3RyaW5nIHtcbiAgaWYgKHR5cGUgPT09IFwic3RyaW5nXCIpIHJldHVybiBcInN0cmluZ1wiO1xuICBpZiAodHlwZSA9PT0gXCJudW1iZXJcIiB8fCB0eXBlID09PSBcImludGVnZXJcIikgcmV0dXJuIFwibnVtYmVyXCI7XG4gIGlmICh0eXBlID09PSBcImJvb2xlYW5cIikgcmV0dXJuIFwiYm9vbGVhblwiO1xuICBpZiAodHlwZSA9PT0gXCJudWxsXCIpIHJldHVybiBcIm51bGxcIjtcbiAgcmV0dXJuIFwidW5rbm93blwiO1xufVxuXG5mdW5jdGlvbiByZW5kZXJOb2RlKG5vZGU6IHVua25vd24sIGRlcHRoOiBudW1iZXIpOiBzdHJpbmcge1xuICBpZiAobm9kZSA9PT0gdHJ1ZSkgcmV0dXJuIFwidW5rbm93blwiO1xuICBpZiAoIW5vZGUgfHwgdHlwZW9mIG5vZGUgIT09IFwib2JqZWN0XCIgfHwgQXJyYXkuaXNBcnJheShub2RlKSkgcmV0dXJuIFwidW5rbm93blwiO1xuICBjb25zdCBzY2hlbWEgPSBub2RlIGFzIFNjaGVtYU5vZGU7XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkoc2NoZW1hLmVudW0pKSB7XG4gICAgcmV0dXJuIHNjaGVtYS5lbnVtLm1hcCgodmFsdWUpID0+IEpTT04uc3RyaW5naWZ5KHZhbHVlKSkuam9pbihcIiB8IFwiKTtcbiAgfVxuICBpZiAoc2NoZW1hLmNvbnN0ICE9PSB1bmRlZmluZWQpIHJldHVybiBKU09OLnN0cmluZ2lmeShzY2hlbWEuY29uc3QpO1xuXG4gIGNvbnN0IHZhcmlhbnRzID0gKHNjaGVtYS5hbnlPZiA/PyBzY2hlbWEub25lT2YpIGFzIHVua25vd247XG4gIGlmIChBcnJheS5pc0FycmF5KHZhcmlhbnRzKSAmJiB2YXJpYW50cy5sZW5ndGggPiAwKSB7XG4gICAgcmV0dXJuIFsuLi5uZXcgU2V0KHZhcmlhbnRzLm1hcCgodmFyaWFudCkgPT4gcmVuZGVyTm9kZSh2YXJpYW50LCBkZXB0aCkpKV0uam9pbihcIiB8IFwiKTtcbiAgfVxuXG4gIGNvbnN0IHR5cGUgPSBzY2hlbWEudHlwZTtcbiAgaWYgKEFycmF5LmlzQXJyYXkodHlwZSkpIHtcbiAgICByZXR1cm4gWy4uLm5ldyBTZXQodHlwZS5tYXAocmVuZGVyUHJpbWl0aXZlKSldLmpvaW4oXCIgfCBcIik7XG4gIH1cblxuICBpZiAodHlwZSA9PT0gXCJvYmplY3RcIiB8fCAodHlwZSA9PT0gdW5kZWZpbmVkICYmIHNjaGVtYS5wcm9wZXJ0aWVzKSkge1xuICAgIGNvbnN0IHByb3BlcnRpZXMgPSAoc2NoZW1hLnByb3BlcnRpZXMgPz8ge30pIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAgIGNvbnN0IHJlcXVpcmVkID0gbmV3IFNldChBcnJheS5pc0FycmF5KHNjaGVtYS5yZXF1aXJlZCkgPyAoc2NoZW1hLnJlcXVpcmVkIGFzIHN0cmluZ1tdKSA6IFtdKTtcbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMocHJvcGVydGllcyk7XG4gICAgaWYgKGtleXMubGVuZ3RoID09PSAwKSByZXR1cm4gXCJSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlwiO1xuICAgIGNvbnN0IGlubmVyID0gXCIgIFwiLnJlcGVhdChkZXB0aCArIDEpO1xuICAgIGNvbnN0IGxpbmVzID0ga2V5cy5tYXAoXG4gICAgICAoa2V5KSA9PlxuICAgICAgICBgJHtpbm5lcn0ke3JlbmRlcktleShrZXkpfSR7cmVxdWlyZWQuaGFzKGtleSkgPyBcIlwiIDogXCI/XCJ9OiAke3JlbmRlck5vZGUocHJvcGVydGllc1trZXldLCBkZXB0aCArIDEpfWAsXG4gICAgKTtcbiAgICByZXR1cm4gYHtcXG4ke2xpbmVzLmpvaW4oXCJcXG5cIil9XFxuJHtcIiAgXCIucmVwZWF0KGRlcHRoKX19YDtcbiAgfVxuXG4gIGlmICh0eXBlID09PSBcImFycmF5XCIpIHtcbiAgICBjb25zdCBpdGVtID0gcmVuZGVyTm9kZShzY2hlbWEuaXRlbXMsIGRlcHRoKTtcbiAgICAvLyDsnKDri4jsmKgg7JqU7IaM64qUIOq0hO2YuOqwgCDsl4bsnLzrqbQgYEEgfCBCW11gIOuhnCDsnpjrqrsg7J297Z6M64ukLlxuICAgIGlmIChpdGVtLmluY2x1ZGVzKFwiIHwgXCIpKSByZXR1cm4gYCgke2l0ZW19KVtdYDtcbiAgICByZXR1cm4gYCR7aXRlbX1bXWA7XG4gIH1cblxuICByZXR1cm4gcmVuZGVyUHJpbWl0aXZlKHR5cGUpO1xufVxuXG4vKiog7J2066+4IO2MjOyLseuQnCDsiqTtgqTrp4gg6rCS7JqpIOKAlCDtmLjstpzrtoDqsIAg6rCZ7J2AIEpTT04g7J2EIOuRkCDrsogg7YyM7Iux7ZWY7KeAIOyViuqyjCDtlZzri6QuICovXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyUGFyc2VkSnNvblNjaGVtYVR5cGVUZXh0KHNjaGVtYTogdW5rbm93biwgbmFtZSA9IFwiUmVzcG9uc2VcIik6IHN0cmluZyB7XG4gIHJldHVybiBgdHlwZSAke25hbWV9ID0gJHtyZW5kZXJOb2RlKHNjaGVtYSwgMCl9YDtcbn1cblxuLyoqIOyLpO2MqCjtjIzsi7Eg67aI6rCAIOuTsSkg7IucIG51bGwg4oCUIO2YuOy2nOu2gOqwgCDtkZzsi5wg7J6Q7LK066W8IOyDneuete2VnOuLpC4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW5kZXJKc29uU2NoZW1hVHlwZVRleHQoc2NoZW1hSnNvbjogc3RyaW5nLCBuYW1lID0gXCJSZXNwb25zZVwiKTogc3RyaW5nIHwgbnVsbCB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHJlbmRlclBhcnNlZEpzb25TY2hlbWFUeXBlVGV4dChKU09OLnBhcnNlKHNjaGVtYUpzb24pIGFzIHVua25vd24sIG5hbWUpO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOztB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