@kedem/okdb 1.0.0 → 1.0.1

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 (117) hide show
  1. package/README.md +1 -1
  2. package/bin/okdb.js +1 -1
  3. package/okdb-data/default/data.mdb +0 -0
  4. package/okdb-data/default/lock.mdb +0 -0
  5. package/okdb-data/~log/data.mdb +0 -0
  6. package/okdb-data/~log/lock.mdb +0 -0
  7. package/okdb-data/~system/data.mdb +0 -0
  8. package/okdb-data/~system/lock.mdb +0 -0
  9. package/okdb.js +1 -1
  10. package/package.json +1 -1
  11. package/public/admin-app.js +1 -1
  12. package/public/components/admin-route-host.ok.js +1 -1
  13. package/public/components/env-picker.ok.js +1 -1
  14. package/public/components/field-path-input.ok.js +1 -1
  15. package/public/components/geo-map.ok.js +1 -1
  16. package/public/components/ok-cron-input.ok.js +1 -1
  17. package/public/components/ok-dropzone.ok.js +1 -1
  18. package/public/components/ok-js-input.ok.js +1 -1
  19. package/public/components/ok-json-input.ok.js +1 -1
  20. package/public/components/ok-text-monaco-input.ok.js +1 -1
  21. package/public/components/theme-toggle.ok.js +1 -1
  22. package/public/login-app.js +1 -1
  23. package/public/modules/ok.js +1 -1
  24. package/public/sections/api/parts/api-endpoint.ok.js +1 -1
  25. package/public/sections/auth/modals/create-token-modal.ok.js +1 -1
  26. package/public/sections/auth/modals/edit-token-modal.ok.js +1 -1
  27. package/public/sections/auth/modals/perm-info-popover.ok.js +1 -1
  28. package/public/sections/auth/parts/token-detail.ok.js +1 -1
  29. package/public/sections/auth/parts/token-list.ok.js +1 -1
  30. package/public/sections/db/modals/add-item-modal.ok.js +1 -1
  31. package/public/sections/db/modals/create-env-modal.ok.js +1 -1
  32. package/public/sections/db/modals/create-fts-modal.ok.js +1 -1
  33. package/public/sections/db/modals/create-index-modal.ok.js +1 -1
  34. package/public/sections/db/modals/create-pipeline-modal.ok.js +1 -1
  35. package/public/sections/db/modals/demo-env-modal.ok.js +1 -1
  36. package/public/sections/db/modals/remove-env-modal.ok.js +1 -1
  37. package/public/sections/db/modals/schema-edit-modal.ok.js +1 -1
  38. package/public/sections/db/parts/db-overview.ok.js +1 -1
  39. package/public/sections/db/parts/db-pipelines-panel.ok.js +1 -1
  40. package/public/sections/db/parts/edit-row.ok.js +1 -1
  41. package/public/sections/db/parts/tm-timeline.ok.js +1 -1
  42. package/public/sections/db/parts/type-changelog.ok.js +1 -1
  43. package/public/sections/db/parts/type-list.ok.js +1 -1
  44. package/public/sections/db/parts/type-pipelines-tab.ok.js +1 -1
  45. package/public/sections/db/parts/type-schema-tab.ok.js +1 -1
  46. package/public/sections/db/parts/type-viewer.ok.js +1 -1
  47. package/public/sections/db/parts/type-violations-tab.ok.js +1 -1
  48. package/public/sections/embeddings/modals/register-model-modal.ok.js +1 -1
  49. package/public/sections/embeddings/parts/embed-create-panel.ok.js +1 -1
  50. package/public/sections/embeddings/parts/embed-embedder-panel.ok.js +1 -1
  51. package/public/sections/embeddings/parts/embed-engine-declaration-editor.ok.js +1 -1
  52. package/public/sections/embeddings/parts/embed-engine-list.ok.js +1 -1
  53. package/public/sections/embeddings/parts/embed-indexer-panel.ok.js +1 -1
  54. package/public/sections/embeddings/parts/embed-lifecycle-bar.ok.js +1 -1
  55. package/public/sections/embeddings/parts/embed-model-catalog.ok.js +1 -1
  56. package/public/sections/embeddings/parts/embed-overview.ok.js +1 -1
  57. package/public/sections/embeddings/parts/embed-search-panel.ok.js +1 -1
  58. package/public/sections/embeddings/parts/embed-worker-panel.ok.js +1 -1
  59. package/public/sections/embeddings/parts/embeddings-engine-panel.ok.js +1 -1
  60. package/public/sections/embeddings/parts/engines-overview.ok.js +1 -1
  61. package/public/sections/embeddings/parts/pipeline-create-panel.ok.js +1 -1
  62. package/public/sections/engines/engine-panel-shared-style.js +1 -1
  63. package/public/sections/engines/engine-ui-utils.js +1 -1
  64. package/public/sections/engines/modals/engine-modal.ok.js +1 -1
  65. package/public/sections/engines/parts/engine-declaration-editor.ok.js +1 -1
  66. package/public/sections/engines/parts/engine-lifecycle-actions.ok.js +1 -1
  67. package/public/sections/engines/parts/engine-panel-shell.ok.js +1 -1
  68. package/public/sections/engines/parts/engine-resource-card.ok.js +1 -1
  69. package/public/sections/engines/parts/engine-row-item.ok.js +1 -1
  70. package/public/sections/engines/parts/generic-engine-panel.ok.js +1 -1
  71. package/public/sections/files/parts/files-blob-status.ok.js +1 -1
  72. package/public/sections/files/parts/files-collection-list.ok.js +1 -1
  73. package/public/sections/files/parts/files-collection-panel.ok.js +1 -1
  74. package/public/sections/files/parts/files-file-list.ok.js +1 -1
  75. package/public/sections/files/parts/files-overview.ok.js +1 -1
  76. package/public/sections/files/parts/files-path-browser.ok.js +1 -1
  77. package/public/sections/files/parts/files-upload-panel.ok.js +1 -1
  78. package/public/sections/functions/modals/function-modal.ok.js +1 -1
  79. package/public/sections/functions/parts/function-detail.ok.js +1 -1
  80. package/public/sections/functions/parts/function-logs.ok.js +1 -1
  81. package/public/sections/functions/parts/function-runner.ok.js +1 -1
  82. package/public/sections/functions/parts/functions-list.ok.js +1 -1
  83. package/public/sections/license/parts/license-panel.ok.js +1 -1
  84. package/public/sections/queue/modals/create-bucket-modal.ok.js +1 -1
  85. package/public/sections/queue/modals/edit-bucket-modal.ok.js +1 -1
  86. package/public/sections/queue/modals/edit-job-modal.ok.js +1 -1
  87. package/public/sections/queue/modals/enqueue-job-modal.ok.js +1 -1
  88. package/public/sections/queue/modals/job-type-modal.ok.js +1 -1
  89. package/public/sections/queue/parts/ok-job-form.ok.js +1 -1
  90. package/public/sections/queue/parts/queue-buckets.ok.js +1 -1
  91. package/public/sections/queue/parts/queue-job-types.ok.js +1 -1
  92. package/public/sections/queue/parts/queue-jobs.ok.js +1 -1
  93. package/public/sections/queue/parts/queue-types.ok.js +1 -1
  94. package/public/sections/queue/parts/queue-workers.ok.js +1 -1
  95. package/public/sections/sync/parts/sync-node-detail.ok.js +1 -1
  96. package/public/sections/sync/parts/sync-retention.ok.js +1 -1
  97. package/public/sections/sync/parts/sync-topology.ok.js +1 -1
  98. package/public/sections/system/modals/data-ops-modal.ok.js +1 -1
  99. package/public/sections/system/parts/system-api-panel.ok.js +1 -1
  100. package/public/sections/system/parts/system-auth-panel.ok.js +1 -1
  101. package/public/sections/system/parts/system-log-history.ok.js +1 -1
  102. package/public/sections/system/parts/system-log.ok.js +1 -1
  103. package/public/sections/system/parts/system-status.ok.js +1 -1
  104. package/public/sections/system/parts/system-sync-panel.ok.js +1 -1
  105. package/public/sections/views/modals/create-view-modal.ok.js +1 -1
  106. package/public/sections/views/parts/view-detail.ok.js +1 -1
  107. package/public/sections/views/parts/views-list.ok.js +1 -1
  108. package/public/sections/views/parts/views-overview.ok.js +1 -1
  109. package/public/setup-app.js +1 -1
  110. package/public/stores/auth-store.js +1 -1
  111. package/public/stores/events-store.js +1 -1
  112. package/public/stores/functions-store.js +1 -1
  113. package/public/stores/okdb-store.js +1 -1
  114. package/public/stores/theme-store.js +1 -1
  115. package/public/util/permissions.js +1 -1
  116. package/public/util/sift-schema.js +1 -1
  117. package/public/view-models/type-query-vm.js +1 -1
