decocms 2.336.7 → 2.336.8

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 (429) hide show
  1. package/dist/client/assets/{AlertCircle-DP-H71P6.js → AlertCircle-C4INYGu4.js} +1 -1
  2. package/dist/client/assets/{Archive-CBAKnqfO.js → Archive-DjBQ2K2v.js} +1 -1
  3. package/dist/client/assets/{ArrowNarrowLeft-DnIqYbjy.js → ArrowNarrowLeft-CXsqgBZa.js} +1 -1
  4. package/dist/client/assets/{ArrowUpRight-uluBqTP1.js → ArrowUpRight-Dzf5T-wc.js} +1 -1
  5. package/dist/client/assets/{Check-BwAxDpFt.js → Check-CR4wxP4B.js} +1 -1
  6. package/dist/client/assets/{CheckCircle-DFW57jnV.js → CheckCircle-D-I28x07.js} +1 -1
  7. package/dist/client/assets/{ChevronDown-oVKrtZMR.js → ChevronDown-B88plY1M.js} +1 -1
  8. package/dist/client/assets/{ChevronRight-Dwd_1fyf.js → ChevronRight-B7ziEigO.js} +1 -1
  9. package/dist/client/assets/{ChevronUp-BmjrMzXQ.js → ChevronUp-Ds8Eawh7.js} +1 -1
  10. package/dist/client/assets/{Container-ChpiT0Mz.js → Container-BPc9XRWM.js} +1 -1
  11. package/dist/client/assets/{DotsVertical-BrkN4eND.js → DotsVertical-BYM4iEtB.js} +1 -1
  12. package/dist/client/assets/{LayoutLeft-DSTpVJG2.js → LayoutLeft-3HjNiLYe.js} +1 -1
  13. package/dist/client/assets/{LinkExternal01-DB3hkmV9.js → LinkExternal01-B-2QDEyM.js} +1 -1
  14. package/dist/client/assets/{Lock01-DvXgrgtB.js → Lock01-Cr_rU_vn.js} +1 -1
  15. package/dist/client/assets/{Palette-Cou3YGcL.js → Palette-Dmk2LCmy.js} +1 -1
  16. package/dist/client/assets/{Play-CnCNv_OT.js → Play-BT4d4nJM.js} +1 -1
  17. package/dist/client/assets/{Plus-DJRS_3M7.js → Plus-W5ZLuLQG.js} +1 -1
  18. package/dist/client/assets/{RefreshCcw01-ZCAoo_5U.js → RefreshCcw01-Dy8vNMvK.js} +1 -1
  19. package/dist/client/assets/{SearchMd-NSk0NjTx.js → SearchMd-7zjJuvAA.js} +1 -1
  20. package/dist/client/assets/{Settings02-DmD0-3Fl.js → Settings02-knWmZDsg.js} +1 -1
  21. package/dist/client/assets/{Shield01-Da1sq6fJ.js → Shield01-CkuPsi4y.js} +1 -1
  22. package/dist/client/assets/{Star01-D_8CHaa9.js → Star01-BBUP7Xj7.js} +1 -1
  23. package/dist/client/assets/{Sun-DhmuCWzF.js → Sun-BJN4MOz4.js} +1 -1
  24. package/dist/client/assets/{Tool01-DEsX9k3k.js → Tool01-BLcNZBZT.js} +1 -1
  25. package/dist/client/assets/{Trash01-CBY6pvNS.js → Trash01-B7JQKb93.js} +1 -1
  26. package/dist/client/assets/{Upload01-DcLLojT5.js → Upload01-C-svoIG6.js} +1 -1
  27. package/dist/client/assets/{User01-B2PNPejv.js → User01-DK2Vp0_W.js} +1 -1
  28. package/dist/client/assets/{Users03-jUBAucIX.js → Users03-Fh2zpKZi.js} +1 -1
  29. package/dist/client/assets/{X-qsKqxSFg.js → X-BWXmHB-e.js} +1 -1
  30. package/dist/client/assets/{XCircle-WJpjcRit.js → XCircle-CvJFaXQj.js} +1 -1
  31. package/dist/client/assets/{XClose-CucY2qJv.js → XClose-CyfMS_42.js} +1 -1
  32. package/dist/client/assets/{Zap-BoZrMcw3.js → Zap-5AbwufNM.js} +1 -1
  33. package/dist/client/assets/{ZapSquare-C11cptNY.js → ZapSquare-CAYh-u9U.js} +1 -1
  34. package/dist/client/assets/{accordion-CaPXtpBp.js → accordion-C2nuXoEB.js} +1 -1
  35. package/dist/client/assets/{agent-icon-_wFcFVml.js → agent-icon-DKj1HUMx.js} +1 -1
  36. package/dist/client/assets/{agents-list-B_o5vitp.js → agents-list-DwHTOWEZ.js} +1 -1
  37. package/dist/client/assets/{ai-providers-CLkwULvu.js → ai-providers-JbOXXc_R.js} +1 -1
  38. package/dist/client/assets/{alert-dialog-Cdfreq8h.js → alert-dialog-Bwy_rH97.js} +1 -1
  39. package/dist/client/assets/{auth-catchall-b9_GwGV9.js → auth-catchall-C3VH_Dck.js} +1 -1
  40. package/dist/client/assets/{auth-split-layout-DN-6D4gw.js → auth-split-layout-CVkhluLs.js} +1 -1
  41. package/dist/client/assets/{automation-list-row-cc33KM9f.js → automation-list-row-BuCvH4Q7.js} +1 -1
  42. package/dist/client/assets/{automations-Bwd0Zjtb.js → automations-DvFSCbvf.js} +1 -1
  43. package/dist/client/assets/{avatar-B6Z0AtKU.js → avatar-Dsz-bhfo.js} +1 -1
  44. package/dist/client/assets/{badge-DuX-HbXG.js → badge-iPJ-3b-g.js} +1 -1
  45. package/dist/client/assets/{brand-context-Bpvzo3Ih.js → brand-context-B1OitYV8.js} +1 -1
  46. package/dist/client/assets/{card-CPcMev8D.js → card-DSNfd8x4.js} +1 -1
  47. package/dist/client/assets/{chat-context-DbuMsQ7S.js → chat-context-DiInOdUJ.js} +1 -1
  48. package/dist/client/assets/{checkbox-C-Ko50Qz.js → checkbox-qBqcY9qR.js} +1 -1
  49. package/dist/client/assets/{collection-detail-Cu6axjnV.js → collection-detail-CN8jY1eL.js} +1 -1
  50. package/dist/client/assets/{collection-display-button-C0nlFlYP.js → collection-display-button-DOUhX4so.js} +1 -1
  51. package/dist/client/assets/{collection-search-BspYrIbh.js → collection-search-DC-A5Tly.js} +1 -1
  52. package/dist/client/assets/{collection-search-CqiBAkuN.js → collection-search-IohwJ8ai.js} +1 -1
  53. package/dist/client/assets/{collection-table-wrapper-CDtp6Lu-.js → collection-table-wrapper-C-XXh3yU.js} +1 -1
  54. package/dist/client/assets/{collection-tabs-2Q8alD64.js → collection-tabs-BhE6FesE.js} +1 -1
  55. package/dist/client/assets/{collections-Q8oYdFa_.js → collections-0CrH-iYo.js} +1 -1
  56. package/dist/client/assets/{command-BQ-vegOU.js → command-Cc4t6qSe.js} +1 -1
  57. package/dist/client/assets/{connection-card-Bc0dPYwM.js → connection-card-BYjw1WCD.js} +1 -1
  58. package/dist/client/assets/{connection-detail-C1N2RQr_.js → connection-detail-dKqPU4E9.js} +1 -1
  59. package/dist/client/assets/{connection-form-helpers-W3RRIHm1.js → connection-form-helpers-D3-PY6di.js} +1 -1
  60. package/dist/client/assets/{connections-BcIyh3fZ.js → connections-BjWE1SNq.js} +1 -1
  61. package/dist/client/assets/{constants-DluHfea9.js → constants-BaxFlu-m.js} +1 -1
  62. package/dist/client/assets/{constants-Bd9zIcdF.js → constants-jOfELvua.js} +1 -1
  63. package/dist/client/assets/{decopilot-sse-pool-hkF8OI4i.js → decopilot-sse-pool-BbBOBU9E.js} +1 -1
  64. package/dist/client/assets/{dialog-DQsjVnXm.js → dialog-DqB27OFJ.js} +1 -1
  65. package/dist/client/assets/{domain-settings-D4xKOeIJ.js → domain-settings-gHIEicD4.js} +1 -1
  66. package/dist/client/assets/{drawer-C95BLseT.js → drawer-BSSrYYUB.js} +1 -1
  67. package/dist/client/assets/{dropdown-menu-DNdQ45Bp.js → dropdown-menu-B8CBtORJ.js} +1 -1
  68. package/dist/client/assets/{dynamic-plugin-layout-DFbM15Nv.js → dynamic-plugin-layout-CgaYmNh8.js} +1 -1
  69. package/dist/client/assets/{empty-state-ins4YyGY.js → empty-state-36XeemYb.js} +1 -1
  70. package/dist/client/assets/{empty-state-DXe4FWvP.js → empty-state-DczTx6xh.js} +1 -1
  71. package/dist/client/assets/{extract-connection-data-Cx2w4WvM.js → extract-connection-data-BfTmcFIy.js} +1 -1
  72. package/dist/client/assets/{features-Wqz_RaMb.js → features-B1XfzltG.js} +1 -1
  73. package/dist/client/assets/{form-BLLcSA3X.js → form-a9MI1UYr.js} +1 -1
  74. package/dist/client/assets/{general-ijZAV1-E.js → general-DhvpZ-SE.js} +1 -1
  75. package/dist/client/assets/{hooks-DeaBsbpv.js → hooks-DnfwUOAD.js} +1 -1
  76. package/dist/client/assets/{index-mI-n1RY_.js → index-0TxKcRxf.js} +4 -4
  77. package/dist/client/assets/{index-DCE9xlvp.js → index-BI2_M4_h.js} +1 -1
  78. package/dist/client/assets/{index-BJJ2PVJg.js → index-BQqQsvVW.js} +1 -1
  79. package/dist/client/assets/{index-C37bhsr5.js → index-BUxqM5Lo.js} +1 -1
  80. package/dist/client/assets/{index-OeWdWZqV.js → index-BzWgj7Oa.js} +1 -1
  81. package/dist/client/assets/{index-utTjfhj7.js → index-CLIXAB_J.js} +1 -1
  82. package/dist/client/assets/{index-Dy1gRduk.js → index-CPgTPXco.js} +1 -1
  83. package/dist/client/assets/{index-BZ2rkctg.js → index-CUwW4NXn.js} +1 -1
  84. package/dist/client/assets/{index-Dy-mR60t.js → index-CagJawme.js} +1 -1
  85. package/dist/client/assets/{index-YXsKY2Pd.js → index-DDACqAIv.js} +1 -1
  86. package/dist/client/assets/{index-Bi-4ixVf.js → index-Dafbo6KP.js} +2 -2
  87. package/dist/client/assets/{index-BTmgQgsB.js → index-DhqR5jvQ.js} +1 -1
  88. package/dist/client/assets/index-WMqjuM-O.js +1 -0
  89. package/dist/client/assets/{index-CrcyHEee.js → index-Yxy3IbSF.js} +1 -1
  90. package/dist/client/assets/{index-gCOOFftt.js → index-aqhwwY3A.js} +1 -1
  91. package/dist/client/assets/{index-Lig1VfMX.js → index-fQwh9-F-.js} +1 -1
  92. package/dist/client/assets/{infiniteQueryObserver-KPsJNZtU.js → infiniteQueryObserver-ADfWvfKw.js} +1 -1
  93. package/dist/client/assets/{input-QgkTFK1Y.js → input-CXey3CbM.js} +1 -1
  94. package/dist/client/assets/{integration-icon-COO4kraU.js → integration-icon-DF5202zU.js} +1 -1
  95. package/dist/client/assets/{label-Dd7sq9qY.js → label-C9-f4FxN.js} +1 -1
  96. package/dist/client/assets/{layout-aKGszX9G.js → layout-DysqiFer.js} +1 -1
  97. package/dist/client/assets/{lean-canvas-recruit-modal-BEpiRdpq.js → lean-canvas-recruit-modal-JlqgSsAw.js} +1 -1
  98. package/dist/client/assets/{login-DGV0CZNZ.js → login-Zjs8a17g.js} +1 -1
  99. package/dist/client/assets/{members-DHuSMm5o.js → members-BHH4A8ql.js} +1 -1
  100. package/dist/client/assets/{monaco-editor-CDrBGVTp.js → monaco-editor-DEFMfQti.js} +1 -1
  101. package/dist/client/assets/{monitoring-stats-row-xE7sAth2.js → monitoring-stats-row-CD1cfZZw.js} +1 -1
  102. package/dist/client/assets/{oauth-callback-bxKcdl_K.js → oauth-callback-CsZaiVTq.js} +1 -1
  103. package/dist/client/assets/{oauth-callback-ai-provider-byUcdiot.js → oauth-callback-ai-provider-CYb5fWxB.js} +1 -1
  104. package/dist/client/assets/{onboarding-BXYW3w_g.js → onboarding-CzwgU1jk.js} +1 -1
  105. package/dist/client/assets/{org-layout-BSw0zzCJ.js → org-layout-BBs2xQB-.js} +1 -1
  106. package/dist/client/assets/{org-plugin-layout-CEr1DsjN.js → org-plugin-layout-D8AzyP8A.js} +1 -1
  107. package/dist/client/assets/{pair-BN6WPVpo.js → pair-ChokhkYM.js} +1 -1
  108. package/dist/client/assets/{plugin-empty-state-BlI9ZapG.js → plugin-empty-state-CkYgEe2d.js} +1 -1
  109. package/dist/client/assets/{plugin-header-BmtERQVq.js → plugin-header-Cym7LOsS.js} +1 -1
  110. package/dist/client/assets/{plugin-layout-AU0WeFM3.js → plugin-layout-CNPR8KRo.js} +1 -1
  111. package/dist/client/assets/{popover-C5lUnepL.js → popover-FZUW9GeB.js} +1 -1
  112. package/dist/client/assets/{profile-Dr9T7tHc.js → profile-CfeX0T8V.js} +1 -1
  113. package/dist/client/assets/{project-app-view-BFdbhyoU.js → project-app-view-C13UNbHQ.js} +1 -1
  114. package/dist/client/assets/registry-C0nU0Wk_.js +2 -0
  115. package/dist/client/assets/{registry-layout-Cp3DQdwU.js → registry-layout-CNewzL5C.js} +1 -1
  116. package/dist/client/assets/{required-auth-layout-CYjQEJ6E.js → required-auth-layout-OqkpJ1gZ.js} +1 -1
  117. package/dist/client/assets/{reset-password-CQTDYwOI.js → reset-password-VJjNzGF7.js} +1 -1
  118. package/dist/client/assets/{roles-VcxCOj_A.js → roles-CKygtsYC.js} +1 -1
  119. package/dist/client/assets/{scroll-area-qjCdT-t5.js → scroll-area-CnYXAabJ.js} +1 -1
  120. package/dist/client/assets/{search-input-BwQI4w3C.js → search-input-B0wH-epo.js} +1 -1
  121. package/dist/client/assets/{sections-editor-CmgtacSD.js → sections-editor-DiFaLGAi.js} +1 -1
  122. package/dist/client/assets/{select-CK0kW4ex.js → select-fNATM4j6.js} +1 -1
  123. package/dist/client/assets/{select-model-CC9Eh8cT.js → select-model-ODmu-bwA.js} +1 -1
  124. package/dist/client/assets/{settings-layout-DDBdgNeh.js → settings-layout-BapbHl6z.js} +1 -1
  125. package/dist/client/assets/{settings-section-CfFJqST9.js → settings-section-QSNOy9m7.js} +1 -1
  126. package/dist/client/assets/{shell-layout-DtekPsGv.js → shell-layout-jNefLEfW.js} +1 -1
  127. package/dist/client/assets/{sidebar-nb8t-Ihd.js → sidebar-D_gkU9m3.js} +1 -1
  128. package/dist/client/assets/{skeleton-_s_hXTZF.js → skeleton-C8PGQIVC.js} +1 -1
  129. package/dist/client/assets/{spinner-DCYQWbv6.js → spinner-ljA_tP6a.js} +1 -1
  130. package/dist/client/assets/{sso-B045lzV5.js → sso-BhgfWxX7.js} +1 -1
  131. package/dist/client/assets/{store-CpnFYEf7.js → store-Dfq7_Nws.js} +1 -1
  132. package/dist/client/assets/store-registry-DXoRYZt7.js +2 -0
  133. package/dist/client/assets/{switch-B8BPSs8w.js → switch-DwoTPr8Z.js} +1 -1
  134. package/dist/client/assets/{table-DMEAm7Hr.js → table-2ryKTf-j.js} +1 -1
  135. package/dist/client/assets/{tabs-EqUrZr-k.js → tabs-D5KXT2we.js} +1 -1
  136. package/dist/client/assets/{task-status-CLj61FvF.js → task-status-PgLi7wLq.js} +1 -1
  137. package/dist/client/assets/{textarea-4lTPcTDm.js → textarea-HP8j1ZBz.js} +1 -1
  138. package/dist/client/assets/{toggle-group-Dlrhim3W.js → toggle-group-BnxMzox5.js} +1 -1
  139. package/dist/client/assets/{tools-list-SJp5Kjun.js → tools-list-B_wBuF9L.js} +1 -1
  140. package/dist/client/assets/{tooltip-3_pIXWoV.js → tooltip-DPCJSn7b.js} +1 -1
  141. package/dist/client/assets/{types-BzvtvAhD.js → types-Q1Tp6Ltz.js} +1 -1
  142. package/dist/client/assets/{use-ai-providers-DvugvUXm.js → use-ai-providers-CSSNz1AF.js} +1 -1
  143. package/dist/client/assets/{use-collections-CMNtn2pP.js → use-collections-bNnybRK4.js} +1 -1
  144. package/dist/client/assets/{use-connection-4dp6vltG.js → use-connection-zaTZD5GQ.js} +1 -1
  145. package/dist/client/assets/{use-copy-C3bRXLwS.js → use-copy-C4JPc-OE.js} +1 -1
  146. package/dist/client/assets/{use-create-virtual-mcp-CPtEo0l0.js → use-create-virtual-mcp-uFMw7R1T.js} +1 -1
  147. package/dist/client/assets/{use-create-website-agent-CLQENk06.js → use-create-website-agent-BGj9NqHw.js} +1 -1
  148. package/dist/client/assets/{use-debounced-autosave-DOpIyk_t.js → use-debounced-autosave-uyOnugVO.js} +1 -1
  149. package/dist/client/assets/{use-delete-connection-Dw6EseHg.js → use-delete-connection-DKclTi78.js} +1 -1
  150. package/dist/client/assets/{use-infinite-scroll-CMzrnHxF.js → use-infinite-scroll-BXvdVyub.js} +1 -1
  151. package/dist/client/assets/{use-list-state-BFUruWt-.js → use-list-state-CV7oOgJZ.js} +1 -1
  152. package/dist/client/assets/{use-mcp-tools-7IrMWr2O.js → use-mcp-tools-CDFUEEay.js} +1 -1
  153. package/dist/client/assets/{use-members-DcycrO6k.js → use-members-B9MXlYuH.js} +1 -1
  154. package/dist/client/assets/{use-navigate-to-agent-CGhfa7T5.js → use-navigate-to-agent-BwYHQmsT.js} +1 -1
  155. package/dist/client/assets/{use-org-auth-client-bg29lmpz.js → use-org-auth-client-DXX7xt49.js} +1 -1
  156. package/dist/client/assets/{use-org-sso-z5ST5HFy.js → use-org-sso-HphncyIL.js} +1 -1
  157. package/dist/client/assets/{use-organization-roles-Ct6GhPcc.js → use-organization-roles-BjaeKE_v.js} +1 -1
  158. package/dist/client/assets/{use-organization-settings-DihgWGBy.js → use-organization-settings-DxD58kEM.js} +1 -1
  159. package/dist/client/assets/{use-registry-connections-D3hKK9G3.js → use-registry-connections-DLgJmpgh.js} +1 -1
  160. package/dist/client/assets/{use-status-sounds-C8F2y4WG.js → use-status-sounds-DDyC2eb6.js} +1 -1
  161. package/dist/client/assets/{use-view-mode-Dy-xi6-P.js → use-view-mode-D8dn2Qkt.js} +1 -1
  162. package/dist/client/assets/{use-virtual-mcp-BsXQDIiZ.js → use-virtual-mcp-LBsT9sMD.js} +1 -1
  163. package/dist/client/assets/useInfiniteQuery-CThQ9L14.js +1 -0
  164. package/dist/client/assets/{useRouterState-BvnA81Rh.js → useRouterState-CF5PuQn9.js} +1 -1
  165. package/dist/client/assets/useSuspenseInfiniteQuery-UWsC3iTS.js +1 -0
  166. package/dist/client/assets/{user-BzDLAdn3.js → user-Cxfp7e_5.js} +1 -1
  167. package/dist/client/assets/{view-mode-toggle-D5Ws2ci0.js → view-mode-toggle-OFOsA-2d.js} +1 -1
  168. package/dist/client/assets/{workflow-CtjoYqqZ.js → workflow-BxD2oczZ.js} +1 -1
  169. package/dist/client/assets/workflow-detail-CcyabYQh.js +1 -0
  170. package/dist/client/index.html +1 -1
  171. package/dist/server/cli.js +1 -1
  172. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/InstrumentDescriptor.js +1 -1
  173. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/InstrumentDescriptor.js.map +1 -1
  174. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/Instruments.d.ts +3 -3
  175. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/Instruments.js +6 -6
  176. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/Instruments.js.map +1 -1
  177. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/Meter.d.ts +1 -1
  178. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/Meter.js +2 -2
  179. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/Meter.js.map +1 -1
  180. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/ObservableResult.d.ts +3 -3
  181. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/ObservableResult.js +5 -5
  182. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/ObservableResult.js.map +1 -1
  183. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/ExponentialHistogram.d.ts +3 -3
  184. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/ExponentialHistogram.js +17 -17
  185. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/ExponentialHistogram.js.map +1 -1
  186. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/Histogram.d.ts +3 -3
  187. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/Histogram.js +8 -8
  188. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/Histogram.js.map +1 -1
  189. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/LastValue.d.ts +1 -1
  190. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/LastValue.js +2 -2
  191. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/LastValue.js.map +1 -1
  192. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/Sum.d.ts +2 -2
  193. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/Sum.js +3 -3
  194. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/Sum.js.map +1 -1
  195. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/exponential-histogram/Buckets.d.ts +1 -1
  196. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/exponential-histogram/Buckets.js +2 -2
  197. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/exponential-histogram/Buckets.js.map +1 -1
  198. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/export/ConsoleMetricExporter.js +1 -1
  199. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/export/ConsoleMetricExporter.js.map +1 -1
  200. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/export/MetricReader.js +3 -3
  201. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/export/MetricReader.js.map +1 -1
  202. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/export/PeriodicExportingMetricReader.js +14 -21
  203. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/export/PeriodicExportingMetricReader.js.map +1 -1
  204. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/AsyncMetricStorage.d.ts +2 -2
  205. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/AsyncMetricStorage.js +4 -4
  206. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/AsyncMetricStorage.js.map +1 -1
  207. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/DeltaMetricProcessor.d.ts +2 -2
  208. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/DeltaMetricProcessor.js +3 -3
  209. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/DeltaMetricProcessor.js.map +1 -1
  210. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/HashMap.d.ts +2 -2
  211. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/HashMap.js +3 -3
  212. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/HashMap.js.map +1 -1
  213. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MeterProviderSharedState.d.ts +1 -1
  214. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MeterProviderSharedState.js +1 -1
  215. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MeterProviderSharedState.js.map +1 -1
  216. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MeterSharedState.d.ts +3 -3
  217. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MeterSharedState.js +11 -12
  218. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MeterSharedState.js.map +1 -1
  219. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MetricCollector.d.ts +1 -1
  220. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MetricCollector.js +3 -3
  221. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MetricCollector.js.map +1 -1
  222. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MetricStorage.d.ts +1 -1
  223. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MetricStorage.js +2 -2
  224. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MetricStorage.js.map +1 -1
  225. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MultiWritableMetricStorage.d.ts +1 -1
  226. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MultiWritableMetricStorage.js +2 -2
  227. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MultiWritableMetricStorage.js.map +1 -1
  228. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/ObservableRegistry.js +4 -4
  229. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/ObservableRegistry.js.map +1 -1
  230. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/SyncMetricStorage.d.ts +2 -2
  231. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/SyncMetricStorage.js +4 -4
  232. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/SyncMetricStorage.js.map +1 -1
  233. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/TemporalMetricProcessor.d.ts +1 -1
  234. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/TemporalMetricProcessor.js +2 -2
  235. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/state/TemporalMetricProcessor.js.map +1 -1
  236. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/utils.d.ts +19 -0
  237. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/utils.js +36 -0
  238. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/utils.js.map +1 -1
  239. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/version.d.ts +1 -1
  240. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/version.js +1 -1
  241. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/version.js.map +1 -1
  242. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/view/Aggregation.d.ts +3 -3
  243. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/view/Aggregation.js +6 -6
  244. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/view/Aggregation.js.map +1 -1
  245. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/view/AttributesProcessor.js +12 -16
  246. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esm/view/AttributesProcessor.js.map +1 -1
  247. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/InstrumentDescriptor.js +1 -1
  248. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/InstrumentDescriptor.js.map +1 -1
  249. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/Instruments.d.ts +3 -3
  250. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/Instruments.js +6 -6
  251. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/Instruments.js.map +1 -1
  252. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/Meter.d.ts +1 -1
  253. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/Meter.js +2 -2
  254. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/Meter.js.map +1 -1
  255. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/ObservableResult.d.ts +3 -3
  256. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/ObservableResult.js +5 -5
  257. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/ObservableResult.js.map +1 -1
  258. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/ExponentialHistogram.d.ts +3 -3
  259. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/ExponentialHistogram.js +17 -17
  260. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/ExponentialHistogram.js.map +1 -1
  261. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/Histogram.d.ts +3 -3
  262. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/Histogram.js +8 -8
  263. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/Histogram.js.map +1 -1
  264. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/LastValue.d.ts +1 -1
  265. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/LastValue.js +2 -2
  266. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/LastValue.js.map +1 -1
  267. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/Sum.d.ts +2 -2
  268. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/Sum.js +3 -3
  269. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/Sum.js.map +1 -1
  270. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/exponential-histogram/Buckets.d.ts +1 -1
  271. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/exponential-histogram/Buckets.js +2 -2
  272. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/exponential-histogram/Buckets.js.map +1 -1
  273. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/ConsoleMetricExporter.js +1 -1
  274. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/ConsoleMetricExporter.js.map +1 -1
  275. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/MetricReader.js +3 -3
  276. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/MetricReader.js.map +1 -1
  277. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/PeriodicExportingMetricReader.js +14 -21
  278. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/PeriodicExportingMetricReader.js.map +1 -1
  279. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/AsyncMetricStorage.d.ts +2 -2
  280. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/AsyncMetricStorage.js +4 -4
  281. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/AsyncMetricStorage.js.map +1 -1
  282. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/DeltaMetricProcessor.d.ts +2 -2
  283. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/DeltaMetricProcessor.js +3 -3
  284. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/DeltaMetricProcessor.js.map +1 -1
  285. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/HashMap.d.ts +2 -2
  286. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/HashMap.js +3 -3
  287. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/HashMap.js.map +1 -1
  288. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MeterProviderSharedState.d.ts +1 -1
  289. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MeterProviderSharedState.js +1 -1
  290. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MeterProviderSharedState.js.map +1 -1
  291. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MeterSharedState.d.ts +3 -3
  292. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MeterSharedState.js +11 -12
  293. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MeterSharedState.js.map +1 -1
  294. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MetricCollector.d.ts +1 -1
  295. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MetricCollector.js +3 -3
  296. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MetricCollector.js.map +1 -1
  297. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MetricStorage.d.ts +1 -1
  298. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MetricStorage.js +2 -2
  299. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MetricStorage.js.map +1 -1
  300. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MultiWritableMetricStorage.d.ts +1 -1
  301. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MultiWritableMetricStorage.js +2 -2
  302. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MultiWritableMetricStorage.js.map +1 -1
  303. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/ObservableRegistry.js +4 -4
  304. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/ObservableRegistry.js.map +1 -1
  305. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/SyncMetricStorage.d.ts +2 -2
  306. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/SyncMetricStorage.js +4 -4
  307. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/SyncMetricStorage.js.map +1 -1
  308. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/TemporalMetricProcessor.d.ts +1 -1
  309. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/TemporalMetricProcessor.js +2 -2
  310. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/TemporalMetricProcessor.js.map +1 -1
  311. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/utils.d.ts +19 -0
  312. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/utils.js +36 -0
  313. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/utils.js.map +1 -1
  314. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/version.d.ts +1 -1
  315. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/version.js +1 -1
  316. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/version.js.map +1 -1
  317. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/view/Aggregation.d.ts +3 -3
  318. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/view/Aggregation.js +6 -6
  319. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/view/Aggregation.js.map +1 -1
  320. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/view/AttributesProcessor.js +12 -16
  321. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/esnext/view/AttributesProcessor.js.map +1 -1
  322. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/InstrumentDescriptor.js +1 -1
  323. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/InstrumentDescriptor.js.map +1 -1
  324. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/Instruments.d.ts +3 -3
  325. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/Instruments.js +6 -6
  326. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/Instruments.js.map +1 -1
  327. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/Meter.d.ts +1 -1
  328. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/Meter.js +2 -2
  329. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/Meter.js.map +1 -1
  330. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/ObservableResult.d.ts +3 -3
  331. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/ObservableResult.js +5 -5
  332. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/ObservableResult.js.map +1 -1
  333. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/ExponentialHistogram.d.ts +3 -3
  334. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/ExponentialHistogram.js +17 -17
  335. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/ExponentialHistogram.js.map +1 -1
  336. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Histogram.d.ts +3 -3
  337. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Histogram.js +8 -8
  338. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Histogram.js.map +1 -1
  339. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/LastValue.d.ts +1 -1
  340. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/LastValue.js +2 -2
  341. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/LastValue.js.map +1 -1
  342. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Sum.d.ts +2 -2
  343. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Sum.js +3 -3
  344. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Sum.js.map +1 -1
  345. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/Buckets.d.ts +1 -1
  346. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/Buckets.js +2 -2
  347. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/Buckets.js.map +1 -1
  348. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/export/ConsoleMetricExporter.js +1 -1
  349. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/export/ConsoleMetricExporter.js.map +1 -1
  350. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricReader.js +2 -2
  351. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricReader.js.map +1 -1
  352. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/export/PeriodicExportingMetricReader.js +14 -21
  353. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/export/PeriodicExportingMetricReader.js.map +1 -1
  354. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/AsyncMetricStorage.d.ts +2 -2
  355. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/AsyncMetricStorage.js +4 -4
  356. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/AsyncMetricStorage.js.map +1 -1
  357. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/DeltaMetricProcessor.d.ts +2 -2
  358. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/DeltaMetricProcessor.js +3 -3
  359. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/DeltaMetricProcessor.js.map +1 -1
  360. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/HashMap.d.ts +2 -2
  361. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/HashMap.js +3 -3
  362. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/HashMap.js.map +1 -1
  363. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MeterProviderSharedState.d.ts +1 -1
  364. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MeterProviderSharedState.js +1 -1
  365. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MeterProviderSharedState.js.map +1 -1
  366. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MeterSharedState.d.ts +3 -3
  367. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MeterSharedState.js +11 -12
  368. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MeterSharedState.js.map +1 -1
  369. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MetricCollector.d.ts +1 -1
  370. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MetricCollector.js +3 -3
  371. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MetricCollector.js.map +1 -1
  372. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MetricStorage.d.ts +1 -1
  373. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MetricStorage.js +2 -2
  374. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MetricStorage.js.map +1 -1
  375. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MultiWritableMetricStorage.d.ts +1 -1
  376. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MultiWritableMetricStorage.js +2 -2
  377. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/MultiWritableMetricStorage.js.map +1 -1
  378. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/ObservableRegistry.js +3 -3
  379. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/ObservableRegistry.js.map +1 -1
  380. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/SyncMetricStorage.d.ts +2 -2
  381. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/SyncMetricStorage.js +4 -4
  382. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/SyncMetricStorage.js.map +1 -1
  383. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/TemporalMetricProcessor.d.ts +1 -1
  384. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/TemporalMetricProcessor.js +2 -2
  385. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/state/TemporalMetricProcessor.js.map +1 -1
  386. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/utils.d.ts +19 -0
  387. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/utils.js +41 -1
  388. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/utils.js.map +1 -1
  389. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/version.d.ts +1 -1
  390. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/version.js +1 -1
  391. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/version.js.map +1 -1
  392. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/view/Aggregation.d.ts +3 -3
  393. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/view/Aggregation.js +6 -6
  394. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/view/Aggregation.js.map +1 -1
  395. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/view/AttributesProcessor.js +12 -16
  396. package/dist/server/node_modules/@opentelemetry/sdk-metrics/build/src/view/AttributesProcessor.js.map +1 -1
  397. package/dist/server/node_modules/@opentelemetry/sdk-metrics/package.json +6 -6
  398. package/dist/server/node_modules/cli-truncate/index.d.ts +118 -0
  399. package/dist/server/node_modules/cli-truncate/index.js +168 -0
  400. package/dist/server/node_modules/cli-truncate/license +9 -0
  401. package/dist/server/node_modules/cli-truncate/package.json +52 -0
  402. package/dist/server/node_modules/cli-truncate/readme.md +154 -0
  403. package/package.json +1 -1
  404. package/dist/client/assets/index-B2URRgKz.js +0 -1
  405. package/dist/client/assets/registry-C17O7pRU.js +0 -2
  406. package/dist/client/assets/store-registry-B1nN3Sbl.js +0 -2
  407. package/dist/client/assets/useInfiniteQuery-Y-7o1fZS.js +0 -1
  408. package/dist/client/assets/useSuspenseInfiniteQuery-DfdSBeSw.js +0 -1
  409. package/dist/client/assets/workflow-detail-BoMhsz2R.js +0 -1
  410. package/dist/server/node_modules/@protobufjs/base64/LICENSE +0 -26
  411. package/dist/server/node_modules/@protobufjs/base64/README.md +0 -19
  412. package/dist/server/node_modules/@protobufjs/base64/index.d.ts +0 -32
  413. package/dist/server/node_modules/@protobufjs/base64/index.js +0 -139
  414. package/dist/server/node_modules/@protobufjs/base64/package.json +0 -21
  415. package/dist/server/node_modules/@protobufjs/base64/tests/index.js +0 -46
  416. package/dist/server/node_modules/@protobufjs/eventemitter/LICENSE +0 -26
  417. package/dist/server/node_modules/@protobufjs/eventemitter/README.md +0 -22
  418. package/dist/server/node_modules/@protobufjs/eventemitter/index.d.ts +0 -43
  419. package/dist/server/node_modules/@protobufjs/eventemitter/index.js +0 -76
  420. package/dist/server/node_modules/@protobufjs/eventemitter/package.json +0 -21
  421. package/dist/server/node_modules/@protobufjs/eventemitter/tests/index.js +0 -47
  422. package/dist/server/node_modules/@protobufjs/utf8/LICENSE +0 -26
  423. package/dist/server/node_modules/@protobufjs/utf8/README.md +0 -20
  424. package/dist/server/node_modules/@protobufjs/utf8/index.d.ts +0 -24
  425. package/dist/server/node_modules/@protobufjs/utf8/index.js +0 -104
  426. package/dist/server/node_modules/@protobufjs/utf8/package.json +0 -21
  427. package/dist/server/node_modules/@protobufjs/utf8/tests/data/surrogate_pair_bug.txt +0 -207
  428. package/dist/server/node_modules/@protobufjs/utf8/tests/data/utf8.txt +0 -216
  429. package/dist/server/node_modules/@protobufjs/utf8/tests/index.js +0 -74
