@kedem/okdb 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/bin/okdb.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/okdb.js +1 -1
- package/package.json +1 -1
- 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/view-models/type-query-vm.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
function _0xdb45(_0x12b0a1,_0x2b26dc){_0x12b0a1=_0x12b0a1-0x10f;const _0x5a9b10=_0x5a9b();let _0xdb45d2=_0x5a9b10[_0x12b0a1];return _0xdb45d2;}const _0x271ee2=_0xdb45;function _0x5a9b(){const _0x32440d=['Could\x20not\x20resolve\x20the\x20linked\x20pipeline\x20yet','Open\x20linked\x20queue\x20worker','pipelineName','$watch','key','logsForRun','\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','config','store','Open\x20linked\x20pipeline','targetSection','metadata','251686KNFRUK','8edYnXp','length','info','Open\x20linked\x20engine','filter','\x0a\x20\x20•\x20','5001705KuzoQT','shared','confirm','371xYPBcn','\x0a\x0aDeleting\x20it\x20will\x20break\x20','json','Function\x20deleted','linkedPipelineLookup','selected','map','Open\x20pipeline\x20','those\x20pipelines','envName','linkedPipelineRef','$attr','linkedEngineRef','runs','push','jobType','10MzCvVa','Open\x20queue\x20workers\x20for\x20','\x20(worker\x20','owner_engine','activeRun','1370039cEXDRS','toast','3oDZlFj','8673350lTdWZi','functions','name','ownerEngine','Delete\x20function\x20\x22','latestRun','that\x20pipeline','Open\x20engine\x20','onEdit','stores','pipeline','/functions','_linkedPipelineRequestId','runId','$ok','1091516qHoKBi','linkedQueueRef','\x20(engine\x20','API','Failed\x20to\x20delete\x20function','$router','13932248bdrvkt','sourceType','selectedName','refreshLinkedPipeline','message','62034agCdWQ','stringify','/engines','queue','slice'];_0x5a9b=function(){return _0x32440d;};return _0x5a9b();}(function(_0x3038c2,_0x13ed12){const _0x1a1e0b=_0xdb45,_0x38cc13=_0x3038c2();while(!![]){try{const _0x2f184f=-parseInt(_0x1a1e0b(0x132))/0x1*(-parseInt(_0x1a1e0b(0x131))/0x2)+parseInt(_0x1a1e0b(0x152))/0x3*(-parseInt(_0x1a1e0b(0x115))/0x4)+-parseInt(_0x1a1e0b(0x153))/0x5+-parseInt(_0x1a1e0b(0x120))/0x6*(parseInt(_0x1a1e0b(0x13b))/0x7)+parseInt(_0x1a1e0b(0x11b))/0x8+-parseInt(_0x1a1e0b(0x138))/0x9*(-parseInt(_0x1a1e0b(0x14b))/0xa)+parseInt(_0x1a1e0b(0x150))/0xb;if(_0x2f184f===_0x13ed12)break;else _0x38cc13['push'](_0x38cc13['shift']());}catch(_0x16213a){_0x38cc13['push'](_0x38cc13['shift']());}}}(_0x5a9b,0xd525d));import{openLinkedPipelineRoute as _0x5f1fa4,resolveLinkedPipeline as _0x407c24}from'../../engines/engine-ui-utils.js';export default{'tag':'function-detail','attr':{'onEdit':{}},'context':_0x20ede1=>({'linkedPipelineLookup':null,'_linkedPipelineRequestId':0x0,get 'store'(){const _0x4c1124=_0xdb45;return _0x20ede1[_0x4c1124(0x114)]['stores']['functions'];},get 'fn'(){return this['store']['selected'];},get 'runs'(){const _0x3019e7=_0xdb45;return this[_0x3019e7(0x12d)][_0x3019e7(0x148)]||[];},get 'latestRun'(){const _0x3eeef8=_0xdb45;return this['store'][_0x3eeef8(0x158)];},get 'activeRun'(){const _0x4a9d27=_0xdb45;return this[_0x4a9d27(0x12d)]['activeRun'];},get 'activeRunLogs'(){const _0x557ede=_0xdb45;return this[_0x557ede(0x12d)][_0x557ede(0x12a)](this[_0x557ede(0x14f)]?.['id']||this[_0x557ede(0x14f)]?.[_0x557ede(0x113)])[_0x557ede(0x124)](-0x5);},get 'selectedName'(){const _0x1d9c12=_0xdb45;return this['store'][_0x1d9c12(0x11d)];},get 'linkedPipelineRef'(){const _0x4bca86=_0xdb45;if(_0x4bca86(0x123)===this['linkedPipelineLookup']?.[_0x4bca86(0x12f)])return null;const _0x39e26c=this['fn']?.[_0x4bca86(0x130)]??{},_0x23e239=_0x39e26c['pipeline']??this[_0x4bca86(0x13f)]?.[_0x4bca86(0x127)]??null;return _0x23e239?{'envName':this['linkedPipelineLookup']?.['envName']??this['store']['envName']??null,'pipelineName':_0x23e239,'ownerEngine':_0x39e26c[_0x4bca86(0x14e)]??this['linkedPipelineLookup']?.[_0x4bca86(0x156)]??null,'targetSection':this['linkedPipelineLookup']?.[_0x4bca86(0x12f)]??'db'}:null;},get 'hasLinkedPipeline'(){const _0x14b72a=_0xdb45;return!!this[_0x14b72a(0x145)]?.[_0x14b72a(0x127)];},get 'linkedEngineRef'(){const _0x4e9355=_0xdb45;if(_0x4e9355(0x123)===this[_0x4e9355(0x13f)]?.[_0x4e9355(0x12f)])return null;const _0x964360=this[_0x4e9355(0x145)];if(_0x964360?.['pipelineName'])return _0x964360;const _0x32dfdf=this['fn']?.['metadata']?.[_0x4e9355(0x14e)]??this[_0x4e9355(0x13f)]?.[_0x4e9355(0x156)]??null;return _0x32dfdf?{'envName':this[_0x4e9355(0x13f)]?.[_0x4e9355(0x144)]??this[_0x4e9355(0x12d)][_0x4e9355(0x144)]??null,'pipelineName':null,'ownerEngine':_0x32dfdf,'sourceType':this[_0x4e9355(0x13f)]?.[_0x4e9355(0x11c)]??null,'targetSection':this['linkedPipelineLookup']?.[_0x4e9355(0x12f)]??'db'}:null;},get 'linkedQueueRef'(){const _0x1d34c9=_0xdb45,_0x4d13ba=this[_0x1d34c9(0x13f)];return _0x1d34c9(0x123)===_0x4d13ba?.[_0x1d34c9(0x12f)]&&_0x4d13ba?.['jobType']?{'envName':_0x4d13ba['envName']??this[_0x1d34c9(0x12d)][_0x1d34c9(0x144)]??null,'pipelineName':_0x4d13ba[_0x1d34c9(0x127)]??this['fn']?.[_0x1d34c9(0x130)]?.[_0x1d34c9(0x110)]??null,'ownerEngine':_0x4d13ba[_0x1d34c9(0x156)]??this['fn']?.[_0x1d34c9(0x130)]?.[_0x1d34c9(0x14e)]??null,'jobType':_0x4d13ba['jobType'],'targetSection':_0x1d34c9(0x123)}:null;},get 'hasLinkedQueue'(){const _0x4b22ad=_0xdb45;return!!this[_0x4b22ad(0x116)]?.['jobType'];},get 'hasLinkedEngine'(){return!!this['linkedEngineRef']?.['ownerEngine'];},'formatJson'(_0x1d4cce){const _0x3008e3=_0xdb45;try{return JSON[_0x3008e3(0x121)](_0x1d4cce,null,0x2);}catch{return String(_0x1d4cce??'');}},async 'removeSelected'(){const _0x3a4873=_0xdb45;if(!this[_0x3a4873(0x12d)]['selectedName'])return;const _0xf48c31=this[_0x3a4873(0x12d)][_0x3a4873(0x11d)],_0x48b1e8=this['store'][_0x3a4873(0x144)],_0x559e5c=this['fn']?.[_0x3a4873(0x130)],_0x3559e9=_0x559e5c?.[_0x3a4873(0x14e)]||_0x559e5c?.[_0x3a4873(0x110)];let _0x3e1fbb=[];if(_0x48b1e8)try{const _0x138dea=await fetch(__ENV__[_0x3a4873(0x118)]+'/env/'+encodeURIComponent(_0x48b1e8)+_0x3a4873(0x122));if(_0x138dea['ok']){const _0x200321=await _0x138dea[_0x3a4873(0x13d)]();_0x3e1fbb=(_0x200321?.['result']??_0x200321??[])[_0x3a4873(0x136)](_0x58f5df=>_0x58f5df[_0x3a4873(0x12c)]?.['handler']?.[_0x3a4873(0x155)]===_0xf48c31)[_0x3a4873(0x141)](_0x41dc9e=>_0x41dc9e[_0x3a4873(0x155)]||_0x41dc9e[_0x3a4873(0x129)]);}}catch{}let _0x35dabb=_0x3a4873(0x157)+_0xf48c31+'\x22?';if(_0x3559e9||_0x3e1fbb['length']>0x0){const _0x102534=[...new Set([..._0x3559e9?[_0x3559e9]:[],..._0x3e1fbb])];_0x35dabb+='\x0a\x0a⚠\x20This\x20function\x20is\x20used\x20by\x20'+_0x102534['length']+'\x20engine(s):\x0a\x20\x20•\x20'+_0x102534['join'](_0x3a4873(0x137))+_0x3a4873(0x13c)+(0x1===_0x102534[_0x3a4873(0x133)]?_0x3a4873(0x159):_0x3a4873(0x143))+'.';}const _0xf16de4=globalThis[_0x3a4873(0x13a)]?.(_0x35dabb);if(_0xf16de4)try{await this[_0x3a4873(0x12d)]['remove'](_0xf48c31),_0x20ede1['$vars'][_0x3a4873(0x11a)]?.[_0x3a4873(0x149)]?.(_0x3a4873(0x111)),_0x20ede1['$ok']['shared']?.[_0x3a4873(0x151)]?.['success']?.(_0x3a4873(0x13e));}catch(_0x24277f){_0x20ede1['$ok'][_0x3a4873(0x139)]?.[_0x3a4873(0x151)]?.['error']?.(_0x24277f?.[_0x3a4873(0x11f)]||_0x3a4873(0x119));}},'triggerEdit'(){const _0x16d5a7=_0xdb45;_0x20ede1[_0x16d5a7(0x146)][_0x16d5a7(0x15b)]?.();},get 'linkedPipelineTitle'(){const _0x22204e=_0xdb45,_0x539488=this[_0x22204e(0x145)];return _0x539488?.[_0x22204e(0x127)]?_0x539488['ownerEngine']?_0x22204e(0x142)+_0x539488[_0x22204e(0x127)]+_0x22204e(0x117)+_0x539488['ownerEngine']+')':'Open\x20pipeline\x20'+_0x539488[_0x22204e(0x127)]:_0x22204e(0x12e);},get 'linkedEngineTitle'(){const _0x49937f=_0xdb45,_0xeaeb4=this[_0x49937f(0x147)];return _0xeaeb4?.[_0x49937f(0x156)]?_0xeaeb4[_0x49937f(0x11c)]?_0x49937f(0x15a)+_0xeaeb4[_0x49937f(0x156)]+'\x20for\x20type\x20'+_0xeaeb4['sourceType']:'Open\x20engine\x20'+_0xeaeb4['ownerEngine']:_0x49937f(0x135);},get 'linkedQueueTitle'(){const _0x2077f7=_0xdb45,_0x537c16=this[_0x2077f7(0x116)];return _0x537c16?.['jobType']?_0x537c16[_0x2077f7(0x156)]?_0x2077f7(0x14c)+_0x537c16[_0x2077f7(0x14a)]+_0x2077f7(0x14d)+_0x537c16[_0x2077f7(0x156)]+')':_0x2077f7(0x14c)+_0x537c16[_0x2077f7(0x14a)]:_0x2077f7(0x126);},async 'refreshLinkedPipeline'(){const _0x929136=_0xdb45,_0x319dd8=this['fn']?.['name']??this[_0x929136(0x11d)]??null,_0x440bc5=this['fn']?.[_0x929136(0x130)]??{};if(!this['store'][_0x929136(0x144)]||!_0x319dd8)return void(this[_0x929136(0x13f)]=null);const _0x13501=++this[_0x929136(0x112)],_0x41daeb=await _0x407c24(_0x20ede1,{'envName':this[_0x929136(0x12d)][_0x929136(0x144)],'pipelineName':_0x440bc5[_0x929136(0x110)]??null,'ownerEngine':_0x440bc5[_0x929136(0x14e)]??null,'functionName':_0x319dd8});_0x13501===this['_linkedPipelineRequestId']&&(this[_0x929136(0x13f)]=_0x41daeb);},async 'openLinkedPipeline'(){const _0x416e1d=_0xdb45,_0x4daff0=this['linkedQueueRef']??this['linkedPipelineRef']??this[_0x416e1d(0x147)];(_0x4daff0?.['ownerEngine']||_0x4daff0?.[_0x416e1d(0x127)]||_0x4daff0?.['jobType'])&&(await _0x5f1fa4(_0x20ede1,{'envName':_0x4daff0[_0x416e1d(0x144)]??this['store'][_0x416e1d(0x144)],'pipelineName':_0x4daff0[_0x416e1d(0x127)]??null,'ownerEngine':_0x4daff0[_0x416e1d(0x156)]??null,'functionName':this['fn']?.[_0x416e1d(0x155)]??this[_0x416e1d(0x11d)]??null})||_0x20ede1[_0x416e1d(0x114)]['shared']?.[_0x416e1d(0x151)]?.[_0x416e1d(0x134)]?.(_0x416e1d(0x125)));}}),async 'init'(_0x47cc9a){const _0x3dda6a=_0xdb45;await this['refreshLinkedPipeline'](),_0x47cc9a[_0x3dda6a(0x128)](()=>[_0x47cc9a[_0x3dda6a(0x114)]['stores']['functions'][_0x3dda6a(0x144)],_0x47cc9a[_0x3dda6a(0x114)][_0x3dda6a(0x10f)][_0x3dda6a(0x154)][_0x3dda6a(0x11d)],_0x47cc9a['$ok'][_0x3dda6a(0x10f)]['functions'][_0x3dda6a(0x140)]?.[_0x3dda6a(0x130)]?.['pipeline'],_0x47cc9a[_0x3dda6a(0x114)]['stores']['functions'][_0x3dda6a(0x140)]?.[_0x3dda6a(0x130)]?.[_0x3dda6a(0x14e)]]['join']('||'),()=>this[_0x3dda6a(0x11e)]());},'template':_0x271ee2(0x12b)};
|
|
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 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x458da9=_0x1d6c;function _0x1d6c(_0x4c802a,_0x23461c){_0x4c802a=_0x4c802a-0x177;const _0x2c5784=_0x2c57();let _0x1d6c8d=_0x2c5784[_0x4c802a];return _0x1d6c8d;}(function(_0x13434c,_0x5ddf3e){const _0x480083=_0x1d6c,_0x5985da=_0x13434c();while(!![]){try{const _0x3d118c=-parseInt(_0x480083(0x17d))/0x1+parseInt(_0x480083(0x179))/0x2+parseInt(_0x480083(0x186))/0x3*(-parseInt(_0x480083(0x187))/0x4)+parseInt(_0x480083(0x17b))/0x5+-parseInt(_0x480083(0x178))/0x6*(-parseInt(_0x480083(0x193))/0x7)+parseInt(_0x480083(0x184))/0x8+parseInt(_0x480083(0x195))/0x9;if(_0x3d118c===_0x5ddf3e)break;else _0x5985da['push'](_0x5985da['shift']());}catch(_0x25e29c){_0x5985da['push'](_0x5985da['shift']());}}}(_0x2c57,0xe0ec7));import _0x1d4211 from'../../../stores/events-store.js';function _0x2c57(){const _0x88675d=['filter','runId','7633600oPhWLp','slice','14253wJkQzI','1176dKvzgg','undefined','No\x20logs\x20for\x20this\x20execution\x20yet.','trim','title','message','length','\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','entries','toLowerCase','object','Live\x20log','1113HgACjT','stringify','248175ynuchX','keys','getMilliseconds','22944PlEKxA','662042ohuVfT','isArray','3961695hMShMk','$attr','395070CuxQQt','msg','padStart','string','content'];_0x2c57=function(){return _0x88675d;};return _0x2c57();}export default{'tag':'function-logs','attr':{'runId':{},'entries':{},'title':{'default':'Live\x20log'},'empty':{'default':'No\x20logs\x20for\x20this\x20execution\x20yet.'}},'context':_0x496e77=>({get 'titleText'(){const _0x58911b=_0x1d6c,_0x4abf25=_0x496e77[_0x58911b(0x17c)]['title'];return _0x58911b(0x180)==typeof _0x4abf25&&_0x4abf25['trim']()&&_0x58911b(0x188)!==_0x4abf25['trim']()['toLowerCase']()?_0x4abf25:_0x58911b(0x192);},get 'emptyText'(){const _0x40c213=_0x1d6c,_0x464f51=_0x496e77[_0x40c213(0x17c)]['empty'];return _0x40c213(0x180)==typeof _0x464f51&&_0x464f51[_0x40c213(0x18a)]()&&'undefined'!==_0x464f51[_0x40c213(0x18a)]()[_0x40c213(0x190)]()?_0x464f51:_0x40c213(0x189);},get 'entries'(){const _0x141888=_0x1d6c;if(Array[_0x141888(0x17a)](_0x496e77[_0x141888(0x17c)][_0x141888(0x18f)]))return _0x496e77[_0x141888(0x17c)]['entries'];const _0x27c1b0=_0x496e77[_0x141888(0x17c)]['runId'];return _0x27c1b0?(_0x1d4211['logs']||[])[_0x141888(0x182)](_0x110ac2=>(_0x110ac2?.[_0x141888(0x183)]||_0x110ac2?.['meta']?.[_0x141888(0x183)])===_0x27c1b0):[];},'fmtTime'(_0x2d46f3){const _0x13adb9=_0x1d6c;if(!_0x2d46f3)return'';const _0x131766=new Date(_0x2d46f3);return _0x131766['toTimeString']()[_0x13adb9(0x185)](0x0,0x8)+'.'+String(_0x131766[_0x13adb9(0x177)]())[_0x13adb9(0x17f)](0x3,'0');},'fmtMeta'(_0x4ca119){const _0x572552=_0x1d6c;if(null==_0x4ca119)return'';if(_0x572552(0x191)==typeof _0x4ca119&&!Array['isArray'](_0x4ca119)){const _0x1c8a0a=Object['fromEntries'](Object[_0x572552(0x18f)](_0x4ca119)[_0x572552(0x182)](([_0x42fb3f,_0x13ccc8])=>void 0x0!==_0x13ccc8&&'undefined'!==_0x13ccc8&&null!=_0x13ccc8&&('title'!==_0x42fb3f&&_0x572552(0x181)!==_0x42fb3f||_0x572552(0x188)!==String(_0x13ccc8)[_0x572552(0x190)]())));if(0x0===Object[_0x572552(0x196)](_0x1c8a0a)[_0x572552(0x18d)])return'';try{return JSON['stringify'](_0x1c8a0a,null,0x2);}catch{}}try{return _0x572552(0x180)==typeof _0x4ca119?_0x4ca119:JSON[_0x572552(0x194)](_0x4ca119);}catch{return String(_0x4ca119);}},'fmtMsg'(_0x554cbe){const _0x5b87a0=_0x1d6c,_0x47f71f=_0x554cbe?.[_0x5b87a0(0x17e)]??_0x554cbe?.[_0x5b87a0(0x18c)]??_0x554cbe?.['content']??_0x554cbe?.[_0x5b87a0(0x18b)]??'';if(null==_0x47f71f)return'';if(_0x5b87a0(0x180)==typeof _0x47f71f){const _0x2753b6=_0x47f71f['trim']();return _0x2753b6&&_0x5b87a0(0x188)!==_0x2753b6[_0x5b87a0(0x190)]()?_0x2753b6:'';}try{return JSON[_0x5b87a0(0x194)](_0x47f71f,null,0x2);}catch{return String(_0x47f71f);}}}),'template':_0x458da9(0x18e)};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x2994cb=_0x1c64;function _0x1c64(_0x2f8fce,_0x4bb92c){_0x2f8fce=_0x2f8fce-0x83;const _0x2f5dc3=_0x2f5d();let _0x1c64f1=_0x2f5dc3[_0x2f8fce];return _0x1c64f1;}(function(_0x27237f,_0x4ac39f){const _0x522ed6=_0x1c64,_0x507b9b=_0x27237f();while(!![]){try{const _0x2ca9b6=-parseInt(_0x522ed6(0x88))/0x1*(parseInt(_0x522ed6(0xac))/0x2)+-parseInt(_0x522ed6(0x83))/0x3*(parseInt(_0x522ed6(0x95))/0x4)+parseInt(_0x522ed6(0x9b))/0x5*(-parseInt(_0x522ed6(0x90))/0x6)+parseInt(_0x522ed6(0x91))/0x7+-parseInt(_0x522ed6(0x9c))/0x8+-parseInt(_0x522ed6(0x8a))/0x9+parseInt(_0x522ed6(0xa4))/0xa*(parseInt(_0x522ed6(0x94))/0xb);if(_0x2ca9b6===_0x4ac39f)break;else _0x507b9b['push'](_0x507b9b['shift']());}catch(_0x264277){_0x507b9b['push'](_0x507b9b['shift']());}}}(_0x2f5d,0xdbe45));import _0x22d9ed from'../../../components/ok-text-monaco-input.ok.js';export default{'tag':_0x2994cb(0xa0),'dependencies':[_0x22d9ed],'context':_0x5ba71a=>({get 'store'(){const _0x31dbfc=_0x2994cb;return _0x5ba71a['$ok']['stores'][_0x31dbfc(0x97)];},get 'payloadDraft'(){const _0x52f99d=_0x2994cb;return this['store'][_0x52f99d(0x9a)];},get 'selectedRun'(){const _0xf19514=_0x2994cb;return this['store'][_0xf19514(0xa8)];},get 'runs'(){const _0x590146=_0x2994cb;return(this[_0x590146(0x8b)][_0x590146(0x9e)]||[])[_0x590146(0x96)](_0x4f40af=>_0x4f40af?.[_0x590146(0x8d)]||_0x4f40af);},get 'running'(){return this['store']['running'];},get 'payloadError'(){const _0x489f68=_0x2994cb;return this[_0x489f68(0x8b)]['payloadError'];},get 'dryRunMode'(){return this['store']['dryRunMode'];},get 'dryRunActions'(){const _0x2df5d8=_0x2994cb;return this['selectedRun']?.['result']?.[_0x2df5d8(0x8e)]??null;},'toggleDryRun'(){const _0x89a381=_0x2994cb;this[_0x89a381(0x8b)][_0x89a381(0x85)]=!this[_0x89a381(0x8b)][_0x89a381(0x85)];},'runTime'(_0x40d76e){const _0x19a5a4=_0x2994cb,_0x51efc8=_0x40d76e?.[_0x19a5a4(0x8f)]?.[_0x19a5a4(0x8c)]??_0x40d76e?.[_0x19a5a4(0xa7)]?.[_0x19a5a4(0xab)]??null;return _0x51efc8?new Date(_0x51efc8)[_0x19a5a4(0x92)]([],{'hour':_0x19a5a4(0xa1),'minute':_0x19a5a4(0xa1),'second':'2-digit'}):'—';},'isSelected'(_0x17e558){const _0x175487=_0x2994cb,_0x5da1cd=this['selectedRun'];return!(!_0x5da1cd||!_0x17e558)&&(_0x5da1cd['id']||_0x5da1cd[_0x175487(0x87)])===(_0x17e558['id']||_0x17e558[_0x175487(0x87)]);},'setPayload'(_0x372220){const _0x55198e=_0x2994cb;this['store'][_0x55198e(0x93)](_0x372220??'{\x0a\x20\x20\x0a}');},async 'pickRun'(_0x5e2615){const _0x5f1283=_0x2994cb;if(_0x5e2615)try{await this[_0x5f1283(0x8b)][_0x5f1283(0x9f)](_0x5e2615['id']||_0x5e2615['runId']);}catch(_0x27d881){_0x5ba71a[_0x5f1283(0x84)][_0x5f1283(0xae)]?.[_0x5f1283(0xa3)]?.['error']?.(_0x27d881?.[_0x5f1283(0xa6)]||'Failed\x20to\x20load\x20run');}},'formatJson'(_0x366430){try{return JSON['stringify'](_0x366430,null,0x2);}catch{return String(_0x366430??'');}},'actionArgs'(_0x39a4c8){const _0x344caa=_0x2994cb,_0x450fa5=_0x39a4c8[_0x344caa(0xad)]??[];return 0x0===_0x450fa5[_0x344caa(0x99)]?'':_0x450fa5['map'](_0xccf718=>JSON[_0x344caa(0xa5)](_0xccf718))['join'](',\x20');},async 'runNow'(){const _0x166a44=_0x2994cb;try{await this['store'][_0x166a44(0x9d)](),_0x5ba71a[_0x166a44(0x84)][_0x166a44(0xae)]?.[_0x166a44(0xa3)]?.['success']?.(this[_0x166a44(0x85)]?_0x166a44(0x86):_0x166a44(0xa9));}catch(_0x2a5b69){_0x5ba71a['$ok']['shared']?.['toast']?.[_0x166a44(0x98)]?.(_0x2a5b69?.[_0x166a44(0xa6)]||_0x166a44(0xaf));}},async 'refresh'(){const _0x57cbc3=_0x2994cb;try{await this[_0x57cbc3(0x8b)]['refreshSelected'](),_0x5ba71a[_0x57cbc3(0x84)][_0x57cbc3(0xae)]?.['toast']?.[_0x57cbc3(0xa2)]?.(_0x57cbc3(0x89));}catch(_0x286952){_0x5ba71a[_0x57cbc3(0x84)][_0x57cbc3(0xae)]?.[_0x57cbc3(0xa3)]?.[_0x57cbc3(0x98)]?.(_0x286952?.[_0x57cbc3(0xa6)]||_0x57cbc3(0xb0));}}}),'template':_0x2994cb(0xaa)};function _0x2f5d(){const _0x259b8b=['9154600bwAfLE','toLocaleTimeString','setPayloadDraft','1622687dQIXFL','2064092QrqfoS','map','functions','error','length','payloadDraft','5PyFGqE','10690976HBmKlL','runSelected','runs','selectRun','function-runner','2-digit','success','toast','370gEOusB','stringify','message','request','activeRun','Function\x20executed','\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','requestedAt','3099822cUmgej','args','shared','Function\x20execution\x20failed','Failed\x20to\x20refresh\x20function','3HHQGjJ','$ok','dryRunMode','Dry\x20run\x20complete','runId','1wZmZuS','Function\x20refreshed','12451995UwNdnH','store','finishedAt','value','dryRunActions','execution','6476346BsLJMO'];_0x2f5d=function(){return _0x259b8b;};return _0x2f5d();}
|
|
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 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x5060(_0x2716c9,_0x426b08){_0x2716c9=_0x2716c9-0xdf;var _0x5ead84=_0x5ead();var _0x5060c7=_0x5ead84[_0x2716c9];return _0x5060c7;}function _0x5ead(){var _0x101919=['$ok','8nlrqDT','functions','overview','create','3PgxRTz','2774277uoEnzo','800199DKRhlS','2243941TeTsnz','27485CqwaVI','selectedName','items','16522890azJltf','42jMLedq','currentView','store','2513096ZHRMys','951334WJfwJD','\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','loading','$dispatch','detail','stores'];_0x5ead=function(){return _0x101919;};return _0x5ead();}var _0x42ea31=_0x5060;(function(_0x15460d,_0x2a8f36){var _0x3574ce=_0x5060,_0xdfbbe4=_0x15460d();while(!![]){try{var _0x5aa7d1=-parseInt(_0x3574ce(0xf3))/0x1+-parseInt(_0x3574ce(0xe6))/0x2*(parseInt(_0x3574ce(0xf1))/0x3)+-parseInt(_0x3574ce(0xe5))/0x4+-parseInt(_0x3574ce(0xf5))/0x5*(-parseInt(_0x3574ce(0xe2))/0x6)+parseInt(_0x3574ce(0xf4))/0x7*(parseInt(_0x3574ce(0xed))/0x8)+parseInt(_0x3574ce(0xf2))/0x9+parseInt(_0x3574ce(0xe1))/0xa;if(_0x5aa7d1===_0x2a8f36)break;else _0xdfbbe4['push'](_0xdfbbe4['shift']());}catch(_0x5933af){_0xdfbbe4['push'](_0xdfbbe4['shift']());}}}(_0x5ead,0x656d4));export default{'tag':'functions-list','context':_0x4f53e5=>({get 'store'(){var _0x16ae00=_0x5060;return _0x4f53e5[_0x16ae00(0xec)][_0x16ae00(0xeb)][_0x16ae00(0xee)];},get 'items'(){var _0x188035=_0x5060;return this[_0x188035(0xe4)][_0x188035(0xe0)]||[];},get 'selectedName'(){var _0x436184=_0x5060;return this[_0x436184(0xe4)][_0x436184(0xdf)];},get 'loading'(){var _0x2677c9=_0x5060;return this[_0x2677c9(0xe4)][_0x2677c9(0xe8)];},get 'isOverview'(){var _0x3b2624=_0x5060;return _0x3b2624(0xea)!==this[_0x3b2624(0xe4)][_0x3b2624(0xe3)]||!this[_0x3b2624(0xdf)];},'pick'(_0x1fd2f8){_0x4f53e5['$dispatch']('open',_0x1fd2f8);},'openOverview'(){var _0x1be626=_0x5060;_0x4f53e5[_0x1be626(0xe9)](_0x1be626(0xef));},'createNew'(){var _0x50c32a=_0x5060;_0x4f53e5[_0x50c32a(0xe9)](_0x50c32a(0xf0));}}),'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':_0x42ea31(0xe7)};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0xcbae25=_0x3fec;(function(_0x4e646c,_0x3a9ade){const _0xb145dc=_0x3fec,_0x25bdf5=_0x4e646c();while(!![]){try{const _0x2087e7=-parseInt(_0xb145dc(0x184))/0x1*(-parseInt(_0xb145dc(0x1bc))/0x2)+-parseInt(_0xb145dc(0x1bb))/0x3+-parseInt(_0xb145dc(0x1b3))/0x4*(parseInt(_0xb145dc(0x19d))/0x5)+parseInt(_0xb145dc(0x19e))/0x6+-parseInt(_0xb145dc(0x1b0))/0x7+parseInt(_0xb145dc(0x1ae))/0x8*(parseInt(_0xb145dc(0x187))/0x9)+-parseInt(_0xb145dc(0x19b))/0xa;if(_0x2087e7===_0x3a9ade)break;else _0x25bdf5['push'](_0x25bdf5['shift']());}catch(_0x1506ad){_0x25bdf5['push'](_0x25bdf5['shift']());}}}(_0x4efc,0x6c317));const t=()=>__ENV__[_0xcbae25(0x1be)][_0xcbae25(0x180)](/\/api$/,'')+'/license';function _0x4efc(){const _0x5c21f7=['licenseId','activatingId','36OjYlUS','application/json','Activation\x20failed','writeText','filter','<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>','licensee','clipboard','find','addLoading','catch','var(--okdb-warn,#edc94b)','join','addInput','loading','unavailable','load','Remove\x20this\x20license?','length','entries','1383150kxJknP','slice','12615OzcpRf','1882980dTGOQN','json','isArray','/activate','none','font-size:10px;padding:2px\x207px;border-radius:4px;border:1px\x20solid;font-weight:500;text-transform:uppercase;letter-spacing:.04em;','toISOString','active','$ok','showAddForm','expiresAt','DELETE','success','map','string','stringify','1477416WSTCRC','activateToken','558768Sfimfp','pin','result','828PYgTKh','addError','shared','/status','min','status','pinDisplay','var(--okdb-danger,#f56565)','550734oocFIo','629198MHkCRy','activateError','ADMIN_API','POST','toast','Failed\x20to\x20load\x20license\x20status','License\x20removed','error','licenses','Copy\x20failed','var(--okdb-success,#48bb78)','trim','data','replace','Remove\x20failed','message','background:rgba(237,137,54,.1);border-color:rgba(237,137,54,.3);color:#ed8936;','1DDwbFY'];_0x4efc=function(){return _0x5c21f7;};return _0x4efc();}function _0x3fec(_0x29d8f6,_0x51c48e){_0x29d8f6=_0x29d8f6-0x179;const _0x4efc23=_0x4efc();let _0x3fec7a=_0x4efc23[_0x29d8f6];return _0x3fec7a;}export default{'tag':'license-panel','context':_0x39eb06=>({'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 _0x43a95a=_0xcbae25;this[_0x43a95a(0x195)]=!0x0,this[_0x43a95a(0x17a)]=null,this[_0x43a95a(0x196)]=!0x1;try{const _0x56bcbe=await fetch(t()+_0x43a95a(0x1b6));if(!_0x56bcbe['ok']){const _0x200040=await _0x56bcbe['json']()[_0x43a95a(0x191)](()=>({}));throw new Error(_0x200040?.['error']?.['message']||_0x200040?.['error']||_0x43a95a(0x1c1));}const _0x15c50a=await _0x56bcbe[_0x43a95a(0x19f)]();this[_0x43a95a(0x1b8)]=_0x15c50a[_0x43a95a(0x17f)]??_0x15c50a[_0x43a95a(0x1b2)]??_0x15c50a;}catch(_0x5cb205){this[_0x43a95a(0x17a)]=_0x5cb205?.[_0x43a95a(0x182)]||String(_0x5cb205);}finally{this[_0x43a95a(0x195)]=!0x1;}},'openAddForm'(){const _0x533b9b=_0xcbae25;this[_0x533b9b(0x1a7)]=!0x0,this['addInput']='',this['addError']=null;},'cancelAddForm'(){const _0x1c6bd6=_0xcbae25;this[_0x1c6bd6(0x1a7)]=!0x1,this[_0x1c6bd6(0x1b4)]=null;},async 'submitAdd'(){const _0x40e16a=_0xcbae25;if(this[_0x40e16a(0x194)]['trim']()&&!this['addLoading']){this[_0x40e16a(0x190)]=!0x0,this[_0x40e16a(0x1b4)]=null;try{const _0x266072=await fetch(''+t(),{'method':_0x40e16a(0x1bf),'headers':{'Content-Type':_0x40e16a(0x188)},'body':JSON[_0x40e16a(0x1ad)]({'input':this[_0x40e16a(0x194)][_0x40e16a(0x17e)]()})}),_0x5ce6a8=await _0x266072[_0x40e16a(0x19f)]();if(!_0x266072['ok']){const _0x3da8c2=_0x5ce6a8?.['error']?.[_0x40e16a(0x182)]||_0x5ce6a8?.[_0x40e16a(0x17a)]||_0x5ce6a8?.[_0x40e16a(0x17f)]?.[_0x40e16a(0x17a)]||_0x5ce6a8?.[_0x40e16a(0x1b2)]?.[_0x40e16a(0x17a)]||'Failed\x20to\x20add\x20license';throw new Error('string'==typeof _0x3da8c2?_0x3da8c2:JSON[_0x40e16a(0x1ad)](_0x3da8c2));}this[_0x40e16a(0x1a7)]=!0x1,await this['load']();}catch(_0x2b6cb1){this[_0x40e16a(0x1b4)]=_0x2b6cb1?.['message']||String(_0x2b6cb1);}finally{this[_0x40e16a(0x190)]=!0x1;}}},'copyPin'(){const _0xebc857=_0xcbae25,_0x443bab=this[_0xebc857(0x1b9)]();_0x443bab&&'—'!==_0x443bab&&navigator[_0xebc857(0x18e)]?.[_0xebc857(0x18a)]&&navigator[_0xebc857(0x18e)][_0xebc857(0x18a)](_0x443bab)['then'](()=>_0x39eb06[_0xebc857(0x1a6)][_0xebc857(0x1b5)]?.['toast']?.['success']?.('PIN\x20copied'),()=>_0x39eb06[_0xebc857(0x1a6)][_0xebc857(0x1b5)]?.[_0xebc857(0x1c0)]?.[_0xebc857(0x17a)]?.(_0xebc857(0x17c)));},'usagePct':(_0x1a5cda,_0x5b0ff1)=>_0x5b0ff1&&0x0!==_0x5b0ff1?Math[_0xcbae25(0x1b7)](0x64,Math['round'](_0x1a5cda/_0x5b0ff1*0x64)):0x0,'usageBarColor':_0x422ab3=>_0x422ab3>=0x5a?_0xcbae25(0x1ba):_0x422ab3>=0x4b?_0xcbae25(0x192):_0xcbae25(0x17d),'formatNum':_0x3d20b2=>null==_0x3d20b2?'—':Number(_0x3d20b2)['toLocaleString'](),'openActivate'(_0x41e95c){const _0x49b76d=_0xcbae25;this[_0x49b76d(0x186)]=_0x41e95c,this[_0x49b76d(0x1af)]='',this[_0x49b76d(0x1bd)]=null;},'cancelActivate'(){const _0x55572c=_0xcbae25;this[_0x55572c(0x186)]=null,this[_0x55572c(0x1bd)]=null;},async 'submitActivate'(_0x316407){const _0x2c6dfb=_0xcbae25;if(this[_0x2c6dfb(0x1af)][_0x2c6dfb(0x17e)]()&&!this['activateLoading']){this['activateLoading']=!0x0,this[_0x2c6dfb(0x1bd)]=null;try{const _0x1e6eae=await fetch(t()+'/'+encodeURIComponent(_0x316407)+_0x2c6dfb(0x1a1),{'method':_0x2c6dfb(0x1bf),'headers':{'Content-Type':_0x2c6dfb(0x188)},'body':JSON[_0x2c6dfb(0x1ad)]({'activation':this['activateToken'][_0x2c6dfb(0x17e)]()})}),_0x3abc72=await _0x1e6eae[_0x2c6dfb(0x19f)]();if(!_0x1e6eae['ok']){const _0x16a09=_0x3abc72?.[_0x2c6dfb(0x17a)]?.[_0x2c6dfb(0x182)]||_0x3abc72?.[_0x2c6dfb(0x17a)]||_0x3abc72?.[_0x2c6dfb(0x17f)]?.[_0x2c6dfb(0x17a)]||_0x3abc72?.[_0x2c6dfb(0x1b2)]?.[_0x2c6dfb(0x17a)]||_0x2c6dfb(0x189);throw new Error('string'==typeof _0x16a09?_0x16a09:JSON[_0x2c6dfb(0x1ad)](_0x16a09));}this[_0x2c6dfb(0x186)]=null,await this[_0x2c6dfb(0x197)]();}catch(_0x568404){this[_0x2c6dfb(0x1bd)]=_0x568404?.['message']||String(_0x568404);}finally{this['activateLoading']=!0x1;}}},async 'removeLicense'(_0x37d843){const _0x3e16f8=_0xcbae25;if(confirm(_0x3e16f8(0x198)))try{const _0x13b621=await fetch(t()+'/'+encodeURIComponent(_0x37d843),{'method':_0x3e16f8(0x1a9)}),_0x1f9b5f=await _0x13b621[_0x3e16f8(0x19f)]();if(!_0x13b621['ok']){const _0x4724e8=_0x1f9b5f?.['error']?.['message']||_0x1f9b5f?.[_0x3e16f8(0x17a)]||_0x1f9b5f?.[_0x3e16f8(0x17f)]?.[_0x3e16f8(0x17a)]||_0x1f9b5f?.[_0x3e16f8(0x1b2)]?.[_0x3e16f8(0x17a)]||_0x3e16f8(0x181);throw new Error(_0x3e16f8(0x1ac)==typeof _0x4724e8?_0x4724e8:JSON['stringify'](_0x4724e8));}_0x39eb06[_0x3e16f8(0x1a6)][_0x3e16f8(0x1b5)]?.[_0x3e16f8(0x1c0)]?.[_0x3e16f8(0x1aa)]?.(_0x3e16f8(0x179)),await this[_0x3e16f8(0x197)]();}catch(_0x183d8e){_0x39eb06[_0x3e16f8(0x1a6)][_0x3e16f8(0x1b5)]?.['toast']?.[_0x3e16f8(0x17a)]?.(_0x183d8e?.[_0x3e16f8(0x182)]||_0x3e16f8(0x181));}},'formatDate':_0x4ca957=>_0x4ca957?new Date(_0x4ca957)[_0xcbae25(0x1a4)]()[_0xcbae25(0x19c)](0x0,0xa):'—','shortId':_0x331580=>_0x331580?_0x331580[_0xcbae25(0x19c)](0x0,0x8)+'…':'—','featureSummary'(_0x4280c8){const _0x1e8132=_0xcbae25;if(!_0x4280c8)return'—';const _0x3acc1a=Object[_0x1e8132(0x19a)](_0x4280c8)[_0x1e8132(0x18b)](([,_0x3d1644])=>_0x3d1644)['map'](([_0x17ff4a])=>_0x17ff4a);return _0x3acc1a[_0x1e8132(0x199)]?_0x3acc1a[0x0]+(_0x3acc1a[_0x1e8132(0x199)]>0x1?'\x20+'+(_0x3acc1a[_0x1e8132(0x199)]-0x1):''):_0x1e8132(0x1a2);},'pinDisplay'(){const _0x48846d=_0xcbae25,_0x337db2=this['status']?.[_0x48846d(0x1b1)];return _0x337db2?Array['isArray'](_0x337db2)?0x0===_0x337db2[_0x48846d(0x199)]?'—':_0x337db2[_0x48846d(0x1ab)](_0x5ed190=>'string'==typeof _0x5ed190?_0x5ed190:_0x5ed190?.[_0x48846d(0x1b1)])['filter'](Boolean)[_0x48846d(0x193)](',\x20')||'—':_0x337db2:'—';},'hasActive'(){return(this['status']?.['activeCount']??0x0)>0x0;},'activeLicensee'(){const _0x5450c9=_0xcbae25;return this[_0x5450c9(0x1b8)]?.[_0x5450c9(0x17b)]?.[_0x5450c9(0x18f)](_0x47287c=>'active'===_0x47287c[_0x5450c9(0x1b8)])?.[_0x5450c9(0x18d)]??null;},'activeExpiry'(){const _0x6467fc=_0xcbae25;return this[_0x6467fc(0x1b8)]?.[_0x6467fc(0x17b)]?.['find'](_0xca990=>_0x6467fc(0x1a5)===_0xca990['status'])?.[_0x6467fc(0x1a8)]??null;},'badgeStyle':_0x32506d=>({'active':'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);','expired':'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);','invalid':'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);','pending':'background:rgba(237,201,75,.1);border-color:rgba(237,201,75,.3);color:#edc94b;','wrong_node':_0xcbae25(0x183)}[_0x32506d]||'')+_0xcbae25(0x1a3),'licensePin'(_0x341cee){const _0x1effa0=_0xcbae25,_0x57edf8=this['status']?.[_0x1effa0(0x1b1)];if(Array[_0x1effa0(0x1a0)](_0x57edf8)){const _0xd58ac=_0x57edf8['find'](_0x1275b5=>_0x1275b5?.[_0x1effa0(0x185)]===_0x341cee?.['id']);if(_0xd58ac?.[_0x1effa0(0x1b1)])return _0xd58ac[_0x1effa0(0x1b1)];}return'string'==typeof _0x341cee?.[_0x1effa0(0x1b1)]?_0x341cee[_0x1effa0(0x1b1)]:'—';}}),'mount'(){this['load']();},'style':'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)}','template':_0xcbae25(0x18c)};
|
|
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 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x35ed(){const _0x1270b6=['35306ytmOAb','\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','\x22\x20created','183501FYmndI','Bucket\x20ID\x20is\x20required','1308183FkZFhD','capacity','json','2009483rcvPfq','2490JzaTRL','success','tokens','Create\x20failed','120UQwKgf','refill_every','415IiTiPX','POST','$attr','/queue/bucket/add/','error','toast','busy','14716430qXtXNH','modal','form','1199172XRwrOM','apiBase','close','message','stringify','20cDytBg'];_0x35ed=function(){return _0x1270b6;};return _0x35ed();}const _0x5b87c6=_0x5705;(function(_0x36c495,_0x1c2d57){const _0xd134c6=_0x5705,_0x24e6e4=_0x36c495();while(!![]){try{const _0xc223b7=parseInt(_0xd134c6(0x19c))/0x1*(parseInt(_0xd134c6(0x19d))/0x2)+parseInt(_0xd134c6(0x1a2))/0x3+parseInt(_0xd134c6(0x197))/0x4+-parseInt(_0xd134c6(0x18d))/0x5*(-parseInt(_0xd134c6(0x187))/0x6)+parseInt(_0xd134c6(0x186))/0x7+-parseInt(_0xd134c6(0x18b))/0x8*(-parseInt(_0xd134c6(0x1a0))/0x9)+-parseInt(_0xd134c6(0x194))/0xa;if(_0xc223b7===_0x1c2d57)break;else _0x24e6e4['push'](_0x24e6e4['shift']());}catch(_0x5e36ae){_0x24e6e4['push'](_0x24e6e4['shift']());}}}(_0x35ed,0x3bb8c));function _0x5705(_0x10f1bd,_0x474748){_0x10f1bd=_0x10f1bd-0x184;const _0x35ed5b=_0x35ed();let _0x5705aa=_0x35ed5b[_0x10f1bd];return _0x5705aa;}import _0x4c5e10 from'../../../stores/okdb-store.js';export default{'tag':'create-bucket-modal','attr':{'modal':{},'onDone':{}},'context':_0x5b1575=>({'busy':!0x1,'error':null,'form':{'id':'','capacity':0x64,'tokens':0x64,'refill_amount':0x0,'refill_every':0x0},async 'save'(){const _0x10c168=_0x5705,_0x822671=String(this[_0x10c168(0x196)]['id']||'')['trim']();if(_0x822671){this[_0x10c168(0x193)]=!0x0,this[_0x10c168(0x191)]=null;try{const _0x1ae62e=await fetch(_0x4c5e10[_0x10c168(0x198)]+_0x10c168(0x190)+encodeURIComponent(_0x822671),{'method':_0x10c168(0x18e),'headers':{'Content-Type':'application/json'},'body':JSON[_0x10c168(0x19b)]({'capacity':Number(this[_0x10c168(0x196)][_0x10c168(0x184)])||0x0,'tokens':Number(this['form'][_0x10c168(0x189)])||0x0,'refill_amount':Number(this[_0x10c168(0x196)]['refill_amount'])||0x0,'refill_every':Number(this['form'][_0x10c168(0x18c)])||0x0})}),_0x5c5c7a=await _0x1ae62e[_0x10c168(0x185)]();if(!_0x1ae62e['ok'])throw new Error(_0x5c5c7a?.[_0x10c168(0x191)]?.[_0x10c168(0x19a)]||_0x10c168(0x18a));_0x5b1575['$ok']['shared']?.[_0x10c168(0x192)]?.[_0x10c168(0x188)]?.('Bucket\x20\x22'+_0x822671+_0x10c168(0x19f)),await _0x5b1575[_0x10c168(0x18f)][_0x10c168(0x195)][_0x10c168(0x199)](),await _0x5b1575['$attr']['onDone']?.(_0x822671);}catch(_0x398a4f){this[_0x10c168(0x191)]=_0x398a4f?.[_0x10c168(0x19a)]||_0x10c168(0x18a);}finally{this[_0x10c168(0x193)]=!0x1;}}else this[_0x10c168(0x191)]=_0x10c168(0x1a1);},'cancel'(){const _0x33c620=_0x5705;_0x5b1575[_0x33c620(0x18f)]['modal']['close']();}}),'template':_0x5b87c6(0x19e)};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const _0x1a659d=_0x3af5;(function(_0xa7ed8f,_0x2bd5af){const _0x1ab64a=_0x3af5,_0x47df7c=_0xa7ed8f();while(!![]){try{const _0x49b450=parseInt(_0x1ab64a(0xc9))/0x1+-parseInt(_0x1ab64a(0xd4))/0x2+-parseInt(_0x1ab64a(0xbc))/0x3*(parseInt(_0x1ab64a(0xcf))/0x4)+parseInt(_0x1ab64a(0xbe))/0x5+parseInt(_0x1ab64a(0xcc))/0x6+-parseInt(_0x1ab64a(0xc7))/0x7+parseInt(_0x1ab64a(0xca))/0x8*(parseInt(_0x1ab64a(0xb3))/0x9);if(_0x49b450===_0x2bd5af)break;else _0x47df7c['push'](_0x47df7c['shift']());}catch(_0x525c7f){_0x47df7c['push'](_0x47df7c['shift']());}}}(_0x5879,0x1ab31));function _0x3af5(_0x85da85,_0x1963b0){_0x85da85=_0x85da85-0xb1;const _0x58794d=_0x5879();let _0x3af521=_0x58794d[_0x85da85];return _0x3af521;}function _0x5879(){const _0x471d5b=['POST','toast','error','Bucket\x20ID\x20is\x20required','366708kZOUyH','tokens','capacity','\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','252LZuoAY','Bucket\x20created','edit-bucket-modal','onDone','busy','editMode','message','Save\x20failed','/queue/bucket/add/','3qKBrxt','refill_every','34295YJJoOc','stringify','success','close','application/json','$attr','initialForm','/queue/bucket/update/','refill_amount','234843DGtHlg','form','215029NNdzsk','22384tzISpI','shared','1003602QNNFDO','modal','apiBase','564940Lshvck'];_0x5879=function(){return _0x471d5b;};return _0x5879();}import _0x33cc82 from'../../../stores/okdb-store.js';export default{'tag':_0x1a659d(0xb5),'attr':{'modal':{},'editMode':{},'initialForm':{},'onDone':{}},'context'(_0xdf3291){const _0x148624=_0x1a659d,_0x1faec7=_0xdf3291[_0x148624(0xc3)][_0x148624(0xc4)]??{};return{'busy':!0x1,'error':null,'form':{'id':_0x1faec7['id']??'','capacity':_0x1faec7[_0x148624(0xb1)]??0x64,'tokens':_0x1faec7[_0x148624(0xd5)]??0x64,'refill_amount':_0x1faec7[_0x148624(0xc6)]??0x0,'refill_every':_0x1faec7[_0x148624(0xbd)]??0x0},get 'editMode'(){const _0x56a90a=_0x148624;return!!_0xdf3291['$attr'][_0x56a90a(0xb8)];},async 'save'(){const _0x421f9d=_0x148624,_0x2d800c=String(this[_0x421f9d(0xc8)]['id']||'')['trim']();if(_0x2d800c){this[_0x421f9d(0xb7)]=!0x0,this['error']=null;try{const _0x23def3=this['editMode']?_0x33cc82[_0x421f9d(0xce)]+_0x421f9d(0xc5)+encodeURIComponent(_0x2d800c):_0x33cc82[_0x421f9d(0xce)]+_0x421f9d(0xbb)+encodeURIComponent(_0x2d800c),_0x42eb16=await fetch(_0x23def3,{'method':_0x421f9d(0xd0),'headers':{'Content-Type':_0x421f9d(0xc2)},'body':JSON[_0x421f9d(0xbf)]({'capacity':Number(this[_0x421f9d(0xc8)][_0x421f9d(0xb1)])||0x0,'tokens':Number(this[_0x421f9d(0xc8)][_0x421f9d(0xd5)])??0x0,'refill_amount':Number(this[_0x421f9d(0xc8)][_0x421f9d(0xc6)])||0x0,'refill_every':Number(this['form']['refill_every'])||0x0})}),_0x14b325=await _0x42eb16['json']();if(!_0x42eb16['ok'])throw new Error(_0x14b325?.[_0x421f9d(0xd2)]?.[_0x421f9d(0xb9)]||_0x421f9d(0xba));_0xdf3291['$ok'][_0x421f9d(0xcb)]?.[_0x421f9d(0xd1)]?.[_0x421f9d(0xc0)]?.(this['editMode']?'Bucket\x20updated':_0x421f9d(0xb4)),await _0xdf3291[_0x421f9d(0xc3)][_0x421f9d(0xcd)]['close'](),await _0xdf3291['$attr'][_0x421f9d(0xb6)]?.();}catch(_0x52bd85){this[_0x421f9d(0xd2)]=_0x52bd85?.[_0x421f9d(0xb9)]||'Save\x20failed';}finally{this[_0x421f9d(0xb7)]=!0x1;}}else this['error']=_0x421f9d(0xd3);},'cancel'(){const _0x1d297d=_0x148624;_0xdf3291[_0x1d297d(0xc3)][_0x1d297d(0xcd)][_0x1d297d(0xc1)]();}};},'template':_0x1a659d(0xb2)};
|