@kedem/okdb 1.0.0 → 1.0.3

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 (188) hide show
  1. package/README.md +1 -1
  2. package/bin/okdb.js +1 -1
  3. package/keys/public.pem +3 -0
  4. package/okdb.js +1 -1
  5. package/package.json +2 -2
  6. package/public/admin-app.js +1 -1
  7. package/public/components/admin-route-host.ok.js +1 -1
  8. package/public/components/env-picker.ok.js +1 -1
  9. package/public/components/field-path-input.ok.js +1 -1
  10. package/public/components/geo-map.ok.js +1 -1
  11. package/public/components/ok-cron-input.ok.js +1 -1
  12. package/public/components/ok-dropzone.ok.js +1 -1
  13. package/public/components/ok-js-input.ok.js +1 -1
  14. package/public/components/ok-json-input.ok.js +1 -1
  15. package/public/components/ok-text-monaco-input.ok.js +1 -1
  16. package/public/components/theme-toggle.ok.js +1 -1
  17. package/public/login-app.js +1 -1
  18. package/public/modules/ok.js +1 -1
  19. package/public/sections/api/parts/api-endpoint.ok.js +1 -1
  20. package/public/sections/auth/modals/create-token-modal.ok.js +1 -1
  21. package/public/sections/auth/modals/edit-token-modal.ok.js +1 -1
  22. package/public/sections/auth/modals/perm-info-popover.ok.js +1 -1
  23. package/public/sections/auth/parts/token-detail.ok.js +1 -1
  24. package/public/sections/auth/parts/token-list.ok.js +1 -1
  25. package/public/sections/db/modals/add-item-modal.ok.js +1 -1
  26. package/public/sections/db/modals/create-env-modal.ok.js +1 -1
  27. package/public/sections/db/modals/create-fts-modal.ok.js +1 -1
  28. package/public/sections/db/modals/create-index-modal.ok.js +1 -1
  29. package/public/sections/db/modals/create-pipeline-modal.ok.js +1 -1
  30. package/public/sections/db/modals/demo-env-modal.ok.js +1 -1
  31. package/public/sections/db/modals/remove-env-modal.ok.js +1 -1
  32. package/public/sections/db/modals/schema-edit-modal.ok.js +1 -1
  33. package/public/sections/db/parts/db-overview.ok.js +1 -1
  34. package/public/sections/db/parts/db-pipelines-panel.ok.js +1 -1
  35. package/public/sections/db/parts/edit-row.ok.js +1 -1
  36. package/public/sections/db/parts/tm-timeline.ok.js +1 -1
  37. package/public/sections/db/parts/type-changelog.ok.js +1 -1
  38. package/public/sections/db/parts/type-list.ok.js +1 -1
  39. package/public/sections/db/parts/type-pipelines-tab.ok.js +1 -1
  40. package/public/sections/db/parts/type-schema-tab.ok.js +1 -1
  41. package/public/sections/db/parts/type-viewer.ok.js +1 -1
  42. package/public/sections/db/parts/type-violations-tab.ok.js +1 -1
  43. package/public/sections/embeddings/modals/register-model-modal.ok.js +1 -1
  44. package/public/sections/embeddings/parts/embed-create-panel.ok.js +1 -1
  45. package/public/sections/embeddings/parts/embed-embedder-panel.ok.js +1 -1
  46. package/public/sections/embeddings/parts/embed-engine-declaration-editor.ok.js +1 -1
  47. package/public/sections/embeddings/parts/embed-engine-list.ok.js +1 -1
  48. package/public/sections/embeddings/parts/embed-indexer-panel.ok.js +1 -1
  49. package/public/sections/embeddings/parts/embed-lifecycle-bar.ok.js +1 -1
  50. package/public/sections/embeddings/parts/embed-model-catalog.ok.js +1 -1
  51. package/public/sections/embeddings/parts/embed-overview.ok.js +1 -1
  52. package/public/sections/embeddings/parts/embed-search-panel.ok.js +1 -1
  53. package/public/sections/embeddings/parts/embed-worker-panel.ok.js +1 -1
  54. package/public/sections/embeddings/parts/embeddings-engine-panel.ok.js +1 -1
  55. package/public/sections/embeddings/parts/engines-overview.ok.js +1 -1
  56. package/public/sections/embeddings/parts/pipeline-create-panel.ok.js +1 -1
  57. package/public/sections/engines/engine-panel-shared-style.js +1 -1
  58. package/public/sections/engines/engine-ui-utils.js +1 -1
  59. package/public/sections/engines/modals/engine-modal.ok.js +1 -1
  60. package/public/sections/engines/parts/engine-declaration-editor.ok.js +1 -1
  61. package/public/sections/engines/parts/engine-lifecycle-actions.ok.js +1 -1
  62. package/public/sections/engines/parts/engine-panel-shell.ok.js +1 -1
  63. package/public/sections/engines/parts/engine-resource-card.ok.js +1 -1
  64. package/public/sections/engines/parts/engine-row-item.ok.js +1 -1
  65. package/public/sections/engines/parts/generic-engine-panel.ok.js +1 -1
  66. package/public/sections/files/parts/files-blob-status.ok.js +1 -1
  67. package/public/sections/files/parts/files-collection-list.ok.js +1 -1
  68. package/public/sections/files/parts/files-collection-panel.ok.js +1 -1
  69. package/public/sections/files/parts/files-file-list.ok.js +1 -1
  70. package/public/sections/files/parts/files-overview.ok.js +1 -1
  71. package/public/sections/files/parts/files-path-browser.ok.js +1 -1
  72. package/public/sections/files/parts/files-upload-panel.ok.js +1 -1
  73. package/public/sections/functions/modals/function-modal.ok.js +1 -1
  74. package/public/sections/functions/parts/function-detail.ok.js +1 -1
  75. package/public/sections/functions/parts/function-logs.ok.js +1 -1
  76. package/public/sections/functions/parts/function-runner.ok.js +1 -1
  77. package/public/sections/functions/parts/functions-list.ok.js +1 -1
  78. package/public/sections/license/parts/license-panel.ok.js +1 -1
  79. package/public/sections/queue/modals/create-bucket-modal.ok.js +1 -1
  80. package/public/sections/queue/modals/edit-bucket-modal.ok.js +1 -1
  81. package/public/sections/queue/modals/edit-job-modal.ok.js +1 -1
  82. package/public/sections/queue/modals/enqueue-job-modal.ok.js +1 -1
  83. package/public/sections/queue/modals/job-type-modal.ok.js +1 -1
  84. package/public/sections/queue/parts/ok-job-form.ok.js +1 -1
  85. package/public/sections/queue/parts/queue-buckets.ok.js +1 -1
  86. package/public/sections/queue/parts/queue-job-types.ok.js +1 -1
  87. package/public/sections/queue/parts/queue-jobs.ok.js +1 -1
  88. package/public/sections/queue/parts/queue-types.ok.js +1 -1
  89. package/public/sections/queue/parts/queue-workers.ok.js +1 -1
  90. package/public/sections/sync/parts/sync-node-detail.ok.js +1 -1
  91. package/public/sections/sync/parts/sync-retention.ok.js +1 -1
  92. package/public/sections/sync/parts/sync-topology.ok.js +1 -1
  93. package/public/sections/system/modals/data-ops-modal.ok.js +1 -1
  94. package/public/sections/system/parts/system-api-panel.ok.js +1 -1
  95. package/public/sections/system/parts/system-auth-panel.ok.js +1 -1
  96. package/public/sections/system/parts/system-log-history.ok.js +1 -1
  97. package/public/sections/system/parts/system-log.ok.js +1 -1
  98. package/public/sections/system/parts/system-status.ok.js +1 -1
  99. package/public/sections/system/parts/system-sync-panel.ok.js +1 -1
  100. package/public/sections/views/modals/create-view-modal.ok.js +1 -1
  101. package/public/sections/views/parts/view-detail.ok.js +1 -1
  102. package/public/sections/views/parts/views-list.ok.js +1 -1
  103. package/public/sections/views/parts/views-overview.ok.js +1 -1
  104. package/public/setup-app.js +1 -1
  105. package/public/stores/auth-store.js +1 -1
  106. package/public/stores/events-store.js +1 -1
  107. package/public/stores/functions-store.js +1 -1
  108. package/public/stores/okdb-store.js +1 -1
  109. package/public/stores/theme-store.js +1 -1
  110. package/public/util/permissions.js +1 -1
  111. package/public/util/sift-schema.js +1 -1
  112. package/public/vendor/okjs/ok.esm.min.js +1 -2
  113. package/public/vendor/okjs/toolkit/behavior/async.ok.js +1 -1
  114. package/public/vendor/okjs/toolkit/components/ok-chart.ok.js +1 -1
  115. package/public/vendor/okjs/toolkit/components/ok-doc-viewer.ok.js +1 -1
  116. package/public/vendor/okjs/toolkit/components/ok-marked.ok.js +1 -1
  117. package/public/vendor/okjs/toolkit/components/ok-monaco.ok.js +1 -1
  118. package/public/vendor/okjs/toolkit/core/ok-layer-service.ok.js +1 -1
  119. package/public/vendor/okjs/toolkit/core/ok-layer.ok.js +1 -1
  120. package/public/vendor/okjs/toolkit/core/ok-overlay.ok.js +1 -1
  121. package/public/vendor/okjs/toolkit/core/ok-sandbox.ok.js +1 -1
  122. package/public/vendor/okjs/toolkit/core/transition.ok.js +1 -1
  123. package/public/vendor/okjs/toolkit/core/virtualized.ok.js +1 -1
  124. package/public/vendor/okjs/toolkit/devtools/ok-console-service.ok.js +1 -1
  125. package/public/vendor/okjs/toolkit/devtools/ok-console.ok.js +1 -1
  126. package/public/vendor/okjs/toolkit/devtools/ok-fps-monitor-service.ok.js +1 -1
  127. package/public/vendor/okjs/toolkit/devtools/ok-fps-monitor.ok.js +1 -1
  128. package/public/vendor/okjs/toolkit/devtools/ok-inspector-service.ok.js +1 -1
  129. package/public/vendor/okjs/toolkit/devtools/ok-inspector.ok.js +1 -1
  130. package/public/vendor/okjs/toolkit/devtools/ok-js-tree.ok.js +1 -1
  131. package/public/vendor/okjs/toolkit/devtools/ok-timeline-service.ok.js +1 -1
  132. package/public/vendor/okjs/toolkit/devtools/ok-timeline.ok.js +1 -1
  133. package/public/vendor/okjs/toolkit/docs/doc-viewer.ok.js +1 -1
  134. package/public/vendor/okjs/toolkit/editor/ok-live-component.ok.js +1 -1
  135. package/public/vendor/okjs/toolkit/editor/ok-live-example.ok.js +1 -1
  136. package/public/vendor/okjs/toolkit/editor/ok-live-shell.ok.js +1 -1
  137. package/public/vendor/okjs/toolkit/elements/ok-dropdown.ok.js +1 -1
  138. package/public/vendor/okjs/toolkit/elements/ok-icon.ok.js +1 -1
  139. package/public/vendor/okjs/toolkit/elements/ok-select.ok.js +1 -1
  140. package/public/vendor/okjs/toolkit/elements/ok-table.ok.js +1 -1
  141. package/public/vendor/okjs/toolkit/errors/ok-crash-boundary.ok.js +1 -1
  142. package/public/vendor/okjs/toolkit/errors/ok-crash-info.ok.js +1 -1
  143. package/public/vendor/okjs/toolkit/i18n/i18n-editor-examples.ok.js +1 -1
  144. package/public/vendor/okjs/toolkit/i18n/i18n-editor.ok.js +1 -1
  145. package/public/vendor/okjs/toolkit/i18n/i18n-key-editor-tips.ok.js +1 -1
  146. package/public/vendor/okjs/toolkit/i18n/i18n-key-editor.ok.js +1 -1
  147. package/public/vendor/okjs/toolkit/i18n/i18n-service.ok.js +1 -1
  148. package/public/vendor/okjs/toolkit/i18n/ok-i18n.js +1 -1
  149. package/public/vendor/okjs/toolkit/interaction/ok-contextmenu.ok.js +1 -1
  150. package/public/vendor/okjs/toolkit/interaction/ok-dismiss-service.ok.js +1 -1
  151. package/public/vendor/okjs/toolkit/interaction/ok-draggable.ok.js +1 -1
  152. package/public/vendor/okjs/toolkit/interaction/ok-flyover-panel.ok.js +1 -1
  153. package/public/vendor/okjs/toolkit/interaction/ok-flyover.ok.js +1 -1
  154. package/public/vendor/okjs/toolkit/interaction/ok-highlight-service.ok.js +1 -1
  155. package/public/vendor/okjs/toolkit/interaction/ok-highlight.ok.js +1 -1
  156. package/public/vendor/okjs/toolkit/interaction/ok-hotkeys-service.ok.js +1 -1
  157. package/public/vendor/okjs/toolkit/interaction/ok-picker-service.ok.js +1 -1
  158. package/public/vendor/okjs/toolkit/interaction/ok-popout-service.ok.js +1 -1
  159. package/public/vendor/okjs/toolkit/interaction/ok-popout.ok.js +1 -1
  160. package/public/vendor/okjs/toolkit/interaction/ok-portal-service.ok.js +1 -1
  161. package/public/vendor/okjs/toolkit/interaction/ok-submenu.ok.js +1 -1
  162. package/public/vendor/okjs/toolkit/layout/ok-resizer.ok.js +1 -1
  163. package/public/vendor/okjs/toolkit/manifest.js +1 -1
  164. package/public/vendor/okjs/toolkit/modals/ok-modal-service.ok.js +1 -1
  165. package/public/vendor/okjs/toolkit/modals/ok-modal.ok.js +1 -1
  166. package/public/vendor/okjs/toolkit/modals/ok-toast-service.ok.js +1 -1
  167. package/public/vendor/okjs/toolkit/modals/ok-window.ok.js +1 -1
  168. package/public/vendor/okjs/toolkit/navigation/hash-router.ok.js +1 -1
  169. package/public/vendor/okjs/toolkit/navigation/history-router.ok.js +1 -1
  170. package/public/vendor/okjs/toolkit/navigation/router.ok.js +1 -1
  171. package/public/vendor/okjs/toolkit/sync/reactive-sync-service.ok.js +1 -1
  172. package/public/vendor/okjs/toolkit/sync/reactive-sync.js +1 -1
  173. package/public/vendor/okjs/toolkit/theming/blocks/ok-design-button.css.js +1 -1
  174. package/public/vendor/okjs/toolkit/theming/blocks/ok-design-input.css.js +1 -1
  175. package/public/vendor/okjs/toolkit/theming/ok-design-style.js +1 -1
  176. package/public/vendor/okjs/toolkit/theming/ok-design-vars.js +1 -1
  177. package/public/vendor/okjs/toolkit/theming/ok-design.ok.js +1 -1
  178. package/public/vendor/okjs/toolkit/theming/ok-theme-editor/ok-theme-editor-input.ok.js +1 -1
  179. package/public/vendor/okjs/toolkit/theming/ok-theme-editor/ok-theme-editor-service.ok.js +1 -1
  180. package/public/vendor/okjs/toolkit/theming/ok-theme-editor/ok-theme-editor-style.js +1 -1
  181. package/public/vendor/okjs/toolkit/theming/ok-theme-editor/ok-theme-editor-utils.js +1 -1
  182. package/public/vendor/okjs/toolkit/theming/ok-theme-editor/ok-theme-editor-variable.ok.js +1 -1
  183. package/public/vendor/okjs/toolkit/theming/ok-theme-editor/ok-theme-editor-vm.js +1 -1
  184. package/public/vendor/okjs/toolkit/theming/ok-theme-editor/ok-theme-editor.ok.js +1 -1
  185. package/public/vendor/okjs/toolkit/theming/ok-theme.ok.js +1 -1
  186. package/public/view-models/type-query-vm.js +1 -1
  187. package/public/images/logo.png +0 -0
  188. package/public/images/logo.svg +0 -333