@@ -1623,7 +1623,7 @@ AS SELECT
1623
1623
  FROM monitoring_metrics
1624
1624
  GROUP BY organization_id, name, bucket, connection_id, tool_name, status
1625
1625
  `}),console.log("[clickhouse-schema] monitoring_metrics_rollup_1m_mv view ready")}finally{await Y.close()}}catch(X){console.error("[clickhouse-schema] Failed to create rollup DDL (queries will fall back to raw table):",X)}}async function EO1($){let X={...process.env},Y=nJ1($,X),G=Y.settings.encryptionKey;console.log(`[settings] ENCRYPTION_KEY = ${JSON.stringify(G)} (${G.length} chars)`);let{ensureServices:Q}=await Promise.resolve().then(() => (fJ1(),bJ1)),{outputs:J,services:Z}=await Q({home:Y.settings.dataDir,externalDatabaseUrl:Y.externalDatabaseUrl,externalNatsUrl:Y.externalNatsUrl});if(!Y.skipMigrations){let{migrateBetterAuth:K}=await Promise.resolve().then(() => (L90(),AJ6));await K(J.databaseUrl);let{createDatabase:F}=await Promise.resolve().then(() => (IF(),qJ6)),{migrateToLatest:U}=await Promise.resolve().then(() => (uL6(),hL6)),B=F(J.databaseUrl);await U({keepOpen:!0,database:B,skipBetterAuth:!0})}if(Y.settings.clickhouseUrl){let{ensureClickHouseRollup:K}=await Promise.resolve().then(() => mj6);await K(Y.settings.clickhouseUrl)}let W={...Y.settings,databaseUrl:J.databaseUrl,natsUrls:J.natsUrls};return Od1(W),{settings:W,services:Z.map((K)=>({name:K.name==="PostgreSQL"?"Postgres":K.name,port:K.port})),managedServiceNames:Z.filter((K)=>K.owner==="managed").map((K)=>K.name)}}var aZ0=D(()=>{Ld1();p5()});var AO1={};D0(AO1,{updateService:()=>yp,toggleViewMode:()=>sZ0,toggleVibeState:()=>$W0,toggleLogFlow:()=>eZ0,subscribeCliState:()=>R$1,setVibe:()=>Yb8,setTuiConsoleIntercepted:()=>PO1,setServerUrl:()=>k$1,setMigrationsDone:()=>S$1,setEnv:()=>C$1,setDevMode:()=>$b8,setDataDir:()=>Xb8,isTuiConsoleIntercepted:()=>qO1,getCliState:()=>I$1,addLogEntry:()=>GE});function dF(){for(let $ of oZ0)$()}function I$1(){return Q9}function R$1($){return oZ0.add($),()=>oZ0.delete($)}function yp($){Q9={...Q9,services:Q9.services.map((X)=>X.name===$.name?$:X)},dF()}function S$1(){Q9={...Q9,migrationsStatus:"done"},dF()}function k$1($){Q9={...Q9,serverUrl:$},dF()}function C$1($){Q9={...Q9,env:$},dF()}function GE($){let X=[...Q9.logs,$];Q9={...Q9,logs:X.length>500?X.slice(-500):X},dF()}function $b8(){Q9={...Q9,services:[...Q9.services,{name:"Vite",status:"pending",port:0}]},dF()}function sZ0(){Q9={...Q9,viewMode:Q9.viewMode==="requests"?"config":"requests"},dF()}function eZ0(){Q9={...Q9,logFlow:!Q9.logFlow},dF()}function Xb8($){Q9={...Q9,dataDir:$},dF()}function Yb8($){Q9={...Q9,vibe:$},dF()}function $W0(){Q9={...Q9,vibe:!Q9.vibe},dF()}function PO1($){lj6=$}function qO1(){return lj6}var Q9,oZ0,lj6=!1;var Uw=D(()=>{Q9={services:[{name:"Postgres",status:"pending",port:0},{name:"NATS",status:"pending",port:0}],migrationsStatus:"pending",serverUrl:null,env:null,logs:[],viewMode:"requests",logFlow:!1,vibe:!1,dataDir:null},oZ0=new Set});import{createServer as cj6}from"net";function Gb8($){return new Promise((X)=>{let Y=cj6();Y.once("error",()=>X(!1)),Y.listen($,"0.0.0.0",()=>{Y.close(()=>X(!0))})})}async function TO1($){if(await Gb8($))return $;let X=await new Promise((Y,G)=>{let Q=cj6();Q.once("error",G),Q.listen(0,"0.0.0.0",()=>{let J=Q.address(),Z=typeof J==="object"&&J?J.port:0;Q.close(()=>Y(Z))})});return console.warn(`Port ${$} is in use, using port ${X} instead.`),X}var XW0=()=>{};var YW0={};D0(YW0,{startDevServer:()=>Jb8});import{join as Qb8}from"path";function dj6($){return $.replace(/\x1b\[[0-9;]*m/g,"")}function ij6($){let X=$.getReader(),Y=new TextDecoder,G="";function Q(){let J=G.split(`