@@ -1 +1 @@
1
- const _0x1ef37c=_0x1396;(function(_0x6db674,_0x6e2cf3){const _0x3e9f68=_0x1396,_0x132426=_0x6db674();while(!![]){try{const _0x46f710=parseInt(_0x3e9f68(0x1d6))/0x1+-parseInt(_0x3e9f68(0x1d1))/0x2+-parseInt(_0x3e9f68(0x1d8))/0x3+parseInt(_0x3e9f68(0x1d7))/0x4+parseInt(_0x3e9f68(0x1ca))/0x5+parseInt(_0x3e9f68(0x1c5))/0x6+-parseInt(_0x3e9f68(0x1c8))/0x7*(-parseInt(_0x3e9f68(0x1d5))/0x8);if(_0x46f710===_0x6e2cf3)break;else _0x132426['push'](_0x132426['shift']());}catch(_0x3b9bcb){_0x132426['push'](_0x132426['shift']());}}}(_0x421f,0xdab1c));import _0x48b167 from'@toolkit/elements/ok-icon.ok.js';function _0x1396(_0x11e6d6,_0xb5aa97){_0x11e6d6=_0x11e6d6-0x1bc;const _0x421fe9=_0x421f();let _0x139697=_0x421fe9[_0x11e6d6];return _0x139697;}function _0x421f(){const _0x1c1845=['2192232TlwtCz','3570087btPUsL','s\x20ago','round','$watch','$attr','m\x20ago','type-violations-tab','stores','\x0a<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:16px;\x20flex:1;\x20overflow:auto;\x20padding-right:4px;\x22>\x0a\x0a\x20\x20<div\x20class=\x22card\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22manage-section-header\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22manage-section-title\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20Schema\x20Violations\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22violations.length\x20>\x200\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22tv-count-badge\x22>{{\x20violations.length\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20<button\x20@click=\x22loadViolations()\x22\x20:disabled=\x22violationsBusy\x22\x20class=\x22btn-icon\x22\x20style=\x22font-size:11px;\x20padding:3px\x2010px;\x20opacity:.75;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<ok-icon\x20name=\x22refresh-cw\x22></ok-icon>Refresh\x0a\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20<if\x20:=\x22violationsBusy\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22opacity:.45;\x20font-size:13px;\x22>Loading\x20violations…</div>\x0a\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20<if\x20:=\x22violationsError\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22color:var(--okdb-danger);\x20font-size:12px;\x20padding:8px\x2010px;\x20border-radius:8px;\x20border:1px\x20solid\x20color-mix(in\x20srgb,\x20var(--okdb-danger)\x2020%,\x20transparent);\x20background:color-mix(in\x20srgb,\x20var(--okdb-danger)\x204%,\x20transparent);\x22>{{\x20violationsError\x20}}</div>\x0a\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20<if\x20:=\x22!violationsBusy\x20&&\x20!violationsError\x20&&\x20violations.length\x20===\x200\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22opacity:.4;\x20font-size:13px;\x22>No\x20violations\x20—\x20all\x20documents\x20conform\x20to\x20the\x20schema.</div>\x0a\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20<if\x20:=\x22violations.length\x20>\x200\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22tv-table\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22tv-hd\x22>Key</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22tv-hd\x22>Errors</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22tv-hd\x22>When</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22tv-hd\x22></div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20<each\x20:of=\x22violations\x22\x20let:item=\x22v\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22tv-cell\x20tv-key\x22\x20@click=\x22toggleViolation(v.key)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-family:monospace;\x20font-size:12px;\x20color:var(--okdb-json-key);\x22>{{\x20v.key\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22tv-cell\x22\x20@click=\x22toggleViolation(v.key)\x22\x20style=\x22font-size:12px;\x20opacity:.65;\x22>{{\x20errorCount(v)\x20}}</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22tv-cell\x22\x20@click=\x22toggleViolation(v.key)\x22\x20style=\x22font-size:11px;\x20opacity:.45;\x22>{{\x20relTime(v.timestamp)\x20}}</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22tv-cell\x22\x20style=\x22justify-content:flex-end;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22$attr.onViewKey\x22>\x0a\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@click:stop=\x22viewDocument(v.key)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20class=\x22btn-icon\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20style=\x22font-size:11px;\x20padding:2px\x208px;\x20opacity:.75;\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20title=\x22Switch\x20to\x20data\x20tab\x20for\x20this\x20document\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20>View\x20→</button>\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</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22expandedViolation\x20===\x20v.key\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22tv-expanded\x22\x20style=\x22grid-column:1/-1;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<each\x20:of=\x22(v.errors\x20??\x20[])\x22\x20let:item=\x22err\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22tv-err-row\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22tv-path\x22>{{\x20err.path\x20||\x20\x27/\x27\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-size:12px;\x20opacity:.85;\x20flex:1;\x20min-width:0;\x22>{{\x20err.message\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22err.expected\x20!=\x20null\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:11px;\x20opacity:.5;\x20white-space:nowrap;\x22>expected:\x20<code\x20style=\x22font-size:11px;\x22>{{\x20err.expected\x20}}</code></span>\x0a\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<if\x20:=\x22err.actual\x20!=\x20null\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:11px;\x20opacity:.5;\x20white-space:nowrap;\x22>got:\x20<code\x20style=\x22font-size:11px;\x20color:var(--okdb-danger);\x22>{{\x20err.actual\x20}}</code></span>\x0a\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</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</each>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22!(v.errors\x20??\x20[]).length\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:12px;\x20opacity:.4;\x20padding:4px\x200;\x22>No\x20error\x20details\x20stored.</div>\x0a\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</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</each>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</if>\x0a\x20\x20</div>\x0a</div>\x0a','Failed\x20to\x20load\x20violations','apiBase','message','\x0a\x20\x20\x20\x20\x20\x20type-violations-tab\x20.tv-count-badge\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20margin-left:\x206px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2010px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20padding:\x202px\x208px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20border-radius:\x20999px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20border:\x201px\x20solid\x20color-mix(in\x20srgb,\x20var(--okdb-danger)\x2033%,\x20transparent);\x0a\x20\x20\x20\x20\x20\x20\x20\x20color:\x20var(--okdb-danger);\x0a\x20\x20\x20\x20\x20\x20\x20\x20font-weight:\x20600;\x0a\x20\x20\x20\x20\x20\x20\x20\x20text-transform:\x20none;\x0a\x20\x20\x20\x20\x20\x20\x20\x20letter-spacing:\x200;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20type-violations-tab\x20.tv-table\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20display:\x20grid;\x0a\x20\x20\x20\x20\x20\x20\x20\x20grid-template-columns:\x20minmax(120px,\x202fr)\x2060px\x2090px\x20auto;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20type-violations-tab\x20.tv-hd\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2011px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20opacity:\x20.4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20padding:\x200\x2012px\x206px\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20border-bottom:\x201px\x20solid\x20var(--okdb-app-border);\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20type-violations-tab\x20.tv-cell\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20padding:\x207px\x2012px\x207px\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20border-bottom:\x201px\x20solid\x20var(--okdb-app-surface);\x0a\x20\x20\x20\x20\x20\x20\x20\x20cursor:\x20pointer;\x0a\x20\x20\x20\x20\x20\x20\x20\x20transition:\x20background\x20.1s;\x0a\x20\x20\x20\x20\x20\x20\x20\x20min-width:\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20overflow:\x20hidden;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20type-violations-tab\x20.tv-cell:hover\x20{\x20background:\x20#ffffff07;\x20}\x0a\x20\x20\x20\x20\x20\x20type-violations-tab\x20.tv-key\x20{\x20overflow:\x20hidden;\x20}\x0a\x20\x20\x20\x20\x20\x20type-violations-tab\x20.tv-key\x20span\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20overflow:\x20hidden;\x0a\x20\x20\x20\x20\x20\x20\x20\x20text-overflow:\x20ellipsis;\x0a\x20\x20\x20\x20\x20\x20\x20\x20white-space:\x20nowrap;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20type-violations-tab\x20.tv-expanded\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20padding:\x2010px\x2012px\x2012px\x2014px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20background:\x20var(--okdb-app-bg-deep);\x0a\x20\x20\x20\x20\x20\x20\x20\x20border-bottom:\x201px\x20solid\x20var(--okdb-app-surface);\x0a\x20\x20\x20\x20\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20\x20\x20\x20\x20flex-direction:\x20column;\x0a\x20\x20\x20\x20\x20\x20\x20\x20gap:\x204px;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20type-violations-tab\x20.tv-err-row\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20\x20\x20\x20\x20gap:\x2010px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20align-items:\x20baseline;\x0a\x20\x20\x20\x20\x20\x20\x20\x20flex-wrap:\x20wrap;\x0a\x20\x20\x20\x20\x20\x20\x20\x20padding:\x204px\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20border-bottom:\x201px\x20solid\x20var(--okdb-app-surface-2);\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20type-violations-tab\x20.tv-err-row:last-child\x20{\x20border-bottom:\x20none;\x20}\x0a\x20\x20\x20\x20\x20\x20type-violations-tab\x20.tv-path\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2011px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20color:\x20var(--okdb-danger);\x0a\x20\x20\x20\x20\x20\x20\x20\x20font-family:\x20monospace;\x0a\x20\x20\x20\x20\x20\x20\x20\x20white-space:\x20nowrap;\x0a\x20\x20\x20\x20\x20\x20\x20\x20flex-shrink:\x200;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20','1553148qakiWO','expandedViolation','just\x20now','903jdnnnT','violations','889760dPZndd','$ok','loadViolations','result','json','violationsError','type','2283566EJbjxN','/violations/','statusText','violationsBusy','131824BpuObu','117054yHnBTG'];_0x421f=function(){return _0x1c1845;};return _0x421f();}export default{'tag':_0x1ef37c(0x1be),'dependencies':[_0x48b167],'attr':{'type':{},'onViewKey':{}},'context':_0x55fee6=>({'violations':[],'violationsBusy':!0x1,'violationsError':null,'expandedViolation':null,get 'type'(){const _0x4de92b=_0x1ef37c;return _0x55fee6[_0x4de92b(0x1bc)][_0x4de92b(0x1d0)];},get 'envApiBase'(){const _0x231a04=_0x1ef37c;return _0x55fee6[_0x231a04(0x1cb)][_0x231a04(0x1bf)]['okdb'][_0x231a04(0x1c2)];},async 'loadViolations'(){const _0x442492=_0x1ef37c;if(this['type']){this[_0x442492(0x1d4)]=!0x0,this[_0x442492(0x1cf)]=null;try{const _0x31f670=await fetch(this['envApiBase']+_0x442492(0x1d2)+encodeURIComponent(this[_0x442492(0x1d0)]));if(0x194===_0x31f670['status'])return void(this['violations']=[]);if(!_0x31f670['ok']){const _0x532ab=await _0x31f670[_0x442492(0x1ce)]()['catch'](()=>({}));throw new Error(_0x532ab?.['error']?.[_0x442492(0x1c3)]||_0x31f670[_0x442492(0x1d3)]);}const _0x4cc89b=await _0x31f670[_0x442492(0x1ce)]();this[_0x442492(0x1c9)]=_0x4cc89b?.['data']?.['violations']??_0x4cc89b?.[_0x442492(0x1cd)]?.[_0x442492(0x1c9)]??[];}catch(_0x37dd65){this['violationsError']=_0x37dd65['message']||_0x442492(0x1c1),this[_0x442492(0x1c9)]=[];}finally{this['violationsBusy']=!0x1;}}},'toggleViolation'(_0x1ed7fc){this['expandedViolation']=this['expandedViolation']===_0x1ed7fc?null:_0x1ed7fc;},'viewDocument'(_0x1002f7){const _0x5f044f=_0x1ef37c,_0x896f48=_0x55fee6[_0x5f044f(0x1bc)]['onViewKey'];'function'==typeof _0x896f48&&_0x896f48(_0x1002f7);},'relTime'(_0x1474ef){const _0x1cb2f5=_0x1ef37c;if(!_0x1474ef)return'—';const _0x125a38=Date['now']()-_0x1474ef;return _0x125a38<0x1388?_0x1cb2f5(0x1c7):_0x125a38<0xea60?Math[_0x1cb2f5(0x1da)](_0x125a38/0x3e8)+_0x1cb2f5(0x1d9):_0x125a38<0x36ee80?Math['round'](_0x125a38/0xea60)+_0x1cb2f5(0x1bd):_0x125a38<0x5265c00?Math[_0x1cb2f5(0x1da)](_0x125a38/0x36ee80)+'h\x20ago':new Date(_0x1474ef)['toLocaleDateString']();},'errorCount':_0x520feb=>(_0x520feb['errors']??[])['length']||(_0x520feb['errorCount']??0x0)}),async 'init'(_0x20f53f){const _0x3ae12f=_0x1ef37c;_0x20f53f[_0x3ae12f(0x1db)](()=>this[_0x3ae12f(0x1d0)],async()=>{const _0x591c05=_0x3ae12f;this[_0x591c05(0x1c9)]=[],this[_0x591c05(0x1c6)]=null,this[_0x591c05(0x1d0)]&&await this[_0x591c05(0x1cc)]();}),this[_0x3ae12f(0x1d0)]&&await this[_0x3ae12f(0x1cc)]();},'template':_0x1ef37c(0x1c0),'style':_0x1ef37c(0x1c4)};
1
+ const _0x1481a9=_0x122b;function _0x122b(_0x4d16f0,_0x6bd327){_0x4d16f0=_0x4d16f0-0x9d;const _0x2677c4=_0x2677();let _0x122bcb=_0x2677c4[_0x4d16f0];return _0x122bcb;}(function(_0x12015f,_0x312e90){const _0x11c935=_0x122b,_0xccb8b8=_0x12015f();while(!![]){try{const _0x12bddb=parseInt(_0x11c935(0xbd))/0x1*(-parseInt(_0x11c935(0xaf))/0x2)+-parseInt(_0x11c935(0xa8))/0x3*(parseInt(_0x11c935(0xa1))/0x4)+-parseInt(_0x11c935(0xc8))/0x5*(parseInt(_0x11c935(0xbf))/0x6)+-parseInt(_0x11c935(0xb8))/0x7*(parseInt(_0x11c935(0x9e))/0x8)+-parseInt(_0x11c935(0xb3))/0x9+parseInt(_0x11c935(0xb7))/0xa+parseInt(_0x11c935(0xa2))/0xb*(parseInt(_0x11c935(0xb1))/0xc);if(_0x12bddb===_0x312e90)break;else _0xccb8b8['push'](_0xccb8b8['shift']());}catch(_0x1a4516){_0xccb8b8['push'](_0xccb8b8['shift']());}}}(_0x2677,0x3db43));function _0x2677(){const _0x3cfad1=['round','violations','status','122JLgNeS','violationsBusy','408hvFjVv','errorCount','1723860HovfVU','$attr','envApiBase','/violations/','3285530YBSNLQ','385xQXOLP','loadViolations','\x0a\x20\x20\x20\x20\x20\x20type-violations-tab\x20.tv-count-badge\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20margin-left:\x206px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2010px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20padding:\x202px\x208px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20border-radius:\x20999px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20border:\x201px\x20solid\x20color-mix(in\x20srgb,\x20var(--okdb-danger)\x2033%,\x20transparent);\x0a\x20\x20\x20\x20\x20\x20\x20\x20color:\x20var(--okdb-danger);\x0a\x20\x20\x20\x20\x20\x20\x20\x20font-weight:\x20600;\x0a\x20\x20\x20\x20\x20\x20\x20\x20text-transform:\x20none;\x0a\x20\x20\x20\x20\x20\x20\x20\x20letter-spacing:\x200;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20type-violations-tab\x20.tv-table\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20display:\x20grid;\x0a\x20\x20\x20\x20\x20\x20\x20\x20grid-template-columns:\x20minmax(120px,\x202fr)\x2060px\x2090px\x20auto;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20type-violations-tab\x20.tv-hd\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2011px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20opacity:\x20.4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20padding:\x200\x2012px\x206px\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20border-bottom:\x201px\x20solid\x20var(--okdb-app-border);\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20type-violations-tab\x20.tv-cell\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20padding:\x207px\x2012px\x207px\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20border-bottom:\x201px\x20solid\x20var(--okdb-app-surface);\x0a\x20\x20\x20\x20\x20\x20\x20\x20cursor:\x20pointer;\x0a\x20\x20\x20\x20\x20\x20\x20\x20transition:\x20background\x20.1s;\x0a\x20\x20\x20\x20\x20\x20\x20\x20min-width:\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20overflow:\x20hidden;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20type-violations-tab\x20.tv-cell:hover\x20{\x20background:\x20#ffffff07;\x20}\x0a\x20\x20\x20\x20\x20\x20type-violations-tab\x20.tv-key\x20{\x20overflow:\x20hidden;\x20}\x0a\x20\x20\x20\x20\x20\x20type-violations-tab\x20.tv-key\x20span\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20overflow:\x20hidden;\x0a\x20\x20\x20\x20\x20\x20\x20\x20text-overflow:\x20ellipsis;\x0a\x20\x20\x20\x20\x20\x20\x20\x20white-space:\x20nowrap;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20type-violations-tab\x20.tv-expanded\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20padding:\x2010px\x2012px\x2012px\x2014px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20background:\x20var(--okdb-app-bg-deep);\x0a\x20\x20\x20\x20\x20\x20\x20\x20border-bottom:\x201px\x20solid\x20var(--okdb-app-surface);\x0a\x20\x20\x20\x20\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20\x20\x20\x20\x20flex-direction:\x20column;\x0a\x20\x20\x20\x20\x20\x20\x20\x20gap:\x204px;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20type-violations-tab\x20.tv-err-row\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20\x20\x20\x20\x20gap:\x2010px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20align-items:\x20baseline;\x0a\x20\x20\x20\x20\x20\x20\x20\x20flex-wrap:\x20wrap;\x0a\x20\x20\x20\x20\x20\x20\x20\x20padding:\x204px\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20border-bottom:\x201px\x20solid\x20var(--okdb-app-surface-2);\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20type-violations-tab\x20.tv-err-row:last-child\x20{\x20border-bottom:\x20none;\x20}\x0a\x20\x20\x20\x20\x20\x20type-violations-tab\x20.tv-path\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2011px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20color:\x20var(--okdb-danger);\x0a\x20\x20\x20\x20\x20\x20\x20\x20font-family:\x20monospace;\x0a\x20\x20\x20\x20\x20\x20\x20\x20white-space:\x20nowrap;\x0a\x20\x20\x20\x20\x20\x20\x20\x20flex-shrink:\x200;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20','just\x20now','message','2593drFkUD','violationsError','47376ieuBRU','catch','errors','stores','result','toLocaleDateString','okdb','type-violations-tab','onViewKey','20amGRSX','$ok','49704ZsfWiV','error','json','4kuyiTp','246444SexWqk','type','s\x20ago','$watch','m\x20ago','length','343614GwAYqi','now','statusText','function'];_0x2677=function(){return _0x3cfad1;};return _0x2677();}import _0x3b0778 from'@toolkit/elements/ok-icon.ok.js';export default{'tag':_0x1481a9(0xc6),'dependencies':[_0x3b0778],'attr':{'type':{},'onViewKey':{}},'context':_0x5d8f94=>({'violations':[],'violationsBusy':!0x1,'violationsError':null,'expandedViolation':null,get 'type'(){const _0x529c43=_0x1481a9;return _0x5d8f94[_0x529c43(0xb4)]['type'];},get 'envApiBase'(){const _0x3909f7=_0x1481a9;return _0x5d8f94[_0x3909f7(0x9d)][_0x3909f7(0xc2)][_0x3909f7(0xc5)]['apiBase'];},async 'loadViolations'(){const _0x4986c0=_0x1481a9;if(this['type']){this[_0x4986c0(0xb0)]=!0x0,this[_0x4986c0(0xbe)]=null;try{const _0x4eb76a=await fetch(this[_0x4986c0(0xb5)]+_0x4986c0(0xb6)+encodeURIComponent(this[_0x4986c0(0xa3)]));if(0x194===_0x4eb76a[_0x4986c0(0xae)])return void(this['violations']=[]);if(!_0x4eb76a['ok']){const _0x29e4cf=await _0x4eb76a[_0x4986c0(0xa0)]()[_0x4986c0(0xc0)](()=>({}));throw new Error(_0x29e4cf?.[_0x4986c0(0x9f)]?.[_0x4986c0(0xbc)]||_0x4eb76a[_0x4986c0(0xaa)]);}const _0x443dd8=await _0x4eb76a[_0x4986c0(0xa0)]();this[_0x4986c0(0xad)]=_0x443dd8?.['data']?.[_0x4986c0(0xad)]??_0x443dd8?.[_0x4986c0(0xc3)]?.[_0x4986c0(0xad)]??[];}catch(_0x5b16d4){this[_0x4986c0(0xbe)]=_0x5b16d4[_0x4986c0(0xbc)]||'Failed\x20to\x20load\x20violations',this[_0x4986c0(0xad)]=[];}finally{this[_0x4986c0(0xb0)]=!0x1;}}},'toggleViolation'(_0x4fd74b){this['expandedViolation']=this['expandedViolation']===_0x4fd74b?null:_0x4fd74b;},'viewDocument'(_0x2355fb){const _0x4620d6=_0x1481a9,_0x1d6a02=_0x5d8f94[_0x4620d6(0xb4)][_0x4620d6(0xc7)];_0x4620d6(0xab)==typeof _0x1d6a02&&_0x1d6a02(_0x2355fb);},'relTime'(_0x5dc5f3){const _0x3ad440=_0x1481a9;if(!_0x5dc5f3)return'—';const _0x5c57d4=Date[_0x3ad440(0xa9)]()-_0x5dc5f3;return _0x5c57d4<0x1388?_0x3ad440(0xbb):_0x5c57d4<0xea60?Math['round'](_0x5c57d4/0x3e8)+_0x3ad440(0xa4):_0x5c57d4<0x36ee80?Math[_0x3ad440(0xac)](_0x5c57d4/0xea60)+_0x3ad440(0xa6):_0x5c57d4<0x5265c00?Math[_0x3ad440(0xac)](_0x5c57d4/0x36ee80)+'h\x20ago':new Date(_0x5dc5f3)[_0x3ad440(0xc4)]();},'errorCount':_0x11fbf4=>(_0x11fbf4[_0x1481a9(0xc1)]??[])[_0x1481a9(0xa7)]||(_0x11fbf4[_0x1481a9(0xb2)]??0x0)}),async 'init'(_0x3e565a){const _0x56d5b3=_0x1481a9;_0x3e565a[_0x56d5b3(0xa5)](()=>this['type'],async()=>{const _0x5c1fed=_0x56d5b3;this['violations']=[],this['expandedViolation']=null,this['type']&&await this[_0x5c1fed(0xb9)]();}),this['type']&&await this[_0x56d5b3(0xb9)]();},'template':'\x0a<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:16px;\x20flex:1;\x20overflow:auto;\x20padding-right:4px;\x22>\x0a\x0a\x20\x20<div\x20class=\x22card\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22manage-section-header\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22manage-section-title\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20Schema\x20Violations\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22violations.length\x20>\x200\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22tv-count-badge\x22>{{\x20violations.length\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20<button\x20@click=\x22loadViolations()\x22\x20:disabled=\x22violationsBusy\x22\x20class=\x22btn-icon\x22\x20style=\x22font-size:11px;\x20padding:3px\x2010px;\x20opacity:.75;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<ok-icon\x20name=\x22refresh-cw\x22></ok-icon>Refresh\x0a\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20<if\x20:=\x22violationsBusy\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22opacity:.45;\x20font-size:13px;\x22>Loading\x20violations…</div>\x0a\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20<if\x20:=\x22violationsError\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22color:var(--okdb-danger);\x20font-size:12px;\x20padding:8px\x2010px;\x20border-radius:8px;\x20border:1px\x20solid\x20color-mix(in\x20srgb,\x20var(--okdb-danger)\x2020%,\x20transparent);\x20background:color-mix(in\x20srgb,\x20var(--okdb-danger)\x204%,\x20transparent);\x22>{{\x20violationsError\x20}}</div>\x0a\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20<if\x20:=\x22!violationsBusy\x20&&\x20!violationsError\x20&&\x20violations.length\x20===\x200\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22opacity:.4;\x20font-size:13px;\x22>No\x20violations\x20—\x20all\x20documents\x20conform\x20to\x20the\x20schema.</div>\x0a\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20<if\x20:=\x22violations.length\x20>\x200\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22tv-table\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22tv-hd\x22>Key</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22tv-hd\x22>Errors</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22tv-hd\x22>When</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22tv-hd\x22></div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20<each\x20:of=\x22violations\x22\x20let:item=\x22v\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22tv-cell\x20tv-key\x22\x20@click=\x22toggleViolation(v.key)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-family:monospace;\x20font-size:12px;\x20color:var(--okdb-json-key);\x22>{{\x20v.key\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22tv-cell\x22\x20@click=\x22toggleViolation(v.key)\x22\x20style=\x22font-size:12px;\x20opacity:.65;\x22>{{\x20errorCount(v)\x20}}</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22tv-cell\x22\x20@click=\x22toggleViolation(v.key)\x22\x20style=\x22font-size:11px;\x20opacity:.45;\x22>{{\x20relTime(v.timestamp)\x20}}</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22tv-cell\x22\x20style=\x22justify-content:flex-end;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22$attr.onViewKey\x22>\x0a\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@click:stop=\x22viewDocument(v.key)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20class=\x22btn-icon\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20style=\x22font-size:11px;\x20padding:2px\x208px;\x20opacity:.75;\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20title=\x22Switch\x20to\x20data\x20tab\x20for\x20this\x20document\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20>View\x20→</button>\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</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22expandedViolation\x20===\x20v.key\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22tv-expanded\x22\x20style=\x22grid-column:1/-1;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<each\x20:of=\x22(v.errors\x20??\x20[])\x22\x20let:item=\x22err\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22tv-err-row\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22tv-path\x22>{{\x20err.path\x20||\x20\x27/\x27\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-size:12px;\x20opacity:.85;\x20flex:1;\x20min-width:0;\x22>{{\x20err.message\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22err.expected\x20!=\x20null\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:11px;\x20opacity:.5;\x20white-space:nowrap;\x22>expected:\x20<code\x20style=\x22font-size:11px;\x22>{{\x20err.expected\x20}}</code></span>\x0a\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<if\x20:=\x22err.actual\x20!=\x20null\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:11px;\x20opacity:.5;\x20white-space:nowrap;\x22>got:\x20<code\x20style=\x22font-size:11px;\x20color:var(--okdb-danger);\x22>{{\x20err.actual\x20}}</code></span>\x0a\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</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</each>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22!(v.errors\x20??\x20[]).length\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:12px;\x20opacity:.4;\x20padding:4px\x200;\x22>No\x20error\x20details\x20stored.</div>\x0a\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</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</each>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</if>\x0a\x20\x20</div>\x0a</div>\x0a','style':_0x1481a9(0xba)};
@@ -1 +1 @@
1
- const _0x15114b=_0xb515;function _0xb515(_0x57b910,_0x427263){_0x57b910=_0x57b910-0x1c5;const _0x120d9b=_0x120d();let _0xb515cb=_0x120d9b[_0x57b910];return _0xb515cb;}(function(_0x1b5cbb,_0x5a351b){const _0x1b0ddc=_0xb515,_0x36ec43=_0x1b5cbb();while(!![]){try{const _0x4f9881=-parseInt(_0x1b0ddc(0x1da))/0x1*(parseInt(_0x1b0ddc(0x1e9))/0x2)+parseInt(_0x1b0ddc(0x1d7))/0x3*(-parseInt(_0x1b0ddc(0x1d1))/0x4)+parseInt(_0x1b0ddc(0x1e4))/0x5+-parseInt(_0x1b0ddc(0x1ca))/0x6+-parseInt(_0x1b0ddc(0x1df))/0x7*(-parseInt(_0x1b0ddc(0x1ce))/0x8)+parseInt(_0x1b0ddc(0x1e7))/0x9*(-parseInt(_0x1b0ddc(0x1ec))/0xa)+parseInt(_0x1b0ddc(0x1d4))/0xb*(parseInt(_0x1b0ddc(0x1e0))/0xc);if(_0x4f9881===_0x5a351b)break;else _0x36ec43['push'](_0x36ec43['shift']());}catch(_0x5dbf2a){_0x36ec43['push'](_0x36ec43['shift']());}}}(_0x120d,0x6dc7d));export default{'tag':_0x15114b(0x1cb),'attr':{'modal':{},'initialProvider':{},'onDone':{}},'context':_0x35bbfe=>({'busy':!0x1,'error':null,'form':{'provider':_0x35bbfe[_0x15114b(0x1e3)]['initialProvider']??'','model':'','dims':'','description':''},async 'save'(){const _0x1c456f=_0x15114b,_0x138b7b=String(this['form'][_0x1c456f(0x1ed)]||'')[_0x1c456f(0x1e1)](),_0x1bc5f0=String(this['form'][_0x1c456f(0x1dc)]||'')['trim'](),_0x108dd1=parseInt(this[_0x1c456f(0x1e6)][_0x1c456f(0x1d5)],0xa);if(_0x138b7b){if(_0x1bc5f0){if(!_0x108dd1||_0x108dd1<=0x0)this[_0x1c456f(0x1db)]=_0x1c456f(0x1e8);else{this[_0x1c456f(0x1c5)]=!0x0,this['error']=null;try{const _0x21b0bb=await fetch(__ENV__[_0x1c456f(0x1cc)]+_0x1c456f(0x1cf),{'method':'POST','headers':{'Content-Type':_0x1c456f(0x1e5)},'body':JSON[_0x1c456f(0x1d3)]({'provider':_0x138b7b,'model':_0x1bc5f0,'dims':_0x108dd1,'description':this[_0x1c456f(0x1e6)][_0x1c456f(0x1d6)]||''})}),_0x4e6804=await _0x21b0bb[_0x1c456f(0x1c8)]();if(!_0x21b0bb['ok'])throw new Error(_0x4e6804?.['error']?.['message']||'Save\x20failed');_0x35bbfe[_0x1c456f(0x1c7)][_0x1c456f(0x1de)]?.[_0x1c456f(0x1d8)]?.[_0x1c456f(0x1c9)]?.(_0x1c456f(0x1dd)),await _0x35bbfe[_0x1c456f(0x1e3)][_0x1c456f(0x1ea)][_0x1c456f(0x1cd)](),await _0x35bbfe[_0x1c456f(0x1e3)][_0x1c456f(0x1d0)]?.();}catch(_0x44e53d){this[_0x1c456f(0x1db)]=_0x44e53d?.[_0x1c456f(0x1eb)]||_0x1c456f(0x1d9);}finally{this[_0x1c456f(0x1c5)]=!0x1;}}}else this[_0x1c456f(0x1db)]=_0x1c456f(0x1d2);}else this[_0x1c456f(0x1db)]=_0x1c456f(0x1e2);},'cancel'(){const _0x40db96=_0x15114b;_0x35bbfe[_0x40db96(0x1e3)][_0x40db96(0x1ea)][_0x40db96(0x1cd)]();}}),'template':_0x15114b(0x1c6)};function _0x120d(){const _0x48ae7e=['/embeddings/models','onDone','52Ltcixq','Model\x20name\x20is\x20required','stringify','1054559SQbuWW','dims','description','19476EKvkZE','toast','Save\x20failed','194XiPamQ','error','model','Model\x20registered','shared','9814xWSTkv','12tjgYuZ','trim','Provider\x20is\x20required','$attr','2886125HTNMzm','application/json','form','99657CbDDov','Dims\x20must\x20be\x20a\x20positive\x20integer','14xmDxQR','modal','message','10gszhvO','provider','busy','\x0a<div\x20style=\x22min-width:340px;\x20display:flex;\x20flex-direction:column;\x20gap:12px;\x22>\x0a\x0a\x20\x20<if\x20:=\x22error\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22color:var(--okdb-danger);\x20font-size:12px;\x20padding:8px;\x20border:1px\x20solid\x20var(--okdb-danger);\x20border-radius:6px;\x22>{{\x20error\x20}}</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<div\x20style=\x22display:grid;\x20grid-template-columns:100px\x201fr;\x20gap:8px\x2012px;\x20align-items:center;\x20font-size:13px;\x22>\x0a\x0a\x20\x20\x20\x20<label\x20style=\x22opacity:.7;\x22>Provider</label>\x0a\x20\x20\x20\x20<input\x20:value=\x22form.provider\x22\x20@input=\x22form.provider\x20=\x20$el.value\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20placeholder=\x22e.g.\x20ollama,\x20openai\x22\x20/>\x0a\x0a\x20\x20\x20\x20<label\x20style=\x22opacity:.7;\x22>Model</label>\x0a\x20\x20\x20\x20<input\x20:value=\x22form.model\x22\x20@input=\x22form.model\x20=\x20$el.value\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20placeholder=\x22e.g.\x20mxbai-embed-large\x22\x20style=\x22font-family:monospace;\x22\x20/>\x0a\x0a\x20\x20\x20\x20<label\x20style=\x22opacity:.7;\x22>Dims</label>\x0a\x20\x20\x20\x20<input\x20type=\x22number\x22\x20min=\x221\x22\x20:value=\x22form.dims\x22\x20@input=\x22form.dims\x20=\x20$el.value\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20placeholder=\x22e.g.\x201024\x22\x20/>\x0a\x0a\x20\x20\x20\x20<label\x20style=\x22opacity:.7;\x22>Description</label>\x0a\x20\x20\x20\x20<input\x20:value=\x22form.description\x22\x20@input=\x22form.description\x20=\x20$el.value\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20placeholder=\x22Optional\x20note\x22\x20/>\x0a\x0a\x20\x20</div>\x0a\x0a\x20\x20<div\x20style=\x22font-size:11px;\x20opacity:.5;\x20line-height:1.6;\x22>\x0a\x20\x20\x20\x20Registering\x20a\x20model\x20lets\x20OKDB\x20auto-resolve\x20its\x20dims\x20when\x20creating\x20indexers\x20and\x20search\x20engines,\x0a\x20\x20\x20\x20so\x20you\x20don\x27t\x20need\x20to\x20specify\x20dims\x20manually.\x0a\x20\x20</div>\x0a\x0a\x20\x20<div\x20style=\x22display:flex;\x20gap:10px;\x20justify-content:flex-end;\x22>\x0a\x20\x20\x20\x20<button\x20@click=\x22cancel()\x22>Cancel</button>\x0a\x20\x20\x20\x20<button\x20@click=\x22save()\x22\x20:disabled=\x22busy\x20||\x20!form.provider\x20||\x20!form.model\x20||\x20!form.dims\x22>\x0a\x20\x20\x20\x20\x20\x20{{\x20busy\x20?\x20\x27Registering…\x27\x20:\x20\x27Register\x27\x20}}\x0a\x20\x20\x20\x20</button>\x0a\x20\x20</div>\x0a\x0a</div>\x0a','$ok','json','success','944700oQRUgC','register-model-modal','API','close','176tjPiYu'];_0x120d=function(){return _0x48ae7e;};return _0x120d();}
1
+ function _0x3df0(_0x4ccadc,_0xedc894){_0x4ccadc=_0x4ccadc-0x191;const _0x5e70b5=_0x5e70();let _0x3df01c=_0x5e70b5[_0x4ccadc];return _0x3df01c;}const _0x1c74ae=_0x3df0;(function(_0x5270a7,_0x419884){const _0x314c0d=_0x3df0,_0x1c1202=_0x5270a7();while(!![]){try{const _0x21af0e=parseInt(_0x314c0d(0x199))/0x1*(parseInt(_0x314c0d(0x1a1))/0x2)+parseInt(_0x314c0d(0x195))/0x3*(-parseInt(_0x314c0d(0x19c))/0x4)+parseInt(_0x314c0d(0x192))/0x5+parseInt(_0x314c0d(0x1aa))/0x6*(-parseInt(_0x314c0d(0x1a4))/0x7)+parseInt(_0x314c0d(0x194))/0x8+parseInt(_0x314c0d(0x1a3))/0x9*(parseInt(_0x314c0d(0x1a2))/0xa)+-parseInt(_0x314c0d(0x193))/0xb*(parseInt(_0x314c0d(0x1b2))/0xc);if(_0x21af0e===_0x419884)break;else _0x1c1202['push'](_0x1c1202['shift']());}catch(_0x225fc1){_0x1c1202['push'](_0x1c1202['shift']());}}}(_0x5e70,0xba59a));export default{'tag':_0x1c74ae(0x19d),'attr':{'modal':{},'initialProvider':{},'onDone':{}},'context':_0x2df763=>({'busy':!0x1,'error':null,'form':{'provider':_0x2df763['$attr'][_0x1c74ae(0x19b)]??'','model':'','dims':'','description':''},async 'save'(){const _0x21de67=_0x1c74ae,_0x4b0672=String(this[_0x21de67(0x1b0)]['provider']||'')[_0x21de67(0x1a5)](),_0xae966b=String(this[_0x21de67(0x1b0)][_0x21de67(0x1b3)]||'')['trim'](),_0x29e0c7=parseInt(this[_0x21de67(0x1b0)][_0x21de67(0x19e)],0xa);if(_0x4b0672){if(_0xae966b){if(!_0x29e0c7||_0x29e0c7<=0x0)this[_0x21de67(0x1a9)]=_0x21de67(0x1ad);else{this[_0x21de67(0x196)]=!0x0,this[_0x21de67(0x1a9)]=null;try{const _0x40d4ab=await fetch(__ENV__[_0x21de67(0x1a0)]+_0x21de67(0x1a8),{'method':_0x21de67(0x19a),'headers':{'Content-Type':_0x21de67(0x191)},'body':JSON[_0x21de67(0x198)]({'provider':_0x4b0672,'model':_0xae966b,'dims':_0x29e0c7,'description':this[_0x21de67(0x1b0)]['description']||''})}),_0x3e061b=await _0x40d4ab['json']();if(!_0x40d4ab['ok'])throw new Error(_0x3e061b?.[_0x21de67(0x1a9)]?.[_0x21de67(0x1ac)]||_0x21de67(0x1b1));_0x2df763['$ok'][_0x21de67(0x1a6)]?.[_0x21de67(0x1b4)]?.['success']?.(_0x21de67(0x1ab)),await _0x2df763[_0x21de67(0x197)][_0x21de67(0x1a7)]['close'](),await _0x2df763[_0x21de67(0x197)][_0x21de67(0x19f)]?.();}catch(_0x22c903){this['error']=_0x22c903?.[_0x21de67(0x1ac)]||'Save\x20failed';}finally{this[_0x21de67(0x196)]=!0x1;}}}else this[_0x21de67(0x1a9)]=_0x21de67(0x1ae);}else this[_0x21de67(0x1a9)]=_0x21de67(0x1af);},'cancel'(){const _0x2cfb07=_0x1c74ae;_0x2df763[_0x2cfb07(0x197)][_0x2cfb07(0x1a7)]['close']();}}),'template':'\x0a<div\x20style=\x22min-width:340px;\x20display:flex;\x20flex-direction:column;\x20gap:12px;\x22>\x0a\x0a\x20\x20<if\x20:=\x22error\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22color:var(--okdb-danger);\x20font-size:12px;\x20padding:8px;\x20border:1px\x20solid\x20var(--okdb-danger);\x20border-radius:6px;\x22>{{\x20error\x20}}</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<div\x20style=\x22display:grid;\x20grid-template-columns:100px\x201fr;\x20gap:8px\x2012px;\x20align-items:center;\x20font-size:13px;\x22>\x0a\x0a\x20\x20\x20\x20<label\x20style=\x22opacity:.7;\x22>Provider</label>\x0a\x20\x20\x20\x20<input\x20:value=\x22form.provider\x22\x20@input=\x22form.provider\x20=\x20$el.value\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20placeholder=\x22e.g.\x20ollama,\x20openai\x22\x20/>\x0a\x0a\x20\x20\x20\x20<label\x20style=\x22opacity:.7;\x22>Model</label>\x0a\x20\x20\x20\x20<input\x20:value=\x22form.model\x22\x20@input=\x22form.model\x20=\x20$el.value\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20placeholder=\x22e.g.\x20mxbai-embed-large\x22\x20style=\x22font-family:monospace;\x22\x20/>\x0a\x0a\x20\x20\x20\x20<label\x20style=\x22opacity:.7;\x22>Dims</label>\x0a\x20\x20\x20\x20<input\x20type=\x22number\x22\x20min=\x221\x22\x20:value=\x22form.dims\x22\x20@input=\x22form.dims\x20=\x20$el.value\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20placeholder=\x22e.g.\x201024\x22\x20/>\x0a\x0a\x20\x20\x20\x20<label\x20style=\x22opacity:.7;\x22>Description</label>\x0a\x20\x20\x20\x20<input\x20:value=\x22form.description\x22\x20@input=\x22form.description\x20=\x20$el.value\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20placeholder=\x22Optional\x20note\x22\x20/>\x0a\x0a\x20\x20</div>\x0a\x0a\x20\x20<div\x20style=\x22font-size:11px;\x20opacity:.5;\x20line-height:1.6;\x22>\x0a\x20\x20\x20\x20Registering\x20a\x20model\x20lets\x20OKDB\x20auto-resolve\x20its\x20dims\x20when\x20creating\x20indexers\x20and\x20search\x20engines,\x0a\x20\x20\x20\x20so\x20you\x20don\x27t\x20need\x20to\x20specify\x20dims\x20manually.\x0a\x20\x20</div>\x0a\x0a\x20\x20<div\x20style=\x22display:flex;\x20gap:10px;\x20justify-content:flex-end;\x22>\x0a\x20\x20\x20\x20<button\x20@click=\x22cancel()\x22>Cancel</button>\x0a\x20\x20\x20\x20<button\x20@click=\x22save()\x22\x20:disabled=\x22busy\x20||\x20!form.provider\x20||\x20!form.model\x20||\x20!form.dims\x22>\x0a\x20\x20\x20\x20\x20\x20{{\x20busy\x20?\x20\x27Registering…\x27\x20:\x20\x27Register\x27\x20}}\x0a\x20\x20\x20\x20</button>\x0a\x20\x20</div>\x0a\x0a</div>\x0a'};function _0x5e70(){const _0xcf5287=['Model\x20name\x20is\x20required','Provider\x20is\x20required','form','Save\x20failed','1344FZlePT','model','toast','application/json','2493295cjzarg','119383JcNWNw','9447792yfzfRu','129819MFgknf','busy','$attr','stringify','13455YKNdnA','POST','initialProvider','40AncXhk','register-model-modal','dims','onDone','API','130BlOuPt','3462660foOUIy','18lgxJTK','196ZrWgBO','trim','shared','modal','/embeddings/models','error','178968eFnysP','Model\x20registered','message','Dims\x20must\x20be\x20a\x20positive\x20integer'];_0x5e70=function(){return _0xcf5287;};return _0x5e70();}