@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.
- package/README.md +1 -1
- package/bin/okdb.js +1 -1
- package/keys/public.pem +3 -0
- package/okdb.js +1 -1
- package/package.json +2 -2
- package/public/admin-app.js +1 -1
- package/public/components/admin-route-host.ok.js +1 -1
- package/public/components/env-picker.ok.js +1 -1
- package/public/components/field-path-input.ok.js +1 -1
- package/public/components/geo-map.ok.js +1 -1
- package/public/components/ok-cron-input.ok.js +1 -1
- package/public/components/ok-dropzone.ok.js +1 -1
- package/public/components/ok-js-input.ok.js +1 -1
- package/public/components/ok-json-input.ok.js +1 -1
- package/public/components/ok-text-monaco-input.ok.js +1 -1
- package/public/components/theme-toggle.ok.js +1 -1
- package/public/login-app.js +1 -1
- package/public/modules/ok.js +1 -1
- package/public/sections/api/parts/api-endpoint.ok.js +1 -1
- package/public/sections/auth/modals/create-token-modal.ok.js +1 -1
- package/public/sections/auth/modals/edit-token-modal.ok.js +1 -1
- package/public/sections/auth/modals/perm-info-popover.ok.js +1 -1
- package/public/sections/auth/parts/token-detail.ok.js +1 -1
- package/public/sections/auth/parts/token-list.ok.js +1 -1
- package/public/sections/db/modals/add-item-modal.ok.js +1 -1
- package/public/sections/db/modals/create-env-modal.ok.js +1 -1
- package/public/sections/db/modals/create-fts-modal.ok.js +1 -1
- package/public/sections/db/modals/create-index-modal.ok.js +1 -1
- package/public/sections/db/modals/create-pipeline-modal.ok.js +1 -1
- package/public/sections/db/modals/demo-env-modal.ok.js +1 -1
- package/public/sections/db/modals/remove-env-modal.ok.js +1 -1
- package/public/sections/db/modals/schema-edit-modal.ok.js +1 -1
- package/public/sections/db/parts/db-overview.ok.js +1 -1
- package/public/sections/db/parts/db-pipelines-panel.ok.js +1 -1
- package/public/sections/db/parts/edit-row.ok.js +1 -1
- package/public/sections/db/parts/tm-timeline.ok.js +1 -1
- package/public/sections/db/parts/type-changelog.ok.js +1 -1
- package/public/sections/db/parts/type-list.ok.js +1 -1
- package/public/sections/db/parts/type-pipelines-tab.ok.js +1 -1
- package/public/sections/db/parts/type-schema-tab.ok.js +1 -1
- package/public/sections/db/parts/type-viewer.ok.js +1 -1
- package/public/sections/db/parts/type-violations-tab.ok.js +1 -1
- package/public/sections/embeddings/modals/register-model-modal.ok.js +1 -1
- package/public/sections/embeddings/parts/embed-create-panel.ok.js +1 -1
- package/public/sections/embeddings/parts/embed-embedder-panel.ok.js +1 -1
- package/public/sections/embeddings/parts/embed-engine-declaration-editor.ok.js +1 -1
- package/public/sections/embeddings/parts/embed-engine-list.ok.js +1 -1
- package/public/sections/embeddings/parts/embed-indexer-panel.ok.js +1 -1
- package/public/sections/embeddings/parts/embed-lifecycle-bar.ok.js +1 -1
- package/public/sections/embeddings/parts/embed-model-catalog.ok.js +1 -1
- package/public/sections/embeddings/parts/embed-overview.ok.js +1 -1
- package/public/sections/embeddings/parts/embed-search-panel.ok.js +1 -1
- package/public/sections/embeddings/parts/embed-worker-panel.ok.js +1 -1
- package/public/sections/embeddings/parts/embeddings-engine-panel.ok.js +1 -1
- package/public/sections/embeddings/parts/engines-overview.ok.js +1 -1
- package/public/sections/embeddings/parts/pipeline-create-panel.ok.js +1 -1
- package/public/sections/engines/engine-panel-shared-style.js +1 -1
- package/public/sections/engines/engine-ui-utils.js +1 -1
- package/public/sections/engines/modals/engine-modal.ok.js +1 -1
- package/public/sections/engines/parts/engine-declaration-editor.ok.js +1 -1
- package/public/sections/engines/parts/engine-lifecycle-actions.ok.js +1 -1
- package/public/sections/engines/parts/engine-panel-shell.ok.js +1 -1
- package/public/sections/engines/parts/engine-resource-card.ok.js +1 -1
- package/public/sections/engines/parts/engine-row-item.ok.js +1 -1
- package/public/sections/engines/parts/generic-engine-panel.ok.js +1 -1
- package/public/sections/files/parts/files-blob-status.ok.js +1 -1
- package/public/sections/files/parts/files-collection-list.ok.js +1 -1
- package/public/sections/files/parts/files-collection-panel.ok.js +1 -1
- package/public/sections/files/parts/files-file-list.ok.js +1 -1
- package/public/sections/files/parts/files-overview.ok.js +1 -1
- package/public/sections/files/parts/files-path-browser.ok.js +1 -1
- package/public/sections/files/parts/files-upload-panel.ok.js +1 -1
- package/public/sections/functions/modals/function-modal.ok.js +1 -1
- package/public/sections/functions/parts/function-detail.ok.js +1 -1
- package/public/sections/functions/parts/function-logs.ok.js +1 -1
- package/public/sections/functions/parts/function-runner.ok.js +1 -1
- package/public/sections/functions/parts/functions-list.ok.js +1 -1
- package/public/sections/license/parts/license-panel.ok.js +1 -1
- package/public/sections/queue/modals/create-bucket-modal.ok.js +1 -1
- package/public/sections/queue/modals/edit-bucket-modal.ok.js +1 -1
- package/public/sections/queue/modals/edit-job-modal.ok.js +1 -1
- package/public/sections/queue/modals/enqueue-job-modal.ok.js +1 -1
- package/public/sections/queue/modals/job-type-modal.ok.js +1 -1
- package/public/sections/queue/parts/ok-job-form.ok.js +1 -1
- package/public/sections/queue/parts/queue-buckets.ok.js +1 -1
- package/public/sections/queue/parts/queue-job-types.ok.js +1 -1
- package/public/sections/queue/parts/queue-jobs.ok.js +1 -1
- package/public/sections/queue/parts/queue-types.ok.js +1 -1
- package/public/sections/queue/parts/queue-workers.ok.js +1 -1
- package/public/sections/sync/parts/sync-node-detail.ok.js +1 -1
- package/public/sections/sync/parts/sync-retention.ok.js +1 -1
- package/public/sections/sync/parts/sync-topology.ok.js +1 -1
- package/public/sections/system/modals/data-ops-modal.ok.js +1 -1
- package/public/sections/system/parts/system-api-panel.ok.js +1 -1
- package/public/sections/system/parts/system-auth-panel.ok.js +1 -1
- package/public/sections/system/parts/system-log-history.ok.js +1 -1
- package/public/sections/system/parts/system-log.ok.js +1 -1
- package/public/sections/system/parts/system-status.ok.js +1 -1
- package/public/sections/system/parts/system-sync-panel.ok.js +1 -1
- package/public/sections/views/modals/create-view-modal.ok.js +1 -1
- package/public/sections/views/parts/view-detail.ok.js +1 -1
- package/public/sections/views/parts/views-list.ok.js +1 -1
- package/public/sections/views/parts/views-overview.ok.js +1 -1
- package/public/setup-app.js +1 -1
- package/public/stores/auth-store.js +1 -1
- package/public/stores/events-store.js +1 -1
- package/public/stores/functions-store.js +1 -1
- package/public/stores/okdb-store.js +1 -1
- package/public/stores/theme-store.js +1 -1
- package/public/util/permissions.js +1 -1
- package/public/util/sift-schema.js +1 -1
- package/public/vendor/okjs/ok.esm.min.js +1 -2
- package/public/vendor/okjs/toolkit/behavior/async.ok.js +1 -1
- package/public/vendor/okjs/toolkit/components/ok-chart.ok.js +1 -1
- package/public/vendor/okjs/toolkit/components/ok-doc-viewer.ok.js +1 -1
- package/public/vendor/okjs/toolkit/components/ok-marked.ok.js +1 -1
- package/public/vendor/okjs/toolkit/components/ok-monaco.ok.js +1 -1
- package/public/vendor/okjs/toolkit/core/ok-layer-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/core/ok-layer.ok.js +1 -1
- package/public/vendor/okjs/toolkit/core/ok-overlay.ok.js +1 -1
- package/public/vendor/okjs/toolkit/core/ok-sandbox.ok.js +1 -1
- package/public/vendor/okjs/toolkit/core/transition.ok.js +1 -1
- package/public/vendor/okjs/toolkit/core/virtualized.ok.js +1 -1
- package/public/vendor/okjs/toolkit/devtools/ok-console-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/devtools/ok-console.ok.js +1 -1
- package/public/vendor/okjs/toolkit/devtools/ok-fps-monitor-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/devtools/ok-fps-monitor.ok.js +1 -1
- package/public/vendor/okjs/toolkit/devtools/ok-inspector-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/devtools/ok-inspector.ok.js +1 -1
- package/public/vendor/okjs/toolkit/devtools/ok-js-tree.ok.js +1 -1
- package/public/vendor/okjs/toolkit/devtools/ok-timeline-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/devtools/ok-timeline.ok.js +1 -1
- package/public/vendor/okjs/toolkit/docs/doc-viewer.ok.js +1 -1
- package/public/vendor/okjs/toolkit/editor/ok-live-component.ok.js +1 -1
- package/public/vendor/okjs/toolkit/editor/ok-live-example.ok.js +1 -1
- package/public/vendor/okjs/toolkit/editor/ok-live-shell.ok.js +1 -1
- package/public/vendor/okjs/toolkit/elements/ok-dropdown.ok.js +1 -1
- package/public/vendor/okjs/toolkit/elements/ok-icon.ok.js +1 -1
- package/public/vendor/okjs/toolkit/elements/ok-select.ok.js +1 -1
- package/public/vendor/okjs/toolkit/elements/ok-table.ok.js +1 -1
- package/public/vendor/okjs/toolkit/errors/ok-crash-boundary.ok.js +1 -1
- package/public/vendor/okjs/toolkit/errors/ok-crash-info.ok.js +1 -1
- package/public/vendor/okjs/toolkit/i18n/i18n-editor-examples.ok.js +1 -1
- package/public/vendor/okjs/toolkit/i18n/i18n-editor.ok.js +1 -1
- package/public/vendor/okjs/toolkit/i18n/i18n-key-editor-tips.ok.js +1 -1
- package/public/vendor/okjs/toolkit/i18n/i18n-key-editor.ok.js +1 -1
- package/public/vendor/okjs/toolkit/i18n/i18n-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/i18n/ok-i18n.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-contextmenu.ok.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-dismiss-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-draggable.ok.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-flyover-panel.ok.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-flyover.ok.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-highlight-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-highlight.ok.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-hotkeys-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-picker-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-popout-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-popout.ok.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-portal-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-submenu.ok.js +1 -1
- package/public/vendor/okjs/toolkit/layout/ok-resizer.ok.js +1 -1
- package/public/vendor/okjs/toolkit/manifest.js +1 -1
- package/public/vendor/okjs/toolkit/modals/ok-modal-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/modals/ok-modal.ok.js +1 -1
- package/public/vendor/okjs/toolkit/modals/ok-toast-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/modals/ok-window.ok.js +1 -1
- package/public/vendor/okjs/toolkit/navigation/hash-router.ok.js +1 -1
- package/public/vendor/okjs/toolkit/navigation/history-router.ok.js +1 -1
- package/public/vendor/okjs/toolkit/navigation/router.ok.js +1 -1
- package/public/vendor/okjs/toolkit/sync/reactive-sync-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/sync/reactive-sync.js +1 -1
- package/public/vendor/okjs/toolkit/theming/blocks/ok-design-button.css.js +1 -1
- package/public/vendor/okjs/toolkit/theming/blocks/ok-design-input.css.js +1 -1
- package/public/vendor/okjs/toolkit/theming/ok-design-style.js +1 -1
- package/public/vendor/okjs/toolkit/theming/ok-design-vars.js +1 -1
- package/public/vendor/okjs/toolkit/theming/ok-design.ok.js +1 -1
- package/public/vendor/okjs/toolkit/theming/ok-theme-editor/ok-theme-editor-input.ok.js +1 -1
- package/public/vendor/okjs/toolkit/theming/ok-theme-editor/ok-theme-editor-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/theming/ok-theme-editor/ok-theme-editor-style.js +1 -1
- package/public/vendor/okjs/toolkit/theming/ok-theme-editor/ok-theme-editor-utils.js +1 -1
- package/public/vendor/okjs/toolkit/theming/ok-theme-editor/ok-theme-editor-variable.ok.js +1 -1
- package/public/vendor/okjs/toolkit/theming/ok-theme-editor/ok-theme-editor-vm.js +1 -1
- package/public/vendor/okjs/toolkit/theming/ok-theme-editor/ok-theme-editor.ok.js +1 -1
- package/public/vendor/okjs/toolkit/theming/ok-theme.ok.js +1 -1
- package/public/view-models/type-query-vm.js +1 -1
- package/public/images/logo.png +0 -0
- package/public/images/logo.svg +0 -333
|
@@ -1 +1 @@
|
|
|
1
|
-
function _0x1f94(_0x46b58a,_0x24ff26){_0x46b58a=_0x46b58a-0xb4;const _0x478431=_0x4784();let _0x1f943d=_0x478431[_0x46b58a];return _0x1f943d;}const _0x4f888c=_0x1f94;(function(_0x174260,_0x56a697){const _0xab8f6f=_0x1f94,_0x863610=_0x174260();while(!![]){try{const _0x323861=parseInt(_0xab8f6f(0x171))/0x1+-parseInt(_0xab8f6f(0x140))/0x2+parseInt(_0xab8f6f(0x142))/0x3+parseInt(_0xab8f6f(0x167))/0x4*(-parseInt(_0xab8f6f(0xfa))/0x5)+parseInt(_0xab8f6f(0xf8))/0x6+parseInt(_0xab8f6f(0x185))/0x7*(parseInt(_0xab8f6f(0x184))/0x8)+-parseInt(_0xab8f6f(0x130))/0x9*(parseInt(_0xab8f6f(0xbb))/0xa);if(_0x323861===_0x56a697)break;else _0x863610['push'](_0x863610['shift']());}catch(_0x4a279d){_0x863610['push'](_0x863610['shift']());}}}(_0x4784,0x2ffd9));import _0x573eee from'../../engines/modals/engine-modal.ok.js';function _0x4784(){const _0x593167=['message','Extractor','target_type','Source','allFile','filePipelineEngines','Edit\x20Engine\x20·\x20','meta','color-mix(in\x20srgb,\x20var(--okdb-accent)\x2033%,\x20transparent)','Queue','filterToSelectedPipeline','pipelines','isEmbedded','statusFilter','type','role','embedEngines','typeLabel','visibleEngines','sort','running','Engines','embedded','Started','~system','success','Env\x20Pipelines','selectedpipeline','engineStatusBucket','embedOnly','modeFilter','Prepare','building','/pipelines/','84lKmErG','Mode','flatMap','pipelineActionBusy','filePipelines','members','matchesSearch','isRunning','Pipelines','engineInSelectedPipeline','292187lwziof','relatedType','trim','find','Provider','pipelineConfigMetrics','job_type','embedPipelineEngines','confirm','background:var(--okdb-app-surface);border:1px\x20solid\x20','Restarted\x20pipeline\x20\x22','source_env','Try\x20changing\x20the\x20pipeline\x20type,\x20status,\x20search,\x20or\x20source-type\x20filters.','select',';border-radius:10px;overflow:hidden;transition:border-color\x20.14s;','Chunk','processor','pipelineTypeFilter','var(--okdb-app-border)','8Cyhiwz','45143dEwEvx','paused','catch','Algorithm','/start','fileEngines','split','all','collectionEngine','degraded','<br><br>Env-owned\x20members\x20will\x20be\x20removed;\x20shared\x20members\x20will\x20be\x20preserved.','Materializer','55;color:','allUniqueEngines','engineMetricSearchParts','name','allEngines','pipelineTypeMatches','embeddings','selectedPipelineName','true','\x20failed','key','collections','runtime','add','filter','warning','engineSourceTypes','POST','1270nbvalj','selectedPipelineMembers','embed-worker','goto-type','Concurrency','$vars','Stop\x20failed','filteredEmbedPipelines','Collection','collection','embedding','relatedEnv','search','start','startsWith','label','Progress','refresh','okdb','pipelineIdentity','Deleted\x20pipeline\x20\x22','isArray','pipelineRequest','join','string','every','touchesSourceType','engines','request','vector-search','Delete\x20pipeline\x20\x22<b>','fileData','var(--okdb-accent)','push','toLowerCase','var(--okdb-warning)','Processor','filteredVisibleEngines','var(--okdb-app-fg)','Worker','Engine','online','Stopped','indexer','withPipelineBusy','#94a3b8','localeCompare','engineEnv','filteredFilePipelines','workers','Try\x20changing\x20the\x20engine\x20type,\x20status,\x20search,\x20or\x20source-type\x20filters.','Try\x20changing\x20the\x20engine\x20type,\x20status,\x20or\x20search\x20filters\x20above.','attention','</b>\x22?<br><br>','isSelectedPipeline','includes','toast','engines-overview','Indexer','DELETE','API','291864eOaBJg','$attr','69740IYLzaF','_uiEnv','allEmbed','var(--okdb-info)','Standalone','value','has','stopped','replace','length','env','source_type','storeEnv','Stop\x20pipeline\x20\x22<b>','number','searchFilter','record','Workers','Embedding\x20Pipelines','groupStatusBucket','var(--okdb-app-fg-muted)','#fb7185','memberOwnerEnv','config','var(--okdb-indigo)','Start\x20failed','modal','embed','$router','var(--okdb-danger)','shared','open','file','Model','json','$dispatch','worker','map','sourceTypeFilter','pipelinetype','pipelineRecords','engineTypeFilter','engineId','accent','Search','default','progress','embedPipelines','family','No\x20members','$ok','pipeline','enginePipelineName','inactive','11565QIvIRP','object','mode','font-size:11px;padding:3px\x2010px;border-radius:999px;border:1px\x20solid\x20','get','activeEngines','some','<engine-modal\x20:modal=\x22modal\x22\x20:engine=\x22engine\x22\x20:env=\x22envName\x22\x20/>','engineStatusMeta','slice','stores','selectedEnv','embedder','var(--okdb-success)','extractors','resolve','73188BzGkEO','error','1025958rvprEk','/env/','state'];_0x4784=function(){return _0x593167;};return _0x4784();}import _0x1c1c65 from'../../engines/parts/engine-resource-card.ok.js';import{compactEngineConfigMetrics as _0x8007c9,compactEngineRowMetrics as _0x2d194a,compactEngineStatusMeta as _0x55de14}from'../../engines/engine-ui-utils.js';export default{'tag':_0x4f888c(0xf4),'dependencies':[_0x573eee,_0x1c1c65],'attr':{'embedEngines':{},'embedPipelines':{},'fileEngines':{},'embedded':{},'filterpipeline':{},'mode':{},'pipelinetype':{},'enginetype':{},'status':{},'search':{},'sourcetype':{},'selectedpipeline':{}},'context':_0x50fdf3=>({get 'allEmbed'(){const _0xc31228=_0x4f888c;return _0x50fdf3['$attr'][_0xc31228(0x155)]??[];},get 'pipelineRecords'(){const _0x2fe304=_0x4f888c;return _0x50fdf3[_0x2fe304(0xf9)]['embedPipelines']??[];},get 'fileData'(){const _0x3d3d4f=_0x4f888c;return _0x50fdf3[_0x3d3d4f(0xf9)][_0x3d3d4f(0x18a)]??{};},get 'allFile'(){const _0x464ea7=_0x4f888c,_0x5518ea=this[_0x464ea7(0xda)];return[..._0x5518ea[_0x464ea7(0x13e)]??[],..._0x5518ea[_0x464ea7(0xb4)]??[],..._0x5518ea[_0x464ea7(0xec)]??[]];},get 'isEmbedded'(){const _0x22d63e=_0x4f888c;return!0x0===_0x50fdf3[_0x22d63e(0xf9)][_0x22d63e(0x15b)]||'true'===_0x50fdf3[_0x22d63e(0xf9)][_0x22d63e(0x15b)];},get 'filterToSelectedPipeline'(){const _0x38a4a7=_0x4f888c;return!0x0===_0x50fdf3['$attr']['filterpipeline']||_0x38a4a7(0x199)===_0x50fdf3[_0x38a4a7(0xf9)]['filterpipeline'];},get 'modeFilter'(){const _0x1b7eb7=_0x4f888c;return'engines'===_0x50fdf3[_0x1b7eb7(0xf9)][_0x1b7eb7(0x132)]?_0x1b7eb7(0xd6):_0x1b7eb7(0x150);},get 'pipelineTypeFilter'(){const _0xf37f1a=_0x4f888c;return[_0xf37f1a(0x18c),_0xf37f1a(0xc5),_0xf37f1a(0x11a)][_0xf37f1a(0xf2)](_0x50fdf3[_0xf37f1a(0xf9)][_0xf37f1a(0x121)])?_0x50fdf3['$attr'][_0xf37f1a(0x121)]:_0xf37f1a(0x18c);},get 'engineTypeFilter'(){const _0x18ed1e=_0x4f888c;return String(_0x50fdf3[_0x18ed1e(0xf9)]['enginetype']??'')[_0x18ed1e(0x173)]();},get 'statusFilter'(){const _0x3be0d3=_0x4f888c;return _0x50fdf3[_0x3be0d3(0xf9)]['status']??'all';},get 'searchFilter'(){const _0x49a124=_0x4f888c;return String(_0x50fdf3[_0x49a124(0xf9)][_0x49a124(0xc7)]??'')[_0x49a124(0x173)]()[_0x49a124(0xdd)]();},get 'sourceTypeFilter'(){const _0x3c3cdd=_0x4f888c;return String(_0x50fdf3['$attr']['sourcetype']??'')[_0x3c3cdd(0x173)]();},get 'selectedPipelineName'(){const _0x485325=_0x4f888c;return String(_0x50fdf3[_0x485325(0xf9)][_0x485325(0x160)]??'')[_0x485325(0x173)]();},'pipelineActionBusy':{},get 'embedOnly'(){const _0x44bbd5=_0x4f888c;return(_0x50fdf3[_0x44bbd5(0xf9)]['embedEngines']??[])[_0x44bbd5(0xb7)](_0x433249=>_0x44bbd5(0x181)!==_0x433249['type']&&'queue-worker'!==_0x433249[_0x44bbd5(0x153)]);},get 'allEngines'(){const _0x1fb041=_0x4f888c;return[...this[_0x1fb041(0xfc)],...this[_0x1fb041(0x149)]];},'engineId':_0x5d204d=>_0x5d204d?_0x5d204d['key']??(_0x5d204d[_0x4f888c(0x153)]&&_0x5d204d[_0x4f888c(0x194)]?_0x5d204d[_0x4f888c(0x153)]+'@'+_0x5d204d[_0x4f888c(0x194)]:_0x5d204d[_0x4f888c(0x194)]??null):null,'engineSourceTypes'(_0xe5328){const _0x22b999=_0x4f888c,_0x43dede=[_0xe5328?.[_0x22b999(0x111)]?.[_0x22b999(0x105)],_0xe5328?.[_0x22b999(0xb5)]?.[_0x22b999(0x105)],_0xe5328?.[_0x22b999(0x111)]?.[_0x22b999(0x147)],_0xe5328?.['runtime']?.[_0x22b999(0x147)]][_0x22b999(0xb7)](Boolean);return[...new Set(_0x43dede)];},'touchesSourceType'(_0x3d08bd){const _0x46694c=_0x4f888c;return!this[_0x46694c(0x120)]||this['engineSourceTypes'](_0x3d08bd)['includes'](this['sourceTypeFilter']);},'engineStatusBucket'(_0x545823){const _0x4a717b=_0x4f888c,_0x493531=_0x545823?.['stats']?.[_0x4a717b(0x144)]??_0x545823?.['status']??null;return _0x545823?.['isRunning']||'online'===_0x493531?_0x4a717b(0x159):[_0x4a717b(0x141),_0x4a717b(0x12f),_0x4a717b(0x186),_0x4a717b(0x165),_0x4a717b(0x18e)]['includes'](_0x493531)?_0x4a717b(0xef):_0x4a717b(0x101);},'groupStatusBucket'(_0x532f6a){const _0x13ef12=_0x4f888c,_0x1e70c4=_0x532f6a[_0x13ef12(0x11f)](_0x1276d5=>this[_0x13ef12(0x161)](_0x1276d5));return 0x0===_0x1e70c4[_0x13ef12(0x103)]?_0x13ef12(0x101):_0x1e70c4[_0x13ef12(0xd4)](_0x798454=>_0x13ef12(0x159)===_0x798454)?'running':_0x1e70c4['some'](_0x4c7759=>_0x13ef12(0xef)===_0x4c7759)||_0x1e70c4[_0x13ef12(0x136)](_0x5df58c=>_0x13ef12(0x159)===_0x5df58c)?_0x13ef12(0xef):_0x13ef12(0x101);},'matchesSearch'(_0x1c1ecd=[]){const _0x20699f=_0x4f888c;return!this[_0x20699f(0x109)]||_0x1c1ecd[_0x20699f(0xb7)](Boolean)[_0x20699f(0xd2)]('\x20')[_0x20699f(0xdd)]()[_0x20699f(0xf2)](this[_0x20699f(0x109)]);},'pipelineTypeMatches'(_0x38b50d){const _0x43c1de=_0x4f888c;return _0x43c1de(0x18c)===this[_0x43c1de(0x182)]||this[_0x43c1de(0x182)]===_0x38b50d;},get 'embedPipelines'(){const _0x2af70e=_0x4f888c;if(this['pipelineRecords'][_0x2af70e(0x103)]>0x0)return this[_0x2af70e(0x122)]['map'](_0x215300=>{const _0x304d27=_0x2af70e,_0x3c9dd9=Array[_0x304d27(0xd0)](_0x215300[_0x304d27(0xd6)])?_0x215300[_0x304d27(0xd6)][_0x304d27(0xb7)](Boolean):[],_0x38538f=_0x3c9dd9[_0x304d27(0x174)](_0x3d8d34=>this[_0x304d27(0xea)](_0x3d8d34))??null,_0xb88966=_0x3c9dd9[_0x304d27(0x174)](_0x7d08dc=>_0x304d27(0x13c)===_0x7d08dc['role']||_0x304d27(0x13c)===_0x7d08dc['type'])??null,_0xe161a2=_0x3c9dd9[_0x304d27(0x174)](_0x54003b=>_0x304d27(0xe6)===_0x54003b[_0x304d27(0x154)]||'indexer'===_0x54003b[_0x304d27(0x153)])??null,_0x3983e9=_0x3c9dd9[_0x304d27(0x174)](_0x443bf6=>'search'===_0x443bf6[_0x304d27(0x154)]||_0x304d27(0xd8)===_0x443bf6[_0x304d27(0x153)])??null,_0x2c416a=_0x3c9dd9[_0x304d27(0x174)](_0x38e0f6=>_0x304d27(0x11e)===_0x38e0f6[_0x304d27(0x154)]||_0x304d27(0xbd)===_0x38e0f6[_0x304d27(0x153)])??null;return{'name':_0x215300[_0x304d27(0x14c)]?.[_0x304d27(0xca)]??_0x215300[_0x304d27(0x14c)]?.['pipeline']??_0x215300['name'],'key':_0x215300['name'],'env':_0x215300[_0x304d27(0x104)]??this[_0x304d27(0xea)](_0x38538f)??_0xe161a2?.[_0x304d27(0x111)]?.[_0x304d27(0x17c)]??_0x3983e9?.[_0x304d27(0x111)]?.[_0x304d27(0x17c)]??null,'type':_0x304d27(0x197)===_0x215300[_0x304d27(0x14c)]?.[_0x304d27(0x12a)]?'embed':_0x304d27(0x104),'record':_0x215300,'members':_0x3c9dd9,'embedder':_0xb88966,'indexer':_0xe161a2,'search':_0x3983e9,'worker':_0x2c416a};})[_0x2af70e(0xb7)](_0x4d6c61=>_0x4d6c61[_0x2af70e(0x16c)][_0x2af70e(0x103)]>0x0)[_0x2af70e(0x158)]((_0x5e920d,_0x2f230d)=>_0x5e920d[_0x2af70e(0x194)][_0x2af70e(0xe9)](_0x2f230d['name']));const _0x214d9e=new Map();for(const _0xa136af of this[_0x2af70e(0x162)]){const _0x681c9b=_0xa136af[_0x2af70e(0x14c)]?.['pipeline']??_0xa136af['name'][_0x2af70e(0x102)](/-worker$/,'');_0x214d9e[_0x2af70e(0x100)](_0x681c9b)||_0x214d9e['set'](_0x681c9b,{'name':_0x681c9b,'type':_0x2af70e(0x115),'embedder':null,'indexer':null,'search':null,'worker':null});const _0x3c0919=_0x214d9e['get'](_0x681c9b);_0x2af70e(0x13c)===_0xa136af[_0x2af70e(0x153)]?_0x3c0919[_0x2af70e(0x13c)]=_0xa136af:_0x2af70e(0xe6)===_0xa136af[_0x2af70e(0x153)]?_0x3c0919[_0x2af70e(0xe6)]=_0xa136af:'vector-search'===_0xa136af['type']?_0x3c0919[_0x2af70e(0xc7)]=_0xa136af:_0x2af70e(0xbd)===_0xa136af[_0x2af70e(0x153)]&&(_0x3c0919[_0x2af70e(0x11e)]=_0xa136af);}return[..._0x214d9e['values']()][_0x2af70e(0xb7)](_0x1ef0c6=>[_0x1ef0c6['embedder'],_0x1ef0c6[_0x2af70e(0xe6)],_0x1ef0c6[_0x2af70e(0xc7)],_0x1ef0c6[_0x2af70e(0x11e)]][_0x2af70e(0xb7)](Boolean)['length']>0x1)[_0x2af70e(0x158)]((_0x383e96,_0x4aec98)=>_0x383e96['name'][_0x2af70e(0xe9)](_0x4aec98['name']));},get 'filePipelines'(){const _0x5666e0=_0x4f888c;return(this['fileData'][_0x5666e0(0xb4)]??[])[_0x5666e0(0x11f)](_0x7102b5=>{const _0x52bccf=_0x5666e0,_0x5b06b9=(this[_0x52bccf(0xda)][_0x52bccf(0x13e)]??[])[_0x52bccf(0xb7)](_0x2cb5a3=>_0x7102b5[_0x52bccf(0x111)]?.['pipeline']?.[_0x52bccf(0xf2)](_0x2cb5a3['name'])),_0x2a1803=(this[_0x52bccf(0xda)][_0x52bccf(0xec)]??[])[_0x52bccf(0xb7)](_0x406bc5=>_0x406bc5[_0x52bccf(0x111)]?.[_0x52bccf(0x18d)]===_0x7102b5[_0x52bccf(0x194)]);return{'name':_0x7102b5['collection']??_0x7102b5[_0x52bccf(0x194)],'type':_0x52bccf(0x11a),'collection':_0x7102b5,'extractors':_0x5b06b9,'workers':_0x2a1803};})[_0x5666e0(0x158)]((_0x3e796f,_0x1afd36)=>_0x3e796f[_0x5666e0(0x194)]['localeCompare'](_0x1afd36[_0x5666e0(0x194)]));},get 'allUniqueEngines'(){const _0x5e25dd=_0x4f888c,_0x2622d9=new Set();return this[_0x5e25dd(0x195)][_0x5e25dd(0xb7)](_0x3f181d=>{const _0x112feb=_0x5e25dd,_0x4d1a68=this['engineId'](_0x3f181d);return!(!_0x4d1a68||_0x2622d9['has'](_0x4d1a68)||(_0x2622d9[_0x112feb(0xb6)](_0x4d1a68),0x0));});},get 'visibleEngines'(){const _0xfa3745=_0x4f888c;return this[_0xfa3745(0x192)][_0xfa3745(0xb7)](_0x1af844=>this[_0xfa3745(0x170)](_0x1af844))[_0xfa3745(0xb7)](_0x26e526=>!this[_0xfa3745(0x123)]||_0x26e526[_0xfa3745(0x153)]===this[_0xfa3745(0x123)])[_0xfa3745(0xb7)](_0x869821=>_0xfa3745(0x18c)===this[_0xfa3745(0x152)]||this['engineStatusBucket'](_0x869821)===this[_0xfa3745(0x152)])['filter'](_0x37446c=>this['touchesSourceType'](_0x37446c))[_0xfa3745(0xb7)](_0x4a5daf=>this[_0xfa3745(0x16d)]([_0x4a5daf?.['name'],_0x4a5daf?.[_0xfa3745(0x153)],_0x4a5daf?.[_0xfa3745(0x14c)]?.[_0xfa3745(0x12d)],_0x4a5daf?.[_0xfa3745(0x104)],_0x4a5daf?.[_0xfa3745(0xfb)],...this[_0xfa3745(0x193)](_0x4a5daf),...this[_0xfa3745(0xb9)](_0x4a5daf),_0x4a5daf?.[_0xfa3745(0x111)]?.['job_type'],_0x4a5daf?.[_0xfa3745(0x111)]?.['handler']?.[_0xfa3745(0x194)]]))[_0xfa3745(0x158)]((_0x2e771e,_0x3401cb)=>String(_0x2e771e[_0xfa3745(0x153)]||'')['localeCompare'](String(_0x3401cb[_0xfa3745(0x153)]||''))||String(_0x2e771e[_0xfa3745(0x194)]||'')['localeCompare'](String(_0x3401cb[_0xfa3745(0x194)]||'')));},get 'visibleEngineGroups'(){const _0x28bea4=_0x4f888c,_0x3facbd=new Map(),_0x26d60a={'key':'__standalone__','label':_0x28bea4(0xfe),'pipeline':null,'engines':[]};for(const _0x10cebb of this[_0x28bea4(0x157)]){const _0x34c2e2=this['enginePipelineName'](_0x10cebb);_0x34c2e2?(_0x3facbd[_0x28bea4(0x100)](_0x34c2e2)||_0x3facbd['set'](_0x34c2e2,{'key':_0x34c2e2,'label':String(_0x34c2e2)[_0x28bea4(0x18b)](':')['pop'](),'pipeline':_0x34c2e2,'engines':[]}),_0x3facbd['get'](_0x34c2e2)[_0x28bea4(0xd6)][_0x28bea4(0xdc)](_0x10cebb)):_0x26d60a[_0x28bea4(0xd6)][_0x28bea4(0xdc)](_0x10cebb);}const _0x1d53f9=[..._0x3facbd['values']()][_0x28bea4(0x158)]((_0x16cd47,_0x4fc310)=>_0x16cd47[_0x28bea4(0xca)][_0x28bea4(0xe9)](_0x4fc310[_0x28bea4(0xca)]));return _0x26d60a[_0x28bea4(0xd6)][_0x28bea4(0x103)]&&_0x1d53f9[_0x28bea4(0xdc)](_0x26d60a),_0x1d53f9;},'matchesGroup'(_0x166425,_0x22beff,_0xdb6de3,_0x2bc734=[]){const _0x373720=_0x4f888c;return('all'===this[_0x373720(0x152)]||this[_0x373720(0x10d)](_0xdb6de3)===this['statusFilter'])&&!(this[_0x373720(0x120)]&&!_0xdb6de3[_0x373720(0x136)](_0xed398=>this[_0x373720(0xd5)](_0xed398)))&&this[_0x373720(0x16d)]([_0x166425?.[_0x373720(0x194)],_0x166425?.[_0x373720(0x153)],_0x166425?.[_0x373720(0x104)],..._0x2bc734,..._0xdb6de3[_0x373720(0x169)](_0xc5a874=>[_0xc5a874?.[_0x373720(0x194)],_0xc5a874?.['type'],...this[_0x373720(0xb9)](_0xc5a874),_0xc5a874?.['config']?.[_0x373720(0x177)],_0xc5a874?.[_0x373720(0x111)]?.['handler']?.[_0x373720(0x194)]])]);},get 'filteredEmbedPipelines'(){const _0x4a0dc9=_0x4f888c;return _0x4a0dc9(0x150)!==this[_0x4a0dc9(0x163)]?[]:this[_0x4a0dc9(0x196)](_0x4a0dc9(0xc5))?this[_0x4a0dc9(0x129)][_0x4a0dc9(0xb7)](_0x4f494f=>(!this[_0x4a0dc9(0x14f)]||!this[_0x4a0dc9(0x198)]||this[_0x4a0dc9(0xce)](_0x4f494f)===this[_0x4a0dc9(0x198)])&&this['matchesGroup'](_0x4f494f,_0x4a0dc9(0xc5),this[_0x4a0dc9(0x178)](_0x4f494f),[_0x4f494f?.['record']?.[_0x4a0dc9(0x14c)]?.['family']])):[];},get 'filteredFilePipelines'(){const _0x466ff6=_0x4f888c;return'pipelines'!==this['modeFilter']?[]:this[_0x466ff6(0x196)](_0x466ff6(0x11a))?this[_0x466ff6(0x16b)]['filter'](_0x16988f=>this['matchesGroup'](_0x16988f,'file',this[_0x466ff6(0x14a)](_0x16988f),[_0x16988f?.[_0x466ff6(0xc4)]?.['collection']])):[];},get 'filteredPipelineCount'(){const _0x4f2582=_0x4f888c;return this['filteredEmbedPipelines'][_0x4f2582(0x103)]+this['filteredFilePipelines'][_0x4f2582(0x103)];},get 'filteredVisibleEngines'(){const _0x9a34a4=_0x4f888c;if(_0x9a34a4(0x150)!==this[_0x9a34a4(0x163)])return[];const _0x23a7dc=new Set(),_0x5f48fd=[];for(const _0x4d0197 of this[_0x9a34a4(0xc2)])for(const _0x220784 of this['embedPipelineEngines'](_0x4d0197)){const _0x40b57c=this[_0x9a34a4(0x124)](_0x220784);_0x40b57c&&!_0x23a7dc[_0x9a34a4(0x100)](_0x40b57c)&&(_0x23a7dc[_0x9a34a4(0xb6)](_0x40b57c),_0x5f48fd[_0x9a34a4(0xdc)](_0x220784));}for(const _0x104586 of this[_0x9a34a4(0xeb)])for(const _0x3575ee of this['filePipelineEngines'](_0x104586)){const _0xd7ac8f=this[_0x9a34a4(0x124)](_0x3575ee);_0xd7ac8f&&!_0x23a7dc[_0x9a34a4(0x100)](_0xd7ac8f)&&(_0x23a7dc[_0x9a34a4(0xb6)](_0xd7ac8f),_0x5f48fd[_0x9a34a4(0xdc)](_0x3575ee));}return _0x5f48fd;},get 'totalPipelineCount'(){const _0x22184f=_0x4f888c;return this[_0x22184f(0x129)][_0x22184f(0x103)]+this[_0x22184f(0x16b)][_0x22184f(0x103)];},get 'totalEngineCount'(){const _0x2ea792=_0x4f888c;return this[_0x2ea792(0x192)][_0x2ea792(0x103)];},get 'visibleItemCount'(){const _0xd453e9=_0x4f888c;return'pipelines'===this[_0xd453e9(0x163)]?this['filteredPipelineCount']:this[_0xd453e9(0x157)][_0xd453e9(0x103)];},get 'totalItemCount'(){const _0x4b3d3a=_0x4f888c;return _0x4b3d3a(0x150)===this[_0x4b3d3a(0x163)]?this['totalPipelineCount']:this['totalEngineCount'];},get 'activeEngines'(){const _0x1d3b4b=_0x4f888c;return _0x1d3b4b(0x150)===this['modeFilter']?this[_0x1d3b4b(0xe0)]:this[_0x1d3b4b(0x157)];},get 'hasAnyEngines'(){const _0xafe8b9=_0x4f888c;return this['allEngines'][_0xafe8b9(0x103)]>0x0;},get 'runningCount'(){const _0x2e8fe6=_0x4f888c;return this[_0x2e8fe6(0x135)]['filter'](_0x501d4b=>_0x2e8fe6(0x159)===this[_0x2e8fe6(0x161)](_0x501d4b))[_0x2e8fe6(0x103)];},get 'errorCount'(){const _0x572a1a=_0x4f888c;return this[_0x572a1a(0x135)][_0x572a1a(0xb7)](_0x414f17=>_0x572a1a(0xef)===this[_0x572a1a(0x161)](_0x414f17))[_0x572a1a(0x103)];},get 'headerTitle'(){const _0x4db3a0=_0x4f888c;return _0x4db3a0(0x150)===this[_0x4db3a0(0x163)]?_0x4db3a0(0x16f):_0x4db3a0(0x15a);},get 'noResultsLabel'(){const _0x5bf41d=_0x4f888c;return _0x5bf41d(0x150)===this[_0x5bf41d(0x163)]?'No\x20pipelines\x20match\x20the\x20current\x20filters':'No\x20engines\x20match\x20the\x20current\x20filters';},get 'noResultsHint'(){const _0x1d316a=_0x4f888c;return this[_0x1d316a(0x151)]?_0x1d316a(0x150)===this['modeFilter']?'Try\x20changing\x20the\x20selected\x20pipeline,\x20status,\x20or\x20search\x20filters\x20above.':_0x1d316a(0xee):_0x1d316a(0x150)===this['modeFilter']?_0x1d316a(0x17d):_0x1d316a(0xed);},'typeLabel':{'embedder':'Embedder','indexer':_0x4f888c(0xf5),'search':_0x4f888c(0x126),'worker':'Worker','vector-search':_0x4f888c(0x126),'embed-worker':_0x4f888c(0xe2),'materializer':_0x4f888c(0x190),'file-extractor':_0x4f888c(0x146),'file-collection':_0x4f888c(0xc3),'file-extractor-worker':'Worker','processor':_0x4f888c(0xdf),'queue-worker':'Queue\x20Worker'},'typeColor':{'embedder':_0x4f888c(0xfd),'indexer':'var(--okdb-purple)','vector-search':_0x4f888c(0xdb),'embed-worker':_0x4f888c(0xde),'materializer':_0x4f888c(0x10f),'file-extractor':_0x4f888c(0x13d),'file-collection':'var(--okdb-sky)','file-extractor-worker':_0x4f888c(0xde),'processor':'var(--okdb-orange)','queue-worker':_0x4f888c(0x112)},'healthDot':_0x1dd24f=>_0x1dd24f&&0x0!==_0x1dd24f['length']?_0x1dd24f['every'](_0x187d06=>_0x187d06[_0x4f888c(0x16e)])?_0x4f888c(0x13d):_0x1dd24f[_0x4f888c(0x136)](_0x2bc2b1=>_0x4f888c(0x141)===_0x2bc2b1['status'])?_0x4f888c(0x117):_0x4f888c(0xde):_0x4f888c(0x10e),'statusDot'(_0x486f89){const _0x48e81b=_0x4f888c;return _0x486f89?this[_0x48e81b(0x138)](_0x486f89)?.['color']??_0x48e81b(0x10e):_0x48e81b(0x10e);},'typeName'(_0x2de0c7){const _0x3a5f2b=_0x4f888c;return this['typeLabel'][_0x2de0c7]||_0x2de0c7||_0x3a5f2b(0xe3);},'shortEngineName'(_0x49f195){const _0x3b9c8a=_0x4f888c,_0x4eab73=String(_0x49f195?.[_0x3b9c8a(0x194)]??_0x49f195?.[_0x3b9c8a(0x19b)]??''),_0x2fa79f=_0x49f195?.[_0x3b9c8a(0x111)]?.['source_env']??_0x49f195?.[_0x3b9c8a(0x104)]??_0x49f195?.[_0x3b9c8a(0x106)]??'';return _0x2fa79f&&_0x4eab73[_0x3b9c8a(0xc9)](_0x2fa79f+':')?_0x4eab73[_0x3b9c8a(0x139)](_0x2fa79f['length']+0x1):_0x4eab73;},'showStatusText'(_0x498e2d){const _0x57b4df=_0x4f888c,_0x22af72=this[_0x57b4df(0x138)](_0x498e2d)?.[_0x57b4df(0xca)];return!!_0x22af72&&![_0x57b4df(0x159),_0x57b4df(0xe4)][_0x57b4df(0xf2)](_0x22af72);},'engineEnv':_0x18d77b=>_0x18d77b?_0x18d77b['config']?.[_0x4f888c(0x17c)]??_0x18d77b['env']??_0x18d77b[_0x4f888c(0xfb)]??_0x18d77b[_0x4f888c(0x106)]??(_0x4f888c(0x13c)===_0x18d77b[_0x4f888c(0x153)]?_0x4f888c(0x15d):null):null,'enginePipelineName':_0x2ebe62=>_0x2ebe62?.['meta']?.[_0x4f888c(0x12d)]??_0x2ebe62?.['config']?.[_0x4f888c(0x12d)]??_0x2ebe62?.[_0x4f888c(0x111)]?.[_0x4f888c(0x18d)]??null,'engineInSelectedPipeline'(_0x35ed36){const _0x49d152=_0x4f888c;if(!this['filterToSelectedPipeline']||!this[_0x49d152(0x198)])return!0x0;if(this[_0x49d152(0x12e)](_0x35ed36)===this['selectedPipelineName'])return!0x0;const _0x217435=this[_0x49d152(0x122)][_0x49d152(0x174)](_0x459632=>this[_0x49d152(0xce)](_0x459632)===this[_0x49d152(0x198)]||_0x459632?.[_0x49d152(0x194)]===this[_0x49d152(0x198)])??null;return!(!Array[_0x49d152(0xd0)](_0x217435?.[_0x49d152(0xd6)])||0x0===_0x217435[_0x49d152(0xd6)][_0x49d152(0x103)])&&_0x217435[_0x49d152(0xd6)][_0x49d152(0x136)](_0x34b9a6=>_0x34b9a6?.[_0x49d152(0x153)]===_0x35ed36?.[_0x49d152(0x153)]&&_0x34b9a6?.[_0x49d152(0x194)]===_0x35ed36?.[_0x49d152(0x194)]);},'embedPipelineEngines':_0x42f8fa=>Array[_0x4f888c(0xd0)](_0x42f8fa?.[_0x4f888c(0x10a)]?.[_0x4f888c(0xd6)])&&_0x42f8fa[_0x4f888c(0x10a)][_0x4f888c(0xd6)][_0x4f888c(0x103)]>0x0?_0x42f8fa[_0x4f888c(0x10a)][_0x4f888c(0xd6)]:[_0x42f8fa['embedder'],_0x42f8fa['indexer'],_0x42f8fa[_0x4f888c(0x11e)],_0x42f8fa['search']][_0x4f888c(0xb7)](Boolean),'pipelineRunningCount'(_0x57963c){const _0x3873d9=_0x4f888c;return this[_0x3873d9(0x178)](_0x57963c)[_0x3873d9(0xb7)](_0x3b795e=>_0x3b795e?.['isRunning'])[_0x3873d9(0x103)];},'pipelineMemberCount'(_0x444886){const _0x4fddc4=_0x4f888c;return this[_0x4fddc4(0x178)](_0x444886)[_0x4fddc4(0x103)];},get 'groupedPipelineHeading'(){const _0x2289bf=_0x4f888c;return this[_0x2289bf(0x122)][_0x2289bf(0x103)]>0x0?_0x2289bf(0x15f):_0x2289bf(0x10c);},'filePipelineEngines':_0x609c8b=>[_0x609c8b['collection'],..._0x609c8b[_0x4f888c(0x13e)],..._0x609c8b[_0x4f888c(0xec)]],'pipelineIdentity':_0x1227a5=>_0x1227a5?.[_0x4f888c(0x10a)]?.[_0x4f888c(0x194)]??_0x1227a5?.[_0x4f888c(0x19b)]??_0x1227a5?.[_0x4f888c(0x194)]??null,'isSelectedPipeline'(_0x1d9df6){const _0x5bb0b3=_0x4f888c,_0x1c10de=this[_0x5bb0b3(0xce)](_0x1d9df6);return!!_0x1c10de&&_0x1c10de===this['selectedPipelineName'];},'togglePipeline'(_0x1ff25f){const _0x16b9c3=_0x4f888c,_0x4df0ef=this[_0x16b9c3(0xce)](_0x1ff25f);_0x50fdf3[_0x16b9c3(0x11d)](_0x16b9c3(0x17e),{'name':this[_0x16b9c3(0xf1)](_0x1ff25f)?'':_0x4df0ef??''});},'pipelineBusy'(_0x333f2c){const _0x2cc19b=_0x4f888c,_0x544721=this[_0x2cc19b(0xce)](_0x333f2c);return!(!_0x544721||!this[_0x2cc19b(0x16a)][_0x544721]);},async 'withPipelineBusy'(_0x21a459,_0xc4e294){const _0x2f0fa9=_0x4f888c,_0x1d23e4=this[_0x2f0fa9(0xce)](_0x21a459);if(_0x1d23e4&&!this[_0x2f0fa9(0x16a)][_0x1d23e4]){this[_0x2f0fa9(0x16a)]={...this['pipelineActionBusy'],[_0x1d23e4]:!0x0};try{await _0xc4e294();}finally{this[_0x2f0fa9(0x16a)]={...this['pipelineActionBusy'],[_0x1d23e4]:!0x1};}}},'selectedPipelineMembers'(_0x2c156b){const _0x44cd95=_0x4f888c;return Array[_0x44cd95(0xd0)](_0x2c156b?.[_0x44cd95(0x10a)]?.['engines'])&&_0x2c156b[_0x44cd95(0x10a)][_0x44cd95(0xd6)][_0x44cd95(0x103)]?_0x2c156b[_0x44cd95(0x10a)][_0x44cd95(0xd6)]:this[_0x44cd95(0x178)](_0x2c156b);},'relatedType':_0x5e5509=>_0x5e5509?.[_0x4f888c(0x111)]?.[_0x4f888c(0x105)]??_0x5e5509?.[_0x4f888c(0xb5)]?.[_0x4f888c(0x105)]??_0x5e5509?.['stats']?.[_0x4f888c(0x105)]??_0x5e5509?.['stats']?.[_0x4f888c(0xe6)]?.['source_type']??null,'relatedEnv':(_0x253057,_0x52d97e=null)=>_0x253057?.[_0x4f888c(0x111)]?.[_0x4f888c(0x17c)]??_0x253057?.[_0x4f888c(0xb5)]?.['source_env']??_0x52d97e??null,'memberOwnerEnv'(_0x602b3a,_0x3c9ac0=null){const _0x2a6d76=_0x4f888c;return _0x602b3a?.['storeEnv']??_0x602b3a?.[_0x2a6d76(0x104)]??this[_0x2a6d76(0xc6)](_0x602b3a,_0x3c9ac0)??_0x3c9ac0??null;},'pipelineConfigMetrics'(_0x4655c2){const _0x1b82f6=_0x4f888c,_0x2e4cd3=this['embedPipelineEngines'](_0x4655c2),_0x14afc8=['Source','Field',_0x1b82f6(0x168),_0x1b82f6(0x164),_0x1b82f6(0x180),_0x1b82f6(0x188),_0x1b82f6(0x11b),_0x1b82f6(0x175),_0x1b82f6(0xbf)],_0x3cef83=new Set(),_0x417aff=[];for(const _0x4bd47f of _0x14afc8){for(const _0x1b3fa4 of _0x2e4cd3[_0x1b82f6(0x169)](_0x40477f=>_0x8007c9(_0x40477f))){const _0x5c172a=_0x1b3fa4[_0x1b82f6(0xca)]+':'+_0x1b3fa4[_0x1b82f6(0xff)];if(_0x1b3fa4['label']===_0x4bd47f&&!_0x3cef83[_0x1b82f6(0x100)](_0x5c172a)){_0x3cef83['add'](_0x5c172a),_0x417aff[_0x1b82f6(0xdc)](_0x1b3fa4);break;}}if(_0x417aff['length']>=0x8)break;}return _0x417aff;},'pipelineHeaderMetrics'(_0x30f744){const _0x377685=_0x4f888c,_0x48b651=new Map(this[_0x377685(0x176)](_0x30f744)['map'](_0x28344b=>[_0x28344b[_0x377685(0xca)],_0x28344b['value']])),_0x112b4c=_0x48b651[_0x377685(0x134)]('Source'),_0x505840=_0x48b651[_0x377685(0x134)]('Field'),_0x6be3a1=[],_0x3b9f38=(_0x49f9a0,_0x5c6d82)=>{const _0x308987=_0x377685;null!=_0x5c6d82&&''!==_0x5c6d82&&_0x6be3a1[_0x308987(0xdc)]({'label':_0x49f9a0,'value':String(_0x5c6d82)});};return _0x3b9f38(_0x377685(0x148),_0x112b4c?_0x505840&&'whole\x20record'!==_0x505840?_0x112b4c+'.'+_0x505840:_0x112b4c:null),_0x3b9f38(_0x377685(0x14e),_0x48b651[_0x377685(0x134)](_0x377685(0x168))),_0x3b9f38('Algorithm',_0x48b651[_0x377685(0x134)]('Algorithm')),_0x3b9f38('Model',_0x48b651[_0x377685(0x134)](_0x377685(0x11b))),_0x3b9f38(_0x377685(0x10b),_0x48b651['get'](_0x377685(0xbf))),_0x3b9f38('Environment',_0x30f744?.[_0x377685(0x104)]??_0x30f744?.['record']?.['env']),_0x6be3a1;},'pipelineProgressMetric'(_0x2037fe){const _0x2ee1e9=_0x4f888c,_0x280080=this[_0x2ee1e9(0x178)](_0x2037fe)[_0x2ee1e9(0x174)](_0x22ceea=>_0x2ee1e9(0xe6)===_0x22ceea?.[_0x2ee1e9(0x153)]||_0x2ee1e9(0xe6)===_0x22ceea?.[_0x2ee1e9(0x154)])??null,_0x55f964=_0x2d194a(_0x280080)['find'](_0x3264e3=>_0x2ee1e9(0xcb)===_0x3264e3?.[_0x2ee1e9(0xca)])??null;if(_0x55f964)return _0x55f964;const _0x3b6066=_0x280080?.[_0x2ee1e9(0x128)]??_0x280080?.[_0x2ee1e9(0xb5)]?.['progress']??null;if(null==_0x3b6066)return null;if(_0x2ee1e9(0xd3)==typeof _0x3b6066||_0x2ee1e9(0x108)==typeof _0x3b6066)return{'label':'Progress','value':String(_0x3b6066),'tone':'accent'};if(_0x2ee1e9(0x131)==typeof _0x3b6066&&_0x2ee1e9(0xd3)==typeof _0x3b6066['phase'])return{'label':_0x2ee1e9(0xcb),'value':_0x3b6066['phase'],'tone':_0x2ee1e9(0x125)};try{return{'label':_0x2ee1e9(0xcb),'value':JSON['stringify'](_0x3b6066),'tone':_0x2ee1e9(0x125)};}catch{return{'label':_0x2ee1e9(0xcb),'value':_0x2ee1e9(0x128),'tone':'accent'};}},async 'pipelineRequest'(_0x25129f,_0x157a8f,_0x44bd16){const _0x3cc6f6=_0x4f888c,_0x5cf40e=_0x25129f?.[_0x3cc6f6(0x10a)]?.[_0x3cc6f6(0x194)]??_0x25129f?.['key']??null,_0x3af94f=_0x25129f?.[_0x3cc6f6(0x104)]??_0x25129f?.['record']?.[_0x3cc6f6(0x104)]??_0x50fdf3['$ok'][_0x3cc6f6(0x13a)][_0x3cc6f6(0xcd)][_0x3cc6f6(0x13b)]??_0x3cc6f6(0x127);_0x5cf40e&&await this[_0x3cc6f6(0xe7)](_0x25129f,async()=>{const _0x2e5388=_0x3cc6f6,_0x48f6c8=_0x2e5388(0xf6)===_0x157a8f?'':'/'+_0x44bd16,_0x881e4e=await fetch(__ENV__[_0x2e5388(0xf7)]+_0x2e5388(0x143)+encodeURIComponent(_0x3af94f)+_0x2e5388(0x166)+encodeURIComponent(_0x5cf40e)+_0x48f6c8,{'method':_0x157a8f}),_0x822b67=await _0x881e4e[_0x2e5388(0x11c)]()[_0x2e5388(0x187)](()=>({}));if(!_0x881e4e['ok'])throw new Error(_0x822b67?.['error']?.['message']||(_0x44bd16||_0x2e5388(0xd7))+_0x2e5388(0x19a));_0x50fdf3[_0x2e5388(0x12c)][_0x2e5388(0x118)]?.[_0x2e5388(0xf3)]?.[_0x2e5388(0x15e)]?.(_0x2e5388(0xf6)===_0x157a8f?_0x2e5388(0xcf)+_0x5cf40e+'\x22':(_0x2e5388(0xc8)===_0x44bd16?_0x2e5388(0x15c):_0x2e5388(0xe5))+'\x20pipeline\x20\x22'+_0x5cf40e+'\x22'),_0x2e5388(0xf6)===_0x157a8f&&_0x50fdf3['$dispatch'](_0x2e5388(0x17e),{'name':''}),_0x50fdf3[_0x2e5388(0x11d)]('refresh');});},async 'restartPipeline'(_0x1c7d85){const _0x27907d=_0x4f888c,_0x12015e=_0x1c7d85?.[_0x27907d(0x10a)]?.[_0x27907d(0x194)]??_0x1c7d85?.['key']??null;_0x12015e&&await _0x50fdf3[_0x27907d(0x12c)][_0x27907d(0x118)]?.['modal']?.[_0x27907d(0x179)]?.('Restart\x20pipeline\x20\x22<b>'+_0x12015e+'</b>\x22?')&&await this[_0x27907d(0xe7)](_0x1c7d85,async()=>{const _0x11efa9=_0x27907d,_0x28fc21=_0x1c7d85?.[_0x11efa9(0x104)]??_0x1c7d85?.['record']?.['env']??_0x50fdf3['$ok']['stores'][_0x11efa9(0xcd)][_0x11efa9(0x13b)]??_0x11efa9(0x127),_0x349967=__ENV__[_0x11efa9(0xf7)]+_0x11efa9(0x143)+encodeURIComponent(_0x28fc21)+_0x11efa9(0x166)+encodeURIComponent(_0x12015e),_0x3697b0=await fetch(_0x349967+'/stop',{'method':_0x11efa9(0xba)}),_0x144ebf=await _0x3697b0[_0x11efa9(0x11c)]()[_0x11efa9(0x187)](()=>({}));if(!_0x3697b0['ok'])throw new Error(_0x144ebf?.[_0x11efa9(0x141)]?.['message']||_0x11efa9(0xc1));const _0x4676f3=await fetch(_0x349967+_0x11efa9(0x189),{'method':_0x11efa9(0xba)}),_0x147e5e=await _0x4676f3['json']()[_0x11efa9(0x187)](()=>({}));if(!_0x4676f3['ok'])throw new Error(_0x147e5e?.[_0x11efa9(0x141)]?.['message']||_0x11efa9(0x113));_0x50fdf3['$ok'][_0x11efa9(0x118)]?.[_0x11efa9(0xf3)]?.[_0x11efa9(0x15e)]?.(_0x11efa9(0x17b)+_0x12015e+'\x22'),_0x50fdf3[_0x11efa9(0x11d)](_0x11efa9(0xcc));});},'pipelineSourceType'(_0x30f5c6){const _0x79b548=_0x4f888c,_0x47c7ba=this[_0x79b548(0x178)](_0x30f5c6);for(const _0x5b40f9 of _0x47c7ba){const _0x8701a9=_0x5b40f9?.[_0x79b548(0x111)]?.[_0x79b548(0x105)]??_0x5b40f9?.[_0x79b548(0xb5)]?.[_0x79b548(0x105)]??_0x5b40f9?.[_0x79b548(0x111)]?.['target_type']??null;if(_0x8701a9)return _0x8701a9;}return null;},async 'startPipeline'(_0x9b7188){const _0x597895=_0x4f888c;try{await this[_0x597895(0xd1)](_0x9b7188,_0x597895(0xba),_0x597895(0xc8));}catch(_0x492a2c){_0x50fdf3[_0x597895(0x12c)]['shared']?.[_0x597895(0xf3)]?.[_0x597895(0x141)]?.(_0x492a2c?.[_0x597895(0x145)]||_0x597895(0x113));}},async 'stopPipeline'(_0x5009c8){const _0x52d452=_0x4f888c,_0x4b3ff7=_0x5009c8?.['record']?.[_0x52d452(0x194)]??_0x5009c8?.[_0x52d452(0x19b)]??null;if(_0x4b3ff7&&await _0x50fdf3[_0x52d452(0x12c)]['shared']?.[_0x52d452(0x114)]?.[_0x52d452(0x179)]?.(_0x52d452(0x107)+_0x4b3ff7+'</b>\x22?'))try{await this[_0x52d452(0xd1)](_0x5009c8,_0x52d452(0xba),'stop');}catch(_0x127183){_0x50fdf3[_0x52d452(0x12c)][_0x52d452(0x118)]?.[_0x52d452(0xf3)]?.[_0x52d452(0x141)]?.(_0x127183?.[_0x52d452(0x145)]||'Stop\x20failed');}},async 'deletePipeline'(_0x653a17){const _0x1d3d66=_0x4f888c,_0x419079=_0x653a17?.[_0x1d3d66(0x10a)]?.[_0x1d3d66(0x194)]??_0x653a17?.[_0x1d3d66(0x19b)]??null;if(!_0x419079)return;const _0x45f073=this[_0x1d3d66(0xbc)](_0x653a17)[_0x1d3d66(0x11f)](_0x28061a=>'•\x20'+(_0x28061a?.['role']||_0x28061a?.['type'])+':\x20'+_0x28061a?.['type']+'@'+_0x28061a?.[_0x1d3d66(0x194)])[_0x1d3d66(0xd2)]('<br>');if(await _0x50fdf3[_0x1d3d66(0x12c)][_0x1d3d66(0x118)]?.[_0x1d3d66(0x114)]?.['confirm']?.(_0x1d3d66(0xd9)+_0x419079+_0x1d3d66(0xf0)+(_0x45f073||_0x1d3d66(0x12b))+_0x1d3d66(0x18f)))try{await this[_0x1d3d66(0xd1)](_0x653a17,_0x1d3d66(0xf6),null);}catch(_0x1fa714){_0x50fdf3[_0x1d3d66(0x12c)][_0x1d3d66(0x118)]?.[_0x1d3d66(0xf3)]?.[_0x1d3d66(0x141)]?.(_0x1fa714?.[_0x1d3d66(0x145)]||'Delete\x20failed');}},'pipelineActionStyle':(_0x1ad7ef=_0x4f888c(0xe8))=>_0x4f888c(0x133)+_0x1ad7ef+_0x4f888c(0x191)+_0x1ad7ef+';background:'+_0x1ad7ef+'12;cursor:pointer;line-height:1.4;white-space:nowrap;','typeName'(_0x46c746){const _0x74f895=_0x4f888c;return this[_0x74f895(0x156)][_0x46c746]||_0x46c746||_0x74f895(0xe3);},'pipelineCardStyle'(_0x292d04){const _0xfb13fa=_0x4f888c;return _0xfb13fa(0x17a)+(this[_0xfb13fa(0xf1)](_0x292d04)?_0xfb13fa(0x14d):_0xfb13fa(0x183))+_0xfb13fa(0x17f);},async 'openEngineModal'(_0x5b293b,_0x226688=null){const _0x5125c3=_0x4f888c;if(!_0x5b293b?.[_0x5125c3(0x194)])return;const _0x26b055=this[_0x5125c3(0x110)](_0x5b293b,_0x226688)??(_0x50fdf3['$ok']['stores'][_0x5125c3(0xcd)]['selectedEnv']||'default');await _0x50fdf3['$ok'][_0x5125c3(0x118)]['modal'][_0x5125c3(0x119)]({'owner':_0x50fdf3,'title':_0x5125c3(0x14b)+_0x5b293b['name'],'canDrag':!0x0,'content':_0x5125c3(0x137),'context':_0x22f68f=>({'modal':_0x22f68f,'engine':_0x5b293b,'envName':_0x26b055})});},'openTypeMember'(_0x1e3847,_0x33a42d=null){const _0x43287d=_0x4f888c,_0x195f73=this[_0x43287d(0x172)](_0x1e3847);if(!_0x195f73)return;const _0x578386=this['relatedEnv'](_0x1e3847,_0x33a42d);_0x50fdf3[_0x43287d(0x11d)](_0x43287d(0xbe),{'type':_0x195f73,'env':_0x578386});},'engineMetricSearchParts':_0x42a596=>_0x2d194a(_0x42a596)[_0x4f888c(0x169)](_0xe06dc1=>[_0xe06dc1?.[_0x4f888c(0xca)],_0xe06dc1?.[_0x4f888c(0xff)]]),'engineStatusMeta':_0x48a268=>_0x55de14(_0x48a268),'lifecycleEnv'(_0x2044d3,_0x69d5b1=null){const _0x5faebf=_0x4f888c;return this['memberOwnerEnv'](_0x2044d3,_0x69d5b1)??this[_0x5faebf(0xea)](_0x2044d3)??_0x50fdf3['$ok'][_0x5faebf(0x13a)]['okdb'][_0x5faebf(0x13b)]??_0x5faebf(0x127);},'metricToneColor'(_0x309082=null){const _0x4b2312=_0x4f888c;switch(_0x309082?.['tone']){case _0x4b2312(0x15e):return _0x4b2312(0x13d);case'danger':return'var(--okdb-danger)';case _0x4b2312(0xb8):return _0x4b2312(0xde);case _0x4b2312(0x125):return _0x4b2312(0xfd);default:return _0x4b2312(0xe1);}},'metricPreview':(_0x3067b5=null)=>_0x3067b5?.[_0x4f888c(0xca)]&&_0x3067b5?.[_0x4f888c(0xff)]?_0x3067b5[_0x4f888c(0xca)]+':\x20'+_0x3067b5[_0x4f888c(0xff)]:'','requestRefresh'(){const _0x323963=_0x4f888c;_0x50fdf3[_0x323963(0x11d)]('refresh');},'goToType'(_0x3aca14){const _0x45c417=_0x4f888c,_0x220912=_0x50fdf3[_0x45c417(0xc0)][_0x45c417(0x116)];_0x220912[_0x45c417(0xdc)](_0x220912[_0x45c417(0x13f)]('/db',{'type':_0x3aca14,'tab':_0x45c417(0x150)}));},'goToFiles'(_0x1b0fcf){const _0x4dc518=_0x4f888c,_0x4f8a2d=_0x50fdf3['$vars'][_0x4dc518(0x116)];_0x4f8a2d[_0x4dc518(0xdc)](_0x4f8a2d['resolve']('/files',{'collection':_0x1b0fcf}));}}),'template':'\x0a<div\x20class=\x22eo-root\x22>\x0a\x0a\x20\x20<!--\x20──\x20Page\x20header\x20──\x20-->\x0a\x20\x20<div\x20class=\x22eo-header\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20align-items:center;\x20gap:8px;\x20min-width:0;\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22eo-title\x22>{{\x20headerTitle\x20}}</div>\x0a\x20\x20\x20\x20\x20\x20<span\x20:title=\x22isEmbedded\x20?\x20\x27Use\x20the\x20inline\x20filters\x20above\x20to\x20scope\x20this\x20type-local\x20engines\x20view.\x27\x20:\x20\x27Use\x20the\x20left\x20sidebar\x20to\x20switch\x20mode\x20and\x20filter\x20by\x20type,\x20status,\x20search\x20text,\x20and\x20source\x20type.\x27\x22\x20style=\x22font-size:12px;\x20opacity:.3;\x20cursor:help;\x22>ⓘ</span>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20<div\x20class=\x22eo-stats\x22>\x0a\x20\x20\x20\x20\x20\x20<span\x20title=\x22Visible\x20results\x22\x20style=\x22color:var(--okdb-app-fg-muted);\x22><span\x20style=\x22opacity:.55;\x22>Visible:</span><span\x20style=\x22color:var(--okdb-app-fg);\x20margin-left:4px;\x22>{{\x20visibleItemCount\x20}}\x20/\x20{{\x20totalItemCount\x20}}</span></span>\x0a\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-stat-sep\x22></span>\x0a\x20\x20\x20\x20\x20\x20<span\x20title=\x22Running\x20engines\x22\x20style=\x22color:var(--okdb-app-fg-muted);\x22><span\x20style=\x22opacity:.55;\x22>Running:</span><span\x20style=\x22color:var(--okdb-success);\x20margin-left:4px;\x22>{{\x20runningCount\x20}}</span></span>\x0a\x20\x20\x20\x20\x20\x20<if\x20:=\x22errorCount\x20>\x200\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-stat-sep\x22></span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20title=\x22Engines\x20needing\x20attention\x22\x20style=\x22color:var(--okdb-app-fg-muted);\x22><span\x20style=\x22opacity:.55;\x22>Attention:</span><span\x20style=\x22color:var(--okdb-danger);\x20margin-left:4px;\x22>{{\x20errorCount\x20}}</span></span>\x0a\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</div>\x0a\x0a\x20\x20<!--\x20──\x20No\x20engines\x20at\x20all\x20──\x20-->\x0a\x20\x20<if\x20:=\x22!hasAnyEngines\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22eo-alert\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22eo-alert__title\x22>No\x20engines\x20configured</div>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22eo-alert__body\x22>Create\x20a\x20pipeline\x20to\x20provision\x20engines,\x20then\x20return\x20here\x20to\x20inspect\x20and\x20manage\x20them.</div>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<!--\x20──\x20No\x20filter\x20results\x20──\x20-->\x0a\x20\x20<if\x20:=\x22hasAnyEngines\x20&&\x20visibleItemCount\x20===\x200\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22eo-alert\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22eo-alert__title\x22>{{\x20noResultsLabel\x20}}</div>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22eo-alert__body\x22>{{\x20noResultsHint\x20}}</div>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<!--\x20──\x20Env\x20/\x20embedding\x20pipelines\x20──\x20-->\x0a\x20\x20<if\x20:=\x22filteredEmbedPipelines.length\x20>\x200\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22eo-section\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22eo-section__label\x22>{{\x20groupedPipelineHeading\x20}}\x20<span\x20class=\x22eo-count\x22>{{\x20filteredEmbedPipelines.length\x20}}</span></div>\x0a\x20\x20\x20\x20\x20\x20<each\x20:of=\x22filteredEmbedPipelines\x22\x20let:item=\x22g\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20:style=\x22pipelineCardStyle(g)\x22>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20Pipeline\x20header\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22eo-pipeline-header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-health-dot\x22\x20:style=\x22\x27background:\x27\x20+\x20healthDot(embedPipelineEngines(g))\x20+\x20\x27;box-shadow:0\x200\x200\x203px\x20\x27\x20+\x20healthDot(embedPipelineEngines(g))\x20+\x20\x2720;\x27\x22></span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-pipeline-name\x22\x20:title=\x22g.name\x22>{{\x20g.name\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-pill\x22\x20:style=\x22g.type\x20===\x20\x27embed\x27\x20?\x20\x27border-color:color-mix(in\x20srgb,\x20var(--okdb-indigo)\x2033%,\x20transparent);color:var(--okdb-indigo);background:color-mix(in\x20srgb,\x20var(--okdb-indigo)\x207%,\x20transparent);\x27\x20:\x20\x27border-color:color-mix(in\x20srgb,\x20var(--okdb-accent)\x2033%,\x20transparent);color:var(--okdb-accent);background:color-mix(in\x20srgb,\x20var(--okdb-accent)\x207%,\x20transparent);\x27\x22>{{\x20g.type\x20===\x20\x27file\x27\x20?\x20\x27Files\x27\x20:\x20g.type\x20===\x20\x27embed\x27\x20?\x20\x27Embedding\x27\x20:\x20\x27Env\x27\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-run-count\x22\x20:title=\x22pipelineRunningCount(g)\x20+\x20\x27\x20running\x20of\x20\x27\x20+\x20pipelineMemberCount(g)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20:style=\x22\x27width:5px;height:5px;border-radius:50%;flex-shrink:0;background:\x27\x20+\x20(pipelineRunningCount(g)\x20===\x20pipelineMemberCount(g)\x20&&\x20pipelineMemberCount(g)\x20>\x200\x20?\x20\x27var(--okdb-success)\x27\x20:\x20pipelineRunningCount(g)\x20>\x200\x20?\x20\x27var(--okdb-warning)\x27\x20:\x20\x27#374151\x27)\x22></span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{{\x20pipelineRunningCount(g)\x20}}/{{\x20pipelineMemberCount(g)\x20}}\x0a\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<span\x20class=\x22eo-spacer\x22></span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22pipelineSourceType(g)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22openTypeMember(embedPipelineEngines(g).find(e\x20=>\x20e?.config?.source_type\x20||\x20e?.runtime?.source_type\x20||\x20e?.config?.target_type),\x20g.env)\x22\x20:disabled=\x22pipelineBusy(g)\x22\x20title=\x22Open\x20source\x20type\x20context\x22\x20class=\x22eo-btn\x22\x20style=\x22border-color:color-mix(in\x20srgb,\x20var(--okdb-indigo)\x2033%,\x20transparent);color:var(--okdb-indigo);background:color-mix(in\x20srgb,\x20var(--okdb-indigo)\x207%,\x20transparent);\x22>↗\x20Type</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\x20\x20<if\x20:=\x22pipelineRunningCount(g)\x20>\x200\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22stopPipeline(g)\x22\x20:disabled=\x22pipelineBusy(g)\x22\x20title=\x22Stop\x20all\x20running\x20members\x22\x20class=\x22eo-btn\x22\x20style=\x22border-color:color-mix(in\x20srgb,\x20var(--okdb-warning)\x2033%,\x20transparent);color:var(--okdb-warning);background:color-mix(in\x20srgb,\x20var(--okdb-warning)\x207%,\x20transparent);\x22>■\x20Stop</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\x20\x20<if\x20:=\x22pipelineMemberCount(g)\x20>\x200\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22restartPipeline(g)\x22\x20:disabled=\x22pipelineBusy(g)\x22\x20title=\x22Restart\x20all\x20members\x20(stop\x20then\x20start)\x22\x20class=\x22eo-btn\x22\x20style=\x22border-color:color-mix(in\x20srgb,\x20var(--okdb-orange)\x2033%,\x20transparent);color:var(--okdb-orange);background:color-mix(in\x20srgb,\x20var(--okdb-orange)\x207%,\x20transparent);\x22>↺\x20Restart</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\x20\x20<if\x20:=\x22pipelineRunningCount(g)\x20<\x20pipelineMemberCount(g)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22startPipeline(g)\x22\x20:disabled=\x22pipelineBusy(g)\x22\x20title=\x22Start\x20every\x20runnable\x20member\x22\x20class=\x22eo-btn\x22\x20:style=\x22pipelineActionStyle(\x27var(--okdb-success)\x27)\x22>▶\x20Start</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\x20\x20<button\x20@click=\x22togglePipeline(g)\x22\x20:title=\x22isSelectedPipeline(g)\x20?\x20\x27Collapse\x27\x20:\x20\x27Expand\x20members\x27\x22\x20class=\x22eo-btn\x20eo-btn--toggle\x22>Members\x20{{\x20isSelectedPipeline(g)\x20?\x20\x27▴\x27\x20:\x20\x27▾\x27\x20}}</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20Config\x20metrics\x20row\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22pipelineHeaderMetrics(g).length\x20>\x200\x20||\x20pipelineProgressMetric(g)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22eo-pipeline-metrics\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<each\x20:of=\x22pipelineHeaderMetrics(g)\x22\x20let:item=\x22metric\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-kv\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-kv__label\x22>{{\x20metric.label\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-kv__val\x22>{{\x20metric.value\x20}}</span>\x0a\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</each>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22pipelineProgressMetric(g)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-kv\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-kv__label\x22>Progress</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-kv__val\x22\x20:style=\x22\x27color:\x27\x20+\x20metricToneColor(pipelineProgressMetric(g))\x22>{{\x20pipelineProgressMetric(g).value\x20}}</span>\x0a\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</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\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20Inline\x20member\x20chip\x20strip\x20(always\x20visible\x20when\x20collapsed)\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22!isSelectedPipeline(g)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22eo-chip-strip\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<each\x20:of=\x22embedPipelineEngines(g)\x22\x20let:item=\x22eng\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-chip\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20:style=\x22\x27width:5px;height:5px;border-radius:50%;flex-shrink:0;background:\x27\x20+\x20statusDot(eng)\x22></span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20:style=\x22\x27color:\x27\x20+\x20(typeColor[eng.role\x20||\x20eng.type]\x20??\x20\x27var(--okdb-app-fg-muted)\x27)\x22>{{\x20typeName(eng.role\x20||\x20eng.type)\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-chip__name\x22>{{\x20shortEngineName(eng)\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22showStatusText(eng)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20:style=\x22\x27color:\x27\x20+\x20engineStatusMeta(eng).color\x20+\x20\x27;opacity:.8;\x27\x22>{{\x20engineStatusMeta(eng).label\x20}}</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</span>\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</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20Expanded\x20accordion:\x20full\x20engine-resource-card\x20members\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22isSelectedPipeline(g)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22eo-accordion\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<each\x20:of=\x22selectedPipelineMembers(g)\x22\x20let:item=\x22member\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<engine-resource-card\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:engine=\x22member\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:env=\x22lifecycleEnv(member,\x20g.env)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:pipeline=\x22pipelineIdentity(g)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:hidepipeline=\x22true\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20hidetype=\x22true\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20hideenv=\x22true\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20variant=\x22member\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:showdelete=\x22false\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@refresh=\x22requestRefresh()\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@edit=\x22openEngineModal($event.detail,\x20g.env)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@type-context=\x22openTypeMember($event.detail.engine,\x20g.env)\x22\x0a\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</each>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20Footer:\x20destructive\x20action\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22eo-accordion-footer\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22deletePipeline(g)\x22\x20:disabled=\x22pipelineBusy(g)\x22\x20title=\x22Delete\x20the\x20pipeline\x20record\x20and\x20env-owned\x20members\x22\x20class=\x22eo-btn\x20eo-btn--danger\x22>🗑\x20Delete\x20pipeline</button>\x0a\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</div>\x0a\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\x20\x20</each>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<!--\x20──\x20File\x20Pipelines\x20──\x20-->\x0a\x20\x20<if\x20:=\x22filteredFilePipelines.length\x20>\x200\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22eo-section\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22eo-section__label\x22>File\x20Pipelines\x20<span\x20class=\x22eo-count\x22>{{\x20filteredFilePipelines.length\x20}}</span></div>\x0a\x20\x20\x20\x20\x20\x20<each\x20:of=\x22filteredFilePipelines\x22\x20let:item=\x22g\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22eo-pipeline-card\x22>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20Pipeline\x20header\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22eo-pipeline-header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-health-dot\x22\x20:style=\x22\x27background:\x27\x20+\x20healthDot(filePipelineEngines(g))\x20+\x20\x27;box-shadow:0\x200\x200\x203px\x20\x27\x20+\x20healthDot(filePipelineEngines(g))\x20+\x20\x2720;\x27\x22></span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-pipeline-name\x22\x20:title=\x22g.name\x22>{{\x20g.name\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-pill\x22\x20style=\x22border-color:color-mix(in\x20srgb,\x20var(--okdb-sky)\x2033%,\x20transparent);color:var(--okdb-sky);background:color-mix(in\x20srgb,\x20var(--okdb-sky)\x207%,\x20transparent);\x22>Files</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-run-count\x22\x20:title=\x22filePipelineEngines(g).filter(e\x20=>\x20e.isRunning).length\x20+\x20\x27\x20running\x20of\x20\x27\x20+\x20filePipelineEngines(g).length\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20:style=\x22\x27width:5px;height:5px;border-radius:50%;flex-shrink:0;background:\x27\x20+\x20(filePipelineEngines(g).every(e\x20=>\x20e.isRunning)\x20&&\x20filePipelineEngines(g).length\x20>\x200\x20?\x20\x27var(--okdb-success)\x27\x20:\x20filePipelineEngines(g).some(e\x20=>\x20e.isRunning)\x20?\x20\x27var(--okdb-warning)\x27\x20:\x20\x27#374151\x27)\x22></span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{{\x20filePipelineEngines(g).filter(e\x20=>\x20e.isRunning).length\x20}}/{{\x20filePipelineEngines(g).length\x20}}\x0a\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<span\x20class=\x22eo-spacer\x22></span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22goToFiles(g.name)\x22\x20title=\x22Open\x20the\x20file\x20collection\x20context\x22\x20class=\x22eo-btn\x22\x20style=\x22border-color:color-mix(in\x20srgb,\x20var(--okdb-sky)\x2033%,\x20transparent);color:var(--okdb-sky);background:color-mix(in\x20srgb,\x20var(--okdb-sky)\x207%,\x20transparent);\x22>↗\x20Open</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20Engine\x20chip\x20strip\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22eo-chip-strip\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-chip\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20:style=\x22\x27width:5px;height:5px;border-radius:50%;flex-shrink:0;background:\x27\x20+\x20statusDot(g.collection)\x22></span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20:style=\x22\x27color:\x27\x20+\x20(typeColor[g.collection.type]\x20??\x20\x27var(--okdb-sky)\x27)\x22>{{\x20typeLabel[g.collection.type]\x20??\x20\x27Collection\x27\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-chip__name\x22>{{\x20g.collection.name\x20}}</span>\x0a\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<each\x20:of=\x22g.extractors\x22\x20let:item=\x22ext\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-chip\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20:style=\x22\x27width:5px;height:5px;border-radius:50%;flex-shrink:0;background:\x27\x20+\x20statusDot(ext)\x22></span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22color:var(--okdb-success);\x22>Extractor</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-chip__name\x22>{{\x20ext.name\x20}}</span>\x0a\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</each>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<each\x20:of=\x22g.workers\x22\x20let:item=\x22w\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-chip\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20:style=\x22\x27width:5px;height:5px;border-radius:50%;flex-shrink:0;background:\x27\x20+\x20statusDot(w)\x22></span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22color:var(--okdb-warning);\x22>Worker</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-chip__name\x22>{{\x20w.name\x20}}</span>\x0a\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</each>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20</each>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<!--\x20──\x20Engines\x20(engine\x20mode)\x20──\x20-->\x0a\x20\x20<if\x20:=\x22modeFilter\x20===\x20\x27engines\x27\x20&&\x20visibleEngines.length\x20>\x200\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22eo-section\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22eo-section__label\x22>Engines\x20<span\x20class=\x22eo-count\x22>{{\x20visibleEngines.length\x20}}</span></div>\x0a\x20\x20\x20\x20\x20\x20<each\x20:of=\x22visibleEngineGroups\x22\x20let:item=\x22group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<each\x20:of=\x22group.engines\x22\x20let:item=\x22eng\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<engine-resource-card\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:engine=\x22eng\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:env=\x22lifecycleEnv(eng)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:pipeline=\x22enginePipelineName(eng)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20variant=\x22card\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:showdelete=\x22false\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@refresh=\x22requestRefresh()\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@edit=\x22openEngineModal($event.detail,\x20engineEnv($event.detail))\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@type-context=\x22goToType($event.detail.type)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</each>\x0a\x20\x20\x20\x20\x20\x20</each>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</if>\x0a\x0a</div>','style':'\x0a/*\x20──\x20Root\x20───────────────────────────────────────────\x20*/\x0aengines-overview\x20.eo-root\x20{\x0a\x20\x20display:\x20flex;\x0a\x20\x20flex-direction:\x20column;\x0a\x20\x20gap:\x2016px;\x0a\x20\x20max-width:\x20980px;\x0a}\x0a\x0a/*\x20──\x20Page\x20header\x20────────────────────────────────────\x20*/\x0aengines-overview\x20.eo-header\x20{\x0a\x20\x20display:\x20flex;\x0a\x20\x20justify-content:\x20space-between;\x0a\x20\x20gap:\x2012px;\x0a\x20\x20align-items:\x20center;\x0a\x20\x20flex-wrap:\x20wrap;\x0a}\x0aengines-overview\x20.eo-title\x20{\x20font-weight:\x20700;\x20font-size:\x2017px;\x20color:\x20var(--okdb-app-fg);\x20letter-spacing:\x20-.01em;\x20}\x0aengines-overview\x20.eo-stats\x20{\x20display:\x20flex;\x20gap:\x2010px;\x20flex-wrap:\x20wrap;\x20align-items:\x20center;\x20font-size:\x2011px;\x20}\x0aengines-overview\x20.eo-stat-sep\x20{\x20width:\x201px;\x20height:\x2012px;\x20background:\x20var(--okdb-app-border);\x20flex-shrink:\x200;\x20}\x0a\x0a/*\x20──\x20Alerts\x20─────────────────────────────────────────\x20*/\x0aengines-overview\x20.eo-alert\x20{\x0a\x20\x20padding:\x2012px\x2016px;\x0a\x20\x20border:\x201px\x20solid\x20var(--okdb-app-border);\x0a\x20\x20border-radius:\x2010px;\x0a\x20\x20background:\x20var(--okdb-app-bg-deep);\x0a\x20\x20font-size:\x2012px;\x0a\x20\x20line-height:\x201.6;\x0a}\x0aengines-overview\x20.eo-alert__title\x20{\x20font-weight:\x20600;\x20color:\x20var(--okdb-app-fg-muted);\x20margin-bottom:\x202px;\x20}\x0aengines-overview\x20.eo-alert__body\x20{\x20color:\x20var(--okdb-app-fg-subtle);\x20}\x0a\x0a/*\x20──\x20Section\x20────────────────────────────────────────\x20*/\x0aengines-overview\x20.eo-section\x20{\x20display:\x20flex;\x20flex-direction:\x20column;\x20gap:\x208px;\x20}\x0aengines-overview\x20.eo-section__label\x20{\x0a\x20\x20font-size:\x2010px;\x0a\x20\x20text-transform:\x20uppercase;\x0a\x20\x20letter-spacing:\x20.07em;\x0a\x20\x20color:\x20var(--okdb-app-fg-muted);\x0a\x20\x20opacity:\x20.55;\x0a\x20\x20margin-bottom:\x202px;\x0a}\x0aengines-overview\x20.eo-count\x20{\x0a\x20\x20font-size:\x2010px;\x0a\x20\x20padding:\x200\x206px;\x0a\x20\x20border-radius:\x20999px;\x0a\x20\x20background:\x20var(--okdb-app-surface);\x0a\x20\x20border:\x201px\x20solid\x20var(--okdb-app-border);\x0a\x20\x20color:\x20var(--okdb-accent-muted);\x0a\x20\x20margin-left:\x204px;\x0a\x20\x20vertical-align:\x20middle;\x0a}\x0a\x0a/*\x20──\x20Pipeline\x20card\x20──────────────────────────────────\x20*/\x0aengines-overview\x20.eo-pipeline-card\x20{\x0a\x20\x20background:\x20var(--okdb-app-surface);\x0a\x20\x20border:\x201px\x20solid\x20var(--okdb-app-border);\x0a\x20\x20border-radius:\x2010px;\x0a\x20\x20overflow:\x20hidden;\x0a\x20\x20transition:\x20border-color\x20.14s;\x0a}\x0aengines-overview\x20.eo-pipeline-card:hover\x20{\x20border-color:\x20#384047;\x20}\x0a\x0aengines-overview\x20.eo-pipeline-header\x20{\x0a\x20\x20display:\x20flex;\x0a\x20\x20align-items:\x20center;\x0a\x20\x20gap:\x208px;\x0a\x20\x20padding:\x2012px\x2014px;\x0a\x20\x20flex-wrap:\x20wrap;\x0a\x20\x20min-width:\x200;\x0a}\x0aengines-overview\x20.eo-health-dot\x20{\x0a\x20\x20width:\x207px;\x0a\x20\x20height:\x207px;\x0a\x20\x20border-radius:\x2050%;\x0a\x20\x20flex-shrink:\x200;\x0a}\x0aengines-overview\x20.eo-pipeline-name\x20{\x0a\x20\x20font-weight:\x20600;\x0a\x20\x20font-size:\x2013.5px;\x0a\x20\x20color:\x20var(--okdb-app-fg);\x0a\x20\x20overflow:\x20hidden;\x0a\x20\x20text-overflow:\x20ellipsis;\x0a\x20\x20white-space:\x20nowrap;\x0a\x20\x20min-width:\x200;\x0a\x20\x20letter-spacing:\x20-.01em;\x0a}\x0aengines-overview\x20.eo-spacer\x20{\x20flex:\x201;\x20min-width:\x200;\x20}\x0aengines-overview\x20.eo-run-count\x20{\x0a\x20\x20font-size:\x2011px;\x0a\x20\x20color:\x20var(--okdb-accent-muted);\x0a\x20\x20display:\x20inline-flex;\x0a\x20\x20align-items:\x20center;\x0a\x20\x20gap:\x204px;\x0a\x20\x20white-space:\x20nowrap;\x0a\x20\x20flex-shrink:\x200;\x0a}\x0a\x0a/*\x20──\x20Pills\x20──────────────────────────────────────────\x20*/\x0aengines-overview\x20.eo-pill\x20{\x0a\x20\x20font-size:\x2010.5px;\x0a\x20\x20padding:\x201px\x208px;\x0a\x20\x20border-radius:\x20999px;\x0a\x20\x20border:\x201px\x20solid\x20var(--okdb-app-border);\x0a\x20\x20color:\x20var(--okdb-app-fg-muted);\x0a\x20\x20background:\x20transparent;\x0a\x20\x20display:\x20inline-flex;\x0a\x20\x20align-items:\x20center;\x0a\x20\x20white-space:\x20nowrap;\x0a\x20\x20flex-shrink:\x200;\x0a\x20\x20letter-spacing:\x20.01em;\x0a}\x0a\x0a/*\x20──\x20Buttons\x20────────────────────────────────────────\x20*/\x0aengines-overview\x20.eo-btn\x20{\x0a\x20\x20font-size:\x2011px;\x0a\x20\x20padding:\x203px\x2010px;\x0a\x20\x20border-radius:\x20999px;\x0a\x20\x20border:\x201px\x20solid\x20var(--okdb-app-border);\x0a\x20\x20background:\x20var(--okdb-app-bg-deep);\x0a\x20\x20color:\x20var(--okdb-app-fg-muted);\x0a\x20\x20cursor:\x20pointer;\x0a\x20\x20line-height:\x201.4;\x0a\x20\x20flex-shrink:\x200;\x0a\x20\x20white-space:\x20nowrap;\x0a\x20\x20transition:\x20filter\x20.12s;\x0a}\x0aengines-overview\x20.eo-btn--toggle\x20{\x20background:\x20var(--okdb-app-bg-deep);\x20border-color:\x20var(--okdb-app-border);\x20color:\x20var(--okdb-app-fg-muted);\x20}\x0aengines-overview\x20.eo-btn--danger\x20{\x20border-color:\x20color-mix(in\x20srgb,\x20var(--okdb-danger)\x2033%,\x20transparent);\x20color:\x20var(--okdb-danger);\x20background:\x20color-mix(in\x20srgb,\x20var(--okdb-danger)\x207%,\x20transparent);\x20}\x0aengines-overview\x20.eo-btn:hover:not(:disabled)\x20{\x20filter:\x20brightness(1.3);\x20}\x0aengines-overview\x20.eo-btn:disabled\x20{\x20opacity:\x20.4;\x20cursor:\x20not-allowed;\x20}\x0a\x0a/*\x20──\x20Metrics\x20row\x20(pipeline\x20header)\x20─────────────────\x20*/\x0aengines-overview\x20.eo-pipeline-metrics\x20{\x0a\x20\x20display:\x20flex;\x0a\x20\x20flex-wrap:\x20wrap;\x0a\x20\x20gap:\x203px\x2016px;\x0a\x20\x20padding:\x200\x2014px\x2010px\x2035px;\x0a}\x0aengines-overview\x20.eo-kv\x20{\x20display:\x20inline-flex;\x20gap:\x204px;\x20align-items:\x20baseline;\x20font-size:\x2011px;\x20line-height:\x201.4;\x20}\x0aengines-overview\x20.eo-kv__label\x20{\x20font-size:\x209.5px;\x20text-transform:\x20uppercase;\x20letter-spacing:\x20.04em;\x20color:\x20var(--okdb-app-fg-subtle);\x20flex-shrink:\x200;\x20}\x0aengines-overview\x20.eo-kv__val\x20{\x20color:\x20#a8c4d9;\x20overflow:\x20hidden;\x20text-overflow:\x20ellipsis;\x20white-space:\x20nowrap;\x20}\x0a\x0a/*\x20──\x20Inline\x20chip\x20strip\x20(collapsed\x20pipeline)\x20─────────\x20*/\x0aengines-overview\x20.eo-chip-strip\x20{\x0a\x20\x20display:\x20flex;\x0a\x20\x20flex-wrap:\x20wrap;\x0a\x20\x20gap:\x205px;\x0a\x20\x20padding:\x200\x2014px\x2012px\x2035px;\x0a}\x0aengines-overview\x20.eo-chip\x20{\x0a\x20\x20display:\x20inline-flex;\x0a\x20\x20align-items:\x20center;\x0a\x20\x20gap:\x205px;\x0a\x20\x20padding:\x202px\x208px;\x0a\x20\x20border-radius:\x20999px;\x0a\x20\x20border:\x201px\x20solid\x20var(--okdb-app-border);\x0a\x20\x20background:\x20var(--okdb-app-bg-deep);\x0a\x20\x20font-size:\x2010.5px;\x0a\x20\x20white-space:\x20nowrap;\x0a}\x0aengines-overview\x20.eo-chip__name\x20{\x20color:\x20var(--okdb-accent-muted);\x20}\x0a\x0a/*\x20──\x20Accordion\x20(expanded\x20pipeline)\x20─────────────────\x20*/\x0aengines-overview\x20.eo-accordion\x20{\x0a\x20\x20border-top:\x201px\x20solid\x20var(--okdb-app-border);\x0a\x20\x20background:\x20var(--okdb-app-bg-deep);\x0a\x20\x20display:\x20flex;\x0a\x20\x20flex-direction:\x20column;\x0a\x20\x20gap:\x208px;\x0a\x20\x20padding:\x2012px;\x0a}\x0aengines-overview\x20.eo-accordion-footer\x20{\x0a\x20\x20display:\x20flex;\x0a\x20\x20justify-content:\x20flex-end;\x0a\x20\x20padding:\x204px\x202px\x202px;\x0a\x20\x20border-top:\x201px\x20solid\x20var(--okdb-app-border);\x0a\x20\x20margin-top:\x202px;\x0a}\x0a'};
|
|
1
|
+
const _0x444f0f=_0x46cc;(function(_0x4da247,_0x2bf17a){const _0x220912=_0x46cc,_0x27f40c=_0x4da247();while(!![]){try{const _0x31f04b=parseInt(_0x220912(0x1e5))/0x1+parseInt(_0x220912(0x200))/0x2*(-parseInt(_0x220912(0x196))/0x3)+parseInt(_0x220912(0x1a4))/0x4*(-parseInt(_0x220912(0x1a5))/0x5)+-parseInt(_0x220912(0x1b3))/0x6+-parseInt(_0x220912(0x185))/0x7*(parseInt(_0x220912(0x1b8))/0x8)+parseInt(_0x220912(0x176))/0x9+parseInt(_0x220912(0x193))/0xa*(parseInt(_0x220912(0x186))/0xb);if(_0x31f04b===_0x2bf17a)break;else _0x27f40c['push'](_0x27f40c['shift']());}catch(_0x161beb){_0x27f40c['push'](_0x27f40c['shift']());}}}(_0xa870,0xbf7a6));function _0x46cc(_0x5a26d9,_0x5a9161){_0x5a26d9=_0x5a26d9-0x11c;const _0xa87062=_0xa870();let _0x46ccf3=_0xa87062[_0x5a26d9];return _0x46ccf3;}import _0x15bc9 from'../../engines/modals/engine-modal.ok.js';function _0xa870(){const _0x3ba1ae=['Collection','pipelineIdentity','filter','embedded','object','var(--okdb-sky)','Embedding\x20Pipelines','source_type','embeddings','modeFilter','flatMap','pipelineTypeMatches','Provider','replace','collectionEngine','every','Engine','Delete\x20failed','2mqKpgM','string','resolve','pipelineRecords','engineSourceTypes','goto-type','inactive','isEmbedded','filteredPipelineCount','var(--okdb-app-fg-muted)','var(--okdb-accent)','API','activeEngines','vector-search','fileEngines','engineStatusMeta','pipelines','modal','engineMetricSearchParts','Environment','set','error','selectedpipeline','No\x20engines\x20match\x20the\x20current\x20filters','Start\x20failed','source_env','role','sourceTypeFilter','fileData','Workers','__standalone__','Try\x20changing\x20the\x20engine\x20type,\x20status,\x20search,\x20or\x20source-type\x20filters.','Stop\x20pipeline\x20\x22<b>','var(--okdb-app-fg)','collections','12;cursor:pointer;line-height:1.4;white-space:nowrap;','default','var(--okdb-danger)','Pipelines','attention','enginetype','filteredFilePipelines','selectedEnv','progress','embedding','running','collection','/stop','embedPipelineEngines','handler','status','isArray','pipelineConfigMetrics','relatedType','danger','building','allEngines','Try\x20changing\x20the\x20selected\x20pipeline,\x20status,\x20or\x20search\x20filters\x20above.','pop','members','confirm','Indexer','extractors','</b>\x22?<br><br>','slice','selectedPipelineMembers','embedEngines','engines','<br><br>Env-owned\x20members\x20will\x20be\x20removed;\x20shared\x20members\x20will\x20be\x20preserved.','config','stores','engineInSelectedPipeline','has','$attr','Concurrency','Embedder','Stop\x20failed','true','Model','select','selectedPipelineName','Source','all','enginePipelineName','toast','refresh','request','Deleted\x20pipeline\x20\x22','paused','processor','embed-worker','statusFilter','</b>\x22?','catch','filteredEmbedPipelines','groupStatusBucket','worker','sort','/pipelines/','8463528zSKgfw','totalEngineCount','pipeline','stringify','add','value','stop','searchFilter','search','number','Algorithm','var(--okdb-orange)','\x0a<div\x20class=\x22eo-root\x22>\x0a\x0a\x20\x20<!--\x20──\x20Page\x20header\x20──\x20-->\x0a\x20\x20<div\x20class=\x22eo-header\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20align-items:center;\x20gap:8px;\x20min-width:0;\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22eo-title\x22>{{\x20headerTitle\x20}}</div>\x0a\x20\x20\x20\x20\x20\x20<span\x20:title=\x22isEmbedded\x20?\x20\x27Use\x20the\x20inline\x20filters\x20above\x20to\x20scope\x20this\x20type-local\x20engines\x20view.\x27\x20:\x20\x27Use\x20the\x20left\x20sidebar\x20to\x20switch\x20mode\x20and\x20filter\x20by\x20type,\x20status,\x20search\x20text,\x20and\x20source\x20type.\x27\x22\x20style=\x22font-size:12px;\x20opacity:.3;\x20cursor:help;\x22>ⓘ</span>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20<div\x20class=\x22eo-stats\x22>\x0a\x20\x20\x20\x20\x20\x20<span\x20title=\x22Visible\x20results\x22\x20style=\x22color:var(--okdb-app-fg-muted);\x22><span\x20style=\x22opacity:.55;\x22>Visible:</span><span\x20style=\x22color:var(--okdb-app-fg);\x20margin-left:4px;\x22>{{\x20visibleItemCount\x20}}\x20/\x20{{\x20totalItemCount\x20}}</span></span>\x0a\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-stat-sep\x22></span>\x0a\x20\x20\x20\x20\x20\x20<span\x20title=\x22Running\x20engines\x22\x20style=\x22color:var(--okdb-app-fg-muted);\x22><span\x20style=\x22opacity:.55;\x22>Running:</span><span\x20style=\x22color:var(--okdb-success);\x20margin-left:4px;\x22>{{\x20runningCount\x20}}</span></span>\x0a\x20\x20\x20\x20\x20\x20<if\x20:=\x22errorCount\x20>\x200\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-stat-sep\x22></span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20title=\x22Engines\x20needing\x20attention\x22\x20style=\x22color:var(--okdb-app-fg-muted);\x22><span\x20style=\x22opacity:.55;\x22>Attention:</span><span\x20style=\x22color:var(--okdb-danger);\x20margin-left:4px;\x22>{{\x20errorCount\x20}}</span></span>\x0a\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</div>\x0a\x0a\x20\x20<!--\x20──\x20No\x20engines\x20at\x20all\x20──\x20-->\x0a\x20\x20<if\x20:=\x22!hasAnyEngines\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22eo-alert\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22eo-alert__title\x22>No\x20engines\x20configured</div>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22eo-alert__body\x22>Create\x20a\x20pipeline\x20to\x20provision\x20engines,\x20then\x20return\x20here\x20to\x20inspect\x20and\x20manage\x20them.</div>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<!--\x20──\x20No\x20filter\x20results\x20──\x20-->\x0a\x20\x20<if\x20:=\x22hasAnyEngines\x20&&\x20visibleItemCount\x20===\x200\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22eo-alert\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22eo-alert__title\x22>{{\x20noResultsLabel\x20}}</div>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22eo-alert__body\x22>{{\x20noResultsHint\x20}}</div>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<!--\x20──\x20Env\x20/\x20embedding\x20pipelines\x20──\x20-->\x0a\x20\x20<if\x20:=\x22filteredEmbedPipelines.length\x20>\x200\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22eo-section\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22eo-section__label\x22>{{\x20groupedPipelineHeading\x20}}\x20<span\x20class=\x22eo-count\x22>{{\x20filteredEmbedPipelines.length\x20}}</span></div>\x0a\x20\x20\x20\x20\x20\x20<each\x20:of=\x22filteredEmbedPipelines\x22\x20let:item=\x22g\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20:style=\x22pipelineCardStyle(g)\x22>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20Pipeline\x20header\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22eo-pipeline-header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-health-dot\x22\x20:style=\x22\x27background:\x27\x20+\x20healthDot(embedPipelineEngines(g))\x20+\x20\x27;box-shadow:0\x200\x200\x203px\x20\x27\x20+\x20healthDot(embedPipelineEngines(g))\x20+\x20\x2720;\x27\x22></span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-pipeline-name\x22\x20:title=\x22g.name\x22>{{\x20g.name\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-pill\x22\x20:style=\x22g.type\x20===\x20\x27embed\x27\x20?\x20\x27border-color:color-mix(in\x20srgb,\x20var(--okdb-indigo)\x2033%,\x20transparent);color:var(--okdb-indigo);background:color-mix(in\x20srgb,\x20var(--okdb-indigo)\x207%,\x20transparent);\x27\x20:\x20\x27border-color:color-mix(in\x20srgb,\x20var(--okdb-accent)\x2033%,\x20transparent);color:var(--okdb-accent);background:color-mix(in\x20srgb,\x20var(--okdb-accent)\x207%,\x20transparent);\x27\x22>{{\x20g.type\x20===\x20\x27file\x27\x20?\x20\x27Files\x27\x20:\x20g.type\x20===\x20\x27embed\x27\x20?\x20\x27Embedding\x27\x20:\x20\x27Env\x27\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-run-count\x22\x20:title=\x22pipelineRunningCount(g)\x20+\x20\x27\x20running\x20of\x20\x27\x20+\x20pipelineMemberCount(g)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20:style=\x22\x27width:5px;height:5px;border-radius:50%;flex-shrink:0;background:\x27\x20+\x20(pipelineRunningCount(g)\x20===\x20pipelineMemberCount(g)\x20&&\x20pipelineMemberCount(g)\x20>\x200\x20?\x20\x27var(--okdb-success)\x27\x20:\x20pipelineRunningCount(g)\x20>\x200\x20?\x20\x27var(--okdb-warning)\x27\x20:\x20\x27#374151\x27)\x22></span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{{\x20pipelineRunningCount(g)\x20}}/{{\x20pipelineMemberCount(g)\x20}}\x0a\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<span\x20class=\x22eo-spacer\x22></span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22pipelineSourceType(g)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22openTypeMember(embedPipelineEngines(g).find(e\x20=>\x20e?.config?.source_type\x20||\x20e?.runtime?.source_type\x20||\x20e?.config?.target_type),\x20g.env)\x22\x20:disabled=\x22pipelineBusy(g)\x22\x20title=\x22Open\x20source\x20type\x20context\x22\x20class=\x22eo-btn\x22\x20style=\x22border-color:color-mix(in\x20srgb,\x20var(--okdb-indigo)\x2033%,\x20transparent);color:var(--okdb-indigo);background:color-mix(in\x20srgb,\x20var(--okdb-indigo)\x207%,\x20transparent);\x22>↗\x20Type</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\x20\x20<if\x20:=\x22pipelineRunningCount(g)\x20>\x200\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22stopPipeline(g)\x22\x20:disabled=\x22pipelineBusy(g)\x22\x20title=\x22Stop\x20all\x20running\x20members\x22\x20class=\x22eo-btn\x22\x20style=\x22border-color:color-mix(in\x20srgb,\x20var(--okdb-warning)\x2033%,\x20transparent);color:var(--okdb-warning);background:color-mix(in\x20srgb,\x20var(--okdb-warning)\x207%,\x20transparent);\x22>■\x20Stop</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\x20\x20<if\x20:=\x22pipelineMemberCount(g)\x20>\x200\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22restartPipeline(g)\x22\x20:disabled=\x22pipelineBusy(g)\x22\x20title=\x22Restart\x20all\x20members\x20(stop\x20then\x20start)\x22\x20class=\x22eo-btn\x22\x20style=\x22border-color:color-mix(in\x20srgb,\x20var(--okdb-orange)\x2033%,\x20transparent);color:var(--okdb-orange);background:color-mix(in\x20srgb,\x20var(--okdb-orange)\x207%,\x20transparent);\x22>↺\x20Restart</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\x20\x20<if\x20:=\x22pipelineRunningCount(g)\x20<\x20pipelineMemberCount(g)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22startPipeline(g)\x22\x20:disabled=\x22pipelineBusy(g)\x22\x20title=\x22Start\x20every\x20runnable\x20member\x22\x20class=\x22eo-btn\x22\x20:style=\x22pipelineActionStyle(\x27var(--okdb-success)\x27)\x22>▶\x20Start</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\x20\x20<button\x20@click=\x22togglePipeline(g)\x22\x20:title=\x22isSelectedPipeline(g)\x20?\x20\x27Collapse\x27\x20:\x20\x27Expand\x20members\x27\x22\x20class=\x22eo-btn\x20eo-btn--toggle\x22>Members\x20{{\x20isSelectedPipeline(g)\x20?\x20\x27▴\x27\x20:\x20\x27▾\x27\x20}}</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20Config\x20metrics\x20row\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22pipelineHeaderMetrics(g).length\x20>\x200\x20||\x20pipelineProgressMetric(g)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22eo-pipeline-metrics\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<each\x20:of=\x22pipelineHeaderMetrics(g)\x22\x20let:item=\x22metric\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-kv\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-kv__label\x22>{{\x20metric.label\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-kv__val\x22>{{\x20metric.value\x20}}</span>\x0a\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</each>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22pipelineProgressMetric(g)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-kv\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-kv__label\x22>Progress</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-kv__val\x22\x20:style=\x22\x27color:\x27\x20+\x20metricToneColor(pipelineProgressMetric(g))\x22>{{\x20pipelineProgressMetric(g).value\x20}}</span>\x0a\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</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\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20Inline\x20member\x20chip\x20strip\x20(always\x20visible\x20when\x20collapsed)\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22!isSelectedPipeline(g)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22eo-chip-strip\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<each\x20:of=\x22embedPipelineEngines(g)\x22\x20let:item=\x22eng\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-chip\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20:style=\x22\x27width:5px;height:5px;border-radius:50%;flex-shrink:0;background:\x27\x20+\x20statusDot(eng)\x22></span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20:style=\x22\x27color:\x27\x20+\x20(typeColor[eng.role\x20||\x20eng.type]\x20??\x20\x27var(--okdb-app-fg-muted)\x27)\x22>{{\x20typeName(eng.role\x20||\x20eng.type)\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-chip__name\x22>{{\x20shortEngineName(eng)\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22showStatusText(eng)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20:style=\x22\x27color:\x27\x20+\x20engineStatusMeta(eng).color\x20+\x20\x27;opacity:.8;\x27\x22>{{\x20engineStatusMeta(eng).label\x20}}</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</span>\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</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20Expanded\x20accordion:\x20full\x20engine-resource-card\x20members\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22isSelectedPipeline(g)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22eo-accordion\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<each\x20:of=\x22selectedPipelineMembers(g)\x22\x20let:item=\x22member\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<engine-resource-card\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:engine=\x22member\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:env=\x22lifecycleEnv(member,\x20g.env)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:pipeline=\x22pipelineIdentity(g)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:hidepipeline=\x22true\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20hidetype=\x22true\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20hideenv=\x22true\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20variant=\x22member\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:showdelete=\x22false\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@refresh=\x22requestRefresh()\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@edit=\x22openEngineModal($event.detail,\x20g.env)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@type-context=\x22openTypeMember($event.detail.engine,\x20g.env)\x22\x0a\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</each>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20Footer:\x20destructive\x20action\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22eo-accordion-footer\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22deletePipeline(g)\x22\x20:disabled=\x22pipelineBusy(g)\x22\x20title=\x22Delete\x20the\x20pipeline\x20record\x20and\x20env-owned\x20members\x22\x20class=\x22eo-btn\x20eo-btn--danger\x22>🗑\x20Delete\x20pipeline</button>\x0a\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</div>\x0a\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\x20\x20</each>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<!--\x20──\x20File\x20Pipelines\x20──\x20-->\x0a\x20\x20<if\x20:=\x22filteredFilePipelines.length\x20>\x200\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22eo-section\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22eo-section__label\x22>File\x20Pipelines\x20<span\x20class=\x22eo-count\x22>{{\x20filteredFilePipelines.length\x20}}</span></div>\x0a\x20\x20\x20\x20\x20\x20<each\x20:of=\x22filteredFilePipelines\x22\x20let:item=\x22g\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22eo-pipeline-card\x22>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20Pipeline\x20header\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22eo-pipeline-header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-health-dot\x22\x20:style=\x22\x27background:\x27\x20+\x20healthDot(filePipelineEngines(g))\x20+\x20\x27;box-shadow:0\x200\x200\x203px\x20\x27\x20+\x20healthDot(filePipelineEngines(g))\x20+\x20\x2720;\x27\x22></span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-pipeline-name\x22\x20:title=\x22g.name\x22>{{\x20g.name\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-pill\x22\x20style=\x22border-color:color-mix(in\x20srgb,\x20var(--okdb-sky)\x2033%,\x20transparent);color:var(--okdb-sky);background:color-mix(in\x20srgb,\x20var(--okdb-sky)\x207%,\x20transparent);\x22>Files</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-run-count\x22\x20:title=\x22filePipelineEngines(g).filter(e\x20=>\x20e.isRunning).length\x20+\x20\x27\x20running\x20of\x20\x27\x20+\x20filePipelineEngines(g).length\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20:style=\x22\x27width:5px;height:5px;border-radius:50%;flex-shrink:0;background:\x27\x20+\x20(filePipelineEngines(g).every(e\x20=>\x20e.isRunning)\x20&&\x20filePipelineEngines(g).length\x20>\x200\x20?\x20\x27var(--okdb-success)\x27\x20:\x20filePipelineEngines(g).some(e\x20=>\x20e.isRunning)\x20?\x20\x27var(--okdb-warning)\x27\x20:\x20\x27#374151\x27)\x22></span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{{\x20filePipelineEngines(g).filter(e\x20=>\x20e.isRunning).length\x20}}/{{\x20filePipelineEngines(g).length\x20}}\x0a\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<span\x20class=\x22eo-spacer\x22></span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22goToFiles(g.name)\x22\x20title=\x22Open\x20the\x20file\x20collection\x20context\x22\x20class=\x22eo-btn\x22\x20style=\x22border-color:color-mix(in\x20srgb,\x20var(--okdb-sky)\x2033%,\x20transparent);color:var(--okdb-sky);background:color-mix(in\x20srgb,\x20var(--okdb-sky)\x207%,\x20transparent);\x22>↗\x20Open</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<!--\x20Engine\x20chip\x20strip\x20-->\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22eo-chip-strip\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-chip\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20:style=\x22\x27width:5px;height:5px;border-radius:50%;flex-shrink:0;background:\x27\x20+\x20statusDot(g.collection)\x22></span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20:style=\x22\x27color:\x27\x20+\x20(typeColor[g.collection.type]\x20??\x20\x27var(--okdb-sky)\x27)\x22>{{\x20typeLabel[g.collection.type]\x20??\x20\x27Collection\x27\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-chip__name\x22>{{\x20g.collection.name\x20}}</span>\x0a\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<each\x20:of=\x22g.extractors\x22\x20let:item=\x22ext\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-chip\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20:style=\x22\x27width:5px;height:5px;border-radius:50%;flex-shrink:0;background:\x27\x20+\x20statusDot(ext)\x22></span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22color:var(--okdb-success);\x22>Extractor</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-chip__name\x22>{{\x20ext.name\x20}}</span>\x0a\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</each>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<each\x20:of=\x22g.workers\x22\x20let:item=\x22w\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-chip\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20:style=\x22\x27width:5px;height:5px;border-radius:50%;flex-shrink:0;background:\x27\x20+\x20statusDot(w)\x22></span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22color:var(--okdb-warning);\x22>Worker</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22eo-chip__name\x22>{{\x20w.name\x20}}</span>\x0a\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</each>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20</each>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<!--\x20──\x20Engines\x20(engine\x20mode)\x20──\x20-->\x0a\x20\x20<if\x20:=\x22modeFilter\x20===\x20\x27engines\x27\x20&&\x20visibleEngines.length\x20>\x200\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22eo-section\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22eo-section__label\x22>Engines\x20<span\x20class=\x22eo-count\x22>{{\x20visibleEngines.length\x20}}</span></div>\x0a\x20\x20\x20\x20\x20\x20<each\x20:of=\x22visibleEngineGroups\x22\x20let:item=\x22group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<each\x20:of=\x22group.engines\x22\x20let:item=\x22eng\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<engine-resource-card\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:engine=\x22eng\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:env=\x22lifecycleEnv(eng)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:pipeline=\x22enginePipelineName(eng)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20variant=\x22card\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:showdelete=\x22false\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@refresh=\x22requestRefresh()\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@edit=\x22openEngineModal($event.detail,\x20engineEnv($event.detail))\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@type-context=\x22goToType($event.detail.type)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</each>\x0a\x20\x20\x20\x20\x20\x20</each>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</if>\x0a\x0a</div>','pipelineRequest','engines-overview','2093cclCow','32940171CNnMhZ','json','allUniqueEngines','embedPipelines','\x20failed','trim','record','includes','embed','label','pipelineTypeFilter','$router','No\x20members','10cHCwPV','target_type','length','1708197LfnEKm','name','pipelinetype','okdb','$ok','/db','allFile','message','_uiEnv','totalPipelineCount','background:var(--okdb-app-surface);border:1px\x20solid\x20','file','type','typeLabel','348020ioIwJD','35iUKoGs','$dispatch','#94a3b8','Progress','var(--okdb-app-border)','isRunning','var(--okdb-warning)','localeCompare','mode','filterToSelectedPipeline','key','shared','matchesSearch','withPipelineBusy','6165276ICyVxs','var(--okdb-success)','success','whole\x20record','pipelineActionBusy','30760kafTyQ','accent','find','touchesSourceType','toLowerCase','/env/','Prepare','Stopped','some','Env\x20Pipelines','DELETE','/files','values','engineTypeFilter','filterpipeline','isSelectedPipeline','push','env','engineStatusBucket','storeEnv','runtime','filePipelineEngines','Engines','engineEnv','startsWith','embedder','split','Queue\x20Worker','stats',';border-radius:10px;overflow:hidden;transition:border-color\x20.14s;','warning','meta','Search','Queue',';background:','workers','map','Mode','stopped','POST','phase','memberOwnerEnv','Try\x20changing\x20the\x20pipeline\x20type,\x20status,\x20search,\x20or\x20source-type\x20filters.','var(--okdb-info)','Worker','204976ETYXds','family','get','start','Chunk','\x20pipeline\x20\x22','visibleEngines','join','indexer'];_0xa870=function(){return _0x3ba1ae;};return _0xa870();}import _0x2faec2 from'../../engines/parts/engine-resource-card.ok.js';import{compactEngineConfigMetrics as _0x1d27d7,compactEngineRowMetrics as _0x1682a2,compactEngineStatusMeta as _0x1da6e1}from'../../engines/engine-ui-utils.js';export default{'tag':_0x444f0f(0x184),'dependencies':[_0x15bc9,_0x2faec2],'attr':{'embedEngines':{},'embedPipelines':{},'fileEngines':{},'embedded':{},'filterpipeline':{},'mode':{},'pipelinetype':{},'enginetype':{},'status':{},'search':{},'sourcetype':{},'selectedpipeline':{}},'context':_0x1af292=>({get 'allEmbed'(){const _0x3a50b6=_0x444f0f;return _0x1af292[_0x3a50b6(0x15c)][_0x3a50b6(0x155)]??[];},get 'pipelineRecords'(){const _0x3656ca=_0x444f0f;return _0x1af292['$attr'][_0x3656ca(0x189)]??[];},get 'fileData'(){const _0x3dfc6e=_0x444f0f;return _0x1af292[_0x3dfc6e(0x15c)][_0x3dfc6e(0x121)]??{};},get 'allFile'(){const _0x3c240e=_0x444f0f,_0x2aa5f9=this['fileData'];return[..._0x2aa5f9[_0x3c240e(0x151)]??[],..._0x2aa5f9[_0x3c240e(0x135)]??[],..._0x2aa5f9[_0x3c240e(0x1db)]??[]];},get 'isEmbedded'(){const _0x5ce4cc=_0x444f0f;return!0x0===_0x1af292[_0x5ce4cc(0x15c)][_0x5ce4cc(0x1f1)]||_0x5ce4cc(0x160)===_0x1af292[_0x5ce4cc(0x15c)][_0x5ce4cc(0x1f1)];},get 'filterToSelectedPipeline'(){const _0x34cb7d=_0x444f0f;return!0x0===_0x1af292[_0x34cb7d(0x15c)][_0x34cb7d(0x1c6)]||'true'===_0x1af292[_0x34cb7d(0x15c)][_0x34cb7d(0x1c6)];},get 'modeFilter'(){const _0xd0c714=_0x444f0f;return _0xd0c714(0x156)===_0x1af292[_0xd0c714(0x15c)][_0xd0c714(0x1ad)]?_0xd0c714(0x156):_0xd0c714(0x123);},get 'pipelineTypeFilter'(){const _0x46117a=_0x444f0f;return[_0x46117a(0x165),_0x46117a(0x13f),'file'][_0x46117a(0x18d)](_0x1af292[_0x46117a(0x15c)][_0x46117a(0x198)])?_0x1af292['$attr']['pipelinetype']:'all';},get 'engineTypeFilter'(){const _0x280d93=_0x444f0f;return String(_0x1af292['$attr'][_0x280d93(0x13b)]??'')[_0x280d93(0x18b)]();},get 'statusFilter'(){return _0x1af292['$attr']['status']??'all';},get 'searchFilter'(){const _0x56ce6e=_0x444f0f;return String(_0x1af292[_0x56ce6e(0x15c)][_0x56ce6e(0x17e)]??'')[_0x56ce6e(0x18b)]()[_0x56ce6e(0x1bc)]();},get 'sourceTypeFilter'(){const _0x4fc35c=_0x444f0f;return String(_0x1af292[_0x4fc35c(0x15c)]['sourcetype']??'')[_0x4fc35c(0x18b)]();},get 'selectedPipelineName'(){const _0x116143=_0x444f0f;return String(_0x1af292[_0x116143(0x15c)][_0x116143(0x129)]??'')[_0x116143(0x18b)]();},'pipelineActionBusy':{},get 'embedOnly'(){const _0x513222=_0x444f0f;return(_0x1af292[_0x513222(0x15c)][_0x513222(0x155)]??[])['filter'](_0x544222=>_0x513222(0x16c)!==_0x544222[_0x513222(0x1a2)]&&'queue-worker'!==_0x544222[_0x513222(0x1a2)]);},get 'allEngines'(){const _0x245485=_0x444f0f;return[...this['allEmbed'],...this[_0x245485(0x19c)]];},'engineId':_0x55a396=>_0x55a396?_0x55a396[_0x444f0f(0x1af)]??(_0x55a396['type']&&_0x55a396['name']?_0x55a396[_0x444f0f(0x1a2)]+'@'+_0x55a396['name']:_0x55a396[_0x444f0f(0x197)]??null):null,'engineSourceTypes'(_0x58a01c){const _0x3c9544=_0x444f0f,_0x5dc620=[_0x58a01c?.[_0x3c9544(0x158)]?.[_0x3c9544(0x1f5)],_0x58a01c?.[_0x3c9544(0x1cc)]?.[_0x3c9544(0x1f5)],_0x58a01c?.['config']?.[_0x3c9544(0x194)],_0x58a01c?.[_0x3c9544(0x1cc)]?.[_0x3c9544(0x194)]][_0x3c9544(0x1f0)](Boolean);return[...new Set(_0x5dc620)];},'touchesSourceType'(_0x3eec79){const _0x1ce788=_0x444f0f;return!this[_0x1ce788(0x12e)]||this[_0x1ce788(0x204)](_0x3eec79)['includes'](this['sourceTypeFilter']);},'engineStatusBucket'(_0x4c5475){const _0x3a44cd=_0x444f0f,_0x46d27b=_0x4c5475?.['stats']?.['state']??_0x4c5475?.[_0x3a44cd(0x145)]??null;return _0x4c5475?.[_0x3a44cd(0x1aa)]||'online'===_0x46d27b?_0x3a44cd(0x140):['error',_0x3a44cd(0x206),_0x3a44cd(0x16b),_0x3a44cd(0x14a),'degraded']['includes'](_0x46d27b)?_0x3a44cd(0x13a):'stopped';},'groupStatusBucket'(_0x349dc2){const _0xc34812=_0x444f0f,_0x211fd2=_0x349dc2[_0xc34812(0x1dc)](_0x4a2bac=>this[_0xc34812(0x1ca)](_0x4a2bac));return 0x0===_0x211fd2[_0xc34812(0x195)]?_0xc34812(0x1de):_0x211fd2[_0xc34812(0x1fd)](_0x2b8f8a=>'running'===_0x2b8f8a)?_0xc34812(0x140):_0x211fd2[_0xc34812(0x1c0)](_0x4eba27=>_0xc34812(0x13a)===_0x4eba27)||_0x211fd2[_0xc34812(0x1c0)](_0x9e9112=>_0xc34812(0x140)===_0x9e9112)?_0xc34812(0x13a):_0xc34812(0x1de);},'matchesSearch'(_0x2fa364=[]){const _0x1b341f=_0x444f0f;return!this['searchFilter']||_0x2fa364['filter'](Boolean)[_0x1b341f(0x1ec)]('\x20')[_0x1b341f(0x1bc)]()[_0x1b341f(0x18d)](this[_0x1b341f(0x17d)]);},'pipelineTypeMatches'(_0x266a73){const _0x58ff40=_0x444f0f;return _0x58ff40(0x165)===this[_0x58ff40(0x190)]||this['pipelineTypeFilter']===_0x266a73;},get 'embedPipelines'(){const _0x19f47e=_0x444f0f;if(this[_0x19f47e(0x203)][_0x19f47e(0x195)]>0x0)return this[_0x19f47e(0x203)]['map'](_0x25d508=>{const _0x4bdb3e=_0x19f47e,_0x22a654=Array[_0x4bdb3e(0x146)](_0x25d508[_0x4bdb3e(0x156)])?_0x25d508[_0x4bdb3e(0x156)][_0x4bdb3e(0x1f0)](Boolean):[],_0x2d53b1=_0x22a654['find'](_0x49e0a4=>this[_0x4bdb3e(0x1cf)](_0x49e0a4))??null,_0x235384=_0x22a654[_0x4bdb3e(0x1ba)](_0x347f03=>_0x4bdb3e(0x1d1)===_0x347f03[_0x4bdb3e(0x12d)]||_0x4bdb3e(0x1d1)===_0x347f03[_0x4bdb3e(0x1a2)])??null,_0x11d9d8=_0x22a654[_0x4bdb3e(0x1ba)](_0x46e454=>_0x4bdb3e(0x1ed)===_0x46e454['role']||_0x4bdb3e(0x1ed)===_0x46e454[_0x4bdb3e(0x1a2)])??null,_0x545f1d=_0x22a654[_0x4bdb3e(0x1ba)](_0x391627=>_0x4bdb3e(0x17e)===_0x391627['role']||_0x4bdb3e(0x120)===_0x391627[_0x4bdb3e(0x1a2)])??null,_0x14e6ca=_0x22a654[_0x4bdb3e(0x1ba)](_0x5e4d5c=>_0x4bdb3e(0x173)===_0x5e4d5c[_0x4bdb3e(0x12d)]||_0x4bdb3e(0x16d)===_0x5e4d5c[_0x4bdb3e(0x1a2)])??null;return{'name':_0x25d508[_0x4bdb3e(0x1d7)]?.[_0x4bdb3e(0x18f)]??_0x25d508['meta']?.[_0x4bdb3e(0x178)]??_0x25d508[_0x4bdb3e(0x197)],'key':_0x25d508[_0x4bdb3e(0x197)],'env':_0x25d508['env']??this['engineEnv'](_0x2d53b1)??_0x11d9d8?.[_0x4bdb3e(0x158)]?.[_0x4bdb3e(0x12c)]??_0x545f1d?.[_0x4bdb3e(0x158)]?.[_0x4bdb3e(0x12c)]??null,'type':_0x4bdb3e(0x1f6)===_0x25d508[_0x4bdb3e(0x1d7)]?.['family']?_0x4bdb3e(0x18e):_0x4bdb3e(0x1c9),'record':_0x25d508,'members':_0x22a654,'embedder':_0x235384,'indexer':_0x11d9d8,'search':_0x545f1d,'worker':_0x14e6ca};})['filter'](_0x62aced=>_0x62aced[_0x19f47e(0x14e)][_0x19f47e(0x195)]>0x0)[_0x19f47e(0x174)]((_0x32d106,_0x59b71e)=>_0x32d106[_0x19f47e(0x197)][_0x19f47e(0x1ac)](_0x59b71e['name']));const _0x89e753=new Map();for(const _0x58139e of this['embedOnly']){const _0x6db7fa=_0x58139e[_0x19f47e(0x1d7)]?.[_0x19f47e(0x178)]??_0x58139e[_0x19f47e(0x197)][_0x19f47e(0x1fb)](/-worker$/,'');_0x89e753[_0x19f47e(0x15b)](_0x6db7fa)||_0x89e753[_0x19f47e(0x127)](_0x6db7fa,{'name':_0x6db7fa,'type':'embed','embedder':null,'indexer':null,'search':null,'worker':null});const _0x4a1577=_0x89e753[_0x19f47e(0x1e7)](_0x6db7fa);_0x19f47e(0x1d1)===_0x58139e['type']?_0x4a1577[_0x19f47e(0x1d1)]=_0x58139e:_0x19f47e(0x1ed)===_0x58139e[_0x19f47e(0x1a2)]?_0x4a1577[_0x19f47e(0x1ed)]=_0x58139e:_0x19f47e(0x120)===_0x58139e[_0x19f47e(0x1a2)]?_0x4a1577['search']=_0x58139e:_0x19f47e(0x16d)===_0x58139e['type']&&(_0x4a1577[_0x19f47e(0x173)]=_0x58139e);}return[..._0x89e753[_0x19f47e(0x1c4)]()][_0x19f47e(0x1f0)](_0x841168=>[_0x841168[_0x19f47e(0x1d1)],_0x841168[_0x19f47e(0x1ed)],_0x841168[_0x19f47e(0x17e)],_0x841168['worker']][_0x19f47e(0x1f0)](Boolean)['length']>0x1)[_0x19f47e(0x174)]((_0x3ea0a4,_0x4f8840)=>_0x3ea0a4[_0x19f47e(0x197)][_0x19f47e(0x1ac)](_0x4f8840[_0x19f47e(0x197)]));},get 'filePipelines'(){const _0x1ca193=_0x444f0f;return(this[_0x1ca193(0x12f)][_0x1ca193(0x135)]??[])[_0x1ca193(0x1dc)](_0x1b561e=>{const _0x32dc5a=_0x1ca193,_0x55f470=(this[_0x32dc5a(0x12f)][_0x32dc5a(0x151)]??[])[_0x32dc5a(0x1f0)](_0x3ff78c=>_0x1b561e[_0x32dc5a(0x158)]?.['pipeline']?.[_0x32dc5a(0x18d)](_0x3ff78c['name'])),_0x4e6869=(this[_0x32dc5a(0x12f)]['workers']??[])['filter'](_0x3defe0=>_0x3defe0[_0x32dc5a(0x158)]?.[_0x32dc5a(0x1fc)]===_0x1b561e[_0x32dc5a(0x197)]);return{'name':_0x1b561e[_0x32dc5a(0x141)]??_0x1b561e[_0x32dc5a(0x197)],'type':_0x32dc5a(0x1a1),'collection':_0x1b561e,'extractors':_0x55f470,'workers':_0x4e6869};})[_0x1ca193(0x174)]((_0x177989,_0x507978)=>_0x177989['name'][_0x1ca193(0x1ac)](_0x507978[_0x1ca193(0x197)]));},get 'allUniqueEngines'(){const _0x2ab248=_0x444f0f,_0x28b74e=new Set();return this[_0x2ab248(0x14b)][_0x2ab248(0x1f0)](_0x363589=>{const _0x3b2d3d=_0x2ab248,_0x181791=this['engineId'](_0x363589);return!(!_0x181791||_0x28b74e[_0x3b2d3d(0x15b)](_0x181791)||(_0x28b74e[_0x3b2d3d(0x17a)](_0x181791),0x0));});},get 'visibleEngines'(){const _0x8f3579=_0x444f0f;return this[_0x8f3579(0x188)][_0x8f3579(0x1f0)](_0x3b3d54=>this[_0x8f3579(0x15a)](_0x3b3d54))[_0x8f3579(0x1f0)](_0x263412=>!this[_0x8f3579(0x1c5)]||_0x263412['type']===this[_0x8f3579(0x1c5)])[_0x8f3579(0x1f0)](_0x8f9712=>_0x8f3579(0x165)===this['statusFilter']||this['engineStatusBucket'](_0x8f9712)===this[_0x8f3579(0x16e)])['filter'](_0x310a90=>this[_0x8f3579(0x1bb)](_0x310a90))['filter'](_0x4c15e4=>this[_0x8f3579(0x1b1)]([_0x4c15e4?.[_0x8f3579(0x197)],_0x4c15e4?.['type'],_0x4c15e4?.[_0x8f3579(0x1d7)]?.[_0x8f3579(0x178)],_0x4c15e4?.[_0x8f3579(0x1c9)],_0x4c15e4?.[_0x8f3579(0x19e)],...this[_0x8f3579(0x125)](_0x4c15e4),...this[_0x8f3579(0x204)](_0x4c15e4),_0x4c15e4?.[_0x8f3579(0x158)]?.['job_type'],_0x4c15e4?.[_0x8f3579(0x158)]?.[_0x8f3579(0x144)]?.['name']]))['sort']((_0x392968,_0x1022df)=>String(_0x392968[_0x8f3579(0x1a2)]||'')[_0x8f3579(0x1ac)](String(_0x1022df['type']||''))||String(_0x392968[_0x8f3579(0x197)]||'')['localeCompare'](String(_0x1022df['name']||'')));},get 'visibleEngineGroups'(){const _0x2595ca=_0x444f0f,_0x55a762=new Map(),_0x3e9b4c={'key':_0x2595ca(0x131),'label':'Standalone','pipeline':null,'engines':[]};for(const _0x21cd23 of this[_0x2595ca(0x1eb)]){const _0x2ec000=this[_0x2595ca(0x166)](_0x21cd23);_0x2ec000?(_0x55a762['has'](_0x2ec000)||_0x55a762[_0x2595ca(0x127)](_0x2ec000,{'key':_0x2ec000,'label':String(_0x2ec000)[_0x2595ca(0x1d2)](':')[_0x2595ca(0x14d)](),'pipeline':_0x2ec000,'engines':[]}),_0x55a762['get'](_0x2ec000)['engines'][_0x2595ca(0x1c8)](_0x21cd23)):_0x3e9b4c[_0x2595ca(0x156)]['push'](_0x21cd23);}const _0xf81bd9=[..._0x55a762[_0x2595ca(0x1c4)]()][_0x2595ca(0x174)]((_0x133098,_0x5893a0)=>_0x133098[_0x2595ca(0x18f)]['localeCompare'](_0x5893a0[_0x2595ca(0x18f)]));return _0x3e9b4c[_0x2595ca(0x156)][_0x2595ca(0x195)]&&_0xf81bd9[_0x2595ca(0x1c8)](_0x3e9b4c),_0xf81bd9;},'matchesGroup'(_0x915902,_0x27d5f1,_0x5cd634,_0x3f4be8=[]){const _0x4b09f2=_0x444f0f;return(_0x4b09f2(0x165)===this[_0x4b09f2(0x16e)]||this[_0x4b09f2(0x172)](_0x5cd634)===this[_0x4b09f2(0x16e)])&&!(this[_0x4b09f2(0x12e)]&&!_0x5cd634[_0x4b09f2(0x1c0)](_0x4afd87=>this[_0x4b09f2(0x1bb)](_0x4afd87)))&&this['matchesSearch']([_0x915902?.[_0x4b09f2(0x197)],_0x915902?.[_0x4b09f2(0x1a2)],_0x915902?.[_0x4b09f2(0x1c9)],..._0x3f4be8,..._0x5cd634[_0x4b09f2(0x1f8)](_0x1355e1=>[_0x1355e1?.[_0x4b09f2(0x197)],_0x1355e1?.[_0x4b09f2(0x1a2)],...this[_0x4b09f2(0x204)](_0x1355e1),_0x1355e1?.[_0x4b09f2(0x158)]?.['job_type'],_0x1355e1?.[_0x4b09f2(0x158)]?.[_0x4b09f2(0x144)]?.[_0x4b09f2(0x197)]])]);},get 'filteredEmbedPipelines'(){const _0xdcdab2=_0x444f0f;return'pipelines'!==this['modeFilter']?[]:this[_0xdcdab2(0x1f9)](_0xdcdab2(0x13f))?this[_0xdcdab2(0x189)][_0xdcdab2(0x1f0)](_0x2bb424=>(!this[_0xdcdab2(0x1ae)]||!this[_0xdcdab2(0x163)]||this[_0xdcdab2(0x1ef)](_0x2bb424)===this['selectedPipelineName'])&&this['matchesGroup'](_0x2bb424,_0xdcdab2(0x13f),this['embedPipelineEngines'](_0x2bb424),[_0x2bb424?.['record']?.[_0xdcdab2(0x1d7)]?.[_0xdcdab2(0x1e6)]])):[];},get 'filteredFilePipelines'(){const _0x439b2b=_0x444f0f;return _0x439b2b(0x123)!==this[_0x439b2b(0x1f7)]?[]:this[_0x439b2b(0x1f9)](_0x439b2b(0x1a1))?this['filePipelines']['filter'](_0x1710c8=>this['matchesGroup'](_0x1710c8,'file',this[_0x439b2b(0x1cd)](_0x1710c8),[_0x1710c8?.[_0x439b2b(0x141)]?.['collection']])):[];},get 'filteredPipelineCount'(){const _0xbd91f6=_0x444f0f;return this[_0xbd91f6(0x171)]['length']+this[_0xbd91f6(0x13c)][_0xbd91f6(0x195)];},get 'filteredVisibleEngines'(){const _0x57a1f6=_0x444f0f;if(_0x57a1f6(0x123)!==this[_0x57a1f6(0x1f7)])return[];const _0xa613e0=new Set(),_0x2678c3=[];for(const _0x7632cc of this[_0x57a1f6(0x171)])for(const _0x39eda0 of this['embedPipelineEngines'](_0x7632cc)){const _0x6e0e1a=this['engineId'](_0x39eda0);_0x6e0e1a&&!_0xa613e0[_0x57a1f6(0x15b)](_0x6e0e1a)&&(_0xa613e0[_0x57a1f6(0x17a)](_0x6e0e1a),_0x2678c3[_0x57a1f6(0x1c8)](_0x39eda0));}for(const _0x1504de of this[_0x57a1f6(0x13c)])for(const _0x5666e7 of this['filePipelineEngines'](_0x1504de)){const _0x4df476=this['engineId'](_0x5666e7);_0x4df476&&!_0xa613e0[_0x57a1f6(0x15b)](_0x4df476)&&(_0xa613e0[_0x57a1f6(0x17a)](_0x4df476),_0x2678c3[_0x57a1f6(0x1c8)](_0x5666e7));}return _0x2678c3;},get 'totalPipelineCount'(){const _0x5a36b9=_0x444f0f;return this[_0x5a36b9(0x189)]['length']+this['filePipelines'][_0x5a36b9(0x195)];},get 'totalEngineCount'(){const _0x558de1=_0x444f0f;return this[_0x558de1(0x188)][_0x558de1(0x195)];},get 'visibleItemCount'(){const _0xae055f=_0x444f0f;return _0xae055f(0x123)===this['modeFilter']?this[_0xae055f(0x208)]:this[_0xae055f(0x1eb)][_0xae055f(0x195)];},get 'totalItemCount'(){const _0x1a9821=_0x444f0f;return _0x1a9821(0x123)===this[_0x1a9821(0x1f7)]?this[_0x1a9821(0x19f)]:this[_0x1a9821(0x177)];},get 'activeEngines'(){const _0x200531=_0x444f0f;return _0x200531(0x123)===this['modeFilter']?this['filteredVisibleEngines']:this['visibleEngines'];},get 'hasAnyEngines'(){const _0x1ad835=_0x444f0f;return this[_0x1ad835(0x14b)][_0x1ad835(0x195)]>0x0;},get 'runningCount'(){const _0x4b7d18=_0x444f0f;return this[_0x4b7d18(0x11f)]['filter'](_0x19d205=>_0x4b7d18(0x140)===this['engineStatusBucket'](_0x19d205))[_0x4b7d18(0x195)];},get 'errorCount'(){const _0x504761=_0x444f0f;return this['activeEngines'][_0x504761(0x1f0)](_0x127457=>_0x504761(0x13a)===this[_0x504761(0x1ca)](_0x127457))[_0x504761(0x195)];},get 'headerTitle'(){const _0x23fd3b=_0x444f0f;return'pipelines'===this[_0x23fd3b(0x1f7)]?_0x23fd3b(0x139):_0x23fd3b(0x1ce);},get 'noResultsLabel'(){const _0x5cf1b5=_0x444f0f;return _0x5cf1b5(0x123)===this[_0x5cf1b5(0x1f7)]?'No\x20pipelines\x20match\x20the\x20current\x20filters':_0x5cf1b5(0x12a);},get 'noResultsHint'(){const _0x3ae2bd=_0x444f0f;return this[_0x3ae2bd(0x207)]?_0x3ae2bd(0x123)===this['modeFilter']?_0x3ae2bd(0x14c):'Try\x20changing\x20the\x20engine\x20type,\x20status,\x20or\x20search\x20filters\x20above.':'pipelines'===this['modeFilter']?_0x3ae2bd(0x1e2):_0x3ae2bd(0x132);},'typeLabel':{'embedder':_0x444f0f(0x15e),'indexer':_0x444f0f(0x150),'search':_0x444f0f(0x1d8),'worker':_0x444f0f(0x1e4),'vector-search':'Search','embed-worker':_0x444f0f(0x1e4),'materializer':'Materializer','file-extractor':'Extractor','file-collection':_0x444f0f(0x1ee),'file-extractor-worker':_0x444f0f(0x1e4),'processor':'Processor','queue-worker':_0x444f0f(0x1d3)},'typeColor':{'embedder':'var(--okdb-info)','indexer':'var(--okdb-purple)','vector-search':_0x444f0f(0x11d),'embed-worker':_0x444f0f(0x1ab),'materializer':'#fb7185','file-extractor':'var(--okdb-success)','file-collection':_0x444f0f(0x1f3),'file-extractor-worker':'var(--okdb-warning)','processor':_0x444f0f(0x181),'queue-worker':'var(--okdb-indigo)'},'healthDot':_0xdc3d4a=>_0xdc3d4a&&0x0!==_0xdc3d4a[_0x444f0f(0x195)]?_0xdc3d4a['every'](_0x4eb694=>_0x4eb694[_0x444f0f(0x1aa)])?'var(--okdb-success)':_0xdc3d4a[_0x444f0f(0x1c0)](_0x3cf699=>_0x444f0f(0x128)===_0x3cf699[_0x444f0f(0x145)])?_0x444f0f(0x138):'var(--okdb-warning)':'var(--okdb-app-fg-muted)','statusDot'(_0x51f8ef){const _0x69b938=_0x444f0f;return _0x51f8ef?this[_0x69b938(0x122)](_0x51f8ef)?.['color']??_0x69b938(0x11c):'var(--okdb-app-fg-muted)';},'typeName'(_0x63c2c1){const _0x188c1d=_0x444f0f;return this[_0x188c1d(0x1a3)][_0x63c2c1]||_0x63c2c1||_0x188c1d(0x1fe);},'shortEngineName'(_0x5c3b73){const _0x30c6f5=_0x444f0f,_0x15f5da=String(_0x5c3b73?.[_0x30c6f5(0x197)]??_0x5c3b73?.[_0x30c6f5(0x1af)]??''),_0x577db9=_0x5c3b73?.['config']?.[_0x30c6f5(0x12c)]??_0x5c3b73?.[_0x30c6f5(0x1c9)]??_0x5c3b73?.[_0x30c6f5(0x1cb)]??'';return _0x577db9&&_0x15f5da[_0x30c6f5(0x1d0)](_0x577db9+':')?_0x15f5da[_0x30c6f5(0x153)](_0x577db9[_0x30c6f5(0x195)]+0x1):_0x15f5da;},'showStatusText'(_0x25093b){const _0x20ede7=_0x444f0f,_0x5071b0=this[_0x20ede7(0x122)](_0x25093b)?.['label'];return!!_0x5071b0&&![_0x20ede7(0x140),'online']['includes'](_0x5071b0);},'engineEnv':_0x258f9c=>_0x258f9c?_0x258f9c[_0x444f0f(0x158)]?.['source_env']??_0x258f9c[_0x444f0f(0x1c9)]??_0x258f9c[_0x444f0f(0x19e)]??_0x258f9c[_0x444f0f(0x1cb)]??(_0x444f0f(0x1d1)===_0x258f9c['type']?'~system':null):null,'enginePipelineName':_0x548a02=>_0x548a02?.[_0x444f0f(0x1d7)]?.[_0x444f0f(0x178)]??_0x548a02?.['config']?.[_0x444f0f(0x178)]??_0x548a02?.['config']?.[_0x444f0f(0x1fc)]??null,'engineInSelectedPipeline'(_0x3bee9a){const _0x28ab07=_0x444f0f;if(!this[_0x28ab07(0x1ae)]||!this['selectedPipelineName'])return!0x0;if(this[_0x28ab07(0x166)](_0x3bee9a)===this[_0x28ab07(0x163)])return!0x0;const _0x4e8104=this[_0x28ab07(0x203)][_0x28ab07(0x1ba)](_0x5761af=>this[_0x28ab07(0x1ef)](_0x5761af)===this[_0x28ab07(0x163)]||_0x5761af?.[_0x28ab07(0x197)]===this[_0x28ab07(0x163)])??null;return!(!Array[_0x28ab07(0x146)](_0x4e8104?.['engines'])||0x0===_0x4e8104[_0x28ab07(0x156)][_0x28ab07(0x195)])&&_0x4e8104[_0x28ab07(0x156)][_0x28ab07(0x1c0)](_0x40d9e9=>_0x40d9e9?.[_0x28ab07(0x1a2)]===_0x3bee9a?.[_0x28ab07(0x1a2)]&&_0x40d9e9?.[_0x28ab07(0x197)]===_0x3bee9a?.['name']);},'embedPipelineEngines':_0x1be7f4=>Array[_0x444f0f(0x146)](_0x1be7f4?.[_0x444f0f(0x18c)]?.[_0x444f0f(0x156)])&&_0x1be7f4[_0x444f0f(0x18c)][_0x444f0f(0x156)][_0x444f0f(0x195)]>0x0?_0x1be7f4['record'][_0x444f0f(0x156)]:[_0x1be7f4['embedder'],_0x1be7f4[_0x444f0f(0x1ed)],_0x1be7f4['worker'],_0x1be7f4[_0x444f0f(0x17e)]][_0x444f0f(0x1f0)](Boolean),'pipelineRunningCount'(_0xa8c446){const _0x3cc1f7=_0x444f0f;return this['embedPipelineEngines'](_0xa8c446)[_0x3cc1f7(0x1f0)](_0x386cc4=>_0x386cc4?.[_0x3cc1f7(0x1aa)])[_0x3cc1f7(0x195)];},'pipelineMemberCount'(_0x3b422b){const _0x42efb6=_0x444f0f;return this[_0x42efb6(0x143)](_0x3b422b)[_0x42efb6(0x195)];},get 'groupedPipelineHeading'(){const _0x14762f=_0x444f0f;return this[_0x14762f(0x203)]['length']>0x0?_0x14762f(0x1c1):_0x14762f(0x1f4);},'filePipelineEngines':_0xf1a32=>[_0xf1a32[_0x444f0f(0x141)],..._0xf1a32[_0x444f0f(0x151)],..._0xf1a32[_0x444f0f(0x1db)]],'pipelineIdentity':_0x542b26=>_0x542b26?.['record']?.['name']??_0x542b26?.[_0x444f0f(0x1af)]??_0x542b26?.[_0x444f0f(0x197)]??null,'isSelectedPipeline'(_0x44bd07){const _0x267c5e=_0x444f0f,_0x2b3707=this['pipelineIdentity'](_0x44bd07);return!!_0x2b3707&&_0x2b3707===this[_0x267c5e(0x163)];},'togglePipeline'(_0x531bd8){const _0x412f55=_0x444f0f,_0x5918fc=this[_0x412f55(0x1ef)](_0x531bd8);_0x1af292[_0x412f55(0x1a6)](_0x412f55(0x162),{'name':this[_0x412f55(0x1c7)](_0x531bd8)?'':_0x5918fc??''});},'pipelineBusy'(_0x1f4cc3){const _0x13aaad=_0x444f0f,_0x1c5cbe=this[_0x13aaad(0x1ef)](_0x1f4cc3);return!(!_0x1c5cbe||!this[_0x13aaad(0x1b7)][_0x1c5cbe]);},async 'withPipelineBusy'(_0x4634f2,_0x384e0c){const _0x3c8921=_0x444f0f,_0x28b02d=this['pipelineIdentity'](_0x4634f2);if(_0x28b02d&&!this[_0x3c8921(0x1b7)][_0x28b02d]){this[_0x3c8921(0x1b7)]={...this[_0x3c8921(0x1b7)],[_0x28b02d]:!0x0};try{await _0x384e0c();}finally{this[_0x3c8921(0x1b7)]={...this['pipelineActionBusy'],[_0x28b02d]:!0x1};}}},'selectedPipelineMembers'(_0x37ee3a){const _0x3344ff=_0x444f0f;return Array[_0x3344ff(0x146)](_0x37ee3a?.[_0x3344ff(0x18c)]?.[_0x3344ff(0x156)])&&_0x37ee3a['record'][_0x3344ff(0x156)]['length']?_0x37ee3a[_0x3344ff(0x18c)]['engines']:this['embedPipelineEngines'](_0x37ee3a);},'relatedType':_0x2e097e=>_0x2e097e?.[_0x444f0f(0x158)]?.[_0x444f0f(0x1f5)]??_0x2e097e?.[_0x444f0f(0x1cc)]?.[_0x444f0f(0x1f5)]??_0x2e097e?.[_0x444f0f(0x1d4)]?.['source_type']??_0x2e097e?.[_0x444f0f(0x1d4)]?.['indexer']?.['source_type']??null,'relatedEnv':(_0x5d1af4,_0x37b5fa=null)=>_0x5d1af4?.[_0x444f0f(0x158)]?.[_0x444f0f(0x12c)]??_0x5d1af4?.[_0x444f0f(0x1cc)]?.['source_env']??_0x37b5fa??null,'memberOwnerEnv'(_0x3fef24,_0x4b6b8a=null){const _0x2d3a63=_0x444f0f;return _0x3fef24?.[_0x2d3a63(0x1cb)]??_0x3fef24?.[_0x2d3a63(0x1c9)]??this['relatedEnv'](_0x3fef24,_0x4b6b8a)??_0x4b6b8a??null;},'pipelineConfigMetrics'(_0x4c1f88){const _0x16dd23=_0x444f0f,_0x57617c=this[_0x16dd23(0x143)](_0x4c1f88),_0x3f6ab4=[_0x16dd23(0x164),'Field',_0x16dd23(0x1dd),_0x16dd23(0x1be),_0x16dd23(0x1e9),_0x16dd23(0x180),_0x16dd23(0x161),_0x16dd23(0x1fa),_0x16dd23(0x15d)],_0x1d8784=new Set(),_0x595332=[];for(const _0x319d26 of _0x3f6ab4){for(const _0x51dc42 of _0x57617c[_0x16dd23(0x1f8)](_0x5efdda=>_0x1d27d7(_0x5efdda))){const _0x554644=_0x51dc42['label']+':'+_0x51dc42[_0x16dd23(0x17b)];if(_0x51dc42[_0x16dd23(0x18f)]===_0x319d26&&!_0x1d8784['has'](_0x554644)){_0x1d8784[_0x16dd23(0x17a)](_0x554644),_0x595332[_0x16dd23(0x1c8)](_0x51dc42);break;}}if(_0x595332[_0x16dd23(0x195)]>=0x8)break;}return _0x595332;},'pipelineHeaderMetrics'(_0x174236){const _0x14bfa7=_0x444f0f,_0x44de76=new Map(this[_0x14bfa7(0x147)](_0x174236)[_0x14bfa7(0x1dc)](_0x35c27e=>[_0x35c27e['label'],_0x35c27e[_0x14bfa7(0x17b)]])),_0x54f9a2=_0x44de76[_0x14bfa7(0x1e7)](_0x14bfa7(0x164)),_0x7f7295=_0x44de76[_0x14bfa7(0x1e7)]('Field'),_0x73cfe7=[],_0xa3d3c3=(_0x245e3a,_0x2d93b9)=>{null!=_0x2d93b9&&''!==_0x2d93b9&&_0x73cfe7['push']({'label':_0x245e3a,'value':String(_0x2d93b9)});};return _0xa3d3c3('Source',_0x54f9a2?_0x7f7295&&_0x14bfa7(0x1b6)!==_0x7f7295?_0x54f9a2+'.'+_0x7f7295:_0x54f9a2:null),_0xa3d3c3(_0x14bfa7(0x1d9),_0x44de76[_0x14bfa7(0x1e7)](_0x14bfa7(0x1dd))),_0xa3d3c3('Algorithm',_0x44de76[_0x14bfa7(0x1e7)](_0x14bfa7(0x180))),_0xa3d3c3(_0x14bfa7(0x161),_0x44de76['get'](_0x14bfa7(0x161))),_0xa3d3c3(_0x14bfa7(0x130),_0x44de76[_0x14bfa7(0x1e7)]('Concurrency')),_0xa3d3c3(_0x14bfa7(0x126),_0x174236?.[_0x14bfa7(0x1c9)]??_0x174236?.[_0x14bfa7(0x18c)]?.[_0x14bfa7(0x1c9)]),_0x73cfe7;},'pipelineProgressMetric'(_0x3c4536){const _0x28329d=_0x444f0f,_0x37fe61=this[_0x28329d(0x143)](_0x3c4536)[_0x28329d(0x1ba)](_0x685863=>_0x28329d(0x1ed)===_0x685863?.[_0x28329d(0x1a2)]||'indexer'===_0x685863?.[_0x28329d(0x12d)])??null,_0x525560=_0x1682a2(_0x37fe61)[_0x28329d(0x1ba)](_0x3f2a14=>_0x28329d(0x1a8)===_0x3f2a14?.[_0x28329d(0x18f)])??null;if(_0x525560)return _0x525560;const _0x3c5a31=_0x37fe61?.[_0x28329d(0x13e)]??_0x37fe61?.[_0x28329d(0x1cc)]?.['progress']??null;if(null==_0x3c5a31)return null;if(_0x28329d(0x201)==typeof _0x3c5a31||_0x28329d(0x17f)==typeof _0x3c5a31)return{'label':_0x28329d(0x1a8),'value':String(_0x3c5a31),'tone':_0x28329d(0x1b9)};if(_0x28329d(0x1f2)==typeof _0x3c5a31&&_0x28329d(0x201)==typeof _0x3c5a31[_0x28329d(0x1e0)])return{'label':'Progress','value':_0x3c5a31[_0x28329d(0x1e0)],'tone':_0x28329d(0x1b9)};try{return{'label':_0x28329d(0x1a8),'value':JSON[_0x28329d(0x179)](_0x3c5a31),'tone':'accent'};}catch{return{'label':_0x28329d(0x1a8),'value':_0x28329d(0x13e),'tone':_0x28329d(0x1b9)};}},async 'pipelineRequest'(_0x43f6f2,_0x16be00,_0x1f28fc){const _0x4524bd=_0x444f0f,_0x1f049a=_0x43f6f2?.[_0x4524bd(0x18c)]?.[_0x4524bd(0x197)]??_0x43f6f2?.[_0x4524bd(0x1af)]??null,_0x285a59=_0x43f6f2?.['env']??_0x43f6f2?.[_0x4524bd(0x18c)]?.[_0x4524bd(0x1c9)]??_0x1af292[_0x4524bd(0x19a)][_0x4524bd(0x159)][_0x4524bd(0x199)][_0x4524bd(0x13d)]??'default';_0x1f049a&&await this[_0x4524bd(0x1b2)](_0x43f6f2,async()=>{const _0x8e9c73=_0x4524bd,_0x3e3401=_0x8e9c73(0x1c2)===_0x16be00?'':'/'+_0x1f28fc,_0x273364=await fetch(__ENV__[_0x8e9c73(0x11e)]+_0x8e9c73(0x1bd)+encodeURIComponent(_0x285a59)+_0x8e9c73(0x175)+encodeURIComponent(_0x1f049a)+_0x3e3401,{'method':_0x16be00}),_0x4ddddc=await _0x273364[_0x8e9c73(0x187)]()[_0x8e9c73(0x170)](()=>({}));if(!_0x273364['ok'])throw new Error(_0x4ddddc?.[_0x8e9c73(0x128)]?.[_0x8e9c73(0x19d)]||(_0x1f28fc||_0x8e9c73(0x169))+_0x8e9c73(0x18a));_0x1af292[_0x8e9c73(0x19a)][_0x8e9c73(0x1b0)]?.[_0x8e9c73(0x167)]?.[_0x8e9c73(0x1b5)]?.('DELETE'===_0x16be00?_0x8e9c73(0x16a)+_0x1f049a+'\x22':(_0x8e9c73(0x1e8)===_0x1f28fc?'Started':_0x8e9c73(0x1bf))+_0x8e9c73(0x1ea)+_0x1f049a+'\x22'),_0x8e9c73(0x1c2)===_0x16be00&&_0x1af292['$dispatch']('select',{'name':''}),_0x1af292[_0x8e9c73(0x1a6)](_0x8e9c73(0x168));});},async 'restartPipeline'(_0x51f32a){const _0x3c8580=_0x444f0f,_0x265ff8=_0x51f32a?.[_0x3c8580(0x18c)]?.[_0x3c8580(0x197)]??_0x51f32a?.['key']??null;_0x265ff8&&await _0x1af292[_0x3c8580(0x19a)]['shared']?.[_0x3c8580(0x124)]?.[_0x3c8580(0x14f)]?.('Restart\x20pipeline\x20\x22<b>'+_0x265ff8+'</b>\x22?')&&await this[_0x3c8580(0x1b2)](_0x51f32a,async()=>{const _0xe96f7b=_0x3c8580,_0x573933=_0x51f32a?.['env']??_0x51f32a?.[_0xe96f7b(0x18c)]?.[_0xe96f7b(0x1c9)]??_0x1af292['$ok'][_0xe96f7b(0x159)][_0xe96f7b(0x199)][_0xe96f7b(0x13d)]??'default',_0x10b9ba=__ENV__[_0xe96f7b(0x11e)]+_0xe96f7b(0x1bd)+encodeURIComponent(_0x573933)+_0xe96f7b(0x175)+encodeURIComponent(_0x265ff8),_0x3245b8=await fetch(_0x10b9ba+_0xe96f7b(0x142),{'method':_0xe96f7b(0x1df)}),_0x4209bc=await _0x3245b8['json']()[_0xe96f7b(0x170)](()=>({}));if(!_0x3245b8['ok'])throw new Error(_0x4209bc?.[_0xe96f7b(0x128)]?.[_0xe96f7b(0x19d)]||_0xe96f7b(0x15f));const _0x565018=await fetch(_0x10b9ba+'/start',{'method':_0xe96f7b(0x1df)}),_0x1c2ae8=await _0x565018[_0xe96f7b(0x187)]()[_0xe96f7b(0x170)](()=>({}));if(!_0x565018['ok'])throw new Error(_0x1c2ae8?.['error']?.[_0xe96f7b(0x19d)]||_0xe96f7b(0x12b));_0x1af292['$ok']['shared']?.[_0xe96f7b(0x167)]?.['success']?.('Restarted\x20pipeline\x20\x22'+_0x265ff8+'\x22'),_0x1af292[_0xe96f7b(0x1a6)](_0xe96f7b(0x168));});},'pipelineSourceType'(_0x4389db){const _0x140a06=_0x444f0f,_0x256716=this[_0x140a06(0x143)](_0x4389db);for(const _0x13bf09 of _0x256716){const _0x4c567e=_0x13bf09?.['config']?.['source_type']??_0x13bf09?.[_0x140a06(0x1cc)]?.[_0x140a06(0x1f5)]??_0x13bf09?.[_0x140a06(0x158)]?.[_0x140a06(0x194)]??null;if(_0x4c567e)return _0x4c567e;}return null;},async 'startPipeline'(_0x1e2add){const _0x5f302a=_0x444f0f;try{await this[_0x5f302a(0x183)](_0x1e2add,_0x5f302a(0x1df),_0x5f302a(0x1e8));}catch(_0x45cf80){_0x1af292[_0x5f302a(0x19a)][_0x5f302a(0x1b0)]?.[_0x5f302a(0x167)]?.[_0x5f302a(0x128)]?.(_0x45cf80?.[_0x5f302a(0x19d)]||_0x5f302a(0x12b));}},async 'stopPipeline'(_0x117caa){const _0x21efda=_0x444f0f,_0x4953f5=_0x117caa?.['record']?.['name']??_0x117caa?.[_0x21efda(0x1af)]??null;if(_0x4953f5&&await _0x1af292['$ok']['shared']?.[_0x21efda(0x124)]?.[_0x21efda(0x14f)]?.(_0x21efda(0x133)+_0x4953f5+_0x21efda(0x16f)))try{await this['pipelineRequest'](_0x117caa,_0x21efda(0x1df),_0x21efda(0x17c));}catch(_0x30fc52){_0x1af292['$ok'][_0x21efda(0x1b0)]?.[_0x21efda(0x167)]?.['error']?.(_0x30fc52?.[_0x21efda(0x19d)]||'Stop\x20failed');}},async 'deletePipeline'(_0x18707b){const _0x494c7d=_0x444f0f,_0x2fb68a=_0x18707b?.[_0x494c7d(0x18c)]?.[_0x494c7d(0x197)]??_0x18707b?.[_0x494c7d(0x1af)]??null;if(!_0x2fb68a)return;const _0x10b217=this[_0x494c7d(0x154)](_0x18707b)[_0x494c7d(0x1dc)](_0xb8c849=>'•\x20'+(_0xb8c849?.[_0x494c7d(0x12d)]||_0xb8c849?.[_0x494c7d(0x1a2)])+':\x20'+_0xb8c849?.[_0x494c7d(0x1a2)]+'@'+_0xb8c849?.[_0x494c7d(0x197)])[_0x494c7d(0x1ec)]('<br>');if(await _0x1af292[_0x494c7d(0x19a)][_0x494c7d(0x1b0)]?.['modal']?.[_0x494c7d(0x14f)]?.('Delete\x20pipeline\x20\x22<b>'+_0x2fb68a+_0x494c7d(0x152)+(_0x10b217||_0x494c7d(0x192))+_0x494c7d(0x157)))try{await this[_0x494c7d(0x183)](_0x18707b,'DELETE',null);}catch(_0x155ffc){_0x1af292[_0x494c7d(0x19a)]['shared']?.[_0x494c7d(0x167)]?.[_0x494c7d(0x128)]?.(_0x155ffc?.[_0x494c7d(0x19d)]||_0x494c7d(0x1ff));}},'pipelineActionStyle':(_0x2152a9=_0x444f0f(0x1a7))=>'font-size:11px;padding:3px\x2010px;border-radius:999px;border:1px\x20solid\x20'+_0x2152a9+'55;color:'+_0x2152a9+_0x444f0f(0x1da)+_0x2152a9+_0x444f0f(0x136),'typeName'(_0x368d52){const _0x238eec=_0x444f0f;return this[_0x238eec(0x1a3)][_0x368d52]||_0x368d52||'Engine';},'pipelineCardStyle'(_0x318266){const _0x5bebc6=_0x444f0f;return _0x5bebc6(0x1a0)+(this['isSelectedPipeline'](_0x318266)?'color-mix(in\x20srgb,\x20var(--okdb-accent)\x2033%,\x20transparent)':_0x5bebc6(0x1a9))+_0x5bebc6(0x1d5);},async 'openEngineModal'(_0x32544d,_0x2b1aca=null){const _0x550a92=_0x444f0f;if(!_0x32544d?.[_0x550a92(0x197)])return;const _0x34999f=this[_0x550a92(0x1e1)](_0x32544d,_0x2b1aca)??(_0x1af292['$ok']['stores'][_0x550a92(0x199)]['selectedEnv']||_0x550a92(0x137));await _0x1af292[_0x550a92(0x19a)][_0x550a92(0x1b0)][_0x550a92(0x124)]['open']({'owner':_0x1af292,'title':'Edit\x20Engine\x20·\x20'+_0x32544d['name'],'canDrag':!0x0,'content':'<engine-modal\x20:modal=\x22modal\x22\x20:engine=\x22engine\x22\x20:env=\x22envName\x22\x20/>','context':_0x4511fd=>({'modal':_0x4511fd,'engine':_0x32544d,'envName':_0x34999f})});},'openTypeMember'(_0x13d813,_0x1092b8=null){const _0x5db942=_0x444f0f,_0xe59e7a=this[_0x5db942(0x148)](_0x13d813);if(!_0xe59e7a)return;const _0x31cf5b=this['relatedEnv'](_0x13d813,_0x1092b8);_0x1af292[_0x5db942(0x1a6)](_0x5db942(0x205),{'type':_0xe59e7a,'env':_0x31cf5b});},'engineMetricSearchParts':_0x474cc2=>_0x1682a2(_0x474cc2)[_0x444f0f(0x1f8)](_0x363c44=>[_0x363c44?.[_0x444f0f(0x18f)],_0x363c44?.[_0x444f0f(0x17b)]]),'engineStatusMeta':_0x4c8527=>_0x1da6e1(_0x4c8527),'lifecycleEnv'(_0x99dfb,_0x569c67=null){const _0x515999=_0x444f0f;return this[_0x515999(0x1e1)](_0x99dfb,_0x569c67)??this[_0x515999(0x1cf)](_0x99dfb)??_0x1af292['$ok'][_0x515999(0x159)][_0x515999(0x199)][_0x515999(0x13d)]??'default';},'metricToneColor'(_0x233237=null){const _0xc08a52=_0x444f0f;switch(_0x233237?.['tone']){case'success':return _0xc08a52(0x1b4);case _0xc08a52(0x149):return _0xc08a52(0x138);case _0xc08a52(0x1d6):return'var(--okdb-warning)';case'accent':return _0xc08a52(0x1e3);default:return _0xc08a52(0x134);}},'metricPreview':(_0x314bc8=null)=>_0x314bc8?.[_0x444f0f(0x18f)]&&_0x314bc8?.['value']?_0x314bc8[_0x444f0f(0x18f)]+':\x20'+_0x314bc8[_0x444f0f(0x17b)]:'','requestRefresh'(){const _0x486a8a=_0x444f0f;_0x1af292[_0x486a8a(0x1a6)](_0x486a8a(0x168));},'goToType'(_0x45448e){const _0x4ffe82=_0x444f0f,_0x448652=_0x1af292['$vars'][_0x4ffe82(0x191)];_0x448652[_0x4ffe82(0x1c8)](_0x448652[_0x4ffe82(0x202)](_0x4ffe82(0x19b),{'type':_0x45448e,'tab':'pipelines'}));},'goToFiles'(_0x4d7612){const _0xa951ed=_0x444f0f,_0x15d79d=_0x1af292['$vars'][_0xa951ed(0x191)];_0x15d79d[_0xa951ed(0x1c8)](_0x15d79d[_0xa951ed(0x202)](_0xa951ed(0x1c3),{'collection':_0x4d7612}));}}),'template':_0x444f0f(0x182),'style':'\x0a/*\x20──\x20Root\x20───────────────────────────────────────────\x20*/\x0aengines-overview\x20.eo-root\x20{\x0a\x20\x20display:\x20flex;\x0a\x20\x20flex-direction:\x20column;\x0a\x20\x20gap:\x2016px;\x0a\x20\x20max-width:\x20980px;\x0a}\x0a\x0a/*\x20──\x20Page\x20header\x20────────────────────────────────────\x20*/\x0aengines-overview\x20.eo-header\x20{\x0a\x20\x20display:\x20flex;\x0a\x20\x20justify-content:\x20space-between;\x0a\x20\x20gap:\x2012px;\x0a\x20\x20align-items:\x20center;\x0a\x20\x20flex-wrap:\x20wrap;\x0a}\x0aengines-overview\x20.eo-title\x20{\x20font-weight:\x20700;\x20font-size:\x2017px;\x20color:\x20var(--okdb-app-fg);\x20letter-spacing:\x20-.01em;\x20}\x0aengines-overview\x20.eo-stats\x20{\x20display:\x20flex;\x20gap:\x2010px;\x20flex-wrap:\x20wrap;\x20align-items:\x20center;\x20font-size:\x2011px;\x20}\x0aengines-overview\x20.eo-stat-sep\x20{\x20width:\x201px;\x20height:\x2012px;\x20background:\x20var(--okdb-app-border);\x20flex-shrink:\x200;\x20}\x0a\x0a/*\x20──\x20Alerts\x20─────────────────────────────────────────\x20*/\x0aengines-overview\x20.eo-alert\x20{\x0a\x20\x20padding:\x2012px\x2016px;\x0a\x20\x20border:\x201px\x20solid\x20var(--okdb-app-border);\x0a\x20\x20border-radius:\x2010px;\x0a\x20\x20background:\x20var(--okdb-app-bg-deep);\x0a\x20\x20font-size:\x2012px;\x0a\x20\x20line-height:\x201.6;\x0a}\x0aengines-overview\x20.eo-alert__title\x20{\x20font-weight:\x20600;\x20color:\x20var(--okdb-app-fg-muted);\x20margin-bottom:\x202px;\x20}\x0aengines-overview\x20.eo-alert__body\x20{\x20color:\x20var(--okdb-app-fg-subtle);\x20}\x0a\x0a/*\x20──\x20Section\x20────────────────────────────────────────\x20*/\x0aengines-overview\x20.eo-section\x20{\x20display:\x20flex;\x20flex-direction:\x20column;\x20gap:\x208px;\x20}\x0aengines-overview\x20.eo-section__label\x20{\x0a\x20\x20font-size:\x2010px;\x0a\x20\x20text-transform:\x20uppercase;\x0a\x20\x20letter-spacing:\x20.07em;\x0a\x20\x20color:\x20var(--okdb-app-fg-muted);\x0a\x20\x20opacity:\x20.55;\x0a\x20\x20margin-bottom:\x202px;\x0a}\x0aengines-overview\x20.eo-count\x20{\x0a\x20\x20font-size:\x2010px;\x0a\x20\x20padding:\x200\x206px;\x0a\x20\x20border-radius:\x20999px;\x0a\x20\x20background:\x20var(--okdb-app-surface);\x0a\x20\x20border:\x201px\x20solid\x20var(--okdb-app-border);\x0a\x20\x20color:\x20var(--okdb-accent-muted);\x0a\x20\x20margin-left:\x204px;\x0a\x20\x20vertical-align:\x20middle;\x0a}\x0a\x0a/*\x20──\x20Pipeline\x20card\x20──────────────────────────────────\x20*/\x0aengines-overview\x20.eo-pipeline-card\x20{\x0a\x20\x20background:\x20var(--okdb-app-surface);\x0a\x20\x20border:\x201px\x20solid\x20var(--okdb-app-border);\x0a\x20\x20border-radius:\x2010px;\x0a\x20\x20overflow:\x20hidden;\x0a\x20\x20transition:\x20border-color\x20.14s;\x0a}\x0aengines-overview\x20.eo-pipeline-card:hover\x20{\x20border-color:\x20#384047;\x20}\x0a\x0aengines-overview\x20.eo-pipeline-header\x20{\x0a\x20\x20display:\x20flex;\x0a\x20\x20align-items:\x20center;\x0a\x20\x20gap:\x208px;\x0a\x20\x20padding:\x2012px\x2014px;\x0a\x20\x20flex-wrap:\x20wrap;\x0a\x20\x20min-width:\x200;\x0a}\x0aengines-overview\x20.eo-health-dot\x20{\x0a\x20\x20width:\x207px;\x0a\x20\x20height:\x207px;\x0a\x20\x20border-radius:\x2050%;\x0a\x20\x20flex-shrink:\x200;\x0a}\x0aengines-overview\x20.eo-pipeline-name\x20{\x0a\x20\x20font-weight:\x20600;\x0a\x20\x20font-size:\x2013.5px;\x0a\x20\x20color:\x20var(--okdb-app-fg);\x0a\x20\x20overflow:\x20hidden;\x0a\x20\x20text-overflow:\x20ellipsis;\x0a\x20\x20white-space:\x20nowrap;\x0a\x20\x20min-width:\x200;\x0a\x20\x20letter-spacing:\x20-.01em;\x0a}\x0aengines-overview\x20.eo-spacer\x20{\x20flex:\x201;\x20min-width:\x200;\x20}\x0aengines-overview\x20.eo-run-count\x20{\x0a\x20\x20font-size:\x2011px;\x0a\x20\x20color:\x20var(--okdb-accent-muted);\x0a\x20\x20display:\x20inline-flex;\x0a\x20\x20align-items:\x20center;\x0a\x20\x20gap:\x204px;\x0a\x20\x20white-space:\x20nowrap;\x0a\x20\x20flex-shrink:\x200;\x0a}\x0a\x0a/*\x20──\x20Pills\x20──────────────────────────────────────────\x20*/\x0aengines-overview\x20.eo-pill\x20{\x0a\x20\x20font-size:\x2010.5px;\x0a\x20\x20padding:\x201px\x208px;\x0a\x20\x20border-radius:\x20999px;\x0a\x20\x20border:\x201px\x20solid\x20var(--okdb-app-border);\x0a\x20\x20color:\x20var(--okdb-app-fg-muted);\x0a\x20\x20background:\x20transparent;\x0a\x20\x20display:\x20inline-flex;\x0a\x20\x20align-items:\x20center;\x0a\x20\x20white-space:\x20nowrap;\x0a\x20\x20flex-shrink:\x200;\x0a\x20\x20letter-spacing:\x20.01em;\x0a}\x0a\x0a/*\x20──\x20Buttons\x20────────────────────────────────────────\x20*/\x0aengines-overview\x20.eo-btn\x20{\x0a\x20\x20font-size:\x2011px;\x0a\x20\x20padding:\x203px\x2010px;\x0a\x20\x20border-radius:\x20999px;\x0a\x20\x20border:\x201px\x20solid\x20var(--okdb-app-border);\x0a\x20\x20background:\x20var(--okdb-app-bg-deep);\x0a\x20\x20color:\x20var(--okdb-app-fg-muted);\x0a\x20\x20cursor:\x20pointer;\x0a\x20\x20line-height:\x201.4;\x0a\x20\x20flex-shrink:\x200;\x0a\x20\x20white-space:\x20nowrap;\x0a\x20\x20transition:\x20filter\x20.12s;\x0a}\x0aengines-overview\x20.eo-btn--toggle\x20{\x20background:\x20var(--okdb-app-bg-deep);\x20border-color:\x20var(--okdb-app-border);\x20color:\x20var(--okdb-app-fg-muted);\x20}\x0aengines-overview\x20.eo-btn--danger\x20{\x20border-color:\x20color-mix(in\x20srgb,\x20var(--okdb-danger)\x2033%,\x20transparent);\x20color:\x20var(--okdb-danger);\x20background:\x20color-mix(in\x20srgb,\x20var(--okdb-danger)\x207%,\x20transparent);\x20}\x0aengines-overview\x20.eo-btn:hover:not(:disabled)\x20{\x20filter:\x20brightness(1.3);\x20}\x0aengines-overview\x20.eo-btn:disabled\x20{\x20opacity:\x20.4;\x20cursor:\x20not-allowed;\x20}\x0a\x0a/*\x20──\x20Metrics\x20row\x20(pipeline\x20header)\x20─────────────────\x20*/\x0aengines-overview\x20.eo-pipeline-metrics\x20{\x0a\x20\x20display:\x20flex;\x0a\x20\x20flex-wrap:\x20wrap;\x0a\x20\x20gap:\x203px\x2016px;\x0a\x20\x20padding:\x200\x2014px\x2010px\x2035px;\x0a}\x0aengines-overview\x20.eo-kv\x20{\x20display:\x20inline-flex;\x20gap:\x204px;\x20align-items:\x20baseline;\x20font-size:\x2011px;\x20line-height:\x201.4;\x20}\x0aengines-overview\x20.eo-kv__label\x20{\x20font-size:\x209.5px;\x20text-transform:\x20uppercase;\x20letter-spacing:\x20.04em;\x20color:\x20var(--okdb-app-fg-subtle);\x20flex-shrink:\x200;\x20}\x0aengines-overview\x20.eo-kv__val\x20{\x20color:\x20#a8c4d9;\x20overflow:\x20hidden;\x20text-overflow:\x20ellipsis;\x20white-space:\x20nowrap;\x20}\x0a\x0a/*\x20──\x20Inline\x20chip\x20strip\x20(collapsed\x20pipeline)\x20─────────\x20*/\x0aengines-overview\x20.eo-chip-strip\x20{\x0a\x20\x20display:\x20flex;\x0a\x20\x20flex-wrap:\x20wrap;\x0a\x20\x20gap:\x205px;\x0a\x20\x20padding:\x200\x2014px\x2012px\x2035px;\x0a}\x0aengines-overview\x20.eo-chip\x20{\x0a\x20\x20display:\x20inline-flex;\x0a\x20\x20align-items:\x20center;\x0a\x20\x20gap:\x205px;\x0a\x20\x20padding:\x202px\x208px;\x0a\x20\x20border-radius:\x20999px;\x0a\x20\x20border:\x201px\x20solid\x20var(--okdb-app-border);\x0a\x20\x20background:\x20var(--okdb-app-bg-deep);\x0a\x20\x20font-size:\x2010.5px;\x0a\x20\x20white-space:\x20nowrap;\x0a}\x0aengines-overview\x20.eo-chip__name\x20{\x20color:\x20var(--okdb-accent-muted);\x20}\x0a\x0a/*\x20──\x20Accordion\x20(expanded\x20pipeline)\x20─────────────────\x20*/\x0aengines-overview\x20.eo-accordion\x20{\x0a\x20\x20border-top:\x201px\x20solid\x20var(--okdb-app-border);\x0a\x20\x20background:\x20var(--okdb-app-bg-deep);\x0a\x20\x20display:\x20flex;\x0a\x20\x20flex-direction:\x20column;\x0a\x20\x20gap:\x208px;\x0a\x20\x20padding:\x2012px;\x0a}\x0aengines-overview\x20.eo-accordion-footer\x20{\x0a\x20\x20display:\x20flex;\x0a\x20\x20justify-content:\x20flex-end;\x0a\x20\x20padding:\x204px\x202px\x202px;\x0a\x20\x20border-top:\x201px\x20solid\x20var(--okdb-app-border);\x0a\x20\x20margin-top:\x202px;\x0a}\x0a'};
|