1626
- `);G=J.pop()??"";for(let Z of J){let W=dj6(Z).replace(/^\[\d+\]\s*/,"").trim();if(!W)continue;GE({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:W})}}(async()=>{for(;;){let{done:J,value:Z}=await X.read();if(J)break;G+=Y.decode(Z,{stream:!0}),Q()}if(G.trim()){let J=dj6(G).replace(/^\[\d+\]\s*/,"").trim();if(J)GE({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:J})}})()}async function Jb8($){let{vitePort:X,baseUrl:Y,noTui:G}=$,Q=await TO1(Number($.port)),{settings:J,services:Z,managedServiceNames:W}=await EO1({port:String(Q),home:$.home,baseUrl:$.baseUrl,localMode:$.localMode,skipMigrations:$.skipMigrations,noTui:$.noTui,vitePort:$.vitePort});for(let N of Z)yp({name:N.name,status:"ready",port:N.port});C$1(J),S$1();let K=Qb8(import.meta.dir,"..","..","..","..",".."),F=G===!0,U=Bun.spawn(["bun","run","--cwd=apps/mesh","dev:servers"],{cwd:K,env:{...process.env,PORT:String(J.port),VITE_PORT:String(X),DATABASE_URL:J.databaseUrl,NATS_URL:J.natsUrls.join(","),NODE_ENV:J.nodeEnv,DECOCMS_LOCAL_MODE:String(J.localMode),DECOCMS_HOME:J.dataDir,DATA_DIR:J.dataDir,DECO_CLI:"1",...J.baseUrl?{BASE_URL:J.baseUrl}:{}},stdio:["inherit",F?"inherit":"pipe",F?"inherit":"pipe"]});if(!F)ij6(U.stdout),ij6(U.stderr);let B=Y||`http://localhost:${J.port}`;k$1(B),yp({name:"Vite",status:"ready",port:Number(X)});let w=async(N)=>{if(U.kill(N),await U.exited,W.length>0){let{stopServices:z}=await Promise.resolve().then(() => (fJ1(),bJ1));await z(J.dataDir)}};return process.on("SIGINT",()=>w("SIGINT")),process.on("SIGTERM",()=>w("SIGTERM")),{port:Number(J.port),process:U}}var GW0=D(()=>{aZ0();Uw();XW0()});import{Box as QW0,Text as JW0}from"ink";import{jsx as nj6,jsxs as VO1}from"react/jsx-runtime";function pj6($){if(!$)return"not set";try{let X=new URL($);if(X.password)X.password="***";if(X.username&&X.username.length>3)X.username=X.username.slice(0,3)+"***";return X.pathname="/",X.search="",X.hash="",X.toString()}catch{if($.length<=10)return $;return $.slice(0,6)+"***"+$.slice(-4)}}function Kb8($,X){if(Zb8.has($))return X?{text:"\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF",dimColor:!0}:{text:"not set",dimColor:!0};if(Wb8.has($)){if(Array.isArray(X)){if(X.length===0)return{text:"not set",dimColor:!0};return{text:X.map((J)=>pj6(J)).join(", "),color:"cyan"}}let G=pj6(X);return G==="not set"?{text:G,dimColor:!0}:{text:G,color:"cyan"}}if(X===void 0||X===null||X==="")return{text:"not set",dimColor:!0};let Y=String(X);if(Y==="true")return{text:Y,color:"green"};if(Y==="false")return{text:Y,color:"yellow"};try{return new URL(Y),{text:Y,color:"cyan"}}catch{return{text:Y}}}function Hb8($){return[{title:"Core",entries:[{key:"NODE_ENV",value:$.nodeEnv},{key:"PORT",value:$.port},{key:"BASE_URL",value:$.baseUrl??`http://localhost:${$.port}`},{key:"DATA_DIR",value:$.dataDir}]},{title:"Database",entries:[{key:"DATABASE_URL",value:$.databaseUrl},{key:"DATABASE_PG_SSL",value:$.databasePgSsl}]},{title:"Auth & Secrets",entries:[{key:"BETTER_AUTH_SECRET",value:$.betterAuthSecret},{key:"ENCRYPTION_KEY",value:$.encryptionKey},{key:"MESH_JWT_SECRET",value:$.meshJwtSecret},{key:"STUDIO_PROVISION_SECRET_KEY",value:$.studioProvisionSecretKey},{key:"DISABLE_RATE_LIMIT",value:$.disableRateLimit}]},{title:"Auth Providers",entries:[{key:"AUTH_EMAIL_PASSWORD_ENABLED",value:process.env.AUTH_EMAIL_PASSWORD_ENABLED??"true"},{key:"AUTH_GOOGLE_CLIENT_ID",value:!!process.env.AUTH_GOOGLE_CLIENT_ID},{key:"AUTH_GITHUB_CLIENT_ID",value:!!process.env.AUTH_GITHUB_CLIENT_ID},{key:"AUTH_RESEND_API_KEY",value:!!process.env.AUTH_RESEND_API_KEY},{key:"AUTH_SENDGRID_API_KEY",value:!!process.env.AUTH_SENDGRID_API_KEY},{key:"AUTH_SSO_MS_CLIENT_ID",value:!!process.env.AUTH_SSO_MS_CLIENT_ID},{key:"AUTH_SSO_GOOGLE_CLIENT_ID",value:!!process.env.AUTH_SSO_GOOGLE_CLIENT_ID},{key:"AUTH_MAGIC_LINK_ENABLED",value:process.env.AUTH_MAGIC_LINK_ENABLED==="true"},{key:"AUTH_EMAIL_OTP_ENABLED",value:process.env.AUTH_EMAIL_OTP_ENABLED==="true"}]},{title:"Observability",entries:[{key:"CLICKHOUSE_URL",value:$.clickhouseUrl},{key:"OTEL_SERVICE_NAME",value:$.otelServiceName}]},{title:"Event Bus & Networking",entries:[{key:"NATS_URL",value:$.natsUrls}]},{title:"Config Files",entries:[{key:"CONFIG_PATH",value:$.configPath}]},{title:"AI Gateway",entries:[{key:"DECO_AI_GATEWAY_ENABLED",value:$.aiGatewayEnabled},{key:"DECO_AI_GATEWAY_URL",value:$.aiGatewayUrl}]}]}function rj6({env:$}){let X=Hb8($);return nj6(QW0,{flexDirection:"column",children:X.map((Y)=>VO1(QW0,{flexDirection:"column",marginTop:1,children:[VO1(JW0,{dimColor:!0,children:[" ","\u2500\u2500 ",Y.title," ","\u2500".repeat(Math.max(0,38-Y.title.length))]}),Y.entries.map(({key:G,value:Q})=>{let J=Kb8(G,Q);return VO1(QW0,{children:[VO1(JW0,{dimColor:!0,children:[" ",G.padEnd(36)]}),nj6(JW0,{color:J.color,dimColor:J.dimColor,children:J.text})]},G)})]},Y.title))})}var Zb8,Wb8;var tj6=D(()=>{Zb8=new Set(["BETTER_AUTH_SECRET","ENCRYPTION_KEY","MESH_JWT_SECRET","STUDIO_PROVISION_SECRET_KEY"]),Wb8=new Set(["DATABASE_URL","CLICKHOUSE_URL","NATS_URL"])});var ZW0;var aj6=D(()=>{ZW0={name:"decocms",version:"2.336.7",description:"Deco CMS \u2014 Self-hostable MCP Gateway for managing AI connections and tools",author:"Deco team",repository:{type:"git",url:"git+https://github.com/decocms/studio.git",directory:"apps/mesh"},bugs:{url:"https://github.com/decocms/studio/issues"},type:"module",bin:{deco:"./dist/server/cli.js"},files:["dist/**/*"],scripts:{dev:'bun run migrate && concurrently "bun run dev:client" "bun run dev:server"',"dev:servers":'concurrently "bun run dev:client" "bun run dev:server"',"dev:client":"bun --bun vite dev","dev:server":"bun run --cwd=../../packages/sandbox build && NODE_ENV=development bun --env-file=.env --hot run src/index.ts","build:client":"bun --bun vite build","build:server":"bun run scripts/bundle-server-script.ts --dist ./dist/server","db:migrate":"bun run ./dist/server/migrate.js",check:"tsc --noEmit",start:"bun run ./dist/server/server.js",migrate:"bun run src/database/migrate.ts",test:"bun test","test:e2e":"playwright test","test:e2e:ui":"playwright test --ui","better-auth:migrate":"bunx --bun @better-auth/cli migrate -y --config src/auth/index.ts",prepublishOnly:"bun run build:client && bun run build:server"},optionalDependencies:{"@duckdb/node-api":"^1.5.0-r.1"},dependencies:{"@ai-sdk/anthropic":"^3.0.77","@ai-sdk/google":"^3.0.73","@ai-sdk/openai":"^3.0.63","@anthropic-ai/sdk":"^0.96.0","@aws-sdk/client-s3":"^3.1013.0","@aws-sdk/s3-request-presigner":"^3.1013.0","@clickhouse/client":"^1.8.1","@dbos-inc/dbos-sdk":"^4.17.6","@deco-cx/warp-node":"^0.3.20","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@inkjs/ui":"^2.0.0","@modelcontextprotocol/ext-apps":"^1.7.1","@openrouter/ai-sdk-provider":"^2.9.0","@opentelemetry/core":"^2.6.0","@tanstack/react-virtual":"3.13.24","@xterm/addon-fit":"^0.11.0","@xterm/xterm":"^6.0.0","ai-sdk-provider-claude-code":"^3.4.4","ai-sdk-provider-codex-cli":"^1.1.0","embedded-postgres":"^18.3.0-beta.16",ink:"^6.8.0",kysely:"^0.28.12",nats:"^2.29.3","node-pty":"^1.0.0","posthog-js":"^1.371.1","posthog-node":"^5.0.0",react:"^19.2.6","react-dom":"^19.2.6"},devDependencies:{"@ai-sdk/provider":"^3.0.10","@ai-sdk/react":"^3.0.184","@anthropic-ai/claude-agent-sdk":"^0.2.141","@better-auth/sso":"1.4.1","@daveyplate/better-auth-ui":"^3.2.7","@deco/ui":"workspace:*","@decocms/better-auth":"1.5.17","@decocms/bindings":"workspace:*","@decocms/mcp-utils":"workspace:*","@decocms/mesh-sdk":"workspace:*","@decocms/runtime":"workspace:*","@decocms/vite-plugin":"workspace:*","@electric-sql/pglite":"^0.3.15","@floating-ui/react":"^0.27.16","@hookform/resolvers":"^5.2.2","@jitl/quickjs-wasmfile-release-sync":"0.31.0","@modelcontextprotocol/sdk":"1.29.0","@monaco-editor/react":"^4.7.0","@opentelemetry/api":"^1.9.0","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/exporter-logs-otlp-proto":"^0.211.0","@opentelemetry/exporter-prometheus":"^0.208.0","@opentelemetry/exporter-trace-otlp-proto":"^0.207.0","@opentelemetry/instrumentation-runtime-node":"^0.24.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-metrics":"^2.2.0","@opentelemetry/sdk-node":"^0.207.0","@opentelemetry/sdk-trace-base":"^2.5.0","@playwright/test":"^1.58.2","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-checkbox":"^1.3.3","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-label":"^2.1.7","@radix-ui/react-select":"^2.2.6","@radix-ui/react-separator":"^1.1.7","@radix-ui/react-slot":"^1.2.3","@radix-ui/react-tabs":"^1.1.13","@rjsf/core":"^6.1.2","@rjsf/shadcn":"^6.1.2","@rjsf/utils":"^6.1.2","@rjsf/validator-ajv8":"^6.1.2","@tailwindcss/vite":"^4.1.17","@tanstack/react-query":"5.100.10","@tanstack/react-router":"1.169.2","@tiptap/core":"3.20.2","@tiptap/extension-mention":"3.20.2","@tiptap/extension-placeholder":"3.20.2","@tiptap/pm":"3.20.2","@tiptap/react":"3.20.2","@tiptap/starter-kit":"3.20.2","@tiptap/suggestion":"3.20.2","@types/bun":"^1.3.1","@types/pg":"^8.15.6","@types/react-syntax-highlighter":"^15.5.13","@untitledui/icons":"^0.0.19","@vercel/nft":"^1.1.1","@vitejs/plugin-react":"^5.1.0",ai:"^6.0.182","babel-plugin-react-compiler":"^1.0.0","better-auth":"1.4.22","class-variance-authority":"^0.7.1",clsx:"^2.1.1",concurrently:"^9.2.1",croner:"^9.1.0","date-fns":"^4.1.0",degit:"^2.8.4",hono:"^4.10.7","input-otp":"^1.4.2",jose:"^6.0.11","kysely-pglite":"^0.6.1","lucide-react":"^0.468.0",marked:"^15.0.6","@decocms/sandbox":"workspace:*","mesh-plugin-workflows":"workspace:*",nanoid:"^5.1.6",pg:"^8.16.3",prettier:"^3.4.2","react-hook-form":"^7.66.0","react-markdown":"^10.1.0","react-resizable-panels":"^2.1.7","react-syntax-highlighter":"^15.6.1",recharts:"^3.6.0","rehype-raw":"^7.0.0","remark-gfm":"^4.0.0","sass-embedded":"^1.97.2",sonner:"^2.0.7","tailwind-merge":"^3.3.1",tailwindcss:"^4.1.17",typescript:"^5.9.3",vite:"^7.2.1","vite-tsconfig-paths":"^5.1.4",zod:"^4.0.0",zustand:"^5.0.9"},homepage:"https://github.com/decocms/studio",keywords:["mcp","model-context-protocol","ai","gateway","self-hosted","mesh","tools"],license:"MIT",publishConfig:{access:"public"}}});import{Box as iF,Text as S7}from"ink";import{Spinner as Ub8}from"@inkjs/ui";import{useSyncExternalStore as oj6}from"react";import{jsx as PX,jsxs as uG}from"react/jsx-runtime";function Db8($,X){if(!$||!zb8.has($))return $;let Y=WW0[X]??WW0[WW0.length-1];return $==="#875f00"?Y[0]:Y[1]}function sj6({status:$}){if($==="pending")return PX(Ub8,{label:""});return PX(S7,{color:"green",children:"\u2713"})}function ej6({services:$,migrationsStatus:X,home:Y,serverUrl:G,vibe:Q}){let J=oj6(lb0,mb0),Z=oj6(rb0,nb0);return uG(iF,{flexDirection:"column",paddingBottom:1,children:[Q?uG(iF,{flexDirection:"column",children:[J.map((W,K)=>{let F=Z[K],U=W.reduce((w,N)=>w+N.text.length,0),B=Math.max(0,Nb8-U);return uG(iF,{flexDirection:"row",children:[W.map((w,N)=>{let z=Db8(w.color,K);return z?PX(S7,{color:z,children:w.text},N):PX(S7,{children:w.text},N)}),PX(S7,{children:" ".repeat(B+2)}),F?.map((w,N)=>w.color?PX(S7,{color:w.color,children:w.char},N):PX(S7,{children:w.char},N))]},K)}),uG(S7,{dimColor:!0,children:[" v",ZW0.version]})]}):uG(iF,{flexDirection:"column",marginTop:1,children:[Bb8.map((W,K)=>PX(S7,{color:wb8[K],children:W},K)),uG(S7,{dimColor:!0,children:[" v",ZW0.version]})]}),PX(iF,{marginBottom:1,children:PX(S7,{dimColor:!0,children:"\u2500".repeat(80)})}),PX(iF,{children:uG(S7,{dimColor:!0,children:["Home: ",Y]})}),uG(iF,{gap:2,children:[$.map((W)=>uG(iF,{gap:1,children:[uG(S7,{children:[W.name," :",W.port||"...."]}),PX(sj6,{status:W.status})]},W.name)),uG(iF,{gap:1,children:[PX(S7,{children:"Migrations"}),PX(sj6,{status:X})]})]}),PX(iF,{children:G?uG(S7,{children:["Open in browser: ",PX(S7,{color:"cyan",children:G})]}):PX(S7,{dimColor:!0,children:"Starting..."})}),uG(iF,{gap:2,children:[uG(S7,{dimColor:!0,children:[PX(S7,{bold:!0,dimColor:!0,children:"K"})," ","toggle config"]}),uG(S7,{dimColor:!0,children:[PX(S7,{bold:!0,dimColor:!0,children:"L"})," ","toggle log flow"]}),uG(S7,{dimColor:!0,children:[PX(S7,{bold:!0,dimColor:!0,children:"V"})," ","toggle vibe ",Q?"\u266A Nihilore \xB7 CC BY 4.0":""]}),Q&&uG(S7,{dimColor:!0,children:[PX(S7,{bold:!0,dimColor:!0,children:"N"})," ","skip song"]})]})]})}var Bb8,wb8,WW0,Nb8=30,zb8;var $E6=D(()=>{aj6();Zd1();Bd1();Bb8=[" \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 ","\u2591\u2591\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588 \u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588\u2588\u2588 "," \u2591\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2588 \u2591 \u2588\u2588\u2588 \u2591\u2591\u2591 \u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588\u2591\u2591\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591 \u2588\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588 "," \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2591\u2591\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2591 ","\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591 "],wb8=["#00ff64","#00ee5e","#00dc56","#00c84e","#00b444","#00a03c","#008832","#006e28"],WW0=[["#00ff64","#00cc50"],["#00f060","#00c04c"],["#00e05c","#00b448"],["#00d058","#00a844"],["#00c054","#009c40"],["#00b050","#00903c"],["#00a04c","#008438"],["#009048","#007834"],["#008044","#006c30"],["#007040","#00602c"],["#00603c","#005428"]],zb8=new Set(["#875f00","#5f3800"])});import{useSyncExternalStore as Lb8}from"react";function Ob8(){let $=process.stdout.rows||24,X=process.stdout.columns||80;if($!==MO1.rows||X!==MO1.columns)MO1={rows:$,columns:X};return MO1}function jb8($){return process.stdout.on("resize",$),()=>{process.stdout.off("resize",$)}}function XE6(){return Lb8(jb8,Ob8)}var MO1;var YE6=D(()=>{MO1={rows:process.stdout.rows||24,columns:process.stdout.columns||80}});import{Box as Eb8,Text as v$1}from"ink";import{useSyncExternalStore as Pb8}from"react";import{jsx as KW0,jsxs as HW0}from"react/jsx-runtime";function qb8($){if($>=500)return"red";if($>=400)return"yellow";if($>=300)return"cyan";return"green"}function GE6({logs:$,headerHeight:X}){let{rows:Y}=XE6(),{logFlow:G}=Pb8(R$1,I$1),Q=Math.max(1,Y-X-1),J=G?$:$.slice(-Q);return KW0(Eb8,{flexDirection:"column",children:J.map((Z,W)=>{if(Z.rawLine)return KW0(v$1,{dimColor:!0,children:Z.rawLine},W);let K=Z.duration<1000?`${Z.duration}ms`:`${(Z.duration/1000).toFixed(1)}s`;return HW0(v$1,{children:[HW0(v$1,{dimColor:!0,children:[Z.method.padEnd(6)," ",Z.path.padEnd(30)," "]}),KW0(v$1,{color:qb8(Z.status),children:Z.status}),HW0(v$1,{dimColor:!0,children:[" ",K.padStart(8)]})]},W)})})}var QE6=D(()=>{Uw();YE6()});var FW0={};D0(FW0,{App:()=>Sb8});import{Box as Ab8,Text as Tb8,useInput as Vb8}from"ink";import{useSyncExternalStore as Mb8}from"react";import{jsx as IO1,jsxs as kb8}from"react/jsx-runtime";function Sb8({home:$}){let X=Mb8(R$1,I$1);return Vb8((Y)=>{if(Y==="k"||Y==="K")sZ0();if(Y==="l"||Y==="L")eZ0();if((Y==="v"||Y==="V")&&X.dataDir)Dd1(X.dataDir),$W0();if((Y==="n"||Y==="N")&&X.vibe)zd1()}),kb8(Ab8,{flexDirection:"column",children:[IO1(ej6,{services:X.services,migrationsStatus:X.migrationsStatus,home:$,serverUrl:X.serverUrl,vibe:X.vibe}),X.viewMode==="config"?X.env?IO1(rj6,{env:X.env}):IO1(Tb8,{dimColor:!0,children:"Loading configuration..."}):IO1(GE6,{logs:X.logs,headerHeight:X.vibe?Rb8:Ib8})]})}var Ib8=15,Rb8=19;var UW0=D(()=>{tj6();$E6();QE6();Uw();Am()});var ST=m((yb8)=>{yb8.HttpAuthLocation=void 0;(function($){$.HEADER="header",$.QUERY="query"})(yb8.HttpAuthLocation||(yb8.HttpAuthLocation={}));yb8.HttpApiKeyAuthLocation=void 0;(function($){$.HEADER="header",$.QUERY="query"})(yb8.HttpApiKeyAuthLocation||(yb8.HttpApiKeyAuthLocation={}));yb8.EndpointURLScheme=void 0;(function($){$.HTTP="http",$.HTTPS="https"})(yb8.EndpointURLScheme||(yb8.EndpointURLScheme={}));yb8.AlgorithmId=void 0;(function($){$.MD5="md5",$.CRC32="crc32",$.CRC32C="crc32c",$.SHA1="sha1",$.SHA256="sha256"})(yb8.AlgorithmId||(yb8.AlgorithmId={}));var Cb8=($)=>{let X=[];if($.sha256!==void 0)X.push({algorithmId:()=>yb8.AlgorithmId.SHA256,checksumConstructor:()=>$.sha256});if($.md5!=null)X.push({algorithmId:()=>yb8.AlgorithmId.MD5,checksumConstructor:()=>$.md5});return{addChecksumAlgorithm(Y){X.push(Y)},checksumAlgorithms(){return X}}},vb8=($)=>{let X={};return $.checksumAlgorithms().forEach((Y)=>{X[Y.algorithmId()]=Y.checksumConstructor()}),X},_b8=($)=>{return Cb8($)},bb8=($)=>{return vb8($)};yb8.FieldPosition=void 0;(function($){$[$.HEADER=0]="HEADER",$[$.TRAILER=1]="TRAILER"})(yb8.FieldPosition||(yb8.FieldPosition={}));var fb8="__smithy_context";yb8.IniSectionType=void 0;(function($){$.PROFILE="profile",$.SSO_SESSION="sso-session",$.SERVICES="services"})(yb8.IniSectionType||(yb8.IniSectionType={}));yb8.RequestHandlerProtocol=void 0;(function($){$.HTTP_0_9="http/0.9",$.HTTP_1_0="http/1.0",$.TDS_8_0="tds/8.0"})(yb8.RequestHandlerProtocol||(yb8.RequestHandlerProtocol={}));yb8.SMITHY_CONTEXT_KEY=fb8;yb8.getDefaultClientConfiguration=_b8;yb8.resolveDefaultRuntimeConfig=bb8});var c9=m((ib8)=>{var ub8=ST(),mb8=($)=>{return{setHttpHandler(X){$.httpHandler=X},httpHandler(){return $.httpHandler},updateHttpClientConfig(X,Y){$.httpHandler?.updateHttpClientConfig(X,Y)},httpHandlerConfigs(){return $.httpHandler.httpHandlerConfigs()}}},lb8=($)=>{return{httpHandler:$.httpHandler()}};class JE6{name;kind;values;constructor({name:$,kind:X=ub8.FieldPosition.HEADER,values:Y=[]}){this.name=$,this.kind=X,this.values=Y}add($){this.values.push($)}set($){this.values=$}remove($){this.values=this.values.filter((X)=>X!==$)}toString(){return this.values.map(($)=>$.includes(",")||$.includes(" ")?`"${$}"`:$).join(", ")}get(){return this.values}}class ZE6{entries={};encoding;constructor({fields:$=[],encoding:X="utf-8"}){$.forEach(this.setField.bind(this)),this.encoding=X}setField($){this.entries[$.name.toLowerCase()]=$}getField($){return this.entries[$.toLowerCase()]}removeField($){delete this.entries[$.toLowerCase()]}getByType($){return Object.values(this.entries).filter((X)=>X.kind===$)}}class RO1{method;protocol;hostname;port;path;query;headers;username;password;fragment;body;constructor($){this.method=$.method||"GET",this.hostname=$.hostname||"localhost",this.port=$.port,this.query=$.query||{},this.headers=$.headers||{},this.body=$.body,this.protocol=$.protocol?$.protocol.slice(-1)!==":"?`${$.protocol}:`:$.protocol:"https:",this.path=$.path?$.path.charAt(0)!=="/"?`/${$.path}`:$.path:"/",this.username=$.username,this.password=$.password,this.fragment=$.fragment}static clone($){let X=new RO1({...$,headers:{...$.headers}});if(X.query)X.query=cb8(X.query);return X}static isInstance($){if(!$)return!1;let X=$;return"method"in X&&"protocol"in X&&"hostname"in X&&"path"in X&&typeof X.query==="object"&&typeof X.headers==="object"}clone(){return RO1.clone(this)}}function cb8($){return Object.keys($).reduce((X,Y)=>{let G=$[Y];return{...X,[Y]:Array.isArray(G)?[...G]:G}},{})}class WE6{statusCode;reason;headers;body;constructor($){this.statusCode=$.statusCode,this.reason=$.reason,this.headers=$.headers||{},this.body=$.body}static isInstance($){if(!$)return!1;let X=$;return typeof X.statusCode==="number"&&typeof X.headers==="object"}}function db8($){return/^[a-z0-9][a-z0-9\.\-]*[a-z0-9]$/.test($)}ib8.Field=JE6;ib8.Fields=ZE6;ib8.HttpRequest=RO1;ib8.HttpResponse=WE6;ib8.getHttpHandlerExtensionConfiguration=mb8;ib8.isValidHostname=db8;ib8.resolveHttpHandlerRuntimeConfig=lb8});function eb8($){return(X)=>async(Y)=>{let{request:G}=Y;if($.expectContinueHeader!==!1&&KE6.HttpRequest.isInstance(G)&&G.body&&$.runtime==="node"&&$.requestHandler?.constructor?.name!=="FetchHttpHandler"){let Q=!0;if(typeof $.expectContinueHeader==="number")try{Q=(Number(G.headers?.["content-length"])??$.bodyLengthChecker?.(G.body)??1/0)>=$.expectContinueHeader}catch(J){}else Q=!!$.expectContinueHeader;if(Q)G.headers.Expect="100-continue"}return X({...Y,request:G})}}var KE6,$f8,HE6=($)=>({applyToStack:(X)=>{X.add(eb8($),$f8)}});var FE6=D(()=>{KE6=H1(c9(),1);$f8={step:"build",tags:["SET_EXPECT_HEADER","EXPECT_HEADER"],name:"addExpectContinueMiddleware",override:!0}});var nK,SO1,kT,kO1,P5,UE6,b$1;var rK=D(()=>{nK={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},SO1=nK.WHEN_SUPPORTED,kT={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},kO1=nK.WHEN_SUPPORTED;(function($){$.MD5="MD5",$.CRC32="CRC32",$.CRC32C="CRC32C",$.CRC64NVME="CRC64NVME",$.SHA1="SHA1",$.SHA256="SHA256"})(P5||(P5={}));(function($){$.HEADER="header",$.TRAILER="trailer"})(UE6||(UE6={}));b$1=P5.CRC32});var QE,xp=($,X,Y,G)=>{if(!(X in $))return;let Q=$[X].toUpperCase();if(!Object.values(Y).includes(Q))throw TypeError(`Cannot load ${G} '${X}'. Expected one of ${Object.values(Y)}, got '${$[X]}'.`);return Q};var OW0=D(()=>{(function($){$.ENV="env",$.CONFIG="shared config entry"})(QE||(QE={}))});var Xf8="AWS_REQUEST_CHECKSUM_CALCULATION",Yf8="request_checksum_calculation",BE6;var wE6=D(()=>{rK();OW0();BE6={environmentVariableSelector:($)=>xp($,Xf8,nK,QE.ENV),configFileSelector:($)=>xp($,Yf8,nK,QE.CONFIG),default:SO1}});var Gf8="AWS_RESPONSE_CHECKSUM_VALIDATION",Qf8="response_checksum_validation",NE6;var zE6=D(()=>{rK();OW0();NE6={environmentVariableSelector:($)=>xp($,Gf8,kT,QE.ENV),configFileSelector:($)=>xp($,Qf8,kT,QE.CONFIG),default:kO1}});var EW0=m((Nf8)=>{var Jf8=["AuthFailure","InvalidSignatureException","RequestExpired","RequestInTheFuture","RequestTimeTooSkewed","SignatureDoesNotMatch"],Zf8=["BandwidthLimitExceeded","EC2ThrottledException","LimitExceededException","PriorRequestNotComplete","ProvisionedThroughputExceededException","RequestLimitExceeded","RequestThrottled","RequestThrottledException","SlowDown","ThrottledException","Throttling","ThrottlingException","TooManyRequestsException","TransactionInProgressException"],Wf8=["TimeoutError","RequestTimeout","RequestTimeoutException"],Kf8=[500,502,503,504],Hf8=["ECONNRESET","ECONNREFUSED","EPIPE","ETIMEDOUT"],Ff8=["EHOSTUNREACH","ENETUNREACH","ENOTFOUND"],DE6=($)=>$?.$retryable!==void 0,Uf8=($)=>Jf8.includes($.name),LE6=($)=>$.$metadata?.clockSkewCorrected,OE6=($)=>{let X=new Set(["Failed to fetch","NetworkError when attempting to fetch resource","The Internet connection appears to be offline","Load failed","Network request failed"]);if(!($&&$ instanceof TypeError))return!1;return X.has($.message)},Bf8=($)=>$.$metadata?.httpStatusCode===429||Zf8.includes($.name)||$.$retryable?.throttling==!0,jW0=($,X=0)=>DE6($)||LE6($)||$.name==="InvalidSignatureException"&&$.message?.includes("Signature expired")||Wf8.includes($.name)||Hf8.includes($?.code||"")||Ff8.includes($?.code||"")||Kf8.includes($.$metadata?.httpStatusCode||0)||OE6($)||jE6($)||$.cause!==void 0&&X<=10&&jW0($.cause,X+1),wf8=($)=>{if($.$metadata?.httpStatusCode!==void 0){let X=$.$metadata.httpStatusCode;if(500<=X&&X<=599&&!jW0($))return!0;return!1}return!1};function jE6($){return $.code==="ERR_HTTP2_STREAM_ERROR"&&$.message.includes("NGHTTP2_REFUSED_STREAM")}Nf8.isBrowserNetworkError=OE6;Nf8.isClockSkewCorrectedError=LE6;Nf8.isClockSkewError=Uf8;Nf8.isNodeJsHttp2TransientError=jE6;Nf8.isRetryableByTrait=DE6;Nf8.isServerError=wf8;Nf8.isThrottlingError=Bf8;Nf8.isTransientError=jW0});var WD=m((Cf8)=>{var Af8=EW0();Cf8.RETRY_MODES=void 0;(function($){$.STANDARD="standard",$.ADAPTIVE="adaptive"})(Cf8.RETRY_MODES||(Cf8.RETRY_MODES={}));var vO1=3,Tf8=Cf8.RETRY_MODES.STANDARD;class _O1{static setTimeoutFn=setTimeout;beta;minCapacity;minFillRate;scaleConstant;smooth;enabled=!1;availableTokens=0;lastMaxRate=0;measuredTxRate=0;requestCount=0;fillRate;lastThrottleTime;lastTimestamp=0;lastTxRateBucket;maxCapacity;timeWindow=0;constructor($){this.beta=$?.beta??0.7,this.minCapacity=$?.minCapacity??1,this.minFillRate=$?.minFillRate??0.5,this.scaleConstant=$?.scaleConstant??0.4,this.smooth=$?.smooth??0.8,this.lastThrottleTime=this.getCurrentTimeInSeconds(),this.lastTxRateBucket=Math.floor(this.getCurrentTimeInSeconds()),this.fillRate=this.minFillRate,this.maxCapacity=this.minCapacity}async getSendToken(){return this.acquireTokenBucket(1)}updateClientSendingRate($){let X;this.updateMeasuredRate();let Y=$;if(Y?.errorType==="THROTTLING"||Af8.isThrottlingError(Y?.error??$)){let J=!this.enabled?this.measuredTxRate:Math.min(this.measuredTxRate,this.fillRate);this.lastMaxRate=J,this.calculateTimeWindow(),this.lastThrottleTime=this.getCurrentTimeInSeconds(),X=this.cubicThrottle(J),this.enableTokenBucket()}else this.calculateTimeWindow(),X=this.cubicSuccess(this.getCurrentTimeInSeconds());let Q=Math.min(X,2*this.measuredTxRate);this.updateTokenBucketRate(Q)}getCurrentTimeInSeconds(){return Date.now()/1000}async acquireTokenBucket($){if(!this.enabled)return;if(this.refillTokenBucket(),$>this.availableTokens){let X=($-this.availableTokens)/this.fillRate*1000;await new Promise((Y)=>_O1.setTimeoutFn(Y,X))}this.availableTokens=this.availableTokens-$}refillTokenBucket(){let $=this.getCurrentTimeInSeconds();if(!this.lastTimestamp){this.lastTimestamp=$;return}let X=($-this.lastTimestamp)*this.fillRate;this.availableTokens=Math.min(this.maxCapacity,this.availableTokens+X),this.lastTimestamp=$}calculateTimeWindow(){this.timeWindow=this.getPrecise(Math.pow(this.lastMaxRate*(1-this.beta)/this.scaleConstant,0.3333333333333333))}cubicThrottle($){return this.getPrecise($*this.beta)}cubicSuccess($){return this.getPrecise(this.scaleConstant*Math.pow($-this.lastThrottleTime-this.timeWindow,3)+this.lastMaxRate)}enableTokenBucket(){this.enabled=!0}updateTokenBucketRate($){this.refillTokenBucket(),this.fillRate=Math.max($,this.minFillRate),this.maxCapacity=Math.max($,this.minCapacity),this.availableTokens=Math.min(this.availableTokens,this.maxCapacity)}updateMeasuredRate(){let $=this.getCurrentTimeInSeconds(),X=Math.floor($*2)/2;if(this.requestCount++,X>this.lastTxRateBucket){let Y=this.requestCount/(X-this.lastTxRateBucket);this.measuredTxRate=this.getPrecise(Y*this.smooth+this.measuredTxRate*(1-this.smooth)),this.requestCount=0,this.lastTxRateBucket=X}}getPrecise($){return parseFloat($.toFixed(8))}}var Vf8=100,AW0=20000,Mf8=500,PW0=500,If8=5,Rf8=10,EE6=1,Sf8="amz-sdk-invocation-id",kf8="amz-sdk-request";class mG{static v2026=typeof process<"u"&&process.env?.SMITHY_NEW_RETRIES_2026==="true";static delay(){return mG.v2026?50:100}static throttlingDelay(){return mG.v2026?1000:500}static cost(){return mG.v2026?14:5}static throttlingCost(){return mG.v2026?5:10}static modifiedCostType(){return mG.v2026?"THROTTLING":"TRANSIENT"}}class PE6{x=mG.delay();computeNextBackoffDelay($){let X=Math.random(),Y=2,G=X*Math.min(this.x*2**$,AW0);return Math.floor(G)}setDelayBase($){this.x=$}}class qW0{delay;count;cost;longPoll;constructor($,X,Y,G){this.delay=$,this.count=X,this.cost=Y,this.longPoll=G}getRetryCount(){return this.count}getRetryDelay(){return Math.min(AW0,this.delay)}getRetryCost(){return this.cost}isLongPoll(){return this.longPoll}}var CO1={incompatible:1,attempts:2,capacity:3};class f$1{mode=Cf8.RETRY_MODES.STANDARD;capacity=PW0;retryBackoffStrategy;maxAttemptsProvider;baseDelay;constructor($){if(typeof $==="number")this.maxAttemptsProvider=async()=>$;else if(typeof $==="function")this.maxAttemptsProvider=$;else if($&&typeof $==="object")this.maxAttemptsProvider=async()=>$.maxAttempts,this.baseDelay=$.baseDelay,this.retryBackoffStrategy=$.backoff;this.maxAttemptsProvider??=async()=>vO1,this.baseDelay??=mG.delay(),this.retryBackoffStrategy??=new PE6}async acquireInitialRetryToken($){return new qW0(mG.delay(),0,void 0,mG.v2026&&$.includes(":longpoll"))}async refreshRetryTokenForRetry($,X){let Y=await this.getMaxAttempts(),G=this.retryCode($,X,Y),Q=G===0,J=$.isLongPoll?.();if(Q||J){let Z=X.errorType;this.retryBackoffStrategy.setDelayBase(Z==="THROTTLING"?mG.throttlingDelay():this.baseDelay);let W=this.retryBackoffStrategy.computeNextBackoffDelay($.getRetryCount()),K=W;if(X.retryAfterHint instanceof Date)K=Math.max(W,Math.min(X.retryAfterHint.getTime()-Date.now(),W+5000));if(!Q)throw Object.assign(Error("No retry token available"),{$backoff:mG.v2026&&G===CO1.capacity&&J?K:0});else{let F=this.getCapacityCost(Z);return this.capacity-=F,new qW0(K,$.getRetryCount()+1,F,$.isLongPoll?.()??!1)}}throw Error("No retry token available")}recordSuccess($){this.capacity=Math.min(PW0,this.capacity+($.getRetryCost()??EE6))}getCapacity(){return this.capacity}async maxAttempts(){return this.maxAttemptsProvider()}async getMaxAttempts(){try{return await this.maxAttemptsProvider()}catch($){return console.warn(`Max attempts provider could not resolve. Using default of ${vO1}`),vO1}}retryCode($,X,Y){let G=$.getRetryCount()+1,Q=this.isRetryableError(X.errorType)?0:CO1.incompatible,J=G<Y?0:CO1.attempts,Z=this.capacity>=this.getCapacityCost(X.errorType)?0:CO1.capacity;return Q||J||Z}getCapacityCost($){return $===mG.modifiedCostType()?mG.throttlingCost():mG.cost()}isRetryableError($){return $==="THROTTLING"||$==="TRANSIENT"}}class qE6{mode=Cf8.RETRY_MODES.ADAPTIVE;rateLimiter;standardRetryStrategy;constructor($,X){let{rateLimiter:Y}=X??{};this.rateLimiter=Y??new _O1,this.standardRetryStrategy=X?new f$1({maxAttempts:typeof $==="number"?$:3,...X}):new f$1($)}async acquireInitialRetryToken($){return await this.rateLimiter.getSendToken(),this.standardRetryStrategy.acquireInitialRetryToken($)}async refreshRetryTokenForRetry($,X){return this.rateLimiter.updateClientSendingRate(X),this.standardRetryStrategy.refreshRetryTokenForRetry($,X)}recordSuccess($){this.rateLimiter.updateClientSendingRate({}),this.standardRetryStrategy.recordSuccess($)}async maxAttemptsProvider(){return this.standardRetryStrategy.maxAttempts()}}class AE6 extends f$1{computeNextBackoffDelay;constructor($,X=mG.delay()){super(typeof $==="function"?$:async()=>$);if(typeof X==="number")this.computeNextBackoffDelay=()=>X;else this.computeNextBackoffDelay=X}async refreshRetryTokenForRetry($,X){let Y=await super.refreshRetryTokenForRetry($,X);return Y.getRetryDelay=()=>this.computeNextBackoffDelay(Y.getRetryCount()),Y}}Cf8.AdaptiveRetryStrategy=qE6;Cf8.ConfiguredRetryStrategy=AE6;Cf8.DEFAULT_MAX_ATTEMPTS=vO1;Cf8.DEFAULT_RETRY_DELAY_BASE=Vf8;Cf8.DEFAULT_RETRY_MODE=Tf8;Cf8.DefaultRateLimiter=_O1;Cf8.INITIAL_RETRY_TOKENS=PW0;Cf8.INVOCATION_ID_HEADER=Sf8;Cf8.MAXIMUM_RETRY_DELAY=AW0;Cf8.NO_RETRY_INCREMENT=EE6;Cf8.REQUEST_HEADER=kf8;Cf8.RETRY_COST=If8;Cf8.Retry=mG;Cf8.StandardRetryStrategy=f$1;Cf8.THROTTLING_RETRY_DELAY_BASE=Mf8;Cf8.TIMEOUT_RETRY_COST=Rf8});var H7=m((Yy8)=>{var rf8=WD(),TW0={warningEmitted:!1},tf8=($)=>{if($&&!TW0.warningEmitted&&parseInt($.substring(1,$.indexOf(".")))<20)TW0.warningEmitted=!0,process.emitWarning(`NodeDeprecationWarning: The AWS SDK for JavaScript (v3) will
1626
+ `);G=J.pop()??"";for(let Z of J){let W=dj6(Z).replace(/^\[\d+\]\s*/,"").trim();if(!W)continue;GE({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:W})}}(async()=>{for(;;){let{done:J,value:Z}=await X.read();if(J)break;G+=Y.decode(Z,{stream:!0}),Q()}if(G.trim()){let J=dj6(G).replace(/^\[\d+\]\s*/,"").trim();if(J)GE({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:J})}})()}async function Jb8($){let{vitePort:X,baseUrl:Y,noTui:G}=$,Q=await TO1(Number($.port)),{settings:J,services:Z,managedServiceNames:W}=await EO1({port:String(Q),home:$.home,baseUrl:$.baseUrl,localMode:$.localMode,skipMigrations:$.skipMigrations,noTui:$.noTui,vitePort:$.vitePort});for(let N of Z)yp({name:N.name,status:"ready",port:N.port});C$1(J),S$1();let K=Qb8(import.meta.dir,"..","..","..","..",".."),F=G===!0,U=Bun.spawn(["bun","run","--cwd=apps/mesh","dev:servers"],{cwd:K,env:{...process.env,PORT:String(J.port),VITE_PORT:String(X),DATABASE_URL:J.databaseUrl,NATS_URL:J.natsUrls.join(","),NODE_ENV:J.nodeEnv,DECOCMS_LOCAL_MODE:String(J.localMode),DECOCMS_HOME:J.dataDir,DATA_DIR:J.dataDir,DECO_CLI:"1",...J.baseUrl?{BASE_URL:J.baseUrl}:{}},stdio:["inherit",F?"inherit":"pipe",F?"inherit":"pipe"]});if(!F)ij6(U.stdout),ij6(U.stderr);let B=Y||`http://localhost:${J.port}`;k$1(B),yp({name:"Vite",status:"ready",port:Number(X)});let w=async(N)=>{if(U.kill(N),await U.exited,W.length>0){let{stopServices:z}=await Promise.resolve().then(() => (fJ1(),bJ1));await z(J.dataDir)}};return process.on("SIGINT",()=>w("SIGINT")),process.on("SIGTERM",()=>w("SIGTERM")),{port:Number(J.port),process:U}}var GW0=D(()=>{aZ0();Uw();XW0()});import{Box as QW0,Text as JW0}from"ink";import{jsx as nj6,jsxs as VO1}from"react/jsx-runtime";function pj6($){if(!$)return"not set";try{let X=new URL($);if(X.password)X.password="***";if(X.username&&X.username.length>3)X.username=X.username.slice(0,3)+"***";return X.pathname="/",X.search="",X.hash="",X.toString()}catch{if($.length<=10)return $;return $.slice(0,6)+"***"+$.slice(-4)}}function Kb8($,X){if(Zb8.has($))return X?{text:"\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF",dimColor:!0}:{text:"not set",dimColor:!0};if(Wb8.has($)){if(Array.isArray(X)){if(X.length===0)return{text:"not set",dimColor:!0};return{text:X.map((J)=>pj6(J)).join(", "),color:"cyan"}}let G=pj6(X);return G==="not set"?{text:G,dimColor:!0}:{text:G,color:"cyan"}}if(X===void 0||X===null||X==="")return{text:"not set",dimColor:!0};let Y=String(X);if(Y==="true")return{text:Y,color:"green"};if(Y==="false")return{text:Y,color:"yellow"};try{return new URL(Y),{text:Y,color:"cyan"}}catch{return{text:Y}}}function Hb8($){return[{title:"Core",entries:[{key:"NODE_ENV",value:$.nodeEnv},{key:"PORT",value:$.port},{key:"BASE_URL",value:$.baseUrl??`http://localhost:${$.port}`},{key:"DATA_DIR",value:$.dataDir}]},{title:"Database",entries:[{key:"DATABASE_URL",value:$.databaseUrl},{key:"DATABASE_PG_SSL",value:$.databasePgSsl}]},{title:"Auth & Secrets",entries:[{key:"BETTER_AUTH_SECRET",value:$.betterAuthSecret},{key:"ENCRYPTION_KEY",value:$.encryptionKey},{key:"MESH_JWT_SECRET",value:$.meshJwtSecret},{key:"STUDIO_PROVISION_SECRET_KEY",value:$.studioProvisionSecretKey},{key:"DISABLE_RATE_LIMIT",value:$.disableRateLimit}]},{title:"Auth Providers",entries:[{key:"AUTH_EMAIL_PASSWORD_ENABLED",value:process.env.AUTH_EMAIL_PASSWORD_ENABLED??"true"},{key:"AUTH_GOOGLE_CLIENT_ID",value:!!process.env.AUTH_GOOGLE_CLIENT_ID},{key:"AUTH_GITHUB_CLIENT_ID",value:!!process.env.AUTH_GITHUB_CLIENT_ID},{key:"AUTH_RESEND_API_KEY",value:!!process.env.AUTH_RESEND_API_KEY},{key:"AUTH_SENDGRID_API_KEY",value:!!process.env.AUTH_SENDGRID_API_KEY},{key:"AUTH_SSO_MS_CLIENT_ID",value:!!process.env.AUTH_SSO_MS_CLIENT_ID},{key:"AUTH_SSO_GOOGLE_CLIENT_ID",value:!!process.env.AUTH_SSO_GOOGLE_CLIENT_ID},{key:"AUTH_MAGIC_LINK_ENABLED",value:process.env.AUTH_MAGIC_LINK_ENABLED==="true"},{key:"AUTH_EMAIL_OTP_ENABLED",value:process.env.AUTH_EMAIL_OTP_ENABLED==="true"}]},{title:"Observability",entries:[{key:"CLICKHOUSE_URL",value:$.clickhouseUrl},{key:"OTEL_SERVICE_NAME",value:$.otelServiceName}]},{title:"Event Bus & Networking",entries:[{key:"NATS_URL",value:$.natsUrls}]},{title:"Config Files",entries:[{key:"CONFIG_PATH",value:$.configPath}]},{title:"AI Gateway",entries:[{key:"DECO_AI_GATEWAY_ENABLED",value:$.aiGatewayEnabled},{key:"DECO_AI_GATEWAY_URL",value:$.aiGatewayUrl}]}]}function rj6({env:$}){let X=Hb8($);return nj6(QW0,{flexDirection:"column",children:X.map((Y)=>VO1(QW0,{flexDirection:"column",marginTop:1,children:[VO1(JW0,{dimColor:!0,children:[" ","\u2500\u2500 ",Y.title," ","\u2500".repeat(Math.max(0,38-Y.title.length))]}),Y.entries.map(({key:G,value:Q})=>{let J=Kb8(G,Q);return VO1(QW0,{children:[VO1(JW0,{dimColor:!0,children:[" ",G.padEnd(36)]}),nj6(JW0,{color:J.color,dimColor:J.dimColor,children:J.text})]},G)})]},Y.title))})}var Zb8,Wb8;var tj6=D(()=>{Zb8=new Set(["BETTER_AUTH_SECRET","ENCRYPTION_KEY","MESH_JWT_SECRET","STUDIO_PROVISION_SECRET_KEY"]),Wb8=new Set(["DATABASE_URL","CLICKHOUSE_URL","NATS_URL"])});var ZW0;var aj6=D(()=>{ZW0={name:"decocms",version:"2.336.8",description:"Deco CMS \u2014 Self-hostable MCP Gateway for managing AI connections and tools",author:"Deco team",repository:{type:"git",url:"git+https://github.com/decocms/studio.git",directory:"apps/mesh"},bugs:{url:"https://github.com/decocms/studio/issues"},type:"module",bin:{deco:"./dist/server/cli.js"},files:["dist/**/*"],scripts:{dev:'bun run migrate && concurrently "bun run dev:client" "bun run dev:server"',"dev:servers":'concurrently "bun run dev:client" "bun run dev:server"',"dev:client":"bun --bun vite dev","dev:server":"bun run --cwd=../../packages/sandbox build && NODE_ENV=development bun --env-file=.env --hot run src/index.ts","build:client":"bun --bun vite build","build:server":"bun run scripts/bundle-server-script.ts --dist ./dist/server","db:migrate":"bun run ./dist/server/migrate.js",check:"tsc --noEmit",start:"bun run ./dist/server/server.js",migrate:"bun run src/database/migrate.ts",test:"bun test","test:e2e":"playwright test","test:e2e:ui":"playwright test --ui","better-auth:migrate":"bunx --bun @better-auth/cli migrate -y --config src/auth/index.ts",prepublishOnly:"bun run build:client && bun run build:server"},optionalDependencies:{"@duckdb/node-api":"^1.5.0-r.1"},dependencies:{"@ai-sdk/anthropic":"^3.0.77","@ai-sdk/google":"^3.0.73","@ai-sdk/openai":"^3.0.63","@anthropic-ai/sdk":"^0.96.0","@aws-sdk/client-s3":"^3.1013.0","@aws-sdk/s3-request-presigner":"^3.1013.0","@clickhouse/client":"^1.8.1","@dbos-inc/dbos-sdk":"^4.17.6","@deco-cx/warp-node":"^0.3.20","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@inkjs/ui":"^2.0.0","@modelcontextprotocol/ext-apps":"^1.7.1","@openrouter/ai-sdk-provider":"^2.9.0","@opentelemetry/core":"^2.6.0","@tanstack/react-virtual":"3.13.24","@xterm/addon-fit":"^0.11.0","@xterm/xterm":"^6.0.0","ai-sdk-provider-claude-code":"^3.4.4","ai-sdk-provider-codex-cli":"^1.1.0","embedded-postgres":"^18.3.0-beta.16",ink:"^6.8.0",kysely:"^0.28.12",nats:"^2.29.3","node-pty":"^1.0.0","posthog-js":"^1.371.1","posthog-node":"^5.0.0",react:"^19.2.6","react-dom":"^19.2.6"},devDependencies:{"@ai-sdk/provider":"^3.0.10","@ai-sdk/react":"^3.0.184","@anthropic-ai/claude-agent-sdk":"^0.2.141","@better-auth/sso":"1.4.1","@daveyplate/better-auth-ui":"^3.2.7","@deco/ui":"workspace:*","@decocms/better-auth":"1.5.17","@decocms/bindings":"workspace:*","@decocms/mcp-utils":"workspace:*","@decocms/mesh-sdk":"workspace:*","@decocms/runtime":"workspace:*","@decocms/vite-plugin":"workspace:*","@electric-sql/pglite":"^0.3.15","@floating-ui/react":"^0.27.16","@hookform/resolvers":"^5.2.2","@jitl/quickjs-wasmfile-release-sync":"0.31.0","@modelcontextprotocol/sdk":"1.29.0","@monaco-editor/react":"^4.7.0","@opentelemetry/api":"^1.9.0","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/exporter-logs-otlp-proto":"^0.211.0","@opentelemetry/exporter-prometheus":"^0.208.0","@opentelemetry/exporter-trace-otlp-proto":"^0.207.0","@opentelemetry/instrumentation-runtime-node":"^0.24.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-metrics":"^2.2.0","@opentelemetry/sdk-node":"^0.207.0","@opentelemetry/sdk-trace-base":"^2.5.0","@playwright/test":"^1.58.2","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-checkbox":"^1.3.3","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-label":"^2.1.7","@radix-ui/react-select":"^2.2.6","@radix-ui/react-separator":"^1.1.7","@radix-ui/react-slot":"^1.2.3","@radix-ui/react-tabs":"^1.1.13","@rjsf/core":"^6.1.2","@rjsf/shadcn":"^6.1.2","@rjsf/utils":"^6.1.2","@rjsf/validator-ajv8":"^6.1.2","@tailwindcss/vite":"^4.1.17","@tanstack/react-query":"5.100.10","@tanstack/react-router":"1.169.2","@tiptap/core":"3.20.2","@tiptap/extension-mention":"3.20.2","@tiptap/extension-placeholder":"3.20.2","@tiptap/pm":"3.20.2","@tiptap/react":"3.20.2","@tiptap/starter-kit":"3.20.2","@tiptap/suggestion":"3.20.2","@types/bun":"^1.3.1","@types/pg":"^8.15.6","@types/react-syntax-highlighter":"^15.5.13","@untitledui/icons":"^0.0.19","@vercel/nft":"^1.1.1","@vitejs/plugin-react":"^5.1.0",ai:"^6.0.182","babel-plugin-react-compiler":"^1.0.0","better-auth":"1.4.22","class-variance-authority":"^0.7.1",clsx:"^2.1.1",concurrently:"^9.2.1",croner:"^9.1.0","date-fns":"^4.1.0",degit:"^2.8.4",hono:"^4.10.7","input-otp":"^1.4.2",jose:"^6.0.11","kysely-pglite":"^0.6.1","lucide-react":"^0.468.0",marked:"^15.0.6","@decocms/sandbox":"workspace:*","mesh-plugin-workflows":"workspace:*",nanoid:"^5.1.6",pg:"^8.16.3",prettier:"^3.4.2","react-hook-form":"^7.66.0","react-markdown":"^10.1.0","react-resizable-panels":"^2.1.7","react-syntax-highlighter":"^15.6.1",recharts:"^3.6.0","rehype-raw":"^7.0.0","remark-gfm":"^4.0.0","sass-embedded":"^1.97.2",sonner:"^2.0.7","tailwind-merge":"^3.3.1",tailwindcss:"^4.1.17",typescript:"^5.9.3",vite:"^7.2.1","vite-tsconfig-paths":"^5.1.4",zod:"^4.0.0",zustand:"^5.0.9"},homepage:"https://github.com/decocms/studio",keywords:["mcp","model-context-protocol","ai","gateway","self-hosted","mesh","tools"],license:"MIT",publishConfig:{access:"public"}}});import{Box as iF,Text as S7}from"ink";import{Spinner as Ub8}from"@inkjs/ui";import{useSyncExternalStore as oj6}from"react";import{jsx as PX,jsxs as uG}from"react/jsx-runtime";function Db8($,X){if(!$||!zb8.has($))return $;let Y=WW0[X]??WW0[WW0.length-1];return $==="#875f00"?Y[0]:Y[1]}function sj6({status:$}){if($==="pending")return PX(Ub8,{label:""});return PX(S7,{color:"green",children:"\u2713"})}function ej6({services:$,migrationsStatus:X,home:Y,serverUrl:G,vibe:Q}){let J=oj6(lb0,mb0),Z=oj6(rb0,nb0);return uG(iF,{flexDirection:"column",paddingBottom:1,children:[Q?uG(iF,{flexDirection:"column",children:[J.map((W,K)=>{let F=Z[K],U=W.reduce((w,N)=>w+N.text.length,0),B=Math.max(0,Nb8-U);return uG(iF,{flexDirection:"row",children:[W.map((w,N)=>{let z=Db8(w.color,K);return z?PX(S7,{color:z,children:w.text},N):PX(S7,{children:w.text},N)}),PX(S7,{children:" ".repeat(B+2)}),F?.map((w,N)=>w.color?PX(S7,{color:w.color,children:w.char},N):PX(S7,{children:w.char},N))]},K)}),uG(S7,{dimColor:!0,children:[" v",ZW0.version]})]}):uG(iF,{flexDirection:"column",marginTop:1,children:[Bb8.map((W,K)=>PX(S7,{color:wb8[K],children:W},K)),uG(S7,{dimColor:!0,children:[" v",ZW0.version]})]}),PX(iF,{marginBottom:1,children:PX(S7,{dimColor:!0,children:"\u2500".repeat(80)})}),PX(iF,{children:uG(S7,{dimColor:!0,children:["Home: ",Y]})}),uG(iF,{gap:2,children:[$.map((W)=>uG(iF,{gap:1,children:[uG(S7,{children:[W.name," :",W.port||"...."]}),PX(sj6,{status:W.status})]},W.name)),uG(iF,{gap:1,children:[PX(S7,{children:"Migrations"}),PX(sj6,{status:X})]})]}),PX(iF,{children:G?uG(S7,{children:["Open in browser: ",PX(S7,{color:"cyan",children:G})]}):PX(S7,{dimColor:!0,children:"Starting..."})}),uG(iF,{gap:2,children:[uG(S7,{dimColor:!0,children:[PX(S7,{bold:!0,dimColor:!0,children:"K"})," ","toggle config"]}),uG(S7,{dimColor:!0,children:[PX(S7,{bold:!0,dimColor:!0,children:"L"})," ","toggle log flow"]}),uG(S7,{dimColor:!0,children:[PX(S7,{bold:!0,dimColor:!0,children:"V"})," ","toggle vibe ",Q?"\u266A Nihilore \xB7 CC BY 4.0":""]}),Q&&uG(S7,{dimColor:!0,children:[PX(S7,{bold:!0,dimColor:!0,children:"N"})," ","skip song"]})]})]})}var Bb8,wb8,WW0,Nb8=30,zb8;var $E6=D(()=>{aj6();Zd1();Bd1();Bb8=[" \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 ","\u2591\u2591\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588 \u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588\u2588\u2588 "," \u2591\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2588 \u2591 \u2588\u2588\u2588 \u2591\u2591\u2591 \u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588\u2591\u2591\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591 \u2588\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588 "," \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2591\u2591\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2591 ","\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591 "],wb8=["#00ff64","#00ee5e","#00dc56","#00c84e","#00b444","#00a03c","#008832","#006e28"],WW0=[["#00ff64","#00cc50"],["#00f060","#00c04c"],["#00e05c","#00b448"],["#00d058","#00a844"],["#00c054","#009c40"],["#00b050","#00903c"],["#00a04c","#008438"],["#009048","#007834"],["#008044","#006c30"],["#007040","#00602c"],["#00603c","#005428"]],zb8=new Set(["#875f00","#5f3800"])});import{useSyncExternalStore as Lb8}from"react";function Ob8(){let $=process.stdout.rows||24,X=process.stdout.columns||80;if($!==MO1.rows||X!==MO1.columns)MO1={rows:$,columns:X};return MO1}function jb8($){return process.stdout.on("resize",$),()=>{process.stdout.off("resize",$)}}function XE6(){return Lb8(jb8,Ob8)}var MO1;var YE6=D(()=>{MO1={rows:process.stdout.rows||24,columns:process.stdout.columns||80}});import{Box as Eb8,Text as v$1}from"ink";import{useSyncExternalStore as Pb8}from"react";import{jsx as KW0,jsxs as HW0}from"react/jsx-runtime";function qb8($){if($>=500)return"red";if($>=400)return"yellow";if($>=300)return"cyan";return"green"}function GE6({logs:$,headerHeight:X}){let{rows:Y}=XE6(),{logFlow:G}=Pb8(R$1,I$1),Q=Math.max(1,Y-X-1),J=G?$:$.slice(-Q);return KW0(Eb8,{flexDirection:"column",children:J.map((Z,W)=>{if(Z.rawLine)return KW0(v$1,{dimColor:!0,children:Z.rawLine},W);let K=Z.duration<1000?`${Z.duration}ms`:`${(Z.duration/1000).toFixed(1)}s`;return HW0(v$1,{children:[HW0(v$1,{dimColor:!0,children:[Z.method.padEnd(6)," ",Z.path.padEnd(30)," "]}),KW0(v$1,{color:qb8(Z.status),children:Z.status}),HW0(v$1,{dimColor:!0,children:[" ",K.padStart(8)]})]},W)})})}var QE6=D(()=>{Uw();YE6()});var FW0={};D0(FW0,{App:()=>Sb8});import{Box as Ab8,Text as Tb8,useInput as Vb8}from"ink";import{useSyncExternalStore as Mb8}from"react";import{jsx as IO1,jsxs as kb8}from"react/jsx-runtime";function Sb8({home:$}){let X=Mb8(R$1,I$1);return Vb8((Y)=>{if(Y==="k"||Y==="K")sZ0();if(Y==="l"||Y==="L")eZ0();if((Y==="v"||Y==="V")&&X.dataDir)Dd1(X.dataDir),$W0();if((Y==="n"||Y==="N")&&X.vibe)zd1()}),kb8(Ab8,{flexDirection:"column",children:[IO1(ej6,{services:X.services,migrationsStatus:X.migrationsStatus,home:$,serverUrl:X.serverUrl,vibe:X.vibe}),X.viewMode==="config"?X.env?IO1(rj6,{env:X.env}):IO1(Tb8,{dimColor:!0,children:"Loading configuration..."}):IO1(GE6,{logs:X.logs,headerHeight:X.vibe?Rb8:Ib8})]})}var Ib8=15,Rb8=19;var UW0=D(()=>{tj6();$E6();QE6();Uw();Am()});var ST=m((yb8)=>{yb8.HttpAuthLocation=void 0;(function($){$.HEADER="header",$.QUERY="query"})(yb8.HttpAuthLocation||(yb8.HttpAuthLocation={}));yb8.HttpApiKeyAuthLocation=void 0;(function($){$.HEADER="header",$.QUERY="query"})(yb8.HttpApiKeyAuthLocation||(yb8.HttpApiKeyAuthLocation={}));yb8.EndpointURLScheme=void 0;(function($){$.HTTP="http",$.HTTPS="https"})(yb8.EndpointURLScheme||(yb8.EndpointURLScheme={}));yb8.AlgorithmId=void 0;(function($){$.MD5="md5",$.CRC32="crc32",$.CRC32C="crc32c",$.SHA1="sha1",$.SHA256="sha256"})(yb8.AlgorithmId||(yb8.AlgorithmId={}));var Cb8=($)=>{let X=[];if($.sha256!==void 0)X.push({algorithmId:()=>yb8.AlgorithmId.SHA256,checksumConstructor:()=>$.sha256});if($.md5!=null)X.push({algorithmId:()=>yb8.AlgorithmId.MD5,checksumConstructor:()=>$.md5});return{addChecksumAlgorithm(Y){X.push(Y)},checksumAlgorithms(){return X}}},vb8=($)=>{let X={};return $.checksumAlgorithms().forEach((Y)=>{X[Y.algorithmId()]=Y.checksumConstructor()}),X},_b8=($)=>{return Cb8($)},bb8=($)=>{return vb8($)};yb8.FieldPosition=void 0;(function($){$[$.HEADER=0]="HEADER",$[$.TRAILER=1]="TRAILER"})(yb8.FieldPosition||(yb8.FieldPosition={}));var fb8="__smithy_context";yb8.IniSectionType=void 0;(function($){$.PROFILE="profile",$.SSO_SESSION="sso-session",$.SERVICES="services"})(yb8.IniSectionType||(yb8.IniSectionType={}));yb8.RequestHandlerProtocol=void 0;(function($){$.HTTP_0_9="http/0.9",$.HTTP_1_0="http/1.0",$.TDS_8_0="tds/8.0"})(yb8.RequestHandlerProtocol||(yb8.RequestHandlerProtocol={}));yb8.SMITHY_CONTEXT_KEY=fb8;yb8.getDefaultClientConfiguration=_b8;yb8.resolveDefaultRuntimeConfig=bb8});var c9=m((ib8)=>{var ub8=ST(),mb8=($)=>{return{setHttpHandler(X){$.httpHandler=X},httpHandler(){return $.httpHandler},updateHttpClientConfig(X,Y){$.httpHandler?.updateHttpClientConfig(X,Y)},httpHandlerConfigs(){return $.httpHandler.httpHandlerConfigs()}}},lb8=($)=>{return{httpHandler:$.httpHandler()}};class JE6{name;kind;values;constructor({name:$,kind:X=ub8.FieldPosition.HEADER,values:Y=[]}){this.name=$,this.kind=X,this.values=Y}add($){this.values.push($)}set($){this.values=$}remove($){this.values=this.values.filter((X)=>X!==$)}toString(){return this.values.map(($)=>$.includes(",")||$.includes(" ")?`"${$}"`:$).join(", ")}get(){return this.values}}class ZE6{entries={};encoding;constructor({fields:$=[],encoding:X="utf-8"}){$.forEach(this.setField.bind(this)),this.encoding=X}setField($){this.entries[$.name.toLowerCase()]=$}getField($){return this.entries[$.toLowerCase()]}removeField($){delete this.entries[$.toLowerCase()]}getByType($){return Object.values(this.entries).filter((X)=>X.kind===$)}}class RO1{method;protocol;hostname;port;path;query;headers;username;password;fragment;body;constructor($){this.method=$.method||"GET",this.hostname=$.hostname||"localhost",this.port=$.port,this.query=$.query||{},this.headers=$.headers||{},this.body=$.body,this.protocol=$.protocol?$.protocol.slice(-1)!==":"?`${$.protocol}:`:$.protocol:"https:",this.path=$.path?$.path.charAt(0)!=="/"?`/${$.path}`:$.path:"/",this.username=$.username,this.password=$.password,this.fragment=$.fragment}static clone($){let X=new RO1({...$,headers:{...$.headers}});if(X.query)X.query=cb8(X.query);return X}static isInstance($){if(!$)return!1;let X=$;return"method"in X&&"protocol"in X&&"hostname"in X&&"path"in X&&typeof X.query==="object"&&typeof X.headers==="object"}clone(){return RO1.clone(this)}}function cb8($){return Object.keys($).reduce((X,Y)=>{let G=$[Y];return{...X,[Y]:Array.isArray(G)?[...G]:G}},{})}class WE6{statusCode;reason;headers;body;constructor($){this.statusCode=$.statusCode,this.reason=$.reason,this.headers=$.headers||{},this.body=$.body}static isInstance($){if(!$)return!1;let X=$;return typeof X.statusCode==="number"&&typeof X.headers==="object"}}function db8($){return/^[a-z0-9][a-z0-9\.\-]*[a-z0-9]$/.test($)}ib8.Field=JE6;ib8.Fields=ZE6;ib8.HttpRequest=RO1;ib8.HttpResponse=WE6;ib8.getHttpHandlerExtensionConfiguration=mb8;ib8.isValidHostname=db8;ib8.resolveHttpHandlerRuntimeConfig=lb8});function eb8($){return(X)=>async(Y)=>{let{request:G}=Y;if($.expectContinueHeader!==!1&&KE6.HttpRequest.isInstance(G)&&G.body&&$.runtime==="node"&&$.requestHandler?.constructor?.name!=="FetchHttpHandler"){let Q=!0;if(typeof $.expectContinueHeader==="number")try{Q=(Number(G.headers?.["content-length"])??$.bodyLengthChecker?.(G.body)??1/0)>=$.expectContinueHeader}catch(J){}else Q=!!$.expectContinueHeader;if(Q)G.headers.Expect="100-continue"}return X({...Y,request:G})}}var KE6,$f8,HE6=($)=>({applyToStack:(X)=>{X.add(eb8($),$f8)}});var FE6=D(()=>{KE6=H1(c9(),1);$f8={step:"build",tags:["SET_EXPECT_HEADER","EXPECT_HEADER"],name:"addExpectContinueMiddleware",override:!0}});var nK,SO1,kT,kO1,P5,UE6,b$1;var rK=D(()=>{nK={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},SO1=nK.WHEN_SUPPORTED,kT={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},kO1=nK.WHEN_SUPPORTED;(function($){$.MD5="MD5",$.CRC32="CRC32",$.CRC32C="CRC32C",$.CRC64NVME="CRC64NVME",$.SHA1="SHA1",$.SHA256="SHA256"})(P5||(P5={}));(function($){$.HEADER="header",$.TRAILER="trailer"})(UE6||(UE6={}));b$1=P5.CRC32});var QE,xp=($,X,Y,G)=>{if(!(X in $))return;let Q=$[X].toUpperCase();if(!Object.values(Y).includes(Q))throw TypeError(`Cannot load ${G} '${X}'. Expected one of ${Object.values(Y)}, got '${$[X]}'.`);return Q};var OW0=D(()=>{(function($){$.ENV="env",$.CONFIG="shared config entry"})(QE||(QE={}))});var Xf8="AWS_REQUEST_CHECKSUM_CALCULATION",Yf8="request_checksum_calculation",BE6;var wE6=D(()=>{rK();OW0();BE6={environmentVariableSelector:($)=>xp($,Xf8,nK,QE.ENV),configFileSelector:($)=>xp($,Yf8,nK,QE.CONFIG),default:SO1}});var Gf8="AWS_RESPONSE_CHECKSUM_VALIDATION",Qf8="response_checksum_validation",NE6;var zE6=D(()=>{rK();OW0();NE6={environmentVariableSelector:($)=>xp($,Gf8,kT,QE.ENV),configFileSelector:($)=>xp($,Qf8,kT,QE.CONFIG),default:kO1}});var EW0=m((Nf8)=>{var Jf8=["AuthFailure","InvalidSignatureException","RequestExpired","RequestInTheFuture","RequestTimeTooSkewed","SignatureDoesNotMatch"],Zf8=["BandwidthLimitExceeded","EC2ThrottledException","LimitExceededException","PriorRequestNotComplete","ProvisionedThroughputExceededException","RequestLimitExceeded","RequestThrottled","RequestThrottledException","SlowDown","ThrottledException","Throttling","ThrottlingException","TooManyRequestsException","TransactionInProgressException"],Wf8=["TimeoutError","RequestTimeout","RequestTimeoutException"],Kf8=[500,502,503,504],Hf8=["ECONNRESET","ECONNREFUSED","EPIPE","ETIMEDOUT"],Ff8=["EHOSTUNREACH","ENETUNREACH","ENOTFOUND"],DE6=($)=>$?.$retryable!==void 0,Uf8=($)=>Jf8.includes($.name),LE6=($)=>$.$metadata?.clockSkewCorrected,OE6=($)=>{let X=new Set(["Failed to fetch","NetworkError when attempting to fetch resource","The Internet connection appears to be offline","Load failed","Network request failed"]);if(!($&&$ instanceof TypeError))return!1;return X.has($.message)},Bf8=($)=>$.$metadata?.httpStatusCode===429||Zf8.includes($.name)||$.$retryable?.throttling==!0,jW0=($,X=0)=>DE6($)||LE6($)||$.name==="InvalidSignatureException"&&$.message?.includes("Signature expired")||Wf8.includes($.name)||Hf8.includes($?.code||"")||Ff8.includes($?.code||"")||Kf8.includes($.$metadata?.httpStatusCode||0)||OE6($)||jE6($)||$.cause!==void 0&&X<=10&&jW0($.cause,X+1),wf8=($)=>{if($.$metadata?.httpStatusCode!==void 0){let X=$.$metadata.httpStatusCode;if(500<=X&&X<=599&&!jW0($))return!0;return!1}return!1};function jE6($){return $.code==="ERR_HTTP2_STREAM_ERROR"&&$.message.includes("NGHTTP2_REFUSED_STREAM")}Nf8.isBrowserNetworkError=OE6;Nf8.isClockSkewCorrectedError=LE6;Nf8.isClockSkewError=Uf8;Nf8.isNodeJsHttp2TransientError=jE6;Nf8.isRetryableByTrait=DE6;Nf8.isServerError=wf8;Nf8.isThrottlingError=Bf8;Nf8.isTransientError=jW0});var WD=m((Cf8)=>{var Af8=EW0();Cf8.RETRY_MODES=void 0;(function($){$.STANDARD="standard",$.ADAPTIVE="adaptive"})(Cf8.RETRY_MODES||(Cf8.RETRY_MODES={}));var vO1=3,Tf8=Cf8.RETRY_MODES.STANDARD;class _O1{static setTimeoutFn=setTimeout;beta;minCapacity;minFillRate;scaleConstant;smooth;enabled=!1;availableTokens=0;lastMaxRate=0;measuredTxRate=0;requestCount=0;fillRate;lastThrottleTime;lastTimestamp=0;lastTxRateBucket;maxCapacity;timeWindow=0;constructor($){this.beta=$?.beta??0.7,this.minCapacity=$?.minCapacity??1,this.minFillRate=$?.minFillRate??0.5,this.scaleConstant=$?.scaleConstant??0.4,this.smooth=$?.smooth??0.8,this.lastThrottleTime=this.getCurrentTimeInSeconds(),this.lastTxRateBucket=Math.floor(this.getCurrentTimeInSeconds()),this.fillRate=this.minFillRate,this.maxCapacity=this.minCapacity}async getSendToken(){return this.acquireTokenBucket(1)}updateClientSendingRate($){let X;this.updateMeasuredRate();let Y=$;if(Y?.errorType==="THROTTLING"||Af8.isThrottlingError(Y?.error??$)){let J=!this.enabled?this.measuredTxRate:Math.min(this.measuredTxRate,this.fillRate);this.lastMaxRate=J,this.calculateTimeWindow(),this.lastThrottleTime=this.getCurrentTimeInSeconds(),X=this.cubicThrottle(J),this.enableTokenBucket()}else this.calculateTimeWindow(),X=this.cubicSuccess(this.getCurrentTimeInSeconds());let Q=Math.min(X,2*this.measuredTxRate);this.updateTokenBucketRate(Q)}getCurrentTimeInSeconds(){return Date.now()/1000}async acquireTokenBucket($){if(!this.enabled)return;if(this.refillTokenBucket(),$>this.availableTokens){let X=($-this.availableTokens)/this.fillRate*1000;await new Promise((Y)=>_O1.setTimeoutFn(Y,X))}this.availableTokens=this.availableTokens-$}refillTokenBucket(){let $=this.getCurrentTimeInSeconds();if(!this.lastTimestamp){this.lastTimestamp=$;return}let X=($-this.lastTimestamp)*this.fillRate;this.availableTokens=Math.min(this.maxCapacity,this.availableTokens+X),this.lastTimestamp=$}calculateTimeWindow(){this.timeWindow=this.getPrecise(Math.pow(this.lastMaxRate*(1-this.beta)/this.scaleConstant,0.3333333333333333))}cubicThrottle($){return this.getPrecise($*this.beta)}cubicSuccess($){return this.getPrecise(this.scaleConstant*Math.pow($-this.lastThrottleTime-this.timeWindow,3)+this.lastMaxRate)}enableTokenBucket(){this.enabled=!0}updateTokenBucketRate($){this.refillTokenBucket(),this.fillRate=Math.max($,this.minFillRate),this.maxCapacity=Math.max($,this.minCapacity),this.availableTokens=Math.min(this.availableTokens,this.maxCapacity)}updateMeasuredRate(){let $=this.getCurrentTimeInSeconds(),X=Math.floor($*2)/2;if(this.requestCount++,X>this.lastTxRateBucket){let Y=this.requestCount/(X-this.lastTxRateBucket);this.measuredTxRate=this.getPrecise(Y*this.smooth+this.measuredTxRate*(1-this.smooth)),this.requestCount=0,this.lastTxRateBucket=X}}getPrecise($){return parseFloat($.toFixed(8))}}var Vf8=100,AW0=20000,Mf8=500,PW0=500,If8=5,Rf8=10,EE6=1,Sf8="amz-sdk-invocation-id",kf8="amz-sdk-request";class mG{static v2026=typeof process<"u"&&process.env?.SMITHY_NEW_RETRIES_2026==="true";static delay(){return mG.v2026?50:100}static throttlingDelay(){return mG.v2026?1000:500}static cost(){return mG.v2026?14:5}static throttlingCost(){return mG.v2026?5:10}static modifiedCostType(){return mG.v2026?"THROTTLING":"TRANSIENT"}}class PE6{x=mG.delay();computeNextBackoffDelay($){let X=Math.random(),Y=2,G=X*Math.min(this.x*2**$,AW0);return Math.floor(G)}setDelayBase($){this.x=$}}class qW0{delay;count;cost;longPoll;constructor($,X,Y,G){this.delay=$,this.count=X,this.cost=Y,this.longPoll=G}getRetryCount(){return this.count}getRetryDelay(){return Math.min(AW0,this.delay)}getRetryCost(){return this.cost}isLongPoll(){return this.longPoll}}var CO1={incompatible:1,attempts:2,capacity:3};class f$1{mode=Cf8.RETRY_MODES.STANDARD;capacity=PW0;retryBackoffStrategy;maxAttemptsProvider;baseDelay;constructor($){if(typeof $==="number")this.maxAttemptsProvider=async()=>$;else if(typeof $==="function")this.maxAttemptsProvider=$;else if($&&typeof $==="object")this.maxAttemptsProvider=async()=>$.maxAttempts,this.baseDelay=$.baseDelay,this.retryBackoffStrategy=$.backoff;this.maxAttemptsProvider??=async()=>vO1,this.baseDelay??=mG.delay(),this.retryBackoffStrategy??=new PE6}async acquireInitialRetryToken($){return new qW0(mG.delay(),0,void 0,mG.v2026&&$.includes(":longpoll"))}async refreshRetryTokenForRetry($,X){let Y=await this.getMaxAttempts(),G=this.retryCode($,X,Y),Q=G===0,J=$.isLongPoll?.();if(Q||J){let Z=X.errorType;this.retryBackoffStrategy.setDelayBase(Z==="THROTTLING"?mG.throttlingDelay():this.baseDelay);let W=this.retryBackoffStrategy.computeNextBackoffDelay($.getRetryCount()),K=W;if(X.retryAfterHint instanceof Date)K=Math.max(W,Math.min(X.retryAfterHint.getTime()-Date.now(),W+5000));if(!Q)throw Object.assign(Error("No retry token available"),{$backoff:mG.v2026&&G===CO1.capacity&&J?K:0});else{let F=this.getCapacityCost(Z);return this.capacity-=F,new qW0(K,$.getRetryCount()+1,F,$.isLongPoll?.()??!1)}}throw Error("No retry token available")}recordSuccess($){this.capacity=Math.min(PW0,this.capacity+($.getRetryCost()??EE6))}getCapacity(){return this.capacity}async maxAttempts(){return this.maxAttemptsProvider()}async getMaxAttempts(){try{return await this.maxAttemptsProvider()}catch($){return console.warn(`Max attempts provider could not resolve. Using default of ${vO1}`),vO1}}retryCode($,X,Y){let G=$.getRetryCount()+1,Q=this.isRetryableError(X.errorType)?0:CO1.incompatible,J=G<Y?0:CO1.attempts,Z=this.capacity>=this.getCapacityCost(X.errorType)?0:CO1.capacity;return Q||J||Z}getCapacityCost($){return $===mG.modifiedCostType()?mG.throttlingCost():mG.cost()}isRetryableError($){return $==="THROTTLING"||$==="TRANSIENT"}}class qE6{mode=Cf8.RETRY_MODES.ADAPTIVE;rateLimiter;standardRetryStrategy;constructor($,X){let{rateLimiter:Y}=X??{};this.rateLimiter=Y??new _O1,this.standardRetryStrategy=X?new f$1({maxAttempts:typeof $==="number"?$:3,...X}):new f$1($)}async acquireInitialRetryToken($){return await this.rateLimiter.getSendToken(),this.standardRetryStrategy.acquireInitialRetryToken($)}async refreshRetryTokenForRetry($,X){return this.rateLimiter.updateClientSendingRate(X),this.standardRetryStrategy.refreshRetryTokenForRetry($,X)}recordSuccess($){this.rateLimiter.updateClientSendingRate({}),this.standardRetryStrategy.recordSuccess($)}async maxAttemptsProvider(){return this.standardRetryStrategy.maxAttempts()}}class AE6 extends f$1{computeNextBackoffDelay;constructor($,X=mG.delay()){super(typeof $==="function"?$:async()=>$);if(typeof X==="number")this.computeNextBackoffDelay=()=>X;else this.computeNextBackoffDelay=X}async refreshRetryTokenForRetry($,X){let Y=await super.refreshRetryTokenForRetry($,X);return Y.getRetryDelay=()=>this.computeNextBackoffDelay(Y.getRetryCount()),Y}}Cf8.AdaptiveRetryStrategy=qE6;Cf8.ConfiguredRetryStrategy=AE6;Cf8.DEFAULT_MAX_ATTEMPTS=vO1;Cf8.DEFAULT_RETRY_DELAY_BASE=Vf8;Cf8.DEFAULT_RETRY_MODE=Tf8;Cf8.DefaultRateLimiter=_O1;Cf8.INITIAL_RETRY_TOKENS=PW0;Cf8.INVOCATION_ID_HEADER=Sf8;Cf8.MAXIMUM_RETRY_DELAY=AW0;Cf8.NO_RETRY_INCREMENT=EE6;Cf8.REQUEST_HEADER=kf8;Cf8.RETRY_COST=If8;Cf8.Retry=mG;Cf8.StandardRetryStrategy=f$1;Cf8.THROTTLING_RETRY_DELAY_BASE=Mf8;Cf8.TIMEOUT_RETRY_COST=Rf8});var H7=m((Yy8)=>{var rf8=WD(),TW0={warningEmitted:!1},tf8=($)=>{if($&&!TW0.warningEmitted&&parseInt($.substring(1,$.indexOf(".")))<20)TW0.warningEmitted=!0,process.emitWarning(`NodeDeprecationWarning: The AWS SDK for JavaScript (v3) will
1627
1627
  no longer support Node.js ${$} in January 2026.