@@ -1 +1 @@
1
- const _0x21c942=_0x3d1b;(function(_0x5c126e,_0x2219e6){const _0x1cc2db=_0x3d1b,_0x3292e2=_0x5c126e();while(!![]){try{const _0x3e7437=parseInt(_0x1cc2db(0x72))/0x1+parseInt(_0x1cc2db(0x84))/0x2*(-parseInt(_0x1cc2db(0x77))/0x3)+-parseInt(_0x1cc2db(0x9f))/0x4+-parseInt(_0x1cc2db(0x8c))/0x5*(-parseInt(_0x1cc2db(0xab))/0x6)+parseInt(_0x1cc2db(0x6e))/0x7+-parseInt(_0x1cc2db(0x9b))/0x8+-parseInt(_0x1cc2db(0xa6))/0x9*(-parseInt(_0x1cc2db(0xa2))/0xa);if(_0x3e7437===_0x2219e6)break;else _0x3292e2['push'](_0x3292e2['shift']());}catch(_0x19ba67){_0x3292e2['push'](_0x3292e2['shift']());}}}(_0x50c6,0x4f2a9));function _0x3d1b(_0xb42faa,_0x2572f7){_0xb42faa=_0xb42faa-0x6e;const _0x50c61a=_0x50c6();let _0x3d1bc1=_0x50c61a[_0xb42faa];return _0x3d1bc1;}import _0x11b90e,{ALL_EVENTS as _0x59782f}from'../../../stores/events-store.js';const t={'info':_0x21c942(0x90),'warn':_0x21c942(0x7b),'error':'var(--okdb-danger)','debug':_0x21c942(0x89)},n={'engine':_0x21c942(0x90),'type':'var(--okdb-purple)','index':_0x21c942(0x7b),'embeddings':_0x21c942(0x9c),'system':'var(--okdb-success)','sync':_0x21c942(0x81),'queue':_0x21c942(0xa7),'processor':'#f472b6','fts':_0x21c942(0xa1),'env':_0x21c942(0x8d),'txn':_0x21c942(0x89),'item':'var(--okdb-app-fg)','relay':_0x21c942(0x82)};Object[_0x21c942(0xa5)](n);export default{'tag':_0x21c942(0x7d),'attr':{'initialSource':{}},'context':_0x20e78a=>({'source':_0x20e78a[_0x21c942(0x73)]['initialSource']||_0x21c942(0x80),'eventNs':null,'level':null,'feature':null,'env':null,'search':'','autoScroll':!0x0,'_listRef':null,'_unsubs':[],get 'connected'(){return _0x11b90e['connected'];},get 'streamError'(){return _0x11b90e['error'];},get 'entries'(){const _0x6076d7=_0x21c942;let _0x347563=_0x11b90e[_0x6076d7(0x8b)];if(_0x6076d7(0x96)===this[_0x6076d7(0x71)]&&(_0x347563=_0x347563[_0x6076d7(0xa0)](_0x3b7e3e=>'log'===_0x3b7e3e['_kind'])),_0x6076d7(0x8e)===this['source']&&(_0x347563=_0x347563[_0x6076d7(0xa0)](_0x30b501=>_0x6076d7(0x8e)===_0x30b501['_kind'])),this[_0x6076d7(0x79)]&&_0x6076d7(0x96)!==this[_0x6076d7(0x71)]&&(_0x347563=_0x347563[_0x6076d7(0xa0)](_0x4d5ea3=>_0x6076d7(0x8e)!==_0x4d5ea3[_0x6076d7(0xa9)]||(_0x4d5ea3[_0x6076d7(0x86)]??'')['startsWith'](this[_0x6076d7(0x79)]+':'))),this['level']&&_0x6076d7(0x8e)!==this[_0x6076d7(0x71)]&&(_0x347563=_0x347563[_0x6076d7(0xa0)](_0x3d8d20=>_0x6076d7(0x96)!==_0x3d8d20[_0x6076d7(0xa9)]||_0x3d8d20[_0x6076d7(0x85)]===this[_0x6076d7(0x85)])),this[_0x6076d7(0x94)]&&'event'!==this[_0x6076d7(0x71)]&&(_0x347563=_0x347563[_0x6076d7(0xa0)](_0x17ca5e=>'log'!==_0x17ca5e[_0x6076d7(0xa9)]||_0x17ca5e[_0x6076d7(0xaa)]?.['feature']===this[_0x6076d7(0x94)])),this['env']&&_0x6076d7(0x8e)!==this['source']&&(_0x347563=_0x347563[_0x6076d7(0xa0)](_0x29e5f4=>_0x6076d7(0x96)!==_0x29e5f4[_0x6076d7(0xa9)]||_0x29e5f4[_0x6076d7(0xaa)]?.['env']===this[_0x6076d7(0x99)])),this['search']){const _0x3e493e=this[_0x6076d7(0x7f)][_0x6076d7(0xa4)]();_0x347563=_0x347563[_0x6076d7(0xa0)](_0xe152ce=>_0x6076d7(0x96)===_0xe152ce[_0x6076d7(0xa9)]?(_0xe152ce['msg']??'')['toLowerCase']()['includes'](_0x3e493e)||this[_0x6076d7(0x70)](_0xe152ce[_0x6076d7(0x7c)])[_0x6076d7(0xa4)]()['includes'](_0x3e493e)||this[_0x6076d7(0x70)](_0xe152ce[_0x6076d7(0xaa)])['toLowerCase']()[_0x6076d7(0x6f)](_0x3e493e):_0x6076d7(0x8e)===_0xe152ce[_0x6076d7(0xa9)]&&((_0xe152ce[_0x6076d7(0x86)]??'')[_0x6076d7(0xa4)]()[_0x6076d7(0x6f)](_0x3e493e)||this[_0x6076d7(0x9d)](_0xe152ce)[_0x6076d7(0xa4)]()[_0x6076d7(0x6f)](_0x3e493e)));}return _0x347563;},get 'totalCount'(){const _0x133fba=_0x21c942;return _0x11b90e['activity'][_0x133fba(0x76)];},get 'filteredCount'(){const _0x7fcdd4=_0x21c942;return this['entries'][_0x7fcdd4(0x76)];},get 'hasFeatures'(){const _0xcf26f3=_0x21c942;return _0x11b90e[_0xcf26f3(0x8b)][_0xcf26f3(0x93)](_0x3d04a1=>_0xcf26f3(0x96)===_0x3d04a1[_0xcf26f3(0xa9)]&&_0x3d04a1[_0xcf26f3(0xaa)]?.['feature']);},get 'featureList'(){const _0x248569=_0x21c942;return[...new Set(_0x11b90e['activity'][_0x248569(0xa0)](_0x65bec5=>_0x248569(0x96)===_0x65bec5[_0x248569(0xa9)]&&_0x65bec5[_0x248569(0xaa)]?.[_0x248569(0x94)])[_0x248569(0x78)](_0x2c175d=>_0x2c175d['meta'][_0x248569(0x94)]))][_0x248569(0x7a)]();},get 'hasEnvs'(){const _0x44ec30=_0x21c942;return _0x11b90e[_0x44ec30(0x8b)][_0x44ec30(0x93)](_0x2e5b46=>'log'===_0x2e5b46[_0x44ec30(0xa9)]&&_0x2e5b46[_0x44ec30(0xaa)]?.[_0x44ec30(0x99)]);},get 'envList'(){const _0x4bc102=_0x21c942;return[...new Set(_0x11b90e[_0x4bc102(0x8b)][_0x4bc102(0xa0)](_0x36dda1=>_0x4bc102(0x96)===_0x36dda1[_0x4bc102(0xa9)]&&_0x36dda1['meta']?.[_0x4bc102(0x99)])[_0x4bc102(0x78)](_0x2e8a1d=>_0x2e8a1d[_0x4bc102(0xaa)][_0x4bc102(0x99)]))]['sort']();},'setSource'(_0x122a00){const _0x1fa20d=_0x21c942;this[_0x1fa20d(0x71)]=_0x122a00,_0x1fa20d(0x96)===_0x122a00&&(this[_0x1fa20d(0x79)]=null),_0x1fa20d(0x8e)===_0x122a00&&(this[_0x1fa20d(0x85)]=null,this[_0x1fa20d(0x94)]=null,this['env']=null);},'toggleNs'(_0x50990a){const _0x150686=_0x21c942;this[_0x150686(0x79)]=this[_0x150686(0x79)]===_0x50990a?null:_0x50990a;},'toggleLevel'(_0x154b6c){const _0x1e385e=_0x21c942;this[_0x1e385e(0x85)]=this['level']===_0x154b6c?null:_0x154b6c;},'toggleFeature'(_0xa4c4d5){const _0x1adf09=_0x21c942;this['feature']=this[_0x1adf09(0x94)]===_0xa4c4d5?null:_0xa4c4d5;},'toggleEnv'(_0x56718d){const _0xf2eadc=_0x21c942;this['env']=this[_0xf2eadc(0x99)]===_0x56718d?null:_0x56718d;},'clear'(){_0x11b90e['clearActivity']();},'scrollToBottom'(){const _0x40b79e=this['_listRef'];_0x40b79e&&requestAnimationFrame(()=>{const _0x269bce=_0x3d1b;_0x40b79e[_0x269bce(0x8f)]=_0x40b79e[_0x269bce(0x83)];});},'levelColor':_0xe70697=>t[_0xe70697]??'#ccc','nsColor':_0x2f5387=>function(_0x1d33aa){const _0x4fafa4=_0x21c942,_0x1fd7c3=(_0x1d33aa||'')['split'](':')[0x0];return n[_0x1fd7c3]??_0x4fafa4(0x89);}(_0x2f5387),'fmtTime'(_0x2b3a00){const _0x12f0f3=_0x21c942;if(!_0x2b3a00)return'';const _0x14febf=new Date(_0x2b3a00);return _0x14febf[_0x12f0f3(0x88)]()['slice'](0x0,0x8)+'.'+String(_0x14febf[_0x12f0f3(0xa8)]())[_0x12f0f3(0x97)](0x3,'0');},'_metaStr'(_0x613981){const _0x5009de=_0x21c942;if(null==_0x613981)return'';if('string'==typeof _0x613981)return _0x613981;try{return JSON[_0x5009de(0xac)](_0x613981);}catch{return String(_0x613981);}},'fmtMeta'(_0x595924){return this['_metaStr'](_0x595924);},'_payloadStr'(_0x5d6839){const _0x7b65a=_0x21c942;if(_0x5d6839[_0x7b65a(0x92)])return _0x5d6839[_0x7b65a(0x92)];if(_0x5d6839['type'])return _0x5d6839[_0x7b65a(0x8a)];if(_0x5d6839[_0x7b65a(0x75)])return _0x5d6839['pipeline'];if(_0x5d6839['key'])return _0x5d6839[_0x7b65a(0x91)];const _0x42fbe4=new Set([_0x7b65a(0xa9),_0x7b65a(0x86),'_ts','ts']),_0x4720dd=[];for(const [_0x20ce3b,_0x592a52]of Object[_0x7b65a(0x95)](_0x5d6839)){if(_0x42fbe4[_0x7b65a(0x98)](_0x20ce3b))continue;const _0x379c20=_0x7b65a(0x74)==typeof _0x592a52?JSON['stringify'](_0x592a52):String(_0x592a52);if(_0x4720dd['push'](_0x20ce3b+':'+_0x379c20),_0x4720dd[_0x7b65a(0x76)]>=0x2)break;}return _0x4720dd[_0x7b65a(0x87)]('\x20\x20');},'fmtPayload'(_0x116271){const _0x127ba7=_0x21c942;return this[_0x127ba7(0x9d)](_0x116271);}}),'mount'(){const _0xffc6d=_0x21c942,_0x41e86e=['log',..._0x59782f][_0xffc6d(0x78)](_0x2f278a=>_0x11b90e['on'](_0x2f278a,()=>{const _0x2ea105=_0xffc6d;this[_0x2ea105(0x9a)]&&this['scrollToBottom']();}));this[_0xffc6d(0xa3)]=_0x41e86e,this[_0xffc6d(0x9a)]&&this[_0xffc6d(0x7e)]();},'unmount'(){const _0x355020=_0x21c942;for(const _0x22bf2b of this[_0x355020(0xa3)])_0x22bf2b();this['_unsubs']=[];},'template':_0x21c942(0x9e),'style':'@keyframes\x20dot-pulse{0%,to{opacity:1}50%{opacity:.4}}.syslog{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--okdb-app-bg-deep);border-radius:12px;overflow:hidden;border:1px\x20solid\x20var(--okdb-app-border)}.syslog__toolbar{display:flex;align-items:center;gap:6px;padding:7px\x2010px;background:var(--okdb-app-surface);border-bottom:1px\x20solid\x20var(--okdb-app-border);flex-shrink:0;flex-wrap:wrap}.syslog__toolbar--sub{padding:5px\x2010px;background:var(--okdb-app-bg-deep);border-bottom:1px\x20solid\x20var(--okdb-app-surface)}.syslog__title{font-weight:600;font-size:13px;white-space:nowrap;margin-right:2px}.syslog__sublabel{font-size:10px;opacity:.45;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;width:60px;flex-shrink:0}.syslog__spacer{flex:1}.syslog__pills{display:flex;gap:3px;flex-wrap:wrap}.syslog__search{background:var(--okdb-app-border);border:1px\x20solid\x20var(--okdb-app-border-strong);border-radius:6px;color:var(--okdb-warning);padding:3px\x208px;font-size:12px;width:110px;outline:0}.syslog__search:focus{border-color:var(--okdb-accent)}.pill,.syslog__count{font-size:11px;white-space:nowrap}.syslog__count{opacity:.4}.pill{border:1px\x20solid\x20var(--okdb-app-border);background:0\x200;padding:2px\x209px;border-radius:999px;cursor:pointer;color:var(--okdb-app-fg-faint);transition:border-color\x20.12s,color\x20.12s,background\x20.12s}.pill:hover{border-color:var(--okdb-app-fg-muted);color:var(--okdb-app-fg-muted)}.pill--on{border-color:var(--okdb-accent);background:var(--okdb-app-surface-2)}.pill--log,.pill--on{color:var(--okdb-accent)}.pill--event{color:var(--okdb-purple)}.syslog__list{flex:1;overflow-y:auto;font-family:monospace;font-size:12px;padding:2px\x200;min-height:0}.syslog__row{display:flex;gap:8px;padding:2px\x2010px;border-bottom:1px\x20solid\x20var(--okdb-app-bg-deep);align-items:baseline;min-height:20px}.syslog__row--event,.syslog__row:hover{background:var(--okdb-app-surface)}.syslog__row--event:hover{background:var(--okdb-app-surface-2)}.syslog__ts{color:var(--okdb-app-fg-muted);flex-shrink:0;font-size:11px;user-select:none;width:86px}.syslog__level{width:40px;flex-shrink:0;font-weight:700;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.syslog__evtag{flex-shrink:0;font-size:10px;padding:1px\x206px;border-radius:4px;border:1px\x20solid;white-space:nowrap;letter-spacing:.02em}.syslog__msg{flex:1;white-space:pre-wrap;word-break:break-word;color:var(--okdb-app-fg);min-width:0}.syslog__meta,.syslog__msg--dim{color:var(--okdb-app-fg-muted)}.syslog__meta{font-size:11px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;cursor:default}.syslog__empty{padding:24px\x2014px;opacity:.4;font-style:italic;font-size:12px}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0}.dot--on{background:var(--okdb-success);box-shadow:0\x200\x205px\x20color-mix(in\x20srgb,var(--okdb-success)\x2040%,transparent);animation:dot-pulse\x202s\x20ease-in-out\x20infinite}.dot--off{background:var(--okdb-danger)}'};function _0x50c6(){const _0x2810a4=['5uhTbKU','#67e8f9','event','scrollTop','var(--okdb-accent)','key','engine','some','feature','entries','log','padStart','has','env','autoScroll','3306936LrduYL','#2dd4bf','_payloadStr','\x0a<div\x20class=\x22syslog\x22>\x0a\x0a\x20\x20<!--\x20Toolbar\x20row\x201:\x20title\x20+\x20source\x20toggle\x20+\x20search\x20+\x20controls\x20-->\x0a\x20\x20<div\x20class=\x22syslog__toolbar\x22>\x0a\x20\x20\x20\x20<span\x20class=\x22syslog__title\x22>Activity</span>\x0a\x0a\x20\x20\x20\x20<!--\x20Source\x20pills\x20-->\x0a\x20\x20\x20\x20<div\x20class=\x22syslog__pills\x22>\x0a\x20\x20\x20\x20\x20\x20<button\x20@click=\x22setSource(\x27all\x27)\x22\x20\x20\x20:class=\x22source===\x27all\x27\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22>All</button>\x0a\x20\x20\x20\x20\x20\x20<button\x20@click=\x22setSource(\x27log\x27)\x22\x20\x20\x20:class=\x22source===\x27log\x27\x20\x20\x20?\x20\x27pill\x20pill--on\x20pill--log\x27\x20\x20\x20:\x20\x27pill\x20pill--log\x27\x22>Logs</button>\x0a\x20\x20\x20\x20\x20\x20<button\x20@click=\x22setSource(\x27event\x27)\x22\x20:class=\x22source===\x27event\x27\x20?\x20\x27pill\x20pill--on\x20pill--event\x27\x20:\x20\x27pill\x20pill--event\x27\x22>Events</button>\x0a\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20<div\x20class=\x22syslog__spacer\x22></div>\x0a\x0a\x20\x20\x20\x20<!--\x20Search\x20-->\x0a\x20\x20\x20\x20<input\x0a\x20\x20\x20\x20\x20\x20class=\x22syslog__search\x22\x0a\x20\x20\x20\x20\x20\x20type=\x22text\x22\x0a\x20\x20\x20\x20\x20\x20placeholder=\x22Filter…\x22\x0a\x20\x20\x20\x20\x20\x20:value=\x22search\x22\x0a\x20\x20\x20\x20\x20\x20@input=\x22search\x20=\x20$event.target.value\x22\x0a\x20\x20\x20\x20/>\x0a\x0a\x20\x20\x20\x20<!--\x20Auto-scroll\x20-->\x0a\x20\x20\x20\x20<button\x20@click=\x22autoScroll\x20=\x20!autoScroll\x22\x20:class=\x22autoScroll\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20title=\x22Auto-scroll\x20to\x20newest\x22>↓\x20Auto</button>\x0a\x0a\x20\x20\x20\x20<!--\x20Clear\x20-->\x0a\x20\x20\x20\x20<button\x20@click=\x22clear()\x22\x20class=\x22pill\x20syslog__clear\x22>Clear</button>\x0a\x0a\x20\x20\x20\x20<!--\x20Count\x20-->\x0a\x20\x20\x20\x20<span\x20class=\x22syslog__count\x22>\x0a\x20\x20\x20\x20\x20\x20{{\x20filteredCount\x20}}\x0a\x20\x20\x20\x20\x20\x20<if\x20:=\x22filteredCount\x20!==\x20totalCount\x22>\x20/\x20{{\x20totalCount\x20}}</if>\x0a\x20\x20\x20\x20</span>\x0a\x0a\x20\x20\x20\x20<!--\x20Stream\x20dot\x20-->\x0a\x20\x20\x20\x20<span\x20:class=\x22connected\x20?\x20\x27dot\x20dot--on\x27\x20:\x20\x27dot\x20dot--off\x27\x22\x20:title=\x22connected\x20?\x20\x27Live\x27\x20:\x20(streamError\x20||\x20\x27Disconnected\x27)\x22></span>\x0a\x20\x20</div>\x0a\x0a\x20\x20<!--\x20Toolbar\x20row\x202:\x20secondary\x20filters\x20(level\x20for\x20logs,\x20namespace\x20for\x20events)\x20-->\x0a\x20\x20<if\x20:=\x22source\x20!==\x20\x27event\x27\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22syslog__toolbar\x20syslog__toolbar--sub\x22>\x0a\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__sublabel\x22>Level</span>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22syslog__pills\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleLevel(null)\x22\x20\x20\x20\x20:class=\x22level\x20==\x20null\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22>All</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleLevel(\x27info\x27)\x22\x20\x20:class=\x22level===\x27info\x27\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-accent)\x22>info</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleLevel(\x27warn\x27)\x22\x20\x20:class=\x22level===\x27warn\x27\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-warning)\x22>warn</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleLevel(\x27error\x27)\x22\x20:class=\x22level===\x27error\x27\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-danger)\x22>error</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleLevel(\x27debug\x27)\x22\x20:class=\x22level===\x27debug\x27\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-app-fg-muted)\x22>debug</button>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20<if\x20:=\x22hasFeatures\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22syslog__toolbar\x20syslog__toolbar--sub\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__sublabel\x22>Feature</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22syslog__pills\x22\x20style=\x22flex-wrap:wrap;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleFeature(null)\x22\x20:class=\x22feature\x20==\x20null\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22>all</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<each\x20:of=\x22featureList\x22\x20let:item=\x22s\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleFeature(s)\x22\x20:class=\x22feature\x20===\x20s\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22>{{\x20s\x20}}</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</each>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20<if\x20:=\x22hasEnvs\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22syslog__toolbar\x20syslog__toolbar--sub\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__sublabel\x22>Env</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22syslog__pills\x22\x20style=\x22flex-wrap:wrap;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleEnv(null)\x22\x20:class=\x22env\x20==\x20null\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22>all</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<each\x20:of=\x22envList\x22\x20let:item=\x22e\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleEnv(e)\x22\x20:class=\x22env\x20===\x20e\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22>{{\x20e\x20}}</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</each>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</if>\x0a\x20\x20</if>\x0a\x0a\x20\x20<if\x20:=\x22source\x20!==\x20\x27log\x27\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22syslog__toolbar\x20syslog__toolbar--sub\x22>\x0a\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__sublabel\x22>Namespace</span>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22syslog__pills\x22\x20style=\x22flex-wrap:wrap;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(null)\x22\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:class=\x22eventNs==null\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22>all</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27engine\x27)\x22\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27engine\x27\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-accent)\x22>engine</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27type\x27)\x22\x20\x20\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27type\x27\x20\x20\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-purple)\x22>type</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27index\x27)\x22\x20\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27index\x27\x20\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-warning)\x22>index</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27embeddings\x27)\x22\x20\x20:class=\x22eventNs===\x27embeddings\x27\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:#2dd4bf\x22>embeddings</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27system\x27)\x22\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27system\x27\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-success)\x22>system</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27sync\x27)\x22\x20\x20\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27sync\x27\x20\x20\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-orange)\x22>sync</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27queue\x27)\x22\x20\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27queue\x27\x20\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-indigo)\x22>queue</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27processor\x27)\x22\x20\x20\x20:class=\x22eventNs===\x27processor\x27\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:#f472b6\x22>processor</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27fts\x27)\x22\x20\x20\x20\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27fts\x27\x20\x20\x20\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-success)\x22>fts</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27env\x27)\x22\x20\x20\x20\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27env\x27\x20\x20\x20\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:#67e8f9\x22>env</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27txn\x27)\x22\x20\x20\x20\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27txn\x27\x20\x20\x20\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-app-fg-muted)\x22>txn</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27item\x27)\x22\x20\x20\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27item\x27\x20\x20\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-app-fg)\x22>item</button>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<!--\x20Activity\x20list\x20-->\x0a\x20\x20<div\x20class=\x22syslog__list\x22\x20:ref=\x22_listRef\x20=\x20$el\x22>\x0a\x0a\x20\x20\x20\x20<if\x20:=\x22entries.length\x20===\x200\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22syslog__empty\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22!connected\x22>Connecting\x20to\x20event\x20stream…</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22connected\x20&&\x20totalCount\x20===\x200\x22>No\x20activity\x20yet.</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22connected\x20&&\x20totalCount\x20>\x200\x22>No\x20entries\x20match\x20the\x20current\x20filter.</if>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20<each\x20:of=\x22entries\x22\x20let:item=\x22entry\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20:class=\x22entry._kind\x20===\x20\x27event\x27\x20?\x20\x27syslog__row\x20syslog__row--event\x27\x20:\x20\x27syslog__row\x27\x22>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20Timestamp\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__ts\x22>{{\x20fmtTime(entry._ts)\x20}}</span>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20LOG\x20entry\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22entry._kind\x20===\x20\x27log\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__level\x22\x20:style=\x22\x27color:\x27\x20+\x20levelColor(entry.level)\x22>{{\x20entry.level\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__msg\x22>{{\x20entry.msg\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22entry.meta?.feature\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__meta\x22\x20style=\x22opacity:.6\x22\x20:title=\x22fmtMeta(entry.meta)\x22>{{\x20entry.meta.feature\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22entry.context\x20!=\x20null\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__meta\x22\x20:title=\x22fmtMeta(entry.context)\x22>{{\x20fmtMeta(entry.context)\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20EVENT\x20entry\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22entry._kind\x20===\x20\x27event\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20class=\x22syslog__evtag\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:style=\x22\x27color:\x27\x20+\x20nsColor(entry._event)\x20+\x20\x27;\x20border-color:\x27\x20+\x20nsColor(entry._event)\x20+\x20\x2744\x27\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20>{{\x20entry._event\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__msg\x20syslog__msg--dim\x22>{{\x20fmtPayload(entry)\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</each>\x0a\x0a\x20\x20</div>\x0a\x0a</div>\x0a','2492124BqpnYJ','filter','var(--okdb-success)','7190kXRWSp','_unsubs','toLowerCase','keys','8172ULOEnK','var(--okdb-indigo)','getMilliseconds','_kind','meta','2761746Atsrkc','stringify','2497516ctqdqb','includes','_metaStr','source','193177pfAkiz','$attr','object','pipeline','length','13959Omqxxz','map','eventNs','sort','var(--okdb-warning)','context','system-log','scrollToBottom','search','all','var(--okdb-orange)','var(--okdb-danger)','scrollHeight','130lUphlu','level','_event','join','toTimeString','var(--okdb-app-fg-muted)','type','activity'];_0x50c6=function(){return _0x2810a4;};return _0x50c6();}
1
+ const _0xe73dc1=_0x4d5c;function _0x4d5c(_0x4539c3,_0x5b2b2e){_0x4539c3=_0x4539c3-0x180;const _0x143bf9=_0x143b();let _0x4d5cca=_0x143bf9[_0x4539c3];return _0x4d5cca;}(function(_0x235e94,_0x187789){const _0x1773e7=_0x4d5c,_0x4ec417=_0x235e94();while(!![]){try{const _0x3fd4f8=-parseInt(_0x1773e7(0x1bb))/0x1+parseInt(_0x1773e7(0x1b6))/0x2+parseInt(_0x1773e7(0x1aa))/0x3*(parseInt(_0x1773e7(0x1b9))/0x4)+-parseInt(_0x1773e7(0x182))/0x5+parseInt(_0x1773e7(0x1af))/0x6+-parseInt(_0x1773e7(0x19b))/0x7*(-parseInt(_0x1773e7(0x19d))/0x8)+-parseInt(_0x1773e7(0x18a))/0x9;if(_0x3fd4f8===_0x187789)break;else _0x4ec417['push'](_0x4ec417['shift']());}catch(_0x36d00c){_0x4ec417['push'](_0x4ec417['shift']());}}}(_0x143b,0x1ab31));import _0x312654,{ALL_EVENTS as _0x5a3e17}from'../../../stores/events-store.js';const t={'info':_0xe73dc1(0x184),'warn':_0xe73dc1(0x181),'error':'var(--okdb-danger)','debug':_0xe73dc1(0x18f)},n={'engine':_0xe73dc1(0x184),'type':_0xe73dc1(0x1a0),'index':_0xe73dc1(0x181),'embeddings':_0xe73dc1(0x1ac),'system':_0xe73dc1(0x183),'sync':_0xe73dc1(0x1a6),'queue':_0xe73dc1(0x1b1),'processor':_0xe73dc1(0x194),'fts':_0xe73dc1(0x183),'env':_0xe73dc1(0x1be),'txn':_0xe73dc1(0x18f),'item':_0xe73dc1(0x1bf),'relay':'var(--okdb-danger)'};Object[_0xe73dc1(0x188)](n);function _0x143b(){const _0x50bfdf=['#ccc','var(--okdb-warning)','477610XPzMlZ','var(--okdb-success)','var(--okdb-accent)','pipeline','_metaStr','clearActivity','keys','filter','295614MPrTOn','map','event','has','string','var(--okdb-app-fg-muted)','includes','autoScroll','_event','length','#f472b6','context','engine','_payloadStr','@keyframes\x20dot-pulse{0%,to{opacity:1}50%{opacity:.4}}.syslog{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--okdb-app-bg-deep);border-radius:12px;overflow:hidden;border:1px\x20solid\x20var(--okdb-app-border)}.syslog__toolbar{display:flex;align-items:center;gap:6px;padding:7px\x2010px;background:var(--okdb-app-surface);border-bottom:1px\x20solid\x20var(--okdb-app-border);flex-shrink:0;flex-wrap:wrap}.syslog__toolbar--sub{padding:5px\x2010px;background:var(--okdb-app-bg-deep);border-bottom:1px\x20solid\x20var(--okdb-app-surface)}.syslog__title{font-weight:600;font-size:13px;white-space:nowrap;margin-right:2px}.syslog__sublabel{font-size:10px;opacity:.45;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;width:60px;flex-shrink:0}.syslog__spacer{flex:1}.syslog__pills{display:flex;gap:3px;flex-wrap:wrap}.syslog__search{background:var(--okdb-app-border);border:1px\x20solid\x20var(--okdb-app-border-strong);border-radius:6px;color:var(--okdb-warning);padding:3px\x208px;font-size:12px;width:110px;outline:0}.syslog__search:focus{border-color:var(--okdb-accent)}.pill,.syslog__count{font-size:11px;white-space:nowrap}.syslog__count{opacity:.4}.pill{border:1px\x20solid\x20var(--okdb-app-border);background:0\x200;padding:2px\x209px;border-radius:999px;cursor:pointer;color:var(--okdb-app-fg-faint);transition:border-color\x20.12s,color\x20.12s,background\x20.12s}.pill:hover{border-color:var(--okdb-app-fg-muted);color:var(--okdb-app-fg-muted)}.pill--on{border-color:var(--okdb-accent);background:var(--okdb-app-surface-2)}.pill--log,.pill--on{color:var(--okdb-accent)}.pill--event{color:var(--okdb-purple)}.syslog__list{flex:1;overflow-y:auto;font-family:monospace;font-size:12px;padding:2px\x200;min-height:0}.syslog__row{display:flex;gap:8px;padding:2px\x2010px;border-bottom:1px\x20solid\x20var(--okdb-app-bg-deep);align-items:baseline;min-height:20px}.syslog__row--event,.syslog__row:hover{background:var(--okdb-app-surface)}.syslog__row--event:hover{background:var(--okdb-app-surface-2)}.syslog__ts{color:var(--okdb-app-fg-muted);flex-shrink:0;font-size:11px;user-select:none;width:86px}.syslog__level{width:40px;flex-shrink:0;font-weight:700;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.syslog__evtag{flex-shrink:0;font-size:10px;padding:1px\x206px;border-radius:4px;border:1px\x20solid;white-space:nowrap;letter-spacing:.02em}.syslog__msg{flex:1;white-space:pre-wrap;word-break:break-word;color:var(--okdb-app-fg);min-width:0}.syslog__meta,.syslog__msg--dim{color:var(--okdb-app-fg-muted)}.syslog__meta{font-size:11px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;cursor:default}.syslog__empty{padding:24px\x2014px;opacity:.4;font-style:italic;font-size:12px}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0}.dot--on{background:var(--okdb-success);box-shadow:0\x200\x205px\x20color-mix(in\x20srgb,var(--okdb-success)\x2040%,transparent);animation:dot-pulse\x202s\x20ease-in-out\x20infinite}.dot--off{background:var(--okdb-danger)}','slice','stringify','360255bExPCN','log','16zfPgNY','push','source','var(--okdb-purple)','some','_unsubs','join','feature','key','var(--okdb-orange)','sort','activity','meta','446727OPSvHB','split','#2dd4bf','toLowerCase','startsWith','4164BQpAJS','all','var(--okdb-indigo)','initialSource','padStart','entries','error','256504XNxudQ','object','$attr','4KxidNk','connected','143056HOQwdW','scrollToBottom','level','#67e8f9','var(--okdb-app-fg)','type','\x0a<div\x20class=\x22syslog\x22>\x0a\x0a\x20\x20<!--\x20Toolbar\x20row\x201:\x20title\x20+\x20source\x20toggle\x20+\x20search\x20+\x20controls\x20-->\x0a\x20\x20<div\x20class=\x22syslog__toolbar\x22>\x0a\x20\x20\x20\x20<span\x20class=\x22syslog__title\x22>Activity</span>\x0a\x0a\x20\x20\x20\x20<!--\x20Source\x20pills\x20-->\x0a\x20\x20\x20\x20<div\x20class=\x22syslog__pills\x22>\x0a\x20\x20\x20\x20\x20\x20<button\x20@click=\x22setSource(\x27all\x27)\x22\x20\x20\x20:class=\x22source===\x27all\x27\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22>All</button>\x0a\x20\x20\x20\x20\x20\x20<button\x20@click=\x22setSource(\x27log\x27)\x22\x20\x20\x20:class=\x22source===\x27log\x27\x20\x20\x20?\x20\x27pill\x20pill--on\x20pill--log\x27\x20\x20\x20:\x20\x27pill\x20pill--log\x27\x22>Logs</button>\x0a\x20\x20\x20\x20\x20\x20<button\x20@click=\x22setSource(\x27event\x27)\x22\x20:class=\x22source===\x27event\x27\x20?\x20\x27pill\x20pill--on\x20pill--event\x27\x20:\x20\x27pill\x20pill--event\x27\x22>Events</button>\x0a\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20<div\x20class=\x22syslog__spacer\x22></div>\x0a\x0a\x20\x20\x20\x20<!--\x20Search\x20-->\x0a\x20\x20\x20\x20<input\x0a\x20\x20\x20\x20\x20\x20class=\x22syslog__search\x22\x0a\x20\x20\x20\x20\x20\x20type=\x22text\x22\x0a\x20\x20\x20\x20\x20\x20placeholder=\x22Filter…\x22\x0a\x20\x20\x20\x20\x20\x20:value=\x22search\x22\x0a\x20\x20\x20\x20\x20\x20@input=\x22search\x20=\x20$event.target.value\x22\x0a\x20\x20\x20\x20/>\x0a\x0a\x20\x20\x20\x20<!--\x20Auto-scroll\x20-->\x0a\x20\x20\x20\x20<button\x20@click=\x22autoScroll\x20=\x20!autoScroll\x22\x20:class=\x22autoScroll\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20title=\x22Auto-scroll\x20to\x20newest\x22>↓\x20Auto</button>\x0a\x0a\x20\x20\x20\x20<!--\x20Clear\x20-->\x0a\x20\x20\x20\x20<button\x20@click=\x22clear()\x22\x20class=\x22pill\x20syslog__clear\x22>Clear</button>\x0a\x0a\x20\x20\x20\x20<!--\x20Count\x20-->\x0a\x20\x20\x20\x20<span\x20class=\x22syslog__count\x22>\x0a\x20\x20\x20\x20\x20\x20{{\x20filteredCount\x20}}\x0a\x20\x20\x20\x20\x20\x20<if\x20:=\x22filteredCount\x20!==\x20totalCount\x22>\x20/\x20{{\x20totalCount\x20}}</if>\x0a\x20\x20\x20\x20</span>\x0a\x0a\x20\x20\x20\x20<!--\x20Stream\x20dot\x20-->\x0a\x20\x20\x20\x20<span\x20:class=\x22connected\x20?\x20\x27dot\x20dot--on\x27\x20:\x20\x27dot\x20dot--off\x27\x22\x20:title=\x22connected\x20?\x20\x27Live\x27\x20:\x20(streamError\x20||\x20\x27Disconnected\x27)\x22></span>\x0a\x20\x20</div>\x0a\x0a\x20\x20<!--\x20Toolbar\x20row\x202:\x20secondary\x20filters\x20(level\x20for\x20logs,\x20namespace\x20for\x20events)\x20-->\x0a\x20\x20<if\x20:=\x22source\x20!==\x20\x27event\x27\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22syslog__toolbar\x20syslog__toolbar--sub\x22>\x0a\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__sublabel\x22>Level</span>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22syslog__pills\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleLevel(null)\x22\x20\x20\x20\x20:class=\x22level\x20==\x20null\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22>All</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleLevel(\x27info\x27)\x22\x20\x20:class=\x22level===\x27info\x27\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-accent)\x22>info</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleLevel(\x27warn\x27)\x22\x20\x20:class=\x22level===\x27warn\x27\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-warning)\x22>warn</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleLevel(\x27error\x27)\x22\x20:class=\x22level===\x27error\x27\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-danger)\x22>error</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleLevel(\x27debug\x27)\x22\x20:class=\x22level===\x27debug\x27\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-app-fg-muted)\x22>debug</button>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20<if\x20:=\x22hasFeatures\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22syslog__toolbar\x20syslog__toolbar--sub\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__sublabel\x22>Feature</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22syslog__pills\x22\x20style=\x22flex-wrap:wrap;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleFeature(null)\x22\x20:class=\x22feature\x20==\x20null\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22>all</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<each\x20:of=\x22featureList\x22\x20let:item=\x22s\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleFeature(s)\x22\x20:class=\x22feature\x20===\x20s\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22>{{\x20s\x20}}</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</each>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20<if\x20:=\x22hasEnvs\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22syslog__toolbar\x20syslog__toolbar--sub\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__sublabel\x22>Env</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22syslog__pills\x22\x20style=\x22flex-wrap:wrap;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleEnv(null)\x22\x20:class=\x22env\x20==\x20null\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22>all</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<each\x20:of=\x22envList\x22\x20let:item=\x22e\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleEnv(e)\x22\x20:class=\x22env\x20===\x20e\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22>{{\x20e\x20}}</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</each>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</if>\x0a\x20\x20</if>\x0a\x0a\x20\x20<if\x20:=\x22source\x20!==\x20\x27log\x27\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22syslog__toolbar\x20syslog__toolbar--sub\x22>\x0a\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__sublabel\x22>Namespace</span>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22syslog__pills\x22\x20style=\x22flex-wrap:wrap;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(null)\x22\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:class=\x22eventNs==null\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22>all</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27engine\x27)\x22\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27engine\x27\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-accent)\x22>engine</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27type\x27)\x22\x20\x20\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27type\x27\x20\x20\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-purple)\x22>type</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27index\x27)\x22\x20\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27index\x27\x20\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-warning)\x22>index</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27embeddings\x27)\x22\x20\x20:class=\x22eventNs===\x27embeddings\x27\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:#2dd4bf\x22>embeddings</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27system\x27)\x22\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27system\x27\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-success)\x22>system</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27sync\x27)\x22\x20\x20\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27sync\x27\x20\x20\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-orange)\x22>sync</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27queue\x27)\x22\x20\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27queue\x27\x20\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-indigo)\x22>queue</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27processor\x27)\x22\x20\x20\x20:class=\x22eventNs===\x27processor\x27\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:#f472b6\x22>processor</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27fts\x27)\x22\x20\x20\x20\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27fts\x27\x20\x20\x20\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-success)\x22>fts</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27env\x27)\x22\x20\x20\x20\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27env\x27\x20\x20\x20\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:#67e8f9\x22>env</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27txn\x27)\x22\x20\x20\x20\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27txn\x27\x20\x20\x20\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-app-fg-muted)\x22>txn</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22toggleNs(\x27item\x27)\x22\x20\x20\x20\x20\x20\x20\x20\x20:class=\x22eventNs===\x27item\x27\x20\x20\x20\x20\x20\x20\x20?\x20\x27pill\x20pill--on\x27\x20:\x20\x27pill\x27\x22\x20style=\x22color:var(--okdb-app-fg)\x22>item</button>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<!--\x20Activity\x20list\x20-->\x0a\x20\x20<div\x20class=\x22syslog__list\x22\x20:ref=\x22_listRef\x20=\x20$el\x22>\x0a\x0a\x20\x20\x20\x20<if\x20:=\x22entries.length\x20===\x200\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22syslog__empty\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22!connected\x22>Connecting\x20to\x20event\x20stream…</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22connected\x20&&\x20totalCount\x20===\x200\x22>No\x20activity\x20yet.</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22connected\x20&&\x20totalCount\x20>\x200\x22>No\x20entries\x20match\x20the\x20current\x20filter.</if>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20<each\x20:of=\x22entries\x22\x20let:item=\x22entry\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20:class=\x22entry._kind\x20===\x20\x27event\x27\x20?\x20\x27syslog__row\x20syslog__row--event\x27\x20:\x20\x27syslog__row\x27\x22>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20Timestamp\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__ts\x22>{{\x20fmtTime(entry._ts)\x20}}</span>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20LOG\x20entry\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22entry._kind\x20===\x20\x27log\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__level\x22\x20:style=\x22\x27color:\x27\x20+\x20levelColor(entry.level)\x22>{{\x20entry.level\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__msg\x22>{{\x20entry.msg\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22entry.meta?.feature\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__meta\x22\x20style=\x22opacity:.6\x22\x20:title=\x22fmtMeta(entry.meta)\x22>{{\x20entry.meta.feature\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22entry.context\x20!=\x20null\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__meta\x22\x20:title=\x22fmtMeta(entry.context)\x22>{{\x20fmtMeta(entry.context)\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20EVENT\x20entry\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22entry._kind\x20===\x20\x27event\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20class=\x22syslog__evtag\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:style=\x22\x27color:\x27\x20+\x20nsColor(entry._event)\x20+\x20\x27;\x20border-color:\x27\x20+\x20nsColor(entry._event)\x20+\x20\x2744\x27\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20>{{\x20entry._event\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22syslog__msg\x20syslog__msg--dim\x22>{{\x20fmtPayload(entry)\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</each>\x0a\x0a\x20\x20</div>\x0a\x0a</div>\x0a','env','eventNs','_kind'];_0x143b=function(){return _0x50bfdf;};return _0x143b();}export default{'tag':'system-log','attr':{'initialSource':{}},'context':_0x4c7fb1=>({'source':_0x4c7fb1[_0xe73dc1(0x1b8)][_0xe73dc1(0x1b2)]||_0xe73dc1(0x1b0),'eventNs':null,'level':null,'feature':null,'env':null,'search':'','autoScroll':!0x0,'_listRef':null,'_unsubs':[],get 'connected'(){const _0x5b1508=_0xe73dc1;return _0x312654[_0x5b1508(0x1ba)];},get 'streamError'(){const _0x33295b=_0xe73dc1;return _0x312654[_0x33295b(0x1b5)];},get 'entries'(){const _0x1e6025=_0xe73dc1;let _0x33ded0=_0x312654['activity'];if(_0x1e6025(0x19c)===this[_0x1e6025(0x19f)]&&(_0x33ded0=_0x33ded0['filter'](_0x5abedc=>_0x1e6025(0x19c)===_0x5abedc[_0x1e6025(0x1c4)])),'event'===this[_0x1e6025(0x19f)]&&(_0x33ded0=_0x33ded0['filter'](_0x582d0f=>'event'===_0x582d0f[_0x1e6025(0x1c4)])),this['eventNs']&&_0x1e6025(0x19c)!==this[_0x1e6025(0x19f)]&&(_0x33ded0=_0x33ded0[_0x1e6025(0x189)](_0x13cad8=>_0x1e6025(0x18c)!==_0x13cad8[_0x1e6025(0x1c4)]||(_0x13cad8[_0x1e6025(0x192)]??'')[_0x1e6025(0x1ae)](this[_0x1e6025(0x1c3)]+':'))),this['level']&&'event'!==this[_0x1e6025(0x19f)]&&(_0x33ded0=_0x33ded0[_0x1e6025(0x189)](_0x12c0a2=>_0x1e6025(0x19c)!==_0x12c0a2['_kind']||_0x12c0a2[_0x1e6025(0x1bd)]===this['level'])),this[_0x1e6025(0x1a4)]&&_0x1e6025(0x18c)!==this[_0x1e6025(0x19f)]&&(_0x33ded0=_0x33ded0[_0x1e6025(0x189)](_0x26f168=>_0x1e6025(0x19c)!==_0x26f168['_kind']||_0x26f168[_0x1e6025(0x1a9)]?.[_0x1e6025(0x1a4)]===this[_0x1e6025(0x1a4)])),this[_0x1e6025(0x1c2)]&&'event'!==this[_0x1e6025(0x19f)]&&(_0x33ded0=_0x33ded0[_0x1e6025(0x189)](_0x25f3d9=>_0x1e6025(0x19c)!==_0x25f3d9[_0x1e6025(0x1c4)]||_0x25f3d9['meta']?.[_0x1e6025(0x1c2)]===this[_0x1e6025(0x1c2)])),this['search']){const _0x344bc0=this['search']['toLowerCase']();_0x33ded0=_0x33ded0[_0x1e6025(0x189)](_0x274ec3=>'log'===_0x274ec3[_0x1e6025(0x1c4)]?(_0x274ec3['msg']??'')[_0x1e6025(0x1ad)]()['includes'](_0x344bc0)||this[_0x1e6025(0x186)](_0x274ec3[_0x1e6025(0x195)])[_0x1e6025(0x1ad)]()[_0x1e6025(0x190)](_0x344bc0)||this[_0x1e6025(0x186)](_0x274ec3['meta'])['toLowerCase']()[_0x1e6025(0x190)](_0x344bc0):_0x1e6025(0x18c)===_0x274ec3[_0x1e6025(0x1c4)]&&((_0x274ec3['_event']??'')[_0x1e6025(0x1ad)]()[_0x1e6025(0x190)](_0x344bc0)||this[_0x1e6025(0x197)](_0x274ec3)[_0x1e6025(0x1ad)]()[_0x1e6025(0x190)](_0x344bc0)));}return _0x33ded0;},get 'totalCount'(){const _0xce20e4=_0xe73dc1;return _0x312654['activity'][_0xce20e4(0x193)];},get 'filteredCount'(){const _0x328294=_0xe73dc1;return this[_0x328294(0x1b4)]['length'];},get 'hasFeatures'(){const _0x2d31f0=_0xe73dc1;return _0x312654['activity'][_0x2d31f0(0x1a1)](_0x1a4221=>_0x2d31f0(0x19c)===_0x1a4221[_0x2d31f0(0x1c4)]&&_0x1a4221[_0x2d31f0(0x1a9)]?.[_0x2d31f0(0x1a4)]);},get 'featureList'(){const _0x20cc7f=_0xe73dc1;return[...new Set(_0x312654['activity'][_0x20cc7f(0x189)](_0x356839=>_0x20cc7f(0x19c)===_0x356839['_kind']&&_0x356839[_0x20cc7f(0x1a9)]?.['feature'])[_0x20cc7f(0x18b)](_0x4cd1ce=>_0x4cd1ce['meta']['feature']))][_0x20cc7f(0x1a7)]();},get 'hasEnvs'(){const _0x15233f=_0xe73dc1;return _0x312654[_0x15233f(0x1a8)][_0x15233f(0x1a1)](_0xd75e4f=>_0x15233f(0x19c)===_0xd75e4f[_0x15233f(0x1c4)]&&_0xd75e4f['meta']?.[_0x15233f(0x1c2)]);},get 'envList'(){const _0x51c577=_0xe73dc1;return[...new Set(_0x312654[_0x51c577(0x1a8)]['filter'](_0x485f61=>'log'===_0x485f61[_0x51c577(0x1c4)]&&_0x485f61[_0x51c577(0x1a9)]?.[_0x51c577(0x1c2)])[_0x51c577(0x18b)](_0x3b086a=>_0x3b086a[_0x51c577(0x1a9)]['env']))]['sort']();},'setSource'(_0x312b56){const _0x2bdd00=_0xe73dc1;this[_0x2bdd00(0x19f)]=_0x312b56,_0x2bdd00(0x19c)===_0x312b56&&(this[_0x2bdd00(0x1c3)]=null),_0x2bdd00(0x18c)===_0x312b56&&(this[_0x2bdd00(0x1bd)]=null,this['feature']=null,this[_0x2bdd00(0x1c2)]=null);},'toggleNs'(_0x2850ff){const _0x27e92f=_0xe73dc1;this[_0x27e92f(0x1c3)]=this['eventNs']===_0x2850ff?null:_0x2850ff;},'toggleLevel'(_0x54f5a9){const _0x516dd7=_0xe73dc1;this[_0x516dd7(0x1bd)]=this[_0x516dd7(0x1bd)]===_0x54f5a9?null:_0x54f5a9;},'toggleFeature'(_0x19dcf9){const _0x86f066=_0xe73dc1;this[_0x86f066(0x1a4)]=this[_0x86f066(0x1a4)]===_0x19dcf9?null:_0x19dcf9;},'toggleEnv'(_0x4d5323){const _0x13f73b=_0xe73dc1;this[_0x13f73b(0x1c2)]=this[_0x13f73b(0x1c2)]===_0x4d5323?null:_0x4d5323;},'clear'(){const _0x51ec09=_0xe73dc1;_0x312654[_0x51ec09(0x187)]();},'scrollToBottom'(){const _0x1a33a4=this['_listRef'];_0x1a33a4&&requestAnimationFrame(()=>{_0x1a33a4['scrollTop']=_0x1a33a4['scrollHeight'];});},'levelColor':_0xd6e866=>t[_0xd6e866]??_0xe73dc1(0x180),'nsColor':_0x376353=>function(_0x36ed24){const _0x1fd58d=_0xe73dc1,_0x46f3c7=(_0x36ed24||'')[_0x1fd58d(0x1ab)](':')[0x0];return n[_0x46f3c7]??'var(--okdb-app-fg-muted)';}(_0x376353),'fmtTime'(_0x590fb7){const _0x1674c2=_0xe73dc1;if(!_0x590fb7)return'';const _0x2c5fc4=new Date(_0x590fb7);return _0x2c5fc4['toTimeString']()[_0x1674c2(0x199)](0x0,0x8)+'.'+String(_0x2c5fc4['getMilliseconds']())[_0x1674c2(0x1b3)](0x3,'0');},'_metaStr'(_0x58f4b6){const _0x29d78f=_0xe73dc1;if(null==_0x58f4b6)return'';if(_0x29d78f(0x18e)==typeof _0x58f4b6)return _0x58f4b6;try{return JSON[_0x29d78f(0x19a)](_0x58f4b6);}catch{return String(_0x58f4b6);}},'fmtMeta'(_0x2b4c8a){const _0x4b489d=_0xe73dc1;return this[_0x4b489d(0x186)](_0x2b4c8a);},'_payloadStr'(_0xeadaa0){const _0x562ff1=_0xe73dc1;if(_0xeadaa0[_0x562ff1(0x196)])return _0xeadaa0[_0x562ff1(0x196)];if(_0xeadaa0[_0x562ff1(0x1c0)])return _0xeadaa0[_0x562ff1(0x1c0)];if(_0xeadaa0[_0x562ff1(0x185)])return _0xeadaa0[_0x562ff1(0x185)];if(_0xeadaa0['key'])return _0xeadaa0[_0x562ff1(0x1a5)];const _0x1fd872=new Set([_0x562ff1(0x1c4),_0x562ff1(0x192),'_ts','ts']),_0x53908a=[];for(const [_0x392e40,_0x161e5e]of Object[_0x562ff1(0x1b4)](_0xeadaa0)){if(_0x1fd872[_0x562ff1(0x18d)](_0x392e40))continue;const _0x493e41=_0x562ff1(0x1b7)==typeof _0x161e5e?JSON[_0x562ff1(0x19a)](_0x161e5e):String(_0x161e5e);if(_0x53908a[_0x562ff1(0x19e)](_0x392e40+':'+_0x493e41),_0x53908a[_0x562ff1(0x193)]>=0x2)break;}return _0x53908a[_0x562ff1(0x1a3)]('\x20\x20');},'fmtPayload'(_0x4d91af){const _0x4ac019=_0xe73dc1;return this[_0x4ac019(0x197)](_0x4d91af);}}),'mount'(){const _0x8cc825=_0xe73dc1,_0x43180e=[_0x8cc825(0x19c),..._0x5a3e17][_0x8cc825(0x18b)](_0x1a898a=>_0x312654['on'](_0x1a898a,()=>{const _0x461fee=_0x8cc825;this[_0x461fee(0x191)]&&this['scrollToBottom']();}));this[_0x8cc825(0x1a2)]=_0x43180e,this['autoScroll']&&this[_0x8cc825(0x1bc)]();},'unmount'(){const _0x2170c5=_0xe73dc1;for(const _0x72378e of this['_unsubs'])_0x72378e();this[_0x2170c5(0x1a2)]=[];},'template':_0xe73dc1(0x1c1),'style':_0xe73dc1(0x198)};
@@ -1 +1 @@
1
- const _0x40826f=_0x20f2;function _0x4112(){const _0x55e1b4=['5862024BatYkd','lastPageNumber','\x0a<div\x20class=\x22status-bar\x22>\x0a\x20\x20<div\x20class=\x22status-card\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22status-card__label\x22>DB&nbsp;ID</div>\x0a\x20\x20\x20\x20<div\x20class=\x22status-card__value\x20status-card__value--mono\x22\x20:title=\x22dbId\x22>{{\x20dbId\x20}}</div>\x0a\x20\x20</div>\x0a\x0a\x20\x20<div\x20class=\x22status-card\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22status-card__label\x22>Size</div>\x0a\x20\x20\x20\x20<div\x20class=\x22status-card__value\x22>{{\x20dbSize\x20}}</div>\x0a\x20\x20</div>\x0a\x0a\x20\x20<div\x20class=\x22status-card\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22status-card__label\x22>Types</div>\x0a\x20\x20\x20\x20<div\x20class=\x22status-card__value\x22>{{\x20typeCount\x20}}</div>\x0a\x20\x20</div>\x0a\x0a\x20\x20<div\x20class=\x22status-card\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22status-card__label\x22>Clock</div>\x0a\x20\x20\x20\x20<div\x20class=\x22status-card__value\x20status-card__value--mono\x22>{{\x20clock\x20}}</div>\x0a\x20\x20</div>\x0a\x0a\x20\x20<div\x20class=\x22status-card\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22status-card__label\x22>Event&nbsp;Stream</div>\x0a\x20\x20\x20\x20<div\x20class=\x22status-card__value\x22>\x0a\x20\x20\x20\x20\x20\x20<span\x20:class=\x22connected\x20?\x20\x27dot\x20dot--on\x27\x20:\x20\x27dot\x20dot--off\x27\x22></span>\x0a\x20\x20\x20\x20\x20\x20{{\x20connected\x20?\x20\x27Live\x27\x20:\x20(streamError\x20?\x20\x27Reconnecting…\x27\x20:\x20\x27Disconnected\x27)\x20}}\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</div>\x0a</div>\x0a','17278CkfYsw','keys','info','connected','3825585vNmLiC','type:drop','system-status','startsWith','pageSize','index:drop','types','602712fFZAVr','16JHOECW','toFixed','23aoXTEa','length','50828540mfwkBQ','966154iacUlh','error','_unsub','4872368OfELId','system:clock_change','@keyframes\x20pulse{0%,to{opacity:1}50%{opacity:.5}}.status-bar{display:flex;flex-wrap:wrap;gap:10px;flex-shrink:0}.status-card{background:var(--okdb-app-border);border-radius:10px;padding:12px\x2016px;min-width:110px;flex:1}.status-card__label{font-size:11px;opacity:.55;margin-bottom:4px;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.status-card__value{font-size:14px;font-weight:600;display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-card__value--mono{font-family:monospace;font-size:11px;letter-spacing:.03em}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.dot--on{background:var(--okdb-success);box-shadow:0\x200\x206px\x20color-mix(in\x20srgb,var(--okdb-success)\x2040%,transparent);animation:pulse\x202s\x20ease-in-out\x20infinite}.dot--off{background:var(--okdb-danger)}','system:poke','90hAEEPh'];_0x4112=function(){return _0x55e1b4;};return _0x4112();}(function(_0x25955b,_0x228fd6){const _0x1e3d15=_0x20f2,_0x510884=_0x25955b();while(!![]){try{const _0x46f600=-parseInt(_0x1e3d15(0x17f))/0x1*(parseInt(_0x1e3d15(0x18d))/0x2)+-parseInt(_0x1e3d15(0x175))/0x3+-parseInt(_0x1e3d15(0x185))/0x4+parseInt(_0x1e3d15(0x189))/0x5*(-parseInt(_0x1e3d15(0x17c))/0x6)+parseInt(_0x1e3d15(0x182))/0x7*(-parseInt(_0x1e3d15(0x17d))/0x8)+parseInt(_0x1e3d15(0x18a))/0x9+parseInt(_0x1e3d15(0x181))/0xa;if(_0x46f600===_0x228fd6)break;else _0x510884['push'](_0x510884['shift']());}catch(_0x5a41b1){_0x510884['push'](_0x510884['shift']());}}}(_0x4112,0xe9e4a));import _0xbb770f from'../../../stores/events-store.js';import _0x432859 from'../../../stores/okdb-store.js';function _0x20f2(_0x450c02,_0x5a1264){_0x450c02=_0x450c02-0x174;const _0x4112a2=_0x4112();let _0x20f207=_0x4112a2[_0x450c02];return _0x20f207;}export default{'tag':_0x40826f(0x177),'context':_0x286423=>({get 'connected'(){const _0x4b9d03=_0x40826f;return _0xbb770f[_0x4b9d03(0x174)];},get 'streamError'(){const _0x475e93=_0x40826f;return _0xbb770f[_0x475e93(0x183)];},get 'dbId'(){return _0x432859['info']?.['id']??'—';},get 'dbSize'(){const _0x3b7d70=_0x40826f,_0x1437d0=_0x432859['info'];if(!_0x1437d0)return'—';const _0x3397e0=(_0x1437d0[_0x3b7d70(0x18b)]??0x0)*(_0x1437d0[_0x3b7d70(0x179)]??0x1000);if(!_0x3397e0)return'—';const _0x15a6fd=['B','KB','MB','GB'];let _0x1926e8=_0x3397e0,_0x2e3173=0x0;for(;_0x1926e8>=0x400&&_0x2e3173<_0x15a6fd[_0x3b7d70(0x180)]-0x1;)_0x1926e8/=0x400,_0x2e3173++;return _0x1926e8[_0x3b7d70(0x17e)](0x1)+'\u00a0'+_0x15a6fd[_0x2e3173];},get 'typeCount'(){const _0x2447b6=_0x40826f,_0x4a7b64=_0x432859[_0x2447b6(0x18f)]?.[_0x2447b6(0x17b)];return _0x4a7b64?Object[_0x2447b6(0x18e)](_0x4a7b64)['filter'](_0xa68515=>!_0xa68515[_0x2447b6(0x178)]('~'))[_0x2447b6(0x180)]:'—';},get 'clock'(){return _0x432859['info']?.['clock']??'—';},'_unsub':null,async '_refresh'(){await _0x432859['reloadInfo']();}}),'mount'(){const _0x280d2c=_0x40826f,_0x2ddfa1=()=>this['_refresh']();this[_0x280d2c(0x184)]=_0xbb770f['on']('type:registered',_0x2ddfa1);const _0x5860c=_0xbb770f['on'](_0x280d2c(0x176),_0x2ddfa1),_0x369daa=_0xbb770f['on']('index:registered',_0x2ddfa1),_0x2865c1=_0xbb770f['on'](_0x280d2c(0x17a),_0x2ddfa1),_0x1c365d=_0xbb770f['on'](_0x280d2c(0x186),_0x2ddfa1),_0xa071=_0xbb770f['on'](_0x280d2c(0x188),_0x2ddfa1),_0x3404ac=this[_0x280d2c(0x184)];this[_0x280d2c(0x184)]=()=>{_0x3404ac(),_0x5860c(),_0x369daa(),_0x2865c1(),_0x1c365d(),_0xa071();};},'unmount'(){const _0x4ed554=_0x40826f;this[_0x4ed554(0x184)]?.();},'template':_0x40826f(0x18c),'style':_0x40826f(0x187)};
1
+ const _0x524c28=_0x354f;(function(_0x204b5d,_0x2b5745){const _0x50016c=_0x354f,_0x33985e=_0x204b5d();while(!![]){try{const _0x351784=parseInt(_0x50016c(0xe2))/0x1+parseInt(_0x50016c(0xd9))/0x2*(-parseInt(_0x50016c(0xed))/0x3)+parseInt(_0x50016c(0xd6))/0x4+parseInt(_0x50016c(0xea))/0x5+-parseInt(_0x50016c(0xe4))/0x6+-parseInt(_0x50016c(0xe6))/0x7*(parseInt(_0x50016c(0xe3))/0x8)+parseInt(_0x50016c(0xd8))/0x9;if(_0x351784===_0x2b5745)break;else _0x33985e['push'](_0x33985e['shift']());}catch(_0x332cb7){_0x33985e['push'](_0x33985e['shift']());}}}(_0x32e9,0x91b2e));import _0x5b9598 from'../../../stores/events-store.js';function _0x32e9(){const _0x530646=['toFixed','7sgZoKR','system:poke','system-status','type:drop','3267845fTVTnD','lastPageNumber','info','256641ZViOew','keys','clock','_unsub','_refresh','type:registered','pageSize','1823712eZgOJb','filter','419706hzZRTj','14NpgYrw','connected','error','\x0a<div\x20class=\x22status-bar\x22>\x0a\x20\x20<div\x20class=\x22status-card\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22status-card__label\x22>DB&nbsp;ID</div>\x0a\x20\x20\x20\x20<div\x20class=\x22status-card__value\x20status-card__value--mono\x22\x20:title=\x22dbId\x22>{{\x20dbId\x20}}</div>\x0a\x20\x20</div>\x0a\x0a\x20\x20<div\x20class=\x22status-card\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22status-card__label\x22>Size</div>\x0a\x20\x20\x20\x20<div\x20class=\x22status-card__value\x22>{{\x20dbSize\x20}}</div>\x0a\x20\x20</div>\x0a\x0a\x20\x20<div\x20class=\x22status-card\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22status-card__label\x22>Types</div>\x0a\x20\x20\x20\x20<div\x20class=\x22status-card__value\x22>{{\x20typeCount\x20}}</div>\x0a\x20\x20</div>\x0a\x0a\x20\x20<div\x20class=\x22status-card\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22status-card__label\x22>Clock</div>\x0a\x20\x20\x20\x20<div\x20class=\x22status-card__value\x20status-card__value--mono\x22>{{\x20clock\x20}}</div>\x0a\x20\x20</div>\x0a\x0a\x20\x20<div\x20class=\x22status-card\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22status-card__label\x22>Event&nbsp;Stream</div>\x0a\x20\x20\x20\x20<div\x20class=\x22status-card__value\x22>\x0a\x20\x20\x20\x20\x20\x20<span\x20:class=\x22connected\x20?\x20\x27dot\x20dot--on\x27\x20:\x20\x27dot\x20dot--off\x27\x22></span>\x0a\x20\x20\x20\x20\x20\x20{{\x20connected\x20?\x20\x27Live\x27\x20:\x20(streamError\x20?\x20\x27Reconnecting…\x27\x20:\x20\x27Disconnected\x27)\x20}}\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</div>\x0a</div>\x0a','system:clock_change','startsWith','index:registered','length','index:drop','1053364qykFTA','612152ScfuFl','5624190YxgvjA'];_0x32e9=function(){return _0x530646;};return _0x32e9();}import _0x3221e7 from'../../../stores/okdb-store.js';function _0x354f(_0x4c6459,_0xb999a3){_0x4c6459=_0x4c6459-0xd0;const _0x32e924=_0x32e9();let _0x354fba=_0x32e924[_0x4c6459];return _0x354fba;}export default{'tag':_0x524c28(0xe8),'context':_0x3d0184=>({get 'connected'(){const _0x5e9760=_0x524c28;return _0x5b9598[_0x5e9760(0xda)];},get 'streamError'(){const _0x4a3c4d=_0x524c28;return _0x5b9598[_0x4a3c4d(0xdb)];},get 'dbId'(){return _0x3221e7['info']?.['id']??'—';},get 'dbSize'(){const _0x263279=_0x524c28,_0x47e432=_0x3221e7[_0x263279(0xec)];if(!_0x47e432)return'—';const _0x58a927=(_0x47e432[_0x263279(0xeb)]??0x0)*(_0x47e432[_0x263279(0xd5)]??0x1000);if(!_0x58a927)return'—';const _0x15db54=['B','KB','MB','GB'];let _0xf25987=_0x58a927,_0x6d4eb8=0x0;for(;_0xf25987>=0x400&&_0x6d4eb8<_0x15db54[_0x263279(0xe0)]-0x1;)_0xf25987/=0x400,_0x6d4eb8++;return _0xf25987[_0x263279(0xe5)](0x1)+'\u00a0'+_0x15db54[_0x6d4eb8];},get 'typeCount'(){const _0x15b482=_0x524c28,_0x11159d=_0x3221e7[_0x15b482(0xec)]?.['types'];return _0x11159d?Object[_0x15b482(0xd0)](_0x11159d)[_0x15b482(0xd7)](_0x13ab67=>!_0x13ab67[_0x15b482(0xde)]('~'))[_0x15b482(0xe0)]:'—';},get 'clock'(){const _0x3d16cc=_0x524c28;return _0x3221e7[_0x3d16cc(0xec)]?.[_0x3d16cc(0xd1)]??'—';},'_unsub':null,async '_refresh'(){await _0x3221e7['reloadInfo']();}}),'mount'(){const _0x207b17=_0x524c28,_0x2d1ec6=()=>this[_0x207b17(0xd3)]();this[_0x207b17(0xd2)]=_0x5b9598['on'](_0x207b17(0xd4),_0x2d1ec6);const _0x41c2f1=_0x5b9598['on'](_0x207b17(0xe9),_0x2d1ec6),_0x4ca15f=_0x5b9598['on'](_0x207b17(0xdf),_0x2d1ec6),_0x2fbf2c=_0x5b9598['on'](_0x207b17(0xe1),_0x2d1ec6),_0x2b5c43=_0x5b9598['on'](_0x207b17(0xdd),_0x2d1ec6),_0x5f61cb=_0x5b9598['on'](_0x207b17(0xe7),_0x2d1ec6),_0x574bc4=this[_0x207b17(0xd2)];this[_0x207b17(0xd2)]=()=>{_0x574bc4(),_0x41c2f1(),_0x4ca15f(),_0x2fbf2c(),_0x2b5c43(),_0x5f61cb();};},'unmount'(){const _0x23804e=_0x524c28;this[_0x23804e(0xd2)]?.();},'template':_0x524c28(0xdc),'style':'@keyframes\x20pulse{0%,to{opacity:1}50%{opacity:.5}}.status-bar{display:flex;flex-wrap:wrap;gap:10px;flex-shrink:0}.status-card{background:var(--okdb-app-border);border-radius:10px;padding:12px\x2016px;min-width:110px;flex:1}.status-card__label{font-size:11px;opacity:.55;margin-bottom:4px;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.status-card__value{font-size:14px;font-weight:600;display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-card__value--mono{font-family:monospace;font-size:11px;letter-spacing:.03em}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.dot--on{background:var(--okdb-success);box-shadow:0\x200\x206px\x20color-mix(in\x20srgb,var(--okdb-success)\x2040%,transparent);animation:pulse\x202s\x20ease-in-out\x20infinite}.dot--off{background:var(--okdb-danger)}'};
@@ -1 +1 @@
1
- function _0x413a(_0x16a2ee,_0x5add5d){_0x16a2ee=_0x16a2ee-0xb4;const _0x1b225e=_0x1b22();let _0x413a42=_0x1b225e[_0x16a2ee];return _0x413a42;}function _0x1b22(){const _0x40de7e=['data','trim','52135dMjnzB','catch','selfClocks','clipboard','44ZJypdM','/sync/info','selfTagList','2120034qHTIMc','20IVoBYf','selfClock','message','4302180kTDplO','map','API','Failed\x20to\x20save\x20node\x20tags','savingSelf','application/json','selfTagsInput','tags','success','1223395rFPuKE','\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;flex-direction:column;gap:14px;height:100%;min-height:0;\x22>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20Self-node\x20identity\x20header\x20bar\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22selfNode\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;align-items:center;gap:14px;padding:10px\x2014px;background:var(--okdb-app-surface);border:1px\x20solid\x20var(--okdb-app-border);border-radius:10px;flex-shrink:0;flex-wrap:wrap;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-size:10px;text-transform:uppercase;letter-spacing:.06em;opacity:.45;white-space:nowrap;\x22>This\x20Node</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22display:flex;align-items:center;gap:6px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22width:7px;height:7px;border-radius:50%;background:var(--okdb-success);flex-shrink:0;\x22></span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-weight:600;font-size:13px;\x22>{{selfNode.name\x20||\x20selfNode.id?.slice(0,8)}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22selfNode.id\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20style=\x22font-family:monospace;font-size:11px;opacity:.45;cursor:pointer;\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22copyText(selfNode.id)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20title=\x22Click\x20to\x20copy\x20full\x20ID\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20>{{selfNode.id?.slice(0,14)}}…\x20⎘</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22selfClock\x20!=\x20null\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-size:11px;opacity:.45;\x22>clock:\x20<span\x20style=\x22font-family:monospace;\x22>{{selfClock}}</span></span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22selfNode.address\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-family:monospace;font-size:11px;opacity:.45;white-space:nowrap;\x22>{{selfNode.address}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20Inline\x20tag\x20editor\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;align-items:center;gap:6px;margin-left:auto;flex-wrap:wrap;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:value=\x22selfTagsInput\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@input=\x22selfTagsInput\x20=\x20$event.target.value\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@keydown.enter=\x22saveSelfTags()\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20placeholder=\x22tags,\x20comma-separated\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20style=\x22font-family:monospace;font-size:11px;width:160px;\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22saveSelfTags()\x22\x20:disabled=\x22savingSelf\x22\x20style=\x22font-size:11px;padding:3px\x208px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{{savingSelf\x20?\x20\x27…\x27\x20:\x20\x27Save\x20tags\x27}}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22saveSelfError\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-size:11px;color:var(--okdb-danger);\x22>{{saveSelfError}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20Sub-tabs\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;gap:2px;padding:2px;background:var(--okdb-app-surface);border-radius:8px;border:1px\x20solid\x20var(--okdb-app-border);flex-shrink:0;align-self:flex-start;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22tab=\x27topology\x27\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:style=\x22tab===\x27topology\x27?\x27background:var(--okdb-app-surface-2);color:var(--okdb-accent);border-color:color-mix(in\x20srgb,\x20var(--okdb-accent)\x2027%,\x20transparent);\x27:\x27background:transparent;border-color:transparent;opacity:.7;\x27\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20style=\x22padding:4px\x2014px;border-radius:6px;font-size:12px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Topology\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22tab=\x27retention\x27\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:style=\x22tab===\x27retention\x27?\x27background:var(--okdb-app-surface-2);color:var(--okdb-accent);border-color:color-mix(in\x20srgb,\x20var(--okdb-accent)\x2027%,\x20transparent);\x27:\x27background:transparent;border-color:transparent;opacity:.7;\x27\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20style=\x22padding:4px\x2014px;border-radius:6px;font-size:12px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Retention\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22tab\x20===\x20\x27topology\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<sync-topology\x20style=\x22flex:1;min-height:300px;\x22\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22tab\x20===\x20\x27retention\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<sync-retention\x20style=\x22flex:1;min-height:300px;\x22\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20','toast','saveSelfError','81hJxWsS','stringify','selfNode','system-sync-panel','json','clock','writeText','Node\x20tags\x20saved','103593VBEHyg','6yObKxn','node','join','filter','1539852kWEsKl','PATCH','split','5672FyMFlr','33JYITOH','loadSelf'];_0x1b22=function(){return _0x40de7e;};return _0x1b22();}const _0x1d64a0=_0x413a;(function(_0x472cbd,_0xd487b2){const _0x1c2b9b=_0x413a,_0x37064a=_0x472cbd();while(!![]){try{const _0x4f5e3d=parseInt(_0x1c2b9b(0xbc))/0x1*(parseInt(_0x1c2b9b(0xc4))/0x2)+-parseInt(_0x1c2b9b(0xdc))/0x3*(-parseInt(_0x1c2b9b(0xc0))/0x4)+-parseInt(_0x1c2b9b(0xd0))/0x5*(parseInt(_0x1c2b9b(0xdd))/0x6)+-parseInt(_0x1c2b9b(0xc3))/0x7+-parseInt(_0x1c2b9b(0xb7))/0x8*(parseInt(_0x1c2b9b(0xd4))/0x9)+parseInt(_0x1c2b9b(0xc7))/0xa+parseInt(_0x1c2b9b(0xb8))/0xb*(-parseInt(_0x1c2b9b(0xb4))/0xc);if(_0x4f5e3d===_0xd487b2)break;else _0x37064a['push'](_0x37064a['shift']());}catch(_0x2f799a){_0x37064a['push'](_0x37064a['shift']());}}}(_0x1b22,0x5fd4c));import _0x777f2f from'../../sync/parts/sync-topology.ok.js';import _0x16fe5a from'../../sync/parts/sync-retention.ok.js';export default{'tag':_0x1d64a0(0xd7),'unwrap':!0x0,'dependencies':[_0x777f2f,_0x16fe5a],'context':_0x1f30bb=>({'tab':'topology','selfNode':null,'selfClock':null,'selfClocks':{},'selfTagsInput':'','savingSelf':!0x1,'saveSelfError':null,get 'selfTagList'(){const _0x315ef4=_0x1d64a0;return(this[_0x315ef4(0xcd)]||'')[_0x315ef4(0xb6)](',')[_0x315ef4(0xc8)](_0x3edeff=>_0x3edeff[_0x315ef4(0xbb)]())[_0x315ef4(0xe0)](Boolean);},async 'loadSelf'(){const _0xb60df1=_0x1d64a0;try{const _0x5a599a=await fetch(__ENV__[_0xb60df1(0xc9)]+_0xb60df1(0xc1)),_0x36bdfd=await _0x5a599a['json']();_0x5a599a['ok']&&(this['selfNode']=_0x36bdfd[_0xb60df1(0xba)]?.[_0xb60df1(0xde)]??null,this[_0xb60df1(0xc5)]=_0x36bdfd[_0xb60df1(0xba)]?.[_0xb60df1(0xd9)]??null,this[_0xb60df1(0xbe)]=_0x36bdfd[_0xb60df1(0xba)]?.['clocks']??{},this[_0xb60df1(0xcd)]=(this['selfNode']?.[_0xb60df1(0xce)]??[])[_0xb60df1(0xdf)](',\x20'));}catch{}},async 'saveSelfTags'(){const _0x3a2b93=_0x1d64a0;if(!this[_0x3a2b93(0xcb)]){this[_0x3a2b93(0xcb)]=!0x0,this[_0x3a2b93(0xd3)]=null;try{const _0xb9d882=await fetch(__ENV__['API']+'/sync/self',{'method':_0x3a2b93(0xb5),'headers':{'Content-Type':_0x3a2b93(0xcc)},'body':JSON[_0x3a2b93(0xd5)]({'tags':this[_0x3a2b93(0xc2)]})}),_0x32cd88=await _0xb9d882[_0x3a2b93(0xd8)]();if(!_0xb9d882['ok'])throw new Error(_0x32cd88?.['error']?.['message']||_0x3a2b93(0xca));this['selfNode']=_0x32cd88[_0x3a2b93(0xba)]?.[_0x3a2b93(0xde)]??this[_0x3a2b93(0xd6)],this['selfTagsInput']=(this[_0x3a2b93(0xd6)]?.[_0x3a2b93(0xce)]??[])['join'](',\x20'),_0x1f30bb['$ok']['shared']?.[_0x3a2b93(0xd2)]?.[_0x3a2b93(0xcf)]?.(_0x3a2b93(0xdb));}catch(_0xea7ef){this[_0x3a2b93(0xd3)]=_0xea7ef?.[_0x3a2b93(0xc6)]||String(_0xea7ef);}finally{this[_0x3a2b93(0xcb)]=!0x1;}}},'copyText'(_0x30349f){const _0x5e8941=_0x1d64a0;navigator[_0x5e8941(0xbf)]?.[_0x5e8941(0xda)](_0x30349f)[_0x5e8941(0xbd)](()=>{});}}),async 'mount'(){const _0x126543=_0x1d64a0;await this[_0x126543(0xb9)]();},'template':_0x1d64a0(0xd1)};
1
+ const _0x782ef3=_0x583b;(function(_0x64a43f,_0x7eb8f6){const _0x5b358a=_0x583b,_0x462ac2=_0x64a43f();while(!![]){try{const _0x2a9202=-parseInt(_0x5b358a(0x16e))/0x1+-parseInt(_0x5b358a(0x15f))/0x2+-parseInt(_0x5b358a(0x165))/0x3*(parseInt(_0x5b358a(0x160))/0x4)+parseInt(_0x5b358a(0x156))/0x5+-parseInt(_0x5b358a(0x15b))/0x6*(-parseInt(_0x5b358a(0x158))/0x7)+-parseInt(_0x5b358a(0x15e))/0x8+-parseInt(_0x5b358a(0x14f))/0x9*(-parseInt(_0x5b358a(0x14b))/0xa);if(_0x2a9202===_0x7eb8f6)break;else _0x462ac2['push'](_0x462ac2['shift']());}catch(_0x190ddc){_0x462ac2['push'](_0x462ac2['shift']());}}}(_0xfb30,0x57cb2));function _0xfb30(){const _0x516f48=['16723vsqvNv','join','\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;flex-direction:column;gap:14px;height:100%;min-height:0;\x22>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20Self-node\x20identity\x20header\x20bar\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22selfNode\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;align-items:center;gap:14px;padding:10px\x2014px;background:var(--okdb-app-surface);border:1px\x20solid\x20var(--okdb-app-border);border-radius:10px;flex-shrink:0;flex-wrap:wrap;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-size:10px;text-transform:uppercase;letter-spacing:.06em;opacity:.45;white-space:nowrap;\x22>This\x20Node</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22display:flex;align-items:center;gap:6px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22width:7px;height:7px;border-radius:50%;background:var(--okdb-success);flex-shrink:0;\x22></span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-weight:600;font-size:13px;\x22>{{selfNode.name\x20||\x20selfNode.id?.slice(0,8)}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22selfNode.id\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20style=\x22font-family:monospace;font-size:11px;opacity:.45;cursor:pointer;\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22copyText(selfNode.id)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20title=\x22Click\x20to\x20copy\x20full\x20ID\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20>{{selfNode.id?.slice(0,14)}}…\x20⎘</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22selfClock\x20!=\x20null\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-size:11px;opacity:.45;\x22>clock:\x20<span\x20style=\x22font-family:monospace;\x22>{{selfClock}}</span></span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22selfNode.address\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-family:monospace;font-size:11px;opacity:.45;white-space:nowrap;\x22>{{selfNode.address}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20Inline\x20tag\x20editor\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;align-items:center;gap:6px;margin-left:auto;flex-wrap:wrap;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:value=\x22selfTagsInput\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@input=\x22selfTagsInput\x20=\x20$event.target.value\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@keydown.enter=\x22saveSelfTags()\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20placeholder=\x22tags,\x20comma-separated\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20style=\x22font-family:monospace;font-size:11px;width:160px;\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22saveSelfTags()\x22\x20:disabled=\x22savingSelf\x22\x20style=\x22font-size:11px;padding:3px\x208px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{{savingSelf\x20?\x20\x27…\x27\x20:\x20\x27Save\x20tags\x27}}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22saveSelfError\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-size:11px;color:var(--okdb-danger);\x22>{{saveSelfError}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20Sub-tabs\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;gap:2px;padding:2px;background:var(--okdb-app-surface);border-radius:8px;border:1px\x20solid\x20var(--okdb-app-border);flex-shrink:0;align-self:flex-start;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22tab=\x27topology\x27\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:style=\x22tab===\x27topology\x27?\x27background:var(--okdb-app-surface-2);color:var(--okdb-accent);border-color:color-mix(in\x20srgb,\x20var(--okdb-accent)\x2027%,\x20transparent);\x27:\x27background:transparent;border-color:transparent;opacity:.7;\x27\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20style=\x22padding:4px\x2014px;border-radius:6px;font-size:12px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Topology\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22tab=\x27retention\x27\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:style=\x22tab===\x27retention\x27?\x27background:var(--okdb-app-surface-2);color:var(--okdb-accent);border-color:color-mix(in\x20srgb,\x20var(--okdb-accent)\x2027%,\x20transparent);\x27:\x27background:transparent;border-color:transparent;opacity:.7;\x27\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20style=\x22padding:4px\x2014px;border-radius:6px;font-size:12px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Retention\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22tab\x20===\x20\x27topology\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<sync-topology\x20style=\x22flex:1;min-height:300px;\x22\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22tab\x20===\x20\x27retention\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<sync-retention\x20style=\x22flex:1;min-height:300px;\x22\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20','618TkFHhf','writeText','clipboard','5609512orxMJG','146892URWBZO','22128uLfSPw','API','node','message','topology','291ZXNXVC','saveSelfError','savingSelf','stringify','application/json','filter','Node\x20tags\x20saved','selfTagList','/sync/self','83227uNMJDu','selfNode','/sync/info','system-sync-panel','100IhBhNF','map','clock','selfClocks','1181187zpnkXZ','json','shared','toast','trim','data','selfTagsInput','977855GiFrww','tags'];_0xfb30=function(){return _0x516f48;};return _0xfb30();}import _0x57d1af from'../../sync/parts/sync-topology.ok.js';function _0x583b(_0x434837,_0x16d2d1){_0x434837=_0x434837-0x14a;const _0xfb303e=_0xfb30();let _0x583b40=_0xfb303e[_0x434837];return _0x583b40;}import _0x2f4925 from'../../sync/parts/sync-retention.ok.js';export default{'tag':_0x782ef3(0x14a),'unwrap':!0x0,'dependencies':[_0x57d1af,_0x2f4925],'context':_0x513cb5=>({'tab':_0x782ef3(0x164),'selfNode':null,'selfClock':null,'selfClocks':{},'selfTagsInput':'','savingSelf':!0x1,'saveSelfError':null,get 'selfTagList'(){const _0x49c283=_0x782ef3;return(this[_0x49c283(0x155)]||'')['split'](',')[_0x49c283(0x14c)](_0x304e45=>_0x304e45[_0x49c283(0x153)]())[_0x49c283(0x16a)](Boolean);},async 'loadSelf'(){const _0x5597aa=_0x782ef3;try{const _0x37b1df=await fetch(__ENV__[_0x5597aa(0x161)]+_0x5597aa(0x170)),_0xc1f2a2=await _0x37b1df[_0x5597aa(0x150)]();_0x37b1df['ok']&&(this[_0x5597aa(0x16f)]=_0xc1f2a2[_0x5597aa(0x154)]?.[_0x5597aa(0x162)]??null,this['selfClock']=_0xc1f2a2[_0x5597aa(0x154)]?.[_0x5597aa(0x14d)]??null,this[_0x5597aa(0x14e)]=_0xc1f2a2[_0x5597aa(0x154)]?.['clocks']??{},this[_0x5597aa(0x155)]=(this[_0x5597aa(0x16f)]?.[_0x5597aa(0x157)]??[])[_0x5597aa(0x159)](',\x20'));}catch{}},async 'saveSelfTags'(){const _0x2221ef=_0x782ef3;if(!this['savingSelf']){this[_0x2221ef(0x167)]=!0x0,this[_0x2221ef(0x166)]=null;try{const _0x5ac262=await fetch(__ENV__['API']+_0x2221ef(0x16d),{'method':'PATCH','headers':{'Content-Type':_0x2221ef(0x169)},'body':JSON[_0x2221ef(0x168)]({'tags':this[_0x2221ef(0x16c)]})}),_0x598ba6=await _0x5ac262[_0x2221ef(0x150)]();if(!_0x5ac262['ok'])throw new Error(_0x598ba6?.['error']?.[_0x2221ef(0x163)]||'Failed\x20to\x20save\x20node\x20tags');this[_0x2221ef(0x16f)]=_0x598ba6[_0x2221ef(0x154)]?.[_0x2221ef(0x162)]??this['selfNode'],this[_0x2221ef(0x155)]=(this[_0x2221ef(0x16f)]?.[_0x2221ef(0x157)]??[])[_0x2221ef(0x159)](',\x20'),_0x513cb5['$ok'][_0x2221ef(0x151)]?.[_0x2221ef(0x152)]?.['success']?.(_0x2221ef(0x16b));}catch(_0x16b003){this[_0x2221ef(0x166)]=_0x16b003?.[_0x2221ef(0x163)]||String(_0x16b003);}finally{this[_0x2221ef(0x167)]=!0x1;}}},'copyText'(_0x2b895d){const _0x4ca9d8=_0x782ef3;navigator[_0x4ca9d8(0x15d)]?.[_0x4ca9d8(0x15c)](_0x2b895d)['catch'](()=>{});}}),async 'mount'(){await this['loadSelf']();},'template':_0x782ef3(0x15a)};
@@ -1 +1 @@
1
- function _0x5471(_0x4061eb,_0x2c3e4c){_0x4061eb=_0x4061eb-0x89;const _0x5671de=_0x5671();let _0x5471fd=_0x5671de[_0x4061eb];return _0x5471fd;}const _0x5e4e27=_0x5471;(function(_0x16c854,_0x5d7a41){const _0x4de65e=_0x5471,_0x37fa9f=_0x16c854();while(!![]){try{const _0x26d273=-parseInt(_0x4de65e(0xc6))/0x1*(parseInt(_0x4de65e(0xc4))/0x2)+-parseInt(_0x4de65e(0x89))/0x3+-parseInt(_0x4de65e(0xd7))/0x4+-parseInt(_0x4de65e(0xce))/0x5+parseInt(_0x4de65e(0xd8))/0x6*(parseInt(_0x4de65e(0xe1))/0x7)+-parseInt(_0x4de65e(0xc7))/0x8+parseInt(_0x4de65e(0xa7))/0x9*(parseInt(_0x4de65e(0xc8))/0xa);if(_0x26d273===_0x5d7a41)break;else _0x37fa9f['push'](_0x37fa9f['shift']());}catch(_0x576ec3){_0x37fa9f['push'](_0x37fa9f['shift']());}}}(_0x5671,0x9a8a7));import _0x40e654 from'@toolkit/elements/ok-icon.ok.js';import _0x544b38 from'@toolkit/core/ok-overlay.ok.js';function _0x5671(){const _0x47bd06=['name','233849saPepb','refExpanded','$max','At\x20least\x20one\x20reducer\x20is\x20required','reducers','stores','trim','sort','vis_filterStr','keys','2156319BDWybM','$ref','vis_mapStr','count','stringify','close','split','filterStr','filter','$avg','deepPathsLoading','vis_reducers','refReducers','$count','apiBase','push','map','key','value','Name\x20must\x20not\x20contain\x20spaces\x20or\x20start\x20with\x20~','definitionStr','reduce','startsWith','geo','$countBy','toast','loadDeepPaths','message','data','<div\x20style=\x22position:relative;\x20width:min(820px,calc(100vw\x20-\x2060px));\x20min-width:600px;\x22><if\x20:=\x22busy\x22><ok-overlay><div\x20class=\x22loader-center\x22><ok-icon\x20name=\x22loader\x22\x20class=\x22spin\x22\x20style=\x22width:32px;height:32px;\x22/></div></ok-overlay></if><div\x20class=\x22cvm-body\x22><div\x20class=\x22cvm-row2\x22><div\x20class=\x22cvm-field\x22><label\x20class=\x22cvm-label\x22>Name</label>\x20<input\x20type=\x22text\x22\x20class=\x22cvm-input\x22\x20placeholder=\x22e.g.\x20active_users\x22\x20:value=\x22name\x22\x20@input=\x22name\x20=\x20$el.value\x22\x20:disabled=\x22busy\x22><div\x20class=\x22cvm-hint\x22>No\x20spaces\x20·\x20no\x20~\x20prefix</div></div><div\x20class=\x22cvm-field\x22><label\x20class=\x22cvm-label\x22>Source\x20Type</label><if\x20:=\x22typesLoading\x22><select\x20class=\x22cvm-select\x22\x20disabled=\x22disabled\x22><option>Loading\x20types…</option></select></if><if\x20:=\x22!typesLoading\x20&&\x20types.length\x20>\x200\x22><select\x20class=\x22cvm-select\x22\x20:value=\x22sourceType\x22\x20@change=\x22setSourceType($event.target.value)\x22\x20:disabled=\x22busy\x22><option\x20value=\x22\x22>—\x20select\x20a\x20type\x20—</option><each\x20:of=\x22types\x22\x20let:item=\x22t\x22><option\x20:value=\x22t\x22>{{\x20t\x20}}</option></each></select></if><if\x20:=\x22!typesLoading\x20&&\x20types.length\x20===\x200\x22><input\x20type=\x22text\x22\x20class=\x22cvm-input\x22\x20placeholder=\x22e.g.\x20user\x22\x20:value=\x22sourceType\x22\x20@input=\x22setSourceType($el.value)\x22\x20:disabled=\x22busy\x22></if><div\x20class=\x22cvm-hint\x22>OKDB\x20type\x20this\x20view\x20aggregates</div></div></div><div\x20class=\x22cvm-card\x22><div\x20class=\x22cvm-def-header\x22><span\x20class=\x22cvm-label\x22\x20style=\x22margin:0;\x22>Definition</span><div\x20class=\x22cvm-mode-toggle\x22><button\x20:class=\x22defMode\x20===\x20\x27visual\x27\x20?\x20\x27cvm-mode-btn\x20cvm-mode-btn--active\x27\x20:\x20\x27cvm-mode-btn\x27\x22\x20@click=\x22setDefMode(\x27visual\x27)\x22>Visual</button>\x20<button\x20:class=\x22defMode\x20===\x20\x27json\x27\x20?\x20\x27cvm-mode-btn\x20cvm-mode-btn--active\x27\x20:\x20\x27cvm-mode-btn\x27\x22\x20@click=\x22setDefMode(\x27json\x27)\x22>JSON</button></div></div><if\x20:=\x22defMode\x20===\x20\x27visual\x27\x22><div\x20class=\x22cvm-visual\x22><div><div\x20class=\x22cvm-section-hdr\x22>Reducers</div><div\x20class=\x22cvm-col-headers\x22><span\x20class=\x22cvm-col-h\x22\x20style=\x22flex:0\x200\x20136px;\x22>Output\x20key</span>\x20<span\x20class=\x22cvm-col-h\x22\x20style=\x22flex:0\x200\x20106px;\x22>Operation</span>\x20<span\x20class=\x22cvm-col-h\x22\x20style=\x22flex:1;\x22>Field</span>\x20<span\x20class=\x22cvm-col-h\x22\x20style=\x22flex:0\x200\x2058px;\x22>Items</span>\x20<span\x20style=\x22flex:0\x200\x2022px;\x22/></div><div\x20class=\x22cvm-reducer-list\x22><each\x20:of=\x22vis_reducers\x22\x20let:item=\x22r\x22><div><div\x20class=\x22cvm-reducer-row\x22><input\x20type=\x22text\x22\x20class=\x22cvm-input\x20cvm-r-key\x22\x20placeholder=\x22key\x22\x20:value=\x22r.name\x22\x20@input=\x22setReducerProp(r,\x20\x27name\x27,\x20$el.value)\x22\x20:disabled=\x22busy\x22>\x20<select\x20class=\x22cvm-select\x20cvm-r-op\x22\x20:value=\x22r.op\x22\x20@change=\x22setReducerProp(r,\x20\x27op\x27,\x20$event.target.value)\x22\x20:disabled=\x22busy\x22><each\x20:of=\x22opOptions\x22\x20let:item=\x22o\x22><option\x20:value=\x22o.value\x22>{{\x20o.label\x20}}</option></each></select><if\x20:=\x22opNeedsField(r.op)\x22><div\x20class=\x22cvm-r-field\x22><field-path-input\x20:value=\x22r.field\x22\x20:items=\x22fieldItems\x22\x20placeholder=\x22field\x20name\x22\x20allow-custom=\x22true\x22\x20@change=\x22setReducerProp(r,\x20\x27field\x27,\x20$event.detail)\x22></div></if><if\x20:=\x22opIsRef(r.op)\x22><button\x20class=\x22cvm-r-ref-btn\x20cvm-r-field\x22\x20@click=\x22toggleRefExpand(r)\x22\x20:disabled=\x22busy\x22>{{\x20r.refExpanded\x20?\x20\x27▴\x20collapse\x27\x20:\x20\x27▾\x20configure\x20$ref\x27\x20}}</button></if><if\x20:=\x22!opNeedsField(r.op)\x20&&\x20!opIsRef(r.op)\x22><div\x20class=\x22cvm-r-field\x22\x20style=\x22padding:7px\x209px;font-size:11px;color:var(--okdb-app-fg-subtle);opacity:0.35;\x22>—</div></if><if\x20:=\x22!opIsRef(r.op)\x22><label\x20class=\x22cvm-r-items\x22\x20title=\x22Include\x20individual\x20matching\x20items\x20in\x20the\x20result\x22><input\x20type=\x22checkbox\x22\x20:checked=\x22r.items\x22\x20@change=\x22setReducerProp(r,\x20\x27items\x27,\x20$event.target.checked)\x22\x20:disabled=\x22busy\x22>\x20<span>items</span></label></if><if\x20:=\x22opIsRef(r.op)\x22><div\x20class=\x22cvm-r-spacer\x22/></if><div\x20class=\x22cvm-r-del\x22><button\x20class=\x22cvm-r-del-btn\x22\x20@click=\x22removeReducer(r)\x22\x20:disabled=\x22busy\x22\x20title=\x22Remove\x22>×</button></div></div><if\x20:=\x22opIsRef(r.op)\x20&&\x20r.refExpanded\x22><div\x20class=\x22cvm-ref-body\x22><div\x20class=\x22cvm-row2\x22><div\x20class=\x22cvm-field\x22><label\x20class=\x22cvm-label\x22>Child\x20Type</label><if\x20:=\x22types.length\x20>\x200\x22><select\x20class=\x22cvm-select\x22\x20:value=\x22r.refType\x22\x20@change=\x22setRefType(r,\x20$event.target.value)\x22\x20:disabled=\x22busy\x22><option\x20value=\x22\x22>—\x20select\x20type\x20—</option><each\x20:of=\x22types\x22\x20let:item=\x22t\x22><option\x20:value=\x22t\x22>{{\x20t\x20}}</option></each></select></if><if\x20:=\x22types.length\x20===\x200\x22><input\x20type=\x22text\x22\x20class=\x22cvm-input\x22\x20placeholder=\x22e.g.\x20order\x22\x20:value=\x22r.refType\x22\x20@input=\x22setRefType(r,\x20$el.value)\x22\x20:disabled=\x22busy\x22></if></div><div\x20class=\x22cvm-field\x22><label\x20class=\x22cvm-label\x22>Key\x20Field\x20<span\x20style=\x22font-size:10px;font-weight:400;color:var(--okdb-app-fg-subtle);margin-left:4px;\x22>on\x20child\x20·\x20fk\x20fields\x20highlighted</span></label><field-path-input\x20:value=\x22r.refKey\x22\x20:items=\x22refFieldItems(r)\x22\x20placeholder=\x22FK\x20field\x20on\x20child\x20type\x22\x20allow-custom=\x22true\x22\x20@change=\x22setRefProp(r,\x20\x27refKey\x27,\x20$event.detail)\x22><div\x20class=\x22cvm-hint\x22>Field\x20on\x20the\x20child\x20collection\x20that\x20references\x20this\x20document\x27s\x20_id</div></div></div><div\x20class=\x22cvm-ref-section\x22><div\x20class=\x22cvm-ref-section-hdr\x22>Reducers</div><div\x20class=\x22cvm-col-headers\x22><span\x20class=\x22cvm-col-h\x22\x20style=\x22flex:0\x200\x20136px;\x22>Output\x20key</span>\x20<span\x20class=\x22cvm-col-h\x22\x20style=\x22flex:0\x200\x20106px;\x22>Operation</span>\x20<span\x20class=\x22cvm-col-h\x22\x20style=\x22flex:1;\x22>Field</span>\x20<span\x20class=\x22cvm-col-h\x22\x20style=\x22flex:0\x200\x2058px;\x22>Items</span>\x20<span\x20style=\x22flex:0\x200\x2022px;\x22/></div><div\x20class=\x22cvm-reducer-list\x22><each\x20:of=\x22r.refReducers\x22\x20let:item=\x22cr\x22><div\x20class=\x22cvm-reducer-row\x22><input\x20type=\x22text\x22\x20class=\x22cvm-input\x20cvm-r-key\x22\x20placeholder=\x22key\x22\x20:value=\x22cr.name\x22\x20@input=\x22setRefReducerProp(r,\x20cr,\x20\x27name\x27,\x20$el.value)\x22\x20:disabled=\x22busy\x22>\x20<select\x20class=\x22cvm-select\x20cvm-r-op\x22\x20:value=\x22cr.op\x22\x20@change=\x22setRefReducerProp(r,\x20cr,\x20\x27op\x27,\x20$event.target.value)\x22\x20:disabled=\x22busy\x22><each\x20:of=\x22refOpOptions\x22\x20let:item=\x22o\x22><option\x20:value=\x22o.value\x22>{{\x20o.label\x20}}</option></each></select><if\x20:=\x22opNeedsField(cr.op)\x22><div\x20class=\x22cvm-r-field\x22><field-path-input\x20:value=\x22cr.field\x22\x20:items=\x22refFieldItems(r)\x22\x20placeholder=\x22field\x20name\x22\x20allow-custom=\x22true\x22\x20@change=\x22setRefReducerProp(r,\x20cr,\x20\x27field\x27,\x20$event.detail)\x22></div></if><if\x20:=\x22!opNeedsField(cr.op)\x22><div\x20class=\x22cvm-r-field\x22\x20style=\x22padding:7px\x209px;font-size:11px;color:var(--okdb-app-fg-subtle);opacity:0.35;\x22>—</div></if><label\x20class=\x22cvm-r-items\x22\x20title=\x22Include\x20individual\x20matching\x20items\x22><input\x20type=\x22checkbox\x22\x20:checked=\x22cr.items\x22\x20@change=\x22setRefReducerProp(r,\x20cr,\x20\x27items\x27,\x20$event.target.checked)\x22\x20:disabled=\x22busy\x22>\x20<span>items</span></label><div\x20class=\x22cvm-r-del\x22><button\x20class=\x22cvm-r-del-btn\x22\x20@click=\x22removeRefReducer(r,\x20cr)\x22\x20:disabled=\x22busy\x22\x20title=\x22Remove\x22>×</button></div></div></each></div><button\x20class=\x22cvm-add-reducer-btn\x22\x20@click=\x22addRefReducer(r)\x22\x20:disabled=\x22busy\x22>+\x20Add\x20reducer</button></div><div><div\x20class=\x22cvm-optional-hdr\x22><span\x20class=\x22cvm-ref-section-hdr\x22\x20style=\x22margin:0;\x22>Filter</span>\x20<button\x20class=\x22cvm-opt-toggle\x22\x20@click=\x22setRefProp(r,\x20\x27refShowFilter\x27,\x20!r.refShowFilter)\x22>{{\x20r.refShowFilter\x20?\x20\x27hide\x27\x20:\x20(r.refFilterStr\x20?\x20\x27edit\x27\x20:\x20\x27add\x27)\x20}}</button></div><if\x20:=\x22r.refShowFilter\x22><textarea\x20class=\x22cvm-input\x20cvm-opt-textarea\x22\x20placeholder=\x27{\x20\x22status\x22:\x20\x22active\x22\x20}\x27\x20:value=\x22r.refFilterStr\x22\x20@input=\x22setRefProp(r,\x20\x27refFilterStr\x27,\x20$el.value)\x22\x20:disabled=\x22busy\x22/><div\x20class=\x22cvm-hint\x22\x20style=\x22margin-top:3px;\x22>Sift\x20query\x20—\x20filters\x20child\x20records\x20before\x20aggregation</div></if></div><div><div\x20class=\x22cvm-optional-hdr\x22><span\x20class=\x22cvm-ref-section-hdr\x22\x20style=\x22margin:0;\x22>Map</span>\x20<button\x20class=\x22cvm-opt-toggle\x22\x20@click=\x22setRefProp(r,\x20\x27refShowMap\x27,\x20!r.refShowMap)\x22>{{\x20r.refShowMap\x20?\x20\x27hide\x27\x20:\x20(r.refMapStr\x20?\x20\x27edit\x27\x20:\x20\x27add\x27)\x20}}</button></div><if\x20:=\x22r.refShowMap\x22><textarea\x20class=\x22cvm-input\x20cvm-opt-textarea\x22\x20placeholder=\x27{\x20\x22total\x22:\x20\x22$count\x22\x20}\x27\x20:value=\x22r.refMapStr\x22\x20@input=\x22setRefProp(r,\x20\x27refMapStr\x27,\x20$el.value)\x22\x20:disabled=\x22busy\x22/><div\x20class=\x22cvm-hint\x22\x20style=\x22margin-top:3px;\x22>Optional\x20value\x20transformation\x20applied\x20after\x20child\x20reduce</div></if></div></div></if></div></each></div><button\x20class=\x22cvm-add-reducer-btn\x22\x20@click=\x22addReducer()\x22\x20:disabled=\x22busy\x22>+\x20Add\x20reducer</button></div><div><div\x20class=\x22cvm-optional-hdr\x22><span\x20class=\x22cvm-section-hdr\x22\x20style=\x22margin:0;\x22>Filter</span>\x20<button\x20class=\x22cvm-opt-toggle\x22\x20@click=\x22vis_showFilter\x20=\x20!vis_showFilter\x22>{{\x20vis_showFilter\x20?\x20\x27hide\x27\x20:\x20(vis_filterStr\x20?\x20\x27edit\x27\x20:\x20\x27add\x27)\x20}}</button></div><if\x20:=\x22vis_showFilter\x22><textarea\x20class=\x22cvm-input\x20cvm-opt-textarea\x22\x20placeholder=\x27{\x20\x22status\x22:\x20\x22active\x22\x20}\x27\x20:value=\x22vis_filterStr\x22\x20@input=\x22vis_filterStr\x20=\x20$el.value\x22\x20:disabled=\x22busy\x22/><div\x20class=\x22cvm-hint\x22>Sift\x20query\x20—\x20only\x20matching\x20records\x20are\x20included\x20in\x20the\x20aggregation</div></if></div><div><div\x20class=\x22cvm-optional-hdr\x22><span\x20class=\x22cvm-section-hdr\x22\x20style=\x22margin:0;\x22>Map</span>\x20<button\x20class=\x22cvm-opt-toggle\x22\x20@click=\x22vis_showMap\x20=\x20!vis_showMap\x22>{{\x20vis_showMap\x20?\x20\x27hide\x27\x20:\x20(vis_mapStr\x20?\x20\x27edit\x27\x20:\x20\x27add\x27)\x20}}</button></div><if\x20:=\x22vis_showMap\x22><textarea\x20class=\x22cvm-input\x20cvm-opt-textarea\x22\x20placeholder=\x27{\x20\x22total\x22:\x20\x22$count\x22\x20}\x27\x20:value=\x22vis_mapStr\x22\x20@input=\x22vis_mapStr\x20=\x20$el.value\x22\x20:disabled=\x22busy\x22/><div\x20class=\x22cvm-hint\x22>Optional\x20value\x20transformation\x20applied\x20after\x20reduce</div></if></div></div></if><if\x20:=\x22defMode\x20===\x20\x27json\x27\x22><div\x20class=\x22cvm-json-wrap\x22><ok-text-monaco-input\x20style=\x22height:100%;\x22\x20language=\x22json\x22\x20:value=\x22definitionStr\x22\x20@edit=\x22definitionStr\x20=\x20$event.detail\x22/></div><div\x20class=\x22cvm-hint\x22>filter\x20·\x20reduce\x20·\x20map\x20—\x20<code>type</code>\x20is\x20injected\x20from\x20Source\x20Type\x20above</div></if></div><if\x20:=\x22error\x22><div\x20class=\x22cvm-error\x22>{{\x20error\x20}}</div></if><div\x20class=\x22cvm-actions\x22><button\x20class=\x22cvm-btn\x20cvm-btn--secondary\x22\x20@click=\x22cancel()\x22\x20:disabled=\x22busy\x22>Cancel</button>\x20<button\x20class=\x22cvm-btn\x20cvm-btn--primary\x22\x20@click=\x22create()\x22\x20:disabled=\x22busy\x20||\x20!name.trim()\x20||\x20!sourceType.trim()\x22>Create\x20View</button></div></div></div>','2857878aMWNDz','_id','needsField','pop','entries','/deep-properties','/type/','result','items','mapStr','paths','defMode','Create\x20failed','length','okdb','refKey','$sum','sourceType','{\x0a\x20\x20\x22filter\x22:\x20{},\x0a\x20\x20\x22reduce\x22:\x20{\x0a\x20\x20\x20\x20\x22count\x22:\x20{\x20\x22$count\x22:\x20true\x20}\x0a\x20\x20}\x0a}','refDeepLoading','refType','refDeepPaths','POST','parse','field','endsWith','deepPaths','error','$min','2gXJCZi','modal','401389SBIoVD','8878784iGBRRx','130Edzkxt','isRef','object','visual','test','assign','1853300sfVMMC','type','/types','$ok','$attr','Source\x20type\x20is\x20required','.cvm-body,create-view-modal{display:flex;flex-direction:column}.cvm-body{gap:14px}.cvm-row2{display:grid;grid-template-columns:1fr\x201fr;gap:12px}.cvm-field{display:flex;flex-direction:column;gap:5px}.cvm-label{font-size:11px;color:var(--okdb-app-fg-muted);text-transform:uppercase;letter-spacing:.07em;font-weight:600}.cvm-card{padding:14px;border:1px\x20solid\x20var(--okdb-app-border);border-radius:10px;background:var(--okdb-app-bg-deep);display:flex;flex-direction:column;gap:10px}.cvm-input{padding:7px\x209px}.cvm-input,.cvm-select{border:1px\x20solid\x20var(--okdb-app-border);border-radius:6px;background:var(--okdb-app-bg-deep);color:var(--okdb-app-fg);font-size:12px;font-family:inherit;box-sizing:border-box;width:100%}.cvm-input:focus,.cvm-select:focus{outline:0;border-color:var(--okdb-accent);box-shadow:0\x200\x200\x202px\x20color-mix(in\x20srgb,var(--okdb-accent)\x2012%,transparent)}.cvm-select{cursor:pointer;appearance:none;background-image:url(\x22data:image/svg+xml,%3Csvg\x20xmlns=\x27http://www.w3.org/2000/svg\x27\x20width=\x2712\x27\x20height=\x2712\x27\x20viewBox=\x270\x200\x2024\x2024\x27\x20fill=\x27none\x27\x20stroke=\x27%23888\x27\x20stroke-width=\x272\x27%3E%3Cpolyline\x20points=\x276\x209\x2012\x2015\x2018\x209\x27/%3E%3C/svg%3E\x22);background-repeat:no-repeat;background-position:right\x208px\x20center;padding:7px\x2028px\x207px\x209px}.cvm-error,.cvm-hint{font-size:11px;color:var(--okdb-app-fg-subtle);line-height:1.45}.cvm-error{font-size:12px;color:var(--okdb-danger);padding:9px\x2012px;background:color-mix(in\x20srgb,var(--okdb-danger)\x2010%,transparent);border:1px\x20solid\x20color-mix(in\x20srgb,var(--okdb-danger)\x2025%,transparent);border-radius:6px}.cvm-actions{display:flex;gap:8px;justify-content:flex-end}.cvm-btn{padding:7px\x2016px;border-radius:6px;border:1px\x20solid;background:0\x200;font-size:12px;font-weight:500;cursor:pointer;transition:all\x20.15s\x20ease}.cvm-btn--primary{border-color:var(--okdb-accent);color:var(--okdb-accent)}.cvm-btn--primary:hover{background:color-mix(in\x20srgb,var(--okdb-accent)\x2012%,transparent)}.cvm-btn--secondary{border-color:var(--okdb-app-border);color:var(--okdb-app-fg-muted)}.cvm-btn--secondary:hover{border-color:var(--okdb-accent);color:var(--okdb-app-fg);background:color-mix(in\x20srgb,var(--okdb-accent)\x206%,transparent)}.cvm-btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.cvm-def-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:6px;border-bottom:1px\x20solid\x20var(--okdb-app-border)}.cvm-mode-toggle{display:flex;border:1px\x20solid\x20var(--okdb-app-border);border-radius:5px;overflow:hidden}.cvm-mode-btn{padding:4px\x2012px;border:0;background:0\x200;color:var(--okdb-app-fg-muted);font-size:11px;font-weight:500;cursor:pointer;transition:all\x20.15s\x20ease}.cvm-mode-btn+.cvm-mode-btn{border-left:1px\x20solid\x20var(--okdb-app-border)}.cvm-mode-btn--active{background:color-mix(in\x20srgb,var(--okdb-accent)\x2014%,transparent);color:var(--okdb-accent)}.cvm-visual{display:flex;flex-direction:column;gap:12px}.cvm-section-hdr{font-size:10px;color:var(--okdb-app-fg-subtle);text-transform:uppercase;letter-spacing:.07em;font-weight:600;margin-bottom:6px}.cvm-col-headers{display:flex;gap:6px;margin-bottom:3px}.cvm-col-h{font-size:10px;color:var(--okdb-app-fg-subtle)}.cvm-reducer-list{display:flex;flex-direction:column;gap:5px}.cvm-reducer-row{display:flex;align-items:center;gap:6px}.cvm-r-key,.cvm-r-op{flex:0\x200\x20136px;min-width:0}.cvm-r-op{flex:0\x200\x20106px}.cvm-r-field{flex:1;min-width:0}.cvm-r-del,.cvm-r-items{display:flex;align-items:center}.cvm-r-items{flex:0\x200\x2058px;gap:4px;font-size:11px;color:var(--okdb-app-fg-muted);user-select:none;cursor:pointer}.cvm-r-del{flex:0\x200\x2022px;justify-content:center}.cvm-r-del-btn{background:0\x200;border:0;cursor:pointer;color:var(--okdb-app-fg-subtle);padding:3px\x204px;border-radius:3px;font-size:14px;line-height:1;transition:color\x20.12s\x20ease}.cvm-r-del-btn:hover{color:var(--okdb-danger)}.cvm-r-ref-btn{flex:1;padding:7px\x2010px;border:1px\x20dashed\x20var(--okdb-app-border);border-radius:6px;background:0\x200;color:var(--okdb-app-fg-muted);font-size:11px;cursor:pointer;text-align:left;min-width:0;transition:all\x20.12s\x20ease}.cvm-add-reducer-btn:hover,.cvm-r-ref-btn:hover{border-color:var(--okdb-accent);color:var(--okdb-accent)}.cvm-r-spacer{flex:0\x200\x2058px}.cvm-add-reducer-btn{align-self:flex-start;padding:4px\x2012px;border:1px\x20dashed\x20var(--okdb-app-border);border-radius:5px;background:0\x200;color:var(--okdb-app-fg-muted);font-size:11px;cursor:pointer;margin-top:4px;transition:all\x20.12s\x20ease}.cvm-optional-hdr{display:flex;align-items:center;gap:8px}.cvm-opt-toggle{background:0\x200;border:0;cursor:pointer;font-size:11px;color:var(--okdb-app-fg-muted);padding:0;text-decoration:underline\x20dotted;transition:color\x20.12s\x20ease}.cvm-opt-toggle:hover{color:var(--okdb-accent)}.cvm-opt-textarea{width:100%;height:64px;resize:vertical;font-size:11px;font-family:monospace;margin-top:6px}.cvm-ref-body,.cvm-ref-section{display:flex;flex-direction:column}.cvm-ref-body{margin-top:5px;padding:12px;background:color-mix(in\x20srgb,var(--okdb-accent)\x203%,var(--okdb-app-bg));border:1px\x20solid\x20var(--okdb-app-border);border-left:2px\x20solid\x20color-mix(in\x20srgb,var(--okdb-accent)\x2045%,var(--okdb-app-border));border-radius:6px;gap:10px}.cvm-ref-section{gap:6px}.cvm-ref-section-hdr{font-size:10px;color:var(--okdb-app-fg-subtle);text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin-bottom:4px}.cvm-json-wrap{height:260px;border:1px\x20solid\x20var(--okdb-app-border);border-radius:8px;overflow:hidden}','json','find','3978392wnstTy','18giCrJP','isArray','create-view-modal','shared','loadRefDeepPaths','string','typesData','refMapStr'];_0x5671=function(){return _0x47bd06;};return _0x5671();}import _0x437c50 from'../../../components/ok-text-monaco-input.ok.js';import _0x2b31c4 from'../../../components/field-path-input.ok.js';const i=[{'value':_0x5e4e27(0x96),'label':_0x5e4e27(0x96),'needsField':!0x1,'isRef':!0x1},{'value':_0x5e4e27(0xb7),'label':_0x5e4e27(0xb7),'needsField':!0x0,'isRef':!0x1},{'value':_0x5e4e27(0x92),'label':_0x5e4e27(0x92),'needsField':!0x0,'isRef':!0x1},{'value':'$min','label':_0x5e4e27(0xc3),'needsField':!0x0,'isRef':!0x1},{'value':_0x5e4e27(0xe3),'label':_0x5e4e27(0xe3),'needsField':!0x0,'isRef':!0x1},{'value':_0x5e4e27(0xa1),'label':_0x5e4e27(0xa1),'needsField':!0x0,'isRef':!0x1},{'value':_0x5e4e27(0x8a),'label':'$ref','needsField':!0x1,'isRef':!0x0}],a=i['filter'](_0x3871b2=>!_0x3871b2[_0x5e4e27(0xc9)]);function o(){const _0x12def3=_0x5e4e27;return{'name':_0x12def3(0x8c),'op':'$count','field':'','items':!0x1};}function d(_0x507c99){const _0x44516b=_0x5e4e27,_0x189b1d={};for(const _0x5e848d of _0x507c99[_0x44516b(0x95)]||[])_0x5e848d[_0x44516b(0xe0)]['trim']()&&(_0x44516b(0x96)===_0x5e848d['op']?(_0x189b1d[_0x5e848d[_0x44516b(0xe0)]]={'$count':!0x0},_0x5e848d[_0x44516b(0xaf)]&&(_0x189b1d[_0x5e848d['name']]['items']=!0x0)):(_0x189b1d[_0x5e848d[_0x44516b(0xe0)]]={[_0x5e848d['op']]:_0x5e848d['field'][_0x44516b(0xe7)]()||_0x44516b(0xa8)},_0x5e848d[_0x44516b(0xaf)]&&(_0x189b1d[_0x5e848d['name']][_0x44516b(0xaf)]=!0x0)));const _0x17b35a={'type':_0x507c99[_0x44516b(0xbb)]||'','key':_0x507c99[_0x44516b(0xb6)]||''};Object[_0x44516b(0xea)](_0x189b1d)[_0x44516b(0xb4)]&&(_0x17b35a[_0x44516b(0x9e)]=_0x189b1d);try{const _0x5b2a3e=(_0x507c99['refFilterStr']||'')[_0x44516b(0xe7)]();_0x5b2a3e&&(_0x17b35a[_0x44516b(0x91)]=JSON[_0x44516b(0xbe)](_0x5b2a3e));}catch{}try{const _0x42051e=(_0x507c99[_0x44516b(0xdf)]||'')[_0x44516b(0xe7)]();_0x42051e&&(_0x17b35a[_0x44516b(0x99)]=JSON['parse'](_0x42051e));}catch{}return _0x17b35a;}function c(_0x3b120d,_0x266729,_0x1f3c0a){const _0x429059=_0x5e4e27,_0xfffed4={};for(const _0x36316e of _0x3b120d)_0x36316e[_0x429059(0xe0)]['trim']()&&('$ref'===_0x36316e['op']?_0xfffed4[_0x36316e[_0x429059(0xe0)]]={'$ref':d(_0x36316e)}:_0x429059(0x96)===_0x36316e['op']?(_0xfffed4[_0x36316e[_0x429059(0xe0)]]={'$count':!0x0},_0x36316e[_0x429059(0xaf)]&&(_0xfffed4[_0x36316e[_0x429059(0xe0)]]['items']=!0x0)):(_0xfffed4[_0x36316e[_0x429059(0xe0)]]={[_0x36316e['op']]:_0x36316e[_0x429059(0xbf)][_0x429059(0xe7)]()||'_id'},_0x36316e[_0x429059(0xaf)]&&(_0xfffed4[_0x36316e['name']][_0x429059(0xaf)]=!0x0)));const _0x57b55e={'reduce':_0xfffed4};try{const _0x6d5064=_0x266729[_0x429059(0xe7)]();_0x6d5064&&(_0x57b55e['filter']=JSON[_0x429059(0xbe)](_0x6d5064));}catch{}try{const _0xc8e635=_0x1f3c0a[_0x429059(0xe7)]();_0xc8e635&&(_0x57b55e[_0x429059(0x99)]=JSON[_0x429059(0xbe)](_0xc8e635));}catch{}return _0x57b55e;}function l(_0x57548d){const _0x5cb431=_0x5e4e27,_0xb8200f=[];for(const [_0x1ec3e3,_0x17a1cf]of Object[_0x5cb431(0xab)](_0x57548d??{})){const _0x798e74=Object[_0x5cb431(0xea)](_0x17a1cf)[_0x5cb431(0xd6)](_0x2a111e=>'items'!==_0x2a111e)??_0x5cb431(0x96);_0xb8200f[_0x5cb431(0x98)]({'name':_0x1ec3e3,'op':_0x798e74,'field':_0x5cb431(0xdd)==typeof _0x17a1cf[_0x798e74]?_0x17a1cf[_0x798e74]:'','items':!!_0x17a1cf[_0x5cb431(0xaf)]});}return _0xb8200f[_0x5cb431(0xb4)]?_0xb8200f:[{'name':_0x5cb431(0x8c),'op':_0x5cb431(0x96),'field':'','items':!0x1}];}function n(_0x4db9bf){const _0x86072=_0x5e4e27,_0x156f29=_0x4db9bf[_0x86072(0x8f)]('.')[_0x86072(0xaa)]();return _0x86072(0xa8)!==_0x156f29&&(_0x156f29[_0x86072(0xc0)]('Id')||_0x156f29[_0x86072(0xc0)](_0x86072(0xa8))||_0x156f29[_0x86072(0xc0)]('ID'));}function p(_0x1bf40c){const _0x3d5b50=_0x5e4e27;return _0x1bf40c&&Object[_0x3d5b50(0xea)](_0x1bf40c)[_0x3d5b50(0xb4)]?Object[_0x3d5b50(0xab)](_0x1bf40c)[_0x3d5b50(0x99)](([_0x11fb20,_0x4b2122])=>({'path':_0x11fb20,'types':Array['isArray'](_0x4b2122)?_0x4b2122:[],'hint':n(_0x11fb20)?'fk':Array[_0x3d5b50(0xd9)](_0x4b2122)&&_0x4b2122['includes'](_0x3d5b50(0xa0))?_0x3d5b50(0xa0):null})):[];}export default{'tag':_0x5e4e27(0xda),'dependencies':[_0x544b38,_0x40e654,_0x437c50,_0x2b31c4],'attr':{'modal':{},'onDone':{}},'context':_0x3edf6e=>({'busy':!0x1,'error':null,'name':'','sourceType':'','typesData':[],'typesLoading':!0x1,'deepPaths':{},'deepPathsLoading':!0x1,get 'types'(){const _0x43140e=_0x5e4e27;return this[_0x43140e(0xde)][_0x43140e(0x99)](_0x1afcb6=>_0x1afcb6['type']??_0x1afcb6[_0x43140e(0xe0)]??String(_0x1afcb6))['filter'](_0x5a47f7=>_0x43140e(0xdd)==typeof _0x5a47f7&&!_0x5a47f7['startsWith']('~'))[_0x43140e(0xe8)]();},get 'fieldItems'(){const _0x33f721=_0x5e4e27;return p(this[_0x33f721(0xc1)]);},get 'opOptions'(){return i;},get 'refOpOptions'(){return a;},'defMode':_0x5e4e27(0xcb),'definitionStr':_0x5e4e27(0xb9),'vis_reducers':[Object[_0x5e4e27(0xcd)]({'name':'','op':_0x5e4e27(0x96),'field':'','items':!0x1,'isRef':!0x1,'refExpanded':!0x1,'refType':'','refKey':'','refDeepPaths':{},'refDeepLoading':!0x1,'refReducers':[{'name':_0x5e4e27(0x8c),'op':_0x5e4e27(0x96),'field':'','items':!0x1}],'refFilterStr':'','refMapStr':'','refShowFilter':!0x1,'refShowMap':!0x1},{'name':_0x5e4e27(0x8c),'op':_0x5e4e27(0x96)})],'vis_filterStr':'','vis_mapStr':'','vis_showFilter':!0x1,'vis_showMap':!0x1,async 'loadTypes'(){const _0x538689=_0x5e4e27;this['typesLoading']=!0x0;try{const _0x4d989b=_0x3edf6e['$ok'][_0x538689(0xe6)][_0x538689(0xb5)][_0x538689(0x97)],_0x3e304f=await fetch(_0x4d989b+_0x538689(0xd0));if(!_0x3e304f['ok'])return void(this[_0x538689(0xde)]=[]);const _0x18a770=await _0x3e304f[_0x538689(0xd5)](),_0x1fd894=_0x18a770[_0x538689(0xa5)]??_0x18a770[_0x538689(0xae)]??[];this[_0x538689(0xde)]=Array['isArray'](_0x1fd894)?_0x1fd894:Object[_0x538689(0xab)](_0x1fd894)[_0x538689(0x99)](([_0x1994df,_0x25def2])=>({'type':_0x1994df,..._0x538689(0xca)==typeof _0x25def2?_0x25def2:{}}));}catch{this[_0x538689(0xde)]=[];}finally{this['typesLoading']=!0x1;}},async 'loadDeepPaths'(_0x382a6b){const _0x1c2265=_0x5e4e27;if(_0x382a6b){this[_0x1c2265(0x93)]=!0x0;try{const _0x535708=_0x3edf6e['$ok']['stores']['okdb'][_0x1c2265(0x97)],_0x371416=await fetch(_0x535708+_0x1c2265(0xad)+encodeURIComponent(_0x382a6b)+_0x1c2265(0xac));if(!_0x371416['ok'])return void(this[_0x1c2265(0xc1)]={});const _0x145dbc=await _0x371416[_0x1c2265(0xd5)]();this[_0x1c2265(0xc1)]=(_0x145dbc[_0x1c2265(0xa5)]??_0x145dbc['result'])?.['paths']??{};}catch{this['deepPaths']={};}finally{this[_0x1c2265(0x93)]=!0x1;}}else this[_0x1c2265(0xc1)]={};},async 'loadRefDeepPaths'(_0x1d563f,_0x462f56){const _0x48d4dc=_0x5e4e27;_0x1d563f[_0x48d4dc(0xba)]=!0x0,this[_0x48d4dc(0x94)]=[...this[_0x48d4dc(0x94)]];try{const _0x4915ef=_0x3edf6e[_0x48d4dc(0xd1)][_0x48d4dc(0xe6)][_0x48d4dc(0xb5)][_0x48d4dc(0x97)],_0x3da75e=await fetch(_0x4915ef+_0x48d4dc(0xad)+encodeURIComponent(_0x462f56)+_0x48d4dc(0xac));if(!_0x3da75e['ok'])return void(_0x1d563f[_0x48d4dc(0xbc)]={});const _0x220bb6=await _0x3da75e[_0x48d4dc(0xd5)]();_0x1d563f[_0x48d4dc(0xbc)]=(_0x220bb6[_0x48d4dc(0xa5)]??_0x220bb6['result'])?.[_0x48d4dc(0xb1)]??{};}catch{_0x1d563f['refDeepPaths']={};}finally{_0x1d563f[_0x48d4dc(0xba)]=!0x1,this[_0x48d4dc(0x94)]=[...this[_0x48d4dc(0x94)]];}},'setSourceType'(_0x3a42c8){const _0x3ac351=_0x5e4e27;this[_0x3ac351(0xb8)]=_0x3a42c8,_0x3a42c8?this[_0x3ac351(0xa3)](_0x3a42c8):this[_0x3ac351(0xc1)]={};},'setDefMode'(_0x3b5735){const _0x1622f4=_0x5e4e27;if(_0x3b5735!==this[_0x1622f4(0xb2)]){if(_0x1622f4(0xcb)===this[_0x1622f4(0xb2)])this[_0x1622f4(0x9d)]=JSON['stringify'](c(this[_0x1622f4(0x94)],this[_0x1622f4(0xe9)],this[_0x1622f4(0x8b)]),null,0x2);else try{const _0x28bed2=function(_0x243624){const _0x5ea1b0=_0x1622f4,_0x3669ec=[];for(const [_0x24472c,_0x13d682]of Object['entries'](_0x243624['reduce']??{}))if(_0x13d682['$ref']){const _0x336e70=_0x13d682[_0x5ea1b0(0x8a)];_0x3669ec[_0x5ea1b0(0x98)]({'name':_0x24472c,'op':_0x5ea1b0(0x8a),'field':'','items':!0x1,'isRef':!0x0,'refExpanded':!0x0,'refType':_0x336e70[_0x5ea1b0(0xcf)]||'','refKey':_0x336e70[_0x5ea1b0(0x9a)]||'','refDeepPaths':{},'refDeepLoading':!0x1,'refReducers':l(_0x336e70['reduce']),'refFilterStr':_0x336e70[_0x5ea1b0(0x91)]?JSON[_0x5ea1b0(0x8d)](_0x336e70[_0x5ea1b0(0x91)],null,0x2):'','refMapStr':_0x336e70[_0x5ea1b0(0x99)]?JSON[_0x5ea1b0(0x8d)](_0x336e70[_0x5ea1b0(0x99)],null,0x2):'','refShowFilter':!!_0x336e70[_0x5ea1b0(0x91)]&&Object[_0x5ea1b0(0xea)](_0x336e70[_0x5ea1b0(0x91)])[_0x5ea1b0(0xb4)]>0x0,'refShowMap':!!_0x336e70[_0x5ea1b0(0x99)]&&Object['keys'](_0x336e70[_0x5ea1b0(0x99)])[_0x5ea1b0(0xb4)]>0x0});}else{const _0x437143=Object[_0x5ea1b0(0xea)](_0x13d682)[_0x5ea1b0(0xd6)](_0x5be5e4=>'items'!==_0x5be5e4)??_0x5ea1b0(0x96);_0x3669ec[_0x5ea1b0(0x98)]({'name':_0x24472c,'op':_0x437143,'field':'string'==typeof _0x13d682[_0x437143]?_0x13d682[_0x437143]:'','items':!!_0x13d682[_0x5ea1b0(0xaf)],'isRef':!0x1,'refExpanded':!0x1,'refType':'','refKey':'','refDeepPaths':{},'refDeepLoading':!0x1,'refReducers':[o()],'refFilterStr':'','refMapStr':'','refShowFilter':!0x1,'refShowMap':!0x1});}return _0x3669ec[_0x5ea1b0(0xb4)]||_0x3669ec[_0x5ea1b0(0x98)]({'name':'','op':_0x5ea1b0(0x96),'field':'','items':!0x1,'isRef':!0x1,'refExpanded':!0x1,'refType':'','refKey':'','refDeepPaths':{},'refDeepLoading':!0x1,'refReducers':[{'name':_0x5ea1b0(0x8c),'op':_0x5ea1b0(0x96),'field':'','items':!0x1}],'refFilterStr':'','refMapStr':'','refShowFilter':!0x1,'refShowMap':!0x1}),{'reducers':_0x3669ec,'filterStr':_0x243624[_0x5ea1b0(0x91)]&&Object[_0x5ea1b0(0xea)](_0x243624['filter'])['length']?JSON[_0x5ea1b0(0x8d)](_0x243624[_0x5ea1b0(0x91)],null,0x2):'','mapStr':_0x243624['map']&&Object[_0x5ea1b0(0xea)](_0x243624[_0x5ea1b0(0x99)])[_0x5ea1b0(0xb4)]?JSON[_0x5ea1b0(0x8d)](_0x243624[_0x5ea1b0(0x99)],null,0x2):''};}(JSON[_0x1622f4(0xbe)](this[_0x1622f4(0x9d)]));this[_0x1622f4(0x94)]=_0x28bed2[_0x1622f4(0xe5)],this[_0x1622f4(0xe9)]=_0x28bed2[_0x1622f4(0x90)],this['vis_mapStr']=_0x28bed2[_0x1622f4(0xb0)];for(const _0x2874b7 of this[_0x1622f4(0x94)])_0x1622f4(0x8a)===_0x2874b7['op']&&_0x2874b7[_0x1622f4(0xbb)]&&this[_0x1622f4(0xdc)](_0x2874b7,_0x2874b7[_0x1622f4(0xbb)]);}catch{}this['defMode']=_0x3b5735;}},'addReducer'(){const _0x3beb8f=_0x5e4e27;this[_0x3beb8f(0x94)]=[...this['vis_reducers'],{'name':'','op':_0x3beb8f(0x96),'field':'','items':!0x1,'isRef':!0x1,'refExpanded':!0x1,'refType':'','refKey':'','refDeepPaths':{},'refDeepLoading':!0x1,'refReducers':[{'name':'count','op':_0x3beb8f(0x96),'field':'','items':!0x1}],'refFilterStr':'','refMapStr':'','refShowFilter':!0x1,'refShowMap':!0x1}];},'removeReducer'(_0x2904a3){const _0x528457=_0x5e4e27;this[_0x528457(0x94)]=this[_0x528457(0x94)]['filter'](_0x5f50c8=>_0x5f50c8!==_0x2904a3);},'setReducerProp'(_0x574720,_0xb2654,_0x3088c4){const _0x323f41=_0x5e4e27;_0x574720[_0xb2654]=_0x3088c4,'op'===_0xb2654&&(_0x574720[_0x323f41(0xc9)]=_0x323f41(0x8a)===_0x3088c4,_0x323f41(0x8a)!==_0x3088c4?_0x574720[_0x323f41(0xe2)]=!0x1:_0x574720[_0x323f41(0xe2)]||(_0x574720['refExpanded']=!0x0)),this[_0x323f41(0x94)]=[...this[_0x323f41(0x94)]];},'toggleRefExpand'(_0x9910d1){const _0x36fd3f=_0x5e4e27;_0x9910d1[_0x36fd3f(0xe2)]=!_0x9910d1['refExpanded'],this[_0x36fd3f(0x94)]=[...this['vis_reducers']];},'setRefProp'(_0x26dcc3,_0x2796f1,_0x21c40e){const _0x1459a0=_0x5e4e27;_0x26dcc3[_0x2796f1]=_0x21c40e,this[_0x1459a0(0x94)]=[...this[_0x1459a0(0x94)]];},'setRefType'(_0xac49d,_0x1e3835){const _0x368926=_0x5e4e27;_0xac49d[_0x368926(0xbb)]=_0x1e3835,_0xac49d[_0x368926(0xb6)]='',_0xac49d[_0x368926(0xbc)]={},this[_0x368926(0x94)]=[...this[_0x368926(0x94)]],_0x1e3835&&this['loadRefDeepPaths'](_0xac49d,_0x1e3835);},'refFieldItems':_0xaadab7=>p(_0xaadab7['refDeepPaths']),'addRefReducer'(_0x3bd462){const _0x3cbc8e=_0x5e4e27;_0x3bd462['refReducers']=[..._0x3bd462[_0x3cbc8e(0x95)]||[],{'name':_0x3cbc8e(0x8c),'op':_0x3cbc8e(0x96),'field':'','items':!0x1}],this['vis_reducers']=[...this['vis_reducers']];},'removeRefReducer'(_0x224be8,_0x4ee087){const _0x5c6b54=_0x5e4e27;_0x224be8[_0x5c6b54(0x95)]=_0x224be8[_0x5c6b54(0x95)][_0x5c6b54(0x91)](_0x66e72b=>_0x66e72b!==_0x4ee087),this['vis_reducers']=[...this[_0x5c6b54(0x94)]];},'setRefReducerProp'(_0x428877,_0x43f499,_0x4174e4,_0x398b93){const _0x3cae1d=_0x5e4e27;_0x43f499[_0x4174e4]=_0x398b93,_0x428877[_0x3cae1d(0x95)]=[..._0x428877[_0x3cae1d(0x95)]],this[_0x3cae1d(0x94)]=[...this[_0x3cae1d(0x94)]];},'opNeedsField':_0x4425e4=>i[_0x5e4e27(0xd6)](_0x4309ab=>_0x4309ab[_0x5e4e27(0x9b)]===_0x4425e4)?.[_0x5e4e27(0xa9)]??!0x1,'opIsRef':_0x440a42=>_0x5e4e27(0x8a)===_0x440a42,async 'create'(){const _0x331969=_0x5e4e27;this[_0x331969(0xc2)]=null;const _0x4fc77f=this['name'][_0x331969(0xe7)]();if(!_0x4fc77f)return void(this['error']='Name\x20is\x20required');if(/\s/[_0x331969(0xcc)](_0x4fc77f)||_0x4fc77f[_0x331969(0x9f)]('~'))return void(this['error']=_0x331969(0x9c));const _0x403d4d=this[_0x331969(0xb8)]['trim']();if(!_0x403d4d)return void(this[_0x331969(0xc2)]=_0x331969(0xd3));let _0xbb5f60;if(_0x331969(0xcb)===this[_0x331969(0xb2)])_0xbb5f60=c(this[_0x331969(0x94)],this['vis_filterStr'],this[_0x331969(0x8b)]);else try{_0xbb5f60=JSON[_0x331969(0xbe)](this[_0x331969(0x9d)]);}catch(_0x5c039e){return void(this[_0x331969(0xc2)]='Invalid\x20JSON\x20in\x20definition:\x20'+_0x5c039e['message']);}if(_0xbb5f60['type']=_0x403d4d,_0xbb5f60['reduce']&&Object[_0x331969(0xea)](_0xbb5f60[_0x331969(0x9e)])[_0x331969(0xb4)]){this['busy']=!0x0;try{const _0x3bf35f=_0x3edf6e[_0x331969(0xd1)][_0x331969(0xe6)]['okdb'][_0x331969(0x97)],_0x35ef28=await fetch(_0x3bf35f+'/views',{'method':_0x331969(0xbd),'headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'name':_0x4fc77f,..._0xbb5f60})});if(!_0x35ef28['ok']){const _0x833635=await _0x35ef28[_0x331969(0xd5)]()['catch'](()=>({}));throw new Error(_0x833635?.[_0x331969(0xc2)]?.[_0x331969(0xa4)]??_0x331969(0xb3));}_0x3edf6e[_0x331969(0xd2)]['onDone']?.(_0x4fc77f),_0x3edf6e['$attr'][_0x331969(0xc5)]?.[_0x331969(0x8e)]?.();}catch(_0x5001a9){this[_0x331969(0xc2)]=_0x5001a9[_0x331969(0xa4)],_0x3edf6e[_0x331969(0xd1)][_0x331969(0xdb)]?.[_0x331969(0xa2)]?.[_0x331969(0xc2)]?.(this[_0x331969(0xc2)]);}finally{this['busy']=!0x1;}}else this[_0x331969(0xc2)]=_0x331969(0xe4);},'cancel'(){const _0xfb200e=_0x5e4e27;_0x3edf6e[_0xfb200e(0xd2)][_0xfb200e(0xc5)]?.[_0xfb200e(0x8e)]?.();}}),'mount'(_0x3e8120){this['loadTypes']();},'style':_0x5e4e27(0xd4),'template':_0x5e4e27(0xa6)};
1
+ const _0x5623ef=_0x1e32;(function(_0x1499ef,_0x4f640b){const _0x28280e=_0x1e32,_0x327e96=_0x1499ef();while(!![]){try{const _0x1a959e=-parseInt(_0x28280e(0x198))/0x1*(parseInt(_0x28280e(0x16b))/0x2)+parseInt(_0x28280e(0x192))/0x3*(parseInt(_0x28280e(0x1a0))/0x4)+parseInt(_0x28280e(0x1b4))/0x5*(-parseInt(_0x28280e(0x1b3))/0x6)+-parseInt(_0x28280e(0x179))/0x7+-parseInt(_0x28280e(0x1c0))/0x8*(parseInt(_0x28280e(0x165))/0x9)+parseInt(_0x28280e(0x16a))/0xa*(-parseInt(_0x28280e(0x18a))/0xb)+parseInt(_0x28280e(0x1b9))/0xc;if(_0x1a959e===_0x4f640b)break;else _0x327e96['push'](_0x327e96['shift']());}catch(_0x157840){_0x327e96['push'](_0x327e96['shift']());}}}(_0x2b22,0x90a8b));import _0x36a35c from'@toolkit/elements/ok-icon.ok.js';import _0x5a4812 from'@toolkit/core/ok-overlay.ok.js';import _0x16b9dc from'../../../components/ok-text-monaco-input.ok.js';import _0x421fe4 from'../../../components/field-path-input.ok.js';const i=[{'value':_0x5623ef(0x181),'label':_0x5623ef(0x181),'needsField':!0x1,'isRef':!0x1},{'value':_0x5623ef(0x18c),'label':'$sum','needsField':!0x0,'isRef':!0x1},{'value':_0x5623ef(0x1a2),'label':'$avg','needsField':!0x0,'isRef':!0x1},{'value':_0x5623ef(0x1bc),'label':'$min','needsField':!0x0,'isRef':!0x1},{'value':_0x5623ef(0x196),'label':_0x5623ef(0x196),'needsField':!0x0,'isRef':!0x1},{'value':_0x5623ef(0x1a9),'label':'$countBy','needsField':!0x0,'isRef':!0x1},{'value':_0x5623ef(0x194),'label':_0x5623ef(0x194),'needsField':!0x1,'isRef':!0x0}],a=i[_0x5623ef(0x1b1)](_0x2d3f44=>!_0x2d3f44[_0x5623ef(0x19a)]);function o(){const _0xe15009=_0x5623ef;return{'name':'count','op':_0xe15009(0x181),'field':'','items':!0x1};}function d(_0x14c1cc){const _0x6077b0=_0x5623ef,_0x453cc9={};for(const _0x13b2c2 of _0x14c1cc[_0x6077b0(0x1b0)]||[])_0x13b2c2[_0x6077b0(0x1b8)][_0x6077b0(0x195)]()&&('$count'===_0x13b2c2['op']?(_0x453cc9[_0x13b2c2[_0x6077b0(0x1b8)]]={'$count':!0x0},_0x13b2c2[_0x6077b0(0x17e)]&&(_0x453cc9[_0x13b2c2[_0x6077b0(0x1b8)]][_0x6077b0(0x17e)]=!0x0)):(_0x453cc9[_0x13b2c2[_0x6077b0(0x1b8)]]={[_0x13b2c2['op']]:_0x13b2c2[_0x6077b0(0x197)]['trim']()||_0x6077b0(0x1a6)},_0x13b2c2['items']&&(_0x453cc9[_0x13b2c2[_0x6077b0(0x1b8)]][_0x6077b0(0x17e)]=!0x0)));const _0x1986a5={'type':_0x14c1cc[_0x6077b0(0x19e)]||'','key':_0x14c1cc[_0x6077b0(0x188)]||''};Object[_0x6077b0(0x17d)](_0x453cc9)[_0x6077b0(0x19f)]&&(_0x1986a5[_0x6077b0(0x191)]=_0x453cc9);try{const _0x190962=(_0x14c1cc['refFilterStr']||'')[_0x6077b0(0x195)]();_0x190962&&(_0x1986a5['filter']=JSON['parse'](_0x190962));}catch{}try{const _0x50a613=(_0x14c1cc['refMapStr']||'')[_0x6077b0(0x195)]();_0x50a613&&(_0x1986a5[_0x6077b0(0x1ae)]=JSON[_0x6077b0(0x166)](_0x50a613));}catch{}return _0x1986a5;}function c(_0x2fcc25,_0xe6c59f,_0x3aeee7){const _0xafed26=_0x5623ef,_0x418c3d={};for(const _0x456be7 of _0x2fcc25)_0x456be7['name']['trim']()&&(_0xafed26(0x194)===_0x456be7['op']?_0x418c3d[_0x456be7['name']]={'$ref':d(_0x456be7)}:_0xafed26(0x181)===_0x456be7['op']?(_0x418c3d[_0x456be7[_0xafed26(0x1b8)]]={'$count':!0x0},_0x456be7[_0xafed26(0x17e)]&&(_0x418c3d[_0x456be7[_0xafed26(0x1b8)]][_0xafed26(0x17e)]=!0x0)):(_0x418c3d[_0x456be7[_0xafed26(0x1b8)]]={[_0x456be7['op']]:_0x456be7[_0xafed26(0x197)]['trim']()||_0xafed26(0x1a6)},_0x456be7[_0xafed26(0x17e)]&&(_0x418c3d[_0x456be7[_0xafed26(0x1b8)]][_0xafed26(0x17e)]=!0x0)));const _0x1ab2b4={'reduce':_0x418c3d};try{const _0x58b8d5=_0xe6c59f[_0xafed26(0x195)]();_0x58b8d5&&(_0x1ab2b4['filter']=JSON['parse'](_0x58b8d5));}catch{}try{const _0x5c344d=_0x3aeee7[_0xafed26(0x195)]();_0x5c344d&&(_0x1ab2b4[_0xafed26(0x1ae)]=JSON[_0xafed26(0x166)](_0x5c344d));}catch{}return _0x1ab2b4;}function l(_0x5c8a25){const _0x2bda56=_0x5623ef,_0x435314=[];for(const [_0x2e1d34,_0x2b6c58]of Object['entries'](_0x5c8a25??{})){const _0x5adcdf=Object[_0x2bda56(0x17d)](_0x2b6c58)['find'](_0x2d1fd7=>_0x2bda56(0x17e)!==_0x2d1fd7)??_0x2bda56(0x181);_0x435314['push']({'name':_0x2e1d34,'op':_0x5adcdf,'field':_0x2bda56(0x1c3)==typeof _0x2b6c58[_0x5adcdf]?_0x2b6c58[_0x5adcdf]:'','items':!!_0x2b6c58[_0x2bda56(0x17e)]});}return _0x435314[_0x2bda56(0x19f)]?_0x435314:[{'name':_0x2bda56(0x16e),'op':_0x2bda56(0x181),'field':'','items':!0x1}];}function _0x1e32(_0x3ac152,_0x8e50b5){_0x3ac152=_0x3ac152-0x163;const _0x2b2283=_0x2b22();let _0x1e320a=_0x2b2283[_0x3ac152];return _0x1e320a;}function _0x2b22(){const _0x2e2854=['refExpanded','refDeepLoading','definitionStr','5048hYfAQz','typesData','/views','string','application/json','stringify','message','startsWith','modal','geo','mapStr','14823sxiEjt','parse','<div\x20style=\x22position:relative;\x20width:min(820px,calc(100vw\x20-\x2060px));\x20min-width:600px;\x22><if\x20:=\x22busy\x22><ok-overlay><div\x20class=\x22loader-center\x22><ok-icon\x20name=\x22loader\x22\x20class=\x22spin\x22\x20style=\x22width:32px;height:32px;\x22/></div></ok-overlay></if><div\x20class=\x22cvm-body\x22><div\x20class=\x22cvm-row2\x22><div\x20class=\x22cvm-field\x22><label\x20class=\x22cvm-label\x22>Name</label>\x20<input\x20type=\x22text\x22\x20class=\x22cvm-input\x22\x20placeholder=\x22e.g.\x20active_users\x22\x20:value=\x22name\x22\x20@input=\x22name\x20=\x20$el.value\x22\x20:disabled=\x22busy\x22><div\x20class=\x22cvm-hint\x22>No\x20spaces\x20·\x20no\x20~\x20prefix</div></div><div\x20class=\x22cvm-field\x22><label\x20class=\x22cvm-label\x22>Source\x20Type</label><if\x20:=\x22typesLoading\x22><select\x20class=\x22cvm-select\x22\x20disabled=\x22disabled\x22><option>Loading\x20types…</option></select></if><if\x20:=\x22!typesLoading\x20&&\x20types.length\x20>\x200\x22><select\x20class=\x22cvm-select\x22\x20:value=\x22sourceType\x22\x20@change=\x22setSourceType($event.target.value)\x22\x20:disabled=\x22busy\x22><option\x20value=\x22\x22>—\x20select\x20a\x20type\x20—</option><each\x20:of=\x22types\x22\x20let:item=\x22t\x22><option\x20:value=\x22t\x22>{{\x20t\x20}}</option></each></select></if><if\x20:=\x22!typesLoading\x20&&\x20types.length\x20===\x200\x22><input\x20type=\x22text\x22\x20class=\x22cvm-input\x22\x20placeholder=\x22e.g.\x20user\x22\x20:value=\x22sourceType\x22\x20@input=\x22setSourceType($el.value)\x22\x20:disabled=\x22busy\x22></if><div\x20class=\x22cvm-hint\x22>OKDB\x20type\x20this\x20view\x20aggregates</div></div></div><div\x20class=\x22cvm-card\x22><div\x20class=\x22cvm-def-header\x22><span\x20class=\x22cvm-label\x22\x20style=\x22margin:0;\x22>Definition</span><div\x20class=\x22cvm-mode-toggle\x22><button\x20:class=\x22defMode\x20===\x20\x27visual\x27\x20?\x20\x27cvm-mode-btn\x20cvm-mode-btn--active\x27\x20:\x20\x27cvm-mode-btn\x27\x22\x20@click=\x22setDefMode(\x27visual\x27)\x22>Visual</button>\x20<button\x20:class=\x22defMode\x20===\x20\x27json\x27\x20?\x20\x27cvm-mode-btn\x20cvm-mode-btn--active\x27\x20:\x20\x27cvm-mode-btn\x27\x22\x20@click=\x22setDefMode(\x27json\x27)\x22>JSON</button></div></div><if\x20:=\x22defMode\x20===\x20\x27visual\x27\x22><div\x20class=\x22cvm-visual\x22><div><div\x20class=\x22cvm-section-hdr\x22>Reducers</div><div\x20class=\x22cvm-col-headers\x22><span\x20class=\x22cvm-col-h\x22\x20style=\x22flex:0\x200\x20136px;\x22>Output\x20key</span>\x20<span\x20class=\x22cvm-col-h\x22\x20style=\x22flex:0\x200\x20106px;\x22>Operation</span>\x20<span\x20class=\x22cvm-col-h\x22\x20style=\x22flex:1;\x22>Field</span>\x20<span\x20class=\x22cvm-col-h\x22\x20style=\x22flex:0\x200\x2058px;\x22>Items</span>\x20<span\x20style=\x22flex:0\x200\x2022px;\x22/></div><div\x20class=\x22cvm-reducer-list\x22><each\x20:of=\x22vis_reducers\x22\x20let:item=\x22r\x22><div><div\x20class=\x22cvm-reducer-row\x22><input\x20type=\x22text\x22\x20class=\x22cvm-input\x20cvm-r-key\x22\x20placeholder=\x22key\x22\x20:value=\x22r.name\x22\x20@input=\x22setReducerProp(r,\x20\x27name\x27,\x20$el.value)\x22\x20:disabled=\x22busy\x22>\x20<select\x20class=\x22cvm-select\x20cvm-r-op\x22\x20:value=\x22r.op\x22\x20@change=\x22setReducerProp(r,\x20\x27op\x27,\x20$event.target.value)\x22\x20:disabled=\x22busy\x22><each\x20:of=\x22opOptions\x22\x20let:item=\x22o\x22><option\x20:value=\x22o.value\x22>{{\x20o.label\x20}}</option></each></select><if\x20:=\x22opNeedsField(r.op)\x22><div\x20class=\x22cvm-r-field\x22><field-path-input\x20:value=\x22r.field\x22\x20:items=\x22fieldItems\x22\x20placeholder=\x22field\x20name\x22\x20allow-custom=\x22true\x22\x20@change=\x22setReducerProp(r,\x20\x27field\x27,\x20$event.detail)\x22></div></if><if\x20:=\x22opIsRef(r.op)\x22><button\x20class=\x22cvm-r-ref-btn\x20cvm-r-field\x22\x20@click=\x22toggleRefExpand(r)\x22\x20:disabled=\x22busy\x22>{{\x20r.refExpanded\x20?\x20\x27▴\x20collapse\x27\x20:\x20\x27▾\x20configure\x20$ref\x27\x20}}</button></if><if\x20:=\x22!opNeedsField(r.op)\x20&&\x20!opIsRef(r.op)\x22><div\x20class=\x22cvm-r-field\x22\x20style=\x22padding:7px\x209px;font-size:11px;color:var(--okdb-app-fg-subtle);opacity:0.35;\x22>—</div></if><if\x20:=\x22!opIsRef(r.op)\x22><label\x20class=\x22cvm-r-items\x22\x20title=\x22Include\x20individual\x20matching\x20items\x20in\x20the\x20result\x22><input\x20type=\x22checkbox\x22\x20:checked=\x22r.items\x22\x20@change=\x22setReducerProp(r,\x20\x27items\x27,\x20$event.target.checked)\x22\x20:disabled=\x22busy\x22>\x20<span>items</span></label></if><if\x20:=\x22opIsRef(r.op)\x22><div\x20class=\x22cvm-r-spacer\x22/></if><div\x20class=\x22cvm-r-del\x22><button\x20class=\x22cvm-r-del-btn\x22\x20@click=\x22removeReducer(r)\x22\x20:disabled=\x22busy\x22\x20title=\x22Remove\x22>×</button></div></div><if\x20:=\x22opIsRef(r.op)\x20&&\x20r.refExpanded\x22><div\x20class=\x22cvm-ref-body\x22><div\x20class=\x22cvm-row2\x22><div\x20class=\x22cvm-field\x22><label\x20class=\x22cvm-label\x22>Child\x20Type</label><if\x20:=\x22types.length\x20>\x200\x22><select\x20class=\x22cvm-select\x22\x20:value=\x22r.refType\x22\x20@change=\x22setRefType(r,\x20$event.target.value)\x22\x20:disabled=\x22busy\x22><option\x20value=\x22\x22>—\x20select\x20type\x20—</option><each\x20:of=\x22types\x22\x20let:item=\x22t\x22><option\x20:value=\x22t\x22>{{\x20t\x20}}</option></each></select></if><if\x20:=\x22types.length\x20===\x200\x22><input\x20type=\x22text\x22\x20class=\x22cvm-input\x22\x20placeholder=\x22e.g.\x20order\x22\x20:value=\x22r.refType\x22\x20@input=\x22setRefType(r,\x20$el.value)\x22\x20:disabled=\x22busy\x22></if></div><div\x20class=\x22cvm-field\x22><label\x20class=\x22cvm-label\x22>Key\x20Field\x20<span\x20style=\x22font-size:10px;font-weight:400;color:var(--okdb-app-fg-subtle);margin-left:4px;\x22>on\x20child\x20·\x20fk\x20fields\x20highlighted</span></label><field-path-input\x20:value=\x22r.refKey\x22\x20:items=\x22refFieldItems(r)\x22\x20placeholder=\x22FK\x20field\x20on\x20child\x20type\x22\x20allow-custom=\x22true\x22\x20@change=\x22setRefProp(r,\x20\x27refKey\x27,\x20$event.detail)\x22><div\x20class=\x22cvm-hint\x22>Field\x20on\x20the\x20child\x20collection\x20that\x20references\x20this\x20document\x27s\x20_id</div></div></div><div\x20class=\x22cvm-ref-section\x22><div\x20class=\x22cvm-ref-section-hdr\x22>Reducers</div><div\x20class=\x22cvm-col-headers\x22><span\x20class=\x22cvm-col-h\x22\x20style=\x22flex:0\x200\x20136px;\x22>Output\x20key</span>\x20<span\x20class=\x22cvm-col-h\x22\x20style=\x22flex:0\x200\x20106px;\x22>Operation</span>\x20<span\x20class=\x22cvm-col-h\x22\x20style=\x22flex:1;\x22>Field</span>\x20<span\x20class=\x22cvm-col-h\x22\x20style=\x22flex:0\x200\x2058px;\x22>Items</span>\x20<span\x20style=\x22flex:0\x200\x2022px;\x22/></div><div\x20class=\x22cvm-reducer-list\x22><each\x20:of=\x22r.refReducers\x22\x20let:item=\x22cr\x22><div\x20class=\x22cvm-reducer-row\x22><input\x20type=\x22text\x22\x20class=\x22cvm-input\x20cvm-r-key\x22\x20placeholder=\x22key\x22\x20:value=\x22cr.name\x22\x20@input=\x22setRefReducerProp(r,\x20cr,\x20\x27name\x27,\x20$el.value)\x22\x20:disabled=\x22busy\x22>\x20<select\x20class=\x22cvm-select\x20cvm-r-op\x22\x20:value=\x22cr.op\x22\x20@change=\x22setRefReducerProp(r,\x20cr,\x20\x27op\x27,\x20$event.target.value)\x22\x20:disabled=\x22busy\x22><each\x20:of=\x22refOpOptions\x22\x20let:item=\x22o\x22><option\x20:value=\x22o.value\x22>{{\x20o.label\x20}}</option></each></select><if\x20:=\x22opNeedsField(cr.op)\x22><div\x20class=\x22cvm-r-field\x22><field-path-input\x20:value=\x22cr.field\x22\x20:items=\x22refFieldItems(r)\x22\x20placeholder=\x22field\x20name\x22\x20allow-custom=\x22true\x22\x20@change=\x22setRefReducerProp(r,\x20cr,\x20\x27field\x27,\x20$event.detail)\x22></div></if><if\x20:=\x22!opNeedsField(cr.op)\x22><div\x20class=\x22cvm-r-field\x22\x20style=\x22padding:7px\x209px;font-size:11px;color:var(--okdb-app-fg-subtle);opacity:0.35;\x22>—</div></if><label\x20class=\x22cvm-r-items\x22\x20title=\x22Include\x20individual\x20matching\x20items\x22><input\x20type=\x22checkbox\x22\x20:checked=\x22cr.items\x22\x20@change=\x22setRefReducerProp(r,\x20cr,\x20\x27items\x27,\x20$event.target.checked)\x22\x20:disabled=\x22busy\x22>\x20<span>items</span></label><div\x20class=\x22cvm-r-del\x22><button\x20class=\x22cvm-r-del-btn\x22\x20@click=\x22removeRefReducer(r,\x20cr)\x22\x20:disabled=\x22busy\x22\x20title=\x22Remove\x22>×</button></div></div></each></div><button\x20class=\x22cvm-add-reducer-btn\x22\x20@click=\x22addRefReducer(r)\x22\x20:disabled=\x22busy\x22>+\x20Add\x20reducer</button></div><div><div\x20class=\x22cvm-optional-hdr\x22><span\x20class=\x22cvm-ref-section-hdr\x22\x20style=\x22margin:0;\x22>Filter</span>\x20<button\x20class=\x22cvm-opt-toggle\x22\x20@click=\x22setRefProp(r,\x20\x27refShowFilter\x27,\x20!r.refShowFilter)\x22>{{\x20r.refShowFilter\x20?\x20\x27hide\x27\x20:\x20(r.refFilterStr\x20?\x20\x27edit\x27\x20:\x20\x27add\x27)\x20}}</button></div><if\x20:=\x22r.refShowFilter\x22><textarea\x20class=\x22cvm-input\x20cvm-opt-textarea\x22\x20placeholder=\x27{\x20\x22status\x22:\x20\x22active\x22\x20}\x27\x20:value=\x22r.refFilterStr\x22\x20@input=\x22setRefProp(r,\x20\x27refFilterStr\x27,\x20$el.value)\x22\x20:disabled=\x22busy\x22/><div\x20class=\x22cvm-hint\x22\x20style=\x22margin-top:3px;\x22>Sift\x20query\x20—\x20filters\x20child\x20records\x20before\x20aggregation</div></if></div><div><div\x20class=\x22cvm-optional-hdr\x22><span\x20class=\x22cvm-ref-section-hdr\x22\x20style=\x22margin:0;\x22>Map</span>\x20<button\x20class=\x22cvm-opt-toggle\x22\x20@click=\x22setRefProp(r,\x20\x27refShowMap\x27,\x20!r.refShowMap)\x22>{{\x20r.refShowMap\x20?\x20\x27hide\x27\x20:\x20(r.refMapStr\x20?\x20\x27edit\x27\x20:\x20\x27add\x27)\x20}}</button></div><if\x20:=\x22r.refShowMap\x22><textarea\x20class=\x22cvm-input\x20cvm-opt-textarea\x22\x20placeholder=\x27{\x20\x22total\x22:\x20\x22$count\x22\x20}\x27\x20:value=\x22r.refMapStr\x22\x20@input=\x22setRefProp(r,\x20\x27refMapStr\x27,\x20$el.value)\x22\x20:disabled=\x22busy\x22/><div\x20class=\x22cvm-hint\x22\x20style=\x22margin-top:3px;\x22>Optional\x20value\x20transformation\x20applied\x20after\x20child\x20reduce</div></if></div></div></if></div></each></div><button\x20class=\x22cvm-add-reducer-btn\x22\x20@click=\x22addReducer()\x22\x20:disabled=\x22busy\x22>+\x20Add\x20reducer</button></div><div><div\x20class=\x22cvm-optional-hdr\x22><span\x20class=\x22cvm-section-hdr\x22\x20style=\x22margin:0;\x22>Filter</span>\x20<button\x20class=\x22cvm-opt-toggle\x22\x20@click=\x22vis_showFilter\x20=\x20!vis_showFilter\x22>{{\x20vis_showFilter\x20?\x20\x27hide\x27\x20:\x20(vis_filterStr\x20?\x20\x27edit\x27\x20:\x20\x27add\x27)\x20}}</button></div><if\x20:=\x22vis_showFilter\x22><textarea\x20class=\x22cvm-input\x20cvm-opt-textarea\x22\x20placeholder=\x27{\x20\x22status\x22:\x20\x22active\x22\x20}\x27\x20:value=\x22vis_filterStr\x22\x20@input=\x22vis_filterStr\x20=\x20$el.value\x22\x20:disabled=\x22busy\x22/><div\x20class=\x22cvm-hint\x22>Sift\x20query\x20—\x20only\x20matching\x20records\x20are\x20included\x20in\x20the\x20aggregation</div></if></div><div><div\x20class=\x22cvm-optional-hdr\x22><span\x20class=\x22cvm-section-hdr\x22\x20style=\x22margin:0;\x22>Map</span>\x20<button\x20class=\x22cvm-opt-toggle\x22\x20@click=\x22vis_showMap\x20=\x20!vis_showMap\x22>{{\x20vis_showMap\x20?\x20\x27hide\x27\x20:\x20(vis_mapStr\x20?\x20\x27edit\x27\x20:\x20\x27add\x27)\x20}}</button></div><if\x20:=\x22vis_showMap\x22><textarea\x20class=\x22cvm-input\x20cvm-opt-textarea\x22\x20placeholder=\x27{\x20\x22total\x22:\x20\x22$count\x22\x20}\x27\x20:value=\x22vis_mapStr\x22\x20@input=\x22vis_mapStr\x20=\x20$el.value\x22\x20:disabled=\x22busy\x22/><div\x20class=\x22cvm-hint\x22>Optional\x20value\x20transformation\x20applied\x20after\x20reduce</div></if></div></div></if><if\x20:=\x22defMode\x20===\x20\x27json\x27\x22><div\x20class=\x22cvm-json-wrap\x22><ok-text-monaco-input\x20style=\x22height:100%;\x22\x20language=\x22json\x22\x20:value=\x22definitionStr\x22\x20@edit=\x22definitionStr\x20=\x20$event.detail\x22/></div><div\x20class=\x22cvm-hint\x22>filter\x20·\x20reduce\x20·\x20map\x20—\x20<code>type</code>\x20is\x20injected\x20from\x20Source\x20Type\x20above</div></if></div><if\x20:=\x22error\x22><div\x20class=\x22cvm-error\x22>{{\x20error\x20}}</div></if><div\x20class=\x22cvm-actions\x22><button\x20class=\x22cvm-btn\x20cvm-btn--secondary\x22\x20@click=\x22cancel()\x22\x20:disabled=\x22busy\x22>Cancel</button>\x20<button\x20class=\x22cvm-btn\x20cvm-btn--primary\x22\x20@click=\x22create()\x22\x20:disabled=\x22busy\x20||\x20!name.trim()\x20||\x20!sourceType.trim()\x22>Create\x20View</button></div></div></div>','sourceType','result','370cBYMoK','6RPpmBP','stores','apiBase','count','endsWith','deepPaths','error','okdb','push','/type/','close','/deep-properties','entries','busy','926205ULgjsg','pop','toast','loadDeepPaths','keys','items','Invalid\x20JSON\x20in\x20definition:\x20','vis_filterStr','$count','$attr','split','refDeepPaths','type','test','vis_reducers','refKey','needsField','294987CrBvKT','find','$sum','visual','Name\x20is\x20required','includes','key','reduce','87YfghCs','data','$ref','trim','$max','field','103403uQMFkk','sort','isRef','isArray','$ok','Create\x20failed','refType','length','94192gucDbw','loadRefDeepPaths','$avg','{\x0a\x20\x20\x22filter\x22:\x20{},\x0a\x20\x20\x22reduce\x22:\x20{\x0a\x20\x20\x20\x20\x22count\x22:\x20{\x20\x22$count\x22:\x20true\x20}\x0a\x20\x20}\x0a}','create-view-modal','object','_id','paths','filterStr','$countBy','catch','/types','vis_mapStr','At\x20least\x20one\x20reducer\x20is\x20required','map','Source\x20type\x20is\x20required','refReducers','filter','shared','29784Iwuzjb','885rDHZyO','typesLoading','json','deepPathsLoading','name','39147228gPFebe','defMode','loadTypes','$min'];_0x2b22=function(){return _0x2e2854;};return _0x2b22();}function n(_0xce6cc9){const _0x50c8b5=_0x5623ef,_0x5428cd=_0xce6cc9[_0x50c8b5(0x183)]('.')[_0x50c8b5(0x17a)]();return _0x50c8b5(0x1a6)!==_0x5428cd&&(_0x5428cd[_0x50c8b5(0x16f)]('Id')||_0x5428cd[_0x50c8b5(0x16f)]('_id')||_0x5428cd[_0x50c8b5(0x16f)]('ID'));}function p(_0x37d62a){const _0x792442=_0x5623ef;return _0x37d62a&&Object[_0x792442(0x17d)](_0x37d62a)['length']?Object['entries'](_0x37d62a)['map'](([_0x376860,_0x45ad9f])=>({'path':_0x376860,'types':Array[_0x792442(0x19b)](_0x45ad9f)?_0x45ad9f:[],'hint':n(_0x376860)?'fk':Array[_0x792442(0x19b)](_0x45ad9f)&&_0x45ad9f[_0x792442(0x18f)]('geo')?_0x792442(0x163):null})):[];}export default{'tag':_0x5623ef(0x1a4),'dependencies':[_0x5a4812,_0x36a35c,_0x16b9dc,_0x421fe4],'attr':{'modal':{},'onDone':{}},'context':_0x5a0608=>({'busy':!0x1,'error':null,'name':'','sourceType':'','typesData':[],'typesLoading':!0x1,'deepPaths':{},'deepPathsLoading':!0x1,get 'types'(){const _0x40eda5=_0x5623ef;return this[_0x40eda5(0x1c1)][_0x40eda5(0x1ae)](_0xed1a6b=>_0xed1a6b['type']??_0xed1a6b['name']??String(_0xed1a6b))[_0x40eda5(0x1b1)](_0x5bfee5=>_0x40eda5(0x1c3)==typeof _0x5bfee5&&!_0x5bfee5['startsWith']('~'))[_0x40eda5(0x199)]();},get 'fieldItems'(){const _0x572e65=_0x5623ef;return p(this[_0x572e65(0x170)]);},get 'opOptions'(){return i;},get 'refOpOptions'(){return a;},'defMode':_0x5623ef(0x18d),'definitionStr':_0x5623ef(0x1a3),'vis_reducers':[Object['assign']({'name':'','op':'$count','field':'','items':!0x1,'isRef':!0x1,'refExpanded':!0x1,'refType':'','refKey':'','refDeepPaths':{},'refDeepLoading':!0x1,'refReducers':[{'name':'count','op':_0x5623ef(0x181),'field':'','items':!0x1}],'refFilterStr':'','refMapStr':'','refShowFilter':!0x1,'refShowMap':!0x1},{'name':'count','op':_0x5623ef(0x181)})],'vis_filterStr':'','vis_mapStr':'','vis_showFilter':!0x1,'vis_showMap':!0x1,async 'loadTypes'(){const _0x452ec2=_0x5623ef;this[_0x452ec2(0x1b5)]=!0x0;try{const _0x270a2f=_0x5a0608[_0x452ec2(0x19c)]['stores'][_0x452ec2(0x172)][_0x452ec2(0x16d)],_0x573965=await fetch(_0x270a2f+_0x452ec2(0x1ab));if(!_0x573965['ok'])return void(this['typesData']=[]);const _0x49c414=await _0x573965[_0x452ec2(0x1b6)](),_0x3a15cd=_0x49c414[_0x452ec2(0x193)]??_0x49c414['result']??[];this[_0x452ec2(0x1c1)]=Array['isArray'](_0x3a15cd)?_0x3a15cd:Object[_0x452ec2(0x177)](_0x3a15cd)['map'](([_0x61425d,_0x28c45b])=>({'type':_0x61425d,..._0x452ec2(0x1a5)==typeof _0x28c45b?_0x28c45b:{}}));}catch{this[_0x452ec2(0x1c1)]=[];}finally{this[_0x452ec2(0x1b5)]=!0x1;}},async 'loadDeepPaths'(_0x282524){const _0x4d2f7=_0x5623ef;if(_0x282524){this[_0x4d2f7(0x1b7)]=!0x0;try{const _0xf52607=_0x5a0608[_0x4d2f7(0x19c)][_0x4d2f7(0x16c)][_0x4d2f7(0x172)][_0x4d2f7(0x16d)],_0x525965=await fetch(_0xf52607+_0x4d2f7(0x174)+encodeURIComponent(_0x282524)+'/deep-properties');if(!_0x525965['ok'])return void(this[_0x4d2f7(0x170)]={});const _0xb80564=await _0x525965[_0x4d2f7(0x1b6)]();this[_0x4d2f7(0x170)]=(_0xb80564[_0x4d2f7(0x193)]??_0xb80564[_0x4d2f7(0x169)])?.['paths']??{};}catch{this[_0x4d2f7(0x170)]={};}finally{this['deepPathsLoading']=!0x1;}}else this[_0x4d2f7(0x170)]={};},async 'loadRefDeepPaths'(_0x3849c5,_0x3d8814){const _0x102571=_0x5623ef;_0x3849c5['refDeepLoading']=!0x0,this[_0x102571(0x187)]=[...this['vis_reducers']];try{const _0x1e0595=_0x5a0608[_0x102571(0x19c)]['stores']['okdb']['apiBase'],_0xe07e17=await fetch(_0x1e0595+_0x102571(0x174)+encodeURIComponent(_0x3d8814)+_0x102571(0x176));if(!_0xe07e17['ok'])return void(_0x3849c5[_0x102571(0x184)]={});const _0x798deb=await _0xe07e17[_0x102571(0x1b6)]();_0x3849c5[_0x102571(0x184)]=(_0x798deb[_0x102571(0x193)]??_0x798deb[_0x102571(0x169)])?.[_0x102571(0x1a7)]??{};}catch{_0x3849c5[_0x102571(0x184)]={};}finally{_0x3849c5[_0x102571(0x1be)]=!0x1,this[_0x102571(0x187)]=[...this[_0x102571(0x187)]];}},'setSourceType'(_0x1e8961){const _0x5f533b=_0x5623ef;this['sourceType']=_0x1e8961,_0x1e8961?this[_0x5f533b(0x17c)](_0x1e8961):this[_0x5f533b(0x170)]={};},'setDefMode'(_0x241fcc){const _0x24c469=_0x5623ef;if(_0x241fcc!==this[_0x24c469(0x1ba)]){if(_0x24c469(0x18d)===this['defMode'])this[_0x24c469(0x1bf)]=JSON[_0x24c469(0x1c5)](c(this[_0x24c469(0x187)],this[_0x24c469(0x180)],this[_0x24c469(0x1ac)]),null,0x2);else try{const _0x52265d=function(_0x16935f){const _0x2d0d93=_0x24c469,_0x434eec=[];for(const [_0xe39852,_0x2354c3]of Object[_0x2d0d93(0x177)](_0x16935f['reduce']??{}))if(_0x2354c3[_0x2d0d93(0x194)]){const _0x204187=_0x2354c3[_0x2d0d93(0x194)];_0x434eec['push']({'name':_0xe39852,'op':'$ref','field':'','items':!0x1,'isRef':!0x0,'refExpanded':!0x0,'refType':_0x204187[_0x2d0d93(0x185)]||'','refKey':_0x204187[_0x2d0d93(0x190)]||'','refDeepPaths':{},'refDeepLoading':!0x1,'refReducers':l(_0x204187[_0x2d0d93(0x191)]),'refFilterStr':_0x204187['filter']?JSON[_0x2d0d93(0x1c5)](_0x204187['filter'],null,0x2):'','refMapStr':_0x204187[_0x2d0d93(0x1ae)]?JSON[_0x2d0d93(0x1c5)](_0x204187[_0x2d0d93(0x1ae)],null,0x2):'','refShowFilter':!!_0x204187[_0x2d0d93(0x1b1)]&&Object[_0x2d0d93(0x17d)](_0x204187[_0x2d0d93(0x1b1)])['length']>0x0,'refShowMap':!!_0x204187[_0x2d0d93(0x1ae)]&&Object[_0x2d0d93(0x17d)](_0x204187['map'])[_0x2d0d93(0x19f)]>0x0});}else{const _0x10cf6a=Object[_0x2d0d93(0x17d)](_0x2354c3)[_0x2d0d93(0x18b)](_0x348ded=>_0x2d0d93(0x17e)!==_0x348ded)??_0x2d0d93(0x181);_0x434eec[_0x2d0d93(0x173)]({'name':_0xe39852,'op':_0x10cf6a,'field':'string'==typeof _0x2354c3[_0x10cf6a]?_0x2354c3[_0x10cf6a]:'','items':!!_0x2354c3[_0x2d0d93(0x17e)],'isRef':!0x1,'refExpanded':!0x1,'refType':'','refKey':'','refDeepPaths':{},'refDeepLoading':!0x1,'refReducers':[o()],'refFilterStr':'','refMapStr':'','refShowFilter':!0x1,'refShowMap':!0x1});}return _0x434eec[_0x2d0d93(0x19f)]||_0x434eec[_0x2d0d93(0x173)]({'name':'','op':'$count','field':'','items':!0x1,'isRef':!0x1,'refExpanded':!0x1,'refType':'','refKey':'','refDeepPaths':{},'refDeepLoading':!0x1,'refReducers':[{'name':_0x2d0d93(0x16e),'op':'$count','field':'','items':!0x1}],'refFilterStr':'','refMapStr':'','refShowFilter':!0x1,'refShowMap':!0x1}),{'reducers':_0x434eec,'filterStr':_0x16935f[_0x2d0d93(0x1b1)]&&Object[_0x2d0d93(0x17d)](_0x16935f[_0x2d0d93(0x1b1)])[_0x2d0d93(0x19f)]?JSON['stringify'](_0x16935f['filter'],null,0x2):'','mapStr':_0x16935f[_0x2d0d93(0x1ae)]&&Object[_0x2d0d93(0x17d)](_0x16935f['map'])['length']?JSON[_0x2d0d93(0x1c5)](_0x16935f[_0x2d0d93(0x1ae)],null,0x2):''};}(JSON['parse'](this[_0x24c469(0x1bf)]));this[_0x24c469(0x187)]=_0x52265d['reducers'],this[_0x24c469(0x180)]=_0x52265d[_0x24c469(0x1a8)],this[_0x24c469(0x1ac)]=_0x52265d[_0x24c469(0x164)];for(const _0xb34a77 of this[_0x24c469(0x187)])_0x24c469(0x194)===_0xb34a77['op']&&_0xb34a77['refType']&&this[_0x24c469(0x1a1)](_0xb34a77,_0xb34a77[_0x24c469(0x19e)]);}catch{}this[_0x24c469(0x1ba)]=_0x241fcc;}},'addReducer'(){const _0x3da3d9=_0x5623ef;this[_0x3da3d9(0x187)]=[...this['vis_reducers'],{'name':'','op':_0x3da3d9(0x181),'field':'','items':!0x1,'isRef':!0x1,'refExpanded':!0x1,'refType':'','refKey':'','refDeepPaths':{},'refDeepLoading':!0x1,'refReducers':[{'name':_0x3da3d9(0x16e),'op':_0x3da3d9(0x181),'field':'','items':!0x1}],'refFilterStr':'','refMapStr':'','refShowFilter':!0x1,'refShowMap':!0x1}];},'removeReducer'(_0x2a727b){const _0x468129=_0x5623ef;this[_0x468129(0x187)]=this[_0x468129(0x187)][_0x468129(0x1b1)](_0x508a08=>_0x508a08!==_0x2a727b);},'setReducerProp'(_0x3d9be3,_0x4ba51e,_0x4c4ca1){const _0x30fa59=_0x5623ef;_0x3d9be3[_0x4ba51e]=_0x4c4ca1,'op'===_0x4ba51e&&(_0x3d9be3['isRef']=_0x30fa59(0x194)===_0x4c4ca1,_0x30fa59(0x194)!==_0x4c4ca1?_0x3d9be3[_0x30fa59(0x1bd)]=!0x1:_0x3d9be3[_0x30fa59(0x1bd)]||(_0x3d9be3['refExpanded']=!0x0)),this[_0x30fa59(0x187)]=[...this[_0x30fa59(0x187)]];},'toggleRefExpand'(_0x355e60){const _0x3cbc81=_0x5623ef;_0x355e60['refExpanded']=!_0x355e60[_0x3cbc81(0x1bd)],this[_0x3cbc81(0x187)]=[...this['vis_reducers']];},'setRefProp'(_0x78fd59,_0x2644ce,_0x22b8fc){const _0x403624=_0x5623ef;_0x78fd59[_0x2644ce]=_0x22b8fc,this[_0x403624(0x187)]=[...this[_0x403624(0x187)]];},'setRefType'(_0x5ebc88,_0x4e1f5b){const _0x2db98d=_0x5623ef;_0x5ebc88[_0x2db98d(0x19e)]=_0x4e1f5b,_0x5ebc88[_0x2db98d(0x188)]='',_0x5ebc88['refDeepPaths']={},this[_0x2db98d(0x187)]=[...this[_0x2db98d(0x187)]],_0x4e1f5b&&this[_0x2db98d(0x1a1)](_0x5ebc88,_0x4e1f5b);},'refFieldItems':_0x5cbb7a=>p(_0x5cbb7a[_0x5623ef(0x184)]),'addRefReducer'(_0x12bf83){const _0x31ce27=_0x5623ef;_0x12bf83['refReducers']=[..._0x12bf83[_0x31ce27(0x1b0)]||[],{'name':_0x31ce27(0x16e),'op':_0x31ce27(0x181),'field':'','items':!0x1}],this[_0x31ce27(0x187)]=[...this[_0x31ce27(0x187)]];},'removeRefReducer'(_0x1b0348,_0x4ae2b7){const _0x4ced6e=_0x5623ef;_0x1b0348[_0x4ced6e(0x1b0)]=_0x1b0348[_0x4ced6e(0x1b0)][_0x4ced6e(0x1b1)](_0x4652aa=>_0x4652aa!==_0x4ae2b7),this[_0x4ced6e(0x187)]=[...this[_0x4ced6e(0x187)]];},'setRefReducerProp'(_0x5e20bd,_0x5d670e,_0x376e8c,_0x3d1732){const _0x299ddd=_0x5623ef;_0x5d670e[_0x376e8c]=_0x3d1732,_0x5e20bd[_0x299ddd(0x1b0)]=[..._0x5e20bd['refReducers']],this[_0x299ddd(0x187)]=[...this[_0x299ddd(0x187)]];},'opNeedsField':_0x37d97a=>i['find'](_0x2c9be5=>_0x2c9be5['value']===_0x37d97a)?.[_0x5623ef(0x189)]??!0x1,'opIsRef':_0x3e632a=>_0x5623ef(0x194)===_0x3e632a,async 'create'(){const _0x2a4cef=_0x5623ef;this['error']=null;const _0x34ee0b=this[_0x2a4cef(0x1b8)][_0x2a4cef(0x195)]();if(!_0x34ee0b)return void(this['error']=_0x2a4cef(0x18e));if(/\s/[_0x2a4cef(0x186)](_0x34ee0b)||_0x34ee0b[_0x2a4cef(0x1c7)]('~'))return void(this[_0x2a4cef(0x171)]='Name\x20must\x20not\x20contain\x20spaces\x20or\x20start\x20with\x20~');const _0x7e1ec1=this[_0x2a4cef(0x168)][_0x2a4cef(0x195)]();if(!_0x7e1ec1)return void(this[_0x2a4cef(0x171)]=_0x2a4cef(0x1af));let _0x2891f9;if(_0x2a4cef(0x18d)===this[_0x2a4cef(0x1ba)])_0x2891f9=c(this[_0x2a4cef(0x187)],this[_0x2a4cef(0x180)],this[_0x2a4cef(0x1ac)]);else try{_0x2891f9=JSON[_0x2a4cef(0x166)](this[_0x2a4cef(0x1bf)]);}catch(_0x4442df){return void(this['error']=_0x2a4cef(0x17f)+_0x4442df['message']);}if(_0x2891f9[_0x2a4cef(0x185)]=_0x7e1ec1,_0x2891f9[_0x2a4cef(0x191)]&&Object[_0x2a4cef(0x17d)](_0x2891f9[_0x2a4cef(0x191)])[_0x2a4cef(0x19f)]){this[_0x2a4cef(0x178)]=!0x0;try{const _0x140a7a=_0x5a0608[_0x2a4cef(0x19c)][_0x2a4cef(0x16c)][_0x2a4cef(0x172)][_0x2a4cef(0x16d)],_0x2674ea=await fetch(_0x140a7a+_0x2a4cef(0x1c2),{'method':'POST','headers':{'Content-Type':_0x2a4cef(0x1c4)},'body':JSON[_0x2a4cef(0x1c5)]({'name':_0x34ee0b,..._0x2891f9})});if(!_0x2674ea['ok']){const _0x3f719e=await _0x2674ea[_0x2a4cef(0x1b6)]()[_0x2a4cef(0x1aa)](()=>({}));throw new Error(_0x3f719e?.[_0x2a4cef(0x171)]?.[_0x2a4cef(0x1c6)]??_0x2a4cef(0x19d));}_0x5a0608[_0x2a4cef(0x182)]['onDone']?.(_0x34ee0b),_0x5a0608[_0x2a4cef(0x182)]['modal']?.[_0x2a4cef(0x175)]?.();}catch(_0x2870ee){this['error']=_0x2870ee['message'],_0x5a0608['$ok'][_0x2a4cef(0x1b2)]?.[_0x2a4cef(0x17b)]?.['error']?.(this[_0x2a4cef(0x171)]);}finally{this[_0x2a4cef(0x178)]=!0x1;}}else this[_0x2a4cef(0x171)]=_0x2a4cef(0x1ad);},'cancel'(){const _0x378bff=_0x5623ef;_0x5a0608[_0x378bff(0x182)][_0x378bff(0x1c8)]?.[_0x378bff(0x175)]?.();}}),'mount'(_0x234bc5){const _0x304950=_0x5623ef;this[_0x304950(0x1bb)]();},'style':'.cvm-body,create-view-modal{display:flex;flex-direction:column}.cvm-body{gap:14px}.cvm-row2{display:grid;grid-template-columns:1fr\x201fr;gap:12px}.cvm-field{display:flex;flex-direction:column;gap:5px}.cvm-label{font-size:11px;color:var(--okdb-app-fg-muted);text-transform:uppercase;letter-spacing:.07em;font-weight:600}.cvm-card{padding:14px;border:1px\x20solid\x20var(--okdb-app-border);border-radius:10px;background:var(--okdb-app-bg-deep);display:flex;flex-direction:column;gap:10px}.cvm-input{padding:7px\x209px}.cvm-input,.cvm-select{border:1px\x20solid\x20var(--okdb-app-border);border-radius:6px;background:var(--okdb-app-bg-deep);color:var(--okdb-app-fg);font-size:12px;font-family:inherit;box-sizing:border-box;width:100%}.cvm-input:focus,.cvm-select:focus{outline:0;border-color:var(--okdb-accent);box-shadow:0\x200\x200\x202px\x20color-mix(in\x20srgb,var(--okdb-accent)\x2012%,transparent)}.cvm-select{cursor:pointer;appearance:none;background-image:url(\x22data:image/svg+xml,%3Csvg\x20xmlns=\x27http://www.w3.org/2000/svg\x27\x20width=\x2712\x27\x20height=\x2712\x27\x20viewBox=\x270\x200\x2024\x2024\x27\x20fill=\x27none\x27\x20stroke=\x27%23888\x27\x20stroke-width=\x272\x27%3E%3Cpolyline\x20points=\x276\x209\x2012\x2015\x2018\x209\x27/%3E%3C/svg%3E\x22);background-repeat:no-repeat;background-position:right\x208px\x20center;padding:7px\x2028px\x207px\x209px}.cvm-error,.cvm-hint{font-size:11px;color:var(--okdb-app-fg-subtle);line-height:1.45}.cvm-error{font-size:12px;color:var(--okdb-danger);padding:9px\x2012px;background:color-mix(in\x20srgb,var(--okdb-danger)\x2010%,transparent);border:1px\x20solid\x20color-mix(in\x20srgb,var(--okdb-danger)\x2025%,transparent);border-radius:6px}.cvm-actions{display:flex;gap:8px;justify-content:flex-end}.cvm-btn{padding:7px\x2016px;border-radius:6px;border:1px\x20solid;background:0\x200;font-size:12px;font-weight:500;cursor:pointer;transition:all\x20.15s\x20ease}.cvm-btn--primary{border-color:var(--okdb-accent);color:var(--okdb-accent)}.cvm-btn--primary:hover{background:color-mix(in\x20srgb,var(--okdb-accent)\x2012%,transparent)}.cvm-btn--secondary{border-color:var(--okdb-app-border);color:var(--okdb-app-fg-muted)}.cvm-btn--secondary:hover{border-color:var(--okdb-accent);color:var(--okdb-app-fg);background:color-mix(in\x20srgb,var(--okdb-accent)\x206%,transparent)}.cvm-btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.cvm-def-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:6px;border-bottom:1px\x20solid\x20var(--okdb-app-border)}.cvm-mode-toggle{display:flex;border:1px\x20solid\x20var(--okdb-app-border);border-radius:5px;overflow:hidden}.cvm-mode-btn{padding:4px\x2012px;border:0;background:0\x200;color:var(--okdb-app-fg-muted);font-size:11px;font-weight:500;cursor:pointer;transition:all\x20.15s\x20ease}.cvm-mode-btn+.cvm-mode-btn{border-left:1px\x20solid\x20var(--okdb-app-border)}.cvm-mode-btn--active{background:color-mix(in\x20srgb,var(--okdb-accent)\x2014%,transparent);color:var(--okdb-accent)}.cvm-visual{display:flex;flex-direction:column;gap:12px}.cvm-section-hdr{font-size:10px;color:var(--okdb-app-fg-subtle);text-transform:uppercase;letter-spacing:.07em;font-weight:600;margin-bottom:6px}.cvm-col-headers{display:flex;gap:6px;margin-bottom:3px}.cvm-col-h{font-size:10px;color:var(--okdb-app-fg-subtle)}.cvm-reducer-list{display:flex;flex-direction:column;gap:5px}.cvm-reducer-row{display:flex;align-items:center;gap:6px}.cvm-r-key,.cvm-r-op{flex:0\x200\x20136px;min-width:0}.cvm-r-op{flex:0\x200\x20106px}.cvm-r-field{flex:1;min-width:0}.cvm-r-del,.cvm-r-items{display:flex;align-items:center}.cvm-r-items{flex:0\x200\x2058px;gap:4px;font-size:11px;color:var(--okdb-app-fg-muted);user-select:none;cursor:pointer}.cvm-r-del{flex:0\x200\x2022px;justify-content:center}.cvm-r-del-btn{background:0\x200;border:0;cursor:pointer;color:var(--okdb-app-fg-subtle);padding:3px\x204px;border-radius:3px;font-size:14px;line-height:1;transition:color\x20.12s\x20ease}.cvm-r-del-btn:hover{color:var(--okdb-danger)}.cvm-r-ref-btn{flex:1;padding:7px\x2010px;border:1px\x20dashed\x20var(--okdb-app-border);border-radius:6px;background:0\x200;color:var(--okdb-app-fg-muted);font-size:11px;cursor:pointer;text-align:left;min-width:0;transition:all\x20.12s\x20ease}.cvm-add-reducer-btn:hover,.cvm-r-ref-btn:hover{border-color:var(--okdb-accent);color:var(--okdb-accent)}.cvm-r-spacer{flex:0\x200\x2058px}.cvm-add-reducer-btn{align-self:flex-start;padding:4px\x2012px;border:1px\x20dashed\x20var(--okdb-app-border);border-radius:5px;background:0\x200;color:var(--okdb-app-fg-muted);font-size:11px;cursor:pointer;margin-top:4px;transition:all\x20.12s\x20ease}.cvm-optional-hdr{display:flex;align-items:center;gap:8px}.cvm-opt-toggle{background:0\x200;border:0;cursor:pointer;font-size:11px;color:var(--okdb-app-fg-muted);padding:0;text-decoration:underline\x20dotted;transition:color\x20.12s\x20ease}.cvm-opt-toggle:hover{color:var(--okdb-accent)}.cvm-opt-textarea{width:100%;height:64px;resize:vertical;font-size:11px;font-family:monospace;margin-top:6px}.cvm-ref-body,.cvm-ref-section{display:flex;flex-direction:column}.cvm-ref-body{margin-top:5px;padding:12px;background:color-mix(in\x20srgb,var(--okdb-accent)\x203%,var(--okdb-app-bg));border:1px\x20solid\x20var(--okdb-app-border);border-left:2px\x20solid\x20color-mix(in\x20srgb,var(--okdb-accent)\x2045%,var(--okdb-app-border));border-radius:6px;gap:10px}.cvm-ref-section{gap:6px}.cvm-ref-section-hdr{font-size:10px;color:var(--okdb-app-fg-subtle);text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin-bottom:4px}.cvm-json-wrap{height:260px;border:1px\x20solid\x20var(--okdb-app-border);border-radius:8px;overflow:hidden}','template':_0x5623ef(0x167)};
@@ -1 +1 @@
1
- const _0x5ae9e1=_0x3bb5;function _0x3bb5(_0x22af51,_0x4f043b){_0x22af51=_0x22af51-0xa1;const _0x3fd704=_0x3fd7();let _0x3bb527=_0x3fd704[_0x22af51];return _0x3bb527;}(function(_0x37751e,_0x5a6819){const _0x433309=_0x3bb5,_0x23ddb9=_0x37751e();while(!![]){try{const _0x1e1c2d=-parseInt(_0x433309(0xc2))/0x1*(-parseInt(_0x433309(0xc8))/0x2)+-parseInt(_0x433309(0xca))/0x3*(-parseInt(_0x433309(0xa9))/0x4)+parseInt(_0x433309(0xd1))/0x5+parseInt(_0x433309(0xc5))/0x6*(parseInt(_0x433309(0xd7))/0x7)+-parseInt(_0x433309(0xa6))/0x8*(parseInt(_0x433309(0xd4))/0x9)+-parseInt(_0x433309(0xcf))/0xa+-parseInt(_0x433309(0xb8))/0xb;if(_0x1e1c2d===_0x5a6819)break;else _0x23ddb9['push'](_0x23ddb9['shift']());}catch(_0x3c0f8c){_0x23ddb9['push'](_0x23ddb9['shift']());}}}(_0x3fd7,0x6655f));export default{'tag':_0x5ae9e1(0xd2),'attr':{'name':{}},'context':_0x51b7b6=>({'output':null,'meta':null,'definition':null,'loading':!0x0,'error':null,'actionLoading':!0x1,'showDeleteConfirm':!0x1,'showOrphanedIndexConfirm':!0x1,'orphanedIndexes':[],async 'load'(){const _0x5ad6c6=_0x5ae9e1;this[_0x5ad6c6(0xa8)]=!0x0,this[_0x5ad6c6(0xd8)]=null,this[_0x5ad6c6(0xd6)]=null,this['meta']=null,this[_0x5ad6c6(0xcc)]=null;try{const _0x555a58=_0x51b7b6[_0x5ad6c6(0xa4)]['stores'][_0x5ad6c6(0xbe)][_0x5ad6c6(0xce)],_0x43cd4a=_0x51b7b6[_0x5ad6c6(0xc4)][_0x5ad6c6(0xb7)],[_0x149828,_0x452c73,_0xa17e05]=await Promise[_0x5ad6c6(0xb4)]([fetch(_0x555a58+_0x5ad6c6(0xa2)+_0x43cd4a),fetch(_0x555a58+_0x5ad6c6(0xa2)+_0x43cd4a+_0x5ad6c6(0xad)),fetch(_0x555a58+_0x5ad6c6(0xa2)+_0x43cd4a+_0x5ad6c6(0xd0))]),_0x14305d=_0x149828['ok']?await _0x149828[_0x5ad6c6(0xc0)]():null,_0x3d48b9=_0x452c73['ok']?await _0x452c73[_0x5ad6c6(0xc0)]():null,_0x31331d=_0xa17e05['ok']?await _0xa17e05[_0x5ad6c6(0xc0)]():null;this['output']=_0x14305d?.[_0x5ad6c6(0xb1)]??_0x14305d?.[_0x5ad6c6(0xab)]??null,this['meta']=_0x3d48b9?.['data']??_0x3d48b9?.[_0x5ad6c6(0xab)]??null,this[_0x5ad6c6(0xcc)]=_0x31331d?.[_0x5ad6c6(0xb1)]??_0x31331d?.[_0x5ad6c6(0xab)]??null;}catch(_0x5788ea){this[_0x5ad6c6(0xd8)]=_0x5788ea[_0x5ad6c6(0xbf)];}finally{this[_0x5ad6c6(0xa8)]=!0x1;}},async 'doAction'(_0x379eda){const _0x372a36=_0x5ae9e1;this[_0x372a36(0xc9)]=!0x0;try{const _0x5dfb94=_0x51b7b6[_0x372a36(0xa4)][_0x372a36(0xbb)]['okdb'][_0x372a36(0xce)],_0x578a78=_0x51b7b6[_0x372a36(0xc4)][_0x372a36(0xb7)],_0x542523=await fetch(_0x5dfb94+'/views/'+_0x578a78+'/'+_0x379eda,{'method':_0x372a36(0xcd)});if(!_0x542523['ok']){const _0x85c594=await _0x542523['json']()[_0x372a36(0xbd)](()=>({}));throw new Error(_0x85c594?.['error']?.['message']??_0x379eda+_0x372a36(0xcb));}await this[_0x372a36(0xd3)](),_0x51b7b6[_0x372a36(0xb0)](_0x372a36(0xc6));}catch(_0x415b81){this[_0x372a36(0xd8)]=_0x415b81['message'];}finally{this['actionLoading']=!0x1;}},async 'deleteView'(){const _0x1b9157=_0x5ae9e1;this[_0x1b9157(0xc9)]=!0x0;try{const _0x158ae6=_0x51b7b6[_0x1b9157(0xa4)]['stores'][_0x1b9157(0xbe)]['apiBase'],_0x225ee1=_0x51b7b6[_0x1b9157(0xc4)][_0x1b9157(0xb7)],_0x35f895=await fetch(_0x158ae6+_0x1b9157(0xa2)+_0x225ee1,{'method':_0x1b9157(0xc7)});if(!_0x35f895['ok']){const _0x4d2d62=await _0x35f895[_0x1b9157(0xc0)]()[_0x1b9157(0xbd)](()=>({})),_0x5980f4=_0x4d2d62?.[_0x1b9157(0xd8)]?.['code'];if(_0x1b9157(0xc3)===_0x5980f4)return this[_0x1b9157(0xaa)]=_0x4d2d62?.[_0x1b9157(0xd8)]?.['details']?.[_0x1b9157(0xaa)]??[],this[_0x1b9157(0xa1)]=!0x1,void(this[_0x1b9157(0xa5)]=!0x0);throw new Error(_0x4d2d62?.[_0x1b9157(0xd8)]?.[_0x1b9157(0xbf)]??_0x1b9157(0xa7));}_0x51b7b6[_0x1b9157(0xb0)](_0x1b9157(0xaf));}catch(_0x386a91){this[_0x1b9157(0xd8)]=_0x386a91[_0x1b9157(0xbf)];}finally{this[_0x1b9157(0xc9)]=!0x1,this['showOrphanedIndexConfirm']||(this[_0x1b9157(0xa1)]=!0x1);}},async 'deleteViewWithIndexes'(_0x48c299){const _0x360b8=_0x5ae9e1;this['actionLoading']=!0x0;try{const _0x368cbe=_0x51b7b6[_0x360b8(0xa4)][_0x360b8(0xbb)][_0x360b8(0xbe)]['apiBase'],_0xad22fb=_0x51b7b6['$attr'][_0x360b8(0xb7)],_0x35e3d7=await fetch(_0x368cbe+_0x360b8(0xa2)+_0xad22fb,{'method':_0x360b8(0xc7),'headers':{'Content-Type':'application/json'},'body':JSON[_0x360b8(0xb3)]({'managedIndexes':_0x48c299})});if(!_0x35e3d7['ok']){const _0x5b9b69=await _0x35e3d7[_0x360b8(0xc0)]()[_0x360b8(0xbd)](()=>({}));throw new Error(_0x5b9b69?.[_0x360b8(0xd8)]?.['message']??_0x360b8(0xa7));}_0x51b7b6[_0x360b8(0xb0)](_0x360b8(0xaf));}catch(_0x4eae96){this[_0x360b8(0xd8)]=_0x4eae96[_0x360b8(0xbf)];}finally{this[_0x360b8(0xc9)]=!0x1,this[_0x360b8(0xa5)]=!0x1,this['orphanedIndexes']=[];}},'formatJson'(_0x1523ef){const _0x459ecc=_0x5ae9e1;if(null==_0x1523ef)return'';try{return JSON[_0x459ecc(0xb3)](_0x1523ef,null,0x2);}catch{return String(_0x1523ef);}},'stateColor'(_0x214a1b){const _0x204942=_0x5ae9e1;switch(_0x214a1b){case _0x204942(0xbc):return _0x204942(0xd5);case _0x204942(0xd9):case _0x204942(0xb6):return _0x204942(0xae);case'halted':return _0x204942(0xac);case'stopped':return _0x204942(0xa3);default:return _0x204942(0xb5);}},get 'state'(){const _0x3af139=_0x5ae9e1;return this['meta']?.[_0x3af139(0xb9)]??_0x3af139(0xb2);},get 'isInProgress'(){const _0x110f22=_0x5ae9e1;return'creating'===this[_0x110f22(0xb9)]||_0x110f22(0xb6)===this[_0x110f22(0xb9)];}}),'mount'(_0x69d57c){const _0x22c276=_0x5ae9e1;_0x69d57c['$watch'](()=>_0x69d57c[_0x22c276(0xc4)][_0x22c276(0xb7)],()=>{const _0x49c25f=_0x22c276;this[_0x49c25f(0xa8)]=!0x0,this[_0x49c25f(0xd6)]=null,this[_0x49c25f(0xc1)]=null,this[_0x49c25f(0xcc)]=null,this[_0x49c25f(0xa1)]=!0x1,this[_0x49c25f(0xa5)]=!0x1,this[_0x49c25f(0xaa)]=[],this['load']();}),this[_0x22c276(0xd3)]();},'style':_0x5ae9e1(0xba),'template':'<div\x20class=\x22vd\x22><if\x20:=\x22loading\x22><div\x20class=\x22vd__loading\x22>Loading…</div></if><if\x20:=\x22!loading\x22><if\x20:=\x22error\x22><div\x20class=\x22vd__error\x22>{{\x20error\x20}}</div></if><div\x20class=\x22vd__header\x22><div\x20class=\x22vd__title-row\x22><div\x20style=\x22flex:1;\x20min-width:0;\x20display:flex;\x20align-items:baseline;\x20gap:8px;\x20overflow:hidden;\x22><h2\x20class=\x22vd__name\x22>{{\x20$attr.name\x20}}</h2><if\x20:=\x22definition\x20!=\x20null\x20&&\x20definition.type\x20!=\x20null\x20&&\x20definition.type\x20!==\x20\x27\x27\x22><span\x20class=\x22vd__type-label\x22>{{\x20definition.type\x20}}</span></if></div><span\x20class=\x22vd__state-badge\x22\x20:style=\x22\x27color:\x27\x20+\x20stateColor(state)\x22><span\x20class=\x22vd__state-dot\x22\x20:style=\x22\x27background:\x27\x20+\x20stateColor(state)\x22/>\x20{{\x20state\x20}}</span></div><div\x20class=\x22vd__actions\x22><if\x20:=\x22!isInProgress\x22><if\x20:=\x22state\x20===\x20\x27ready\x27\x22><button\x20class=\x22vd__btn\x20vd__btn--warning\x22\x20:disabled=\x22actionLoading\x22\x20@click=\x22doAction(\x27stop\x27)\x22>Stop</button></if><if\x20:=\x22state\x20===\x20\x27stopped\x27\x20||\x20state\x20===\x20\x27halted\x27\x22><button\x20class=\x22vd__btn\x20vd__btn--primary\x22\x20:disabled=\x22actionLoading\x22\x20@click=\x22doAction(\x27start\x27)\x22>Start</button></if><button\x20class=\x22vd__btn\x20vd__btn--primary\x22\x20:disabled=\x22actionLoading\x22\x20@click=\x22doAction(\x27rebuild\x27)\x22>Rebuild</button>\x20<button\x20class=\x22vd__btn\x20vd__btn--danger\x22\x20:disabled=\x22actionLoading\x22\x20@click=\x22showDeleteConfirm\x20=\x20true\x22>Delete</button></if><if\x20:=\x22isInProgress\x22><button\x20class=\x22vd__btn\x20vd__btn--primary\x22\x20disabled=\x22disabled\x22>Stop</button>\x20<button\x20class=\x22vd__btn\x20vd__btn--primary\x22\x20disabled=\x22disabled\x22>Rebuild</button>\x20<button\x20class=\x22vd__btn\x20vd__btn--danger\x22\x20disabled=\x22disabled\x22>Delete</button></if></div><if\x20:=\x22showDeleteConfirm\x22><div\x20class=\x22vd__delete-confirm\x22><span\x20class=\x22vd__delete-confirm-text\x22>Delete\x20view\x20<strong>{{\x20$attr.name\x20}}</strong>?\x20This\x20cannot\x20be\x20undone.</span><div\x20class=\x22vd__delete-confirm-actions\x22><button\x20class=\x22vd__btn\x20vd__btn--danger\x22\x20:disabled=\x22actionLoading\x22\x20@click=\x22deleteView()\x22>Confirm</button>\x20<button\x20class=\x22vd__btn\x20vd__btn--primary\x22\x20:disabled=\x22actionLoading\x22\x20@click=\x22showDeleteConfirm\x20=\x20false\x22>Cancel</button></div></div></if><if\x20:=\x22showOrphanedIndexConfirm\x22><div\x20class=\x22vd__delete-confirm\x22><span\x20class=\x22vd__delete-confirm-text\x22>Deleting\x20this\x20view\x20will\x20orphan:\x20<strong>{{\x20orphanedIndexes.join(\x27,\x20\x27)\x20}}</strong>.\x20Drop\x20or\x20keep\x20these\x20indexes?</span><div\x20class=\x22vd__delete-confirm-actions\x22><button\x20class=\x22vd__btn\x20vd__btn--danger\x22\x20:disabled=\x22actionLoading\x22\x20@click=\x22deleteViewWithIndexes(\x27drop\x27)\x22>Drop</button>\x20<button\x20class=\x22vd__btn\x20vd__btn--primary\x22\x20:disabled=\x22actionLoading\x22\x20@click=\x22deleteViewWithIndexes(\x27keep\x27)\x22>Keep</button>\x20<button\x20class=\x22vd__btn\x20vd__btn--primary\x22\x20:disabled=\x22actionLoading\x22\x20@click=\x22showOrphanedIndexConfirm\x20=\x20false\x22>Cancel</button></div></div></if></div><div\x20class=\x22vd__section\x22><div\x20class=\x22vd__section-title\x22>Output</div><if\x20:=\x22output\x20!=\x20null\x22><pre\x20class=\x22vd__pre\x22>{{\x20formatJson(output)\x20}}</pre></if><if\x20:=\x22output\x20==\x20null\x22><div\x20class=\x22vd__empty\x22>No\x20output\x20available</div></if></div><div\x20class=\x22vd__section\x22><div\x20class=\x22vd__section-title\x22>Meta</div><if\x20:=\x22meta\x22><div\x20class=\x22vd__meta-grid\x22><div\x20class=\x22vd__meta-row\x22><span\x20class=\x22vd__meta-key\x22>state</span>\x20<span\x20class=\x22vd__meta-val\x22\x20:style=\x22\x27color:\x27\x20+\x20stateColor(meta.state)\x22>{{\x20meta.state\x20??\x20\x27—\x27\x20}}</span></div><div\x20class=\x22vd__meta-row\x22><span\x20class=\x22vd__meta-key\x22>clock</span>\x20<span\x20class=\x22vd__meta-val\x22>{{\x20meta.clock\x20??\x20\x27—\x27\x20}}</span></div><if\x20:=\x22meta.error\x22><div\x20class=\x22vd__meta-row\x22><span\x20class=\x22vd__meta-key\x22>error</span>\x20<span\x20class=\x22vd__meta-val\x20vd__meta-val--error\x22>{{\x20meta.error\x20}}</span></div></if></div><if\x20:=\x22meta.refs\x20&&\x20Object.keys(meta.refs).length\x20>\x200\x22><div\x20class=\x22vd__section-title\x22\x20style=\x22margin-top:\x208px;\x22>Refs</div><div\x20class=\x22vd__refs\x22><each\x20:of=\x22Object.entries(meta.refs)\x22\x20let:item=\x22entry\x22><div\x20class=\x22vd__ref-row\x22><span\x20class=\x22vd__ref-name\x22>{{\x20entry[0]\x20}}</span>\x20<span\x20class=\x22vd__ref-state\x22>{{\x20typeof\x20entry[1]\x20===\x20\x27object\x27\x20?\x20(entry[1]?.state\x20??\x20JSON.stringify(entry[1]))\x20:\x20entry[1]\x20}}</span></div></each></div></if></if><if\x20:=\x22!meta\x22><div\x20class=\x22vd__empty\x22>No\x20meta\x20available</div></if></div><div\x20class=\x22vd__section\x22><div\x20class=\x22vd__section-title\x22>Definition</div><if\x20:=\x22definition\x20!=\x20null\x22><pre\x20class=\x22vd__pre\x22>{{\x20formatJson(definition)\x20}}</pre></if><if\x20:=\x22definition\x20==\x20null\x22><div\x20class=\x22vd__empty\x22>No\x20definition\x20available</div></if></div></if></div>'};function _0x3fd7(){const _0xbcfa6e=['105AbusqU','error','creating','showDeleteConfirm','/views/','#fbbf24','$ok','showOrphanedIndexConfirm','8MfhXAO','Delete\x20failed','loading','668296eQqtmI','orphanedIndexes','result','#f44336','/meta','#4FC1FF','removed','$dispatch','data','unknown','stringify','all','#666','resetting','name','7880070wrbAxx','state','view-detail{gap:0;height:100%;overflow-y:auto}.vd,.vd__header,view-detail{display:flex;flex-direction:column}.vd{gap:20px;padding:20px\x2024px}.vd__header{gap:10px;padding-bottom:16px;border-bottom:1px\x20solid\x20var(--okdb-app-border)}.vd__title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.vd__name,.vd__state-badge{font-weight:600;white-space:nowrap}.vd__name{font-size:20px;color:var(--okdb-app-fg-strong);margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;flex-shrink:1}.vd__state-badge{display:inline-flex;align-items:center;gap:6px;padding:3px\x208px;border-radius:999px;border:1px\x20solid\x20var(--okdb-app-border);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.vd__state-dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0}.vd__type-label{font-size:11px;color:var(--okdb-app-fg-subtle);font-family:monospace}.vd__actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.vd__btn{padding:5px\x2012px;border-radius:4px;font-size:12px;font-weight:600;border:1px\x20solid;background:0\x200;cursor:pointer;transition:all\x20.15s\x20ease}.vd__btn--primary{border-color:var(--okdb-accent);color:var(--okdb-accent)}.vd__btn--primary:hover{background:color-mix(in\x20srgb,var(--okdb-accent)\x2010%,transparent);transform:none;box-shadow:none}.vd__btn--warning{border-color:var(--okdb-warning);color:var(--okdb-warning)}.vd__btn--warning:hover{background:color-mix(in\x20srgb,var(--okdb-warning)\x2010%,transparent);transform:none;box-shadow:none}.vd__btn--danger{border-color:var(--okdb-danger);color:var(--okdb-danger)}.vd__btn--danger:hover{background:color-mix(in\x20srgb,var(--okdb-danger)\x2010%,transparent);transform:none;box-shadow:none}.vd__btn:disabled{opacity:.4;cursor:not-allowed}.vd__delete-confirm{display:flex;align-items:center;gap:10px;padding:8px\x2012px;background:color-mix(in\x20srgb,var(--okdb-danger)\x207%,transparent);border:1px\x20solid\x20color-mix(in\x20srgb,var(--okdb-danger)\x2025%,transparent);border-radius:5px;font-size:12px;color:var(--okdb-danger);flex-wrap:wrap}.vd__delete-confirm-text{flex:1;min-width:0}.vd__delete-confirm-actions{display:flex;gap:6px}.vd__section{display:flex;flex-direction:column;gap:10px}.vd__section-title{font-size:11px;font-weight:600;color:var(--okdb-app-fg-muted);text-transform:uppercase;letter-spacing:.05em}.vd__pre{font-family:monospace;font-size:12px;background:var(--okdb-app-bg-deep);border:1px\x20solid\x20var(--okdb-app-border);border-radius:5px;padding:12px\x2014px;overflow-x:auto;color:var(--okdb-app-fg);white-space:pre;margin:0;line-height:1.5}.vd__meta-grid{display:flex;flex-direction:column;gap:6px;font-size:12px}.vd__meta-row{display:flex;gap:8px}.vd__meta-key{color:var(--okdb-app-fg-subtle);width:80px;flex-shrink:0}.vd__meta-val{color:var(--okdb-app-fg);font-family:monospace;word-break:break-all}.vd__meta-val--error{color:var(--okdb-danger)}.vd__empty,.vd__error{font-size:12px;color:var(--okdb-app-fg-subtle)}.vd__error{color:var(--okdb-danger);padding:8px;background:color-mix(in\x20srgb,var(--okdb-danger)\x207%,transparent);border:1px\x20solid\x20color-mix(in\x20srgb,var(--okdb-danger)\x2020%,transparent);border-radius:4px}.vd__loading{font-size:12px;opacity:.5;padding:40px;text-align:center}.vd__refs{display:flex;flex-direction:column;gap:4px;margin-top:4px}.vd__ref-row{display:flex;gap:8px;font-size:11px;padding:4px\x208px;background:var(--okdb-app-bg-deep);border-radius:3px;border:1px\x20solid\x20var(--okdb-app-border)}.vd__ref-name{color:var(--okdb-sky);font-family:monospace;flex:1}.vd__ref-state{color:var(--okdb-app-fg-subtle)}','stores','ready','catch','okdb','message','json','meta','148RHQeRj','VIEW_HAS_ORPHANED_INDEXES','$attr','239094fovkQn','state-changed','DELETE','5588uyYbHg','actionLoading','15qHYQee','\x20failed','definition','POST','apiBase','4308630chdWSJ','/definition','2376730boGara','view-detail','load','6800067HjnooB','#4caf50','output'];_0x3fd7=function(){return _0xbcfa6e;};return _0x3fd7();}
1
+ function _0xf102(_0x44bd20,_0x37dd2c){_0x44bd20=_0x44bd20-0xd0;const _0x205c20=_0x205c();let _0xf1021e=_0x205c20[_0x44bd20];return _0xf1021e;}const _0x57e715=_0xf102;(function(_0x5ec6b9,_0x16816d){const _0xb6b03=_0xf102,_0x835e33=_0x5ec6b9();while(!![]){try{const _0x128323=parseInt(_0xb6b03(0xf8))/0x1+parseInt(_0xb6b03(0xef))/0x2*(parseInt(_0xb6b03(0xf2))/0x3)+parseInt(_0xb6b03(0xe9))/0x4+-parseInt(_0xb6b03(0x104))/0x5*(-parseInt(_0xb6b03(0x106))/0x6)+-parseInt(_0xb6b03(0xd1))/0x7+-parseInt(_0xb6b03(0xdb))/0x8*(-parseInt(_0xb6b03(0xfc))/0x9)+-parseInt(_0xb6b03(0xfa))/0xa*(parseInt(_0xb6b03(0xea))/0xb);if(_0x128323===_0x16816d)break;else _0x835e33['push'](_0x835e33['shift']());}catch(_0x4ba8b5){_0x835e33['push'](_0x835e33['shift']());}}}(_0x205c,0xe1ca3));export default{'tag':_0x57e715(0xdf),'attr':{'name':{}},'context':_0x1c0764=>({'output':null,'meta':null,'definition':null,'loading':!0x0,'error':null,'actionLoading':!0x1,'showDeleteConfirm':!0x1,'showOrphanedIndexConfirm':!0x1,'orphanedIndexes':[],async 'load'(){const _0x45fefc=_0x57e715;this['loading']=!0x0,this[_0x45fefc(0xdd)]=null,this['output']=null,this[_0x45fefc(0xe2)]=null,this[_0x45fefc(0xd7)]=null;try{const _0x4d7bdc=_0x1c0764[_0x45fefc(0xee)]['stores'][_0x45fefc(0xf0)][_0x45fefc(0x108)],_0x17f8a8=_0x1c0764[_0x45fefc(0x107)][_0x45fefc(0xfb)],[_0x197b09,_0x38bf67,_0xc636a3]=await Promise[_0x45fefc(0x10a)]([fetch(_0x4d7bdc+_0x45fefc(0xd3)+_0x17f8a8),fetch(_0x4d7bdc+_0x45fefc(0xd3)+_0x17f8a8+_0x45fefc(0xe7)),fetch(_0x4d7bdc+'/views/'+_0x17f8a8+_0x45fefc(0xe3))]),_0x4dd510=_0x197b09['ok']?await _0x197b09[_0x45fefc(0xf9)]():null,_0x3bef49=_0x38bf67['ok']?await _0x38bf67[_0x45fefc(0xf9)]():null,_0x262615=_0xc636a3['ok']?await _0xc636a3[_0x45fefc(0xf9)]():null;this[_0x45fefc(0xde)]=_0x4dd510?.[_0x45fefc(0xe0)]??_0x4dd510?.[_0x45fefc(0x101)]??null,this[_0x45fefc(0xe2)]=_0x3bef49?.[_0x45fefc(0xe0)]??_0x3bef49?.[_0x45fefc(0x101)]??null,this[_0x45fefc(0xd7)]=_0x262615?.[_0x45fefc(0xe0)]??_0x262615?.['result']??null;}catch(_0x5da001){this[_0x45fefc(0xdd)]=_0x5da001['message'];}finally{this[_0x45fefc(0xf6)]=!0x1;}},async 'doAction'(_0x5c95be){const _0x1f5d15=_0x57e715;this['actionLoading']=!0x0;try{const _0x53de35=_0x1c0764[_0x1f5d15(0xee)][_0x1f5d15(0xec)]['okdb'][_0x1f5d15(0x108)],_0x4bcd7f=_0x1c0764['$attr'][_0x1f5d15(0xfb)],_0x34af93=await fetch(_0x53de35+_0x1f5d15(0xd3)+_0x4bcd7f+'/'+_0x5c95be,{'method':'POST'});if(!_0x34af93['ok']){const _0x58686a=await _0x34af93[_0x1f5d15(0xf9)]()[_0x1f5d15(0xd8)](()=>({}));throw new Error(_0x58686a?.[_0x1f5d15(0xdd)]?.[_0x1f5d15(0xf4)]??_0x5c95be+_0x1f5d15(0x10b));}await this[_0x1f5d15(0x100)](),_0x1c0764['$dispatch'](_0x1f5d15(0xd6));}catch(_0x212c49){this[_0x1f5d15(0xdd)]=_0x212c49[_0x1f5d15(0xf4)];}finally{this[_0x1f5d15(0x102)]=!0x1;}},async 'deleteView'(){const _0x550810=_0x57e715;this[_0x550810(0x102)]=!0x0;try{const _0x373ff7=_0x1c0764['$ok'][_0x550810(0xec)][_0x550810(0xf0)]['apiBase'],_0x198b29=_0x1c0764[_0x550810(0x107)]['name'],_0x67a4b8=await fetch(_0x373ff7+_0x550810(0xd3)+_0x198b29,{'method':_0x550810(0xe1)});if(!_0x67a4b8['ok']){const _0x264146=await _0x67a4b8['json']()[_0x550810(0xd8)](()=>({})),_0x564874=_0x264146?.['error']?.[_0x550810(0xdc)];if(_0x550810(0x105)===_0x564874)return this[_0x550810(0x109)]=_0x264146?.[_0x550810(0xdd)]?.[_0x550810(0xf5)]?.[_0x550810(0x109)]??[],this[_0x550810(0x10c)]=!0x1,void(this[_0x550810(0xd2)]=!0x0);throw new Error(_0x264146?.['error']?.['message']??_0x550810(0xd4));}_0x1c0764[_0x550810(0xfe)]('removed');}catch(_0x143450){this[_0x550810(0xdd)]=_0x143450['message'];}finally{this['actionLoading']=!0x1,this[_0x550810(0xd2)]||(this[_0x550810(0x10c)]=!0x1);}},async 'deleteViewWithIndexes'(_0x14bf36){const _0x2f6baf=_0x57e715;this[_0x2f6baf(0x102)]=!0x0;try{const _0x17168e=_0x1c0764[_0x2f6baf(0xee)]['stores'][_0x2f6baf(0xf0)][_0x2f6baf(0x108)],_0x25954f=_0x1c0764['$attr']['name'],_0x23dcde=await fetch(_0x17168e+'/views/'+_0x25954f,{'method':_0x2f6baf(0xe1),'headers':{'Content-Type':'application/json'},'body':JSON[_0x2f6baf(0xe6)]({'managedIndexes':_0x14bf36})});if(!_0x23dcde['ok']){const _0x481f9d=await _0x23dcde['json']()[_0x2f6baf(0xd8)](()=>({}));throw new Error(_0x481f9d?.[_0x2f6baf(0xdd)]?.[_0x2f6baf(0xf4)]??_0x2f6baf(0xd4));}_0x1c0764['$dispatch'](_0x2f6baf(0xe4));}catch(_0x25063e){this[_0x2f6baf(0xdd)]=_0x25063e[_0x2f6baf(0xf4)];}finally{this[_0x2f6baf(0x102)]=!0x1,this['showOrphanedIndexConfirm']=!0x1,this[_0x2f6baf(0x109)]=[];}},'formatJson'(_0x463cce){if(null==_0x463cce)return'';try{return JSON['stringify'](_0x463cce,null,0x2);}catch{return String(_0x463cce);}},'stateColor'(_0x40b0f0){const _0x1a3b9f=_0x57e715;switch(_0x40b0f0){case _0x1a3b9f(0xff):return _0x1a3b9f(0xd5);case _0x1a3b9f(0xeb):case'resetting':return _0x1a3b9f(0xf3);case'halted':return _0x1a3b9f(0x103);case _0x1a3b9f(0xe5):return _0x1a3b9f(0xd0);default:return _0x1a3b9f(0xda);}},get 'state'(){const _0x3a34a9=_0x57e715;return this[_0x3a34a9(0xe2)]?.[_0x3a34a9(0xd9)]??_0x3a34a9(0xfd);},get 'isInProgress'(){const _0x1c0888=_0x57e715;return'creating'===this['state']||_0x1c0888(0xf1)===this[_0x1c0888(0xd9)];}}),'mount'(_0x18d255){const _0x297467=_0x57e715;_0x18d255[_0x297467(0xed)](()=>_0x18d255['$attr'][_0x297467(0xfb)],()=>{const _0x3d3af2=_0x297467;this['loading']=!0x0,this[_0x3d3af2(0xde)]=null,this[_0x3d3af2(0xe2)]=null,this[_0x3d3af2(0xd7)]=null,this[_0x3d3af2(0x10c)]=!0x1,this[_0x3d3af2(0xd2)]=!0x1,this[_0x3d3af2(0x109)]=[],this['load']();}),this[_0x297467(0x100)]();},'style':_0x57e715(0xf7),'template':_0x57e715(0xe8)};function _0x205c(){const _0x42a623=['/definition','removed','stopped','stringify','/meta','<div\x20class=\x22vd\x22><if\x20:=\x22loading\x22><div\x20class=\x22vd__loading\x22>Loading…</div></if><if\x20:=\x22!loading\x22><if\x20:=\x22error\x22><div\x20class=\x22vd__error\x22>{{\x20error\x20}}</div></if><div\x20class=\x22vd__header\x22><div\x20class=\x22vd__title-row\x22><div\x20style=\x22flex:1;\x20min-width:0;\x20display:flex;\x20align-items:baseline;\x20gap:8px;\x20overflow:hidden;\x22><h2\x20class=\x22vd__name\x22>{{\x20$attr.name\x20}}</h2><if\x20:=\x22definition\x20!=\x20null\x20&&\x20definition.type\x20!=\x20null\x20&&\x20definition.type\x20!==\x20\x27\x27\x22><span\x20class=\x22vd__type-label\x22>{{\x20definition.type\x20}}</span></if></div><span\x20class=\x22vd__state-badge\x22\x20:style=\x22\x27color:\x27\x20+\x20stateColor(state)\x22><span\x20class=\x22vd__state-dot\x22\x20:style=\x22\x27background:\x27\x20+\x20stateColor(state)\x22/>\x20{{\x20state\x20}}</span></div><div\x20class=\x22vd__actions\x22><if\x20:=\x22!isInProgress\x22><if\x20:=\x22state\x20===\x20\x27ready\x27\x22><button\x20class=\x22vd__btn\x20vd__btn--warning\x22\x20:disabled=\x22actionLoading\x22\x20@click=\x22doAction(\x27stop\x27)\x22>Stop</button></if><if\x20:=\x22state\x20===\x20\x27stopped\x27\x20||\x20state\x20===\x20\x27halted\x27\x22><button\x20class=\x22vd__btn\x20vd__btn--primary\x22\x20:disabled=\x22actionLoading\x22\x20@click=\x22doAction(\x27start\x27)\x22>Start</button></if><button\x20class=\x22vd__btn\x20vd__btn--primary\x22\x20:disabled=\x22actionLoading\x22\x20@click=\x22doAction(\x27rebuild\x27)\x22>Rebuild</button>\x20<button\x20class=\x22vd__btn\x20vd__btn--danger\x22\x20:disabled=\x22actionLoading\x22\x20@click=\x22showDeleteConfirm\x20=\x20true\x22>Delete</button></if><if\x20:=\x22isInProgress\x22><button\x20class=\x22vd__btn\x20vd__btn--primary\x22\x20disabled=\x22disabled\x22>Stop</button>\x20<button\x20class=\x22vd__btn\x20vd__btn--primary\x22\x20disabled=\x22disabled\x22>Rebuild</button>\x20<button\x20class=\x22vd__btn\x20vd__btn--danger\x22\x20disabled=\x22disabled\x22>Delete</button></if></div><if\x20:=\x22showDeleteConfirm\x22><div\x20class=\x22vd__delete-confirm\x22><span\x20class=\x22vd__delete-confirm-text\x22>Delete\x20view\x20<strong>{{\x20$attr.name\x20}}</strong>?\x20This\x20cannot\x20be\x20undone.</span><div\x20class=\x22vd__delete-confirm-actions\x22><button\x20class=\x22vd__btn\x20vd__btn--danger\x22\x20:disabled=\x22actionLoading\x22\x20@click=\x22deleteView()\x22>Confirm</button>\x20<button\x20class=\x22vd__btn\x20vd__btn--primary\x22\x20:disabled=\x22actionLoading\x22\x20@click=\x22showDeleteConfirm\x20=\x20false\x22>Cancel</button></div></div></if><if\x20:=\x22showOrphanedIndexConfirm\x22><div\x20class=\x22vd__delete-confirm\x22><span\x20class=\x22vd__delete-confirm-text\x22>Deleting\x20this\x20view\x20will\x20orphan:\x20<strong>{{\x20orphanedIndexes.join(\x27,\x20\x27)\x20}}</strong>.\x20Drop\x20or\x20keep\x20these\x20indexes?</span><div\x20class=\x22vd__delete-confirm-actions\x22><button\x20class=\x22vd__btn\x20vd__btn--danger\x22\x20:disabled=\x22actionLoading\x22\x20@click=\x22deleteViewWithIndexes(\x27drop\x27)\x22>Drop</button>\x20<button\x20class=\x22vd__btn\x20vd__btn--primary\x22\x20:disabled=\x22actionLoading\x22\x20@click=\x22deleteViewWithIndexes(\x27keep\x27)\x22>Keep</button>\x20<button\x20class=\x22vd__btn\x20vd__btn--primary\x22\x20:disabled=\x22actionLoading\x22\x20@click=\x22showOrphanedIndexConfirm\x20=\x20false\x22>Cancel</button></div></div></if></div><div\x20class=\x22vd__section\x22><div\x20class=\x22vd__section-title\x22>Output</div><if\x20:=\x22output\x20!=\x20null\x22><pre\x20class=\x22vd__pre\x22>{{\x20formatJson(output)\x20}}</pre></if><if\x20:=\x22output\x20==\x20null\x22><div\x20class=\x22vd__empty\x22>No\x20output\x20available</div></if></div><div\x20class=\x22vd__section\x22><div\x20class=\x22vd__section-title\x22>Meta</div><if\x20:=\x22meta\x22><div\x20class=\x22vd__meta-grid\x22><div\x20class=\x22vd__meta-row\x22><span\x20class=\x22vd__meta-key\x22>state</span>\x20<span\x20class=\x22vd__meta-val\x22\x20:style=\x22\x27color:\x27\x20+\x20stateColor(meta.state)\x22>{{\x20meta.state\x20??\x20\x27—\x27\x20}}</span></div><div\x20class=\x22vd__meta-row\x22><span\x20class=\x22vd__meta-key\x22>clock</span>\x20<span\x20class=\x22vd__meta-val\x22>{{\x20meta.clock\x20??\x20\x27—\x27\x20}}</span></div><if\x20:=\x22meta.error\x22><div\x20class=\x22vd__meta-row\x22><span\x20class=\x22vd__meta-key\x22>error</span>\x20<span\x20class=\x22vd__meta-val\x20vd__meta-val--error\x22>{{\x20meta.error\x20}}</span></div></if></div><if\x20:=\x22meta.refs\x20&&\x20Object.keys(meta.refs).length\x20>\x200\x22><div\x20class=\x22vd__section-title\x22\x20style=\x22margin-top:\x208px;\x22>Refs</div><div\x20class=\x22vd__refs\x22><each\x20:of=\x22Object.entries(meta.refs)\x22\x20let:item=\x22entry\x22><div\x20class=\x22vd__ref-row\x22><span\x20class=\x22vd__ref-name\x22>{{\x20entry[0]\x20}}</span>\x20<span\x20class=\x22vd__ref-state\x22>{{\x20typeof\x20entry[1]\x20===\x20\x27object\x27\x20?\x20(entry[1]?.state\x20??\x20JSON.stringify(entry[1]))\x20:\x20entry[1]\x20}}</span></div></each></div></if></if><if\x20:=\x22!meta\x22><div\x20class=\x22vd__empty\x22>No\x20meta\x20available</div></if></div><div\x20class=\x22vd__section\x22><div\x20class=\x22vd__section-title\x22>Definition</div><if\x20:=\x22definition\x20!=\x20null\x22><pre\x20class=\x22vd__pre\x22>{{\x20formatJson(definition)\x20}}</pre></if><if\x20:=\x22definition\x20==\x20null\x22><div\x20class=\x22vd__empty\x22>No\x20definition\x20available</div></if></div></if></div>','2741312RENrgp','35934173LtZSdD','creating','stores','$watch','$ok','1007098wUuZff','okdb','resetting','9eXPLPw','#4FC1FF','message','details','loading','view-detail{gap:0;height:100%;overflow-y:auto}.vd,.vd__header,view-detail{display:flex;flex-direction:column}.vd{gap:20px;padding:20px\x2024px}.vd__header{gap:10px;padding-bottom:16px;border-bottom:1px\x20solid\x20var(--okdb-app-border)}.vd__title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.vd__name,.vd__state-badge{font-weight:600;white-space:nowrap}.vd__name{font-size:20px;color:var(--okdb-app-fg-strong);margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;flex-shrink:1}.vd__state-badge{display:inline-flex;align-items:center;gap:6px;padding:3px\x208px;border-radius:999px;border:1px\x20solid\x20var(--okdb-app-border);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.vd__state-dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0}.vd__type-label{font-size:11px;color:var(--okdb-app-fg-subtle);font-family:monospace}.vd__actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.vd__btn{padding:5px\x2012px;border-radius:4px;font-size:12px;font-weight:600;border:1px\x20solid;background:0\x200;cursor:pointer;transition:all\x20.15s\x20ease}.vd__btn--primary{border-color:var(--okdb-accent);color:var(--okdb-accent)}.vd__btn--primary:hover{background:color-mix(in\x20srgb,var(--okdb-accent)\x2010%,transparent);transform:none;box-shadow:none}.vd__btn--warning{border-color:var(--okdb-warning);color:var(--okdb-warning)}.vd__btn--warning:hover{background:color-mix(in\x20srgb,var(--okdb-warning)\x2010%,transparent);transform:none;box-shadow:none}.vd__btn--danger{border-color:var(--okdb-danger);color:var(--okdb-danger)}.vd__btn--danger:hover{background:color-mix(in\x20srgb,var(--okdb-danger)\x2010%,transparent);transform:none;box-shadow:none}.vd__btn:disabled{opacity:.4;cursor:not-allowed}.vd__delete-confirm{display:flex;align-items:center;gap:10px;padding:8px\x2012px;background:color-mix(in\x20srgb,var(--okdb-danger)\x207%,transparent);border:1px\x20solid\x20color-mix(in\x20srgb,var(--okdb-danger)\x2025%,transparent);border-radius:5px;font-size:12px;color:var(--okdb-danger);flex-wrap:wrap}.vd__delete-confirm-text{flex:1;min-width:0}.vd__delete-confirm-actions{display:flex;gap:6px}.vd__section{display:flex;flex-direction:column;gap:10px}.vd__section-title{font-size:11px;font-weight:600;color:var(--okdb-app-fg-muted);text-transform:uppercase;letter-spacing:.05em}.vd__pre{font-family:monospace;font-size:12px;background:var(--okdb-app-bg-deep);border:1px\x20solid\x20var(--okdb-app-border);border-radius:5px;padding:12px\x2014px;overflow-x:auto;color:var(--okdb-app-fg);white-space:pre;margin:0;line-height:1.5}.vd__meta-grid{display:flex;flex-direction:column;gap:6px;font-size:12px}.vd__meta-row{display:flex;gap:8px}.vd__meta-key{color:var(--okdb-app-fg-subtle);width:80px;flex-shrink:0}.vd__meta-val{color:var(--okdb-app-fg);font-family:monospace;word-break:break-all}.vd__meta-val--error{color:var(--okdb-danger)}.vd__empty,.vd__error{font-size:12px;color:var(--okdb-app-fg-subtle)}.vd__error{color:var(--okdb-danger);padding:8px;background:color-mix(in\x20srgb,var(--okdb-danger)\x207%,transparent);border:1px\x20solid\x20color-mix(in\x20srgb,var(--okdb-danger)\x2020%,transparent);border-radius:4px}.vd__loading{font-size:12px;opacity:.5;padding:40px;text-align:center}.vd__refs{display:flex;flex-direction:column;gap:4px;margin-top:4px}.vd__ref-row{display:flex;gap:8px;font-size:11px;padding:4px\x208px;background:var(--okdb-app-bg-deep);border-radius:3px;border:1px\x20solid\x20var(--okdb-app-border)}.vd__ref-name{color:var(--okdb-sky);font-family:monospace;flex:1}.vd__ref-state{color:var(--okdb-app-fg-subtle)}','944074DxmaFY','json','10mmwPYK','name','17811vUBNEA','unknown','$dispatch','ready','load','result','actionLoading','#f44336','20780RUYgXY','VIEW_HAS_ORPHANED_INDEXES','936liBUXM','$attr','apiBase','orphanedIndexes','all','\x20failed','showDeleteConfirm','#fbbf24','5434037WSDWJA','showOrphanedIndexConfirm','/views/','Delete\x20failed','#4caf50','state-changed','definition','catch','state','#666','4768sxmuko','code','error','output','view-detail','data','DELETE','meta'];_0x205c=function(){return _0x42a623;};return _0x205c();}
@@ -1 +1 @@
1
- const _0x462ece=_0x2de5;function _0x8b82(){const _0x32f4e0=['data','onCreate','Failed\x20to\x20load\x20views','resetting','json','/views/','5708360aSmIiV','40PIZLoP','all','name','/meta','12PJKHRs','#4FC1FF','1136215JMvFde','unknown','okdb','5454112CGxcGL','apiBase','selected','views','313122fHTwhy','halted','selectedEnv','error','views-list','221660BnKfXt','2980197qIPkmN','load','loading','#fbbf24','ready','creating','$ok','<if\x20:=\x22error\x20&&\x20!loading\x22><div\x20class=\x22vl__error\x22><span>{{\x20error\x20}}</span>\x20<button\x20class=\x22vl__error-retry\x22\x20@click=\x22load()\x22\x20title=\x22Retry\x22>↺</button></div></if><button\x20class=\x22vl__item\x22\x20:class=\x22selected\x20===\x20null\x20?\x20\x27vl__item--selected\x27\x20:\x20\x27\x27\x22\x20@click=\x22selectOverview()\x22\x20style=\x22margin-bottom:4px;\x22><span\x20style=\x22font-size:13px;opacity:.6;flex-shrink:0;line-height:1;\x22>⊞</span>\x20<span\x20class=\x22vl__name\x22\x20style=\x22font-family:inherit;\x22>Overview</span></button><div\x20style=\x22height:1px;\x20background:var(--okdb-app-surface-2);\x20margin:2px\x200\x206px;\x22/><button\x20class=\x22vl__add\x22\x20@click=\x22handleCreate()\x22>+\x20Create\x20View\x20({{\x20views.length\x20}})</button><if\x20:=\x22loading\x20&&\x20views.length\x20===\x200\x22><div\x20class=\x22vl__message\x22>Loading…</div></if><each\x20:of=\x22views\x22\x20let:item=\x22v\x22><button\x20class=\x22vl__item\x22\x20:class=\x22selected\x20===\x20v.name\x20?\x20\x27vl__item--selected\x27\x20:\x20\x27\x27\x22\x20@click=\x22selectView(v)\x22\x20:title=\x22v.name\x22><span\x20class=\x22vl__name\x22>{{\x20v.name\x20}}</span>\x20<span\x20class=\x22vl__state-dot\x22\x20:style=\x22\x27background:\x27\x20+\x20stateColor(v.state)\x22/></button></each><if\x20:=\x22!loading\x20&&\x20views.length\x20===\x200\x20&&\x20!error\x22><div\x20class=\x22vl__message\x22>No\x20views</div></if>','state','/definition','stopped','$dispatch','#f44336','type','result','840052oontCS','#666','30wVHpsn','stores','$watch','map'];_0x8b82=function(){return _0x32f4e0;};return _0x8b82();}function _0x2de5(_0x5834e2,_0x5a8e9c){_0x5834e2=_0x5834e2-0xe1;const _0x8b8298=_0x8b82();let _0x2de54c=_0x8b8298[_0x5834e2];return _0x2de54c;}(function(_0x32d745,_0x734422){const _0x857e4b=_0x2de5,_0x512441=_0x32d745();while(!![]){try{const _0x2fc54b=-parseInt(_0x857e4b(0x107))/0x1+-parseInt(_0x857e4b(0xf2))/0x2+-parseInt(_0x857e4b(0x109))/0x3*(parseInt(_0x857e4b(0xf7))/0x4)+-parseInt(_0x857e4b(0xeb))/0x5*(parseInt(_0x857e4b(0xe9))/0x6)+parseInt(_0x857e4b(0xe4))/0x7+parseInt(_0x857e4b(0xee))/0x8+-parseInt(_0x857e4b(0xf8))/0x9*(-parseInt(_0x857e4b(0xe5))/0xa);if(_0x2fc54b===_0x734422)break;else _0x512441['push'](_0x512441['shift']());}catch(_0x5713a6){_0x512441['push'](_0x512441['shift']());}}}(_0x8b82,0xc758f));export default{'tag':_0x462ece(0xf6),'attr':{'onCreate':{}},'context':_0x4a9ba7=>({'views':[],'selected':null,'loading':!0x1,'error':null,async 'load'(){const _0x4a56ff=_0x462ece;this[_0x4a56ff(0xfa)]=!0x0,this[_0x4a56ff(0xf5)]=null;try{if(!_0x4a9ba7[_0x4a56ff(0xfe)][_0x4a56ff(0x10a)]['okdb'][_0x4a56ff(0xf4)])return void(this[_0x4a56ff(0xf1)]=[]);const _0xb3cc01=_0x4a9ba7[_0x4a56ff(0xfe)]['stores'][_0x4a56ff(0xed)][_0x4a56ff(0xef)],_0x1937a9=await fetch(_0xb3cc01+'/views');if(!_0x1937a9['ok'])throw new Error(_0x4a56ff(0x10f));const _0x564e5b=await _0x1937a9[_0x4a56ff(0xe2)](),_0xd3d0b9=_0x564e5b[_0x4a56ff(0x10d)]??_0x564e5b['result']??[],_0x1cf24c=await Promise[_0x4a56ff(0xe6)](_0xd3d0b9[_0x4a56ff(0x10c)](async _0x5e5587=>{const _0xe5ef6c=_0x4a56ff,[_0x439893,_0x34d683]=await Promise[_0xe5ef6c(0xe6)]([fetch(_0xb3cc01+_0xe5ef6c(0xe3)+_0x5e5587+_0xe5ef6c(0xe8)),fetch(_0xb3cc01+_0xe5ef6c(0xe3)+_0x5e5587+_0xe5ef6c(0x101))]),_0x122142=_0x439893['ok']?await _0x439893[_0xe5ef6c(0xe2)]():{},_0x3f14d8=_0x34d683['ok']?await _0x34d683[_0xe5ef6c(0xe2)]():{},_0x314b58=_0x122142[_0xe5ef6c(0x10d)]??_0x122142[_0xe5ef6c(0x106)]??{},_0x3b0cd8=_0x3f14d8[_0xe5ef6c(0x10d)]??_0x3f14d8[_0xe5ef6c(0x106)]??{};return{'name':_0x5e5587,'state':_0x314b58?.[_0xe5ef6c(0x100)]??_0xe5ef6c(0xec),'type':_0x3b0cd8?.[_0xe5ef6c(0x105)]??'?'};}));this[_0x4a56ff(0xf1)]=_0x1cf24c;}catch(_0x13b94f){this[_0x4a56ff(0xf5)]=_0x13b94f['message'];}finally{this['loading']=!0x1;}},'selectOverview'(){const _0xf40516=_0x462ece;this['selected']=null,_0x4a9ba7['$dispatch'](_0xf40516(0xf0),null);},'selectView'(_0xf919b5){const _0x1a874e=_0x462ece;this[_0x1a874e(0xf0)]=_0xf919b5[_0x1a874e(0xe7)],_0x4a9ba7[_0x1a874e(0x103)](_0x1a874e(0xf0),_0xf919b5[_0x1a874e(0xe7)]);},'handleCreate'(){const _0x474a07=_0x462ece;_0x4a9ba7['$attr'][_0x474a07(0x10e)]?.();},'stateColor'(_0x2dca79){const _0x34676a=_0x462ece;switch(_0x2dca79){case _0x34676a(0xfc):return'#4caf50';case _0x34676a(0xfd):case _0x34676a(0xe1):return _0x34676a(0xea);case _0x34676a(0xf3):return _0x34676a(0x104);case _0x34676a(0x102):return _0x34676a(0xfb);default:return _0x34676a(0x108);}}}),'mount'(_0x4c01c0){const _0xc0a66f=_0x462ece;_0x4c01c0[_0xc0a66f(0x10b)](()=>_0x4c01c0['$ok'][_0xc0a66f(0x10a)][_0xc0a66f(0xed)][_0xc0a66f(0xf4)],()=>this[_0xc0a66f(0xf9)]()),this[_0xc0a66f(0xf9)]();},'style':'views-list{position:relative;display:flex;flex-direction:column;gap:2px}views-list\x20button{text-align:left}.vl__add{font-size:12px;padding:7px\x2010px;margin-bottom:4px}.vl__item{display:flex;align-items:center;gap:6px;padding:6px\x2010px;font-size:12px;background:0\x200;border-color:transparent;color:var(--okdb-app-fg-muted);border-radius:7px;width:100%}.vl__item:hover{background:var(--okdb-app-surface-2);border-color:var(--okdb-app-border);color:var(--okdb-app-fg)}.vl__item--selected{background:var(--okdb-app-bg-deep)!important;border-color:color-mix(in\x20srgb,var(--okdb-accent)\x2027%,transparent)!important;color:var(--okdb-accent)!important}.vl__name{flex:1;font-family:monospace;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vl__state-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.vl__error{display:flex;align-items:flex-start;gap:6px;padding:8px\x2010px;font-size:11px;color:var(--okdb-danger);background:rgba(255,60,60,.06);border:1px\x20solid\x20rgba(255,60,60,.18);border-radius:6px;line-height:1.4;word-break:break-word}.vl__error\x20span{flex:1}.vl__error-retry{flex-shrink:0;background:0\x200;border:0;color:var(--okdb-danger);cursor:pointer;font-size:14px;padding:0\x202px;opacity:.7}.vl__error-retry:hover{opacity:1}.vl__message{font-size:11px;opacity:.5;padding:8px;text-align:center;color:var(--okdb-app-fg-muted)}','template':_0x462ece(0xff)};
1
+ function _0x48d4(_0x31a5f7,_0x45833f){_0x31a5f7=_0x31a5f7-0x105;const _0x3f5b4a=_0x3f5b();let _0x48d471=_0x3f5b4a[_0x31a5f7];return _0x48d471;}const _0x1d431e=_0x48d4;(function(_0x26d6b6,_0x2d546f){const _0x5d48b1=_0x48d4,_0x90ac96=_0x26d6b6();while(!![]){try{const _0x90719a=-parseInt(_0x5d48b1(0x117))/0x1+-parseInt(_0x5d48b1(0x106))/0x2+parseInt(_0x5d48b1(0x129))/0x3+-parseInt(_0x5d48b1(0x133))/0x4*(-parseInt(_0x5d48b1(0x12b))/0x5)+parseInt(_0x5d48b1(0x126))/0x6*(parseInt(_0x5d48b1(0x107))/0x7)+parseInt(_0x5d48b1(0x120))/0x8*(parseInt(_0x5d48b1(0x11f))/0x9)+-parseInt(_0x5d48b1(0x121))/0xa*(parseInt(_0x5d48b1(0x114))/0xb);if(_0x90719a===_0x2d546f)break;else _0x90ac96['push'](_0x90ac96['shift']());}catch(_0x149551){_0x90ac96['push'](_0x90ac96['shift']());}}}(_0x3f5b,0x1e797));export default{'tag':_0x1d431e(0x10c),'attr':{'onCreate':{}},'context':_0x1084d5=>({'views':[],'selected':null,'loading':!0x1,'error':null,async 'load'(){const _0x23ed76=_0x1d431e;this[_0x23ed76(0x119)]=!0x0,this['error']=null;try{if(!_0x1084d5[_0x23ed76(0x128)][_0x23ed76(0x113)][_0x23ed76(0x123)][_0x23ed76(0x12a)])return void(this[_0x23ed76(0x131)]=[]);const _0x18c767=_0x1084d5[_0x23ed76(0x128)][_0x23ed76(0x113)][_0x23ed76(0x123)][_0x23ed76(0x111)],_0x3b52aa=await fetch(_0x18c767+_0x23ed76(0x11e));if(!_0x3b52aa['ok'])throw new Error(_0x23ed76(0x11d));const _0x2c2c08=await _0x3b52aa[_0x23ed76(0x10e)](),_0x455a8f=_0x2c2c08[_0x23ed76(0x10f)]??_0x2c2c08[_0x23ed76(0x124)]??[],_0x1a23b3=await Promise['all'](_0x455a8f['map'](async _0xa06e3b=>{const _0x2eae78=_0x23ed76,[_0x5e56df,_0x260219]=await Promise[_0x2eae78(0x125)]([fetch(_0x18c767+_0x2eae78(0x108)+_0xa06e3b+_0x2eae78(0x11b)),fetch(_0x18c767+_0x2eae78(0x108)+_0xa06e3b+'/definition')]),_0x67f0a1=_0x5e56df['ok']?await _0x5e56df[_0x2eae78(0x10e)]():{},_0x541ddd=_0x260219['ok']?await _0x260219[_0x2eae78(0x10e)]():{},_0x2e5119=_0x67f0a1[_0x2eae78(0x10f)]??_0x67f0a1['result']??{},_0x2bfe6c=_0x541ddd[_0x2eae78(0x10f)]??_0x541ddd[_0x2eae78(0x124)]??{};return{'name':_0xa06e3b,'state':_0x2e5119?.[_0x2eae78(0x12c)]??_0x2eae78(0x109),'type':_0x2bfe6c?.[_0x2eae78(0x115)]??'?'};}));this[_0x23ed76(0x131)]=_0x1a23b3;}catch(_0x4e4746){this['error']=_0x4e4746[_0x23ed76(0x134)];}finally{this[_0x23ed76(0x119)]=!0x1;}},'selectOverview'(){const _0x450370=_0x1d431e;this[_0x450370(0x10a)]=null,_0x1084d5[_0x450370(0x11c)](_0x450370(0x10a),null);},'selectView'(_0x212f74){const _0x41ef33=_0x1d431e;this[_0x41ef33(0x10a)]=_0x212f74[_0x41ef33(0x12e)],_0x1084d5[_0x41ef33(0x11c)]('selected',_0x212f74[_0x41ef33(0x12e)]);},'handleCreate'(){const _0x49f4ec=_0x1d431e;_0x1084d5[_0x49f4ec(0x132)][_0x49f4ec(0x11a)]?.();},'stateColor'(_0x50d703){const _0x286b4f=_0x1d431e;switch(_0x50d703){case _0x286b4f(0x116):return _0x286b4f(0x105);case _0x286b4f(0x122):case _0x286b4f(0x10b):return _0x286b4f(0x118);case _0x286b4f(0x12d):return'#f44336';case'stopped':return _0x286b4f(0x110);default:return _0x286b4f(0x130);}}}),'mount'(_0x50ae4b){const _0x22625e=_0x1d431e;_0x50ae4b[_0x22625e(0x112)](()=>_0x50ae4b['$ok'][_0x22625e(0x113)][_0x22625e(0x123)]['selectedEnv'],()=>this[_0x22625e(0x127)]()),this['load']();},'style':_0x1d431e(0x12f),'template':_0x1d431e(0x10d)};function _0x3f5b(){const _0x3fe97c=['json','data','#fbbf24','apiBase','$watch','stores','627JLUpif','type','ready','116544EoKUPT','#4FC1FF','loading','onCreate','/meta','$dispatch','Failed\x20to\x20load\x20views','/views','9CbaWbz','1614632dDwYgb','88370oRdSEi','creating','okdb','result','all','120822GzBngV','load','$ok','687774uOGxUn','selectedEnv','6350MQHqCc','state','halted','name','views-list{position:relative;display:flex;flex-direction:column;gap:2px}views-list\x20button{text-align:left}.vl__add{font-size:12px;padding:7px\x2010px;margin-bottom:4px}.vl__item{display:flex;align-items:center;gap:6px;padding:6px\x2010px;font-size:12px;background:0\x200;border-color:transparent;color:var(--okdb-app-fg-muted);border-radius:7px;width:100%}.vl__item:hover{background:var(--okdb-app-surface-2);border-color:var(--okdb-app-border);color:var(--okdb-app-fg)}.vl__item--selected{background:var(--okdb-app-bg-deep)!important;border-color:color-mix(in\x20srgb,var(--okdb-accent)\x2027%,transparent)!important;color:var(--okdb-accent)!important}.vl__name{flex:1;font-family:monospace;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vl__state-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.vl__error{display:flex;align-items:flex-start;gap:6px;padding:8px\x2010px;font-size:11px;color:var(--okdb-danger);background:rgba(255,60,60,.06);border:1px\x20solid\x20rgba(255,60,60,.18);border-radius:6px;line-height:1.4;word-break:break-word}.vl__error\x20span{flex:1}.vl__error-retry{flex-shrink:0;background:0\x200;border:0;color:var(--okdb-danger);cursor:pointer;font-size:14px;padding:0\x202px;opacity:.7}.vl__error-retry:hover{opacity:1}.vl__message{font-size:11px;opacity:.5;padding:8px;text-align:center;color:var(--okdb-app-fg-muted)}','#666','views','$attr','524aylJap','message','#4caf50','147776xUKefB','77aEFXBe','/views/','unknown','selected','resetting','views-list','<if\x20:=\x22error\x20&&\x20!loading\x22><div\x20class=\x22vl__error\x22><span>{{\x20error\x20}}</span>\x20<button\x20class=\x22vl__error-retry\x22\x20@click=\x22load()\x22\x20title=\x22Retry\x22>↺</button></div></if><button\x20class=\x22vl__item\x22\x20:class=\x22selected\x20===\x20null\x20?\x20\x27vl__item--selected\x27\x20:\x20\x27\x27\x22\x20@click=\x22selectOverview()\x22\x20style=\x22margin-bottom:4px;\x22><span\x20style=\x22font-size:13px;opacity:.6;flex-shrink:0;line-height:1;\x22>⊞</span>\x20<span\x20class=\x22vl__name\x22\x20style=\x22font-family:inherit;\x22>Overview</span></button><div\x20style=\x22height:1px;\x20background:var(--okdb-app-surface-2);\x20margin:2px\x200\x206px;\x22/><button\x20class=\x22vl__add\x22\x20@click=\x22handleCreate()\x22>+\x20Create\x20View\x20({{\x20views.length\x20}})</button><if\x20:=\x22loading\x20&&\x20views.length\x20===\x200\x22><div\x20class=\x22vl__message\x22>Loading…</div></if><each\x20:of=\x22views\x22\x20let:item=\x22v\x22><button\x20class=\x22vl__item\x22\x20:class=\x22selected\x20===\x20v.name\x20?\x20\x27vl__item--selected\x27\x20:\x20\x27\x27\x22\x20@click=\x22selectView(v)\x22\x20:title=\x22v.name\x22><span\x20class=\x22vl__name\x22>{{\x20v.name\x20}}</span>\x20<span\x20class=\x22vl__state-dot\x22\x20:style=\x22\x27background:\x27\x20+\x20stateColor(v.state)\x22/></button></each><if\x20:=\x22!loading\x20&&\x20views.length\x20===\x200\x20&&\x20!error\x22><div\x20class=\x22vl__message\x22>No\x20views</div></if>'];_0x3f5b=function(){return _0x3fe97c;};return _0x3f5b();}