@kedem/okdb 1.0.1 → 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/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/okdb-data/default/data.mdb +0 -0
- package/okdb-data/default/lock.mdb +0 -0
- package/okdb-data/~log/data.mdb +0 -0
- package/okdb-data/~log/lock.mdb +0 -0
- package/okdb-data/~system/data.mdb +0 -0
- package/okdb-data/~system/lock.mdb +0 -0
- package/public/images/logo.png +0 -0
- package/public/images/logo.svg +0 -333
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x44eb6f=_0x4780;function _0x2708(){const _0x387863=['Open\x20linked\x20engine','key','functions','1303903ISERHL','/env/','push','API','onEdit','error','/engines','13182LBezOe','runs','selected','linkedQueueRef','526696bEVQUF','1935TzvNrZ','queue','remove','owner_engine','Open\x20linked\x20queue\x20worker','selectedName','Open\x20queue\x20workers\x20for\x20','\x20for\x20type\x20','stores','latestRun','refreshLinkedPipeline','Open\x20linked\x20pipeline','those\x20pipelines','$vars','8391110TrszCx','logsForRun','runId','Open\x20pipeline\x20','$ok','2898376eLJBjF','\x0a\x20\x20<if\x20:=\x22!fn\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22padding:18px;\x20border:1px\x20dashed\x20var(--okdb-app-border);\x20border-radius:10px;\x20color:var(--okdb-app-fg-muted);\x20line-height:1.6;\x22>\x0a\x20\x20\x20\x20\x20\x20Select\x20a\x20function\x20from\x20the\x20sidebar\x20to\x20inspect\x20or\x20edit\x20it.\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<if\x20:=\x22fn\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:12px;\x20min-height:0;\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:14px;\x20border:1px\x20solid\x20var(--okdb-app-border);\x20border-radius:10px;\x20background:var(--okdb-app-bg-deep);\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:11px;\x20text-transform:uppercase;\x20letter-spacing:.08em;\x20color:var(--okdb-app-fg-muted);\x20margin-bottom:10px;\x22>Function\x20overview</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20align-items:center;\x20justify-content:space-between;\x20gap:12px;\x22>\x0a\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\x20style=\x22font-size:18px;\x20font-weight:700;\x20color:var(--okdb-app-fg);\x22>{{\x20fn.name\x20}}</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22margin-top:4px;\x20font-size:12px;\x20color:var(--okdb-app-fg-muted);\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{{\x20fn.scope\x20===\x20\x27global\x27\x20?\x20\x27Global\x20function\x27\x20:\x20\x27Environment\x20function\x27\x20}}\x20·\x20version\x20{{\x20fn.version\x20}}\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</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20:style=\x22fn.enabled\x20===\x20false\x20?\x20\x27font-size:11px;\x20color:var(--okdb-danger);\x27\x20:\x20\x27font-size:11px;\x20color:var(--okdb-success);\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{{\x20fn.enabled\x20===\x20false\x20?\x20\x27Disabled\x27\x20:\x20\x27Enabled\x27\x20}}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20justify-content:flex-end;\x20gap:8px;\x20margin-top:12px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20style=\x22padding:6px\x2010px;\x20font-size:12px;\x22\x20@click=\x22triggerEdit()\x22>Edit</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20style=\x22padding:6px\x2010px;\x20font-size:12px;\x20border-color:#5c2a34;\x20color:#fda4af;\x22\x20@click=\x22removeSelected()\x22>Delete</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22fn.metadata?.description\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22margin-top:10px;\x20color:#9bb2c3;\x20font-size:13px;\x20line-height:1.5;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{{\x20fn.metadata.description\x20}}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:grid;\x20grid-template-columns:repeat(2,\x20minmax(0,1fr));\x20gap:12px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:12px;\x20border:1px\x20solid\x20var(--okdb-app-border);\x20border-radius:10px;\x20background:var(--okdb-app-bg-deep);\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:11px;\x20text-transform:uppercase;\x20color:var(--okdb-app-fg-muted);\x20margin-bottom:8px;\x22>Runtime</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:6px;\x20font-size:12px;\x20color:var(--okdb-app-fg-muted);\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div>timeoutMs:\x20<strong>{{\x20fn.runtime?.timeoutMs\x20??\x20\x27—\x27\x20}}</strong></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div>memoryMb:\x20<strong>{{\x20fn.runtime?.memoryMb\x20??\x20\x27—\x27\x20}}</strong></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div>allowFetch:\x20<strong>{{\x20fn.runtime?.allowFetch\x20===\x20false\x20?\x20\x27false\x27\x20:\x20\x27true\x27\x20}}</strong></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:12px;\x20border:1px\x20solid\x20var(--okdb-app-border);\x20border-radius:10px;\x20background:var(--okdb-app-bg-deep);\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:11px;\x20text-transform:uppercase;\x20color:var(--okdb-app-fg-muted);\x20margin-bottom:8px;\x22>Metadata</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:6px;\x20font-size:12px;\x20color:var(--okdb-app-fg-muted);\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div>createdAt:\x20<strong>{{\x20fn.metadata?.createdAt\x20??\x20\x27—\x27\x20}}</strong></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div>updatedAt:\x20<strong>{{\x20fn.metadata?.updatedAt\x20??\x20\x27—\x27\x20}}</strong></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div>hash:\x20<strong\x20style=\x22font-family:monospace;\x20font-size:11px;\x22>{{\x20fn.hash\x20??\x20\x27—\x27\x20}}</strong></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22hasLinkedQueue\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22openLinkedPipeline()\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:title=\x22linkedQueueTitle\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20style=\x22margin-top:4px;\x20padding:4px\x208px;\x20border:1px\x20solid\x20color-mix(in\x20srgb,\x20var(--okdb-accent)\x2020%,\x20transparent);\x20border-radius:6px;\x20background:color-mix(in\x20srgb,\x20var(--okdb-accent)\x205%,\x20transparent);\x20color:var(--okdb-accent);\x20font-size:11px;\x20text-align:left;\x20cursor:pointer;\x20display:inline-flex;\x20align-items:center;\x20gap:4px;\x20width:fit-content;\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>⇶\x20Queue:</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<strong>{{\x20linkedQueueRef.jobType\x20}}</strong>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22linkedQueueRef?.ownerEngine\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>·\x20Worker:</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<strong>{{\x20linkedQueueRef.ownerEngine\x20}}</strong>\x0a\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>↗</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22hasLinkedPipeline\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22openLinkedPipeline()\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:title=\x22linkedPipelineTitle\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20style=\x22margin-top:4px;\x20padding:4px\x208px;\x20border:1px\x20solid\x20color-mix(in\x20srgb,\x20var(--okdb-accent)\x2020%,\x20transparent);\x20border-radius:6px;\x20background:color-mix(in\x20srgb,\x20var(--okdb-accent)\x205%,\x20transparent);\x20color:var(--okdb-accent);\x20font-size:11px;\x20text-align:left;\x20cursor:pointer;\x20display:inline-flex;\x20align-items:center;\x20gap:4px;\x20width:fit-content;\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>⚡\x20Pipeline:</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<strong>{{\x20linkedPipelineRef.pipelineName\x20}}</strong>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22linkedPipelineRef?.ownerEngine\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>·\x20Engine:</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<strong>{{\x20linkedPipelineRef.ownerEngine\x20}}</strong>\x0a\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>↗</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22!hasLinkedQueue\x20&&\x20!hasLinkedPipeline\x20&&\x20hasLinkedEngine\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22openLinkedPipeline()\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:title=\x22linkedEngineTitle\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20style=\x22margin-top:4px;\x20padding:4px\x208px;\x20border:1px\x20solid\x20color-mix(in\x20srgb,\x20var(--okdb-accent)\x2020%,\x20transparent);\x20border-radius:6px;\x20background:color-mix(in\x20srgb,\x20var(--okdb-accent)\x205%,\x20transparent);\x20color:var(--okdb-accent);\x20font-size:11px;\x20text-align:left;\x20cursor:pointer;\x20display:inline-flex;\x20align-items:center;\x20gap:4px;\x20width:fit-content;\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>⚙\x20Engine:</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<strong>{{\x20linkedEngineRef.ownerEngine\x20}}</strong>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>↗</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:grid;\x20grid-template-columns:minmax(0,1.2fr)\x20minmax(280px,.8fr);\x20gap:12px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:12px;\x20border:1px\x20solid\x20var(--okdb-app-border);\x20border-radius:10px;\x20background:var(--okdb-app-bg-deep);\x20min-height:0;\x20overflow:auto;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:11px;\x20text-transform:uppercase;\x20color:var(--okdb-app-fg-muted);\x20margin-bottom:8px;\x22>Implementation</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<pre\x20style=\x22margin:0;\x20white-space:pre-wrap;\x20word-break:break-word;\x20color:var(--okdb-app-fg-muted);\x20font-size:12px;\x20line-height:1.55;\x22>{{\x20fn.script?.source\x20||\x20\x27—\x27\x20}}</pre>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:12px;\x20border:1px\x20solid\x20var(--okdb-app-border);\x20border-radius:10px;\x20background:var(--okdb-app-bg-deep);\x20min-height:0;\x20overflow:auto;\x20display:flex;\x20flex-direction:column;\x20gap:10px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:11px;\x20text-transform:uppercase;\x20color:var(--okdb-app-fg-muted);\x22>Runs</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:12px;\x20color:var(--okdb-app-fg-muted);\x22>Total\x20persisted\x20runs:\x20<strong>{{\x20runs.length\x20}}</strong></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22!activeRun\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:12px;\x20color:var(--okdb-app-fg-muted);\x20line-height:1.5;\x22>No\x20runs\x20recorded\x20for\x20this\x20function\x20yet.</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22activeRun\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:12px;\x20color:var(--okdb-app-fg-muted);\x20line-height:1.55;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Selected\x20run\x20id:\x20<strong\x20style=\x22font-family:monospace;\x20font-size:11px;\x22>{{\x20activeRun.id\x20||\x20activeRun.runId\x20||\x20\x27—\x27\x20}}</strong>\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\x20\x20<div\x20style=\x22font-size:12px;\x20color:var(--okdb-app-fg-muted);\x20line-height:1.55;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Status:\x20<strong>{{\x20activeRun.status\x20||\x20(activeRun.error\x20?\x20\x27error\x27\x20:\x20\x27ok\x27)\x20}}</strong>\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\x20\x20<pre\x20style=\x22margin:0;\x20white-space:pre-wrap;\x20word-break:break-word;\x20color:var(--okdb-app-fg-muted);\x20font-size:11px;\x20line-height:1.5;\x20max-height:180px;\x20overflow:auto;\x22>{{\x20formatJson(activeRun.result\x20??\x20activeRun.error\x20??\x20activeRun)\x20}}</pre>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22activeRunLogs.length\x20>\x200\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:11px;\x20text-transform:uppercase;\x20color:var(--okdb-app-fg-muted);\x22>Selected\x20run\x20log</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:6px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<each\x20:of=\x22activeRunLogs\x22\x20let:item=\x22entry\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:6px\x208px;\x20border:1px\x20solid\x20var(--okdb-app-border);\x20border-radius:8px;\x20background:var(--okdb-app-bg-deep);\x20color:var(--okdb-app-fg-muted);\x20font-size:11px;\x20line-height:1.45;\x22>{{\x20entry.msg\x20}}</div>\x0a\x20\x20\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</div>\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</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</if>\x0a\x20\x20','/functions','linkedPipelineLookup','json','slice','jobType','linkedPipelineRef','Could\x20not\x20resolve\x20the\x20linked\x20pipeline\x20yet','pipelineName','targetSection','\x0a\x0a⚠\x20This\x20function\x20is\x20used\x20by\x20','\x20(engine\x20','2188718MATpkh','linkedEngineRef','function-detail','success','$router','join','stringify','1724178ZZOLup','ownerEngine','name','that\x20pipeline','confirm','\x0a\x0aDeleting\x20it\x20will\x20break\x20','shared','toast','config','length','sourceType','activeRun','store','metadata','_linkedPipelineRequestId','filter','$watch','envName','pipeline'];_0x2708=function(){return _0x387863;};return _0x2708();}(function(_0xcc8572,_0x58cab7){const _0xda70fc=_0x4780,_0x221344=_0xcc8572();while(!![]){try{const _0x8b29a4=-parseInt(_0xda70fc(0xb0))/0x1+-parseInt(_0xda70fc(0x93))/0x2+parseInt(_0xda70fc(0x9a))/0x3+parseInt(_0xda70fc(0xbb))/0x4+parseInt(_0xda70fc(0xbc))/0x5*(parseInt(_0xda70fc(0xb7))/0x6)+parseInt(_0xda70fc(0xca))/0x7+parseInt(_0xda70fc(0xcf))/0x8;if(_0x8b29a4===_0x58cab7)break;else _0x221344['push'](_0x221344['shift']());}catch(_0x2932e6){_0x221344['push'](_0x221344['shift']());}}}(_0x2708,0xafa2c));import{openLinkedPipelineRoute as _0x20395,resolveLinkedPipeline as _0x5539f7}from'../../engines/engine-ui-utils.js';function _0x4780(_0x27dccb,_0x4c5337){_0x27dccb=_0x27dccb-0x8d;const _0x27089f=_0x2708();let _0x4780fc=_0x27089f[_0x27dccb];return _0x4780fc;}export default{'tag':_0x44eb6f(0x95),'attr':{'onEdit':{}},'context':_0x4cce06=>({'linkedPipelineLookup':null,'_linkedPipelineRequestId':0x0,get 'store'(){const _0x355f97=_0x44eb6f;return _0x4cce06['$ok'][_0x355f97(0xc4)][_0x355f97(0xaf)];},get 'fn'(){const _0x6f4fa1=_0x44eb6f;return this[_0x6f4fa1(0xa6)][_0x6f4fa1(0xb9)];},get 'runs'(){const _0x2f6b0b=_0x44eb6f;return this[_0x2f6b0b(0xa6)][_0x2f6b0b(0xb8)]||[];},get 'latestRun'(){const _0x546fb6=_0x44eb6f;return this[_0x546fb6(0xa6)][_0x546fb6(0xc5)];},get 'activeRun'(){const _0x24e642=_0x44eb6f;return this[_0x24e642(0xa6)][_0x24e642(0xa5)];},get 'activeRunLogs'(){const _0x34c60e=_0x44eb6f;return this['store'][_0x34c60e(0xcb)](this['activeRun']?.['id']||this[_0x34c60e(0xa5)]?.[_0x34c60e(0xcc)])[_0x34c60e(0xd4)](-0x5);},get 'selectedName'(){const _0x58400a=_0x44eb6f;return this[_0x58400a(0xa6)][_0x58400a(0xc1)];},get 'linkedPipelineRef'(){const _0x114437=_0x44eb6f;if('queue'===this[_0x114437(0xd2)]?.[_0x114437(0x90)])return null;const _0x34f55c=this['fn']?.[_0x114437(0xa7)]??{},_0x17ac9f=_0x34f55c[_0x114437(0xac)]??this[_0x114437(0xd2)]?.[_0x114437(0x8f)]??null;return _0x17ac9f?{'envName':this[_0x114437(0xd2)]?.[_0x114437(0xab)]??this[_0x114437(0xa6)]['envName']??null,'pipelineName':_0x17ac9f,'ownerEngine':_0x34f55c[_0x114437(0xbf)]??this[_0x114437(0xd2)]?.[_0x114437(0x9b)]??null,'targetSection':this[_0x114437(0xd2)]?.[_0x114437(0x90)]??'db'}:null;},get 'hasLinkedPipeline'(){const _0x27b62e=_0x44eb6f;return!!this[_0x27b62e(0x8d)]?.[_0x27b62e(0x8f)];},get 'linkedEngineRef'(){const _0x45f686=_0x44eb6f;if(_0x45f686(0xbd)===this[_0x45f686(0xd2)]?.['targetSection'])return null;const _0x1eb6f1=this['linkedPipelineRef'];if(_0x1eb6f1?.[_0x45f686(0x8f)])return _0x1eb6f1;const _0x46f9c8=this['fn']?.[_0x45f686(0xa7)]?.[_0x45f686(0xbf)]??this[_0x45f686(0xd2)]?.[_0x45f686(0x9b)]??null;return _0x46f9c8?{'envName':this[_0x45f686(0xd2)]?.['envName']??this[_0x45f686(0xa6)][_0x45f686(0xab)]??null,'pipelineName':null,'ownerEngine':_0x46f9c8,'sourceType':this[_0x45f686(0xd2)]?.[_0x45f686(0xa4)]??null,'targetSection':this[_0x45f686(0xd2)]?.[_0x45f686(0x90)]??'db'}:null;},get 'linkedQueueRef'(){const _0x5a3be2=_0x44eb6f,_0x45dbaa=this['linkedPipelineLookup'];return _0x5a3be2(0xbd)===_0x45dbaa?.[_0x5a3be2(0x90)]&&_0x45dbaa?.[_0x5a3be2(0xd5)]?{'envName':_0x45dbaa['envName']??this['store'][_0x5a3be2(0xab)]??null,'pipelineName':_0x45dbaa[_0x5a3be2(0x8f)]??this['fn']?.[_0x5a3be2(0xa7)]?.[_0x5a3be2(0xac)]??null,'ownerEngine':_0x45dbaa[_0x5a3be2(0x9b)]??this['fn']?.[_0x5a3be2(0xa7)]?.[_0x5a3be2(0xbf)]??null,'jobType':_0x45dbaa[_0x5a3be2(0xd5)],'targetSection':_0x5a3be2(0xbd)}:null;},get 'hasLinkedQueue'(){const _0x5ee998=_0x44eb6f;return!!this['linkedQueueRef']?.[_0x5ee998(0xd5)];},get 'hasLinkedEngine'(){const _0x3ffb48=_0x44eb6f;return!!this[_0x3ffb48(0x94)]?.['ownerEngine'];},'formatJson'(_0x30370c){const _0x2b82a6=_0x44eb6f;try{return JSON[_0x2b82a6(0x99)](_0x30370c,null,0x2);}catch{return String(_0x30370c??'');}},async 'removeSelected'(){const _0xd3e49e=_0x44eb6f;if(!this[_0xd3e49e(0xa6)][_0xd3e49e(0xc1)])return;const _0xeb8d5f=this[_0xd3e49e(0xa6)]['selectedName'],_0x14e3b3=this[_0xd3e49e(0xa6)][_0xd3e49e(0xab)],_0x474639=this['fn']?.['metadata'],_0x47be5e=_0x474639?.[_0xd3e49e(0xbf)]||_0x474639?.[_0xd3e49e(0xac)];let _0x676fe0=[];if(_0x14e3b3)try{const _0x4990f5=await fetch(__ENV__[_0xd3e49e(0xb3)]+_0xd3e49e(0xb1)+encodeURIComponent(_0x14e3b3)+_0xd3e49e(0xb6));if(_0x4990f5['ok']){const _0x30b461=await _0x4990f5[_0xd3e49e(0xd3)]();_0x676fe0=(_0x30b461?.['result']??_0x30b461??[])[_0xd3e49e(0xa9)](_0x5294bd=>_0x5294bd[_0xd3e49e(0xa2)]?.['handler']?.[_0xd3e49e(0x9c)]===_0xeb8d5f)['map'](_0x5f02f9=>_0x5f02f9[_0xd3e49e(0x9c)]||_0x5f02f9[_0xd3e49e(0xae)]);}}catch{}let _0x4092b0='Delete\x20function\x20\x22'+_0xeb8d5f+'\x22?';if(_0x47be5e||_0x676fe0[_0xd3e49e(0xa3)]>0x0){const _0x57325d=[...new Set([..._0x47be5e?[_0x47be5e]:[],..._0x676fe0])];_0x4092b0+=_0xd3e49e(0x91)+_0x57325d[_0xd3e49e(0xa3)]+'\x20engine(s):\x0a\x20\x20•\x20'+_0x57325d[_0xd3e49e(0x98)]('\x0a\x20\x20•\x20')+_0xd3e49e(0x9f)+(0x1===_0x57325d['length']?_0xd3e49e(0x9d):_0xd3e49e(0xc8))+'.';}const _0x183825=globalThis[_0xd3e49e(0x9e)]?.(_0x4092b0);if(_0x183825)try{await this[_0xd3e49e(0xa6)][_0xd3e49e(0xbe)](_0xeb8d5f),_0x4cce06[_0xd3e49e(0xc9)][_0xd3e49e(0x97)]?.[_0xd3e49e(0xb2)]?.(_0xd3e49e(0xd1)),_0x4cce06[_0xd3e49e(0xce)]['shared']?.['toast']?.[_0xd3e49e(0x96)]?.('Function\x20deleted');}catch(_0x473d39){_0x4cce06['$ok']['shared']?.[_0xd3e49e(0xa1)]?.[_0xd3e49e(0xb5)]?.(_0x473d39?.['message']||'Failed\x20to\x20delete\x20function');}},'triggerEdit'(){const _0x23d940=_0x44eb6f;_0x4cce06['$attr'][_0x23d940(0xb4)]?.();},get 'linkedPipelineTitle'(){const _0x4c53cd=_0x44eb6f,_0x56baa2=this[_0x4c53cd(0x8d)];return _0x56baa2?.[_0x4c53cd(0x8f)]?_0x56baa2['ownerEngine']?_0x4c53cd(0xcd)+_0x56baa2['pipelineName']+_0x4c53cd(0x92)+_0x56baa2['ownerEngine']+')':_0x4c53cd(0xcd)+_0x56baa2[_0x4c53cd(0x8f)]:_0x4c53cd(0xc7);},get 'linkedEngineTitle'(){const _0x215e31=_0x44eb6f,_0x3a1fa1=this[_0x215e31(0x94)];return _0x3a1fa1?.[_0x215e31(0x9b)]?_0x3a1fa1['sourceType']?'Open\x20engine\x20'+_0x3a1fa1[_0x215e31(0x9b)]+_0x215e31(0xc3)+_0x3a1fa1['sourceType']:'Open\x20engine\x20'+_0x3a1fa1['ownerEngine']:_0x215e31(0xad);},get 'linkedQueueTitle'(){const _0x274193=_0x44eb6f,_0x2a1733=this['linkedQueueRef'];return _0x2a1733?.['jobType']?_0x2a1733[_0x274193(0x9b)]?_0x274193(0xc2)+_0x2a1733[_0x274193(0xd5)]+'\x20(worker\x20'+_0x2a1733['ownerEngine']+')':_0x274193(0xc2)+_0x2a1733['jobType']:_0x274193(0xc0);},async 'refreshLinkedPipeline'(){const _0x5db370=_0x44eb6f,_0x1e9ca6=this['fn']?.[_0x5db370(0x9c)]??this[_0x5db370(0xc1)]??null,_0x51dbfb=this['fn']?.['metadata']??{};if(!this[_0x5db370(0xa6)][_0x5db370(0xab)]||!_0x1e9ca6)return void(this[_0x5db370(0xd2)]=null);const _0x579cfc=++this[_0x5db370(0xa8)],_0x4212a8=await _0x5539f7(_0x4cce06,{'envName':this[_0x5db370(0xa6)][_0x5db370(0xab)],'pipelineName':_0x51dbfb[_0x5db370(0xac)]??null,'ownerEngine':_0x51dbfb[_0x5db370(0xbf)]??null,'functionName':_0x1e9ca6});_0x579cfc===this['_linkedPipelineRequestId']&&(this[_0x5db370(0xd2)]=_0x4212a8);},async 'openLinkedPipeline'(){const _0x1043bd=_0x44eb6f,_0x1a180c=this[_0x1043bd(0xba)]??this[_0x1043bd(0x8d)]??this[_0x1043bd(0x94)];(_0x1a180c?.[_0x1043bd(0x9b)]||_0x1a180c?.['pipelineName']||_0x1a180c?.['jobType'])&&(await _0x20395(_0x4cce06,{'envName':_0x1a180c[_0x1043bd(0xab)]??this[_0x1043bd(0xa6)]['envName'],'pipelineName':_0x1a180c['pipelineName']??null,'ownerEngine':_0x1a180c[_0x1043bd(0x9b)]??null,'functionName':this['fn']?.['name']??this[_0x1043bd(0xc1)]??null})||_0x4cce06[_0x1043bd(0xce)][_0x1043bd(0xa0)]?.[_0x1043bd(0xa1)]?.['info']?.(_0x1043bd(0x8e)));}}),async 'init'(_0x577879){const _0x4eeca4=_0x44eb6f;await this[_0x4eeca4(0xc6)](),_0x577879[_0x4eeca4(0xaa)](()=>[_0x577879[_0x4eeca4(0xce)][_0x4eeca4(0xc4)][_0x4eeca4(0xaf)][_0x4eeca4(0xab)],_0x577879[_0x4eeca4(0xce)][_0x4eeca4(0xc4)][_0x4eeca4(0xaf)][_0x4eeca4(0xc1)],_0x577879[_0x4eeca4(0xce)][_0x4eeca4(0xc4)]['functions'][_0x4eeca4(0xb9)]?.[_0x4eeca4(0xa7)]?.['pipeline'],_0x577879[_0x4eeca4(0xce)][_0x4eeca4(0xc4)][_0x4eeca4(0xaf)][_0x4eeca4(0xb9)]?.[_0x4eeca4(0xa7)]?.[_0x4eeca4(0xbf)]][_0x4eeca4(0x98)]('||'),()=>this[_0x4eeca4(0xc6)]());},'template':_0x44eb6f(0xd0)};
|
|
1
|
+
function _0x243d(_0x414f56,_0x37e6f9){_0x414f56=_0x414f56-0x82;const _0x2e2752=_0x2e27();let _0x243d6c=_0x2e2752[_0x414f56];return _0x243d6c;}const _0x45b6a0=_0x243d;function _0x2e27(){const _0x52a50b=['\x0a\x0a⚠\x20This\x20function\x20is\x20used\x20by\x20','$vars','join','linkedPipelineRef','1555936ypufiA','functions','filter','\x0a\x0aDeleting\x20it\x20will\x20break\x20','2648376vsMCLi','pipeline','queue','targetSection','name','latestRun','18340806ukOPtj','5BfEhhT','Open\x20queue\x20workers\x20for\x20','7izdmaa','Function\x20deleted','handler','store','message','config','owner_engine','stores','\x20engine(s):\x0a\x20\x20•\x20','$attr','6cRuIhW','logsForRun','json','selected','Open\x20linked\x20pipeline','activeRun','Open\x20linked\x20queue\x20worker','stringify','metadata','\x0a\x20\x20<if\x20:=\x22!fn\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22padding:18px;\x20border:1px\x20dashed\x20var(--okdb-app-border);\x20border-radius:10px;\x20color:var(--okdb-app-fg-muted);\x20line-height:1.6;\x22>\x0a\x20\x20\x20\x20\x20\x20Select\x20a\x20function\x20from\x20the\x20sidebar\x20to\x20inspect\x20or\x20edit\x20it.\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<if\x20:=\x22fn\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:12px;\x20min-height:0;\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:14px;\x20border:1px\x20solid\x20var(--okdb-app-border);\x20border-radius:10px;\x20background:var(--okdb-app-bg-deep);\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:11px;\x20text-transform:uppercase;\x20letter-spacing:.08em;\x20color:var(--okdb-app-fg-muted);\x20margin-bottom:10px;\x22>Function\x20overview</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20align-items:center;\x20justify-content:space-between;\x20gap:12px;\x22>\x0a\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\x20style=\x22font-size:18px;\x20font-weight:700;\x20color:var(--okdb-app-fg);\x22>{{\x20fn.name\x20}}</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22margin-top:4px;\x20font-size:12px;\x20color:var(--okdb-app-fg-muted);\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{{\x20fn.scope\x20===\x20\x27global\x27\x20?\x20\x27Global\x20function\x27\x20:\x20\x27Environment\x20function\x27\x20}}\x20·\x20version\x20{{\x20fn.version\x20}}\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</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20:style=\x22fn.enabled\x20===\x20false\x20?\x20\x27font-size:11px;\x20color:var(--okdb-danger);\x27\x20:\x20\x27font-size:11px;\x20color:var(--okdb-success);\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{{\x20fn.enabled\x20===\x20false\x20?\x20\x27Disabled\x27\x20:\x20\x27Enabled\x27\x20}}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20justify-content:flex-end;\x20gap:8px;\x20margin-top:12px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20style=\x22padding:6px\x2010px;\x20font-size:12px;\x22\x20@click=\x22triggerEdit()\x22>Edit</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20style=\x22padding:6px\x2010px;\x20font-size:12px;\x20border-color:#5c2a34;\x20color:#fda4af;\x22\x20@click=\x22removeSelected()\x22>Delete</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22fn.metadata?.description\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22margin-top:10px;\x20color:#9bb2c3;\x20font-size:13px;\x20line-height:1.5;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{{\x20fn.metadata.description\x20}}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:grid;\x20grid-template-columns:repeat(2,\x20minmax(0,1fr));\x20gap:12px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:12px;\x20border:1px\x20solid\x20var(--okdb-app-border);\x20border-radius:10px;\x20background:var(--okdb-app-bg-deep);\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:11px;\x20text-transform:uppercase;\x20color:var(--okdb-app-fg-muted);\x20margin-bottom:8px;\x22>Runtime</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:6px;\x20font-size:12px;\x20color:var(--okdb-app-fg-muted);\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div>timeoutMs:\x20<strong>{{\x20fn.runtime?.timeoutMs\x20??\x20\x27—\x27\x20}}</strong></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div>memoryMb:\x20<strong>{{\x20fn.runtime?.memoryMb\x20??\x20\x27—\x27\x20}}</strong></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div>allowFetch:\x20<strong>{{\x20fn.runtime?.allowFetch\x20===\x20false\x20?\x20\x27false\x27\x20:\x20\x27true\x27\x20}}</strong></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:12px;\x20border:1px\x20solid\x20var(--okdb-app-border);\x20border-radius:10px;\x20background:var(--okdb-app-bg-deep);\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:11px;\x20text-transform:uppercase;\x20color:var(--okdb-app-fg-muted);\x20margin-bottom:8px;\x22>Metadata</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:6px;\x20font-size:12px;\x20color:var(--okdb-app-fg-muted);\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div>createdAt:\x20<strong>{{\x20fn.metadata?.createdAt\x20??\x20\x27—\x27\x20}}</strong></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div>updatedAt:\x20<strong>{{\x20fn.metadata?.updatedAt\x20??\x20\x27—\x27\x20}}</strong></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div>hash:\x20<strong\x20style=\x22font-family:monospace;\x20font-size:11px;\x22>{{\x20fn.hash\x20??\x20\x27—\x27\x20}}</strong></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22hasLinkedQueue\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22openLinkedPipeline()\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:title=\x22linkedQueueTitle\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20style=\x22margin-top:4px;\x20padding:4px\x208px;\x20border:1px\x20solid\x20color-mix(in\x20srgb,\x20var(--okdb-accent)\x2020%,\x20transparent);\x20border-radius:6px;\x20background:color-mix(in\x20srgb,\x20var(--okdb-accent)\x205%,\x20transparent);\x20color:var(--okdb-accent);\x20font-size:11px;\x20text-align:left;\x20cursor:pointer;\x20display:inline-flex;\x20align-items:center;\x20gap:4px;\x20width:fit-content;\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>⇶\x20Queue:</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<strong>{{\x20linkedQueueRef.jobType\x20}}</strong>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22linkedQueueRef?.ownerEngine\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>·\x20Worker:</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<strong>{{\x20linkedQueueRef.ownerEngine\x20}}</strong>\x0a\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>↗</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22hasLinkedPipeline\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22openLinkedPipeline()\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:title=\x22linkedPipelineTitle\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20style=\x22margin-top:4px;\x20padding:4px\x208px;\x20border:1px\x20solid\x20color-mix(in\x20srgb,\x20var(--okdb-accent)\x2020%,\x20transparent);\x20border-radius:6px;\x20background:color-mix(in\x20srgb,\x20var(--okdb-accent)\x205%,\x20transparent);\x20color:var(--okdb-accent);\x20font-size:11px;\x20text-align:left;\x20cursor:pointer;\x20display:inline-flex;\x20align-items:center;\x20gap:4px;\x20width:fit-content;\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>⚡\x20Pipeline:</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<strong>{{\x20linkedPipelineRef.pipelineName\x20}}</strong>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22linkedPipelineRef?.ownerEngine\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>·\x20Engine:</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<strong>{{\x20linkedPipelineRef.ownerEngine\x20}}</strong>\x0a\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>↗</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22!hasLinkedQueue\x20&&\x20!hasLinkedPipeline\x20&&\x20hasLinkedEngine\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22openLinkedPipeline()\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:title=\x22linkedEngineTitle\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20style=\x22margin-top:4px;\x20padding:4px\x208px;\x20border:1px\x20solid\x20color-mix(in\x20srgb,\x20var(--okdb-accent)\x2020%,\x20transparent);\x20border-radius:6px;\x20background:color-mix(in\x20srgb,\x20var(--okdb-accent)\x205%,\x20transparent);\x20color:var(--okdb-accent);\x20font-size:11px;\x20text-align:left;\x20cursor:pointer;\x20display:inline-flex;\x20align-items:center;\x20gap:4px;\x20width:fit-content;\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>⚙\x20Engine:</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<strong>{{\x20linkedEngineRef.ownerEngine\x20}}</strong>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>↗</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:grid;\x20grid-template-columns:minmax(0,1.2fr)\x20minmax(280px,.8fr);\x20gap:12px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:12px;\x20border:1px\x20solid\x20var(--okdb-app-border);\x20border-radius:10px;\x20background:var(--okdb-app-bg-deep);\x20min-height:0;\x20overflow:auto;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:11px;\x20text-transform:uppercase;\x20color:var(--okdb-app-fg-muted);\x20margin-bottom:8px;\x22>Implementation</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<pre\x20style=\x22margin:0;\x20white-space:pre-wrap;\x20word-break:break-word;\x20color:var(--okdb-app-fg-muted);\x20font-size:12px;\x20line-height:1.55;\x22>{{\x20fn.script?.source\x20||\x20\x27—\x27\x20}}</pre>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:12px;\x20border:1px\x20solid\x20var(--okdb-app-border);\x20border-radius:10px;\x20background:var(--okdb-app-bg-deep);\x20min-height:0;\x20overflow:auto;\x20display:flex;\x20flex-direction:column;\x20gap:10px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:11px;\x20text-transform:uppercase;\x20color:var(--okdb-app-fg-muted);\x22>Runs</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:12px;\x20color:var(--okdb-app-fg-muted);\x22>Total\x20persisted\x20runs:\x20<strong>{{\x20runs.length\x20}}</strong></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22!activeRun\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:12px;\x20color:var(--okdb-app-fg-muted);\x20line-height:1.5;\x22>No\x20runs\x20recorded\x20for\x20this\x20function\x20yet.</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22activeRun\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:12px;\x20color:var(--okdb-app-fg-muted);\x20line-height:1.55;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Selected\x20run\x20id:\x20<strong\x20style=\x22font-family:monospace;\x20font-size:11px;\x22>{{\x20activeRun.id\x20||\x20activeRun.runId\x20||\x20\x27—\x27\x20}}</strong>\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\x20\x20<div\x20style=\x22font-size:12px;\x20color:var(--okdb-app-fg-muted);\x20line-height:1.55;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Status:\x20<strong>{{\x20activeRun.status\x20||\x20(activeRun.error\x20?\x20\x27error\x27\x20:\x20\x27ok\x27)\x20}}</strong>\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\x20\x20<pre\x20style=\x22margin:0;\x20white-space:pre-wrap;\x20word-break:break-word;\x20color:var(--okdb-app-fg-muted);\x20font-size:11px;\x20line-height:1.5;\x20max-height:180px;\x20overflow:auto;\x22>{{\x20formatJson(activeRun.result\x20??\x20activeRun.error\x20??\x20activeRun)\x20}}</pre>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22activeRunLogs.length\x20>\x200\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:11px;\x20text-transform:uppercase;\x20color:var(--okdb-app-fg-muted);\x22>Selected\x20run\x20log</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:6px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<each\x20:of=\x22activeRunLogs\x22\x20let:item=\x22entry\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:6px\x208px;\x20border:1px\x20solid\x20var(--okdb-app-border);\x20border-radius:8px;\x20background:var(--okdb-app-bg-deep);\x20color:var(--okdb-app-fg-muted);\x20font-size:11px;\x20line-height:1.45;\x22>{{\x20entry.msg\x20}}</div>\x0a\x20\x20\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</div>\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</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</if>\x0a\x20\x20','refreshLinkedPipeline','jobType','\x0a\x20\x20•\x20','selectedName','toast','\x20for\x20type\x20','\x20(worker\x20','linkedQueueRef','150Psuorq','runId','linkedEngineRef','envName','map','ownerEngine','function-detail','/functions','runs','\x20(engine\x20','323722Kcscam','length','Open\x20engine\x20','sourceType','key','$router','that\x20pipeline','554004iXNYcA','info','result','474462oyLZJS','remove','1892296zgEKWA','$watch','onEdit','/engines','Delete\x20function\x20\x22','pipelineName','Open\x20pipeline\x20','linkedPipelineLookup','push','$ok'];_0x2e27=function(){return _0x52a50b;};return _0x2e27();}(function(_0x1e7794,_0x54b78c){const _0x2eddda=_0x243d,_0x2f3956=_0x1e7794();while(!![]){try{const _0x30283a=parseInt(_0x2eddda(0xa2))/0x1+-parseInt(_0x2eddda(0x9b))/0x2*(parseInt(_0x2eddda(0xcc))/0x3)+parseInt(_0x2eddda(0xa7))/0x4+parseInt(_0x2eddda(0xc0))/0x5*(parseInt(_0x2eddda(0xb9))/0x6)+-parseInt(_0x2eddda(0xc2))/0x7*(-parseInt(_0x2eddda(0xb5))/0x8)+-parseInt(_0x2eddda(0xa5))/0x9*(-parseInt(_0x2eddda(0x91))/0xa)+-parseInt(_0x2eddda(0xbf))/0xb;if(_0x30283a===_0x54b78c)break;else _0x2f3956['push'](_0x2f3956['shift']());}catch(_0x26f9a3){_0x2f3956['push'](_0x2f3956['shift']());}}}(_0x2e27,0x70f4c));import{openLinkedPipelineRoute as _0x36ed9a,resolveLinkedPipeline as _0x50ff0f}from'../../engines/engine-ui-utils.js';export default{'tag':_0x45b6a0(0x97),'attr':{'onEdit':{}},'context':_0x34a60a=>({'linkedPipelineLookup':null,'_linkedPipelineRequestId':0x0,get 'store'(){const _0x3b91c2=_0x45b6a0;return _0x34a60a['$ok'][_0x3b91c2(0xc9)][_0x3b91c2(0xb6)];},get 'fn'(){const _0x512a21=_0x45b6a0;return this[_0x512a21(0xc5)][_0x512a21(0x82)];},get 'runs'(){const _0x1d8781=_0x45b6a0;return this[_0x1d8781(0xc5)][_0x1d8781(0x99)]||[];},get 'latestRun'(){const _0x56aae7=_0x45b6a0;return this[_0x56aae7(0xc5)][_0x56aae7(0xbe)];},get 'activeRun'(){const _0x45bcb2=_0x45b6a0;return this[_0x45bcb2(0xc5)][_0x45bcb2(0x84)];},get 'activeRunLogs'(){const _0x19f19e=_0x45b6a0;return this['store'][_0x19f19e(0xcd)](this[_0x19f19e(0x84)]?.['id']||this[_0x19f19e(0x84)]?.[_0x19f19e(0x92)])['slice'](-0x5);},get 'selectedName'(){const _0x59f0d0=_0x45b6a0;return this['store'][_0x59f0d0(0x8c)];},get 'linkedPipelineRef'(){const _0x4a1697=_0x45b6a0;if(_0x4a1697(0xbb)===this['linkedPipelineLookup']?.[_0x4a1697(0xbc)])return null;const _0x3d156b=this['fn']?.['metadata']??{},_0x3f4031=_0x3d156b[_0x4a1697(0xba)]??this[_0x4a1697(0xae)]?.[_0x4a1697(0xac)]??null;return _0x3f4031?{'envName':this[_0x4a1697(0xae)]?.[_0x4a1697(0x94)]??this[_0x4a1697(0xc5)][_0x4a1697(0x94)]??null,'pipelineName':_0x3f4031,'ownerEngine':_0x3d156b['owner_engine']??this['linkedPipelineLookup']?.[_0x4a1697(0x96)]??null,'targetSection':this['linkedPipelineLookup']?.['targetSection']??'db'}:null;},get 'hasLinkedPipeline'(){const _0x304c59=_0x45b6a0;return!!this[_0x304c59(0xb4)]?.[_0x304c59(0xac)];},get 'linkedEngineRef'(){const _0x28a5f8=_0x45b6a0;if('queue'===this[_0x28a5f8(0xae)]?.['targetSection'])return null;const _0x3d3269=this[_0x28a5f8(0xb4)];if(_0x3d3269?.['pipelineName'])return _0x3d3269;const _0x5e6643=this['fn']?.['metadata']?.['owner_engine']??this[_0x28a5f8(0xae)]?.['ownerEngine']??null;return _0x5e6643?{'envName':this[_0x28a5f8(0xae)]?.[_0x28a5f8(0x94)]??this[_0x28a5f8(0xc5)]['envName']??null,'pipelineName':null,'ownerEngine':_0x5e6643,'sourceType':this[_0x28a5f8(0xae)]?.[_0x28a5f8(0x9e)]??null,'targetSection':this[_0x28a5f8(0xae)]?.['targetSection']??'db'}:null;},get 'linkedQueueRef'(){const _0x59f8a2=_0x45b6a0,_0x1c859f=this['linkedPipelineLookup'];return'queue'===_0x1c859f?.[_0x59f8a2(0xbc)]&&_0x1c859f?.[_0x59f8a2(0x8a)]?{'envName':_0x1c859f[_0x59f8a2(0x94)]??this[_0x59f8a2(0xc5)]['envName']??null,'pipelineName':_0x1c859f[_0x59f8a2(0xac)]??this['fn']?.[_0x59f8a2(0x87)]?.[_0x59f8a2(0xba)]??null,'ownerEngine':_0x1c859f['ownerEngine']??this['fn']?.[_0x59f8a2(0x87)]?.[_0x59f8a2(0xc8)]??null,'jobType':_0x1c859f['jobType'],'targetSection':_0x59f8a2(0xbb)}:null;},get 'hasLinkedQueue'(){const _0xa90e1=_0x45b6a0;return!!this[_0xa90e1(0x90)]?.[_0xa90e1(0x8a)];},get 'hasLinkedEngine'(){const _0xcef04=_0x45b6a0;return!!this[_0xcef04(0x93)]?.['ownerEngine'];},'formatJson'(_0x4a2908){const _0x2fff5c=_0x45b6a0;try{return JSON[_0x2fff5c(0x86)](_0x4a2908,null,0x2);}catch{return String(_0x4a2908??'');}},async 'removeSelected'(){const _0x20068d=_0x45b6a0;if(!this[_0x20068d(0xc5)]['selectedName'])return;const _0x4466da=this['store'][_0x20068d(0x8c)],_0x27eb9c=this[_0x20068d(0xc5)][_0x20068d(0x94)],_0x4296c4=this['fn']?.[_0x20068d(0x87)],_0x33b5e7=_0x4296c4?.['owner_engine']||_0x4296c4?.[_0x20068d(0xba)];let _0x2baf22=[];if(_0x27eb9c)try{const _0x2f5242=await fetch(__ENV__['API']+'/env/'+encodeURIComponent(_0x27eb9c)+_0x20068d(0xaa));if(_0x2f5242['ok']){const _0x248638=await _0x2f5242[_0x20068d(0xce)]();_0x2baf22=(_0x248638?.[_0x20068d(0xa4)]??_0x248638??[])[_0x20068d(0xb7)](_0x4046ca=>_0x4046ca[_0x20068d(0xc7)]?.[_0x20068d(0xc4)]?.[_0x20068d(0xbd)]===_0x4466da)[_0x20068d(0x95)](_0x17a8f7=>_0x17a8f7[_0x20068d(0xbd)]||_0x17a8f7[_0x20068d(0x9f)]);}}catch{}let _0x3ceaab=_0x20068d(0xab)+_0x4466da+'\x22?';if(_0x33b5e7||_0x2baf22['length']>0x0){const _0x3c0657=[...new Set([..._0x33b5e7?[_0x33b5e7]:[],..._0x2baf22])];_0x3ceaab+=_0x20068d(0xb1)+_0x3c0657[_0x20068d(0x9c)]+_0x20068d(0xca)+_0x3c0657[_0x20068d(0xb3)](_0x20068d(0x8b))+_0x20068d(0xb8)+(0x1===_0x3c0657[_0x20068d(0x9c)]?_0x20068d(0xa1):'those\x20pipelines')+'.';}const _0x1d1562=globalThis['confirm']?.(_0x3ceaab);if(_0x1d1562)try{await this[_0x20068d(0xc5)][_0x20068d(0xa6)](_0x4466da),_0x34a60a[_0x20068d(0xb2)][_0x20068d(0xa0)]?.[_0x20068d(0xaf)]?.(_0x20068d(0x98)),_0x34a60a[_0x20068d(0xb0)]['shared']?.['toast']?.['success']?.(_0x20068d(0xc3));}catch(_0x456478){_0x34a60a['$ok']['shared']?.[_0x20068d(0x8d)]?.['error']?.(_0x456478?.[_0x20068d(0xc6)]||'Failed\x20to\x20delete\x20function');}},'triggerEdit'(){const _0x56972b=_0x45b6a0;_0x34a60a[_0x56972b(0xcb)][_0x56972b(0xa9)]?.();},get 'linkedPipelineTitle'(){const _0x3da526=_0x45b6a0,_0x4758fc=this['linkedPipelineRef'];return _0x4758fc?.['pipelineName']?_0x4758fc[_0x3da526(0x96)]?'Open\x20pipeline\x20'+_0x4758fc[_0x3da526(0xac)]+_0x3da526(0x9a)+_0x4758fc[_0x3da526(0x96)]+')':_0x3da526(0xad)+_0x4758fc['pipelineName']:_0x3da526(0x83);},get 'linkedEngineTitle'(){const _0x11cca2=_0x45b6a0,_0x142a6e=this['linkedEngineRef'];return _0x142a6e?.[_0x11cca2(0x96)]?_0x142a6e['sourceType']?_0x11cca2(0x9d)+_0x142a6e[_0x11cca2(0x96)]+_0x11cca2(0x8e)+_0x142a6e[_0x11cca2(0x9e)]:_0x11cca2(0x9d)+_0x142a6e[_0x11cca2(0x96)]:'Open\x20linked\x20engine';},get 'linkedQueueTitle'(){const _0x437abe=_0x45b6a0,_0x1ad700=this[_0x437abe(0x90)];return _0x1ad700?.[_0x437abe(0x8a)]?_0x1ad700[_0x437abe(0x96)]?_0x437abe(0xc1)+_0x1ad700[_0x437abe(0x8a)]+_0x437abe(0x8f)+_0x1ad700['ownerEngine']+')':_0x437abe(0xc1)+_0x1ad700['jobType']:_0x437abe(0x85);},async 'refreshLinkedPipeline'(){const _0x35f7cd=_0x45b6a0,_0x944313=this['fn']?.[_0x35f7cd(0xbd)]??this[_0x35f7cd(0x8c)]??null,_0x3c953e=this['fn']?.[_0x35f7cd(0x87)]??{};if(!this[_0x35f7cd(0xc5)]['envName']||!_0x944313)return void(this[_0x35f7cd(0xae)]=null);const _0x3f3717=++this['_linkedPipelineRequestId'],_0x55c3bf=await _0x50ff0f(_0x34a60a,{'envName':this[_0x35f7cd(0xc5)][_0x35f7cd(0x94)],'pipelineName':_0x3c953e[_0x35f7cd(0xba)]??null,'ownerEngine':_0x3c953e['owner_engine']??null,'functionName':_0x944313});_0x3f3717===this['_linkedPipelineRequestId']&&(this['linkedPipelineLookup']=_0x55c3bf);},async 'openLinkedPipeline'(){const _0x3bdce9=_0x45b6a0,_0x26520f=this[_0x3bdce9(0x90)]??this['linkedPipelineRef']??this[_0x3bdce9(0x93)];(_0x26520f?.['ownerEngine']||_0x26520f?.[_0x3bdce9(0xac)]||_0x26520f?.['jobType'])&&(await _0x36ed9a(_0x34a60a,{'envName':_0x26520f[_0x3bdce9(0x94)]??this[_0x3bdce9(0xc5)][_0x3bdce9(0x94)],'pipelineName':_0x26520f[_0x3bdce9(0xac)]??null,'ownerEngine':_0x26520f[_0x3bdce9(0x96)]??null,'functionName':this['fn']?.[_0x3bdce9(0xbd)]??this[_0x3bdce9(0x8c)]??null})||_0x34a60a[_0x3bdce9(0xb0)]['shared']?.[_0x3bdce9(0x8d)]?.[_0x3bdce9(0xa3)]?.('Could\x20not\x20resolve\x20the\x20linked\x20pipeline\x20yet'));}}),async 'init'(_0x4f397c){const _0x40f343=_0x45b6a0;await this[_0x40f343(0x89)](),_0x4f397c[_0x40f343(0xa8)](()=>[_0x4f397c[_0x40f343(0xb0)][_0x40f343(0xc9)][_0x40f343(0xb6)][_0x40f343(0x94)],_0x4f397c[_0x40f343(0xb0)][_0x40f343(0xc9)][_0x40f343(0xb6)]['selectedName'],_0x4f397c[_0x40f343(0xb0)][_0x40f343(0xc9)][_0x40f343(0xb6)]['selected']?.[_0x40f343(0x87)]?.[_0x40f343(0xba)],_0x4f397c[_0x40f343(0xb0)]['stores'][_0x40f343(0xb6)]['selected']?.[_0x40f343(0x87)]?.[_0x40f343(0xc8)]][_0x40f343(0xb3)]('||'),()=>this[_0x40f343(0x89)]());},'template':_0x45b6a0(0x88)};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x2362d8=_0xdcef;function _0xdcef(_0x5f29be,_0x392321){_0x5f29be=_0x5f29be-0x1c3;const _0x3221e2=_0x3221();let _0xdcef8e=_0x3221e2[_0x5f29be];return _0xdcef8e;}(function(_0x341075,_0x422f94){const _0x42b6e0=_0xdcef,_0x543211=_0x341075();while(!![]){try{const _0x54f05f=parseInt(_0x42b6e0(0x1e1))/0x1*(-parseInt(_0x42b6e0(0x1d4))/0x2)+-parseInt(_0x42b6e0(0x1d0))/0x3+parseInt(_0x42b6e0(0x1db))/0x4*(-parseInt(_0x42b6e0(0x1c5))/0x5)+-parseInt(_0x42b6e0(0x1cf))/0x6*(-parseInt(_0x42b6e0(0x1dc))/0x7)+-parseInt(_0x42b6e0(0x1e4))/0x8*(parseInt(_0x42b6e0(0x1cc))/0x9)+-parseInt(_0x42b6e0(0x1dd))/0xa+parseInt(_0x42b6e0(0x1d5))/0xb;if(_0x54f05f===_0x422f94)break;else _0x543211['push'](_0x543211['shift']());}catch(_0x4502b4){_0x543211['push'](_0x543211['shift']());}}}(_0x3221,0x4611a));import _0x111294 from'../../../stores/events-store.js';export default{'tag':_0x2362d8(0x1d8),'attr':{'runId':{},'entries':{},'title':{'default':'Live\x20log'},'empty':{'default':_0x2362d8(0x1e3)}},'context':_0x517f4c=>({get 'titleText'(){const _0x53f178=_0x2362d8,_0x5eed5e=_0x517f4c[_0x53f178(0x1df)][_0x53f178(0x1c6)];return _0x53f178(0x1e0)==typeof _0x5eed5e&&_0x5eed5e[_0x53f178(0x1d6)]()&&_0x53f178(0x1d1)!==_0x5eed5e[_0x53f178(0x1d6)]()[_0x53f178(0x1cb)]()?_0x5eed5e:_0x53f178(0x1c3);},get 'emptyText'(){const _0x1e3c2f=_0x2362d8,_0x2556b6=_0x517f4c['$attr'][_0x1e3c2f(0x1c8)];return _0x1e3c2f(0x1e0)==typeof _0x2556b6&&_0x2556b6[_0x1e3c2f(0x1d6)]()&&_0x1e3c2f(0x1d1)!==_0x2556b6['trim']()['toLowerCase']()?_0x2556b6:_0x1e3c2f(0x1e3);},get 'entries'(){const _0xa8557f=_0x2362d8;if(Array['isArray'](_0x517f4c['$attr'][_0xa8557f(0x1c9)]))return _0x517f4c[_0xa8557f(0x1df)][_0xa8557f(0x1c9)];const _0x1a6c94=_0x517f4c[_0xa8557f(0x1df)][_0xa8557f(0x1d9)];return _0x1a6c94?(_0x111294['logs']||[])[_0xa8557f(0x1d2)](_0x414d4e=>(_0x414d4e?.['runId']||_0x414d4e?.['meta']?.[_0xa8557f(0x1d9)])===_0x1a6c94):[];},'fmtTime'(_0x316e0f){const _0xcb1bac=_0x2362d8;if(!_0x316e0f)return'';const _0x170048=new Date(_0x316e0f);return _0x170048[_0xcb1bac(0x1da)]()[_0xcb1bac(0x1de)](0x0,0x8)+'.'+String(_0x170048[_0xcb1bac(0x1c4)]())[_0xcb1bac(0x1ce)](0x3,'0');},'fmtMeta'(_0x2eeca1){const _0x5aaab8=_0x2362d8;if(null==_0x2eeca1)return'';if(_0x5aaab8(0x1e2)==typeof _0x2eeca1&&!Array[_0x5aaab8(0x1e5)](_0x2eeca1)){const _0x149064=Object[_0x5aaab8(0x1c7)](Object['entries'](_0x2eeca1)['filter'](([_0x49c4c9,_0x663adb])=>void 0x0!==_0x663adb&&_0x5aaab8(0x1d1)!==_0x663adb&&null!=_0x663adb&&('title'!==_0x49c4c9&&'content'!==_0x49c4c9||'undefined'!==String(_0x663adb)[_0x5aaab8(0x1cb)]())));if(0x0===Object[_0x5aaab8(0x1e6)](_0x149064)['length'])return'';try{return JSON[_0x5aaab8(0x1d7)](_0x149064,null,0x2);}catch{}}try{return _0x5aaab8(0x1e0)==typeof _0x2eeca1?_0x2eeca1:JSON[_0x5aaab8(0x1d7)](_0x2eeca1);}catch{return String(_0x2eeca1);}},'fmtMsg'(_0x18aee7){const _0x46ca7d=_0x2362d8,_0x33d1ff=_0x18aee7?.[_0x46ca7d(0x1d3)]??_0x18aee7?.[_0x46ca7d(0x1cd)]??_0x18aee7?.['content']??_0x18aee7?.['title']??'';if(null==_0x33d1ff)return'';if('string'==typeof _0x33d1ff){const _0x297520=_0x33d1ff[_0x46ca7d(0x1d6)]();return _0x297520&&'undefined'!==_0x297520[_0x46ca7d(0x1cb)]()?_0x297520:'';}try{return JSON[_0x46ca7d(0x1d7)](_0x33d1ff,null,0x2);}catch{return String(_0x33d1ff);}}}),'template':_0x2362d8(0x1ca)};function _0x3221(){const _0x386af4=['stringify','function-logs','runId','toTimeString','4HqjDLh','3944276greNPa','5068800ChgExg','slice','$attr','string','57395LwyCIV','object','No\x20logs\x20for\x20this\x20execution\x20yet.','16952abEMGe','isArray','keys','Live\x20log','getMilliseconds','1192115gWkKVV','title','fromEntries','empty','entries','\x0a\x20\x20<div\x20style=\x22display:flex;\x20flex-direction:column;\x20min-height:0;\x20height:100%;\x20border:1px\x20solid\x20var(--okdb-app-border);\x20border-radius:10px;\x20background:var(--okdb-app-bg-deep);\x20overflow:hidden;\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22padding:10px\x2012px;\x20border-bottom:1px\x20solid\x20var(--okdb-app-border);\x20font-size:11px;\x20text-transform:uppercase;\x20color:var(--okdb-app-fg-muted);\x20letter-spacing:.08em;\x22>{{\x20titleText\x20}}</div>\x0a\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:8px;\x20padding:12px;\x20min-height:0;\x20overflow:auto;\x22>\x0a\x20\x20\x20\x20\x20\x20<if\x20:=\x22entries.length\x20===\x200\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:12px;\x20color:var(--okdb-app-fg-muted);\x20line-height:1.5;\x22>{{\x20emptyText\x20}}</div>\x0a\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20<each\x20:of=\x22entries\x22\x20let:item=\x22entry\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:8px\x2010px;\x20border:1px\x20solid\x20var(--okdb-app-border);\x20border-radius:8px;\x20background:var(--okdb-app-bg-deep);\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20align-items:center;\x20gap:8px;\x20font-size:11px;\x20color:var(--okdb-app-fg-muted);\x20margin-bottom:6px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>{{\x20fmtTime(entry.ts\x20||\x20entry._ts)\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20:style=\x22entry.level\x20===\x20\x27error\x27\x20?\x20\x27color:var(--okdb-danger);\x27\x20:\x20entry.level\x20===\x20\x27warn\x27\x20?\x20\x27color:#f5b481;\x27\x20:\x20\x27color:var(--okdb-success);\x27\x22>{{\x20entry.level\x20||\x20\x27info\x27\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22fmtMsg(entry)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:12px;\x20color:#d4e8f4;\x20line-height:1.5;\x22>{{\x20fmtMsg(entry)\x20}}</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22entry.context\x20!=\x20null\x20&&\x20fmtMeta(entry.context)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<pre\x20style=\x22margin:8px\x200\x200;\x20white-space:pre-wrap;\x20word-break:break-word;\x20font-size:11px;\x20color:var(--okdb-app-fg-muted);\x20font-family:monospace;\x22>{{\x20fmtMeta(entry.context)\x20}}</pre>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\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</div>\x0a\x20\x20','toLowerCase','1755ztxYdd','message','padStart','6UgVWsF','1526541hmliOu','undefined','filter','msg','2fTybEX','15931124UCqHnq','trim'];_0x3221=function(){return _0x386af4;};return _0x3221();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function _0x447a(){const _0x18bb3f=['runId','Failed\x20to\x20load\x20run','error','9ReaVmH','join','781718KRnHbB','dryRunMode','setPayloadDraft','55870SLrCeX','execution','dryRunActions','stringify','finishedAt','672655FRjYmW','toast','toLocaleTimeString','\x0a\x20\x20<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:12px;\x20min-height:0;\x20height:100%;\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20align-items:center;\x20justify-content:space-between;\x20gap:8px;\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:4px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:11px;\x20text-transform:uppercase;\x20color:var(--okdb-app-fg-muted);\x22>Run\x20selected\x20function</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:12px;\x20color:var(--okdb-app-fg-muted);\x22>Only\x20affects\x20the\x20currently\x20selected\x20function.</div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20gap:8px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22refresh()\x22\x20:disabled=\x22!store.selectedName\x20||\x20running\x22\x20style=\x22padding:6px\x2010px;\x20font-size:12px;\x22>Refresh</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22toggleDryRun()\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:disabled=\x22running\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:style=\x22dryRunMode\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20?\x20\x27padding:6px\x2010px;\x20font-size:12px;\x20border-color:var(--okdb-accent);\x20color:var(--okdb-accent);\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:\x20\x27padding:6px\x2010px;\x20font-size:12px;\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Dry\x20Run{{\x20dryRunMode\x20?\x20\x27\x20✓\x27\x20:\x20\x27\x27\x20}}\x0a\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22runNow()\x22\x20:disabled=\x22!store.selectedName\x20||\x20running\x22\x20style=\x22padding:6px\x2010px;\x20font-size:12px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{{\x20running\x20?\x20\x27Running…\x27\x20:\x20(dryRunMode\x20?\x20\x27Run\x20(dry)\x27\x20:\x20\x27Run\x27)\x20}}\x0a\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20<div\x20style=\x22height:220px;\x20min-height:220px;\x20border:1px\x20solid\x20var(--okdb-app-border);\x20border-radius:10px;\x20overflow:hidden;\x20background:var(--okdb-app-bg-deep);\x22>\x0a\x20\x20\x20\x20\x20\x20<ok-text-monaco-input\x0a\x20\x20\x20\x20\x20\x20\x20\x20style=\x22height:100%;\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20language=\x22json\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20:value=\x22payloadDraft\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20@edit:debounce.150=\x22setPayload($event.detail)\x22\x0a\x20\x20\x20\x20\x20\x20></ok-text-monaco-input>\x0a\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20<if\x20:=\x22payloadError\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:12px;\x20color:var(--okdb-danger);\x20line-height:1.5;\x22>{{\x20payloadError\x20}}</div>\x0a\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20<div\x20style=\x22padding:12px;\x20border:1px\x20solid\x20var(--okdb-app-border);\x20border-radius:10px;\x20background:var(--okdb-app-bg-deep);\x20min-height:0;\x20overflow:auto;\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:11px;\x20text-transform:uppercase;\x20color:var(--okdb-app-fg-muted);\x20margin-bottom:8px;\x22>Recent\x20runs\x20for\x20this\x20function</div>\x0a\x20\x20\x20\x20\x20\x20<if\x20:=\x22runs.length\x20===\x200\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:12px;\x20color:var(--okdb-app-fg-muted);\x22>No\x20runs\x20yet.</div>\x0a\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:6px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<each\x20:of=\x22runs.slice(0,\x208)\x22\x20let:item=\x22run\x22\x20let:index=\x22idx\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22pickRun(run)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:style=\x22isSelected(run)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20?\x20\x27text-align:left;\x20padding:8px\x2010px;\x20border:1px\x20solid\x20color-mix(in\x20srgb,\x20var(--okdb-accent)\x2053%,\x20transparent);\x20box-shadow:0\x200\x200\x201px\x20color-mix(in\x20srgb,\x20var(--okdb-accent)\x2013%,\x20transparent)\x20inset,\x200\x200\x2018px\x20color-mix(in\x20srgb,\x20var(--okdb-accent)\x209%,\x20transparent);\x20background:var(--okdb-app-bg);\x20color:var(--okdb-app-fg-strong);\x20border-radius:8px;\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:\x20\x27text-align:left;\x20padding:8px\x2010px;\x20border:1px\x20solid\x20var(--okdb-app-border);\x20background:var(--okdb-app-bg-deep);\x20color:var(--okdb-app-fg-muted);\x20border-radius:8px;\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20align-items:center;\x20justify-content:space-between;\x20gap:8px;\x20font-size:12px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<strong\x20style=\x22font-family:monospace;\x20font-size:11px;\x22>{{\x20run.id\x20||\x20run.runId\x20||\x20\x27run\x27\x20}}</strong>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20align-items:center;\x20gap:8px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22idx\x20===\x200\x22><span\x20style=\x22font-size:10px;\x20padding:2px\x206px;\x20border-radius:999px;\x20border:1px\x20solid\x20color-mix(in\x20srgb,\x20var(--okdb-accent)\x2027%,\x20transparent);\x20color:var(--okdb-accent);\x22>Latest</span></if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>{{\x20run.status\x20||\x20(run.error\x20?\x20\x27error\x27\x20:\x20\x27ok\x27)\x20}}</span>\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\x20\x20<div\x20style=\x22display:flex;\x20align-items:center;\x20justify-content:space-between;\x20gap:8px;\x20margin-top:6px;\x20font-size:11px;\x20color:var(--okdb-app-fg-muted);\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>{{\x20runTime(run)\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>{{\x20run.execution?.durationMs\x20!=\x20null\x20?\x20run.execution.durationMs\x20+\x20\x27ms\x27\x20:\x20\x27—\x27\x20}}</span>\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</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</each>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20<div\x20style=\x22padding:12px;\x20border:1px\x20solid\x20var(--okdb-app-border);\x20border-radius:10px;\x20background:var(--okdb-app-bg-deep);\x20min-height:0;\x20overflow:auto;\x22>\x0a\x20\x20\x20\x20\x20\x20<if\x20:=\x22!selectedRun\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:11px;\x20text-transform:uppercase;\x20color:var(--okdb-app-fg-muted);\x20margin-bottom:8px;\x22>Selected\x20run\x20result</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:12px;\x20color:var(--okdb-app-fg-muted);\x22>No\x20run\x20selected\x20yet.</div>\x0a\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20<if\x20:=\x22selectedRun\x20&&\x20dryRunActions\x20!==\x20null\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:11px;\x20text-transform:uppercase;\x20color:var(--okdb-accent);\x20margin-bottom:8px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Dry\x20run\x20—\x20intercepted\x20writes\x20({{\x20dryRunActions.length\x20}})\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22dryRunActions.length\x20===\x200\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:12px;\x20color:var(--okdb-app-fg-muted);\x20margin-bottom:8px;\x22>No\x20writes\x20intercepted.</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:4px;\x20margin-bottom:10px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<each\x20:of=\x22dryRunActions\x22\x20let:item=\x22action\x22\x20let:index=\x22i\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:6px\x208px;\x20border:1px\x20solid\x20color-mix(in\x20srgb,\x20var(--okdb-accent)\x2020%,\x20transparent);\x20border-radius:6px;\x20background:color-mix(in\x20srgb,\x20var(--okdb-accent)\x204%,\x20transparent);\x20font-family:monospace;\x20font-size:11px;\x20color:var(--okdb-app-fg-muted);\x20line-height:1.45;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22color:var(--okdb-accent);\x22>{{\x20action.scope\x20}}.{{\x20action.method\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22action.envName\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22opacity:.6;\x22>\x20[{{\x20action.envName\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\x20\x20<if\x20:=\x22actionArgs(action)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>\x20({{\x20actionArgs(action)\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</each>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22selectedRun.result?.value\x20!==\x20undefined\x20&&\x20selectedRun.result?.value\x20!==\x20null\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:11px;\x20text-transform:uppercase;\x20color:var(--okdb-app-fg-muted);\x20margin-bottom:6px;\x22>Return\x20value</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<pre\x20style=\x22margin:0;\x20white-space:pre-wrap;\x20word-break:break-word;\x20color:var(--okdb-app-fg-muted);\x20font-size:12px;\x20line-height:1.55;\x22>{{\x20formatJson(selectedRun.result.value)\x20}}</pre>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20<if\x20:=\x22selectedRun\x20&&\x20dryRunActions\x20===\x20null\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:11px;\x20text-transform:uppercase;\x20color:var(--okdb-app-fg-muted);\x20margin-bottom:8px;\x22>Selected\x20run\x20result</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<pre\x20style=\x22margin:0;\x20white-space:pre-wrap;\x20word-break:break-word;\x20color:var(--okdb-app-fg-muted);\x20font-size:12px;\x20line-height:1.55;\x22>{{\x20formatJson(selectedRun)\x20}}</pre>\x0a\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</div>\x0a\x20\x20','Failed\x20to\x20refresh\x20function','activeRun','map','2-digit','payloadError','store','679812HzJkPf','success','selectRun','394808avVouA','13876sfUDfT','549600FUCFYf','shared','$ok','payloadDraft','Function\x20execution\x20failed','request','runs','functions','Function\x20executed','69HCagHp','message','Function\x20refreshed','running','value','requestedAt','2UCONek','length'];_0x447a=function(){return _0x18bb3f;};return _0x447a();}const _0x1ea880=_0x3a43;(function(_0x586d1b,_0x3f5c84){const _0x8e62d5=_0x3a43,_0x7f5fc8=_0x586d1b();while(!![]){try{const _0x3f6e8d=parseInt(_0x8e62d5(0x1a4))/0x1*(-parseInt(_0x8e62d5(0x1ae))/0x2)+-parseInt(_0x8e62d5(0x19e))/0x3*(parseInt(_0x8e62d5(0x194))/0x4)+parseInt(_0x8e62d5(0x1b3))/0x5+parseInt(_0x8e62d5(0x190))/0x6+-parseInt(_0x8e62d5(0x1ab))/0x7+-parseInt(_0x8e62d5(0x193))/0x8*(-parseInt(_0x8e62d5(0x1a9))/0x9)+parseInt(_0x8e62d5(0x195))/0xa;if(_0x3f6e8d===_0x3f5c84)break;else _0x7f5fc8['push'](_0x7f5fc8['shift']());}catch(_0x1042d0){_0x7f5fc8['push'](_0x7f5fc8['shift']());}}}(_0x447a,0x1996d));import _0x51f0c2 from'../../../components/ok-text-monaco-input.ok.js';function _0x3a43(_0x458056,_0x2a7e0c){_0x458056=_0x458056-0x18d;const _0x447ada=_0x447a();let _0x3a43c1=_0x447ada[_0x458056];return _0x3a43c1;}export default{'tag':'function-runner','dependencies':[_0x51f0c2],'context':_0x526a14=>({get 'store'(){const _0x386772=_0x3a43;return _0x526a14[_0x386772(0x197)]['stores'][_0x386772(0x19c)];},get 'payloadDraft'(){const _0x2a3b5f=_0x3a43;return this[_0x2a3b5f(0x18f)][_0x2a3b5f(0x198)];},get 'selectedRun'(){const _0x150c54=_0x3a43;return this[_0x150c54(0x18f)][_0x150c54(0x1b8)];},get 'runs'(){const _0x1d851b=_0x3a43;return(this[_0x1d851b(0x18f)][_0x1d851b(0x19b)]||[])[_0x1d851b(0x1b9)](_0x66a17c=>_0x66a17c?.[_0x1d851b(0x1a2)]||_0x66a17c);},get 'running'(){const _0x2cfd9b=_0x3a43;return this[_0x2cfd9b(0x18f)][_0x2cfd9b(0x1a1)];},get 'payloadError'(){const _0x2df566=_0x3a43;return this['store'][_0x2df566(0x18e)];},get 'dryRunMode'(){return this['store']['dryRunMode'];},get 'dryRunActions'(){const _0x1b4107=_0x3a43;return this['selectedRun']?.['result']?.[_0x1b4107(0x1b0)]??null;},'toggleDryRun'(){const _0x910e24=_0x3a43;this['store'][_0x910e24(0x1ac)]=!this[_0x910e24(0x18f)][_0x910e24(0x1ac)];},'runTime'(_0x486bfb){const _0x36a181=_0x3a43,_0x550f0f=_0x486bfb?.[_0x36a181(0x1af)]?.[_0x36a181(0x1b2)]??_0x486bfb?.[_0x36a181(0x19a)]?.[_0x36a181(0x1a3)]??null;return _0x550f0f?new Date(_0x550f0f)[_0x36a181(0x1b5)]([],{'hour':_0x36a181(0x18d),'minute':_0x36a181(0x18d),'second':'2-digit'}):'—';},'isSelected'(_0x19e177){const _0x109c59=_0x3a43,_0x58a849=this['selectedRun'];return!(!_0x58a849||!_0x19e177)&&(_0x58a849['id']||_0x58a849[_0x109c59(0x1a6)])===(_0x19e177['id']||_0x19e177[_0x109c59(0x1a6)]);},'setPayload'(_0xa8d3f2){const _0x211f3f=_0x3a43;this['store'][_0x211f3f(0x1ad)](_0xa8d3f2??'{\x0a\x20\x20\x0a}');},async 'pickRun'(_0x402d3d){const _0x4a1340=_0x3a43;if(_0x402d3d)try{await this[_0x4a1340(0x18f)][_0x4a1340(0x192)](_0x402d3d['id']||_0x402d3d[_0x4a1340(0x1a6)]);}catch(_0x54d5ec){_0x526a14[_0x4a1340(0x197)][_0x4a1340(0x196)]?.[_0x4a1340(0x1b4)]?.[_0x4a1340(0x1a8)]?.(_0x54d5ec?.[_0x4a1340(0x19f)]||_0x4a1340(0x1a7));}},'formatJson'(_0x112dae){const _0x15afbb=_0x3a43;try{return JSON[_0x15afbb(0x1b1)](_0x112dae,null,0x2);}catch{return String(_0x112dae??'');}},'actionArgs'(_0x50dd48){const _0x47653d=_0x3a43,_0x4b9c25=_0x50dd48['args']??[];return 0x0===_0x4b9c25[_0x47653d(0x1a5)]?'':_0x4b9c25[_0x47653d(0x1b9)](_0x5481bb=>JSON[_0x47653d(0x1b1)](_0x5481bb))[_0x47653d(0x1aa)](',\x20');},async 'runNow'(){const _0x4c77c1=_0x3a43;try{await this[_0x4c77c1(0x18f)]['runSelected'](),_0x526a14[_0x4c77c1(0x197)]['shared']?.[_0x4c77c1(0x1b4)]?.[_0x4c77c1(0x191)]?.(this['dryRunMode']?'Dry\x20run\x20complete':_0x4c77c1(0x19d));}catch(_0x1f92a8){_0x526a14[_0x4c77c1(0x197)]['shared']?.[_0x4c77c1(0x1b4)]?.[_0x4c77c1(0x1a8)]?.(_0x1f92a8?.[_0x4c77c1(0x19f)]||_0x4c77c1(0x199));}},async 'refresh'(){const _0x1ba9a0=_0x3a43;try{await this[_0x1ba9a0(0x18f)]['refreshSelected'](),_0x526a14[_0x1ba9a0(0x197)][_0x1ba9a0(0x196)]?.[_0x1ba9a0(0x1b4)]?.[_0x1ba9a0(0x191)]?.(_0x1ba9a0(0x1a0));}catch(_0x16a804){_0x526a14[_0x1ba9a0(0x197)][_0x1ba9a0(0x196)]?.[_0x1ba9a0(0x1b4)]?.['error']?.(_0x16a804?.[_0x1ba9a0(0x19f)]||_0x1ba9a0(0x1b7));}}}),'template':_0x1ea880(0x1b6)};
|
|
1
|
+
const _0x3a205f=_0x216f;function _0x216f(_0x1702d7,_0x552df9){_0x1702d7=_0x1702d7-0x166;const _0x5d74b2=_0x5d74();let _0x216f5c=_0x5d74b2[_0x1702d7];return _0x216f5c;}(function(_0xa4cd33,_0x5c5a85){const _0x35f5fa=_0x216f,_0x5daf52=_0xa4cd33();while(!![]){try{const _0x35453c=-parseInt(_0x35f5fa(0x183))/0x1*(parseInt(_0x35f5fa(0x17e))/0x2)+parseInt(_0x35f5fa(0x18c))/0x3+parseInt(_0x35f5fa(0x193))/0x4*(parseInt(_0x35f5fa(0x191))/0x5)+parseInt(_0x35f5fa(0x18b))/0x6*(-parseInt(_0x35f5fa(0x170))/0x7)+-parseInt(_0x35f5fa(0x18e))/0x8+-parseInt(_0x35f5fa(0x188))/0x9+parseInt(_0x35f5fa(0x18d))/0xa*(parseInt(_0x35f5fa(0x185))/0xb);if(_0x35453c===_0x5c5a85)break;else _0x5daf52['push'](_0x5daf52['shift']());}catch(_0x14a726){_0x5daf52['push'](_0x5daf52['shift']());}}}(_0x5d74,0xed846));function _0x5d74(){const _0x2980cc=['args','Failed\x20to\x20load\x20run','Function\x20refreshed','functions','Function\x20execution\x20failed','refreshSelected','2eteDqL','toast','store','payloadDraft','Dry\x20run\x20complete','1502929VIquAm','finishedAt','22XMXFKd','result','runSelected','16224075IQYSYo','dryRunActions','selectRun','3549666nTXTAM','5319255EBfVLn','10621180QCMqJj','4839944mzudyC','runId','length','795lpwXcm','activeRun','39692hKDeCT','error','stores','requestedAt','join','2-digit','dryRunMode','$ok','selectedRun','running','runs','Function\x20executed','7WtlgBg','Failed\x20to\x20refresh\x20function','\x0a\x20\x20<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:12px;\x20min-height:0;\x20height:100%;\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20align-items:center;\x20justify-content:space-between;\x20gap:8px;\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:4px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:11px;\x20text-transform:uppercase;\x20color:var(--okdb-app-fg-muted);\x22>Run\x20selected\x20function</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:12px;\x20color:var(--okdb-app-fg-muted);\x22>Only\x20affects\x20the\x20currently\x20selected\x20function.</div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20gap:8px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22refresh()\x22\x20:disabled=\x22!store.selectedName\x20||\x20running\x22\x20style=\x22padding:6px\x2010px;\x20font-size:12px;\x22>Refresh</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22toggleDryRun()\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:disabled=\x22running\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:style=\x22dryRunMode\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20?\x20\x27padding:6px\x2010px;\x20font-size:12px;\x20border-color:var(--okdb-accent);\x20color:var(--okdb-accent);\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:\x20\x27padding:6px\x2010px;\x20font-size:12px;\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Dry\x20Run{{\x20dryRunMode\x20?\x20\x27\x20✓\x27\x20:\x20\x27\x27\x20}}\x0a\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22runNow()\x22\x20:disabled=\x22!store.selectedName\x20||\x20running\x22\x20style=\x22padding:6px\x2010px;\x20font-size:12px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{{\x20running\x20?\x20\x27Running…\x27\x20:\x20(dryRunMode\x20?\x20\x27Run\x20(dry)\x27\x20:\x20\x27Run\x27)\x20}}\x0a\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20<div\x20style=\x22height:220px;\x20min-height:220px;\x20border:1px\x20solid\x20var(--okdb-app-border);\x20border-radius:10px;\x20overflow:hidden;\x20background:var(--okdb-app-bg-deep);\x22>\x0a\x20\x20\x20\x20\x20\x20<ok-text-monaco-input\x0a\x20\x20\x20\x20\x20\x20\x20\x20style=\x22height:100%;\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20language=\x22json\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20:value=\x22payloadDraft\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20@edit:debounce.150=\x22setPayload($event.detail)\x22\x0a\x20\x20\x20\x20\x20\x20></ok-text-monaco-input>\x0a\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20<if\x20:=\x22payloadError\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:12px;\x20color:var(--okdb-danger);\x20line-height:1.5;\x22>{{\x20payloadError\x20}}</div>\x0a\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20<div\x20style=\x22padding:12px;\x20border:1px\x20solid\x20var(--okdb-app-border);\x20border-radius:10px;\x20background:var(--okdb-app-bg-deep);\x20min-height:0;\x20overflow:auto;\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:11px;\x20text-transform:uppercase;\x20color:var(--okdb-app-fg-muted);\x20margin-bottom:8px;\x22>Recent\x20runs\x20for\x20this\x20function</div>\x0a\x20\x20\x20\x20\x20\x20<if\x20:=\x22runs.length\x20===\x200\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:12px;\x20color:var(--okdb-app-fg-muted);\x22>No\x20runs\x20yet.</div>\x0a\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:6px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<each\x20:of=\x22runs.slice(0,\x208)\x22\x20let:item=\x22run\x22\x20let:index=\x22idx\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22pickRun(run)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:style=\x22isSelected(run)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20?\x20\x27text-align:left;\x20padding:8px\x2010px;\x20border:1px\x20solid\x20color-mix(in\x20srgb,\x20var(--okdb-accent)\x2053%,\x20transparent);\x20box-shadow:0\x200\x200\x201px\x20color-mix(in\x20srgb,\x20var(--okdb-accent)\x2013%,\x20transparent)\x20inset,\x200\x200\x2018px\x20color-mix(in\x20srgb,\x20var(--okdb-accent)\x209%,\x20transparent);\x20background:var(--okdb-app-bg);\x20color:var(--okdb-app-fg-strong);\x20border-radius:8px;\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:\x20\x27text-align:left;\x20padding:8px\x2010px;\x20border:1px\x20solid\x20var(--okdb-app-border);\x20background:var(--okdb-app-bg-deep);\x20color:var(--okdb-app-fg-muted);\x20border-radius:8px;\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20align-items:center;\x20justify-content:space-between;\x20gap:8px;\x20font-size:12px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<strong\x20style=\x22font-family:monospace;\x20font-size:11px;\x22>{{\x20run.id\x20||\x20run.runId\x20||\x20\x27run\x27\x20}}</strong>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20align-items:center;\x20gap:8px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22idx\x20===\x200\x22><span\x20style=\x22font-size:10px;\x20padding:2px\x206px;\x20border-radius:999px;\x20border:1px\x20solid\x20color-mix(in\x20srgb,\x20var(--okdb-accent)\x2027%,\x20transparent);\x20color:var(--okdb-accent);\x22>Latest</span></if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>{{\x20run.status\x20||\x20(run.error\x20?\x20\x27error\x27\x20:\x20\x27ok\x27)\x20}}</span>\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\x20\x20<div\x20style=\x22display:flex;\x20align-items:center;\x20justify-content:space-between;\x20gap:8px;\x20margin-top:6px;\x20font-size:11px;\x20color:var(--okdb-app-fg-muted);\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>{{\x20runTime(run)\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>{{\x20run.execution?.durationMs\x20!=\x20null\x20?\x20run.execution.durationMs\x20+\x20\x27ms\x27\x20:\x20\x27—\x27\x20}}</span>\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</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</each>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20<div\x20style=\x22padding:12px;\x20border:1px\x20solid\x20var(--okdb-app-border);\x20border-radius:10px;\x20background:var(--okdb-app-bg-deep);\x20min-height:0;\x20overflow:auto;\x22>\x0a\x20\x20\x20\x20\x20\x20<if\x20:=\x22!selectedRun\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:11px;\x20text-transform:uppercase;\x20color:var(--okdb-app-fg-muted);\x20margin-bottom:8px;\x22>Selected\x20run\x20result</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:12px;\x20color:var(--okdb-app-fg-muted);\x22>No\x20run\x20selected\x20yet.</div>\x0a\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20<if\x20:=\x22selectedRun\x20&&\x20dryRunActions\x20!==\x20null\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:11px;\x20text-transform:uppercase;\x20color:var(--okdb-accent);\x20margin-bottom:8px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Dry\x20run\x20—\x20intercepted\x20writes\x20({{\x20dryRunActions.length\x20}})\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22dryRunActions.length\x20===\x200\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:12px;\x20color:var(--okdb-app-fg-muted);\x20margin-bottom:8px;\x22>No\x20writes\x20intercepted.</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:4px;\x20margin-bottom:10px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<each\x20:of=\x22dryRunActions\x22\x20let:item=\x22action\x22\x20let:index=\x22i\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:6px\x208px;\x20border:1px\x20solid\x20color-mix(in\x20srgb,\x20var(--okdb-accent)\x2020%,\x20transparent);\x20border-radius:6px;\x20background:color-mix(in\x20srgb,\x20var(--okdb-accent)\x204%,\x20transparent);\x20font-family:monospace;\x20font-size:11px;\x20color:var(--okdb-app-fg-muted);\x20line-height:1.45;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22color:var(--okdb-accent);\x22>{{\x20action.scope\x20}}.{{\x20action.method\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22action.envName\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22opacity:.6;\x22>\x20[{{\x20action.envName\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\x20\x20<if\x20:=\x22actionArgs(action)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>\x20({{\x20actionArgs(action)\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</each>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22selectedRun.result?.value\x20!==\x20undefined\x20&&\x20selectedRun.result?.value\x20!==\x20null\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:11px;\x20text-transform:uppercase;\x20color:var(--okdb-app-fg-muted);\x20margin-bottom:6px;\x22>Return\x20value</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<pre\x20style=\x22margin:0;\x20white-space:pre-wrap;\x20word-break:break-word;\x20color:var(--okdb-app-fg-muted);\x20font-size:12px;\x20line-height:1.55;\x22>{{\x20formatJson(selectedRun.result.value)\x20}}</pre>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20<if\x20:=\x22selectedRun\x20&&\x20dryRunActions\x20===\x20null\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:11px;\x20text-transform:uppercase;\x20color:var(--okdb-app-fg-muted);\x20margin-bottom:8px;\x22>Selected\x20run\x20result</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<pre\x20style=\x22margin:0;\x20white-space:pre-wrap;\x20word-break:break-word;\x20color:var(--okdb-app-fg-muted);\x20font-size:12px;\x20line-height:1.55;\x22>{{\x20formatJson(selectedRun)\x20}}</pre>\x0a\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</div>\x0a\x20\x20','success','{\x0a\x20\x20\x0a}','shared','map','stringify'];_0x5d74=function(){return _0x2980cc;};return _0x5d74();}import _0x533621 from'../../../components/ok-text-monaco-input.ok.js';export default{'tag':'function-runner','dependencies':[_0x533621],'context':_0x3f8883=>({get 'store'(){const _0xb59842=_0x216f;return _0x3f8883[_0xb59842(0x16b)][_0xb59842(0x166)][_0xb59842(0x17b)];},get 'payloadDraft'(){const _0x2f7eae=_0x216f;return this['store'][_0x2f7eae(0x181)];},get 'selectedRun'(){const _0x1043b5=_0x216f;return this[_0x1043b5(0x180)][_0x1043b5(0x192)];},get 'runs'(){const _0x124cf5=_0x216f;return(this[_0x124cf5(0x180)][_0x124cf5(0x16e)]||[])[_0x124cf5(0x176)](_0x134b51=>_0x134b51?.['value']||_0x134b51);},get 'running'(){const _0x1f3342=_0x216f;return this[_0x1f3342(0x180)][_0x1f3342(0x16d)];},get 'payloadError'(){const _0x4fc1f5=_0x216f;return this[_0x4fc1f5(0x180)]['payloadError'];},get 'dryRunMode'(){const _0x528736=_0x216f;return this[_0x528736(0x180)]['dryRunMode'];},get 'dryRunActions'(){const _0x3cc6d6=_0x216f;return this['selectedRun']?.[_0x3cc6d6(0x186)]?.[_0x3cc6d6(0x189)]??null;},'toggleDryRun'(){const _0x5b0b11=_0x216f;this[_0x5b0b11(0x180)][_0x5b0b11(0x16a)]=!this[_0x5b0b11(0x180)][_0x5b0b11(0x16a)];},'runTime'(_0x14cdec){const _0x5e507d=_0x216f,_0xe3cc52=_0x14cdec?.['execution']?.[_0x5e507d(0x184)]??_0x14cdec?.['request']?.[_0x5e507d(0x167)]??null;return _0xe3cc52?new Date(_0xe3cc52)['toLocaleTimeString']([],{'hour':_0x5e507d(0x169),'minute':_0x5e507d(0x169),'second':_0x5e507d(0x169)}):'—';},'isSelected'(_0x4af71f){const _0x337933=_0x216f,_0x26fe8f=this[_0x337933(0x16c)];return!(!_0x26fe8f||!_0x4af71f)&&(_0x26fe8f['id']||_0x26fe8f[_0x337933(0x18f)])===(_0x4af71f['id']||_0x4af71f[_0x337933(0x18f)]);},'setPayload'(_0x19f07a){const _0x12823a=_0x216f;this[_0x12823a(0x180)]['setPayloadDraft'](_0x19f07a??_0x12823a(0x174));},async 'pickRun'(_0x298c05){const _0x4817ff=_0x216f;if(_0x298c05)try{await this['store'][_0x4817ff(0x18a)](_0x298c05['id']||_0x298c05[_0x4817ff(0x18f)]);}catch(_0x237f41){_0x3f8883['$ok'][_0x4817ff(0x175)]?.['toast']?.[_0x4817ff(0x194)]?.(_0x237f41?.['message']||_0x4817ff(0x179));}},'formatJson'(_0x53f7ff){const _0x30f260=_0x216f;try{return JSON[_0x30f260(0x177)](_0x53f7ff,null,0x2);}catch{return String(_0x53f7ff??'');}},'actionArgs'(_0x8d0961){const _0x48c919=_0x216f,_0x22877a=_0x8d0961[_0x48c919(0x178)]??[];return 0x0===_0x22877a[_0x48c919(0x190)]?'':_0x22877a[_0x48c919(0x176)](_0x27a103=>JSON[_0x48c919(0x177)](_0x27a103))[_0x48c919(0x168)](',\x20');},async 'runNow'(){const _0x38ebba=_0x216f;try{await this[_0x38ebba(0x180)][_0x38ebba(0x187)](),_0x3f8883['$ok'][_0x38ebba(0x175)]?.['toast']?.['success']?.(this[_0x38ebba(0x16a)]?_0x38ebba(0x182):_0x38ebba(0x16f));}catch(_0x446b09){_0x3f8883[_0x38ebba(0x16b)][_0x38ebba(0x175)]?.[_0x38ebba(0x17f)]?.[_0x38ebba(0x194)]?.(_0x446b09?.['message']||_0x38ebba(0x17c));}},async 'refresh'(){const _0x555adb=_0x216f;try{await this[_0x555adb(0x180)][_0x555adb(0x17d)](),_0x3f8883[_0x555adb(0x16b)]['shared']?.[_0x555adb(0x17f)]?.[_0x555adb(0x173)]?.(_0x555adb(0x17a));}catch(_0x39cbc0){_0x3f8883[_0x555adb(0x16b)]['shared']?.[_0x555adb(0x17f)]?.[_0x555adb(0x194)]?.(_0x39cbc0?.['message']||_0x555adb(0x171));}}}),'template':_0x3a205f(0x172)};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
var _0x2f787d=_0x35f0;(function(_0x4abdea,_0x38edd4){var _0x358857=_0x35f0,_0x134215=_0x4abdea();while(!![]){try{var _0x44d165=-parseInt(_0x358857(0x15b))/0x1*(-parseInt(_0x358857(0x16a))/0x2)+parseInt(_0x358857(0x161))/0x3+-parseInt(_0x358857(0x155))/0x4+-parseInt(_0x358857(0x165))/0x5*(parseInt(_0x358857(0x159))/0x6)+parseInt(_0x358857(0x15d))/0x7+parseInt(_0x358857(0x160))/0x8*(-parseInt(_0x358857(0x156))/0x9)+parseInt(_0x358857(0x166))/0xa;if(_0x44d165===_0x38edd4)break;else _0x134215['push'](_0x134215['shift']());}catch(_0x32a5ab){_0x134215['push'](_0x134215['shift']());}}}(_0x4900,0xd7fda));function _0x35f0(_0x139224,_0x29251a){_0x139224=_0x139224-0x154;var _0x490058=_0x4900();var _0x35f0ff=_0x490058[_0x139224];return _0x35f0ff;}export default{'tag':'functions-list','context':_0x5d8719=>({get 'store'(){var _0x4b8ba9=_0x35f0;return _0x5d8719[_0x4b8ba9(0x16b)][_0x4b8ba9(0x15e)][_0x4b8ba9(0x154)];},get 'items'(){var _0x5af7c2=_0x35f0;return this[_0x5af7c2(0x168)][_0x5af7c2(0x158)]||[];},get 'selectedName'(){var _0x17b073=_0x35f0;return this['store'][_0x17b073(0x162)];},get 'loading'(){var _0xf6668a=_0x35f0;return this['store'][_0xf6668a(0x157)];},get 'isOverview'(){var _0x448fd1=_0x35f0;return _0x448fd1(0x15a)!==this[_0x448fd1(0x168)][_0x448fd1(0x164)]||!this[_0x448fd1(0x162)];},'pick'(_0x51fc1e){var _0x3f86aa=_0x35f0;_0x5d8719[_0x3f86aa(0x167)](_0x3f86aa(0x163),_0x51fc1e);},'openOverview'(){var _0x4d31ff=_0x35f0;_0x5d8719[_0x4d31ff(0x167)](_0x4d31ff(0x15c));},'createNew'(){var _0x276129=_0x35f0;_0x5d8719[_0x276129(0x167)](_0x276129(0x169));}}),'style':'\x0a\x20\x20\x20\x20functions-list\x20{\x0a\x20\x20\x20\x20\x20\x20position:\x20relative;\x0a\x20\x20\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20\x20\x20flex-direction:\x20column;\x0a\x20\x20\x20\x20\x20\x20gap:\x202px;\x0a\x20\x20\x20\x20\x20\x20min-height:\x200;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20functions-list\x20button\x20{\x0a\x20\x20\x20\x20\x20\x20text-align:\x20left;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20.functions-list__add\x20{\x0a\x20\x20\x20\x20\x20\x20font-size:\x2012px;\x0a\x20\x20\x20\x20\x20\x20padding:\x207px\x2010px;\x0a\x20\x20\x20\x20\x20\x20margin-bottom:\x204px;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20.functions-list__item\x20{\x0a\x20\x20\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20\x20\x20gap:\x206px;\x0a\x20\x20\x20\x20\x20\x20padding:\x206px\x2010px;\x0a\x20\x20\x20\x20\x20\x20font-size:\x2012px;\x0a\x20\x20\x20\x20\x20\x20background:\x20transparent;\x0a\x20\x20\x20\x20\x20\x20border-color:\x20transparent;\x0a\x20\x20\x20\x20\x20\x20color:\x20var(--okdb-app-fg-muted);\x0a\x20\x20\x20\x20\x20\x20border-radius:\x207px;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20.functions-list__item:hover\x20{\x0a\x20\x20\x20\x20\x20\x20background:\x20var(--okdb-app-surface-2);\x0a\x20\x20\x20\x20\x20\x20border-color:\x20var(--okdb-app-border);\x0a\x20\x20\x20\x20\x20\x20color:\x20var(--okdb-app-fg);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20.functions-list__item--selected\x20{\x0a\x20\x20\x20\x20\x20\x20background:\x20var(--okdb-app-bg-deep)\x20!important;\x0a\x20\x20\x20\x20\x20\x20border-color:\x20color-mix(in\x20srgb,\x20var(--okdb-accent)\x2027%,\x20transparent)\x20!important;\x0a\x20\x20\x20\x20\x20\x20color:\x20var(--okdb-accent)\x20!important;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20.functions-list__name\x20{\x0a\x20\x20\x20\x20\x20\x20flex:\x201;\x0a\x20\x20\x20\x20\x20\x20font-family:\x20monospace;\x0a\x20\x20\x20\x20\x20\x20font-size:\x2012px;\x0a\x20\x20\x20\x20\x20\x20overflow:\x20hidden;\x0a\x20\x20\x20\x20\x20\x20text-overflow:\x20ellipsis;\x0a\x20\x20\x20\x20\x20\x20white-space:\x20nowrap;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20.functions-list__meta\x20{\x0a\x20\x20\x20\x20\x20\x20font-size:\x2011px;\x0a\x20\x20\x20\x20\x20\x20opacity:\x20.55;\x0a\x20\x20\x20\x20\x20\x20flex-shrink:\x200;\x0a\x20\x20\x20\x20}\x0a\x20\x20','template':_0x2f787d(0x15f)};function _0x4900(){var _0x5bb8e7=['22711990vfhXUn','$dispatch','store','create','2cDrNzY','$ok','functions','7017936pNuFKw','15425370nGNNIk','loading','items','18uMAzuS','detail','1418358xdxifr','overview','1032255dgihRo','stores','\x0a\x20\x20<div\x20style=\x22display:flex;\x20flex-direction:column;\x20min-height:0;\x20height:100%;\x22>\x0a\x20\x20\x20\x20<button\x20class=\x22functions-list__add\x22\x20@click=\x22createNew()\x22>+\x20New</button>\x0a\x0a\x20\x20\x20\x20<button\x0a\x20\x20\x20\x20\x20\x20class=\x22functions-list__item\x22\x0a\x20\x20\x20\x20\x20\x20:class=\x22isOverview\x20?\x20\x27functions-list__item--selected\x27\x20:\x20\x27\x27\x22\x0a\x20\x20\x20\x20\x20\x20@click=\x22openOverview()\x22>\x0a\x20\x20\x20\x20\x20\x20<span\x20class=\x22functions-list__name\x22>Overview</span>\x0a\x20\x20\x20\x20</button>\x0a\x0a\x20\x20\x20\x20<div\x20style=\x22height:1px;\x20background:var(--okdb-app-surface-2);\x20margin:2px\x200\x206px;\x22></div>\x0a\x0a\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:2px;\x20min-height:0;\x20overflow:auto;\x22>\x0a\x20\x20\x20\x20\x20\x20<if\x20:=\x22loading\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:10px;\x20border:1px\x20dashed\x20var(--okdb-app-border);\x20border-radius:8px;\x20color:var(--okdb-app-fg-muted);\x20font-size:12px;\x20line-height:1.5;\x20margin-bottom:6px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Loading\x20functions…\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20\x20\x20<if\x20:=\x22items.length\x20===\x200\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:10px;\x20border:1px\x20dashed\x20var(--okdb-app-border);\x20border-radius:8px;\x20color:var(--okdb-app-fg-muted);\x20font-size:12px;\x20line-height:1.5;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20No\x20functions\x20in\x20this\x20scope\x20yet.\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20\x20\x20<each\x20:of=\x22items\x22\x20let:item=\x22fn\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20class=\x22functions-list__item\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:class=\x22fn.key\x20===\x20selectedName\x20?\x20\x27functions-list__item--selected\x27\x20:\x20\x27\x27\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22pick(fn.key)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22functions-list__name\x22>{{\x20fn.key\x20}}</span>\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22fn.value?.unsafe\x22><span\x20style=\x22font-size:10px;\x20color:var(--okdb-orange);\x20flex-shrink:0;\x22\x20title=\x22Unsafe\x20function\x22>⚠</span></if>\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22functions-list__meta\x22>v{{\x20fn.value?.version\x20??\x20\x27—\x27\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20</each>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</div>\x0a\x20\x20','8wODARB','4354209OxIxVi','selectedName','open','currentView','1558855uRceop'];_0x4900=function(){return _0x5bb8e7;};return _0x4900();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x40278c=_0x3405;function _0x3405(_0x3900ca,_0x4e2825){_0x3900ca=_0x3900ca-0x19a;const _0x302332=_0x3023();let _0x34059f=_0x302332[_0x3900ca];return _0x34059f;}(function(_0x1211ba,_0x3d7b49){const _0x460011=_0x3405,_0x273419=_0x1211ba();while(!![]){try{const _0x42eeae=parseInt(_0x460011(0x1a4))/0x1*(parseInt(_0x460011(0x1bc))/0x2)+-parseInt(_0x460011(0x1de))/0x3+-parseInt(_0x460011(0x1b7))/0x4*(parseInt(_0x460011(0x1e0))/0x5)+parseInt(_0x460011(0x1d9))/0x6+parseInt(_0x460011(0x1d3))/0x7*(parseInt(_0x460011(0x1c7))/0x8)+parseInt(_0x460011(0x1cc))/0x9*(parseInt(_0x460011(0x1b9))/0xa)+parseInt(_0x460011(0x1df))/0xb*(-parseInt(_0x460011(0x1a7))/0xc);if(_0x42eeae===_0x3d7b49)break;else _0x273419['push'](_0x273419['shift']());}catch(_0x3322fd){_0x273419['push'](_0x273419['shift']());}}}(_0x3023,0x56a12));const t=()=>__ENV__[_0x40278c(0x1a8)][_0x40278c(0x1ae)](/\/api$/,'')+'/license';function _0x3023(){const _0xffabcc=['shared','map','clipboard','min','licenses','success','570444XZjTmI','data','license-panel{display:block;padding:24px;max-width:860px}.lp-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.lp-title{font-size:18px;font-weight:600}.lp-status-banner{padding:12px\x2016px;border-radius:10px;border:1px\x20solid;font-size:13px;margin-bottom:20px;display:flex;align-items:center;gap:10px}.lp-status-banner--ok{background:var(--okdb-success-soft-bg,\x20rgba(72,187,120,.08));border-color:var(--okdb-success-soft-border,\x20rgba(72,187,120,.2));color:var(--okdb-success,\x20#48bb78)}.lp-status-banner--warn{background:var(--okdb-danger-soft-bg,\x20rgba(245,101,101,.08));border-color:var(--okdb-danger-soft-border,\x20rgba(245,101,101,.2));color:var(--okdb-danger,\x20#f56565)}.lp-pin-box{background:var(--okdb-app-surface-2,\x20rgba(255,255,255,.04));border:1px\x20solid\x20var(--okdb-app-border);border-radius:8px;padding:12px\x2016px;margin-bottom:20px;font-size:12px}.lp-pin-label{opacity:.5;text-transform:uppercase;letter-spacing:.06em;font-size:10px;margin-bottom:4px}.lp-pin-value{font-family:monospace;font-size:15px;font-weight:600;letter-spacing:.08em}.lp-lic-cells,.lp-lic-header{display:grid;grid-template-columns:90px\x201fr\x2090px\x2080px\x2080px\x20auto;gap:0\x2010px;align-items:center;padding:6px\x2010px}.lp-lic-header{font-size:10px;text-transform:uppercase;letter-spacing:.06em;opacity:.45}.lp-lic-header,.lp-lic-row{border-bottom:1px\x20solid\x20var(--okdb-app-border)}.lp-lic-row:last-child{border-bottom:none}.lp-add-form{background:var(--okdb-app-surface-2,\x20rgba(255,255,255,.03));border:1px\x20solid\x20var(--okdb-app-border);border-radius:10px;padding:16px;margin-bottom:20px;display:flex;flex-direction:column;gap:12px}.lp-form-label{font-size:10px;opacity:.5;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.lp-activate-row,.lp-btn{border:1px\x20solid\x20var(--okdb-app-border)}.lp-activate-row{background:var(--okdb-app-surface-2,\x20rgba(255,255,255,.03));border-radius:8px;padding:10px\x2012px;display:flex;flex-direction:column;gap:8px;margin-top:4px}.lp-btn{padding:5px\x2012px;border-radius:6px;background:0\x200;color:var(--okdb-app-fg-muted);font-size:12px;font-weight:500;cursor:pointer;transition:background\x20.1s,color\x20.1s}.lp-btn:hover{background:var(--okdb-app-surface-2);color:var(--okdb-app-fg-strong)}.lp-btn--primary{background:var(--okdb-sky-soft-bg,\x20rgba(99,179,237,.1));border-color:var(--okdb-sky-soft-border,\x20rgba(99,179,237,.25));color:var(--okdb-sky,\x20#63b3ed)}.lp-btn--danger{background:var(--okdb-danger-soft-bg,\x20rgba(245,101,101,.08));border-color:var(--okdb-danger-soft-border,\x20rgba(245,101,101,.2));color:var(--okdb-danger,\x20#f56565)}','entries','POST','loading','1759416vHqvfv','writeText','Remove\x20failed','License\x20removed','var(--okdb-warn,#edc94b)','165078HjjocU','11rFRfFm','72095SHpWSD','addLoading','toISOString','$ok','toLocaleString','DELETE','error','<div><if\x20:=\x22loading\x22><div\x20style=\x22font-size:13px;\x20opacity:.5;\x20padding:20px\x200;\x22>Loading…</div></if><if\x20:=\x22!loading\x20&&\x20unavailable\x22><div\x20style=\x22font-size:13px;\x20opacity:.6;\x20padding:20px\x200;\x22>License\x20system\x20not\x20available\x20in\x20this\x20build.</div></if><if\x20:=\x22!loading\x20&&\x20!unavailable\x22><div\x20class=\x22lp-header\x22><div\x20class=\x22lp-title\x22>License</div><button\x20class=\x22lp-btn\x20lp-btn--primary\x22\x20@click=\x22openAddForm()\x22>+\x20Add\x20License</button></div><if\x20:=\x22hasActive()\x22><div\x20class=\x22lp-status-banner\x20lp-status-banner--ok\x22><span>✓\x20Licensed</span>\x20<span>—</span>\x20<span\x20style=\x22font-weight:600;\x22>{{\x20activeLicensee()\x20}}</span><if\x20:=\x22activeExpiry()\x22><span\x20style=\x22opacity:.7;\x22>·\x20Expires\x20{{\x20formatDate(activeExpiry())\x20}}</span></if></div></if><if\x20:=\x22!hasActive()\x22><div\x20class=\x22lp-status-banner\x20lp-status-banner--warn\x22><span>⚠\x20Free\x20tier</span><if\x20:=\x22status\x20&&\x20status.effective\x22><span\x20style=\x22opacity:.7;\x20font-size:12px;\x22>—\x20envs={{\x20status.effective.limits.envs\x20}},\x20types/env={{\x20status.effective.limits.typesPerEnv\x20}},\x20writes={{\x20(status.effective.limits.maxWrites||0).toLocaleString()\x20}}</span></if></div><if\x20:=\x22status\x20&&\x20status.isLicensedBuild\x20&&\x20pinDisplay()\x20!==\x20\x27—\x27\x22><div\x20class=\x22lp-pin-box\x22><div\x20class=\x22lp-pin-label\x22>Node\x20PIN\x20—\x20share\x20this\x20with\x20your\x20license\x20provider</div><div\x20style=\x22display:flex;\x20align-items:center;\x20gap:10px;\x22><div\x20class=\x22lp-pin-value\x22>{{\x20pinDisplay()\x20}}</div><button\x20class=\x22lp-btn\x22\x20style=\x22font-size:11px;\x20padding:3px\x208px;\x22\x20@click=\x22copyPin()\x22>Copy</button></div><div\x20style=\x22font-size:11px;\x20opacity:.55;\x20margin-top:6px;\x22>How\x20activation\x20works:\x20paste\x20your\x20<strong>license\x20blob</strong>\x20below\x20→\x20vendor\x20signs\x20an\x20activation\x20token\x20bound\x20to\x20this\x20PIN\x20→\x20paste\x20the\x20activation\x20token\x20to\x20enable\x20the\x20license.</div></div></if><if\x20:=\x22status\x20&&\x20status.isLicensedBuild\x20&&\x20status.buildFingerprint\x22><div\x20class=\x22lp-pin-box\x22\x20style=\x22margin-top:-12px;\x22><div\x20class=\x22lp-pin-label\x22>Build\x20signing-key\x20fingerprint</div><div\x20style=\x22font-family:monospace;\x20font-size:12px;\x22>{{\x20status.buildFingerprint\x20}}</div><div\x20style=\x22font-size:11px;\x20opacity:.55;\x20margin-top:6px;\x22>Your\x20license\x20must\x20be\x20signed\x20by\x20the\x20private\x20key\x20paired\x20with\x20this\x20fingerprint.\x20If\x20you\x20see\x20<em>\x22License\x20signature\x20invalid\x22</em>,\x20the\x20license\x20was\x20signed\x20by\x20a\x20different\x20keypair\x20than\x20the\x20one\x20this\x20build\x20uses.</div></div></if><if\x20:=\x22status\x20&&\x20!status.isLicensedBuild\x22><div\x20class=\x22lp-pin-box\x22\x20style=\x22opacity:.6\x22><div\x20class=\x22lp-pin-label\x22>Development\x20build\x20—\x20license\x20enforcement\x20disabled</div><div\x20style=\x22font-size:12px;\x20margin-top:4px;\x22>Set\x20<code>OKDB_LICENSED_BUILD=true</code>\x20in\x20<code>.env</code>\x20to\x20enable\x20enforcement\x20in\x20dev,\x20or\x20run\x20<code>npm\x20run\x20build:prod</code>\x20for\x20a\x20production\x20build.</div></div></if></if><if\x20:=\x22status\x20&&\x20status.usage\x20&&\x20status.effective\x22><div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:10px;\x20margin-bottom:20px;\x22><if\x20:=\x22status.effective.limits.maxWrites\x22><div><div\x20style=\x22display:flex;\x20justify-content:space-between;\x20font-size:11px;\x20opacity:.7;\x20margin-bottom:4px;\x22><span>Writes</span>\x20<span\x20style=\x22font-family:monospace;\x22>{{\x20formatNum(status.usage.writes)\x20}}\x20/\x20{{\x20formatNum(status.effective.limits.maxWrites)\x20}}</span></div><div\x20style=\x22height:6px;\x20background:var(--okdb-app-surface-2,rgba(255,255,255,.06));\x20border-radius:3px;\x20overflow:hidden;\x22><div\x20:style=\x22\x27height:100%;width:\x27\x20+\x20usagePct(status.usage.writes,\x20status.effective.limits.maxWrites)\x20+\x20\x27%;background:\x27\x20+\x20usageBarColor(usagePct(status.usage.writes,\x20status.effective.limits.maxWrites))\x20+\x20\x27;transition:width\x20.2s;\x27\x22/></div></div></if><if\x20:=\x22status.effective.limits.envs\x22><div><div\x20style=\x22display:flex;\x20justify-content:space-between;\x20font-size:11px;\x20opacity:.7;\x20margin-bottom:4px;\x22><span>Environments</span>\x20<span\x20style=\x22font-family:monospace;\x22>{{\x20status.usage.envs\x20}}\x20/\x20{{\x20status.effective.limits.envs\x20}}</span></div><div\x20style=\x22height:6px;\x20background:var(--okdb-app-surface-2,rgba(255,255,255,.06));\x20border-radius:3px;\x20overflow:hidden;\x22><div\x20:style=\x22\x27height:100%;width:\x27\x20+\x20usagePct(status.usage.envs,\x20status.effective.limits.envs)\x20+\x20\x27%;background:\x27\x20+\x20usageBarColor(usagePct(status.usage.envs,\x20status.effective.limits.envs))\x20+\x20\x27;transition:width\x20.2s;\x27\x22/></div></div></if></div></if><if\x20:=\x22showAddForm\x22><div\x20class=\x22lp-add-form\x22><div\x20style=\x22font-size:13px;\x20font-weight:600;\x22>Add\x20License\x20or\x20Activation\x20Token</div><div\x20style=\x22font-size:11px;\x20opacity:.6;\x22>Paste\x20either\x20a\x20<strong>license\x20blob</strong>\x20(issued\x20by\x20your\x20vendor)\x20or\x20an\x20<strong>activation\x20token</strong>\x20(vendor\x27s\x20response\x20to\x20your\x20PIN).\x20The\x20server\x20detects\x20which\x20it\x20is.</div><div><textarea\x20:value=\x22addInput\x22\x20@input=\x22addInput\x20=\x20$event.target.value\x22\x20rows=\x226\x22\x20placeholder=\x22Paste\x20license\x20blob\x20or\x20activation\x20token\x20here…\x22\x20style=\x22width:100%;\x20font-family:monospace;\x20font-size:11px;\x20resize:vertical;\x22/></div><if\x20:=\x22addError\x22><div\x20style=\x22font-size:12px;\x20color:var(--okdb-danger);\x20background:var(--okdb-danger-soft-bg,rgba(245,101,101,.08));\x20border:1px\x20solid\x20var(--okdb-danger-soft-border,rgba(245,101,101,.2));\x20border-radius:6px;\x20padding:8px\x2012px;\x22>{{\x20addError\x20}}</div></if><div\x20style=\x22display:flex;\x20gap:8px;\x20justify-content:flex-end;\x22><button\x20class=\x22lp-btn\x22\x20@click=\x22cancelAddForm()\x22>Cancel</button>\x20<button\x20class=\x22lp-btn\x20lp-btn--primary\x22\x20@click=\x22submitAdd()\x22\x20:disabled=\x22!addInput.trim()\x20||\x20addLoading\x22>{{\x20addLoading\x20?\x20\x27Submitting…\x27\x20:\x20\x27Submit\x27\x20}}</button></div></div></if><if\x20:=\x22status\x20&&\x20status.effective\x22><div\x20style=\x22margin-top:20px;\x20font-size:10px;\x20text-transform:uppercase;\x20letter-spacing:.06em;\x20opacity:.45;\x20margin-bottom:8px;\x22>Current\x20capabilities</div><table\x20class=\x22lp-table\x22\x20style=\x22margin-bottom:16px;\x22><thead><tr><th>Feature</th><th>Status</th><th>Limit</th></tr></thead><tbody><tr><td>Sync</td><td><span\x20:style=\x22status.effective.features.sync\x20?\x20\x27color:var(--okdb-success,#38a169)\x27\x20:\x20\x27opacity:.45\x27\x22>{{\x20status.effective.features.sync\x20?\x20\x27✓\x20enabled\x27\x20:\x20\x27✗\x20disabled\x27\x20}}</span></td><td\x20style=\x22font-family:monospace;\x22>{{\x20status.effective.limits.syncPeers\x20?\x20\x27max\x20\x27\x20+\x20status.effective.limits.syncPeers\x20+\x20\x27\x20peers\x27\x20:\x20(status.effective.features.sync\x20?\x20\x27unlimited\x27\x20:\x20\x27—\x27)\x20}}</td></tr><tr><td>Embeddings</td><td><span\x20:style=\x22status.effective.features.embeddings\x20?\x20\x27color:var(--okdb-success,#38a169)\x27\x20:\x20\x27opacity:.45\x27\x22>{{\x20status.effective.features.embeddings\x20?\x20\x27✓\x20enabled\x27\x20:\x20\x27✗\x20disabled\x27\x20}}</span></td><td>—</td></tr><tr><td>Engines</td><td><span\x20:style=\x22status.effective.features.engines\x20?\x20\x27color:var(--okdb-success,#38a169)\x27\x20:\x20\x27opacity:.45\x27\x22>{{\x20status.effective.features.engines\x20?\x20\x27✓\x20enabled\x27\x20:\x20\x27✗\x20disabled\x27\x20}}</span></td><td>—</td></tr><tr><td>Full-text\x20search</td><td><span\x20:style=\x22status.effective.features.fts\x20?\x20\x27color:var(--okdb-success,#38a169)\x27\x20:\x20\x27opacity:.45\x27\x22>{{\x20status.effective.features.fts\x20?\x20\x27✓\x20enabled\x27\x20:\x20\x27✗\x20disabled\x27\x20}}</span></td><td>—</td></tr><tr><td>Time\x20machine</td><td><span\x20:style=\x22status.effective.features.timeMachine\x20?\x20\x27color:var(--okdb-success,#38a169)\x27\x20:\x20\x27opacity:.45\x27\x22>{{\x20status.effective.features.timeMachine\x20?\x20\x27✓\x20enabled\x27\x20:\x20\x27✗\x20disabled\x27\x20}}</span></td><td>—</td></tr><tr><td>Views</td><td><span\x20:style=\x22status.effective.features.views\x20?\x20\x27color:var(--okdb-success,#38a169)\x27\x20:\x20\x27opacity:.45\x27\x22>{{\x20status.effective.features.views\x20?\x20\x27✓\x20enabled\x27\x20:\x20\x27✗\x20disabled\x27\x20}}</span></td><td>—</td></tr><tr><td>MCP</td><td><span\x20:style=\x22status.effective.features.mcp\x20?\x20\x27color:var(--okdb-success,#38a169)\x27\x20:\x20\x27opacity:.45\x27\x22>{{\x20status.effective.features.mcp\x20?\x20\x27✓\x20enabled\x27\x20:\x20\x27✗\x20disabled\x27\x20}}</span></td><td>—</td></tr><tr><td>Files</td><td><span\x20:style=\x22status.effective.features.files\x20?\x20\x27color:var(--okdb-success,#38a169)\x27\x20:\x20\x27opacity:.45\x27\x22>{{\x20status.effective.features.files\x20?\x20\x27✓\x20enabled\x27\x20:\x20\x27✗\x20disabled\x27\x20}}</span></td><td>—</td></tr><tr><td>Environments</td><td><span\x20style=\x22color:var(--okdb-success,#38a169)\x22>✓\x20enabled</span></td><td\x20style=\x22font-family:monospace;\x22>{{\x20status.effective.limits.envs\x20?\x20\x27max\x20\x27\x20+\x20status.effective.limits.envs\x20:\x20\x27unlimited\x27\x20}}</td></tr><tr><td>Types\x20per\x20env</td><td><span\x20style=\x22color:var(--okdb-success,#38a169)\x22>✓\x20enabled</span></td><td\x20style=\x22font-family:monospace;\x22>{{\x20status.effective.limits.typesPerEnv\x20?\x20\x27max\x20\x27\x20+\x20status.effective.limits.typesPerEnv\x20:\x20\x27unlimited\x27\x20}}</td></tr><tr><td>Total\x20writes</td><td><span\x20style=\x22color:var(--okdb-success,#38a169)\x22>✓\x20enabled</span></td><td\x20style=\x22font-family:monospace;\x22>{{\x20status.effective.limits.maxWrites\x20?\x20(status.effective.limits.maxWrites).toLocaleString()\x20+\x20\x27\x20max\x27\x20:\x20\x27unlimited\x27\x20}}</td></tr></tbody></table></if><if\x20:=\x22status\x20&&\x20status.licenses\x20&&\x20status.licenses.length\x20>\x200\x22><div\x20class=\x22lp-lic-header\x22><span>ID</span><span>Licensee</span><span>Expires</span><span>Status</span><span>Features</span><span>Actions</span></div><each\x20:of=\x22status.licenses\x22\x20let:lic><div\x20class=\x22lp-lic-row\x22><div\x20class=\x22lp-lic-cells\x22><span\x20style=\x22font-family:monospace;\x20opacity:.7;\x20font-size:11px;\x22>{{\x20shortId(lic.id)\x20}}</span>\x20<span\x20style=\x22font-size:12px;\x22>{{\x20lic.licensee\x20||\x20\x27—\x27\x20}}</span>\x20<span\x20style=\x22font-family:monospace;\x20font-size:12px;\x22>{{\x20formatDate(lic.expiresAt)\x20}}</span>\x20<span><span\x20:style=\x22badgeStyle(lic.status)\x22>{{\x20lic.status\x20}}</span></span>\x20<span\x20style=\x22opacity:.7;\x20font-size:12px;\x22>{{\x20featureSummary(lic.features)\x20}}</span><div\x20style=\x22display:flex;\x20gap:6px;\x20flex-wrap:wrap;\x20align-items:center;\x22><if\x20:=\x22lic.status\x20===\x20\x27pending\x27\x20||\x20lic.status\x20===\x20\x27wrong_node\x27\x22><button\x20class=\x22lp-btn\x22\x20style=\x22font-size:11px;\x22\x20@click=\x22openActivate(lic.id)\x22>Activate</button></if><button\x20class=\x22lp-btn\x20lp-btn--danger\x22\x20style=\x22font-size:11px;\x22\x20@click=\x22removeLicense(lic.id)\x22>Remove</button></div></div><if\x20:=\x22activatingId\x20===\x20lic.id\x22><div\x20class=\x22lp-activate-row\x22><div\x20style=\x22font-size:11px;\x20opacity:.7;\x22>PIN\x20for\x20this\x20license:\x20<span\x20style=\x22font-family:monospace;\x20font-weight:600;\x22>{{\x20licensePin(lic)\x20}}</span></div><textarea\x20:value=\x22activateToken\x22\x20@input=\x22activateToken\x20=\x20$event.target.value\x22\x20rows=\x223\x22\x20placeholder=\x22Paste\x20activation\x20token…\x22\x20style=\x22width:100%;\x20font-family:monospace;\x20font-size:11px;\x20resize:vertical;\x22/><if\x20:=\x22activateError\x22><div\x20style=\x22font-size:11px;\x20color:var(--okdb-danger);\x22>{{\x20activateError\x20}}</div></if><div\x20style=\x22display:flex;\x20gap:6px;\x20justify-content:flex-end;\x22><button\x20class=\x22lp-btn\x22\x20style=\x22font-size:11px;\x22\x20@click=\x22cancelActivate()\x22>Cancel</button>\x20<button\x20class=\x22lp-btn\x20lp-btn--primary\x22\x20style=\x22font-size:11px;\x22\x20@click=\x22submitActivate(lic.id)\x22\x20:disabled=\x22!activateToken.trim()\x20||\x20activateLoading\x22>{{\x20activateLoading\x20?\x20\x27Activating…\x27\x20:\x20\x27Activate\x27\x20}}</button></div></div></if></div></each></if><if\x20:=\x22error\x22><div\x20style=\x22font-size:13px;\x20color:var(--okdb-danger);\x20padding:12px\x200;\x22>{{\x20error\x20}}</div></if></if></div>','active','unavailable','licenseId','Remove\x20this\x20license?','showAddForm','then','status','activateLoading','background:rgba(237,201,75,.1);border-color:rgba(237,201,75,.3);color:#edc94b;','4yLFghs','none','addError','7764168rOjgeC','ADMIN_API','Activation\x20failed','string','toast','var(--okdb-danger,#f56565)','result','replace','slice','license-panel','round','Failed\x20to\x20load\x20license\x20status','background:var(--okdb-success-soft-bg,rgba(72,187,120,.12));border-color:var(--okdb-success-soft-border,rgba(72,187,120,.25));color:var(--okdb-success,#48bb78);','length','load','activateToken','52zKjnaQ','message','683330MVRDiN','pin','catch','319138zUcPEr','trim','json','isArray','filter','activatingId','find','stringify','join','background:var(--okdb-danger-soft-bg,rgba(245,101,101,.1));border-color:var(--okdb-danger-soft-border,rgba(245,101,101,.25));color:var(--okdb-danger,#f56565);','addInput','24zztQxi','licensee','activateError','Failed\x20to\x20add\x20license','Copy\x20failed','9XWIoaa'];_0x3023=function(){return _0xffabcc;};return _0x3023();}export default{'tag':_0x40278c(0x1b0),'context':_0x5d3e76=>({'status':null,'loading':!0x0,'error':null,'unavailable':!0x1,'showAddForm':!0x1,'addInput':'','addLoading':!0x1,'addError':null,'activatingId':null,'activateToken':'','activateLoading':!0x1,'activateError':null,async 'load'(){const _0x256663=_0x40278c;this['loading']=!0x0,this[_0x256663(0x1e6)]=null,this[_0x256663(0x19c)]=!0x1;try{const _0x26478a=await fetch(t()+'/status');if(!_0x26478a['ok']){const _0x14c412=await _0x26478a['json']()[_0x256663(0x1bb)](()=>({}));throw new Error(_0x14c412?.[_0x256663(0x1e6)]?.['message']||_0x14c412?.[_0x256663(0x1e6)]||_0x256663(0x1b2));}const _0x53602a=await _0x26478a[_0x256663(0x1be)]();this[_0x256663(0x1a1)]=_0x53602a[_0x256663(0x1d4)]??_0x53602a['result']??_0x53602a;}catch(_0x3baa84){this[_0x256663(0x1e6)]=_0x3baa84?.['message']||String(_0x3baa84);}finally{this[_0x256663(0x1d8)]=!0x1;}},'openAddForm'(){const _0x29d0cd=_0x40278c;this['showAddForm']=!0x0,this[_0x29d0cd(0x1c6)]='',this['addError']=null;},'cancelAddForm'(){const _0x5a8699=_0x40278c;this['showAddForm']=!0x1,this[_0x5a8699(0x1a6)]=null;},async 'submitAdd'(){const _0x5e08ce=_0x40278c;if(this[_0x5e08ce(0x1c6)]['trim']()&&!this['addLoading']){this[_0x5e08ce(0x1e1)]=!0x0,this[_0x5e08ce(0x1a6)]=null;try{const _0x505639=await fetch(''+t(),{'method':_0x5e08ce(0x1d7),'headers':{'Content-Type':'application/json'},'body':JSON[_0x5e08ce(0x1c3)]({'input':this['addInput'][_0x5e08ce(0x1bd)]()})}),_0x493d52=await _0x505639[_0x5e08ce(0x1be)]();if(!_0x505639['ok']){const _0x251f05=_0x493d52?.['error']?.[_0x5e08ce(0x1b8)]||_0x493d52?.[_0x5e08ce(0x1e6)]||_0x493d52?.[_0x5e08ce(0x1d4)]?.[_0x5e08ce(0x1e6)]||_0x493d52?.[_0x5e08ce(0x1ad)]?.[_0x5e08ce(0x1e6)]||_0x5e08ce(0x1ca);throw new Error('string'==typeof _0x251f05?_0x251f05:JSON[_0x5e08ce(0x1c3)](_0x251f05));}this[_0x5e08ce(0x19f)]=!0x1,await this[_0x5e08ce(0x1b5)]();}catch(_0x4d1b20){this[_0x5e08ce(0x1a6)]=_0x4d1b20?.['message']||String(_0x4d1b20);}finally{this[_0x5e08ce(0x1e1)]=!0x1;}}},'copyPin'(){const _0x30ed9c=_0x40278c,_0x4013bf=this['pinDisplay']();_0x4013bf&&'—'!==_0x4013bf&&navigator[_0x30ed9c(0x1cf)]?.[_0x30ed9c(0x1da)]&&navigator[_0x30ed9c(0x1cf)]['writeText'](_0x4013bf)[_0x30ed9c(0x1a0)](()=>_0x5d3e76['$ok']['shared']?.['toast']?.['success']?.('PIN\x20copied'),()=>_0x5d3e76['$ok'][_0x30ed9c(0x1cd)]?.[_0x30ed9c(0x1ab)]?.[_0x30ed9c(0x1e6)]?.(_0x30ed9c(0x1cb)));},'usagePct':(_0x261012,_0x284ddd)=>_0x284ddd&&0x0!==_0x284ddd?Math[_0x40278c(0x1d0)](0x64,Math[_0x40278c(0x1b1)](_0x261012/_0x284ddd*0x64)):0x0,'usageBarColor':_0x40d3c6=>_0x40d3c6>=0x5a?_0x40278c(0x1ac):_0x40d3c6>=0x4b?_0x40278c(0x1dd):'var(--okdb-success,#48bb78)','formatNum':_0x5a9207=>null==_0x5a9207?'—':Number(_0x5a9207)[_0x40278c(0x1e4)](),'openActivate'(_0x3cfa40){const _0x24a4f3=_0x40278c;this[_0x24a4f3(0x1c1)]=_0x3cfa40,this[_0x24a4f3(0x1b6)]='',this[_0x24a4f3(0x1c9)]=null;},'cancelActivate'(){const _0x1ce05b=_0x40278c;this[_0x1ce05b(0x1c1)]=null,this[_0x1ce05b(0x1c9)]=null;},async 'submitActivate'(_0x286a9d){const _0x1d6f20=_0x40278c;if(this[_0x1d6f20(0x1b6)]['trim']()&&!this[_0x1d6f20(0x1a2)]){this[_0x1d6f20(0x1a2)]=!0x0,this[_0x1d6f20(0x1c9)]=null;try{const _0x141367=await fetch(t()+'/'+encodeURIComponent(_0x286a9d)+'/activate',{'method':_0x1d6f20(0x1d7),'headers':{'Content-Type':'application/json'},'body':JSON[_0x1d6f20(0x1c3)]({'activation':this[_0x1d6f20(0x1b6)][_0x1d6f20(0x1bd)]()})}),_0x5852a5=await _0x141367[_0x1d6f20(0x1be)]();if(!_0x141367['ok']){const _0x5bbba2=_0x5852a5?.[_0x1d6f20(0x1e6)]?.[_0x1d6f20(0x1b8)]||_0x5852a5?.[_0x1d6f20(0x1e6)]||_0x5852a5?.[_0x1d6f20(0x1d4)]?.[_0x1d6f20(0x1e6)]||_0x5852a5?.[_0x1d6f20(0x1ad)]?.[_0x1d6f20(0x1e6)]||_0x1d6f20(0x1a9);throw new Error(_0x1d6f20(0x1aa)==typeof _0x5bbba2?_0x5bbba2:JSON[_0x1d6f20(0x1c3)](_0x5bbba2));}this[_0x1d6f20(0x1c1)]=null,await this['load']();}catch(_0x58691b){this[_0x1d6f20(0x1c9)]=_0x58691b?.[_0x1d6f20(0x1b8)]||String(_0x58691b);}finally{this[_0x1d6f20(0x1a2)]=!0x1;}}},async 'removeLicense'(_0x5d1c3b){const _0x23963e=_0x40278c;if(confirm(_0x23963e(0x19e)))try{const _0x323c8f=await fetch(t()+'/'+encodeURIComponent(_0x5d1c3b),{'method':_0x23963e(0x1e5)}),_0x5039f4=await _0x323c8f[_0x23963e(0x1be)]();if(!_0x323c8f['ok']){const _0x44c42f=_0x5039f4?.[_0x23963e(0x1e6)]?.[_0x23963e(0x1b8)]||_0x5039f4?.['error']||_0x5039f4?.['data']?.[_0x23963e(0x1e6)]||_0x5039f4?.[_0x23963e(0x1ad)]?.[_0x23963e(0x1e6)]||'Remove\x20failed';throw new Error('string'==typeof _0x44c42f?_0x44c42f:JSON[_0x23963e(0x1c3)](_0x44c42f));}_0x5d3e76[_0x23963e(0x1e3)][_0x23963e(0x1cd)]?.['toast']?.[_0x23963e(0x1d2)]?.(_0x23963e(0x1dc)),await this[_0x23963e(0x1b5)]();}catch(_0x119561){_0x5d3e76[_0x23963e(0x1e3)][_0x23963e(0x1cd)]?.[_0x23963e(0x1ab)]?.[_0x23963e(0x1e6)]?.(_0x119561?.[_0x23963e(0x1b8)]||_0x23963e(0x1db));}},'formatDate':_0x5bc146=>_0x5bc146?new Date(_0x5bc146)[_0x40278c(0x1e2)]()[_0x40278c(0x1af)](0x0,0xa):'—','shortId':_0x3ecf69=>_0x3ecf69?_0x3ecf69[_0x40278c(0x1af)](0x0,0x8)+'…':'—','featureSummary'(_0x7cc10){const _0x1a4b2a=_0x40278c;if(!_0x7cc10)return'—';const _0x26479c=Object[_0x1a4b2a(0x1d6)](_0x7cc10)[_0x1a4b2a(0x1c0)](([,_0x30f2f9])=>_0x30f2f9)[_0x1a4b2a(0x1ce)](([_0x59b0ba])=>_0x59b0ba);return _0x26479c[_0x1a4b2a(0x1b4)]?_0x26479c[0x0]+(_0x26479c['length']>0x1?'\x20+'+(_0x26479c[_0x1a4b2a(0x1b4)]-0x1):''):_0x1a4b2a(0x1a5);},'pinDisplay'(){const _0x2e8327=_0x40278c,_0x9dceb8=this[_0x2e8327(0x1a1)]?.[_0x2e8327(0x1ba)];return _0x9dceb8?Array[_0x2e8327(0x1bf)](_0x9dceb8)?0x0===_0x9dceb8[_0x2e8327(0x1b4)]?'—':_0x9dceb8[_0x2e8327(0x1ce)](_0x1c9227=>_0x2e8327(0x1aa)==typeof _0x1c9227?_0x1c9227:_0x1c9227?.[_0x2e8327(0x1ba)])['filter'](Boolean)[_0x2e8327(0x1c4)](',\x20')||'—':_0x9dceb8:'—';},'hasActive'(){return(this['status']?.['activeCount']??0x0)>0x0;},'activeLicensee'(){const _0x32c850=_0x40278c;return this['status']?.[_0x32c850(0x1d1)]?.[_0x32c850(0x1c2)](_0x25495f=>_0x32c850(0x19b)===_0x25495f[_0x32c850(0x1a1)])?.[_0x32c850(0x1c8)]??null;},'activeExpiry'(){const _0x544694=_0x40278c;return this[_0x544694(0x1a1)]?.[_0x544694(0x1d1)]?.[_0x544694(0x1c2)](_0x27a48f=>_0x544694(0x19b)===_0x27a48f[_0x544694(0x1a1)])?.['expiresAt']??null;},'badgeStyle':_0x44b2cc=>({'active':_0x40278c(0x1b3),'expired':_0x40278c(0x1c5),'invalid':_0x40278c(0x1c5),'pending':_0x40278c(0x1a3),'wrong_node':'background:rgba(237,137,54,.1);border-color:rgba(237,137,54,.3);color:#ed8936;'}[_0x44b2cc]||'')+'font-size:10px;padding:2px\x207px;border-radius:4px;border:1px\x20solid;font-weight:500;text-transform:uppercase;letter-spacing:.04em;','licensePin'(_0x177792){const _0x2efbe4=_0x40278c,_0x28a9cb=this['status']?.['pin'];if(Array[_0x2efbe4(0x1bf)](_0x28a9cb)){const _0x10735f=_0x28a9cb[_0x2efbe4(0x1c2)](_0x1932a8=>_0x1932a8?.[_0x2efbe4(0x19d)]===_0x177792?.['id']);if(_0x10735f?.[_0x2efbe4(0x1ba)])return _0x10735f[_0x2efbe4(0x1ba)];}return'string'==typeof _0x177792?.[_0x2efbe4(0x1ba)]?_0x177792[_0x2efbe4(0x1ba)]:'—';}}),'mount'(){const _0x20a5b3=_0x40278c;this[_0x20a5b3(0x1b5)]();},'style':_0x40278c(0x1d5),'template':_0x40278c(0x19a)};
|
|
1
|
+
function _0x1102(_0x47d0a9,_0x1e09a4){_0x47d0a9=_0x47d0a9-0x19b;const _0x89e895=_0x89e8();let _0x11024d=_0x89e895[_0x47d0a9];return _0x11024d;}function _0x89e8(){const _0x36f4d1=['loading','data','toast','Remove\x20this\x20license?','/status','Activation\x20failed','activatingId','application/json','Copy\x20failed','addError','licenses','49733JaxRPx','min','writeText','success','POST','3aDVfgb','License\x20removed','isArray','addInput','171092INwyFE','catch','license-panel{display:block;padding:24px;max-width:860px}.lp-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.lp-title{font-size:18px;font-weight:600}.lp-status-banner{padding:12px\x2016px;border-radius:10px;border:1px\x20solid;font-size:13px;margin-bottom:20px;display:flex;align-items:center;gap:10px}.lp-status-banner--ok{background:var(--okdb-success-soft-bg,\x20rgba(72,187,120,.08));border-color:var(--okdb-success-soft-border,\x20rgba(72,187,120,.2));color:var(--okdb-success,\x20#48bb78)}.lp-status-banner--warn{background:var(--okdb-danger-soft-bg,\x20rgba(245,101,101,.08));border-color:var(--okdb-danger-soft-border,\x20rgba(245,101,101,.2));color:var(--okdb-danger,\x20#f56565)}.lp-pin-box{background:var(--okdb-app-surface-2,\x20rgba(255,255,255,.04));border:1px\x20solid\x20var(--okdb-app-border);border-radius:8px;padding:12px\x2016px;margin-bottom:20px;font-size:12px}.lp-pin-label{opacity:.5;text-transform:uppercase;letter-spacing:.06em;font-size:10px;margin-bottom:4px}.lp-pin-value{font-family:monospace;font-size:15px;font-weight:600;letter-spacing:.08em}.lp-lic-cells,.lp-lic-header{display:grid;grid-template-columns:90px\x201fr\x2090px\x2080px\x2080px\x20auto;gap:0\x2010px;align-items:center;padding:6px\x2010px}.lp-lic-header{font-size:10px;text-transform:uppercase;letter-spacing:.06em;opacity:.45}.lp-lic-header,.lp-lic-row{border-bottom:1px\x20solid\x20var(--okdb-app-border)}.lp-lic-row:last-child{border-bottom:none}.lp-add-form{background:var(--okdb-app-surface-2,\x20rgba(255,255,255,.03));border:1px\x20solid\x20var(--okdb-app-border);border-radius:10px;padding:16px;margin-bottom:20px;display:flex;flex-direction:column;gap:12px}.lp-form-label{font-size:10px;opacity:.5;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.lp-activate-row,.lp-btn{border:1px\x20solid\x20var(--okdb-app-border)}.lp-activate-row{background:var(--okdb-app-surface-2,\x20rgba(255,255,255,.03));border-radius:8px;padding:10px\x2012px;display:flex;flex-direction:column;gap:8px;margin-top:4px}.lp-btn{padding:5px\x2012px;border-radius:6px;background:0\x200;color:var(--okdb-app-fg-muted);font-size:12px;font-weight:500;cursor:pointer;transition:background\x20.1s,color\x20.1s}.lp-btn:hover{background:var(--okdb-app-surface-2);color:var(--okdb-app-fg-strong)}.lp-btn--primary{background:var(--okdb-sky-soft-bg,\x20rgba(99,179,237,.1));border-color:var(--okdb-sky-soft-border,\x20rgba(99,179,237,.25));color:var(--okdb-sky,\x20#63b3ed)}.lp-btn--danger{background:var(--okdb-danger-soft-bg,\x20rgba(245,101,101,.08));border-color:var(--okdb-danger-soft-border,\x20rgba(245,101,101,.2));color:var(--okdb-danger,\x20#f56565)}','shared','activateLoading','905728jqulyd','status','string','slice','pin','background:rgba(237,137,54,.1);border-color:rgba(237,137,54,.3);color:#ed8936;','addLoading','pinDisplay','740640ZoUWtM','replace','915089MEgORL','result','666160tokYGT','license-panel','activeCount','expiresAt','find','var(--okdb-success,#48bb78)','font-size:10px;padding:2px\x207px;border-radius:4px;border:1px\x20solid;font-weight:500;text-transform:uppercase;letter-spacing:.04em;','error','then','activateError','$ok','Remove\x20failed','background:var(--okdb-danger-soft-bg,rgba(245,101,101,.1));border-color:var(--okdb-danger-soft-border,rgba(245,101,101,.25));color:var(--okdb-danger,#f56565);','length','stringify','trim','json','clipboard','join','Failed\x20to\x20load\x20license\x20status','toISOString','activateToken','background:var(--okdb-success-soft-bg,rgba(72,187,120,.12));border-color:var(--okdb-success-soft-border,rgba(72,187,120,.25));color:var(--okdb-success,#48bb78);','var(--okdb-danger,#f56565)','map','var(--okdb-warn,#edc94b)','filter','licenseId','none','active','background:rgba(237,201,75,.1);border-color:rgba(237,201,75,.3);color:#edc94b;','message','DELETE','load','1379478vxyKAz','showAddForm','toLocaleString','Failed\x20to\x20add\x20license','entries'];_0x89e8=function(){return _0x36f4d1;};return _0x89e8();}const _0x1b2d43=_0x1102;(function(_0x5c1974,_0x242828){const _0x3eb2d6=_0x1102,_0x356567=_0x5c1974();while(!![]){try{const _0x3e992d=-parseInt(_0x3eb2d6(0x1c6))/0x1+-parseInt(_0x3eb2d6(0x1cf))/0x2*(-parseInt(_0x3eb2d6(0x1cb))/0x3)+-parseInt(_0x3eb2d6(0x1d4))/0x4+parseInt(_0x3eb2d6(0x1dc))/0x5+parseInt(_0x3eb2d6(0x1b6))/0x6+-parseInt(_0x3eb2d6(0x1de))/0x7+parseInt(_0x3eb2d6(0x1e0))/0x8;if(_0x3e992d===_0x242828)break;else _0x356567['push'](_0x356567['shift']());}catch(_0x53f695){_0x356567['push'](_0x356567['shift']());}}}(_0x89e8,0x222bd));const t=()=>__ENV__['ADMIN_API'][_0x1b2d43(0x1dd)](/\/api$/,'')+'/license';export default{'tag':_0x1b2d43(0x1e1),'context':_0x25f441=>({'status':null,'loading':!0x0,'error':null,'unavailable':!0x1,'showAddForm':!0x1,'addInput':'','addLoading':!0x1,'addError':null,'activatingId':null,'activateToken':'','activateLoading':!0x1,'activateError':null,async 'load'(){const _0x1c74f6=_0x1b2d43;this[_0x1c74f6(0x1bb)]=!0x0,this[_0x1c74f6(0x19b)]=null,this['unavailable']=!0x1;try{const _0x575f75=await fetch(t()+_0x1c74f6(0x1bf));if(!_0x575f75['ok']){const _0x230ab9=await _0x575f75[_0x1c74f6(0x1a4)]()[_0x1c74f6(0x1d0)](()=>({}));throw new Error(_0x230ab9?.['error']?.[_0x1c74f6(0x1b3)]||_0x230ab9?.['error']||_0x1c74f6(0x1a7));}const _0x77cac3=await _0x575f75['json']();this[_0x1c74f6(0x1d5)]=_0x77cac3['data']??_0x77cac3[_0x1c74f6(0x1df)]??_0x77cac3;}catch(_0x3f0759){this[_0x1c74f6(0x19b)]=_0x3f0759?.['message']||String(_0x3f0759);}finally{this[_0x1c74f6(0x1bb)]=!0x1;}},'openAddForm'(){const _0xfad11c=_0x1b2d43;this[_0xfad11c(0x1b7)]=!0x0,this['addInput']='',this[_0xfad11c(0x1c4)]=null;},'cancelAddForm'(){const _0x118cf5=_0x1b2d43;this[_0x118cf5(0x1b7)]=!0x1,this[_0x118cf5(0x1c4)]=null;},async 'submitAdd'(){const _0x55debf=_0x1b2d43;if(this[_0x55debf(0x1ce)][_0x55debf(0x1a3)]()&&!this[_0x55debf(0x1da)]){this[_0x55debf(0x1da)]=!0x0,this[_0x55debf(0x1c4)]=null;try{const _0x565eab=await fetch(''+t(),{'method':_0x55debf(0x1ca),'headers':{'Content-Type':_0x55debf(0x1c2)},'body':JSON['stringify']({'input':this[_0x55debf(0x1ce)][_0x55debf(0x1a3)]()})}),_0x23b69e=await _0x565eab[_0x55debf(0x1a4)]();if(!_0x565eab['ok']){const _0x3748d4=_0x23b69e?.[_0x55debf(0x19b)]?.['message']||_0x23b69e?.['error']||_0x23b69e?.[_0x55debf(0x1bc)]?.[_0x55debf(0x19b)]||_0x23b69e?.[_0x55debf(0x1df)]?.[_0x55debf(0x19b)]||_0x55debf(0x1b9);throw new Error('string'==typeof _0x3748d4?_0x3748d4:JSON['stringify'](_0x3748d4));}this[_0x55debf(0x1b7)]=!0x1,await this[_0x55debf(0x1b5)]();}catch(_0x20f2df){this[_0x55debf(0x1c4)]=_0x20f2df?.[_0x55debf(0x1b3)]||String(_0x20f2df);}finally{this['addLoading']=!0x1;}}},'copyPin'(){const _0x42cd05=_0x1b2d43,_0x320794=this[_0x42cd05(0x1db)]();_0x320794&&'—'!==_0x320794&&navigator[_0x42cd05(0x1a5)]?.[_0x42cd05(0x1c8)]&&navigator[_0x42cd05(0x1a5)][_0x42cd05(0x1c8)](_0x320794)[_0x42cd05(0x19c)](()=>_0x25f441[_0x42cd05(0x19e)][_0x42cd05(0x1d2)]?.[_0x42cd05(0x1bd)]?.['success']?.('PIN\x20copied'),()=>_0x25f441[_0x42cd05(0x19e)][_0x42cd05(0x1d2)]?.[_0x42cd05(0x1bd)]?.['error']?.(_0x42cd05(0x1c3)));},'usagePct':(_0x48d3a7,_0x3a0c21)=>_0x3a0c21&&0x0!==_0x3a0c21?Math[_0x1b2d43(0x1c7)](0x64,Math['round'](_0x48d3a7/_0x3a0c21*0x64)):0x0,'usageBarColor':_0x453c0b=>_0x453c0b>=0x5a?_0x1b2d43(0x1ab):_0x453c0b>=0x4b?_0x1b2d43(0x1ad):_0x1b2d43(0x1e5),'formatNum':_0x595078=>null==_0x595078?'—':Number(_0x595078)[_0x1b2d43(0x1b8)](),'openActivate'(_0x5bed1d){const _0x237d79=_0x1b2d43;this['activatingId']=_0x5bed1d,this[_0x237d79(0x1a9)]='',this['activateError']=null;},'cancelActivate'(){const _0x5f3bc5=_0x1b2d43;this[_0x5f3bc5(0x1c1)]=null,this[_0x5f3bc5(0x19d)]=null;},async 'submitActivate'(_0x2f368f){const _0x365fc2=_0x1b2d43;if(this[_0x365fc2(0x1a9)][_0x365fc2(0x1a3)]()&&!this[_0x365fc2(0x1d3)]){this[_0x365fc2(0x1d3)]=!0x0,this[_0x365fc2(0x19d)]=null;try{const _0x100a84=await fetch(t()+'/'+encodeURIComponent(_0x2f368f)+'/activate',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON[_0x365fc2(0x1a2)]({'activation':this['activateToken'][_0x365fc2(0x1a3)]()})}),_0x181062=await _0x100a84[_0x365fc2(0x1a4)]();if(!_0x100a84['ok']){const _0x415fb5=_0x181062?.['error']?.[_0x365fc2(0x1b3)]||_0x181062?.[_0x365fc2(0x19b)]||_0x181062?.[_0x365fc2(0x1bc)]?.[_0x365fc2(0x19b)]||_0x181062?.[_0x365fc2(0x1df)]?.[_0x365fc2(0x19b)]||_0x365fc2(0x1c0);throw new Error(_0x365fc2(0x1d6)==typeof _0x415fb5?_0x415fb5:JSON[_0x365fc2(0x1a2)](_0x415fb5));}this[_0x365fc2(0x1c1)]=null,await this[_0x365fc2(0x1b5)]();}catch(_0x4f0ef7){this[_0x365fc2(0x19d)]=_0x4f0ef7?.[_0x365fc2(0x1b3)]||String(_0x4f0ef7);}finally{this[_0x365fc2(0x1d3)]=!0x1;}}},async 'removeLicense'(_0x1483ad){const _0x593146=_0x1b2d43;if(confirm(_0x593146(0x1be)))try{const _0x40aad9=await fetch(t()+'/'+encodeURIComponent(_0x1483ad),{'method':_0x593146(0x1b4)}),_0x5e8665=await _0x40aad9[_0x593146(0x1a4)]();if(!_0x40aad9['ok']){const _0x1d9f88=_0x5e8665?.[_0x593146(0x19b)]?.[_0x593146(0x1b3)]||_0x5e8665?.[_0x593146(0x19b)]||_0x5e8665?.[_0x593146(0x1bc)]?.[_0x593146(0x19b)]||_0x5e8665?.[_0x593146(0x1df)]?.[_0x593146(0x19b)]||_0x593146(0x19f);throw new Error(_0x593146(0x1d6)==typeof _0x1d9f88?_0x1d9f88:JSON[_0x593146(0x1a2)](_0x1d9f88));}_0x25f441[_0x593146(0x19e)][_0x593146(0x1d2)]?.[_0x593146(0x1bd)]?.[_0x593146(0x1c9)]?.(_0x593146(0x1cc)),await this[_0x593146(0x1b5)]();}catch(_0x179879){_0x25f441['$ok']['shared']?.[_0x593146(0x1bd)]?.['error']?.(_0x179879?.[_0x593146(0x1b3)]||_0x593146(0x19f));}},'formatDate':_0xf785a7=>_0xf785a7?new Date(_0xf785a7)[_0x1b2d43(0x1a8)]()[_0x1b2d43(0x1d7)](0x0,0xa):'—','shortId':_0x2a9d40=>_0x2a9d40?_0x2a9d40['slice'](0x0,0x8)+'…':'—','featureSummary'(_0x4d93a8){const _0x5b55c6=_0x1b2d43;if(!_0x4d93a8)return'—';const _0x58cc20=Object[_0x5b55c6(0x1ba)](_0x4d93a8)[_0x5b55c6(0x1ae)](([,_0x5c9bf0])=>_0x5c9bf0)[_0x5b55c6(0x1ac)](([_0x1fb884])=>_0x1fb884);return _0x58cc20['length']?_0x58cc20[0x0]+(_0x58cc20[_0x5b55c6(0x1a1)]>0x1?'\x20+'+(_0x58cc20[_0x5b55c6(0x1a1)]-0x1):''):_0x5b55c6(0x1b0);},'pinDisplay'(){const _0x3c69fe=_0x1b2d43,_0x349bb5=this[_0x3c69fe(0x1d5)]?.['pin'];return _0x349bb5?Array[_0x3c69fe(0x1cd)](_0x349bb5)?0x0===_0x349bb5[_0x3c69fe(0x1a1)]?'—':_0x349bb5[_0x3c69fe(0x1ac)](_0xb9fc47=>'string'==typeof _0xb9fc47?_0xb9fc47:_0xb9fc47?.['pin'])[_0x3c69fe(0x1ae)](Boolean)[_0x3c69fe(0x1a6)](',\x20')||'—':_0x349bb5:'—';},'hasActive'(){const _0x44f131=_0x1b2d43;return(this[_0x44f131(0x1d5)]?.[_0x44f131(0x1e2)]??0x0)>0x0;},'activeLicensee'(){const _0x5ace7c=_0x1b2d43;return this['status']?.['licenses']?.[_0x5ace7c(0x1e4)](_0x2fa789=>_0x5ace7c(0x1b1)===_0x2fa789[_0x5ace7c(0x1d5)])?.['licensee']??null;},'activeExpiry'(){const _0x5070e9=_0x1b2d43;return this[_0x5070e9(0x1d5)]?.[_0x5070e9(0x1c5)]?.['find'](_0x565f25=>_0x5070e9(0x1b1)===_0x565f25[_0x5070e9(0x1d5)])?.[_0x5070e9(0x1e3)]??null;},'badgeStyle':_0x207b76=>({'active':_0x1b2d43(0x1aa),'expired':_0x1b2d43(0x1a0),'invalid':_0x1b2d43(0x1a0),'pending':_0x1b2d43(0x1b2),'wrong_node':_0x1b2d43(0x1d9)}[_0x207b76]||'')+_0x1b2d43(0x1e6),'licensePin'(_0x573a9f){const _0x459df0=_0x1b2d43,_0x2d98e3=this[_0x459df0(0x1d5)]?.['pin'];if(Array['isArray'](_0x2d98e3)){const _0x11ea95=_0x2d98e3[_0x459df0(0x1e4)](_0x54eeea=>_0x54eeea?.[_0x459df0(0x1af)]===_0x573a9f?.['id']);if(_0x11ea95?.[_0x459df0(0x1d8)])return _0x11ea95[_0x459df0(0x1d8)];}return _0x459df0(0x1d6)==typeof _0x573a9f?.[_0x459df0(0x1d8)]?_0x573a9f['pin']:'—';}}),'mount'(){const _0x2b73bd=_0x1b2d43;this[_0x2b73bd(0x1b5)]();},'style':_0x1b2d43(0x1d1),'template':'<div><if\x20:=\x22loading\x22><div\x20style=\x22font-size:13px;\x20opacity:.5;\x20padding:20px\x200;\x22>Loading…</div></if><if\x20:=\x22!loading\x20&&\x20unavailable\x22><div\x20style=\x22font-size:13px;\x20opacity:.6;\x20padding:20px\x200;\x22>License\x20system\x20not\x20available\x20in\x20this\x20build.</div></if><if\x20:=\x22!loading\x20&&\x20!unavailable\x22><div\x20class=\x22lp-header\x22><div\x20class=\x22lp-title\x22>License</div><button\x20class=\x22lp-btn\x20lp-btn--primary\x22\x20@click=\x22openAddForm()\x22>+\x20Add\x20License</button></div><if\x20:=\x22hasActive()\x22><div\x20class=\x22lp-status-banner\x20lp-status-banner--ok\x22><span>✓\x20Licensed</span>\x20<span>—</span>\x20<span\x20style=\x22font-weight:600;\x22>{{\x20activeLicensee()\x20}}</span><if\x20:=\x22activeExpiry()\x22><span\x20style=\x22opacity:.7;\x22>·\x20Expires\x20{{\x20formatDate(activeExpiry())\x20}}</span></if></div></if><if\x20:=\x22!hasActive()\x22><div\x20class=\x22lp-status-banner\x20lp-status-banner--warn\x22><span>⚠\x20Free\x20tier</span><if\x20:=\x22status\x20&&\x20status.effective\x22><span\x20style=\x22opacity:.7;\x20font-size:12px;\x22>—\x20envs={{\x20status.effective.limits.envs\x20}},\x20types/env={{\x20status.effective.limits.typesPerEnv\x20}},\x20writes={{\x20(status.effective.limits.maxWrites||0).toLocaleString()\x20}}</span></if></div><if\x20:=\x22status\x20&&\x20status.isLicensedBuild\x20&&\x20pinDisplay()\x20!==\x20\x27—\x27\x22><div\x20class=\x22lp-pin-box\x22><div\x20class=\x22lp-pin-label\x22>Node\x20PIN\x20—\x20share\x20this\x20with\x20your\x20license\x20provider</div><div\x20style=\x22display:flex;\x20align-items:center;\x20gap:10px;\x22><div\x20class=\x22lp-pin-value\x22>{{\x20pinDisplay()\x20}}</div><button\x20class=\x22lp-btn\x22\x20style=\x22font-size:11px;\x20padding:3px\x208px;\x22\x20@click=\x22copyPin()\x22>Copy</button></div><div\x20style=\x22font-size:11px;\x20opacity:.55;\x20margin-top:6px;\x22>How\x20activation\x20works:\x20paste\x20your\x20<strong>license\x20blob</strong>\x20below\x20→\x20vendor\x20signs\x20an\x20activation\x20token\x20bound\x20to\x20this\x20PIN\x20→\x20paste\x20the\x20activation\x20token\x20to\x20enable\x20the\x20license.</div></div></if><if\x20:=\x22status\x20&&\x20status.isLicensedBuild\x20&&\x20status.buildFingerprint\x22><div\x20class=\x22lp-pin-box\x22\x20style=\x22margin-top:-12px;\x22><div\x20class=\x22lp-pin-label\x22>Build\x20signing-key\x20fingerprint</div><div\x20style=\x22font-family:monospace;\x20font-size:12px;\x22>{{\x20status.buildFingerprint\x20}}</div><div\x20style=\x22font-size:11px;\x20opacity:.55;\x20margin-top:6px;\x22>Your\x20license\x20must\x20be\x20signed\x20by\x20the\x20private\x20key\x20paired\x20with\x20this\x20fingerprint.\x20If\x20you\x20see\x20<em>\x22License\x20signature\x20invalid\x22</em>,\x20the\x20license\x20was\x20signed\x20by\x20a\x20different\x20keypair\x20than\x20the\x20one\x20this\x20build\x20uses.</div></div></if><if\x20:=\x22status\x20&&\x20!status.isLicensedBuild\x22><div\x20class=\x22lp-pin-box\x22\x20style=\x22opacity:.6\x22><div\x20class=\x22lp-pin-label\x22>Development\x20build\x20—\x20license\x20enforcement\x20disabled</div><div\x20style=\x22font-size:12px;\x20margin-top:4px;\x22>Set\x20<code>OKDB_LICENSED_BUILD=true</code>\x20in\x20<code>.env</code>\x20to\x20enable\x20enforcement\x20in\x20dev,\x20or\x20run\x20<code>npm\x20run\x20build:prod</code>\x20for\x20a\x20production\x20build.</div></div></if></if><if\x20:=\x22status\x20&&\x20status.usage\x20&&\x20status.effective\x22><div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:10px;\x20margin-bottom:20px;\x22><if\x20:=\x22status.effective.limits.maxWrites\x22><div><div\x20style=\x22display:flex;\x20justify-content:space-between;\x20font-size:11px;\x20opacity:.7;\x20margin-bottom:4px;\x22><span>Writes</span>\x20<span\x20style=\x22font-family:monospace;\x22>{{\x20formatNum(status.usage.writes)\x20}}\x20/\x20{{\x20formatNum(status.effective.limits.maxWrites)\x20}}</span></div><div\x20style=\x22height:6px;\x20background:var(--okdb-app-surface-2,rgba(255,255,255,.06));\x20border-radius:3px;\x20overflow:hidden;\x22><div\x20:style=\x22\x27height:100%;width:\x27\x20+\x20usagePct(status.usage.writes,\x20status.effective.limits.maxWrites)\x20+\x20\x27%;background:\x27\x20+\x20usageBarColor(usagePct(status.usage.writes,\x20status.effective.limits.maxWrites))\x20+\x20\x27;transition:width\x20.2s;\x27\x22/></div></div></if><if\x20:=\x22status.effective.limits.envs\x22><div><div\x20style=\x22display:flex;\x20justify-content:space-between;\x20font-size:11px;\x20opacity:.7;\x20margin-bottom:4px;\x22><span>Environments</span>\x20<span\x20style=\x22font-family:monospace;\x22>{{\x20status.usage.envs\x20}}\x20/\x20{{\x20status.effective.limits.envs\x20}}</span></div><div\x20style=\x22height:6px;\x20background:var(--okdb-app-surface-2,rgba(255,255,255,.06));\x20border-radius:3px;\x20overflow:hidden;\x22><div\x20:style=\x22\x27height:100%;width:\x27\x20+\x20usagePct(status.usage.envs,\x20status.effective.limits.envs)\x20+\x20\x27%;background:\x27\x20+\x20usageBarColor(usagePct(status.usage.envs,\x20status.effective.limits.envs))\x20+\x20\x27;transition:width\x20.2s;\x27\x22/></div></div></if></div></if><if\x20:=\x22showAddForm\x22><div\x20class=\x22lp-add-form\x22><div\x20style=\x22font-size:13px;\x20font-weight:600;\x22>Add\x20License\x20or\x20Activation\x20Token</div><div\x20style=\x22font-size:11px;\x20opacity:.6;\x22>Paste\x20either\x20a\x20<strong>license\x20blob</strong>\x20(issued\x20by\x20your\x20vendor)\x20or\x20an\x20<strong>activation\x20token</strong>\x20(vendor\x27s\x20response\x20to\x20your\x20PIN).\x20The\x20server\x20detects\x20which\x20it\x20is.</div><div><textarea\x20:value=\x22addInput\x22\x20@input=\x22addInput\x20=\x20$event.target.value\x22\x20rows=\x226\x22\x20placeholder=\x22Paste\x20license\x20blob\x20or\x20activation\x20token\x20here…\x22\x20style=\x22width:100%;\x20font-family:monospace;\x20font-size:11px;\x20resize:vertical;\x22/></div><if\x20:=\x22addError\x22><div\x20style=\x22font-size:12px;\x20color:var(--okdb-danger);\x20background:var(--okdb-danger-soft-bg,rgba(245,101,101,.08));\x20border:1px\x20solid\x20var(--okdb-danger-soft-border,rgba(245,101,101,.2));\x20border-radius:6px;\x20padding:8px\x2012px;\x22>{{\x20addError\x20}}</div></if><div\x20style=\x22display:flex;\x20gap:8px;\x20justify-content:flex-end;\x22><button\x20class=\x22lp-btn\x22\x20@click=\x22cancelAddForm()\x22>Cancel</button>\x20<button\x20class=\x22lp-btn\x20lp-btn--primary\x22\x20@click=\x22submitAdd()\x22\x20:disabled=\x22!addInput.trim()\x20||\x20addLoading\x22>{{\x20addLoading\x20?\x20\x27Submitting…\x27\x20:\x20\x27Submit\x27\x20}}</button></div></div></if><if\x20:=\x22status\x20&&\x20status.effective\x22><div\x20style=\x22margin-top:20px;\x20font-size:10px;\x20text-transform:uppercase;\x20letter-spacing:.06em;\x20opacity:.45;\x20margin-bottom:8px;\x22>Current\x20capabilities</div><table\x20class=\x22lp-table\x22\x20style=\x22margin-bottom:16px;\x22><thead><tr><th>Feature</th><th>Status</th><th>Limit</th></tr></thead><tbody><tr><td>Sync</td><td><span\x20:style=\x22status.effective.features.sync\x20?\x20\x27color:var(--okdb-success,#38a169)\x27\x20:\x20\x27opacity:.45\x27\x22>{{\x20status.effective.features.sync\x20?\x20\x27✓\x20enabled\x27\x20:\x20\x27✗\x20disabled\x27\x20}}</span></td><td\x20style=\x22font-family:monospace;\x22>{{\x20status.effective.limits.syncPeers\x20?\x20\x27max\x20\x27\x20+\x20status.effective.limits.syncPeers\x20+\x20\x27\x20peers\x27\x20:\x20(status.effective.features.sync\x20?\x20\x27unlimited\x27\x20:\x20\x27—\x27)\x20}}</td></tr><tr><td>Embeddings</td><td><span\x20:style=\x22status.effective.features.embeddings\x20?\x20\x27color:var(--okdb-success,#38a169)\x27\x20:\x20\x27opacity:.45\x27\x22>{{\x20status.effective.features.embeddings\x20?\x20\x27✓\x20enabled\x27\x20:\x20\x27✗\x20disabled\x27\x20}}</span></td><td>—</td></tr><tr><td>Engines</td><td><span\x20:style=\x22status.effective.features.engines\x20?\x20\x27color:var(--okdb-success,#38a169)\x27\x20:\x20\x27opacity:.45\x27\x22>{{\x20status.effective.features.engines\x20?\x20\x27✓\x20enabled\x27\x20:\x20\x27✗\x20disabled\x27\x20}}</span></td><td>—</td></tr><tr><td>Full-text\x20search</td><td><span\x20:style=\x22status.effective.features.fts\x20?\x20\x27color:var(--okdb-success,#38a169)\x27\x20:\x20\x27opacity:.45\x27\x22>{{\x20status.effective.features.fts\x20?\x20\x27✓\x20enabled\x27\x20:\x20\x27✗\x20disabled\x27\x20}}</span></td><td>—</td></tr><tr><td>Time\x20machine</td><td><span\x20:style=\x22status.effective.features.timeMachine\x20?\x20\x27color:var(--okdb-success,#38a169)\x27\x20:\x20\x27opacity:.45\x27\x22>{{\x20status.effective.features.timeMachine\x20?\x20\x27✓\x20enabled\x27\x20:\x20\x27✗\x20disabled\x27\x20}}</span></td><td>—</td></tr><tr><td>Views</td><td><span\x20:style=\x22status.effective.features.views\x20?\x20\x27color:var(--okdb-success,#38a169)\x27\x20:\x20\x27opacity:.45\x27\x22>{{\x20status.effective.features.views\x20?\x20\x27✓\x20enabled\x27\x20:\x20\x27✗\x20disabled\x27\x20}}</span></td><td>—</td></tr><tr><td>MCP</td><td><span\x20:style=\x22status.effective.features.mcp\x20?\x20\x27color:var(--okdb-success,#38a169)\x27\x20:\x20\x27opacity:.45\x27\x22>{{\x20status.effective.features.mcp\x20?\x20\x27✓\x20enabled\x27\x20:\x20\x27✗\x20disabled\x27\x20}}</span></td><td>—</td></tr><tr><td>Files</td><td><span\x20:style=\x22status.effective.features.files\x20?\x20\x27color:var(--okdb-success,#38a169)\x27\x20:\x20\x27opacity:.45\x27\x22>{{\x20status.effective.features.files\x20?\x20\x27✓\x20enabled\x27\x20:\x20\x27✗\x20disabled\x27\x20}}</span></td><td>—</td></tr><tr><td>Environments</td><td><span\x20style=\x22color:var(--okdb-success,#38a169)\x22>✓\x20enabled</span></td><td\x20style=\x22font-family:monospace;\x22>{{\x20status.effective.limits.envs\x20?\x20\x27max\x20\x27\x20+\x20status.effective.limits.envs\x20:\x20\x27unlimited\x27\x20}}</td></tr><tr><td>Types\x20per\x20env</td><td><span\x20style=\x22color:var(--okdb-success,#38a169)\x22>✓\x20enabled</span></td><td\x20style=\x22font-family:monospace;\x22>{{\x20status.effective.limits.typesPerEnv\x20?\x20\x27max\x20\x27\x20+\x20status.effective.limits.typesPerEnv\x20:\x20\x27unlimited\x27\x20}}</td></tr><tr><td>Total\x20writes</td><td><span\x20style=\x22color:var(--okdb-success,#38a169)\x22>✓\x20enabled</span></td><td\x20style=\x22font-family:monospace;\x22>{{\x20status.effective.limits.maxWrites\x20?\x20(status.effective.limits.maxWrites).toLocaleString()\x20+\x20\x27\x20max\x27\x20:\x20\x27unlimited\x27\x20}}</td></tr></tbody></table></if><if\x20:=\x22status\x20&&\x20status.licenses\x20&&\x20status.licenses.length\x20>\x200\x22><div\x20class=\x22lp-lic-header\x22><span>ID</span><span>Licensee</span><span>Expires</span><span>Status</span><span>Features</span><span>Actions</span></div><each\x20:of=\x22status.licenses\x22\x20let:lic><div\x20class=\x22lp-lic-row\x22><div\x20class=\x22lp-lic-cells\x22><span\x20style=\x22font-family:monospace;\x20opacity:.7;\x20font-size:11px;\x22>{{\x20shortId(lic.id)\x20}}</span>\x20<span\x20style=\x22font-size:12px;\x22>{{\x20lic.licensee\x20||\x20\x27—\x27\x20}}</span>\x20<span\x20style=\x22font-family:monospace;\x20font-size:12px;\x22>{{\x20formatDate(lic.expiresAt)\x20}}</span>\x20<span><span\x20:style=\x22badgeStyle(lic.status)\x22>{{\x20lic.status\x20}}</span></span>\x20<span\x20style=\x22opacity:.7;\x20font-size:12px;\x22>{{\x20featureSummary(lic.features)\x20}}</span><div\x20style=\x22display:flex;\x20gap:6px;\x20flex-wrap:wrap;\x20align-items:center;\x22><if\x20:=\x22lic.status\x20===\x20\x27pending\x27\x20||\x20lic.status\x20===\x20\x27wrong_node\x27\x22><button\x20class=\x22lp-btn\x22\x20style=\x22font-size:11px;\x22\x20@click=\x22openActivate(lic.id)\x22>Activate</button></if><button\x20class=\x22lp-btn\x20lp-btn--danger\x22\x20style=\x22font-size:11px;\x22\x20@click=\x22removeLicense(lic.id)\x22>Remove</button></div></div><if\x20:=\x22activatingId\x20===\x20lic.id\x22><div\x20class=\x22lp-activate-row\x22><div\x20style=\x22font-size:11px;\x20opacity:.7;\x22>PIN\x20for\x20this\x20license:\x20<span\x20style=\x22font-family:monospace;\x20font-weight:600;\x22>{{\x20licensePin(lic)\x20}}</span></div><textarea\x20:value=\x22activateToken\x22\x20@input=\x22activateToken\x20=\x20$event.target.value\x22\x20rows=\x223\x22\x20placeholder=\x22Paste\x20activation\x20token…\x22\x20style=\x22width:100%;\x20font-family:monospace;\x20font-size:11px;\x20resize:vertical;\x22/><if\x20:=\x22activateError\x22><div\x20style=\x22font-size:11px;\x20color:var(--okdb-danger);\x22>{{\x20activateError\x20}}</div></if><div\x20style=\x22display:flex;\x20gap:6px;\x20justify-content:flex-end;\x22><button\x20class=\x22lp-btn\x22\x20style=\x22font-size:11px;\x22\x20@click=\x22cancelActivate()\x22>Cancel</button>\x20<button\x20class=\x22lp-btn\x20lp-btn--primary\x22\x20style=\x22font-size:11px;\x22\x20@click=\x22submitActivate(lic.id)\x22\x20:disabled=\x22!activateToken.trim()\x20||\x20activateLoading\x22>{{\x20activateLoading\x20?\x20\x27Activating…\x27\x20:\x20\x27Activate\x27\x20}}</button></div></div></if></div></each></if><if\x20:=\x22error\x22><div\x20style=\x22font-size:13px;\x20color:var(--okdb-danger);\x20padding:12px\x200;\x22>{{\x20error\x20}}</div></if></if></div>'};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x1cc5(_0x21baaa,_0x26300e){_0x21baaa=_0x21baaa-0xfd;const _0x2b4b3c=_0x2b4b();let _0x1cc5eb=_0x2b4b3c[_0x21baaa];return _0x1cc5eb;}function _0x2b4b(){const _0x557a68=['/queue/bucket/add/','$attr','1250904hMFpVi','7160PAIhBn','onDone','300566TGIhXQ','POST','4842306mNoTLU','8314794LLibBO','stringify','error','\x0a<div\x20style=\x22min-width:320px;\x20display:flex;\x20flex-direction:column;\x20gap:12px;\x22>\x0a\x0a\x20\x20<if\x20:=\x22error\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22color:var(--okdb-danger);\x20font-size:12px;\x20padding:8px;\x20border:1px\x20solid\x20var(--okdb-danger);\x20border-radius:6px;\x22>\x0a\x20\x20\x20\x20\x20\x20{{\x20error\x20}}\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<div\x20style=\x22display:grid;\x20grid-template-columns:130px\x201fr;\x20gap:8px\x2012px;\x20align-items:center;\x20font-size:13px;\x22>\x0a\x0a\x20\x20\x20\x20<label\x20style=\x22opacity:.7;\x22>Bucket\x20ID</label>\x0a\x20\x20\x20\x20<input\x0a\x20\x20\x20\x20\x20\x20:value=\x22form.id\x22\x0a\x20\x20\x20\x20\x20\x20@input=\x22form.id\x20=\x20$el.value\x22\x0a\x20\x20\x20\x20\x20\x20placeholder=\x22e.g.\x20openai-api\x22\x0a\x20\x20\x20\x20\x20\x20style=\x22font-family:monospace;\x22\x0a\x20\x20\x20\x20\x20\x20@keydown.enter=\x22save()\x22\x0a\x20\x20\x20\x20/>\x0a\x0a\x20\x20\x20\x20<label\x20style=\x22opacity:.7;\x22>Capacity</label>\x0a\x20\x20\x20\x20<input\x20type=\x22number\x22\x20min=\x221\x22\x0a\x20\x20\x20\x20\x20\x20:value=\x22form.capacity\x22\x0a\x20\x20\x20\x20\x20\x20@input=\x22form.capacity\x20=\x20Number($el.value)\x22\x0a\x20\x20\x20\x20/>\x0a\x0a\x20\x20\x20\x20<label\x20style=\x22opacity:.7;\x22>Initial\x20Tokens</label>\x0a\x20\x20\x20\x20<input\x20type=\x22number\x22\x20min=\x220\x22\x0a\x20\x20\x20\x20\x20\x20:value=\x22form.tokens\x22\x0a\x20\x20\x20\x20\x20\x20@input=\x22form.tokens\x20=\x20Number($el.value)\x22\x0a\x20\x20\x20\x20/>\x0a\x0a\x20\x20\x20\x20<div\x20style=\x22grid-column:1/-1;\x20height:1px;\x20background:var(--okdb-app-border);\x20margin:2px\x200;\x22></div>\x0a\x0a\x20\x20\x20\x20<div\x20style=\x22grid-column:1/-1;\x20font-size:11px;\x20opacity:.5;\x20text-transform:uppercase;\x20letter-spacing:.05em;\x22>\x0a\x20\x20\x20\x20\x20\x20Auto-Refill\x20(optional)\x0a\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20<label\x20style=\x22opacity:.7;\x22>Refill\x20Amount</label>\x0a\x20\x20\x20\x20<input\x20type=\x22number\x22\x20min=\x220\x22\x0a\x20\x20\x20\x20\x20\x20:value=\x22form.refill_amount\x22\x0a\x20\x20\x20\x20\x20\x20@input=\x22form.refill_amount\x20=\x20Number($el.value)\x22\x0a\x20\x20\x20\x20\x20\x20placeholder=\x220\x20=\x20disabled\x22\x0a\x20\x20\x20\x20/>\x0a\x0a\x20\x20\x20\x20<label\x20style=\x22opacity:.7;\x22>Refill\x20Every\x20(ms)</label>\x0a\x20\x20\x20\x20<input\x20type=\x22number\x22\x20min=\x220\x22\x0a\x20\x20\x20\x20\x20\x20:value=\x22form.refill_every\x22\x0a\x20\x20\x20\x20\x20\x20@input=\x22form.refill_every\x20=\x20Number($el.value)\x22\x0a\x20\x20\x20\x20\x20\x20placeholder=\x22e.g.\x2060000\x20for\x201\x20min\x22\x0a\x20\x20\x20\x20/>\x0a\x0a\x20\x20</div>\x0a\x0a\x20\x20<div\x20style=\x22display:flex;\x20gap:10px;\x20justify-content:flex-end;\x20margin-top:4px;\x22>\x0a\x20\x20\x20\x20<button\x20@click=\x22cancel()\x22>Cancel</button>\x0a\x20\x20\x20\x20<button\x20@click=\x22save()\x22\x20:disabled=\x22busy\x20||\x20!form.id\x22>\x0a\x20\x20\x20\x20\x20\x20{{\x20busy\x20?\x20\x27Creating…\x27\x20:\x20\x27Create\x27\x20}}\x0a\x20\x20\x20\x20</button>\x0a\x20\x20</div>\x0a\x0a</div>\x0a','modal','995384nuMqtT','message','862418YaYBNk','capacity','apiBase','busy','Create\x20failed','shared','create-bucket-modal','form','refill_amount','10Lsuxno','toast','3535FZbrhS','application/json','tokens','refill_every'];_0x2b4b=function(){return _0x557a68;};return _0x2b4b();}const _0x5154d5=_0x1cc5;(function(_0x228ed7,_0x243bea){const _0x31ff0e=_0x1cc5,_0x1d1948=_0x228ed7();while(!![]){try{const _0x9b475a=-parseInt(_0x31ff0e(0x117))/0x1+-parseInt(_0x31ff0e(0x103))/0x2+parseInt(_0x31ff0e(0x114))/0x3+-parseInt(_0x31ff0e(0x101))/0x4*(parseInt(_0x31ff0e(0x10c))/0x5)+parseInt(_0x31ff0e(0x119))/0x6+parseInt(_0x31ff0e(0x10e))/0x7*(-parseInt(_0x31ff0e(0x115))/0x8)+parseInt(_0x31ff0e(0x11a))/0x9;if(_0x9b475a===_0x243bea)break;else _0x1d1948['push'](_0x1d1948['shift']());}catch(_0x10a7d8){_0x1d1948['push'](_0x1d1948['shift']());}}}(_0x2b4b,0x71e0b));import _0x5f53fc from'../../../stores/okdb-store.js';export default{'tag':_0x5154d5(0x109),'attr':{'modal':{},'onDone':{}},'context':_0x4cae75=>({'busy':!0x1,'error':null,'form':{'id':'','capacity':0x64,'tokens':0x64,'refill_amount':0x0,'refill_every':0x0},async 'save'(){const _0x406f0b=_0x5154d5,_0xb2ae21=String(this[_0x406f0b(0x10a)]['id']||'')['trim']();if(_0xb2ae21){this[_0x406f0b(0x106)]=!0x0,this['error']=null;try{const _0x2bb3c7=await fetch(_0x5f53fc[_0x406f0b(0x105)]+_0x406f0b(0x112)+encodeURIComponent(_0xb2ae21),{'method':_0x406f0b(0x118),'headers':{'Content-Type':_0x406f0b(0x10f)},'body':JSON[_0x406f0b(0xfd)]({'capacity':Number(this[_0x406f0b(0x10a)][_0x406f0b(0x104)])||0x0,'tokens':Number(this['form'][_0x406f0b(0x110)])||0x0,'refill_amount':Number(this[_0x406f0b(0x10a)][_0x406f0b(0x10b)])||0x0,'refill_every':Number(this[_0x406f0b(0x10a)][_0x406f0b(0x111)])||0x0})}),_0x145f78=await _0x2bb3c7['json']();if(!_0x2bb3c7['ok'])throw new Error(_0x145f78?.['error']?.[_0x406f0b(0x102)]||_0x406f0b(0x107));_0x4cae75['$ok'][_0x406f0b(0x108)]?.[_0x406f0b(0x10d)]?.['success']?.('Bucket\x20\x22'+_0xb2ae21+'\x22\x20created'),await _0x4cae75['$attr'][_0x406f0b(0x100)]['close'](),await _0x4cae75[_0x406f0b(0x113)][_0x406f0b(0x116)]?.(_0xb2ae21);}catch(_0x49b7ed){this[_0x406f0b(0xfe)]=_0x49b7ed?.[_0x406f0b(0x102)]||_0x406f0b(0x107);}finally{this[_0x406f0b(0x106)]=!0x1;}}else this[_0x406f0b(0xfe)]='Bucket\x20ID\x20is\x20required';},'cancel'(){const _0x4df545=_0x5154d5;_0x4cae75[_0x4df545(0x113)][_0x4df545(0x100)]['close']();}}),'template':_0x5154d5(0xff)};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function _0x4d68(){const _0x18baec=['3724DiNgRa','/queue/bucket/add/','toast','trim','busy','json','message','shared','tokens','apiBase','$ok','273HmWFor','capacity','POST','application/json','close','edit-bucket-modal','155466ZoUFPy','success','refill_every','initialForm','Bucket\x20created','1991936iwPwDG','/queue/bucket/update/','20GqjuLA','Save\x20failed','7ucHFEw','stringify','error','form','editMode','2515HcUVSJ','Bucket\x20updated','273294qRMYXT','221966nUZmxl','9047621lLCjSo','$attr','2634xCkltB','modal'];_0x4d68=function(){return _0x18baec;};return _0x4d68();}const _0x9ba0f6=_0x7866;(function(_0x95a3d2,_0x368286){const _0x5c8b99=_0x7866,_0x126737=_0x95a3d2();while(!![]){try{const _0x229d5f=-parseInt(_0x5c8b99(0x18a))/0x1+parseInt(_0x5c8b99(0x18b))/0x2+parseInt(_0x5c8b99(0x174))/0x3*(-parseInt(_0x5c8b99(0x169))/0x4)+parseInt(_0x5c8b99(0x188))/0x5*(-parseInt(_0x5c8b99(0x18e))/0x6)+parseInt(_0x5c8b99(0x183))/0x7*(-parseInt(_0x5c8b99(0x17f))/0x8)+-parseInt(_0x5c8b99(0x17a))/0x9*(-parseInt(_0x5c8b99(0x181))/0xa)+parseInt(_0x5c8b99(0x18c))/0xb;if(_0x229d5f===_0x368286)break;else _0x126737['push'](_0x126737['shift']());}catch(_0xc33c6){_0x126737['push'](_0x126737['shift']());}}}(_0x4d68,0x223ba));import _0x136eb9 from'../../../stores/okdb-store.js';function _0x7866(_0x5973f2,_0x14a368){_0x5973f2=_0x5973f2-0x169;const _0x4d68df=_0x4d68();let _0x786615=_0x4d68df[_0x5973f2];return _0x786615;}export default{'tag':_0x9ba0f6(0x179),'attr':{'modal':{},'editMode':{},'initialForm':{},'onDone':{}},'context'(_0x5d2a6e){const _0x56d8a7=_0x9ba0f6,_0x953c07=_0x5d2a6e['$attr'][_0x56d8a7(0x17d)]??{};return{'busy':!0x1,'error':null,'form':{'id':_0x953c07['id']??'','capacity':_0x953c07[_0x56d8a7(0x175)]??0x64,'tokens':_0x953c07[_0x56d8a7(0x171)]??0x64,'refill_amount':_0x953c07['refill_amount']??0x0,'refill_every':_0x953c07[_0x56d8a7(0x17c)]??0x0},get 'editMode'(){const _0x3ddce6=_0x56d8a7;return!!_0x5d2a6e[_0x3ddce6(0x18d)]['editMode'];},async 'save'(){const _0x3fd65d=_0x56d8a7,_0x54b78e=String(this[_0x3fd65d(0x186)]['id']||'')[_0x3fd65d(0x16c)]();if(_0x54b78e){this[_0x3fd65d(0x16d)]=!0x0,this['error']=null;try{const _0x46646f=this[_0x3fd65d(0x187)]?_0x136eb9['apiBase']+_0x3fd65d(0x180)+encodeURIComponent(_0x54b78e):_0x136eb9[_0x3fd65d(0x172)]+_0x3fd65d(0x16a)+encodeURIComponent(_0x54b78e),_0x2699fa=await fetch(_0x46646f,{'method':_0x3fd65d(0x176),'headers':{'Content-Type':_0x3fd65d(0x177)},'body':JSON[_0x3fd65d(0x184)]({'capacity':Number(this[_0x3fd65d(0x186)][_0x3fd65d(0x175)])||0x0,'tokens':Number(this[_0x3fd65d(0x186)][_0x3fd65d(0x171)])??0x0,'refill_amount':Number(this[_0x3fd65d(0x186)]['refill_amount'])||0x0,'refill_every':Number(this['form']['refill_every'])||0x0})}),_0x2e6255=await _0x2699fa[_0x3fd65d(0x16e)]();if(!_0x2699fa['ok'])throw new Error(_0x2e6255?.[_0x3fd65d(0x185)]?.[_0x3fd65d(0x16f)]||_0x3fd65d(0x182));_0x5d2a6e[_0x3fd65d(0x173)][_0x3fd65d(0x170)]?.[_0x3fd65d(0x16b)]?.[_0x3fd65d(0x17b)]?.(this[_0x3fd65d(0x187)]?_0x3fd65d(0x189):_0x3fd65d(0x17e)),await _0x5d2a6e['$attr'][_0x3fd65d(0x18f)][_0x3fd65d(0x178)](),await _0x5d2a6e[_0x3fd65d(0x18d)]['onDone']?.();}catch(_0x3f0e65){this[_0x3fd65d(0x185)]=_0x3f0e65?.[_0x3fd65d(0x16f)]||_0x3fd65d(0x182);}finally{this[_0x3fd65d(0x16d)]=!0x1;}}else this[_0x3fd65d(0x185)]='Bucket\x20ID\x20is\x20required';},'cancel'(){const _0x2f3587=_0x56d8a7;_0x5d2a6e[_0x2f3587(0x18d)][_0x2f3587(0x18f)][_0x2f3587(0x178)]();}};},'template':'\x0a<div\x20style=\x22min-width:320px;\x20display:flex;\x20flex-direction:column;\x20gap:12px;\x22>\x0a\x0a\x20\x20<if\x20:=\x22error\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22color:var(--okdb-danger);\x20font-size:12px;\x20padding:8px;\x20border:1px\x20solid\x20var(--okdb-danger);\x20border-radius:6px;\x22>{{\x20error\x20}}</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<div\x20style=\x22display:grid;\x20grid-template-columns:120px\x201fr;\x20gap:8px\x2012px;\x20align-items:center;\x20font-size:13px;\x22>\x0a\x0a\x20\x20\x20\x20<label\x20style=\x22opacity:.7;\x22>Bucket\x20ID</label>\x0a\x20\x20\x20\x20<input\x0a\x20\x20\x20\x20\x20\x20:value=\x22form.id\x22\x0a\x20\x20\x20\x20\x20\x20@input=\x22form.id\x20=\x20$el.value\x22\x0a\x20\x20\x20\x20\x20\x20:disabled=\x22editMode\x22\x0a\x20\x20\x20\x20\x20\x20placeholder=\x22e.g.\x20openai-api\x22\x0a\x20\x20\x20\x20\x20\x20style=\x22font-family:monospace;\x22\x0a\x20\x20\x20\x20\x20\x20@keydown.enter=\x22save()\x22\x0a\x20\x20\x20\x20/>\x0a\x0a\x20\x20\x20\x20<label\x20style=\x22opacity:.7;\x22>Capacity</label>\x0a\x20\x20\x20\x20<input\x20type=\x22number\x22\x20min=\x221\x22\x20:value=\x22form.capacity\x22\x20@input=\x22form.capacity\x20=\x20Number($el.value)\x22\x20/>\x0a\x0a\x20\x20\x20\x20<label\x20style=\x22opacity:.7;\x22>Initial\x20Tokens</label>\x0a\x20\x20\x20\x20<input\x20type=\x22number\x22\x20min=\x220\x22\x20:value=\x22form.tokens\x22\x20@input=\x22form.tokens\x20=\x20Number($el.value)\x22\x20/>\x0a\x0a\x20\x20\x20\x20<div\x20style=\x22grid-column:1/-1;\x20height:1px;\x20background:var(--okdb-app-border);\x20margin:4px\x200;\x22></div>\x0a\x0a\x20\x20\x20\x20<div\x20style=\x22grid-column:1/-1;\x20font-size:11px;\x20opacity:.5;\x20text-transform:uppercase;\x20letter-spacing:.05em;\x22>\x0a\x20\x20\x20\x20\x20\x20Auto-Refill\x20(optional)\x0a\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20<label\x20style=\x22opacity:.7;\x22>Refill\x20Amount</label>\x0a\x20\x20\x20\x20<input\x20type=\x22number\x22\x20min=\x220\x22\x20:value=\x22form.refill_amount\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@input=\x22form.refill_amount\x20=\x20Number($el.value)\x22\x20placeholder=\x220\x20=\x20disabled\x22\x20/>\x0a\x0a\x20\x20\x20\x20<label\x20style=\x22opacity:.7;\x22>Refill\x20Every\x20(ms)</label>\x0a\x20\x20\x20\x20<input\x20type=\x22number\x22\x20min=\x220\x22\x20:value=\x22form.refill_every\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@input=\x22form.refill_every\x20=\x20Number($el.value)\x22\x20placeholder=\x22e.g.\x2060000\x20for\x201\x20min\x22\x20/>\x0a\x0a\x20\x20</div>\x0a\x0a\x20\x20<div\x20style=\x22display:flex;\x20gap:10px;\x20justify-content:flex-end;\x20margin-top:4px;\x22>\x0a\x20\x20\x20\x20<button\x20@click=\x22cancel()\x22>Cancel</button>\x0a\x20\x20\x20\x20<button\x20@click=\x22save()\x22\x20:disabled=\x22busy\x20||\x20!form.id\x22>\x0a\x20\x20\x20\x20\x20\x20{{\x20busy\x20?\x20\x27Saving…\x27\x20:\x20(editMode\x20?\x20\x27Save\x27\x20:\x20\x27Create\x27)\x20}}\x0a\x20\x20\x20\x20</button>\x0a\x20\x20</div>\x0a\x0a</div>\x0a'};
|