dirigent-server 0.18.3__tar.gz → 0.18.4__tar.gz
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.
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/PKG-INFO +5 -5
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/pyproject.toml +5 -5
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/pyproject.toml.orig +5 -5
- dirigent_server-0.18.4/src/dirigent_server/static/assets/Alerting-DPHrAbP5.js +1 -0
- dirigent_server-0.18.4/src/dirigent_server/static/assets/Blocks-CTbBgJSs.js +1 -0
- dirigent_server-0.18.3/src/dirigent_server/static/assets/CodeEditor-0KFNLzta.js → dirigent_server-0.18.4/src/dirigent_server/static/assets/CodeEditor-B9sClhqO.js +95 -95
- dirigent_server-0.18.4/src/dirigent_server/static/assets/Connections-CjyNbx7P.js +1 -0
- dirigent_server-0.18.4/src/dirigent_server/static/assets/Dashboard-DSlMoM2G.js +1 -0
- dirigent_server-0.18.4/src/dirigent_server/static/assets/ExamplePanel-Ba6aib_L.js +1 -0
- dirigent_server-0.18.4/src/dirigent_server/static/assets/Examples-qo66eKED.js +2 -0
- dirigent_server-0.18.4/src/dirigent_server/static/assets/JsonBlock-CZ3pzdQd.js +1 -0
- dirigent_server-0.18.4/src/dirigent_server/static/assets/ListTable-D-mI8v9Y.js +1 -0
- dirigent_server-0.18.4/src/dirigent_server/static/assets/Overview-CZJOH_Ci.js +1 -0
- dirigent_server-0.18.4/src/dirigent_server/static/assets/Picker-C5k6L204.js +1 -0
- dirigent_server-0.18.4/src/dirigent_server/static/assets/PipelineEditor-B1_fPiWM.js +2 -0
- dirigent_server-0.18.4/src/dirigent_server/static/assets/PipelineGraph-D4mIFvg8.js +1 -0
- dirigent_server-0.18.3/src/dirigent_server/static/assets/PipelinePreview-Dx5PHeHj.js → dirigent_server-0.18.4/src/dirigent_server/static/assets/PipelinePreview-Bh31a8YB.js +1 -1
- dirigent_server-0.18.3/src/dirigent_server/static/assets/PipelineTab-ZN5ffD11.js → dirigent_server-0.18.4/src/dirigent_server/static/assets/PipelineTab-Cfr2dyAj.js +2 -2
- dirigent_server-0.18.3/src/dirigent_server/static/assets/Refusal-BWl1-jC1.js → dirigent_server-0.18.4/src/dirigent_server/static/assets/Refusal-B2rlk8VD.js +1 -1
- dirigent_server-0.18.4/src/dirigent_server/static/assets/RunDetail-GgC-1Ma3.js +3 -0
- dirigent_server-0.18.3/src/dirigent_server/static/assets/RunGraph-DIT8xoN7.js → dirigent_server-0.18.4/src/dirigent_server/static/assets/RunGraph-raonFnyd.js +1 -1
- dirigent_server-0.18.4/src/dirigent_server/static/assets/SchemaForm-C08AaK2P.js +1 -0
- dirigent_server-0.18.4/src/dirigent_server/static/assets/Schemas-D5uR8yla.js +10 -0
- dirigent_server-0.18.4/src/dirigent_server/static/assets/SettingsDialog-CgALkqHY.js +1 -0
- dirigent_server-0.18.4/src/dirigent_server/static/assets/StarterPicker-CcaWNru5.js +1 -0
- dirigent_server-0.18.4/src/dirigent_server/static/assets/StepPorts-PlS_VS4B.js +7 -0
- dirigent_server-0.18.4/src/dirigent_server/static/assets/TileCard-DERgB2kj.js +1 -0
- dirigent_server-0.18.4/src/dirigent_server/static/assets/Triggers-D5cdnjJV.js +1 -0
- dirigent_server-0.18.3/src/dirigent_server/static/assets/Users-D-mDeTAh.js → dirigent_server-0.18.4/src/dirigent_server/static/assets/Users-DYxSHyt1.js +1 -1
- dirigent_server-0.18.4/src/dirigent_server/static/assets/WindowedPane-BUe4ZBNS.js +1 -0
- dirigent_server-0.18.3/src/dirigent_server/static/assets/Workers-BHh_jWW5.js → dirigent_server-0.18.4/src/dirigent_server/static/assets/Workers-Bb39s8gk.js +1 -1
- dirigent_server-0.18.3/src/dirigent_server/static/assets/WorkersTable-C3cil-lW.js → dirigent_server-0.18.4/src/dirigent_server/static/assets/WorkersTable-Bdjj57jO.js +1 -1
- dirigent_server-0.18.4/src/dirigent_server/static/assets/index-Bp4KzK9w.js +53 -0
- dirigent_server-0.18.4/src/dirigent_server/static/assets/index-CgkcXl1G.css +2 -0
- dirigent_server-0.18.3/src/dirigent_server/static/assets/jsonMode-tILOm4tQ.js → dirigent_server-0.18.4/src/dirigent_server/static/assets/jsonMode-C2rhmYxE.js +1 -1
- dirigent_server-0.18.4/src/dirigent_server/static/assets/preferences-CEibwN5K.js +1 -0
- dirigent_server-0.18.3/src/dirigent_server/static/assets/select-BHa3vRob.js → dirigent_server-0.18.4/src/dirigent_server/static/assets/select-Dl8ZhXSH.js +1 -1
- dirigent_server-0.18.3/src/dirigent_server/static/assets/yaml-DSCysg4a.js → dirigent_server-0.18.4/src/dirigent_server/static/assets/yaml-CLSOANGG.js +1 -1
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/index.html +3 -3
- dirigent_server-0.18.3/src/dirigent_server/static/assets/Alerting-nJ3zywCX.js +0 -1
- dirigent_server-0.18.3/src/dirigent_server/static/assets/Blocks-563Qyei5.js +0 -1
- dirigent_server-0.18.3/src/dirigent_server/static/assets/Connections-CemBNXn9.js +0 -1
- dirigent_server-0.18.3/src/dirigent_server/static/assets/Dashboard-ClXFOnm7.js +0 -1
- dirigent_server-0.18.3/src/dirigent_server/static/assets/ExamplePanel-DKQkiihz.js +0 -1
- dirigent_server-0.18.3/src/dirigent_server/static/assets/Examples-CpROEbSh.js +0 -2
- dirigent_server-0.18.3/src/dirigent_server/static/assets/JsonBlock-pzVtgv_p.js +0 -1
- dirigent_server-0.18.3/src/dirigent_server/static/assets/ListTable-Bf1eJYg4.js +0 -1
- dirigent_server-0.18.3/src/dirigent_server/static/assets/Overview-MqKejuFN.js +0 -1
- dirigent_server-0.18.3/src/dirigent_server/static/assets/Picker-DtmGXJxI.js +0 -1
- dirigent_server-0.18.3/src/dirigent_server/static/assets/PipelineEditor-qABxnDPq.js +0 -2
- dirigent_server-0.18.3/src/dirigent_server/static/assets/PipelineGraph-B3WZx-gR.js +0 -1
- dirigent_server-0.18.3/src/dirigent_server/static/assets/RunDetail-BuyAvO8p.js +0 -3
- dirigent_server-0.18.3/src/dirigent_server/static/assets/SchemaForm-jWG6iOB3.js +0 -1
- dirigent_server-0.18.3/src/dirigent_server/static/assets/Schemas-DlqBZf9z.js +0 -10
- dirigent_server-0.18.3/src/dirigent_server/static/assets/SettingsDialog-CLU-oX36.js +0 -1
- dirigent_server-0.18.3/src/dirigent_server/static/assets/StarterPicker-7qIa398g.js +0 -1
- dirigent_server-0.18.3/src/dirigent_server/static/assets/StepPorts-Du1E90r1.js +0 -7
- dirigent_server-0.18.3/src/dirigent_server/static/assets/TileCard-D2tNIrMn.js +0 -1
- dirigent_server-0.18.3/src/dirigent_server/static/assets/Triggers-DW5RpE2Q.js +0 -1
- dirigent_server-0.18.3/src/dirigent_server/static/assets/WindowedPane-dMHnDqVB.js +0 -1
- dirigent_server-0.18.3/src/dirigent_server/static/assets/index-C3S0GbYv.js +0 -53
- dirigent_server-0.18.3/src/dirigent_server/static/assets/index-DfjqILVM.css +0 -2
- dirigent_server-0.18.3/src/dirigent_server/static/assets/maximize-2-BdFIT4cn.js +0 -1
- dirigent_server-0.18.3/src/dirigent_server/static/assets/preferences-DsqSnjg9.js +0 -1
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/LICENSE +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/README.md +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/THIRD_PARTY_NOTICES.md +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/__init__.py +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/app.py +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/dependencies.py +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/errors.py +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/health.py +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/logging.py +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/messages.py +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/pagination.py +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/py.typed +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/routes/__init__.py +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/routes/alerts.py +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/routes/auth.py +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/routes/blocks.py +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/routes/connections.py +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/routes/examples.py +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/routes/hooks.py +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/routes/pipelines.py +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/routes/runs.py +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/routes/schema.py +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/routes/schemas.py +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/routes/system.py +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/routes/trigger_documents.py +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/routes/triggers.py +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/routes/users.py +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/routes/workers.py +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/security.py +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/.gitkeep +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/AdminOnly-CWzFAkRQ.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/Breadcrumb-x6p00HyX.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/CodeEditor-C4OnjBMt.css +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/Description-MmXUnb-9.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/Instant-mr1E5jAK.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/KindChip-CwU_Xxdy.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/Mark-DQR2php6.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/Markdown-roa7jpVu.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/PageState-BLuobMye.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/Panel-CqrOYByl.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/ProgramReference-DF37mMAT.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/Segmented-KaDiGiyr.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/api-Bm1JZLuC.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/auth-CHgfcdt9.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/badge-BovCxjd1.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/blocks-CclbVd8c.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/chevron-down-DAO3SUWv.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/chunk-OB3PAWPO-DOp4K52_.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/codicon-DCmgc-ay.ttf +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/connections-DsdoSARb.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/copy-BeBwg8IR.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/dist-DD8kpv1W.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/docs-CCoB3shg.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/dropdown-menu-B-6CcHKw.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/editor.worker-CIvRzd4O.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/elk-engine-Bm7I_NRI.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/elk-worker.min-DfmSo98M.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/examples-DDWkSZ2u.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/file-braces-Ep8AP5Yq.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/format-B5YbYOY-.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/glyphs-C1sjljkh.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2 +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2 +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2 +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2 +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2 +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2 +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2 +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2 +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2 +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2 +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2 +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2 +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2 +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2 +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2 +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/ibm-plex-sans-cyrillic-ext-wght-normal-d45eAU9y.woff2 +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/ibm-plex-sans-cyrillic-wght-normal-BAAhND-U.woff2 +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/ibm-plex-sans-greek-wght-normal-CmyJS8uq.woff2 +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/ibm-plex-sans-latin-ext-wght-normal-CIII54If.woff2 +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/ibm-plex-sans-latin-wght-normal-IvpUvPa2.woff2 +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/ibm-plex-sans-vietnamese-wght-normal-Dg1JeJN0.woff2 +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/identity-BNZxCf_y.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/idle-DnO3aHK7.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/input-1fShkFXn.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/json.worker-fczZDBja.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/nav-i7bJ0lrA.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/paging-CpRIkEky.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/pipelines-Pi3WL8R6.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/play-CPVSEWx6.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/preload-helper-BZ1Pz5am.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/react-CQOZoUwg.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/resolveAriaLabelledBy-ClHvyYLK.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/rolldown-runtime-Dd_uD5pT.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/schemas-7KY_7aIc.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/shell-CC2rA5mh.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/sql-NEE52Syq.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/starters-CgC7I45V.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/status-Ctx8x8Mf.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/store-C2zgoyrT.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/textarea-ljIbN_md.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/tooltip-D7_KwbOU.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/triggers-BetQ4Leu.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/twig-De2hgUGE.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/use-heartbeat-CBT8848s.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/use-store-CfRquqZF.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/users-CTGHiHMA.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/utils-CT7ZGLfR.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/with-selector-BXYKoaOE.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/workers-BH2Za19E.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/x-Dltw6Vbs.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/assets/yaml.worker-B2SaT_wA.js +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/favicon-32.png +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/static/logo.png +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/transactions.py +0 -0
- {dirigent_server-0.18.3 → dirigent_server-0.18.4}/src/dirigent_server/ui.py +0 -0
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dirigent-server
|
|
3
|
-
Version: 0.18.
|
|
3
|
+
Version: 0.18.4
|
|
4
4
|
Summary: Dirigent FastAPI server: the REST API, its authentication, and the health probes.
|
|
5
5
|
License-Expression: LicenseRef-Proprietary
|
|
6
6
|
License-File: LICENSE
|
|
7
7
|
License-File: THIRD_PARTY_NOTICES.md
|
|
8
8
|
Classifier: Programming Language :: Python :: 3
|
|
9
9
|
Classifier: Programming Language :: Python :: 3.13
|
|
10
|
-
Requires-Dist: dirigent-client==0.18.
|
|
11
|
-
Requires-Dist: dirigent-common==0.18.
|
|
12
|
-
Requires-Dist: dirigent-core==0.18.
|
|
13
|
-
Requires-Dist: dirigent-examples==0.18.
|
|
10
|
+
Requires-Dist: dirigent-client==0.18.4
|
|
11
|
+
Requires-Dist: dirigent-common==0.18.4
|
|
12
|
+
Requires-Dist: dirigent-core==0.18.4
|
|
13
|
+
Requires-Dist: dirigent-examples==0.18.4
|
|
14
14
|
Requires-Dist: fastapi>=0.141.1
|
|
15
15
|
Requires-Python: >=3.13
|
|
16
16
|
Description-Content-Type: text/markdown
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "dirigent-server"
|
|
3
|
-
version = "0.18.
|
|
3
|
+
version = "0.18.4"
|
|
4
4
|
description = "Dirigent FastAPI server: the REST API, its authentication, and the health probes."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.13"
|
|
@@ -14,10 +14,10 @@ classifiers = [
|
|
|
14
14
|
"Programming Language :: Python :: 3.13",
|
|
15
15
|
]
|
|
16
16
|
dependencies = [
|
|
17
|
-
"dirigent-client==0.18.
|
|
18
|
-
"dirigent-common==0.18.
|
|
19
|
-
"dirigent-core==0.18.
|
|
20
|
-
"dirigent-examples==0.18.
|
|
17
|
+
"dirigent-client==0.18.4",
|
|
18
|
+
"dirigent-common==0.18.4",
|
|
19
|
+
"dirigent-core==0.18.4",
|
|
20
|
+
"dirigent-examples==0.18.4",
|
|
21
21
|
"fastapi>=0.141.1",
|
|
22
22
|
]
|
|
23
23
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "dirigent-server"
|
|
3
|
-
version = "0.18.
|
|
3
|
+
version = "0.18.4"
|
|
4
4
|
description = "Dirigent FastAPI server: the REST API, its authentication, and the health probes."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.13"
|
|
@@ -11,10 +11,10 @@ classifiers = [
|
|
|
11
11
|
"Programming Language :: Python :: 3.13",
|
|
12
12
|
]
|
|
13
13
|
dependencies = [
|
|
14
|
-
"dirigent-client==0.18.
|
|
15
|
-
"dirigent-common==0.18.
|
|
16
|
-
"dirigent-core==0.18.
|
|
17
|
-
"dirigent-examples==0.18.
|
|
14
|
+
"dirigent-client==0.18.4",
|
|
15
|
+
"dirigent-common==0.18.4",
|
|
16
|
+
"dirigent-core==0.18.4",
|
|
17
|
+
"dirigent-examples==0.18.4",
|
|
18
18
|
"fastapi>=0.141.1",
|
|
19
19
|
]
|
|
20
20
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./react-CQOZoUwg.js";import{r as n}from"./with-selector-BXYKoaOE.js";import{n as r}from"./chunk-OB3PAWPO-DOp4K52_.js";import{i,r as a}from"./api-Bm1JZLuC.js";import{N as o}from"./dropdown-menu-B-6CcHKw.js";import{r as s}from"./glyphs-C1sjljkh.js";import{n as c,o as l,s as u,t as d}from"./PageState-BLuobMye.js";import{i as f,t as p}from"./ListTable-D-mI8v9Y.js";import{t as m}from"./WindowedPane-BUe4ZBNS.js";import{r as h,t as g}from"./utils-CT7ZGLfR.js";import{i as _,n as v,t as y}from"./tooltip-D7_KwbOU.js";import{d as b,f as x}from"./paging-CpRIkEky.js";import{t as S}from"./input-1fShkFXn.js";import{l as C}from"./format-B5YbYOY-.js";import{t as w}from"./identity-BNZxCf_y.js";import{r as T,t as E,u as D}from"./pipelines-Pi3WL8R6.js";import{Ft as O,It as k,Lt as ee,Mt as te,Nt as ne,O as A,Pt as j,Rt as M,_t as re,b as ie,dt as N,g as P,jt as ae,mt as F,nt as oe,rt as se,st as I,ut as ce,v as L,w as R,y as z}from"./index-Bp4KzK9w.js";import{t as le}from"./Description-MmXUnb-9.js";import{c as ue,f as de,n as fe,o as pe}from"./connections-DsdoSARb.js";import{n as B,t as V}from"./Refusal-B2rlk8VD.js";import{t as H}from"./Instant-mr1E5jAK.js";import{t as me}from"./Segmented-KaDiGiyr.js";import{t as he}from"./Mark-DQR2php6.js";import{t as ge}from"./ProgramReference-DF37mMAT.js";import{t as _e}from"./Picker-C5k6L204.js";import{t as ve}from"./AdminOnly-CWzFAkRQ.js";var ye={name:`bell-plus`,size:24,node:[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M15 8h6`,key:`8ybuxh`}],[`path`,{d:`M18 5v6`,key:`g5ayrv`}],[`path`,{d:`M20.002 14.464a9 9 0 0 0 .738.863A1 1 0 0 1 20 17H4a1 1 0 0 1-.74-1.673C4.59 13.956 6 12.499 6 8a6 6 0 0 1 8.75-5.332`,key:`1abcvy`}]]};ye.node;var be=n(ye),xe={name:`send`,size:24,node:[[`path`,{d:`M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z`,key:`1ffxy3`}],[`path`,{d:`m21.854 2.147-10.94 10.939`,key:`12cjpa`}]]};xe.node;var Se=n(xe),U=e(t(),1),Ce=[`run_failed`,`run_completed_with_errors`,`run_succeeded`,`run_stuck`],W={run_failed:`Failed`,run_completed_with_errors:`Completed with errors`,run_succeeded:`Succeeded`,run_stuck:`Stuck`},we=[`pending`,`sending`,`sent`,`failed`],Te=`0s`;function Ee(e){return e===Te?`none`:e}function De(e){return e.scope===`pipeline`&&e.pipeline!==null?e.pipeline:`every pipeline`}function Oe(e){return e===null?null:`${e} and above`}function ke(e){return e.active&&!e.paused}function Ae(e){return e===`sent`||e===`failed`}function je(e,t=50){let n=new URLSearchParams({limit:String(t)});return e!==null&&n.set(`after`,e),`/alert-rules?${n.toString()}`}function Me(e){return a(je(e))}function Ne(e){return i(`/alert-rules`,`POST`,e)}function Pe(e,t){return i(`/alert-rules/${encodeURIComponent(e)}`,`PATCH`,t)}function Fe(e,t){return Pe(e,{paused:t})}function Ie(e){return a(`/alert-rules/${encodeURIComponent(e)}`,{method:`DELETE`})}var Le={status:``,notifier:``};function Re(e,t,n=50){let r=new URLSearchParams({limit:String(n)});return e.status!==``&&r.set(`status`,e.status),e.notifier!==``&&r.set(`notifier`,e.notifier),t!==null&&r.set(`after`,t),`/notifications?${r.toString()}`}function ze(e,t){return a(Re(e,t))}function Be(e){return a(`/notifications/${encodeURIComponent(e)}`)}function Ve(e){return i(`/notifications/${encodeURIComponent(e)}/$retry`,`POST`,{})}function He(e){return i(`/alert-rules/$test`,`POST`,e)}async function Ue(){return(await a(`/blocks`)).notifiers.map(e=>e.id)}function We(e,t){let n=[];for(let r of e){if(r===`log`){n.push({id:r,notifier:r,connection:null,reachable:!0,last_check_at:null,last_check_healthy:null,last_check_detail:null});continue}let e=t.filter(e=>e.kind===r);if(e.length===0){n.push({id:r,notifier:r,connection:null,reachable:!1,last_check_at:null,last_check_healthy:null,last_check_detail:null});continue}for(let t of e)n.push({id:`${r}:${t.code}`,notifier:r,connection:t.code,reachable:!0,last_check_at:t.last_check_at,last_check_healthy:t.last_check_healthy,last_check_detail:t.last_check_detail})}return Je(n)}function Ge(e){return e.connection??e.notifier}function Ke(e){return e.connection===null?e.notifier===`log`?null:ue(e.notifier):fe(e.connection)}function G(e){if(e.notifier===`log`)return{tone:`good`,label:`ready`,detail:null};if(!e.reachable)return{tone:`quiet`,label:`not set up`,detail:null};let t=pe(e);return{tone:t.tone??`quiet`,label:t.label,detail:t.detail}}var qe={good:0,critical:1,quiet:2};function Je(e){return e.toSorted((e,t)=>{let n=qe[G(e).tone]-qe[G(t).tone];if(n!==0)return n;let r=e.notifier.localeCompare(t.notifier);return r===0?(e.connection??``).localeCompare(t.connection??``):r})}var Ye=/^[a-z0-9]+(?:[-_][a-z0-9]+)*$/u,Xe=/^(?:\d+(?:ms|s|m|h|d|w))+$/u,Ze=`A Jinja template: {{ run.* }} reads the run's pipeline, status, id, error, trigger, duration_ms and url.`,Qe=`A Jinja template over the run's facts; report is the run's report document when it has one.`,K=`text/x-jinja`;function q(e){let t=e.trim();return t===``?null:t}var $e=[{value:`global`,label:`Every pipeline`},{value:`pipeline`,label:`One pipeline`}],et=[{value:``,label:`Any`},...E.map(e=>({value:e,label:e[0].toUpperCase()+e.slice(1)}))];function tt(e){return e===``?null:e}function nt(e){return e===``?null:e}var rt=`The process log`;function it(e,t){let n=t.filter(t=>t.kind!==`log`&&e.includes(t.kind)).map(e=>({row:e,heading:w(e)})).toSorted((e,t)=>e.row.kind.localeCompare(t.row.kind)||e.heading.title.localeCompare(t.heading.title));return[{value:``,label:rt,aside:``,mark:s(`log`)},...n.map(({row:e,heading:t})=>({value:e.code,label:`${t.title} · ${e.kind}`,aside:t.code??``,mark:s(e.kind)}))]}function at(e){if(e.code.trim()===``)return`A rule is addressed by its code, and this one has none.`;if(!Ye.test(e.code.trim()))return`A code is lowercase words joined by - or _.`;if(e.scope===`pipeline`&&e.pipeline===``)return`A rule watching one pipeline names that pipeline, and this one names none.`;if(!Xe.test(e.throttle.trim()))return`A throttle is a duration, such as 15m.`}var J=h();function ot({rule:e,onChanged:t,onDeleted:n,onTest:r}){let[i,a]=(0,U.useState)(!1),[o,s]=(0,U.useState)(null),c=o===e.code,u=z(),d=Oe(e.importance),f=(0,U.useCallback)(e=>ze(Le,e),[]),{state:p}=L(f,lt),m=p.rows.filter(t=>t.rule===e.code);return(0,J.jsxs)(`div`,{className:`space-y-4 p-4`,children:[(0,J.jsxs)(mt,{thing:e,children:[e.paused&&(0,J.jsx)(pt,{children:`paused`}),!e.active&&(0,J.jsx)(pt,{children:`off`})]}),(0,J.jsx)(le,{text:e.description}),(0,J.jsxs)(`dl`,{className:`space-y-1.5`,children:[(0,J.jsx)(Y,{label:`Event`,children:W[e.event]}),(0,J.jsx)(Y,{label:`Scope`,children:(0,J.jsxs)(`span`,{className:`flex flex-wrap items-baseline gap-x-1.5`,children:[De(e),d!==null&&(0,J.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:d})]})}),(0,J.jsx)(Y,{label:`Delivers through`,children:(0,J.jsx)(ut,{notifier:e.notifier,connection:e.connection})}),(0,J.jsx)(Y,{label:`Throttle`,children:Ee(e.throttle)}),c?(0,J.jsx)(st,{rule:e,onDone:()=>{s(null)},onSaved:e=>{t(e),s(null)}},e.code):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(Y,{label:`Subject`,children:(0,J.jsxs)(`span`,{className:`flex flex-wrap items-baseline gap-2`,children:[e.template===null?(0,J.jsx)(`span`,{className:`text-muted-foreground`,children:`none`}):(0,J.jsx)(`span`,{className:`font-mono text-xs break-all`,children:e.template}),(0,J.jsx)(l,{why:u.why,children:(0,J.jsx)(x,{variant:`ghost`,size:`xs`,disabled:!u.may,title:u.why,onClick:()=>{s(e.code)},children:`Edit`})})]})}),e.body!==null&&(0,J.jsx)(Y,{label:`Body`,children:(0,J.jsx)(`span`,{className:`line-clamp-3 font-mono text-xs break-words whitespace-pre-wrap`,children:e.body})})]}),(0,J.jsx)(Y,{label:`Last sent`,children:e.last_sent_at===null?(0,J.jsx)(`span`,{className:`text-muted-foreground`,children:`never`}):(0,J.jsx)(H,{at:e.last_sent_at})})]}),(0,J.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,J.jsx)(l,{why:u.why,children:(0,J.jsx)(x,{variant:`outline`,size:`sm`,disabled:i||!u.may,title:u.why,onClick:()=>{a(!0),Fe(e.code,!e.paused).then(t,B).finally(()=>{a(!1)})},children:e.paused?`Resume`:`Pause`})}),(0,J.jsx)(l,{why:u.why,children:(0,J.jsx)(x,{variant:`outline`,size:`sm`,disabled:!u.may,title:u.why,onClick:r,children:`Send a test`})}),(0,J.jsx)(l,{why:u.why,children:(0,J.jsx)(x,{variant:`outline`,size:`sm`,className:`destructive-action ml-auto`,disabled:i||!u.may,title:u.why,onClick:()=>{a(!0),Ie(e.code).then(n,B).finally(()=>{a(!1)})},children:`Delete`})})]}),(0,J.jsxs)(`div`,{className:`space-y-2`,children:[(0,J.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Recent deliveries`}),!p.read&&(0,J.jsx)(`p`,{className:`text-xs text-faint`,children:`Reading from the server`}),p.read&&m.length===0&&(0,J.jsx)(`p`,{className:`text-xs text-faint`,children:`Nothing sent.`}),(0,J.jsx)(`ul`,{className:`divide-y divide-border`,children:m.map(e=>(0,J.jsxs)(`li`,{className:`row-hover -mx-4 flex items-center gap-2 px-4 py-2`,children:[(0,J.jsx)(R,{status:e.status}),(0,J.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-xs`,children:e.subject}),(0,J.jsx)(H,{className:`shrink-0 text-xs text-faint`,at:e.created_at})]},e.id))})]})]})}function st({rule:e,onDone:t,onSaved:n}){let[r,i]=(0,U.useState)(e.template??``),[a,o]=(0,U.useState)(e.body??``),[s,c]=(0,U.useState)(null),[l,u]=(0,U.useState)(!1),d=`alert-rule/${e.code}/body`,f=`rule-${e.code}-subject`;return(0,J.jsxs)(`div`,{className:`space-y-3 rounded-lg border border-border bg-secondary/30 p-3`,children:[(0,J.jsxs)(`div`,{className:`space-y-2`,children:[(0,J.jsx)(A,{htmlFor:f,children:`Subject`}),(0,J.jsx)(S,{id:f,className:`font-mono`,spellCheck:!1,autoComplete:`off`,value:r,placeholder:`{{ run.pipeline }} run {{ run.status }}`,onChange:e=>{i(e.target.value)}}),(0,J.jsx)(`p`,{className:`text-xs text-faint`,children:Ze})]}),(0,J.jsxs)(`div`,{className:`space-y-2`,children:[(0,J.jsx)(A,{children:`Body`}),(0,J.jsx)(`p`,{className:`text-xs text-faint`,children:Qe}),(0,J.jsx)(m,{name:`body`,className:`overflow-hidden rounded-md border border-border bg-background`,aside:(0,J.jsx)(ge,{mediaType:K}),windowed:(0,J.jsx)(I,{value:a,mediaType:K,path:d,label:`body, in a window`,className:`min-h-0 flex-1`,onChange:o}),children:(0,J.jsx)(I,{value:a,mediaType:K,path:d,label:`body`,placeholder:`{{ run.pipeline }} ended {{ run.status }}: {{ run.url }}`,className:`h-40 min-h-32`,onChange:o})})]}),s!==null&&(0,J.jsx)(V,{problem:s}),(0,J.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,J.jsx)(x,{variant:`ghost`,size:`sm`,onClick:t,children:`Cancel`}),(0,J.jsx)(x,{size:`sm`,disabled:l,onClick:()=>{let i={};if(q(r)!==e.template&&(i.template=q(r)),q(a)!==e.body&&(i.body=q(a)),Object.keys(i).length===0){t();return}u(!0),c(null),Pe(e.code,i).then(n,e=>{c(b(e))}).finally(()=>{u(!1)})},children:l?`Saving`:`Save`})]})]})}function ct({notification:e,onChanged:t}){let[n,i]=(0,U.useState)(!1),a=z();return(0,J.jsxs)(`div`,{className:`space-y-4 p-4`,children:[(0,J.jsx)(`div`,{className:`space-y-1`,children:(0,J.jsxs)(`p`,{className:`flex flex-wrap items-center gap-2`,children:[(0,J.jsx)(R,{status:e.status}),(0,J.jsx)(`span`,{className:`text-sm font-semibold`,children:e.subject})]})}),(0,J.jsxs)(`dl`,{className:`space-y-1.5`,children:[e.rule===null?(0,J.jsx)(Y,{label:`Raised by`,children:(0,J.jsx)(`span`,{className:`text-muted-foreground`,children:`a test, not a rule`})}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(Y,{label:`Event`,children:W[e.event]}),(0,J.jsx)(Y,{label:`Rule`,children:(0,J.jsx)(`span`,{className:`font-mono text-xs`,children:e.rule})})]}),(0,J.jsx)(Y,{label:`Delivers through`,children:(0,J.jsx)(dt,{notifier:e.notifier,connection:e.connection})}),(0,J.jsx)(Y,{label:`Run`,children:(0,J.jsx)(ft,{notification:e})}),(0,J.jsx)(Y,{label:`Queued`,children:(0,J.jsx)(H,{at:e.created_at})}),e.status===`sent`?(0,J.jsx)(Y,{label:`Sent`,children:(0,J.jsx)(H,{at:e.sent_at})}):(0,J.jsx)(Y,{label:`Next try`,children:(0,J.jsx)(H,{at:e.available_at})}),(0,J.jsxs)(Y,{label:`Attempts`,children:[e.attempt,` of `,e.max_attempts]})]}),e.error!==null&&(0,J.jsxs)(`div`,{className:`space-y-1`,children:[(0,J.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`What the channel said`}),(0,J.jsx)(`p`,{className:`text-xs break-words text-critical`,children:e.error}),(0,J.jsx)(`p`,{className:`text-xs text-faint`,children:`Only the latest refusal is kept. Earlier attempts are counted, not stored.`})]}),(0,J.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,J.jsx)(l,{why:a.why,children:(0,J.jsx)(x,{variant:`outline`,size:`sm`,disabled:n||!a.may,title:a.why,onClick:()=>{i(!0),Ve(e.id).then(t,B).finally(()=>{i(!1)})},children:`Retry now`})}),e.run_id!==null&&(0,J.jsx)(x,{variant:`outline`,size:`sm`,render:(0,J.jsx)(r,{to:`/runs/${e.run_id}`}),children:`Open the run`})]})]})}var lt=e=>e.id;function ut({notifier:e,connection:t}){return(0,J.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,J.jsx)(he,{glyph:s(e)}),(0,J.jsx)(`span`,{className:t===null?`text-sm`:`font-mono text-xs`,children:t??e})]})}function dt({notifier:e,connection:t}){return(0,J.jsxs)(`span`,{className:`flex flex-wrap items-baseline gap-1.5`,children:[(0,J.jsx)(`span`,{className:`text-sm`,children:e}),t!==null&&(0,J.jsx)(`span`,{className:`font-mono text-xs text-muted-foreground`,children:t})]})}function ft({notification:e}){if(e.run_id===null)return(0,J.jsx)(`span`,{className:`text-muted-foreground`,children:`no run`});let t=e.run_pipeline??`a run`;return(0,J.jsxs)(r,{className:`text-primary hover:underline`,to:`/runs/${e.run_id}`,children:[(0,J.jsx)(`span`,{className:`text-sm`,children:t}),e.run_started_at!==null&&(0,J.jsx)(H,{className:`ml-1.5 text-xs text-muted-foreground`,at:e.run_started_at})]})}function pt({children:e}){return(0,J.jsx)(`span`,{className:`rounded-sm border border-border px-1.5 text-xs text-muted-foreground`,children:e})}function mt({thing:e,children:t}){let n=w(e);return(0,J.jsxs)(`p`,{className:`flex flex-wrap items-center gap-2`,children:[(0,J.jsx)(`span`,{className:n.named?`text-sm font-semibold`:`font-mono text-sm font-semibold`,children:n.title}),t,n.code!==null&&(0,J.jsx)(`span`,{className:`font-mono text-xs text-muted-foreground`,children:n.code})]})}function Y({label:e,children:t}){return(0,J.jsxs)(`div`,{className:`flex flex-wrap items-baseline gap-2`,children:[(0,J.jsx)(`dt`,{className:`w-32 shrink-0 text-xs text-muted-foreground`,children:e}),(0,J.jsx)(`dd`,{className:`min-w-0 text-sm`,children:t})]})}var ht={good:`var(--good)`,critical:`var(--critical)`,quiet:`var(--faint)`},gt=`flex min-h-9 items-center gap-2 rounded-full border border-border bg-card py-1 pr-3 pl-2.5 transition-colors`,X=`hover:bg-muted focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none`;function _t({channels:e,read:t}){let n=u(),r=vt(e.length,t);return n?(0,J.jsx)(xt,{channels:e,note:r}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`h2`,{className:`text-sm font-semibold`,children:`Channels`}),r===null?(0,J.jsx)(`ul`,{className:`flex flex-wrap gap-2`,children:e.map(e=>(0,J.jsx)(`li`,{className:`flex`,children:(0,J.jsx)(yt,{channel:e})},e.id))}):(0,J.jsx)(`p`,{className:r.tone,children:r.text})]})}function vt(e,t){return t?e===0?{text:`No channel is installed.`,tone:`text-sm text-muted-foreground`}:null:{text:`Reading from the server`,tone:`text-sm text-faint`}}function yt({channel:e}){let t=G(e),n=Ke(e),i=(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(he,{glyph:s(e.notifier)}),(0,J.jsx)(`span`,{className:`truncate font-mono text-xs font-semibold`,children:Ge(e)}),(0,J.jsx)(Ct,{tone:t.tone})]}),a=n===null?(0,J.jsx)(`button`,{type:`button`,className:g(gt,X),children:i}):(0,J.jsx)(r,{to:n,className:g(gt,X),children:i});return(0,J.jsxs)(y,{children:[(0,J.jsx)(_,{render:a}),(0,J.jsx)(v,{className:`flex-col items-start gap-1`,side:`bottom`,children:(0,J.jsx)(bt,{channel:e,view:t})})]})}function bt({channel:e,view:t}){return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`span`,{className:`font-medium`,children:[e.notifier,` · `,t.label,e.last_check_at!==null&&(0,J.jsxs)(`span`,{className:`font-normal opacity-70`,children:[` `,C(e.last_check_at)]})]}),e.connection!==null&&(0,J.jsx)(`span`,{className:`font-mono`,children:e.connection}),t.detail!==null&&(0,J.jsx)(`span`,{className:`opacity-70`,children:t.detail})]})}function xt({channels:e,note:t}){let[n,r]=(0,U.useState)(!1);return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`button`,{type:`button`,"aria-expanded":n,onClick:()=>{r(!n)},className:g(`flex min-h-finger w-full items-center gap-2.5 border-b border-border px-1 text-left`,X),children:[(0,J.jsx)(o,{className:g(`size-4 shrink-0 text-muted-foreground`,n&&`rotate-90`),"aria-hidden":!0}),(0,J.jsx)(`span`,{className:`text-sm font-semibold`,children:`Channels`}),(0,J.jsx)(`span`,{className:`ml-auto flex items-center gap-1.5`,"aria-hidden":!0,children:e.map(e=>(0,J.jsx)(Ct,{tone:G(e).tone},e.id))})]}),n&&(t===null?(0,J.jsx)(`table`,{className:`w-full text-sm`,children:(0,J.jsx)(`tbody`,{children:e.map(e=>(0,J.jsx)(St,{channel:e},e.id))})}):(0,J.jsx)(`p`,{className:t.tone,children:t.text}))]})}function St({channel:e}){let t=G(e),n=Ke(e),i=(0,J.jsxs)(`span`,{className:`flex items-center gap-2.5`,children:[(0,J.jsx)(he,{glyph:s(e.notifier)}),(0,J.jsx)(`span`,{className:`truncate font-mono text-xs font-semibold`,children:Ge(e)})]});return(0,J.jsxs)(`tr`,{className:`border-b border-border last:border-b-0`,children:[(0,J.jsx)(`td`,{className:`w-0 py-2 pr-2 align-middle`,children:(0,J.jsx)(Ct,{tone:t.tone})}),(0,J.jsx)(`td`,{className:`min-w-0 py-2 align-middle`,children:e.connection===null||n===null?i:(0,J.jsx)(r,{to:n,className:g(`control-link flex items-center rounded-md px-1`,X),children:i})}),(0,J.jsx)(`td`,{className:`w-0 py-2 pl-2 text-right align-middle whitespace-nowrap`,children:t.label===`not set up`&&n!==null?(0,J.jsxs)(r,{to:n,className:g(`control-link inline-flex items-center rounded-md text-xs text-primary-ink`,X),children:[`Set up `,e.notifier]}):e.last_check_at!==null&&(0,J.jsx)(`span`,{className:`text-xs text-faint`,children:C(e.last_check_at)})})]})}function Ct({tone:e}){return(0,J.jsx)(`span`,{className:`status-dot`,style:{"--chip":ht[e]}})}function Z({id:e,label:t,value:n,onChange:r,placeholder:i,mono:a,hint:o}){return(0,J.jsxs)(`div`,{className:`space-y-2`,children:[(0,J.jsx)(A,{htmlFor:e,children:t}),(0,J.jsx)(S,{id:e,className:a===!0?`font-mono`:void 0,spellCheck:!1,autoComplete:`off`,value:n,placeholder:i,onChange:e=>{r(e.target.value)}}),o!==void 0&&(0,J.jsx)(`p`,{className:`text-xs text-faint`,children:o})]})}function wt({id:e,options:t,value:n,onChange:r}){return(0,J.jsxs)(`div`,{className:`space-y-2`,children:[(0,J.jsx)(A,{htmlFor:e,children:`Deliver through`}),(0,J.jsx)(_e,{id:e,label:`Deliver through`,value:n,options:t,placeholder:`Search by name, kind or code`,onChange:r})]})}var Tt=`0s`,Et=`alert-rule/new/body`,Q=`body`;function Dt({open:e,onOpenChange:t,notifiers:n,connections:r,onCreated:i}){let[a,o]=(0,U.useState)(``),[s,c]=(0,U.useState)(``),[u,d]=(0,U.useState)(``),[f,p]=(0,U.useState)(`run_failed`),[h,g]=(0,U.useState)(`global`),[_,v]=(0,U.useState)(``),[y,S]=(0,U.useState)(``),[C,w]=(0,U.useState)(``),[T,E]=(0,U.useState)(``),[D,j]=(0,U.useState)(``),[M,re]=(0,U.useState)(Tt),[N,P]=(0,U.useState)(null),[F,oe]=(0,U.useState)(!1),se=Ot(e),ce=z(),L=ie(ce.why,at({code:a,scope:h,pipeline:_,throttle:M}));return(0,J.jsx)(ae,{open:e,onOpenChange:t,children:(0,J.jsxs)(ne,{className:`flex max-h-[calc(100vh-4rem)] flex-col sm:max-w-3xl`,showCloseButton:!1,children:[(0,J.jsx)(k,{children:(0,J.jsx)(ee,{children:`New rule`})}),(0,J.jsxs)(`div`,{className:`-mx-1 min-h-0 flex-1 space-y-4 overflow-y-auto px-1`,children:[(0,J.jsxs)(`div`,{className:`grid grid-cols-1 gap-3 md:grid-cols-2`,children:[(0,J.jsx)(Z,{id:`rule-code`,label:`Code`,value:a,onChange:o,placeholder:`ops-slack-failed`,mono:!0}),(0,J.jsx)(Z,{id:`rule-name`,label:`Name`,value:s,onChange:c,placeholder:`Tell the ops channel`})]}),(0,J.jsx)(Z,{id:`rule-description`,label:`Description`,value:u,onChange:d,placeholder:`What this rule is for`}),(0,J.jsxs)(`div`,{className:`space-y-2`,children:[(0,J.jsx)(A,{children:`Event`}),(0,J.jsx)(me,{label:`Event`,size:`md`,value:f,options:Ce.map(e=>({value:e,label:W[e]})),onChoose:p})]}),(0,J.jsxs)(`div`,{className:`grid grid-cols-1 gap-3 md:grid-cols-2`,children:[(0,J.jsxs)(`div`,{className:`space-y-2`,children:[(0,J.jsx)(A,{children:`Scope`}),(0,J.jsx)(me,{label:`Scope`,size:`md`,value:h,options:$e,onChoose:g})]}),h===`pipeline`&&(0,J.jsxs)(`div`,{className:`space-y-2`,children:[(0,J.jsx)(A,{htmlFor:`rule-pipeline`,children:`Pipeline`}),(0,J.jsx)(_e,{id:`rule-pipeline`,label:`Pipeline`,value:_,options:se,placeholder:`Search by name or code`,onChange:v})]})]}),(0,J.jsxs)(`div`,{className:`space-y-2`,children:[(0,J.jsx)(A,{children:`Importance`}),(0,J.jsx)(`p`,{className:`text-xs text-faint`,children:`Only pipelines that matter at least this much.`}),(0,J.jsx)(me,{label:`Importance`,size:`md`,value:y,options:et,onChoose:S})]}),(0,J.jsx)(`div`,{className:`grid grid-cols-1 gap-3 md:grid-cols-2`,children:(0,J.jsx)(wt,{id:`rule-connection`,options:it(n,r),value:C,onChange:w})}),(0,J.jsx)(Z,{id:`rule-subject`,label:`Subject`,value:T,onChange:E,placeholder:`{{ run.pipeline }} run {{ run.status }}`,mono:!0,hint:Ze}),(0,J.jsxs)(`div`,{className:`space-y-2`,children:[(0,J.jsx)(A,{children:`Body`}),(0,J.jsx)(`p`,{className:`text-xs text-faint`,children:Qe}),(0,J.jsx)(m,{name:Q,className:`overflow-hidden rounded-md border border-border`,aside:(0,J.jsx)(ge,{mediaType:K}),windowed:(0,J.jsx)(I,{value:D,mediaType:K,path:Et,label:`${Q}, in a window`,className:`min-h-0 flex-1`,onChange:j}),children:(0,J.jsx)(I,{value:D,mediaType:K,path:Et,label:Q,placeholder:`{{ run.pipeline }} ended {{ run.status }}: {{ run.url }}`,className:`h-40 min-h-32`,onChange:j})})]}),(0,J.jsx)(`div`,{className:`grid grid-cols-1 gap-3 md:grid-cols-2`,children:(0,J.jsx)(Z,{id:`rule-throttle`,label:`Throttle`,value:M,onChange:re,placeholder:`15m`,mono:!0})})]}),N!==null&&(0,J.jsx)(V,{problem:N}),(0,J.jsxs)(O,{children:[(0,J.jsx)(`p`,{className:`mr-auto self-center text-xs text-muted-foreground`,children:`A rule fires when a run settles. Nothing is sent now.`}),(0,J.jsx)(te,{render:(0,J.jsx)(x,{variant:`ghost`}),children:`Close`}),(0,J.jsx)(l,{why:L,children:(0,J.jsx)(x,{disabled:F||L!==void 0,title:L,onClick:()=>{oe(!0),P(null),Ne({code:a.trim(),name:q(s),description:q(u),event:f,scope:h,pipeline:h===`pipeline`?_:null,importance:tt(y),connection:nt(C),template:q(T),body:q(D),throttle:M.trim()}).then(()=>{i(),o(``),c(``),d(``),E(``),j(``),t(!1)},e=>{P(b(e))}).finally(()=>{oe(!1)})},children:F?`Creating`:`Create`})})]})]})})}function Ot(e){let[t,n]=(0,U.useState)([]);return(0,U.useEffect)(()=>{if(!e)return;let t=!0;return D().then(e=>{t&&n(e.toSorted(T).map(e=>{let t=w(e);return{value:e.code,label:t.title,aside:t.code??``}}))},()=>{t&&n([])}),()=>{t=!1}},[e]),t}var kt=1e3,At=6e4,jt=`dirigent test alert`,Mt={connection:``,subject:``};function Nt({open:e,draft:t,onOpenChange:n,notifiers:r,connections:i,onQueued:a,onOpenQueue:o}){let[s,c]=(0,U.useState)(t.connection),[u,d]=(0,U.useState)(t.subject),[f,p]=(0,U.useState)(null),[m,h]=(0,U.useState)(null),[g,_]=(0,U.useState)(!1),v=Ft(f),y=z(),S=v!==null&&Ae(v.status)?v.id:null;(0,U.useEffect)(()=>{S!==null&&a()},[S]);let C=y.why;return(0,J.jsx)(ae,{open:e,onOpenChange:n,children:(0,J.jsxs)(ne,{className:`sm:max-w-lg`,showCloseButton:!1,children:[(0,J.jsxs)(k,{children:[(0,J.jsx)(ee,{children:`Send a test`}),(0,J.jsx)(j,{children:`The message goes through the same queue a real alert does, and a worker delivers it.`})]}),(0,J.jsx)(wt,{id:`test-connection`,options:it(r,i),value:s,onChange:c}),(0,J.jsx)(Z,{id:`test-subject`,label:`Subject`,value:u,onChange:d,placeholder:jt}),m!==null&&(0,J.jsx)(V,{problem:m}),v!==null&&(0,J.jsx)(Pt,{row:v}),(0,J.jsxs)(O,{children:[(0,J.jsx)(te,{render:(0,J.jsx)(x,{variant:`ghost`}),children:`Close`}),f!==null&&(0,J.jsx)(x,{variant:`outline`,onClick:()=>{o(f)},children:`Open in the queue`}),(0,J.jsx)(l,{why:C,children:(0,J.jsx)(x,{disabled:g||C!==void 0,title:C,onClick:()=>{_(!0),h(null),p(null),He({connection:nt(s),...u.trim()===``?{}:{subject:u.trim()}}).then(e=>{p(e.notification_id),a()},e=>{h(b(e))}).finally(()=>{_(!1)})},children:f===null?`Send`:`Send again`})})]})]})})}function Pt({row:e}){return(0,J.jsxs)(`div`,{className:`space-y-2 rounded-lg border border-border bg-secondary/40 p-3`,"data-testid":`test-delivery`,"aria-live":`polite`,children:[(0,J.jsxs)(`p`,{className:`flex flex-wrap items-center gap-2`,children:[(0,J.jsx)(R,{status:e.status}),(0,J.jsx)(`span`,{className:`text-sm`,children:e.subject})]}),(0,J.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e.status===`sent`?(0,J.jsxs)(J.Fragment,{children:[`Delivered `,(0,J.jsx)(H,{at:e.sent_at}),`.`]}):e.status===`failed`?(0,J.jsxs)(J.Fragment,{children:[`Given up after `,e.attempt,` of `,e.max_attempts,` attempts.`]}):e.attempt===0?`Queued for the next worker pass.`:(0,J.jsxs)(J.Fragment,{children:[`Attempt `,e.attempt,` of `,e.max_attempts,`, next try`,` `,(0,J.jsx)(H,{at:e.available_at}),`.`]})}),e.error!==null&&(0,J.jsx)(`p`,{className:`text-xs break-words text-critical`,children:e.error})]})}function Ft(e){let[t,n]=(0,U.useState)(null);return(0,U.useEffect)(()=>{if(e===null)return;let t=!0,r,i=Date.now()+At,a=()=>{Be(e).then(o=>{t&&(n({id:e,row:o}),!(Ae(o.status)||Date.now()>i)&&(r=setTimeout(a,kt)))},()=>{})};return a(),()=>{t=!1,r!==void 0&&clearTimeout(r)}},[e]),t!==null&&t.id===e?t.row:null}var It=e=>e.id,Lt=e=>e.id;function Rt(){return(0,J.jsx)(ve,{children:(0,J.jsx)(zt,{})})}function zt(){let[e,t]=(0,U.useState)(!1),[n,r]=(0,U.useState)(null),[i,a]=(0,U.useState)(null),[o,s]=(0,U.useState)(null),[l,u]=(0,U.useState)({status:``,notifier:``}),[m,h]=(0,U.useState)({}),[g,_]=(0,U.useState)({}),v=L((0,U.useCallback)(e=>Me(e),[]),It),y=L((0,U.useCallback)(e=>ze(l,e),[l]),Lt),b=Vt(),{reload:x}=v,{reload:S}=y,C=(0,U.useMemo)(()=>v.state.rows.map(e=>m[e.id]??e),[m,v.state.rows]),w=(0,U.useMemo)(()=>y.state.rows.map(e=>g[e.id]??e),[g,y.state.rows]),T=C.find(e=>e.id===i)??null,E=w.find(e=>e.id===o)??null,D=(0,U.useCallback)(e=>{r(t=>({draft:e,opened:(t?.opened??0)+1}))},[]);(0,U.useEffect)(()=>(se({note:null,tone:`quiet`,identifier:null}),oe),[]),(0,U.useEffect)(()=>{if(T!==null){let e=T;return ce([{id:`rule`,label:`Rule`,render:()=>(0,J.jsx)(ot,{rule:e,onChanged:e=>{h(t=>({...t,[e.id]:e}))},onDeleted:()=>{a(null),x()},onTest:()=>{D({connection:e.connection??``,subject:``})}})}],{screen:`alerting`})}if(E!==null){let e=E;return ce([{id:`notification`,label:`Notification`,render:()=>(0,J.jsx)(ct,{notification:e,onChanged:e=>{_(t=>({...t,[e.id]:e}))}})}],{screen:`alerting`})}},[E,T,D,x]);let O=z(`admin`),k=O.may;return(0,U.useEffect)(()=>re([...k?[{id:`alerting:rule`,title:`New alert rule`,group:F,screen:!0,icon:be,keywords:[`alert`,`event`,`create`],run:()=>{t(!0)}},{id:`alerting:test`,title:`Send a test through a channel`,group:F,screen:!0,icon:Se,keywords:[`alert`,`notification`,`try`],run:()=>{D(Mt)}}]:[],{id:`alerting:reload`,title:`Read the alert rules again`,group:F,screen:!0,icon:M,keywords:[`refresh`,`reload`],run:()=>{x(),S()}}]),[k,D,S,x]),(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(d,{title:`Alerting`,aside:(0,J.jsx)(f,{tag:`alerts`}),actions:[{id:`test`,label:`Send a test`,icon:Se,variant:`outline`,disabled:!O.may,why:O.why,onClick:()=>{D(Mt)}},{id:`rule`,label:`New rule`,icon:be,disabled:!O.may,why:O.why,onClick:()=>{t(!0)}}]}),(0,J.jsx)(`section`,{className:`mb-6 space-y-2`,children:(0,J.jsx)(_t,{channels:b.rows,read:b.read})}),(0,J.jsxs)(`section`,{className:`space-y-2`,children:[(0,J.jsx)(`h2`,{className:`text-sm font-semibold`,children:`Rules`}),(0,J.jsx)(c,{loading:!v.state.read,problem:v.state.problem,empty:C.length===0,emptyMessage:`No rules.`,children:(0,J.jsx)(p,{columns:Ut,rows:C,rowKey:It,rowClassName:e=>ke(e)?void 0:`opacity-60`,reading:v.state.reading,next:v.state.next,onMore:v.more,noun:`rules`,onSelect:e=>{s(null),a(e.id),N()},selected:e=>e.id===i})})]}),(0,J.jsxs)(`section`,{className:`mt-8 space-y-2`,children:[(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,J.jsx)(`h2`,{className:`text-sm font-semibold`,children:`Notifications`}),(0,J.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,J.jsx)(P,{label:`Status`,value:l.status,anything:`Any status`,options:we.map(e=>({value:e,label:e,mark:(0,J.jsx)(R,{status:e})})),onChange:e=>{u(t=>({...t,status:e}))}}),(0,J.jsx)(P,{label:`Notifier`,value:l.notifier,anything:`Any notifier`,options:Bt(b.rows),onChange:e=>{u(t=>({...t,notifier:e}))}})]})]}),(0,J.jsx)(c,{loading:!y.state.read,problem:y.state.problem,empty:w.length===0,emptyMessage:`Nothing queued.`,children:(0,J.jsx)(p,{columns:Wt,rows:w,rowKey:Lt,reading:y.state.reading,next:y.state.next,onMore:y.more,noun:`notifications`,onSelect:e=>{a(null),s(e.id),N()},selected:e=>e.id===o})})]}),(0,J.jsx)(Dt,{open:e,onOpenChange:t,notifiers:$(b.rows),connections:b.connections,onCreated:x}),(0,J.jsx)(Nt,{open:n!==null,draft:n?.draft??Mt,onOpenChange:e=>{e||r(null)},notifiers:$(b.rows),connections:b.connections,onQueued:S,onOpenQueue:e=>{r(null),a(null),s(e),S(),N()}},n?.opened??0)]})}function $(e){return[...new Set(e.map(e=>e.notifier))]}function Bt(e){return $(e).map(e=>({value:e,label:e}))}function Vt(){let[e,t]=(0,U.useState)(null),[n,r]=(0,U.useState)(null);return(0,U.useEffect)(()=>{let e=!0;return Ue().then(n=>{e&&t(n)},()=>{e&&t([])}),de().then(t=>{e&&r(t.items)},()=>{e&&r([])}),()=>{e=!1}},[]),{rows:(0,U.useMemo)(()=>We(e??[],n??[]),[n,e]),connections:n??[],read:e!==null&&n!==null}}function Ht({rule:e}){let t=Oe(e.importance);return(0,J.jsxs)(`span`,{className:`flex flex-wrap items-baseline gap-x-1.5`,children:[(0,J.jsx)(`span`,{className:e.scope===`pipeline`?`font-mono text-xs`:`text-sm`,children:De(e)}),t!==null&&(0,J.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:t})]})}var Ut=[{id:`rule`,header:`Rule`,kind:`title`,cell:e=>{let t=w(e);return(0,J.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,J.jsx)(`span`,{className:g(`truncate`,t.named?`text-sm font-medium`:`font-mono text-sm font-medium`),title:t.title,children:t.title}),t.code!==null&&(0,J.jsx)(`span`,{className:`truncate font-mono text-xs text-muted-foreground`,title:t.code,children:t.code})]})}},{id:`event`,header:`Event`,cell:e=>(0,J.jsx)(`span`,{className:`text-sm`,children:W[e.event]})},{id:`scope`,header:`Scope`,cell:e=>(0,J.jsx)(Ht,{rule:e})},{id:`delivers`,header:`Delivers through`,cell:e=>(0,J.jsx)(ut,{notifier:e.notifier,connection:e.connection})},{id:`throttle`,header:`Throttle`,className:`font-mono text-xs`,cell:e=>(0,J.jsx)(`span`,{className:`text-muted-foreground`,children:Ee(e.throttle)})},{id:`sent`,header:`Last sent`,className:`text-xs`,cell:e=>e.last_sent_at===null?(0,J.jsx)(`span`,{className:`text-muted-foreground`,children:`never`}):(0,J.jsx)(H,{className:`text-muted-foreground`,at:e.last_sent_at})},{id:`live`,header:`State`,cell:e=>e.paused?(0,J.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`paused`}):e.active?(0,J.jsx)(`span`,{className:`text-xs text-good`,children:`active`}):(0,J.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`off`})}],Wt=[{id:`status`,header:`Status`,cell:e=>(0,J.jsx)(R,{status:e.status})},{id:`subject`,header:`Subject`,kind:`prose`,cell:e=>(0,J.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,J.jsx)(`span`,{className:`truncate text-sm`,title:e.subject,children:e.subject}),e.error!==null&&(0,J.jsx)(`span`,{className:`truncate text-xs text-critical`,title:e.error,children:e.error})]})},{id:`delivers`,header:`Delivers through`,cell:e=>(0,J.jsx)(dt,{notifier:e.notifier,connection:e.connection})},{id:`run`,header:`Run`,cell:e=>(0,J.jsx)(ft,{notification:e})},{id:`queued`,header:`Queued`,className:`text-xs`,cell:e=>(0,J.jsx)(H,{className:`text-muted-foreground`,at:e.created_at})},{id:`sent`,header:`Sent`,className:`text-xs`,cell:e=>e.status===`sent`?(0,J.jsx)(H,{className:`text-muted-foreground`,at:e.sent_at}):e.attempt>0?(0,J.jsxs)(`span`,{className:`text-faint`,children:[e.attempt,` of `,e.max_attempts,` attempts`]}):null}];export{Rt as AdminAlerting};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./react-CQOZoUwg.js";import{n}from"./chunk-OB3PAWPO-DOp4K52_.js";import{n as r,t as i}from"./PageState-BLuobMye.js";import{i as a,t as o}from"./ListTable-D-mI8v9Y.js";import{r as s}from"./utils-CT7ZGLfR.js";import{C as c,_ as l,dt as u,nt as d,rt as f,ut as p}from"./index-Bp4KzK9w.js";import{t as m}from"./Markdown-roa7jpVu.js";import{n as h,r as g}from"./Panel-CqrOYByl.js";import{a as _,c as v,l as y,n as b,o as x,r as S,t as C}from"./blocks-CclbVd8c.js";import{y as w}from"./connections-DsdoSARb.js";import{l as T,r as E}from"./examples-DDWkSZ2u.js";import{t as D}from"./KindChip-CwU_Xxdy.js";var O=e(t(),1),k=s(),A=e=>e.id,j=[{key:`scheme`,title:`Storage schemes`,noun:`schemes`},{key:`notifier`,title:`Notifiers`,noun:`notifiers`},{key:`connection`,title:`Connection kinds`,noun:`connection kinds`}],M=e=>t=>`${e}:${t.id}`,N=()=>{};function P(){let[e,t]=(0,O.useState)(``),[n,s]=(0,O.useState)(null),{value:m,problem:h,read:g}=l(v),y=l(T),b=(0,O.useMemo)(()=>E(y.value??[]),[y.value]),S=(0,O.useMemo)(()=>m?.blocks??[],[m]),w=(0,O.useMemo)(()=>_(S,e),[S,e]),D=(0,O.useMemo)(()=>C(w),[w]),P=(0,O.useMemo)(()=>x(m?.storage_schemes??[],e),[m,e]),I=(0,O.useMemo)(()=>x(m?.notifiers??[],e),[m,e]),B=(0,O.useMemo)(()=>x(m?.connection_kinds??[],e),[m,e]),V=(0,O.useMemo)(()=>F(b),[b]),H=S.find(e=>`block:${e.id}`===n)??null,U={scheme:P,notifier:I,connection:B},W=j.flatMap(e=>U[e.key].map(t=>({registry:e,entry:t}))).find(({registry:e,entry:t})=>M(e.key)(t)===n)??null;(0,O.useEffect)(()=>{if(g)return f({note:null,tone:`quiet`,identifier:null}),d},[S,g,m]),(0,O.useEffect)(()=>{if(H!==null)return p([{id:`block`,label:`Block`,render:()=>(0,k.jsx)(z,{entry:H})}],{screen:`blocks`});if(W!==null){let{registry:e,entry:t}=W;return p([{id:`entry`,label:e.title,render:()=>(0,k.jsx)(R,{entry:t})}],{screen:`blocks`})}},[H,W]);let G=(0,O.useCallback)(e=>{s(`block:${e.id}`),u()},[]);return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(i,{title:`Blocks`,aside:(0,k.jsx)(a,{tag:`blocks`})}),(0,k.jsx)(`div`,{className:`mb-4 flex flex-wrap items-center gap-2`,children:(0,k.jsx)(c,{value:e,label:`Search blocks by id or summary`,onChange:t})}),(0,k.jsx)(r,{loading:!g,problem:h,empty:w.length===0&&P.length===0&&I.length===0&&B.length===0,emptyMessage:S.length===0?`No blocks installed — plugins contribute them.`:`Nothing in the catalog matches that.`,children:(0,k.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[D.map(([e,t])=>(0,k.jsxs)(`section`,{children:[(0,k.jsx)(`h2`,{className:`mb-1.5 font-mono text-xs font-semibold tracking-wide text-faint uppercase`,children:e}),(0,k.jsx)(o,{chrome:{footer:!1},columns:V,rows:t,rowKey:A,reading:!1,next:null,onMore:N,noun:`blocks`,onSelect:G,selected:e=>`block:${e.id}`===n})]},e)),j.map(e=>{let t=U[e.key];return t.length===0?null:(0,k.jsxs)(`section`,{children:[(0,k.jsx)(`h2`,{className:`mb-1.5 font-mono text-xs font-semibold tracking-wide text-faint uppercase`,children:e.title}),(0,k.jsx)(o,{chrome:{footer:!1},columns:L(e.key),rows:t,rowKey:M(e.key),reading:!1,next:null,onMore:N,noun:e.noun,onSelect:t=>{s(M(e.key)(t)),u()},selected:t=>M(e.key)(t)===n})]},e.key)})]})})]})}function F(e){return[{id:`block`,header:`Block`,kind:`title`,cell:e=>(0,k.jsxs)(`div`,{className:`min-w-0`,children:[(0,k.jsx)(`span`,{className:`font-mono text-sm font-semibold`,children:e.id}),(0,k.jsx)(`p`,{className:`truncate text-xs text-muted-foreground`,title:e.summary,children:e.summary})]})},{id:`kind`,header:`Kind`,className:`min-w-32 whitespace-nowrap`,cell:e=>(0,k.jsx)(D,{kind:e.kind})},{id:`examples`,header:`Examples`,className:`min-w-28 whitespace-nowrap`,cell:t=>(0,k.jsx)(I,{id:t.id,many:e.get(t.id)??0})},{id:`plugin`,header:`Plugin`,className:`min-w-36 font-mono text-xs whitespace-nowrap`,cell:e=>(0,k.jsx)(`span`,{className:`text-muted-foreground`,children:e.plugin})}]}function I({id:e,many:t}){if(t===0)return(0,k.jsx)(`span`,{className:`text-xs text-faint`,children:`none`});let r=`${String(t)} ${t===1?`example`:`examples`}`;return(0,k.jsx)(n,{className:`text-xs text-primary-ink hover:underline`,to:`/examples?block=${encodeURIComponent(e)}`,title:`The shipped documents that require ${e}`,onClick:e=>{e.stopPropagation()},children:r})}function L(e){let t=e===`scheme`?`storage`:e;return[{id:`entry`,header:`Entry`,kind:`title`,cell:e=>{let t=typeof e.config_schema.description==`string`?e.config_schema.description:``;return(0,k.jsxs)(`div`,{className:`min-w-0`,children:[(0,k.jsx)(`span`,{className:`font-mono text-sm font-semibold`,children:e.id}),(0,k.jsx)(`p`,{className:`truncate text-xs text-muted-foreground`,title:t,children:t})]})}},{id:`kind`,header:`Kind`,className:`min-w-32 whitespace-nowrap`,cell:()=>(0,k.jsx)(D,{kind:t})},{id:`plugin`,header:`Plugin`,className:`min-w-36 font-mono text-xs whitespace-nowrap`,cell:e=>(0,k.jsx)(`span`,{className:`text-muted-foreground`,children:e.plugin})}]}function R({entry:e}){let t=(0,O.useMemo)(()=>w(e.config_schema),[e]),n=typeof e.config_schema.description==`string`?e.config_schema.description:null;return(0,k.jsxs)(`div`,{className:`flex flex-col gap-4 p-4`,children:[(0,k.jsxs)(`div`,{className:`space-y-1`,children:[(0,k.jsx)(`h2`,{className:`font-mono text-sm font-semibold`,children:e.id}),n!==null&&(0,k.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:n}),(0,k.jsx)(`dl`,{className:`grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 text-xs`,children:(0,k.jsx)(h,{term:`plugin`,detail:e.plugin})})]}),(0,k.jsx)(g,{title:`Config`,children:t.length===0?(0,k.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`This takes no configuration.`}):(0,k.jsx)(`div`,{className:`flex flex-col gap-4`,children:t.map(e=>(0,k.jsx)(B,{field:e},e.name))})})]})}function z({entry:e}){let t=(0,O.useMemo)(()=>w(e.config_schema),[e]),n=S(e);return(0,k.jsxs)(`div`,{className:`flex flex-col gap-4 p-4`,children:[(0,k.jsxs)(`div`,{className:`space-y-1`,children:[(0,k.jsx)(`h2`,{className:`font-mono text-sm font-semibold`,children:e.id}),(0,k.jsx)(`p`,{children:(0,k.jsx)(D,{kind:e.kind})}),(0,k.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e.summary})]}),(0,k.jsx)(g,{title:`Facts`,children:(0,k.jsx)(`dl`,{className:`grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 text-xs`,children:n.map(e=>(0,k.jsx)(h,{term:e.term,detail:e.detail},e.term))})}),(0,k.jsx)(g,{title:`Config`,children:t.length===0?(0,k.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`This block takes no configuration.`}):(0,k.jsx)(`div`,{className:`flex flex-col gap-4`,children:t.map(e=>(0,k.jsx)(B,{field:e},e.name))})})]})}function B({field:e}){let t=b(e);return(0,k.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,k.jsxs)(`div`,{className:`flex flex-wrap items-baseline gap-x-2`,children:[(0,k.jsx)(`span`,{className:`font-mono text-sm font-medium`,children:e.name}),(0,k.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:y(e)}),e.required&&(0,k.jsx)(`span`,{className:`text-xs text-primary`,children:`required`}),e.hint!==null&&(0,k.jsx)(`span`,{className:`text-xs text-faint`,children:e.hint}),t!==null&&(0,k.jsxs)(`span`,{className:`text-xs text-faint`,children:[`default `,t]})]}),e.options.length>0&&(0,k.jsx)(`p`,{className:`font-mono text-xs text-muted-foreground`,children:e.options.map(e=>e.label).join(` · `)}),e.help!==null&&(0,k.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:(0,k.jsx)(m,{text:e.help})})]})}export{P as Blocks};
|