1628
1628
 
1629
1629
  To continue receiving updates to AWS services, bug fixes, and security
@@ -49,6 +49,6 @@ export function isDescriptorCompatibleWith(descriptor, otherDescriptor) {
49
49
  // NB: the first character counted separately from the rest.
50
50
  const NAME_REGEXP = /^[a-z][a-z0-9_.\-/]{0,254}$/i;
51
51
  export function isValidName(name) {
52
- return NAME_REGEXP.test(name);
52
+ return name.match(NAME_REGEXP) != null;
53
53
  }
54
54
  //# sourceMappingURL=InstrumentDescriptor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InstrumentDescriptor.js","sourceRoot":"","sources":["../../src/InstrumentDescriptor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAGL,SAAS,EACT,IAAI,GACL,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAwBhD,MAAM,UAAU,0BAA0B,CACxC,IAAY,EACZ,IAAoB,EACpB,OAAuB;IAEvB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;QACtB,IAAI,CAAC,IAAI,CACP,yBAAyB,IAAI,2FAA2F,CACzH,CAAC;KACH;IACD,OAAO;QACL,IAAI;QACJ,IAAI;QACJ,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,EAAE;QACvC,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE;QACzB,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,SAAS,CAAC,MAAM;QACjD,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,EAAE;KAC9B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,IAAU,EACV,UAAgC;IAEhC,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI;QAClC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,UAAU,CAAC,WAAW;QACvD,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,MAAM,EAAE,UAAU,CAAC,MAAM;KAC1B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,UAAgC,EAChC,eAAqC;IAErC,sCAAsC;IACtC,OAAO,CACL,qBAAqB,CAAC,UAAU,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC;QAC5D,UAAU,CAAC,IAAI,KAAK,eAAe,CAAC,IAAI;QACxC,UAAU,CAAC,IAAI,KAAK,eAAe,CAAC,IAAI;QACxC,UAAU,CAAC,SAAS,KAAK,eAAe,CAAC,SAAS,CACnD,CAAC;AACJ,CAAC;AAED,6DAA6D;AAC7D,4DAA4D;AAC5D,MAAM,WAAW,GAAG,8BAA8B,CAAC;AACnD,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n MetricAdvice,\n MetricOptions,\n ValueType,\n diag,\n} from '@opentelemetry/api';\nimport { View } from './view/View';\nimport { equalsCaseInsensitive } from './utils';\nimport { InstrumentType, MetricDescriptor } from './export/MetricData';\n\n/**\n * An internal interface describing the instrument.\n *\n * This is intentionally distinguished from the public MetricDescriptor (a.k.a. InstrumentDescriptor)\n * which may not contains internal fields like metric advice.\n */\nexport interface InstrumentDescriptor extends MetricDescriptor {\n /**\n * For internal use; exporter should avoid depending on the type of the\n * instrument as their resulting aggregator can be re-mapped with views.\n */\n readonly type: InstrumentType;\n\n /**\n * See {@link MetricAdvice}\n *\n * @experimental\n */\n readonly advice: MetricAdvice;\n}\n\nexport function createInstrumentDescriptor(\n name: string,\n type: InstrumentType,\n options?: MetricOptions\n): InstrumentDescriptor {\n if (!isValidName(name)) {\n diag.warn(\n `Invalid metric name: \"${name}\". The metric name should be a ASCII string with a length no greater than 255 characters.`\n );\n }\n return {\n name,\n type,\n description: options?.description ?? '',\n unit: options?.unit ?? '',\n valueType: options?.valueType ?? ValueType.DOUBLE,\n advice: options?.advice ?? {},\n };\n}\n\nexport function createInstrumentDescriptorWithView(\n view: View,\n instrument: InstrumentDescriptor\n): InstrumentDescriptor {\n return {\n name: view.name ?? instrument.name,\n description: view.description ?? instrument.description,\n type: instrument.type,\n unit: instrument.unit,\n valueType: instrument.valueType,\n advice: instrument.advice,\n };\n}\n\nexport function isDescriptorCompatibleWith(\n descriptor: InstrumentDescriptor,\n otherDescriptor: InstrumentDescriptor\n) {\n // Names are case-insensitive strings.\n return (\n equalsCaseInsensitive(descriptor.name, otherDescriptor.name) &&\n descriptor.unit === otherDescriptor.unit &&\n descriptor.type === otherDescriptor.type &&\n descriptor.valueType === otherDescriptor.valueType\n );\n}\n\n// ASCII string with a length no greater than 255 characters.\n// NB: the first character counted separately from the rest.\nconst NAME_REGEXP = /^[a-z][a-z0-9_.\\-/]{0,254}$/i;\nexport function isValidName(name: string): boolean {\n return NAME_REGEXP.test(name);\n}\n"]}
1
+ {"version":3,"file":"InstrumentDescriptor.js","sourceRoot":"","sources":["../../src/InstrumentDescriptor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAGL,SAAS,EACT,IAAI,GACL,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAwBhD,MAAM,UAAU,0BAA0B,CACxC,IAAY,EACZ,IAAoB,EACpB,OAAuB;IAEvB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;QACtB,IAAI,CAAC,IAAI,CACP,yBAAyB,IAAI,2FAA2F,CACzH,CAAC;KACH;IACD,OAAO;QACL,IAAI;QACJ,IAAI;QACJ,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,EAAE;QACvC,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE;QACzB,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,SAAS,CAAC,MAAM;QACjD,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,EAAE;KAC9B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,IAAU,EACV,UAAgC;IAEhC,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI;QAClC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,UAAU,CAAC,WAAW;QACvD,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,MAAM,EAAE,UAAU,CAAC,MAAM;KAC1B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,UAAgC,EAChC,eAAqC;IAErC,sCAAsC;IACtC,OAAO,CACL,qBAAqB,CAAC,UAAU,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC;QAC5D,UAAU,CAAC,IAAI,KAAK,eAAe,CAAC,IAAI;QACxC,UAAU,CAAC,IAAI,KAAK,eAAe,CAAC,IAAI;QACxC,UAAU,CAAC,SAAS,KAAK,eAAe,CAAC,SAAS,CACnD,CAAC;AACJ,CAAC;AAED,6DAA6D;AAC7D,4DAA4D;AAC5D,MAAM,WAAW,GAAG,8BAA8B,CAAC;AACnD,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC;AACzC,CAAC","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n MetricAdvice,\n MetricOptions,\n ValueType,\n diag,\n} from '@opentelemetry/api';\nimport { View } from './view/View';\nimport { equalsCaseInsensitive } from './utils';\nimport { InstrumentType, MetricDescriptor } from './export/MetricData';\n\n/**\n * An internal interface describing the instrument.\n *\n * This is intentionally distinguished from the public MetricDescriptor (a.k.a. InstrumentDescriptor)\n * which may not contains internal fields like metric advice.\n */\nexport interface InstrumentDescriptor extends MetricDescriptor {\n /**\n * For internal use; exporter should avoid depending on the type of the\n * instrument as their resulting aggregator can be re-mapped with views.\n */\n readonly type: InstrumentType;\n\n /**\n * See {@link MetricAdvice}\n *\n * @experimental\n */\n readonly advice: MetricAdvice;\n}\n\nexport function createInstrumentDescriptor(\n name: string,\n type: InstrumentType,\n options?: MetricOptions\n): InstrumentDescriptor {\n if (!isValidName(name)) {\n diag.warn(\n `Invalid metric name: \"${name}\". The metric name should be a ASCII string with a length no greater than 255 characters.`\n );\n }\n return {\n name,\n type,\n description: options?.description ?? '',\n unit: options?.unit ?? '',\n valueType: options?.valueType ?? ValueType.DOUBLE,\n advice: options?.advice ?? {},\n };\n}\n\nexport function createInstrumentDescriptorWithView(\n view: View,\n instrument: InstrumentDescriptor\n): InstrumentDescriptor {\n return {\n name: view.name ?? instrument.name,\n description: view.description ?? instrument.description,\n type: instrument.type,\n unit: instrument.unit,\n valueType: instrument.valueType,\n advice: instrument.advice,\n };\n}\n\nexport function isDescriptorCompatibleWith(\n descriptor: InstrumentDescriptor,\n otherDescriptor: InstrumentDescriptor\n) {\n // Names are case-insensitive strings.\n return (\n equalsCaseInsensitive(descriptor.name, otherDescriptor.name) &&\n descriptor.unit === otherDescriptor.unit &&\n descriptor.type === otherDescriptor.type &&\n descriptor.valueType === otherDescriptor.valueType\n );\n}\n\n// ASCII string with a length no greater than 255 characters.\n// NB: the first character counted separately from the rest.\nconst NAME_REGEXP = /^[a-z][a-z0-9_.\\-/]{0,254}$/i;\nexport function isValidName(name: string): boolean {\n return name.match(NAME_REGEXP) != null;\n}\n"]}
@@ -5,7 +5,7 @@ import { AsyncWritableMetricStorage, WritableMetricStorage } from './state/Writa
5
5
  export declare class SyncInstrument {
6
6
  private _writableMetricStorage;
7
7
  protected _descriptor: InstrumentDescriptor;
8
- constructor(writableMetricStorage: WritableMetricStorage, descriptor: InstrumentDescriptor);
8
+ constructor(_writableMetricStorage: WritableMetricStorage, _descriptor: InstrumentDescriptor);
9
9
  protected _record(value: number, attributes?: Attributes, context?: Context): void;
10
10
  }
11
11
  /**
@@ -45,12 +45,12 @@ export declare class HistogramInstrument extends SyncInstrument implements Histo
45
45
  record(value: number, attributes?: Attributes, ctx?: Context): void;
46
46
  }
47
47
  export declare class ObservableInstrument implements Observable {
48
+ private _observableRegistry;
48
49
  /** @internal */
49
50
  _metricStorages: AsyncWritableMetricStorage[];
50
51
  /** @internal */
51
52
  _descriptor: InstrumentDescriptor;
52
- private _observableRegistry;
53
- constructor(descriptor: InstrumentDescriptor, metricStorages: AsyncWritableMetricStorage[], observableRegistry: ObservableRegistry);
53
+ constructor(descriptor: InstrumentDescriptor, metricStorages: AsyncWritableMetricStorage[], _observableRegistry: ObservableRegistry);
54
54
  /**
55
55
  * @see {Observable.addCallback}
56
56
  */
@@ -18,9 +18,9 @@ import { millisToHrTime } from '@opentelemetry/core';
18
18
  export class SyncInstrument {
19
19
  _writableMetricStorage;
20
20
  _descriptor;
21
- constructor(writableMetricStorage, descriptor) {
22
- this._writableMetricStorage = writableMetricStorage;
23
- this._descriptor = descriptor;
21
+ constructor(_writableMetricStorage, _descriptor) {
22
+ this._writableMetricStorage = _writableMetricStorage;
23
+ this._descriptor = _descriptor;
24
24
  }
25
25
  _record(value, attributes = {}, context = contextApi.active()) {
26
26
  if (typeof value !== 'number') {
@@ -92,15 +92,15 @@ export class HistogramInstrument extends SyncInstrument {
92
92
  }
93
93
  }
94
94
  export class ObservableInstrument {
95
+ _observableRegistry;
95
96
  /** @internal */
96
97
  _metricStorages;
97
98
  /** @internal */
98
99
  _descriptor;
99
- _observableRegistry;
100
- constructor(descriptor, metricStorages, observableRegistry) {
100
+ constructor(descriptor, metricStorages, _observableRegistry) {
101
+ this._observableRegistry = _observableRegistry;
101
102
  this._descriptor = descriptor;
102
103
  this._metricStorages = metricStorages;
103
- this._observableRegistry = observableRegistry;
104
104
  }
105
105
  /**
106
106
  * @see {Observable.addCallback}
@@ -1 +1 @@
1
- {"version":3,"file":"Instruments.js","sourceRoot":"","sources":["../../src/Instruments.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n context as contextApi,\n diag,\n Context,\n Attributes,\n ValueType,\n UpDownCounter,\n Counter,\n Gauge,\n Histogram,\n Observable,\n ObservableCallback,\n ObservableCounter,\n ObservableGauge,\n ObservableUpDownCounter,\n} from '@opentelemetry/api';\nimport { millisToHrTime } from '@opentelemetry/core';\nimport { InstrumentDescriptor } from './InstrumentDescriptor';\nimport { ObservableRegistry } from './state/ObservableRegistry';\nimport {\n AsyncWritableMetricStorage,\n WritableMetricStorage,\n} from './state/WritableMetricStorage';\n\nexport class SyncInstrument {\n private _writableMetricStorage: WritableMetricStorage;\n protected _descriptor: InstrumentDescriptor;\n\n constructor(\n writableMetricStorage: WritableMetricStorage,\n descriptor: InstrumentDescriptor\n ) {\n this._writableMetricStorage = writableMetricStorage;\n this._descriptor = descriptor;\n }\n\n protected _record(\n value: number,\n attributes: Attributes = {},\n context: Context = contextApi.active()\n ) {\n if (typeof value !== 'number') {\n diag.warn(\n `non-number value provided to metric ${this._descriptor.name}: ${value}`\n );\n return;\n }\n if (\n this._descriptor.valueType === ValueType.INT &&\n !Number.isInteger(value)\n ) {\n diag.warn(\n `INT value type cannot accept a floating-point value for ${this._descriptor.name}, ignoring the fractional digits.`\n );\n value = Math.trunc(value);\n // ignore non-finite values.\n if (!Number.isInteger(value)) {\n return;\n }\n }\n this._writableMetricStorage.record(\n value,\n attributes,\n context,\n millisToHrTime(Date.now())\n );\n }\n}\n\n/**\n * The class implements {@link UpDownCounter} interface.\n */\nexport class UpDownCounterInstrument\n extends SyncInstrument\n implements UpDownCounter\n{\n /**\n * Increment value of counter by the input. Inputs may be negative.\n */\n add(value: number, attributes?: Attributes, ctx?: Context): void {\n this._record(value, attributes, ctx);\n }\n}\n\n/**\n * The class implements {@link Counter} interface.\n */\nexport class CounterInstrument extends SyncInstrument implements Counter {\n /**\n * Increment value of counter by the input. Inputs may not be negative.\n */\n add(value: number, attributes?: Attributes, ctx?: Context): void {\n if (value < 0) {\n diag.warn(\n `negative value provided to counter ${this._descriptor.name}: ${value}`\n );\n return;\n }\n\n this._record(value, attributes, ctx);\n }\n}\n\n/**\n * The class implements {@link Gauge} interface.\n */\nexport class GaugeInstrument extends SyncInstrument implements Gauge {\n /**\n * Records a measurement.\n */\n record(value: number, attributes?: Attributes, ctx?: Context): void {\n this._record(value, attributes, ctx);\n }\n}\n\n/**\n * The class implements {@link Histogram} interface.\n */\nexport class HistogramInstrument extends SyncInstrument implements Histogram {\n /**\n * Records a measurement. Value of the measurement must not be negative.\n */\n record(value: number, attributes?: Attributes, ctx?: Context): void {\n if (value < 0) {\n diag.warn(\n `negative value provided to histogram ${this._descriptor.name}: ${value}`\n );\n return;\n }\n this._record(value, attributes, ctx);\n }\n}\n\nexport class ObservableInstrument implements Observable {\n /** @internal */\n _metricStorages: AsyncWritableMetricStorage[];\n /** @internal */\n _descriptor: InstrumentDescriptor;\n private _observableRegistry: ObservableRegistry;\n\n constructor(\n descriptor: InstrumentDescriptor,\n metricStorages: AsyncWritableMetricStorage[],\n observableRegistry: ObservableRegistry\n ) {\n this._descriptor = descriptor;\n this._metricStorages = metricStorages;\n this._observableRegistry = observableRegistry;\n }\n\n /**\n * @see {Observable.addCallback}\n */\n addCallback(callback: ObservableCallback) {\n this._observableRegistry.addCallback(callback, this);\n }\n\n /**\n * @see {Observable.removeCallback}\n */\n removeCallback(callback: ObservableCallback) {\n this._observableRegistry.removeCallback(callback, this);\n }\n}\n\nexport class ObservableCounterInstrument\n extends ObservableInstrument\n implements ObservableCounter {}\nexport class ObservableGaugeInstrument\n extends ObservableInstrument\n implements ObservableGauge {}\nexport class ObservableUpDownCounterInstrument\n extends ObservableInstrument\n implements ObservableUpDownCounter {}\n\nexport function isObservableInstrument(\n it: unknown\n): it is ObservableInstrument {\n return it instanceof ObservableInstrument;\n}\n"]}
1
+ {"version":3,"file":"Instruments.js","sourceRoot":"","sources":["../../src/Instruments.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n context as contextApi,\n diag,\n Context,\n Attributes,\n ValueType,\n UpDownCounter,\n Counter,\n Gauge,\n Histogram,\n Observable,\n ObservableCallback,\n ObservableCounter,\n ObservableGauge,\n ObservableUpDownCounter,\n} from '@opentelemetry/api';\nimport { millisToHrTime } from '@opentelemetry/core';\nimport { InstrumentDescriptor } from './InstrumentDescriptor';\nimport { ObservableRegistry } from './state/ObservableRegistry';\nimport {\n AsyncWritableMetricStorage,\n WritableMetricStorage,\n} from './state/WritableMetricStorage';\n\nexport class SyncInstrument {\n constructor(\n private _writableMetricStorage: WritableMetricStorage,\n protected _descriptor: InstrumentDescriptor\n ) {}\n\n protected _record(\n value: number,\n attributes: Attributes = {},\n context: Context = contextApi.active()\n ) {\n if (typeof value !== 'number') {\n diag.warn(\n `non-number value provided to metric ${this._descriptor.name}: ${value}`\n );\n return;\n }\n if (\n this._descriptor.valueType === ValueType.INT &&\n !Number.isInteger(value)\n ) {\n diag.warn(\n `INT value type cannot accept a floating-point value for ${this._descriptor.name}, ignoring the fractional digits.`\n );\n value = Math.trunc(value);\n // ignore non-finite values.\n if (!Number.isInteger(value)) {\n return;\n }\n }\n this._writableMetricStorage.record(\n value,\n attributes,\n context,\n millisToHrTime(Date.now())\n );\n }\n}\n\n/**\n * The class implements {@link UpDownCounter} interface.\n */\nexport class UpDownCounterInstrument\n extends SyncInstrument\n implements UpDownCounter\n{\n /**\n * Increment value of counter by the input. Inputs may be negative.\n */\n add(value: number, attributes?: Attributes, ctx?: Context): void {\n this._record(value, attributes, ctx);\n }\n}\n\n/**\n * The class implements {@link Counter} interface.\n */\nexport class CounterInstrument extends SyncInstrument implements Counter {\n /**\n * Increment value of counter by the input. Inputs may not be negative.\n */\n add(value: number, attributes?: Attributes, ctx?: Context): void {\n if (value < 0) {\n diag.warn(\n `negative value provided to counter ${this._descriptor.name}: ${value}`\n );\n return;\n }\n\n this._record(value, attributes, ctx);\n }\n}\n\n/**\n * The class implements {@link Gauge} interface.\n */\nexport class GaugeInstrument extends SyncInstrument implements Gauge {\n /**\n * Records a measurement.\n */\n record(value: number, attributes?: Attributes, ctx?: Context): void {\n this._record(value, attributes, ctx);\n }\n}\n\n/**\n * The class implements {@link Histogram} interface.\n */\nexport class HistogramInstrument extends SyncInstrument implements Histogram {\n /**\n * Records a measurement. Value of the measurement must not be negative.\n */\n record(value: number, attributes?: Attributes, ctx?: Context): void {\n if (value < 0) {\n diag.warn(\n `negative value provided to histogram ${this._descriptor.name}: ${value}`\n );\n return;\n }\n this._record(value, attributes, ctx);\n }\n}\n\nexport class ObservableInstrument implements Observable {\n /** @internal */\n _metricStorages: AsyncWritableMetricStorage[];\n /** @internal */\n _descriptor: InstrumentDescriptor;\n\n constructor(\n descriptor: InstrumentDescriptor,\n metricStorages: AsyncWritableMetricStorage[],\n private _observableRegistry: ObservableRegistry\n ) {\n this._descriptor = descriptor;\n this._metricStorages = metricStorages;\n }\n\n /**\n * @see {Observable.addCallback}\n */\n addCallback(callback: ObservableCallback) {\n this._observableRegistry.addCallback(callback, this);\n }\n\n /**\n * @see {Observable.removeCallback}\n */\n removeCallback(callback: ObservableCallback) {\n this._observableRegistry.removeCallback(callback, this);\n }\n}\n\nexport class ObservableCounterInstrument\n extends ObservableInstrument\n implements ObservableCounter {}\nexport class ObservableGaugeInstrument\n extends ObservableInstrument\n implements ObservableGauge {}\nexport class ObservableUpDownCounterInstrument\n extends ObservableInstrument\n implements ObservableUpDownCounter {}\n\nexport function isObservableInstrument(\n it: unknown\n): it is ObservableInstrument {\n return it instanceof ObservableInstrument;\n}\n"]}
@@ -5,7 +5,7 @@ import { MeterSharedState } from './state/MeterSharedState';
5
5
  */
6
6
  export declare class Meter implements IMeter {
7
7
  private _meterSharedState;
8
- constructor(meterSharedState: MeterSharedState);
8
+ constructor(_meterSharedState: MeterSharedState);
9
9
  /**
10
10
  * Create a {@link Gauge} instrument.
11
11
  */
@@ -21,8 +21,8 @@ import { InstrumentType } from './export/MetricData';
21
21
  */
22
22
  export class Meter {
23
23
  _meterSharedState;
24
- constructor(meterSharedState) {
25
- this._meterSharedState = meterSharedState;
24
+ constructor(_meterSharedState) {
25
+ this._meterSharedState = _meterSharedState;
26
26
  }
27
27
  /**
28
28
  * Create a {@link Gauge} instrument.
@@ -1 +1 @@
1
- {"version":3,"file":"Meter.js","sourceRoot":"","sources":["../../src/Meter.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Meter as IMeter,\n MetricOptions,\n Gauge,\n Histogram,\n Counter,\n UpDownCounter,\n ObservableGauge,\n ObservableCounter,\n ObservableUpDownCounter,\n BatchObservableCallback,\n Observable,\n} from '@opentelemetry/api';\nimport { createInstrumentDescriptor } from './InstrumentDescriptor';\nimport {\n CounterInstrument,\n GaugeInstrument,\n HistogramInstrument,\n ObservableCounterInstrument,\n ObservableGaugeInstrument,\n ObservableUpDownCounterInstrument,\n UpDownCounterInstrument,\n} from './Instruments';\nimport { MeterSharedState } from './state/MeterSharedState';\nimport { InstrumentType } from './export/MetricData';\n\n/**\n * This class implements the {@link IMeter} interface.\n */\nexport class Meter implements IMeter {\n private _meterSharedState: MeterSharedState;\n constructor(meterSharedState: MeterSharedState) {\n this._meterSharedState = meterSharedState;\n }\n\n /**\n * Create a {@link Gauge} instrument.\n */\n createGauge(name: string, options?: MetricOptions): Gauge {\n const descriptor = createInstrumentDescriptor(\n name,\n InstrumentType.GAUGE,\n options\n );\n const storage = this._meterSharedState.registerMetricStorage(descriptor);\n return new GaugeInstrument(storage, descriptor);\n }\n\n /**\n * Create a {@link Histogram} instrument.\n */\n createHistogram(name: string, options?: MetricOptions): Histogram {\n const descriptor = createInstrumentDescriptor(\n name,\n InstrumentType.HISTOGRAM,\n options\n );\n const storage = this._meterSharedState.registerMetricStorage(descriptor);\n return new HistogramInstrument(storage, descriptor);\n }\n\n /**\n * Create a {@link Counter} instrument.\n */\n createCounter(name: string, options?: MetricOptions): Counter {\n const descriptor = createInstrumentDescriptor(\n name,\n InstrumentType.COUNTER,\n options\n );\n const storage = this._meterSharedState.registerMetricStorage(descriptor);\n return new CounterInstrument(storage, descriptor);\n }\n\n /**\n * Create a {@link UpDownCounter} instrument.\n */\n createUpDownCounter(name: string, options?: MetricOptions): UpDownCounter {\n const descriptor = createInstrumentDescriptor(\n name,\n InstrumentType.UP_DOWN_COUNTER,\n options\n );\n const storage = this._meterSharedState.registerMetricStorage(descriptor);\n return new UpDownCounterInstrument(storage, descriptor);\n }\n\n /**\n * Create a {@link ObservableGauge} instrument.\n */\n createObservableGauge(\n name: string,\n options?: MetricOptions\n ): ObservableGauge {\n const descriptor = createInstrumentDescriptor(\n name,\n InstrumentType.OBSERVABLE_GAUGE,\n options\n );\n const storages =\n this._meterSharedState.registerAsyncMetricStorage(descriptor);\n return new ObservableGaugeInstrument(\n descriptor,\n storages,\n this._meterSharedState.observableRegistry\n );\n }\n\n /**\n * Create a {@link ObservableCounter} instrument.\n */\n createObservableCounter(\n name: string,\n options?: MetricOptions\n ): ObservableCounter {\n const descriptor = createInstrumentDescriptor(\n name,\n InstrumentType.OBSERVABLE_COUNTER,\n options\n );\n const storages =\n this._meterSharedState.registerAsyncMetricStorage(descriptor);\n return new ObservableCounterInstrument(\n descriptor,\n storages,\n this._meterSharedState.observableRegistry\n );\n }\n\n /**\n * Create a {@link ObservableUpDownCounter} instrument.\n */\n createObservableUpDownCounter(\n name: string,\n options?: MetricOptions\n ): ObservableUpDownCounter {\n const descriptor = createInstrumentDescriptor(\n name,\n InstrumentType.OBSERVABLE_UP_DOWN_COUNTER,\n options\n );\n const storages =\n this._meterSharedState.registerAsyncMetricStorage(descriptor);\n return new ObservableUpDownCounterInstrument(\n descriptor,\n storages,\n this._meterSharedState.observableRegistry\n );\n }\n\n /**\n * @see {@link Meter.addBatchObservableCallback}\n */\n addBatchObservableCallback(\n callback: BatchObservableCallback,\n observables: Observable[]\n ) {\n this._meterSharedState.observableRegistry.addBatchCallback(\n callback,\n observables\n );\n }\n\n /**\n * @see {@link Meter.removeBatchObservableCallback}\n */\n removeBatchObservableCallback(\n callback: BatchObservableCallback,\n observables: Observable[]\n ) {\n this._meterSharedState.observableRegistry.removeBatchCallback(\n callback,\n observables\n );\n }\n}\n"]}
1
+ {"version":3,"file":"Meter.js","sourceRoot":"","sources":["../../src/Meter.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Meter as IMeter,\n MetricOptions,\n Gauge,\n Histogram,\n Counter,\n UpDownCounter,\n ObservableGauge,\n ObservableCounter,\n ObservableUpDownCounter,\n BatchObservableCallback,\n Observable,\n} from '@opentelemetry/api';\nimport { createInstrumentDescriptor } from './InstrumentDescriptor';\nimport {\n CounterInstrument,\n GaugeInstrument,\n HistogramInstrument,\n ObservableCounterInstrument,\n ObservableGaugeInstrument,\n ObservableUpDownCounterInstrument,\n UpDownCounterInstrument,\n} from './Instruments';\nimport { MeterSharedState } from './state/MeterSharedState';\nimport { InstrumentType } from './export/MetricData';\n\n/**\n * This class implements the {@link IMeter} interface.\n */\nexport class Meter implements IMeter {\n constructor(private _meterSharedState: MeterSharedState) {}\n\n /**\n * Create a {@link Gauge} instrument.\n */\n createGauge(name: string, options?: MetricOptions): Gauge {\n const descriptor = createInstrumentDescriptor(\n name,\n InstrumentType.GAUGE,\n options\n );\n const storage = this._meterSharedState.registerMetricStorage(descriptor);\n return new GaugeInstrument(storage, descriptor);\n }\n\n /**\n * Create a {@link Histogram} instrument.\n */\n createHistogram(name: string, options?: MetricOptions): Histogram {\n const descriptor = createInstrumentDescriptor(\n name,\n InstrumentType.HISTOGRAM,\n options\n );\n const storage = this._meterSharedState.registerMetricStorage(descriptor);\n return new HistogramInstrument(storage, descriptor);\n }\n\n /**\n * Create a {@link Counter} instrument.\n */\n createCounter(name: string, options?: MetricOptions): Counter {\n const descriptor = createInstrumentDescriptor(\n name,\n InstrumentType.COUNTER,\n options\n );\n const storage = this._meterSharedState.registerMetricStorage(descriptor);\n return new CounterInstrument(storage, descriptor);\n }\n\n /**\n * Create a {@link UpDownCounter} instrument.\n */\n createUpDownCounter(name: string, options?: MetricOptions): UpDownCounter {\n const descriptor = createInstrumentDescriptor(\n name,\n InstrumentType.UP_DOWN_COUNTER,\n options\n );\n const storage = this._meterSharedState.registerMetricStorage(descriptor);\n return new UpDownCounterInstrument(storage, descriptor);\n }\n\n /**\n * Create a {@link ObservableGauge} instrument.\n */\n createObservableGauge(\n name: string,\n options?: MetricOptions\n ): ObservableGauge {\n const descriptor = createInstrumentDescriptor(\n name,\n InstrumentType.OBSERVABLE_GAUGE,\n options\n );\n const storages =\n this._meterSharedState.registerAsyncMetricStorage(descriptor);\n return new ObservableGaugeInstrument(\n descriptor,\n storages,\n this._meterSharedState.observableRegistry\n );\n }\n\n /**\n * Create a {@link ObservableCounter} instrument.\n */\n createObservableCounter(\n name: string,\n options?: MetricOptions\n ): ObservableCounter {\n const descriptor = createInstrumentDescriptor(\n name,\n InstrumentType.OBSERVABLE_COUNTER,\n options\n );\n const storages =\n this._meterSharedState.registerAsyncMetricStorage(descriptor);\n return new ObservableCounterInstrument(\n descriptor,\n storages,\n this._meterSharedState.observableRegistry\n );\n }\n\n /**\n * Create a {@link ObservableUpDownCounter} instrument.\n */\n createObservableUpDownCounter(\n name: string,\n options?: MetricOptions\n ): ObservableUpDownCounter {\n const descriptor = createInstrumentDescriptor(\n name,\n InstrumentType.OBSERVABLE_UP_DOWN_COUNTER,\n options\n );\n const storages =\n this._meterSharedState.registerAsyncMetricStorage(descriptor);\n return new ObservableUpDownCounterInstrument(\n descriptor,\n storages,\n this._meterSharedState.observableRegistry\n );\n }\n\n /**\n * @see {@link Meter.addBatchObservableCallback}\n */\n addBatchObservableCallback(\n callback: BatchObservableCallback,\n observables: Observable[]\n ) {\n this._meterSharedState.observableRegistry.addBatchCallback(\n callback,\n observables\n );\n }\n\n /**\n * @see {@link Meter.removeBatchObservableCallback}\n */\n removeBatchObservableCallback(\n callback: BatchObservableCallback,\n observables: Observable[]\n ) {\n this._meterSharedState.observableRegistry.removeBatchCallback(\n callback,\n observables\n );\n }\n}\n"]}
@@ -5,13 +5,13 @@ import { ObservableInstrument } from './Instruments';
5
5
  * The class implements {@link ObservableResult} interface.
6
6
  */
7
7
  export declare class ObservableResultImpl implements ObservableResult {
8
+ private _instrumentName;
9
+ private _valueType;
8
10
  /**
9
11
  * @internal
10
12
  */
11
13
  _buffer: AttributeHashMap<number>;
12
- private _instrumentName;
13
- private _valueType;
14
- constructor(instrumentName: string, valueType: ValueType);
14
+ constructor(_instrumentName: string, _valueType: ValueType);
15
15
  /**
16
16
  * Observe a measurement of the value associated with the given attributes.
17
17
  */
@@ -20,15 +20,15 @@ import { isObservableInstrument } from './Instruments';
20
20
  * The class implements {@link ObservableResult} interface.
21
21
  */
22
22
  export class ObservableResultImpl {
23
+ _instrumentName;
24
+ _valueType;
23
25
  /**
24
26
  * @internal
25
27
  */
26
28
  _buffer = new AttributeHashMap();
27
- _instrumentName;
28
- _valueType;
29
- constructor(instrumentName, valueType) {
30
- this._instrumentName = instrumentName;
31
- this._valueType = valueType;
29
+ constructor(_instrumentName, _valueType) {
30
+ this._instrumentName = _instrumentName;
31
+ this._valueType = _valueType;
32
32
  }
33
33
  /**
34
34
  * Observe a measurement of the value associated with the given attributes.
@@ -1 +1 @@
1
- {"version":3,"file":"ObservableResult.js","sourceRoot":"","sources":["../../src/ObservableResult.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,IAAI,EAGJ,SAAS,GAGV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAwB,MAAM,eAAe,CAAC;AAE7E;;GAEG;AACH,MAAM,OAAO,oBAAoB;IAC/B;;OAEG;IACH,OAAO,GAAG,IAAI,gBAAgB,EAAU,CAAC;IACjC,eAAe,CAAS;IACxB,UAAU,CAAY;IAE9B,YAAY,cAAsB,EAAE,SAAoB;QACtD,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,KAAa,EAAE,aAAyB,EAAE;QAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,IAAI,CAAC,IAAI,CACP,uCAAuC,IAAI,CAAC,eAAe,KAAK,KAAK,EAAE,CACxE,CAAC;YACF,OAAO;SACR;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACjE,IAAI,CAAC,IAAI,CACP,2DAA2D,IAAI,CAAC,eAAe,mCAAmC,CACnH,CAAC;YACF,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1B,4BAA4B;YAC5B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;gBAC5B,OAAO;aACR;SACF;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,yBAAyB;IACpC;;OAEG;IACH,OAAO,GAAwD,IAAI,GAAG,EAAE,CAAC;IAEzE;;OAEG;IACH,OAAO,CACL,MAAkB,EAClB,KAAa,EACb,aAAyB,EAAE;QAE3B,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE;YACnC,OAAO;SACR;QACD,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,GAAG,IAAI,IAAI,EAAE;YACf,GAAG,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;SAC/B;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,IAAI,CAAC,IAAI,CACP,uCAAuC,MAAM,CAAC,WAAW,CAAC,IAAI,KAAK,KAAK,EAAE,CAC3E,CAAC;YACF,OAAO;SACR;QACD,IACE,MAAM,CAAC,WAAW,CAAC,SAAS,KAAK,SAAS,CAAC,GAAG;YAC9C,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EACxB;YACA,IAAI,CAAC,IAAI,CACP,2DAA2D,MAAM,CAAC,WAAW,CAAC,IAAI,mCAAmC,CACtH,CAAC;YACF,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1B,4BAA4B;YAC5B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;gBAC5B,OAAO;aACR;SACF;QACD,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;CACF","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n diag,\n ObservableResult,\n Attributes,\n ValueType,\n BatchObservableResult,\n Observable,\n} from '@opentelemetry/api';\nimport { AttributeHashMap } from './state/HashMap';\nimport { isObservableInstrument, ObservableInstrument } from './Instruments';\n\n/**\n * The class implements {@link ObservableResult} interface.\n */\nexport class ObservableResultImpl implements ObservableResult {\n /**\n * @internal\n */\n _buffer = new AttributeHashMap<number>();\n private _instrumentName: string;\n private _valueType: ValueType;\n\n constructor(instrumentName: string, valueType: ValueType) {\n this._instrumentName = instrumentName;\n this._valueType = valueType;\n }\n\n /**\n * Observe a measurement of the value associated with the given attributes.\n */\n observe(value: number, attributes: Attributes = {}): void {\n if (typeof value !== 'number') {\n diag.warn(\n `non-number value provided to metric ${this._instrumentName}: ${value}`\n );\n return;\n }\n if (this._valueType === ValueType.INT && !Number.isInteger(value)) {\n diag.warn(\n `INT value type cannot accept a floating-point value for ${this._instrumentName}, ignoring the fractional digits.`\n );\n value = Math.trunc(value);\n // ignore non-finite values.\n if (!Number.isInteger(value)) {\n return;\n }\n }\n this._buffer.set(attributes, value);\n }\n}\n\n/**\n * The class implements {@link BatchObservableCallback} interface.\n */\nexport class BatchObservableResultImpl implements BatchObservableResult {\n /**\n * @internal\n */\n _buffer: Map<ObservableInstrument, AttributeHashMap<number>> = new Map();\n\n /**\n * Observe a measurement of the value associated with the given attributes.\n */\n observe(\n metric: Observable,\n value: number,\n attributes: Attributes = {}\n ): void {\n if (!isObservableInstrument(metric)) {\n return;\n }\n let map = this._buffer.get(metric);\n if (map == null) {\n map = new AttributeHashMap();\n this._buffer.set(metric, map);\n }\n if (typeof value !== 'number') {\n diag.warn(\n `non-number value provided to metric ${metric._descriptor.name}: ${value}`\n );\n return;\n }\n if (\n metric._descriptor.valueType === ValueType.INT &&\n !Number.isInteger(value)\n ) {\n diag.warn(\n `INT value type cannot accept a floating-point value for ${metric._descriptor.name}, ignoring the fractional digits.`\n );\n value = Math.trunc(value);\n // ignore non-finite values.\n if (!Number.isInteger(value)) {\n return;\n }\n }\n map.set(attributes, value);\n }\n}\n"]}
1
+ {"version":3,"file":"ObservableResult.js","sourceRoot":"","sources":["../../src/ObservableResult.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,IAAI,EAGJ,SAAS,GAGV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAwB,MAAM,eAAe,CAAC;AAE7E;;GAEG;AACH,MAAM,OAAO,oBAAoB;IAOrB;IACA;IAPV;;OAEG;IACH,OAAO,GAAG,IAAI,gBAAgB,EAAU,CAAC;IAEzC,YACU,eAAuB,EACvB,UAAqB;QADrB,oBAAe,GAAf,eAAe,CAAQ;QACvB,eAAU,GAAV,UAAU,CAAW;IAC5B,CAAC;IAEJ;;OAEG;IACH,OAAO,CAAC,KAAa,EAAE,aAAyB,EAAE;QAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,IAAI,CAAC,IAAI,CACP,uCAAuC,IAAI,CAAC,eAAe,KAAK,KAAK,EAAE,CACxE,CAAC;YACF,OAAO;SACR;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACjE,IAAI,CAAC,IAAI,CACP,2DAA2D,IAAI,CAAC,eAAe,mCAAmC,CACnH,CAAC;YACF,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1B,4BAA4B;YAC5B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;gBAC5B,OAAO;aACR;SACF;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,yBAAyB;IACpC;;OAEG;IACH,OAAO,GAAwD,IAAI,GAAG,EAAE,CAAC;IAEzE;;OAEG;IACH,OAAO,CACL,MAAkB,EAClB,KAAa,EACb,aAAyB,EAAE;QAE3B,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE;YACnC,OAAO;SACR;QACD,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,GAAG,IAAI,IAAI,EAAE;YACf,GAAG,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;SAC/B;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,IAAI,CAAC,IAAI,CACP,uCAAuC,MAAM,CAAC,WAAW,CAAC,IAAI,KAAK,KAAK,EAAE,CAC3E,CAAC;YACF,OAAO;SACR;QACD,IACE,MAAM,CAAC,WAAW,CAAC,SAAS,KAAK,SAAS,CAAC,GAAG;YAC9C,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EACxB;YACA,IAAI,CAAC,IAAI,CACP,2DAA2D,MAAM,CAAC,WAAW,CAAC,IAAI,mCAAmC,CACtH,CAAC;YACF,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1B,4BAA4B;YAC5B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;gBAC5B,OAAO;aACR;SACF;QACD,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;CACF","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n diag,\n ObservableResult,\n Attributes,\n ValueType,\n BatchObservableResult,\n Observable,\n} from '@opentelemetry/api';\nimport { AttributeHashMap } from './state/HashMap';\nimport { isObservableInstrument, ObservableInstrument } from './Instruments';\n\n/**\n * The class implements {@link ObservableResult} interface.\n */\nexport class ObservableResultImpl implements ObservableResult {\n /**\n * @internal\n */\n _buffer = new AttributeHashMap<number>();\n\n constructor(\n private _instrumentName: string,\n private _valueType: ValueType\n ) {}\n\n /**\n * Observe a measurement of the value associated with the given attributes.\n */\n observe(value: number, attributes: Attributes = {}): void {\n if (typeof value !== 'number') {\n diag.warn(\n `non-number value provided to metric ${this._instrumentName}: ${value}`\n );\n return;\n }\n if (this._valueType === ValueType.INT && !Number.isInteger(value)) {\n diag.warn(\n `INT value type cannot accept a floating-point value for ${this._instrumentName}, ignoring the fractional digits.`\n );\n value = Math.trunc(value);\n // ignore non-finite values.\n if (!Number.isInteger(value)) {\n return;\n }\n }\n this._buffer.set(attributes, value);\n }\n}\n\n/**\n * The class implements {@link BatchObservableCallback} interface.\n */\nexport class BatchObservableResultImpl implements BatchObservableResult {\n /**\n * @internal\n */\n _buffer: Map<ObservableInstrument, AttributeHashMap<number>> = new Map();\n\n /**\n * Observe a measurement of the value associated with the given attributes.\n */\n observe(\n metric: Observable,\n value: number,\n attributes: Attributes = {}\n ): void {\n if (!isObservableInstrument(metric)) {\n return;\n }\n let map = this._buffer.get(metric);\n if (map == null) {\n map = new AttributeHashMap();\n this._buffer.set(metric, map);\n }\n if (typeof value !== 'number') {\n diag.warn(\n `non-number value provided to metric ${metric._descriptor.name}: ${value}`\n );\n return;\n }\n if (\n metric._descriptor.valueType === ValueType.INT &&\n !Number.isInteger(value)\n ) {\n diag.warn(\n `INT value type cannot accept a floating-point value for ${metric._descriptor.name}, ignoring the fractional digits.`\n );\n value = Math.trunc(value);\n // ignore non-finite values.\n if (!Number.isInteger(value)) {\n return;\n }\n }\n map.set(attributes, value);\n }\n}\n"]}
@@ -29,7 +29,7 @@ export declare class ExponentialHistogramAccumulation implements Accumulation {
29
29
  private _positive;
30
30
  private _negative;
31
31
  private _mapping;
32
- constructor(startTime: HrTime, maxSize?: number, recordMinMax?: boolean, sum?: number, count?: number, zeroCount?: number, min?: number, max?: number, positive?: Buckets, negative?: Buckets, mapping?: Mapping);
32
+ constructor(startTime: HrTime, _maxSize?: number, _recordMinMax?: boolean, _sum?: number, _count?: number, _zeroCount?: number, _min?: number, _max?: number, _positive?: Buckets, _negative?: Buckets, _mapping?: Mapping);
33
33
  /**
34
34
  * record updates a histogram with a single count
35
35
  * @param {Number} value
@@ -152,16 +152,16 @@ export declare class ExponentialHistogramAccumulation implements Accumulation {
152
152
  * Aggregator for ExponentialHistogramAccumulations
153
153
  */
154
154
  export declare class ExponentialHistogramAggregator implements Aggregator<ExponentialHistogramAccumulation> {
155
- kind: AggregatorKind.EXPONENTIAL_HISTOGRAM;
156
155
  readonly _maxSize: number;
157
156
  private readonly _recordMinMax;
157
+ kind: AggregatorKind.EXPONENTIAL_HISTOGRAM;
158
158
  /**
159
159
  * @param _maxSize Maximum number of buckets for each of the positive
160
160
  * and negative ranges, exclusive of the zero-bucket.
161
161
  * @param _recordMinMax If set to true, min and max will be recorded.
162
162
  * Otherwise, min and max will not be recorded.
163
163
  */
164
- constructor(maxSize: number, recordMinMax: boolean);
164
+ constructor(_maxSize: number, _recordMinMax: boolean);
165
165
  createAccumulation(startTime: HrTime): ExponentialHistogramAccumulation;
166
166
  /**
167
167
  * Return the result of the merge of two exponential histogram accumulations.
@@ -22,11 +22,11 @@ import { nextGreaterSquare } from './exponential-histogram/util';
22
22
  // HighLow is a utility class used for computing a common scale for
23
23
  // two exponential histogram accumulations
24
24
  class HighLow {
25
+ low;
26
+ high;
25
27
  static combine(h1, h2) {
26
28
  return new HighLow(Math.min(h1.low, h2.low), Math.max(h1.high, h2.high));
27
29
  }
28
- low;
29
- high;
30
30
  constructor(low, high) {
31
31
  this.low = low;
32
32
  this.high = high;
@@ -47,18 +47,18 @@ export class ExponentialHistogramAccumulation {
47
47
  _positive;
48
48
  _negative;
49
49
  _mapping;
50
- constructor(startTime, maxSize = DEFAULT_MAX_SIZE, recordMinMax = true, sum = 0, count = 0, zeroCount = 0, min = Number.POSITIVE_INFINITY, max = Number.NEGATIVE_INFINITY, positive = new Buckets(), negative = new Buckets(), mapping = getMapping(MAX_SCALE)) {
50
+ constructor(startTime, _maxSize = DEFAULT_MAX_SIZE, _recordMinMax = true, _sum = 0, _count = 0, _zeroCount = 0, _min = Number.POSITIVE_INFINITY, _max = Number.NEGATIVE_INFINITY, _positive = new Buckets(), _negative = new Buckets(), _mapping = getMapping(MAX_SCALE)) {
51
51
  this.startTime = startTime;
52
- this._maxSize = maxSize;
53
- this._recordMinMax = recordMinMax;
54
- this._sum = sum;
55
- this._count = count;
56
- this._zeroCount = zeroCount;
57
- this._min = min;
58
- this._max = max;
59
- this._positive = positive;
60
- this._negative = negative;
61
- this._mapping = mapping;
52
+ this._maxSize = _maxSize;
53
+ this._recordMinMax = _recordMinMax;
54
+ this._sum = _sum;
55
+ this._count = _count;
56
+ this._zeroCount = _zeroCount;
57
+ this._min = _min;
58
+ this._max = _max;
59
+ this._positive = _positive;
60
+ this._negative = _negative;
61
+ this._mapping = _mapping;
62
62
  if (this._maxSize < MIN_MAX_SIZE) {
63
63
  diag.warn(`Exponential Histogram Max Size set to ${this._maxSize}, \
64
64
  changing to the minimum size of: ${MIN_MAX_SIZE}`);
@@ -403,18 +403,18 @@ export class ExponentialHistogramAccumulation {
403
403
  * Aggregator for ExponentialHistogramAccumulations
404
404
  */
405
405
  export class ExponentialHistogramAggregator {
406
- kind = AggregatorKind.EXPONENTIAL_HISTOGRAM;
407
406
  _maxSize;
408
407
  _recordMinMax;
408
+ kind = AggregatorKind.EXPONENTIAL_HISTOGRAM;
409
409
  /**
410
410
  * @param _maxSize Maximum number of buckets for each of the positive
411
411
  * and negative ranges, exclusive of the zero-bucket.
412
412
  * @param _recordMinMax If set to true, min and max will be recorded.
413
413
  * Otherwise, min and max will not be recorded.
414
414
  */
415
- constructor(maxSize, recordMinMax) {
416
- this._maxSize = maxSize;
417
- this._recordMinMax = recordMinMax;
415
+ constructor(_maxSize, _recordMinMax) {
416
+ this._maxSize = _maxSize;
417
+ this._recordMinMax = _recordMinMax;
418
418
  }
419
419
  createAccumulation(startTime) {
420
420
  return new ExponentialHistogramAccumulation(startTime, this._maxSize, this._recordMinMax);