tardie 0.2.1 → 0.3.0
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/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--bg:#fafaf9;--surface:#fff;--sunken:#f2f2f0;--hair:#e7e7e4;--ink:#1a1c1b;--ink-2:#565a57;--faint:#9a9e9a;--neutral:#59605b;--neutral-wash:#eceeeb;--moss:#4f7a5c;--moss-ink:#3d6249;--moss-wash:#eef3ef;--run:#a07617;--run-wash:#f7f0dd;--ok:#567a5c;--ok-wash:#edf2ee;--wait:#5b6ea8;--wait-wash:#eceff7;--fail:#b3452e;--fail-wash:#f9ece8;--shadow:0 1px 2px #1a1c1b0f, 0 8px 24px #1a1c1b14;--sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--text-meta:12px;--text-dense:13px;--text-read:15px;--text-pane:18px;--text-page:22px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--row-h:36px;--gutter:8px;--measure:65ch;--radius:6px;--radius-chip:999px;--ease:cubic-bezier(.23, 1, .32, 1);--fast:.12s;--base:.18s;--breath:2.4s;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#131514;--surface:#1b1d1c;--sunken:#0e100f;--hair:#2a2d2b;--ink:#e8eae8;--ink-2:#a3a8a4;--faint:#6b706c;--neutral:#b8bdb9;--neutral-wash:#272a28;--moss:#7fae8c;--moss-ink:#93c2a0;--moss-wash:#22302a;--run:#d0a83e;--run-wash:#2e2a1c;--ok:#85ad8d;--ok-wash:#1f2a23;--wait:#8ea0d6;--wait-wash:#232838;--fail:#d97757;--fail-wash:#33231e;--shadow:0 1px 2px #0006, 0 8px 24px #0000007a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#131514;--surface:#1b1d1c;--sunken:#0e100f;--hair:#2a2d2b;--ink:#e8eae8;--ink-2:#a3a8a4;--faint:#6b706c;--neutral:#b8bdb9;--neutral-wash:#272a28;--moss:#7fae8c;--moss-ink:#93c2a0;--moss-wash:#22302a;--run:#d0a83e;--run-wash:#2e2a1c;--ok:#85ad8d;--ok-wash:#1f2a23;--wait:#8ea0d6;--wait-wash:#232838;--fail:#d97757;--fail-wash:#33231e;--shadow:0 1px 2px #0006, 0 8px 24px #0000007a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:var(--text-dense);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--moss);text-decoration:none}a:hover{color:var(--moss-ink)}button,input,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--moss);outline-offset:2px}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}@keyframes breathe{0%,to{opacity:1}50%{opacity:.55}}.breathe{animation:breathe var(--breath) ease-in-out infinite}@media (prefers-reduced-motion:reduce){.breathe{opacity:1;animation:none}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.chip{border-radius:var(--radius-chip);height:18px;font-family:var(--mono);white-space:nowrap;align-items:center;gap:5px;padding:0 7px;font-size:10.5px;display:inline-flex}.chip-running{background:var(--run-wash);color:var(--run)}.chip-settled{background:var(--ok-wash);color:var(--ok)}.chip-blocked{background:var(--wait-wash);color:var(--wait)}.chip-failed{background:var(--fail-wash);color:var(--fail)}.input{border:1px solid var(--hair);border-radius:var(--radius);background:var(--bg);min-width:0;height:32px;font-size:var(--text-meta);outline:none;padding:0 10px}.input:focus{border-color:var(--moss)}.problem{padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--fail-wash);color:var(--fail)}.problem-title{font-weight:600}.problem-detail{margin-top:var(--space-1);font-size:var(--text-meta);color:var(--ink-2)}.reading{font-size:var(--text-read);max-width:var(--measure);line-height:1.6}.rail{background:var(--surface);border-right:1px solid var(--hair);min-height:0;transition:width var(--base) var(--ease);flex-direction:column;flex-shrink:0;display:flex}.rail-head{height:100%;padding:var(--space-3) var(--space-4);justify-content:space-between;align-items:flex-end;display:flex}.rail-wordmark{letter-spacing:-.01em;white-space:nowrap;align-items:baseline;gap:5px;font-size:14px;font-weight:600;display:flex}.rail-product-context{color:var(--faint);letter-spacing:0;font-size:10px;font-weight:400}.rail-section-title,.actor-label{color:var(--faint);letter-spacing:.07em;text-transform:uppercase;font-size:10.5px}.actor-rail{border-right:1px solid var(--hair);background:var(--bg);flex-direction:column;flex-shrink:0;min-height:0;display:flex}.pane-chrome{border-bottom:1px solid var(--hair);flex-shrink:0;overflow:hidden}.actor-head{height:100%;padding:var(--space-3) var(--space-4);justify-content:space-between;align-items:flex-start;display:flex}.actor-identity{flex-direction:column;justify-content:space-between;height:100%;display:flex}.actor-search-wrap{padding:10px var(--space-3)}.actor-search{width:100%;height:30px}.actor-problem{margin:0 var(--space-3) var(--space-3)}.actor-list{min-height:0;padding:0 var(--space-2) var(--space-3);flex:1;overflow-y:auto}.actor-row{width:100%;min-height:var(--row-h);align-items:center;gap:var(--space-2);padding:0 var(--space-2);border-radius:var(--radius);color:var(--ink-2);cursor:pointer;text-align:left;transition:background var(--fast) var(--ease), color var(--fast) var(--ease), transform var(--fast) var(--ease);background:0 0;border:0;display:flex}.actor-row:hover{background:var(--sunken);color:var(--ink)}.actor-row:active{transform:scale(.97)}.actor-row-selected,.actor-row-selected:hover{background:var(--moss-wash);color:var(--moss-ink)}.actor-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.actor-kind{color:var(--faint);flex-shrink:0;margin-left:auto;font-size:9.5px}.actor-mark-list{align-items:center;gap:var(--space-1);min-height:0;padding:var(--space-2) 0;flex-direction:column;flex:1;display:flex;overflow-y:auto}.actor-mark-button{width:100%;min-height:var(--row-h);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.actor-mark{border-radius:var(--radius);background:var(--sunken);color:var(--ink-2);transition:color var(--fast) var(--ease), transform var(--fast) var(--ease);place-items:center;font-size:9.5px;display:grid}.actor-mark-button:hover .actor-mark{color:var(--ink)}.actor-mark-button:active .actor-mark{transform:scale(.97)}.actor-mark-selected .actor-mark,.actor-mark-selected:hover .actor-mark{background:var(--moss-wash);color:var(--moss-ink)}.actor-footer{padding:var(--space-2);border-top:1px solid var(--hair);flex-direction:column;flex-shrink:0;gap:2px;margin-top:auto;display:flex}.actor-api{width:100%;min-height:var(--row-h);align-items:center;gap:var(--space-2);padding:0 var(--space-2);border-radius:var(--radius);color:var(--ink-2);cursor:pointer;text-align:left;transition:background var(--fast) var(--ease), color var(--fast) var(--ease), transform var(--fast) var(--ease);background:0 0;border:0;display:flex}.actor-api:hover{background:var(--sunken);color:var(--ink)}.actor-api-active,.actor-api-active:hover{background:var(--moss-wash);color:var(--moss-ink)}.actor-api:active{transform:scale(.97)}.actor-rail-collapsed .actor-api{justify-content:center;padding:0}.api-view{flex:1;min-width:0;height:100%;display:flex;overflow:hidden}.api-nav{background:var(--bg);border-right:1px solid var(--hair);flex-direction:column;min-width:0;display:flex}.api-search-wrap{align-items:center;gap:var(--space-2);height:34px;margin:10px var(--space-3);border:1px solid var(--hair);border-radius:var(--radius);background:var(--bg);color:var(--faint);flex-shrink:0;padding:0 10px;display:flex}.api-search-wrap:focus-within{border-color:var(--moss)}.api-search-wrap input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;padding:0}.api-nav-list{min-height:0;padding:0 var(--space-2) var(--space-3);flex:1;overflow-y:auto}.api-overview-link,.api-nav-row{width:100%;min-height:var(--row-h);align-items:center;gap:var(--space-2);padding:0 var(--space-2);border-radius:var(--radius);color:var(--ink-2);cursor:pointer;text-align:left;transition:background var(--fast) var(--ease), color var(--fast) var(--ease), transform var(--fast) var(--ease);background:0 0;border:0;display:flex}.api-overview-link:hover,.api-nav-row:hover{background:var(--sunken);color:var(--ink)}.api-overview-link:active,.api-nav-row:active{transform:scale(.97)}.api-nav-selected,.api-nav-selected:hover{background:var(--moss-wash);color:var(--moss-ink)}.api-group h2{margin:var(--space-4) var(--space-2) var(--space-1);color:var(--faint);letter-spacing:.07em;text-transform:uppercase;font-size:10.5px;font-weight:400}.api-method{justify-content:center;min-width:42px;font-size:10.5px;font-weight:500;display:inline-flex}.api-method-get{color:var(--wait)}.api-method-post{color:var(--ok)}.api-method-put,.api-method-patch{color:var(--run)}.api-method-delete{color:var(--fail)}.api-nav-path{min-width:0;color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.api-reading{background:var(--bg);flex:1;min-width:0;overflow-y:auto}.api-detail{width:min(1240px,100%);padding:72px var(--space-6) 96px;margin:0 auto}.api-detail-head{padding:var(--space-7) 0 var(--space-5)}.api-operation-title{align-items:center;gap:var(--space-3);display:flex}.api-operation-title h1,.api-overview h1{color:var(--ink);font-size:var(--text-page);letter-spacing:-.02em;margin:0;font-weight:500}.api-operation-detail h1{margin:var(--space-2) 0 0;color:var(--ink);letter-spacing:-.03em;text-transform:lowercase;font-size:30px;font-weight:500}.api-resource{padding-top:var(--space-7);scroll-margin-top:var(--space-5)}.api-resource+.api-resource{margin-top:var(--space-7);border-top:1px solid var(--hair)}.api-endpoint{scroll-margin-top:var(--space-5)}.api-endpoint+.api-endpoint{margin-top:var(--space-7);padding-top:var(--space-7);border-top:1px solid var(--hair)}.api-detail-head h2{color:var(--ink);letter-spacing:-.025em;margin:0;font-size:25px;font-weight:500}.api-operation-id,.api-eyebrow{margin-top:var(--space-2);color:var(--faint);font-size:11px}.api-detail p{max-width:var(--measure);color:var(--ink-2);line-height:1.6}.api-section{padding:var(--space-5) 0;border-bottom:1px solid var(--hair)}.api-section h2,.api-section h3{margin:0 0 var(--space-4);color:var(--ink);font-size:var(--text-read);font-weight:500}.api-tag-overview{align-items:start;gap:var(--space-7);min-height:220px;padding-bottom:var(--space-7);border-bottom:1px solid var(--hair);grid-template-columns:minmax(220px,1fr) minmax(360px,1fr);display:grid}.api-tag-overview .api-eyebrow{color:var(--faint);letter-spacing:.07em;text-transform:uppercase;margin:0;font-size:10.5px}.api-operations-card,.api-code-card{border:1px solid var(--hair);border-radius:var(--radius);background:var(--surface);overflow:hidden}.api-card-title,.api-code-head{min-height:38px;padding:0 var(--space-3);border-bottom:1px solid var(--hair);color:var(--ink-2);font-size:12px}.api-card-title{align-items:center;font-weight:500;display:flex}.api-operations-list{padding:var(--space-2)}.api-operations-list button{align-items:center;gap:var(--space-2);width:100%;min-height:32px;padding:0 var(--space-2);border-radius:var(--radius);color:var(--ink-2);cursor:pointer;text-align:left;background:0 0;border:0;display:flex}.api-operations-list button:hover{background:var(--sunken);color:var(--ink)}.api-operations-list button:active{transform:scale(.97)}.api-operation-grid{gap:var(--space-7);grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);display:grid}.api-operation-docs{min-width:0}.api-operation-examples{top:var(--space-5);align-self:start;gap:var(--space-3);display:grid;position:sticky}.api-code-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.api-code-head>div{align-items:center;gap:var(--space-2);min-width:0;display:flex}.api-code-head>span{color:var(--faint);font-size:10.5px}.api-code-card pre{max-height:360px;padding:var(--space-4);background:var(--sunken);color:var(--ink-2);white-space:pre-wrap;word-break:break-word;margin:0;font-size:11.5px;line-height:1.65;overflow:auto}.api-parameters,.api-responses,.api-content-list{gap:var(--space-3);display:grid}.api-parameter,.api-response,.api-content{padding:var(--space-3);border:1px solid var(--hair);border-radius:var(--radius);background:var(--surface)}.api-operation-docs .api-section{padding:var(--space-5) 0}.api-operation-docs .api-response{border:0;border-bottom:1px solid var(--hair);background:0 0;border-radius:0;padding:0}.api-operation-docs .api-response:first-child{border-top:1px solid var(--hair)}.api-operation-docs .api-response-head{cursor:pointer;min-height:52px;list-style:none}.api-operation-docs .api-response-head::-webkit-details-marker{display:none}.api-operation-docs .api-response-head:before{border-right:1px solid var(--faint);border-bottom:1px solid var(--faint);content:"";width:7px;height:7px;transition:transform var(--fast) var(--ease);transform:rotate(-45deg)}.api-operation-docs .api-response[open] .api-response-head:before{transform:rotate(45deg)}.api-operation-docs .api-response .api-content-list{margin:0 0 var(--space-4) 22px}.api-operation-docs .api-response .api-content{background:0 0;border:0}.api-operation-docs .api-request-section .api-content{padding:var(--space-3) 0;border:0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);background:0 0;border-radius:0}.api-operation-docs .api-request-section .api-media-type{margin-bottom:var(--space-3)}.api-operation-docs .api-parameters-section .api-parameter{padding:var(--space-3) 0;border:0;border-top:1px solid var(--hair);background:0 0;border-radius:0}.api-operation-docs .api-parameters-section .api-parameter:last-child{border-bottom:1px solid var(--hair)}.api-headers-section{padding-top:0}.api-header-line{border-top:1px solid var(--hair);grid-template-columns:120px minmax(0,1fr);align-items:center;min-height:44px;display:grid}.api-header-line:last-child{border-bottom:1px solid var(--hair)}.api-header-example{color:var(--faint);font-size:11.5px}.api-parameter{align-items:center;gap:var(--space-3);grid-template-columns:minmax(140px,1fr) minmax(100px,auto) auto;display:grid}.api-parameter p{grid-column:1/-1;margin:0}.api-parameter-in{margin-left:var(--space-2);color:var(--faint);font-size:10.5px}.api-response-head{align-items:center;gap:var(--space-3);display:flex}.api-status{color:var(--fail);font-weight:500}.api-status-ok{color:var(--ok)}.api-response .api-content-list{margin-top:var(--space-3)}.api-media-type{margin-bottom:var(--space-2);color:var(--faint);font-size:11px}.api-type,.api-property-type{color:var(--wait);font-size:11.5px}.api-properties{margin-top:var(--space-2);border-top:1px solid var(--hair)}.api-property{padding:10px 0 2px var(--space-3);border-left:1px solid var(--hair)}.api-property-line{align-items:baseline;gap:var(--space-2);display:flex}.api-property-name{color:var(--ink);font-size:12px}.api-required,.api-optional{color:var(--faint);margin-left:auto;font-size:10px}.api-required{color:var(--run)}.api-schema-cut{margin-top:var(--space-2);color:var(--faint);font-size:11px}.api-overview{padding:var(--space-4) 0 var(--space-7);scroll-margin-top:var(--space-5);border-bottom:1px solid var(--hair)}.api-overview .api-eyebrow{margin:0 0 var(--space-2);letter-spacing:.07em;text-transform:uppercase}.api-version{margin-top:var(--space-2);color:var(--faint);font-size:11px;display:inline-block}.api-facts{margin-top:var(--space-6);border-top:1px solid var(--hair);gap:0;display:grid}.api-facts div{padding:var(--space-3) 0;border-bottom:1px solid var(--hair);grid-template-columns:140px minmax(0,1fr);display:grid}.api-facts dt{color:var(--faint)}.api-facts dd{overflow-wrap:anywhere;margin:0}.api-load-problem{margin:var(--space-7)}@media (width<=760px){.api-detail{padding-right:var(--space-4);padding-left:var(--space-4)}}@media (width<=1100px){.api-tag-overview,.api-operation-grid{grid-template-columns:1fr}.api-tag-overview{min-height:0}.api-operation-examples{position:static}}.actor-rail-collapsed .actor-only{display:none}.actor-rail-collapsed .actor-head{justify-content:center}.rail-search{width:100%;height:30px}.run-list{min-height:0;padding:0 var(--space-2) var(--space-3);flex:1;overflow-y:auto}.rail-row{padding:var(--space-2) 14px;border-radius:var(--radius);cursor:pointer;transition:background var(--fast) var(--ease);flex-direction:column;gap:2px;display:flex}.rail-row:hover{background:var(--sunken)}.rail-row-selected,.rail-row-selected:hover{background:var(--moss-wash)}.rail-id{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12.5px;overflow:hidden}.rail-meta{color:var(--faint);font-size:11px}.thread-head{align-items:center;gap:var(--space-2);padding:var(--space-4) calc(var(--space-5) + 34px) 10px var(--space-5);display:flex}.icon-btn{border-radius:var(--radius);width:26px;height:26px;color:var(--faint);cursor:pointer;transition:color var(--fast) var(--ease);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover{color:var(--ink-2)}.icon-btn:active{transform:scale(.97)}.icon-btn-done{color:var(--ok)}.window{margin:0 var(--space-5) 10px;-webkit-user-select:none;user-select:none}.window-head{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.window-eyebrow{color:var(--faint);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.window-actions{align-items:center;gap:var(--space-2);display:flex}.window-readout{color:var(--ink-2);font-size:11.5px}.window-count{color:var(--faint)}.window-track{position:relative}.window-bars{align-items:flex-end;gap:1px;display:flex;position:absolute;inset:0}.window-bar{background:var(--hair);transition:background var(--fast) var(--ease);border-radius:1px 1px 0 0;flex:1}.window-bar-inside{background:var(--moss);opacity:.55}.window-selection{background:color-mix(in oklab, var(--moss) 12%, transparent);border-left:2px solid var(--moss);border-right:2px solid var(--moss);pointer-events:none;position:absolute;top:0;bottom:0}.window-handle{cursor:ew-resize;width:12px;margin-left:-6px;position:absolute;top:0;bottom:0}.window-grip{background:var(--moss);width:2px;height:100%;margin:0 auto}.window-marks{margin-top:var(--space-1);color:var(--faint);justify-content:space-between;font-size:10px;display:flex}.stream-note{padding:0 var(--space-5) var(--space-2);color:var(--faint);font-size:11px}.thread-view{flex:1;min-width:0;min-height:0;display:flex}.thread-trace{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.events{min-width:0;padding:0 var(--space-4) var(--space-4);flex:1;overflow-y:auto}.event-row{align-items:flex-start;gap:var(--space-3);padding:9px var(--space-2);border-radius:var(--radius);cursor:pointer;transition:background var(--fast) var(--ease);display:flex}.event-row:hover{background:var(--sunken)}.event-row-selected,.event-row-selected:hover{background:var(--moss-wash)}.event-stamp{border-radius:var(--radius-chip);white-space:nowrap;flex-shrink:0;align-items:center;height:24px;padding:0 10px;font-size:12px;display:inline-flex}.event-text{min-width:0;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:14.5px;line-height:1.55;overflow:hidden}.event-time{padding-left:var(--space-4);color:var(--faint);flex-shrink:0;margin-top:4px;margin-left:auto;font-size:11px}.event-inspector{border-left:1px solid var(--hair);background:var(--bg);flex:0 auto;min-width:0;overflow-y:auto}.event-inspector-head{padding:0 var(--space-4);border-bottom:1px solid var(--hair);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.event-inspector-title{align-items:center;gap:var(--space-2);min-width:0;display:flex}.event-inspector-seq{color:var(--faint);white-space:nowrap;font-size:11px}.event-detail{margin:var(--space-4);padding-left:var(--space-3);border-left:1px solid var(--hair);grid-template-columns:max-content minmax(0,1fr);gap:5px 20px;display:grid}.event-key{color:var(--faint);font-size:11.5px}.event-value{color:var(--ink);white-space:pre-wrap;word-break:break-word;font-size:12.5px;display:block}.event-value-frame{min-width:0}.field-more{background:linear-gradient(to bottom, transparent, var(--bg) 68%);justify-content:center;margin-top:-64px;padding:46px 0 4px;display:flex;position:relative}.field-toggle{min-height:28px;margin:var(--space-2) auto 0;padding:0 var(--space-3);border:1px solid var(--hair);border-radius:var(--radius-chip);background:var(--surface);color:var(--ink-2);cursor:pointer;font-family:var(--sans);font-size:var(--text-meta);box-shadow:var(--shadow);transition:color var(--fast) var(--ease), transform var(--fast) var(--ease);display:block}.field-toggle:hover{color:var(--ink)}.field-toggle:active{transform:scale(.97)}.event-code{background:var(--sunken);border-radius:4px;padding:8px 10px;line-height:1.5}.event-json{tab-size:2;line-height:1.55}.pane-empty{padding:var(--space-7) 0;text-align:center;font-size:var(--text-meta);color:var(--faint)}.quickstart-empty{min-height:0;padding:var(--space-6);flex:1;place-items:center;display:grid}.quickstart{width:min(720px,100%)}.quickstart-intro{margin-bottom:var(--space-5);text-align:center}.quickstart-intro h1{margin:0 0 var(--space-2);font-size:var(--text-page);letter-spacing:-.02em;font-weight:500}.quickstart-intro p{color:var(--ink-2);font-size:var(--text-read);margin:0}.quickstart-grid{gap:var(--space-3);display:grid}.quickstart-card{border:1px solid var(--hair);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.quickstart-card-head{min-height:38px;padding:0 var(--space-3) 0 var(--space-4);border-bottom:1px solid var(--hair);justify-content:space-between;align-items:center;display:flex}.quickstart-label{color:var(--ink-2);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.quickstart-copy{min-height:26px;padding:0 var(--space-2);border-radius:var(--radius);color:var(--faint);cursor:pointer;font-size:var(--text-meta);transition:color var(--fast) var(--ease), transform var(--fast) var(--ease);background:0 0;border:0;align-items:center;gap:6px;display:inline-flex}.quickstart-copy:hover{color:var(--ink-2)}.quickstart-copy:active{transform:scale(.97)}.quickstart-copy-done{color:var(--ok)}.quickstart-code{padding:var(--space-4);background:var(--sunken);color:var(--ink);font-family:var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:12.5px;line-height:1.6;overflow-x:auto}@media (width<=640px){.quickstart-empty{padding:var(--space-5) var(--space-4);align-items:start}}
|
|
1
|
+
:root{--bg:#fafaf9;--surface:#fff;--sunken:#f2f2f0;--hair:#e7e7e4;--ink:#1a1c1b;--ink-2:#565a57;--faint:#9a9e9a;--neutral:#59605b;--neutral-wash:#eceeeb;--moss:#4f7a5c;--moss-ink:#3d6249;--moss-wash:#eef3ef;--run:#a07617;--run-wash:#f7f0dd;--ok:#567a5c;--ok-wash:#edf2ee;--wait:#5b6ea8;--wait-wash:#eceff7;--fail:#b3452e;--fail-wash:#f9ece8;--shadow:0 1px 2px #1a1c1b0f, 0 8px 24px #1a1c1b14;--sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--text-meta:12px;--text-dense:13px;--text-read:15px;--text-pane:18px;--text-page:22px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--row-h:36px;--gutter:8px;--measure:65ch;--radius:6px;--radius-chip:999px;--ease:cubic-bezier(.23, 1, .32, 1);--fast:.12s;--base:.18s;--breath:2.4s;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#131514;--surface:#1b1d1c;--sunken:#0e100f;--hair:#2a2d2b;--ink:#e8eae8;--ink-2:#a3a8a4;--faint:#6b706c;--neutral:#b8bdb9;--neutral-wash:#272a28;--moss:#7fae8c;--moss-ink:#93c2a0;--moss-wash:#22302a;--run:#d0a83e;--run-wash:#2e2a1c;--ok:#85ad8d;--ok-wash:#1f2a23;--wait:#8ea0d6;--wait-wash:#232838;--fail:#d97757;--fail-wash:#33231e;--shadow:0 1px 2px #0006, 0 8px 24px #0000007a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#131514;--surface:#1b1d1c;--sunken:#0e100f;--hair:#2a2d2b;--ink:#e8eae8;--ink-2:#a3a8a4;--faint:#6b706c;--neutral:#b8bdb9;--neutral-wash:#272a28;--moss:#7fae8c;--moss-ink:#93c2a0;--moss-wash:#22302a;--run:#d0a83e;--run-wash:#2e2a1c;--ok:#85ad8d;--ok-wash:#1f2a23;--wait:#8ea0d6;--wait-wash:#232838;--fail:#d97757;--fail-wash:#33231e;--shadow:0 1px 2px #0006, 0 8px 24px #0000007a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:var(--text-dense);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--moss);text-decoration:none}a:hover{color:var(--moss-ink)}button,input,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--moss);outline-offset:2px}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}@keyframes breathe{0%,to{opacity:1}50%{opacity:.55}}.breathe{animation:breathe var(--breath) ease-in-out infinite}@media (prefers-reduced-motion:reduce){.breathe{opacity:1;animation:none}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.chip{border-radius:var(--radius-chip);height:18px;font-family:var(--mono);white-space:nowrap;align-items:center;gap:5px;padding:0 7px;font-size:10.5px;display:inline-flex}.chip-running{background:var(--run-wash);color:var(--run)}.chip-settled{background:var(--ok-wash);color:var(--ok)}.chip-blocked{background:var(--wait-wash);color:var(--wait)}.chip-failed{background:var(--fail-wash);color:var(--fail)}.input{border:1px solid var(--hair);border-radius:var(--radius);background:var(--bg);min-width:0;height:32px;font-size:var(--text-meta);outline:none;padding:0 10px}.input:focus{border-color:var(--moss)}.problem{padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--fail-wash);color:var(--fail)}.problem-title{font-weight:600}.problem-detail{margin-top:var(--space-1);font-size:var(--text-meta);color:var(--ink-2)}.reading{font-size:var(--text-read);max-width:var(--measure);line-height:1.6}.rail{background:var(--surface);border-right:1px solid var(--hair);min-height:0;transition:width var(--base) var(--ease);flex-direction:column;flex-shrink:0;display:flex}.rail-head{height:100%;padding:var(--space-3) var(--space-4);justify-content:space-between;align-items:flex-end;display:flex}.rail-wordmark{letter-spacing:-.01em;white-space:nowrap;align-items:baseline;gap:5px;font-size:14px;font-weight:600;display:flex}.rail-product-context{color:var(--faint);letter-spacing:0;font-size:10px;font-weight:400}.rail-section-title,.actor-label{color:var(--faint);letter-spacing:.07em;text-transform:uppercase;font-size:10.5px}.actor-rail{border-right:1px solid var(--hair);background:var(--bg);flex-direction:column;flex-shrink:0;min-height:0;display:flex}.pane-chrome{border-bottom:1px solid var(--hair);flex-shrink:0;overflow:hidden}.actor-head{height:100%;padding:var(--space-3) var(--space-4);justify-content:space-between;align-items:flex-start;display:flex}.actor-identity{flex-direction:column;justify-content:space-between;height:100%;display:flex}.actor-search-wrap{padding:10px var(--space-3)}.actor-search{width:100%;height:30px}.actor-problem{margin:0 var(--space-3) var(--space-3)}.actor-list{min-height:0;padding:0 var(--space-2) var(--space-3);flex:1;overflow-y:auto}.actor-row{width:100%;min-height:var(--row-h);align-items:center;gap:var(--space-2);padding:0 var(--space-2);border-radius:var(--radius);color:var(--ink-2);cursor:pointer;text-align:left;transition:background var(--fast) var(--ease), color var(--fast) var(--ease), transform var(--fast) var(--ease);background:0 0;border:0;display:flex}.actor-row:hover{background:var(--sunken);color:var(--ink)}.actor-row:active{transform:scale(.97)}.actor-row-selected,.actor-row-selected:hover{background:var(--moss-wash);color:var(--moss-ink)}.actor-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.actor-kind{color:var(--faint);flex-shrink:0;margin-left:auto;font-size:9.5px}.actor-mark-list{align-items:center;gap:var(--space-1);min-height:0;padding:var(--space-2) 0;flex-direction:column;flex:1;display:flex;overflow-y:auto}.actor-mark-button{width:100%;min-height:var(--row-h);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.actor-mark{border-radius:var(--radius);background:var(--sunken);color:var(--ink-2);transition:color var(--fast) var(--ease), transform var(--fast) var(--ease);place-items:center;font-size:9.5px;display:grid}.actor-mark-button:hover .actor-mark{color:var(--ink)}.actor-mark-button:active .actor-mark{transform:scale(.97)}.actor-mark-selected .actor-mark,.actor-mark-selected:hover .actor-mark{background:var(--moss-wash);color:var(--moss-ink)}.actor-footer{padding:var(--space-2);border-top:1px solid var(--hair);flex-direction:column;flex-shrink:0;gap:2px;margin-top:auto;display:flex}.actor-api{width:100%;min-height:var(--row-h);align-items:center;gap:var(--space-2);padding:0 var(--space-2);border-radius:var(--radius);color:var(--ink-2);cursor:pointer;text-align:left;transition:background var(--fast) var(--ease), color var(--fast) var(--ease), transform var(--fast) var(--ease);background:0 0;border:0;display:flex}.actor-api:hover{background:var(--sunken);color:var(--ink)}.actor-api-active,.actor-api-active:hover{background:var(--moss-wash);color:var(--moss-ink)}.actor-api:active{transform:scale(.97)}.actor-rail-collapsed .actor-api{justify-content:center;padding:0}.api-view{flex:1;min-width:0;height:100%;display:flex;overflow:hidden}.api-nav{background:var(--bg);border-right:1px solid var(--hair);flex-direction:column;min-width:0;display:flex}.api-search-wrap{align-items:center;gap:var(--space-2);height:34px;margin:10px var(--space-3);border:1px solid var(--hair);border-radius:var(--radius);background:var(--bg);color:var(--faint);flex-shrink:0;padding:0 10px;display:flex}.api-search-wrap:focus-within{border-color:var(--moss)}.api-search-wrap input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;padding:0}.api-nav-list{min-height:0;padding:0 var(--space-2) var(--space-3);flex:1;overflow-y:auto}.api-overview-link,.api-nav-row{width:100%;min-height:var(--row-h);align-items:center;gap:var(--space-2);padding:0 var(--space-2);border-radius:var(--radius);color:var(--ink-2);cursor:pointer;text-align:left;transition:background var(--fast) var(--ease), color var(--fast) var(--ease), transform var(--fast) var(--ease);background:0 0;border:0;display:flex}.api-overview-link:hover,.api-nav-row:hover{background:var(--sunken);color:var(--ink)}.api-overview-link:active,.api-nav-row:active{transform:scale(.97)}.api-nav-selected,.api-nav-selected:hover{background:var(--moss-wash);color:var(--moss-ink)}.api-group h2{margin:var(--space-4) var(--space-2) var(--space-1);color:var(--faint);letter-spacing:.07em;text-transform:uppercase;font-size:10.5px;font-weight:400}.api-method{justify-content:center;min-width:42px;font-size:10.5px;font-weight:500;display:inline-flex}.api-method-get{color:var(--wait)}.api-method-post{color:var(--ok)}.api-method-put,.api-method-patch{color:var(--run)}.api-method-delete{color:var(--fail)}.api-nav-path{min-width:0;color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.api-reading{background:var(--bg);flex:1;min-width:0;overflow-y:auto}.api-detail{width:min(1240px,100%);padding:72px var(--space-6) 96px;margin:0 auto}.api-detail-head{padding:var(--space-7) 0 var(--space-5)}.api-operation-title{align-items:center;gap:var(--space-3);display:flex}.api-operation-title h1,.api-overview h1{color:var(--ink);font-size:var(--text-page);letter-spacing:-.02em;margin:0;font-weight:500}.api-operation-detail h1{margin:var(--space-2) 0 0;color:var(--ink);letter-spacing:-.03em;text-transform:lowercase;font-size:30px;font-weight:500}.api-resource{padding-top:var(--space-7);scroll-margin-top:var(--space-5)}.api-resource+.api-resource{margin-top:var(--space-7);border-top:1px solid var(--hair)}.api-endpoint{scroll-margin-top:var(--space-5)}.api-endpoint+.api-endpoint{margin-top:var(--space-7);padding-top:var(--space-7);border-top:1px solid var(--hair)}.api-detail-head h2{color:var(--ink);letter-spacing:-.025em;margin:0;font-size:25px;font-weight:500}.api-operation-id,.api-eyebrow{margin-top:var(--space-2);color:var(--faint);font-size:11px}.api-detail p{max-width:var(--measure);color:var(--ink-2);line-height:1.6}.api-section{padding:var(--space-5) 0;border-bottom:1px solid var(--hair)}.api-section h2,.api-section h3{margin:0 0 var(--space-4);color:var(--ink);font-size:var(--text-read);font-weight:500}.api-tag-overview{align-items:start;gap:var(--space-7);min-height:220px;padding-bottom:var(--space-7);border-bottom:1px solid var(--hair);grid-template-columns:minmax(220px,1fr) minmax(360px,1fr);display:grid}.api-tag-overview .api-eyebrow{color:var(--faint);letter-spacing:.07em;text-transform:uppercase;margin:0;font-size:10.5px}.api-operations-card,.api-code-card{border:1px solid var(--hair);border-radius:var(--radius);background:var(--surface);overflow:hidden}.api-card-title,.api-code-head{min-height:38px;padding:0 var(--space-3);border-bottom:1px solid var(--hair);color:var(--ink-2);font-size:12px}.api-card-title{align-items:center;font-weight:500;display:flex}.api-operations-list{padding:var(--space-2)}.api-operations-list button{align-items:center;gap:var(--space-2);width:100%;min-height:32px;padding:0 var(--space-2);border-radius:var(--radius);color:var(--ink-2);cursor:pointer;text-align:left;background:0 0;border:0;display:flex}.api-operations-list button:hover{background:var(--sunken);color:var(--ink)}.api-operations-list button:active{transform:scale(.97)}.api-operation-grid{gap:var(--space-7);grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);display:grid}.api-operation-docs{min-width:0}.api-operation-examples{top:var(--space-5);align-self:start;gap:var(--space-3);display:grid;position:sticky}.api-code-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.api-code-head>div{align-items:center;gap:var(--space-2);min-width:0;display:flex}.api-code-head>span{color:var(--faint);font-size:10.5px}.api-code-card pre{max-height:360px;padding:var(--space-4);background:var(--sunken);color:var(--ink-2);white-space:pre-wrap;word-break:break-word;margin:0;font-size:11.5px;line-height:1.65;overflow:auto}.api-parameters,.api-responses,.api-content-list{gap:var(--space-3);display:grid}.api-parameter,.api-response,.api-content{padding:var(--space-3);border:1px solid var(--hair);border-radius:var(--radius);background:var(--surface)}.api-operation-docs .api-section{padding:var(--space-5) 0}.api-operation-docs .api-response{border:0;border-bottom:1px solid var(--hair);background:0 0;border-radius:0;padding:0}.api-operation-docs .api-response:first-child{border-top:1px solid var(--hair)}.api-operation-docs .api-response-head{cursor:pointer;min-height:52px;list-style:none}.api-operation-docs .api-response-head::-webkit-details-marker{display:none}.api-operation-docs .api-response-head:before{border-right:1px solid var(--faint);border-bottom:1px solid var(--faint);content:"";width:7px;height:7px;transition:transform var(--fast) var(--ease);transform:rotate(-45deg)}.api-operation-docs .api-response[open] .api-response-head:before{transform:rotate(45deg)}.api-operation-docs .api-response .api-content-list{margin:0 0 var(--space-4) 22px}.api-operation-docs .api-response .api-content{background:0 0;border:0}.api-operation-docs .api-request-section .api-content{padding:var(--space-3) 0;border:0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);background:0 0;border-radius:0}.api-operation-docs .api-request-section .api-media-type{margin-bottom:var(--space-3)}.api-operation-docs .api-parameters-section .api-parameter{padding:var(--space-3) 0;border:0;border-top:1px solid var(--hair);background:0 0;border-radius:0}.api-operation-docs .api-parameters-section .api-parameter:last-child{border-bottom:1px solid var(--hair)}.api-headers-section{padding-top:0}.api-header-line{border-top:1px solid var(--hair);grid-template-columns:120px minmax(0,1fr);align-items:center;min-height:44px;display:grid}.api-header-line:last-child{border-bottom:1px solid var(--hair)}.api-header-example{color:var(--faint);font-size:11.5px}.api-parameter{align-items:center;gap:var(--space-3);grid-template-columns:minmax(140px,1fr) minmax(100px,auto) auto;display:grid}.api-parameter p{grid-column:1/-1;margin:0}.api-parameter-in{margin-left:var(--space-2);color:var(--faint);font-size:10.5px}.api-response-head{align-items:center;gap:var(--space-3);display:flex}.api-status{color:var(--fail);font-weight:500}.api-status-ok{color:var(--ok)}.api-response .api-content-list{margin-top:var(--space-3)}.api-media-type{margin-bottom:var(--space-2);color:var(--faint);font-size:11px}.api-type,.api-property-type{color:var(--wait);font-size:11.5px}.api-properties{margin-top:var(--space-2);border-top:1px solid var(--hair)}.api-property{padding:10px 0 2px var(--space-3);border-left:1px solid var(--hair)}.api-property-line{align-items:baseline;gap:var(--space-2);display:flex}.api-property-name{color:var(--ink);font-size:12px}.api-required,.api-optional{color:var(--faint);margin-left:auto;font-size:10px}.api-required{color:var(--run)}.api-schema-cut{margin-top:var(--space-2);color:var(--faint);font-size:11px}.api-overview{padding:var(--space-4) 0 var(--space-7);scroll-margin-top:var(--space-5);border-bottom:1px solid var(--hair)}.api-overview .api-eyebrow{margin:0 0 var(--space-2);letter-spacing:.07em;text-transform:uppercase}.api-version{margin-top:var(--space-2);color:var(--faint);font-size:11px;display:inline-block}.api-facts{margin-top:var(--space-6);border-top:1px solid var(--hair);gap:0;display:grid}.api-facts div{padding:var(--space-3) 0;border-bottom:1px solid var(--hair);grid-template-columns:140px minmax(0,1fr);display:grid}.api-facts dt{color:var(--faint)}.api-facts dd{overflow-wrap:anywhere;margin:0}.api-load-problem{margin:var(--space-7)}@media (width<=760px){.api-detail{padding-right:var(--space-4);padding-left:var(--space-4)}}@media (width<=1100px){.api-tag-overview,.api-operation-grid{grid-template-columns:1fr}.api-tag-overview{min-height:0}.api-operation-examples{position:static}}.actor-rail-collapsed .actor-only{display:none}.actor-rail-collapsed .actor-head{justify-content:center}.rail-search{width:100%;height:30px}.run-list{min-height:0;padding:0 var(--space-2) var(--space-3);flex:1;overflow-y:auto}.rail-row{padding:var(--space-2) 14px;border-radius:var(--radius);cursor:pointer;transition:background var(--fast) var(--ease);flex-direction:column;gap:2px;display:flex}.rail-row:hover{background:var(--sunken)}.rail-row-selected,.rail-row-selected:hover{background:var(--moss-wash)}.rail-id{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12.5px;overflow:hidden}.rail-meta{color:var(--faint);font-size:11px}.thread-head{align-items:center;gap:var(--space-2);padding:var(--space-4) calc(var(--space-5) + 34px) 10px var(--space-5);display:flex}.icon-btn{border-radius:var(--radius);width:26px;height:26px;color:var(--faint);cursor:pointer;transition:color var(--fast) var(--ease);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover{color:var(--ink-2)}.icon-btn:active{transform:scale(.97)}.icon-btn-done{color:var(--ok)}.window{margin:0 var(--space-5) 10px;-webkit-user-select:none;user-select:none}.window-head{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.window-eyebrow{color:var(--faint);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.window-actions{align-items:center;gap:var(--space-2);display:flex}.window-readout{color:var(--ink-2);font-size:11.5px}.window-count{color:var(--faint)}.window-track{position:relative}.window-bars{align-items:flex-end;gap:1px;display:flex;position:absolute;inset:0}.window-bar{background:var(--hair);transition:background var(--fast) var(--ease);border-radius:1px 1px 0 0;flex:1}.window-bar-inside{background:var(--moss);opacity:.55}.window-selection{background:color-mix(in oklab, var(--moss) 12%, transparent);border-left:2px solid var(--moss);border-right:2px solid var(--moss);pointer-events:none;position:absolute;top:0;bottom:0}.window-handle{cursor:ew-resize;width:12px;margin-left:-6px;position:absolute;top:0;bottom:0}.window-grip{background:var(--moss);width:2px;height:100%;margin:0 auto}.window-marks{margin-top:var(--space-1);color:var(--faint);justify-content:space-between;font-size:10px;display:flex}.stream-note{padding:0 var(--space-5) var(--space-2);color:var(--faint);font-size:11px}.thread-view{flex:1;min-width:0;min-height:0;display:flex}.thread-trace{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.events{min-width:0;padding:0 var(--space-4) var(--space-4);flex:1;overflow-y:auto}.event-row{align-items:flex-start;gap:var(--space-3);padding:9px var(--space-2);border-radius:var(--radius);cursor:pointer;transition:background var(--fast) var(--ease);display:flex}.event-row:hover{background:var(--sunken)}.event-row-selected,.event-row-selected:hover{background:var(--moss-wash)}.event-stamp{border-radius:var(--radius-chip);white-space:nowrap;flex-shrink:0;align-items:center;height:24px;padding:0 10px;font-size:12px;display:inline-flex}.event-text{min-width:0;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:14.5px;line-height:1.55;overflow:hidden}.event-time{padding-left:var(--space-4);color:var(--faint);flex-shrink:0;margin-top:4px;margin-left:auto;font-size:11px}.event-inspector{border-left:1px solid var(--hair);background:var(--bg);flex:0 auto;min-width:0;overflow-y:auto}.event-inspector-head{padding:0 var(--space-4);border-bottom:1px solid var(--hair);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.event-inspector-title{align-items:center;gap:var(--space-2);min-width:0;display:flex}.event-inspector-seq{color:var(--faint);white-space:nowrap;font-size:11px}.event-detail{margin:var(--space-4);padding-left:var(--space-3);border-left:1px solid var(--hair);grid-template-columns:max-content minmax(0,1fr);gap:5px 20px;display:grid}.event-key{color:var(--faint);font-size:11.5px}.event-value{color:var(--ink);white-space:pre-wrap;word-break:break-word;font-size:12.5px;display:block}.event-value-frame{min-width:0}.field-more{background:linear-gradient(to bottom, transparent, var(--bg) 68%);justify-content:center;margin-top:-64px;padding:46px 0 4px;display:flex;position:relative}.field-toggle{min-height:28px;margin:var(--space-2) auto 0;padding:0 var(--space-3);border:1px solid var(--hair);border-radius:var(--radius-chip);background:var(--surface);color:var(--ink-2);cursor:pointer;font-family:var(--sans);font-size:var(--text-meta);box-shadow:var(--shadow);transition:color var(--fast) var(--ease), transform var(--fast) var(--ease);display:block}.field-toggle:hover{color:var(--ink)}.field-toggle:active{transform:scale(.97)}.event-code{background:var(--sunken);border-radius:4px;padding:8px 10px;line-height:1.5}.event-json{tab-size:2;line-height:1.55}.pane-empty{padding:var(--space-7) 0;text-align:center;font-size:var(--text-meta);color:var(--faint)}.quickstart-empty{min-height:0;padding:var(--space-6);flex:1;place-items:center;display:grid}.quickstart{width:min(720px,100%)}.quickstart-intro{margin-bottom:var(--space-5);text-align:center}.quickstart-intro h1{margin:0 0 var(--space-2);font-size:var(--text-page);letter-spacing:-.02em;font-weight:500}.quickstart-intro p{color:var(--ink-2);font-size:var(--text-read);margin:0}.quickstart-card{border:1px solid var(--hair);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.quickstart-card-head{min-height:38px;padding:0 var(--space-3) 0 var(--space-4);border-bottom:1px solid var(--hair);justify-content:space-between;align-items:center;display:flex}.quickstart-label{color:var(--ink-2);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.quickstart-copy{min-height:26px;padding:0 var(--space-2);border-radius:var(--radius);color:var(--faint);cursor:pointer;font-size:var(--text-meta);transition:color var(--fast) var(--ease), transform var(--fast) var(--ease);background:0 0;border:0;align-items:center;gap:6px;display:inline-flex}.quickstart-copy:hover{color:var(--ink-2)}.quickstart-copy:active{transform:scale(.97)}.quickstart-copy-done{color:var(--ok)}.quickstart-code{padding:var(--space-4);background:var(--sunken);color:var(--ink);font-family:var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:12.5px;line-height:1.6;overflow-x:auto}@media (width<=640px){.quickstart-empty{padding:var(--space-5) var(--space-4);align-items:start}}
|
|
@@ -18,4 +18,4 @@ Error generating stack: `+e.message+`
|
|
|
18
18
|
`:o===`event`?l=p:o===`id`&&!p.includes(`\0`)?c=p:o===`retry`&&/^\d+$/.test(p)&&e(new Nx({duration:_a(parseInt(p,10)),lastEventId:c}))}}var Ax=``,jx=mg({id:ig(Q),event:Q,data:Q}),Mx=`~effect/encoding/Sse/Retry`,Nx=class e extends za(`Retry`){[Mx]=Mx;static is(e){return O(e,Mx)}static filter(t){return e.is(t)?Or(t):kr(t)}},Px=`~effect/httpapi/HttpApiMiddleware`,Fx=`~effect/httpapi/HttpApiMiddleware/Security`,Ix=()=>(e,t)=>{let n=globalThis.Error,r=vo();F(2);let i=new n;F(r);class a extends N()(e){}let o=a;if(Object.defineProperty(a,"stack",{get(){return i.stack}}),o[Px]=Px,o.error=Lx(t?.error),o.requiredForClient=t?.requiredForClient??!1,t?.security!==void 0){if(Object.keys(t.security).length===0)throw Error(`HttpApiMiddleware.Service: security object must not be empty`);o[Fx]=Fx,o.security=t.security}return o};function Lx(e){return e===void 0?new Set:new Set(Array.isArray(e)?e:[e])}var Rx=class extends N()(`effect/httpapi/OpenApi/Identifier`){},zx=class extends N()(`effect/httpapi/OpenApi/Title`){},Bx=class extends N()(`effect/httpapi/OpenApi/Version`){},Vx=class extends N()(`effect/httpapi/OpenApi/Description`){},Hx=class extends N()(`effect/httpapi/OpenApi/License`){},Ux=class extends N()(`effect/httpapi/OpenApi/ExternalDocs`){},Wx=class extends N()(`effect/httpapi/OpenApi/Servers`){},Gx=class extends N()(`effect/httpapi/OpenApi/Format`){},Kx=(e=>{let t=Object.entries(e);return e=>{let n=Fi();for(let[r,i]of t)e[r]!==void 0&&(n=Ri(n,i,e[r]));return n}})({identifier:Rx,title:zx,version:Bx,description:Vx,license:Hx,summary:class extends N()(`effect/httpapi/OpenApi/Summary`){},deprecated:class extends N()(`effect/httpapi/OpenApi/Deprecated`){},externalDocs:Ux,servers:Wx,format:Gx,override:class extends N()(`effect/httpapi/OpenApi/Override`){},exclude:Ji(`effect/httpapi/OpenApi/Exclude`,{defaultValue:Ee}),transform:class extends N()(`effect/httpapi/OpenApi/Transform`){}}),qx=(e,t)=>Au(function*(){let n=yield*Ku(),r=t.httpClient.pipe(t?.baseUrl===void 0?D:Ly(_y(t.baseUrl.toString())));function i(e,t,a,o,s){if(s===-1)return r.execute(a);let c=n.mapUnsafe.get(o[s]);return c===void 0?i(e,t,a,o,s-1):c({endpoint:t,group:e,request:a,next(n){return i(e,t,n,o,s-1)}})}xx(e,{predicate:t?.predicate,onGroup(e){t.onGroup?.(e)},onEndpoint(e){let{group:n,endpoint:r,errors:a,successes:o}=e,s=Zx(r.path),c={orElse:gS},l=Oy(c),u=new Map;for(let[e,t]of a.entries()){let n=nS(t);for(let[t,r]of n.entries())eS(u,e,t,Qx(r))}for(let[e,t]of u.entries()){let n=tS(t);c[e]=e=>Iu(Uu(n(e),t=>ju(wl(yl(new Wv({reason:new Yv({request:e.request,response:e})})),t))),G)}let d=new Map;for(let[e,t]of o.entries()){let n=nS(t);for(let[t,r]of n.entries())eS(d,e,t,Qx(r))}for(let e of oS(r)){let t=aS(e)?e.schema:e;eS(d,Rb(e),t.contentType,sS(e))}for(let[e,t]of d.entries())c[e]=tS(t);let f=zh(r.params,tg),p=Wb(r),m=Wr(p)?Qv(r.method)?tg(vS(p,r.method)):tg(Sg(p)):void 0,h=zh(r.headers,tg),g=zh(r.query,tg),_=Array.from(e.middleware,e=>`${e.key}/Client`),v=ld(function*(e){let a=cy(r.method)(r.path);if(e!==void 0){if(f!==void 0){let t=yield*f(e.params);a=gy(a,s(t))}if(m!==void 0){if(Qv(r.method)){if(e.payload instanceof FormData)a=Cy(a,e.payload);else{let t=yield*m(e.payload);a=Sy(a,t)}}else{let t=yield*m(e.payload);a=by(a,t)}}if(h!==void 0){let t=yield*h(e.headers);a=fy(a,t)}if(g!==void 0){let t=yield*g(e.query);a=by(a,t)}}let o=yield*i(n,r,a,_,_.length-1);if(e?.responseMode===`response-only`)return o;let c=yield*t.transformResponse===void 0?l(o):t.transformResponse(l(o));return e?.responseMode===`decoded-and-response`?[c,o]:c});t.onEndpoint({...e,endpointFn:v})}})}),Jx=(e,t)=>Iu(My,n=>Yx(e,{...t,httpClient:t?.transformClient?t.transformClient(n):n})),Yx=(e,t)=>{let n={};return qx(e,{...t,onGroup({group:e}){e.topLevel||At(n,e.identifier,{})},onEndpoint({endpoint:e,endpointFn:t,group:r}){At(r.topLevel?n:n[r.identifier],e.identifier,t)}}).pipe(Bu(n))},Xx=/(\/?):(\w+)(\?)?/g,Zx=e=>Xx.test(e)?(Xx.lastIndex=0,t=>(Xx.lastIndex=0,e.replace(Xx,(e,n,r,i)=>{let a=t[r];if(a===void 0){if(i!==void 0)return``;throw Error(`Missing path parameter: ${r}`)}return`${n}${encodeURIComponent(a)}`}))):t=>e;function Qx(e){let t=e.some(e=>Sb(e)||Ab(e.ast)!==void 0),n=eg(t?Sg(e.map($x)):mS(e));return e=>Iu(e.arrayBuffer,t?t=>n({body:t,headers:e.headers}):n)}function $x(e){let t=Sb(e),n=Ab(e.ast);if(n!==void 0)return mg({body:hS(n.body),headers:n.headersCodec}).pipe(Dg(e));let r=t?e.schema:e;return mg({body:hS(r).pipe(Dg(r)),headers:t?e.headers:cg}).pipe(Dg(t?e:ag(e),xf({decode:e=>t?xb(e):e.body,encode:e=>t?e:{body:e,headers:void 0}})))}function eS(e,t,n,r){let i=Hb(n),a=e.get(t);a===void 0?e.set(t,[{contentType:i,decode:r}]):a.push({contentType:i,decode:r})}function tS(e){let t=e[0];return e.length===1&&t!==void 0?t.decode:t=>{let n=Hb(t.headers[`content-type`]??``),r=e.find(e=>e.contentType===n);return r===void 0?rS(t,n,e):r.decode(t)}}function nS(e){let t=new Map;for(let n of e){let e=Ob((Sb(n)?n.schema:n).ast)?``:Hb(zb(n).contentType),r=t.get(e);r===void 0?t.set(e,[n]):r.push(n)}return t}function rS(e,t,n){let r=Array.from(new Set(n.map(e=>e.contentType))).join(`, `);return G(new Wv({reason:new Xv({request:e.request,response:e,description:`Unsupported response content-type for status ${e.status}: ${t||`<missing>`}. Expected one of: ${r}`})}))}var iS=`effect/httpapi/stream/failure`,aS=e=>Sb(e);function oS(e){let t=[];for(let n of e.success)gb(Sb(n)?n.schema:n)&&t.push(n);return t}function sS(e){let t=aS(e),n=t?e.schema:e,r=vb(n)?void 0:{declaration:n,decoder:cS(n)},i=e=>zu(Ku(),t=>H_(r===void 0?e.stream:lS(e.stream,r.declaration,r.decoder),t));if(!t)return i;let a=Qh(e.headers);return e=>Iu(a(e.headers),t=>zu(i(e),e=>xb({body:e,headers:t})))}function cS(e){return Ox(Sg([mg({event:sg(iS),data:$g(d_(Ug(e.error,Xg())))}),e.events]))}function lS(e,t,n){let r=P_(e.pipe(B_,z_(n)),e=>Ou(()=>{let t;return Du(()=>t===void 0?Iu(e,e=>{for(let n=0;n<e.length;n++){let r=e[n];if(r.event===iS&&ml(r.data)){if(n===0)return ju(r.data);t=r.data,e=e.slice(0,n);break}}return W(e)}):ju(t))}));return t.sseMode===`data`?R_(r,e=>e.data):r}var uS=Ag(globalThis.ArrayBuffer,{expected:`ArrayBuffer`}),dS=uS.pipe(Dg(n_,xf({decode(e){return new Uint8Array(e)},encode(e){return e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}}))),fS=uS.pipe(Dg(Q,xf({decode(e){return new TextDecoder().decode(e)},encode(e){let t=new TextEncoder().encode(e);return t.byteLength===t.buffer.byteLength?t.buffer:t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}}))),pS=fS.pipe(Dg(Sg([sg(``).pipe(Dg(lg,xf({decode:()=>void 0,encode:()=>``}))),e_])));function mS(e){return Sg(e.map(t));function t(e){return hS(e).pipe(Dg(e))}}function hS(e){switch(Ib(e.ast)._tag){case`Json`:return If(wm(e.ast))?pS.pipe(Dg(cg,xf({decode:e=>e===void 0?null:e,encode:e=>e===null?void 0:e}))):pS;case`FormUrlEncoded`:return fS.pipe(Dg(jv));case`Uint8Array`:return dS;case`Text`:return fS}}var gS=e=>G(new Wv({reason:new Xv({request:e.request,response:e})})),_S=Yh(Nv);function vS(e,t){return Sg(e.map(e=>bS(e,t)))}var yS=new WeakMap;function bS(e,t){let n=e.ast,r=yS.get(n);if(r!==void 0)return r;let i=Fb(n,t),a=_S.pipe(Dg(e,bf({decode(e,t){return G(new Ld({message:`Encode only schema`},e,t))},encode(e,t){switch(i._tag){case`Multipart`:return G(new Ld({message:`Payload must be a FormData`},e,t));case`Json`:try{return W(zv(JSON.stringify(e),i.contentType))}catch{return G(new Id({expected:`a JSON-serializable request body`},e,t))}case`Text`:return typeof e==`string`?W(zv(e,i.contentType)):G(new Id({message:`Expected a string`},e,t));case`FormUrlEncoded`:return He(e)?W(Bv(xv(e),i.contentType)):G(new Id({message:`Expected a record`},e,t));case`Uint8Array`:return e instanceof Uint8Array?W(Lv(e,i.contentType)):G(new Id({message:`Expected a Uint8Array`},e,t))}}})));return yS.set(n,a),a}var xS=`~effect/httpapi/HttpApiGroup`,SS={[xS]:xS,add(...e){let t={...this.endpoints};for(let n of e)At(t,n.identifier,n);return wS({...CS(this),endpoints:t})},prefix(e){return wS({...CS(this),endpoints:Fr(this.endpoints,t=>t.prefix(e))})},middleware(e){return wS({...CS(this),endpoints:Fr(this.endpoints,t=>t.middleware(e))})},annotateMerge(e){return wS({...CS(this),annotations:Ki(this.annotations,e)})},annotate(e,t){return wS({...CS(this),annotations:Ri(this.annotations,e,t)})},annotateEndpointsMerge(e){return wS({...CS(this),endpoints:Fr(this.endpoints,t=>t.annotateMerge(e))})},annotateEndpoints(e,t){return wS({...CS(this),endpoints:Fr(this.endpoints,n=>n.annotate(e,t))})},pipe(){return xe(this,arguments)}},CS=e=>({identifier:e.identifier,topLevel:e.topLevel,endpoints:e.endpoints,annotations:e.annotations}),wS=e=>{function t(){}return Object.setPrototypeOf(t,SS),t.key=`effect/httpapi/HttpApiGroup/${e.identifier}`,Object.assign(t,e)},TS=(e,t)=>wS({identifier:e,topLevel:t?.topLevel??!1,endpoints:{},annotations:Fi()}),ES=g(),DS=gg(mg({type:Q}),[hg(Q,cg)]),OS=`default`,kS=`/openapi.json`,AS=`application/problem+json`,jS=`https://tardigrade.dev/problems/`,MS=(e,t,n)=>{let r=`${jS}${e}`;return{schema:mg({type:sg(r),title:sg(t),status:sg(n),detail:rg(Q)}).annotate({identifier:`Problem${t.replace(/ /g,``)}`}).pipe(mb(n),Eb({contentType:AS})),of:e=>({type:r,title:t,status:n,detail:e})}},NS=MS(`invalid-request`,`Invalid Request`,400),PS=MS(`unknown-thread`,`Unknown Thread`,404),FS=MS(`unknown-actor`,`Unknown Actor`,404);MS(`unknown-projection`,`Unknown Projection`,404);var IS=MS(`resume-refused`,`Resume Refused`,409),LS=Cg([`settled`,`running`,`blocked`,`failed`]),RS=mg({id:Q,parent:rg(Q),events:ug,lastAt:rg(ug),status:LS}).annotate({identifier:`ThreadSummary`}),zS=mg({...RS.fields,children:yg(Tg(()=>zS))}).annotate({identifier:`ThreadNode`});mg({turn:Q,status:Cg([`pending`,`completed`,`failed`,`parked`]),epoch:ug,output:rg(Q),error:rg(Q)}).annotate({identifier:`TurnView`});var BS=mg({seq:ug,event:DS}).annotate({identifier:`EventRow`}),VS=mg({actor:Q,thread:Q}).annotate({identifier:`Accepted`}).pipe(mb(202)),HS=mg({status:Cg([`resting`,`driving`]),dirty:ug}).annotate({identifier:`Health`}),US=mg({name:Q,builtIn:dg,digest:rg(Q)}).annotate({identifier:`ActorSummary`}),WS=mg({manifest:mg({schema:sg(1),name:Q,module:Q,digest:Q}),module:Q}).annotate({identifier:`ActorArtifact`}),GS=gg(mg({type:Rg}),[hg(Q,cg)]).annotate({identifier:`Append`}),KS=rg(Fg.pipe(Eg(Mg(e=>e>=0,{title:`at or above zero`})))),qS={actor:Q},JS={actor:Q,id:Q},YS=TS(`threads`).add(mx(`append`,`/v1/actors/:actor/threads/:id/events`,{params:JS,payload:GS,success:VS,error:[FS.schema]}),px(`list`,`/v1/actors/:actor/threads`,{params:qS,success:yg(RS),error:[FS.schema]}),px(`events`,`/v1/actors/:actor/threads/:id/events`,{params:JS,query:{after:KS,limit:KS,types:rg(Q)},success:yg(BS),error:[FS.schema,PS.schema]}),px(`tree`,`/v1/actors/:actor/threads/:id/tree`,{params:JS,success:zS,error:[FS.schema,PS.schema]})),XS=TS(`health`).add(px(`healthz`,`/healthz`,{success:HS})),ZS=TS(`actors`).add(px(`actors`,`/v1/actors`,{success:yg(US)}),hx(`pushActor`,`/v1/actors`,{payload:WS,success:US,error:[NS.schema]})),QS=(e,t,n)=>px(e,`/v1/actors/:actor/threads/:id/${e}`,{params:JS,query:t,success:n,error:[FS.schema,PS.schema]}),$S=e=>Object.entries(e).map(([e,t])=>QS(e,t.params,t.result)),eC=e=>TS(`projections`).add(...$S(e)),tC=class extends Ix()(`tardigrade/server/RequestProblems`,{error:NS.schema}){},nC=e=>bx(`tardigrade`).add(ZS,YS,eC(e),XS).middleware(tC).annotateMerge(Kx({title:`Tardigrade`,description:`Actors, threads, turns, and events: the platform holds the log, and every other read is a projection its actor declares. Every failure is an RFC 9457 problem document.`}));nC({});var rC=class extends Error{type;title;status;detail;constructor(e){super(e.detail===void 0?e.title:`${e.title}: ${e.detail}`),this.name=`ProblemError`,this.type=e.type,this.title=e.title,this.status=e.status,this.detail=e.detail}},iC=e=>typeof e==`object`&&!!e&&typeof e.type==`string`&&typeof e.title==`string`&&typeof e.status==`number`,aC=(e,t,n)=>iC(t)?new rC({type:t.type,title:t.title,status:t.status,...typeof t.detail==`string`&&t.detail.length>0?{detail:t.detail}:{}}):new rC({title:n,status:e}),oC=e=>{let t=globalThis.EventSource;if(t===void 0)throw new rC({title:`No EventSource`,status:0,detail:"This runtime has no EventSource. Pass one as `eventSource` to follow a log."});return new t(e)},sC=e=>e.endsWith(`/`)?e.slice(0,-1):e,cC=(e,t,n,r=OS)=>{let i=n===void 0?``:`?after=${n}`;return`${sC(e)}/v1/actors/${encodeURIComponent(r)}/threads/${encodeURIComponent(t)}/events/stream${i}`},lC=e=>{let t=(e.eventSource??oC)(cC(e.baseUrl,e.thread,e.after,e.actor));return t.onmessage=t=>{let n=Number(t.lastEventId);if(Number.isFinite(n))try{e.onEvent({seq:n,event:JSON.parse(t.data)})}catch{e.onError?.(new rC({title:`Unreadable Event`,status:0}))}},t.onerror=()=>{t.readyState===2&&e.onError?.(new rC({title:`Stream Closed`,status:0,detail:`The event stream for ${e.thread} ended and will not reconnect.`}))},()=>t.close()},uC=`http://localhost:4242`,dC=`Server Unreachable`,fC=`Unexpected Response`,pC=`Server Error`,mC="The server returned no error details. Check the `tdg dev` terminal and restart the server if needed.",hC=`Unreadable Exchange`,gC=e=>e instanceof Error?e.message:String(e),_C=e=>{if(e instanceof rC)return W(e);if(iC(e))return W(aC(e.status,e,e.title));if(e instanceof Wv){let t=e.response;return t===void 0?W(new rC({title:dC,status:0,detail:gC(e)})):zu(Wu(t.json,()=>void 0),n=>iC(n)?aC(t.status,n,fC):t.status>=500?new rC({title:pC,status:t.status,detail:mC}):new rC({title:fC,status:t.status,detail:gC(e)}))}return W(new rC({title:hC,status:0,detail:gC(e)}))},vC=e=>od(Hu(e,e=>Iu(_C(e),G))),yC=e=>{let t={};return e.after!==void 0&&(t.after=e.after),e.limit!==void 0&&(t.limit=e.limit),e.types!==void 0&&e.types.length>0&&(t.types=e.types.join(`,`)),t},bC=(e={})=>{let t=e.baseUrl??`http://localhost:4242`,n=e.token,r=sd(Jx(nC(e.projections??{}),{baseUrl:t,...n===void 0?{}:{transformClient:e=>Ly(e,py(n))}}).pipe(Ju(Jy),e.fetch===void 0?e=>e:Xu(Ky,e.fetch))),i=e.actor??`default`,a=(e,t)=>vC(r.threads.append({params:{actor:i,id:e},payload:t})),o=async(e,t)=>{let n=r.projections.turns;if(n===void 0)throw new rC({...IS.of("This client was built without a `turns` projection, so it cannot tell whether a turn failed.")});return await vC(n({params:{actor:i,id:e},query:{turn:t}}))};return{baseUrl:t,actor:i,actors:()=>vC(r.actors.actors({})),list:()=>vC(r.threads.list({params:{actor:i}})),tree:e=>vC(r.threads.tree({params:{actor:i,id:e}})),events:(e,t={})=>vC(r.threads.events({params:{actor:i,id:e},query:yC(t)})),append:a,resume:async(e,t)=>{let n=(await o(e,t)).find(e=>e.turn===t);if(n===void 0)throw new rC({...IS.of(`No turn named ${JSON.stringify(t)} has been served on this thread.`)});if(n.status!==`failed`)throw new rC({...IS.of(`turn ${JSON.stringify(t)} cannot resume because its active epoch is ${n.status}`)});return a(e,{type:`TurnResumed`,turn:t,failedEpoch:n.epoch,epoch:n.epoch+1})},health:()=>vC(r.health.healthz({})),projection:(e,t,n)=>vC(r.projections[t]({params:{actor:i,id:e},query:n??{}})),follow:(n,r)=>lC({...r,baseUrl:t,thread:n,actor:i,...e.eventSource===void 0?{}:{eventSource:e.eventSource}})}},xC=uC,SC=`voyager.token`,CC=e=>e.endsWith(`/`)?e.slice(0,-1):e,wC=(e,t,n)=>typeof e==`string`&&e.length>0?CC(e):n&&t!==void 0?CC(t):xC,TC=()=>{let e=wC(void 0,typeof location>`u`?void 0:location.origin,!0);if(typeof location>`u`)return e;let t=new URLSearchParams(location.search).get(`api`);return CC(t!==null&&t.length>0?t:e)},EC=()=>{if(typeof localStorage>`u`)return;let e=localStorage.getItem(SC);return e===null||e.length===0?void 0:e},DC=bC({baseUrl:TC(),token:EC()}),OC=new Map,kC=e=>{let t=OC.get(e);if(t!==void 0)return t;let n=bC({baseUrl:DC.baseUrl,token:EC(),actor:e});return OC.set(e,n),n},AC=2e3,jC=2e3,MC=.02,NC=.02,PC=1200,FC={fg:`var(--neutral)`,bg:`var(--neutral-wash)`},IC={fg:`var(--run)`,bg:`var(--run-wash)`},LC={fg:`var(--wait)`,bg:`var(--wait-wash)`},RC={fg:`var(--ok)`,bg:`var(--ok-wash)`},zC={MessageReceived:FC,ModelCalled:FC,TextReturned:FC,CompactionCompleted:FC,ReplyDelivered:FC,CodeDispatched:IC,ToolCalled:IC,TurnResumed:IC,PackageCalled:LC,BlockedOn:LC,BudgetRequested:LC,BudgetGranted:LC,BudgetDenied:LC,BudgetExhausted:LC,ToolReturned:RC,TurnCompleted:RC,TurnFailed:{fg:`var(--fail)`,bg:`var(--fail-wash)`}},BC=e=>zC[e]??FC,VC=e=>typeof e==`string`?e:void 0,HC=e=>typeof e==`number`?e:void 0,UC=(e,t)=>{let n=e.replace(/\s+/gu,` `).trim();return n.length<=t?n:`${n.slice(0,Math.max(0,t-1))}…`},WC=e=>{let t=e.trim();if(!(t.startsWith(`{`)&&t.endsWith(`}`)||t.startsWith(`[`)&&t.endsWith(`]`)))return e;try{let n=JSON.parse(t);return typeof n==`object`&&n?n:e}catch{return e}},GC=(e,t=4)=>{if(typeof e==`string`){if(t<=0)return e;let n=WC(e);return n===e?e:GC(n,t-1)}return Array.isArray(e)?e.map(e=>GC(e,t)):typeof e==`object`&&e?Object.fromEntries(Object.entries(e).map(([e,n])=>[e,GC(n,t)])):e},KC=(e,t,n)=>{if(e===void 0)return``;let r=GC(e,n),i=typeof r==`string`?r:JSON.stringify(r);return i===void 0?String(e):UC(i,t)},qC=(e,t)=>{if(typeof e==`object`&&e&&`code`in e){let n=e.code;if(typeof n==`string`)return UC(n,t)}return KC(e,t,4)},JC=(e,t)=>UC(e.filter(e=>e!==void 0&&e!==``).join(` · `),t),YC=(e,t=400,n=4)=>{switch(e.type){case`MessageReceived`:{let n=VC(e.outcome),r=VC(e.from);return JC(n===void 0?[VC(e.text)??``]:[`reply`,`outcome: ${n}`,r===void 0?void 0:`from ${r}`],t)}case`ModelCalled`:return JC([`attempt ${(HC(e.ordinal)??0)+1}`,VC(e.turn)],t);case`TextReturned`:return JC([VC(e.text)??``],t);case`ToolCalled`:return JC([VC(e.name),qC(e.arguments,t)],t);case`ToolReturned`:return JC([VC(e.callId),KC(e.result,t,n)],t);case`CodeDispatched`:{let n=VC(e.code)??``,r=n.length===0?0:n.split(`
|
|
19
19
|
`).length;return JC([VC(e.execId),`${r} ${r===1?`line`:`lines`}`],t)}case`PackageCalled`:return JC([VC(e.name),KC(e.arguments,t,n)],t);case`BlockedOn`:return JC([`awaiting ${VC(e.awaiting)??``}`],t);case`TurnCompleted`:return JC([KC(e.output,t,n)],t);case`TurnFailed`:return JC([VC(e.cause)??`failed`,VC(e.error)],t);case`TurnResumed`:return JC([VC(e.turn),`epoch ${String(HC(e.failedEpoch))} to ${String(HC(e.epoch))}`],t);case`ReplyDelivered`:{let n=VC(e.to);return JC([n===void 0?`no replyTo`:`to ${n}`],t)}case`BudgetExhausted`:return JC([`used ${String(HC(e.used))} of ${String(HC(e.budget))}`],t);case`BudgetRequested`:return JC([`asks ${String(HC(e.amount))}`,VC(e.reason)],t);case`BudgetGranted`:return JC([`granted ${String(HC(e.amount))}`],t);case`BudgetDenied`:return JC([VC(e.reason)??`denied`],t);case`CompactionCompleted`:return JC([`keep from ${VC(e.keepFrom)??``}`,KC(e.summary,t,n)],t);default:return JC([Object.keys(e).filter(e=>e!==`type`).join(`, `)],t)}},XC=(e,t)=>String(e).padStart(t,`0`),ZC=e=>{let t=new Date(e);return`${XC(t.getHours(),2)}:${XC(t.getMinutes(),2)}`},QC=e=>{let t=new Date(e);return`${ZC(e)}:${XC(t.getSeconds(),2)}.${XC(t.getMilliseconds(),3)}`},$C=[`turn`,`traceparent`,`at`],ew={MessageReceived:[`id`,`from`,`replyTo`,`outcome`,`source`,`chat`,`sender`,...$C,`text`,`input`,`output`,`data`],ModelCalled:[`callId`,`ordinal`,`epoch`,...$C],TextReturned:[...$C,`text`],ToolCalled:[`callId`,`name`,...$C,`arguments`,`usage`],ToolReturned:[`callId`,...$C,`result`],CodeDispatched:[`execId`,...$C,`code`],CodeSettled:[`execId`,...$C,`result`,`error`,`logs`],PackageCalled:[`callId`,`name`,...$C,`arguments`],PackageReturned:[`callId`,...$C,`result`],BlockedOn:[`callId`,`awaiting`,...$C],TurnCompleted:[`epoch`,...$C,`output`,`usage`],TurnFailed:[`epoch`,`cause`,`attempts`,`attemptKey`,...$C,`error`,`usage`,`policy`],TurnResumed:[`failedEpoch`,`epoch`,...$C],ReplyDelivered:[`to`,...$C],BudgetExhausted:[`budget`,`used`,...$C],BudgetRequested:[`callId`,`amount`,`reason`,...$C],BudgetGranted:[`callId`,`amount`,...$C],BudgetDenied:[`callId`,`reason`,...$C],CompactionCompleted:[`keepFrom`,...$C,`summary`]},tw=[`at`],nw=(e,t,n)=>{let r=GC(e,n);if(typeof r==`string`)return{text:r,json:!1};if(typeof r!=`object`||!r)return{text:String(r),json:!1};let i=JSON.stringify(r);return i===void 0?{text:String(r),json:!1}:{text:i.length<=t?i:JSON.stringify(r,null,2),json:!0}},rw=(e,t=120,n=4)=>{let r=Object.keys(e).filter(t=>t!==`type`&&e[t]!==void 0),i=ew[e.type]??[],a=[...i.filter(e=>r.includes(e)),...r.filter(e=>!i.includes(e))],o=[];for(let r of a){let i=e[r],a=tw.includes(r)&&typeof i==`number`?{text:QC(i),json:!1}:nw(i,t,n),s=e.type===`CodeDispatched`&&r===`code`?`code`:a.json?`json`:`text`;o.push({key:r,value:a.text,kind:s})}return o},iw=(e,t)=>{if(t.length===0)return e;let n=new Map(e.map(e=>[e.seq,e]));for(let e of t)n.set(e.seq,e);return[...n.values()].sort((e,t)=>e.seq-t.seq)},aw=e=>{if(e<1e3)return`${Math.max(0,Math.round(e))}ms`;let t=Math.round(e/1e3);if(t<60)return`${t}s`;let n=Math.round(t/60);return n<60?`${n}m`:`${Math.round(n/60)}h`},ow=[`CodeSettled`,`PackageReturned`],sw=e=>HC(e.at),cw=(e,t)=>VC(e[t]),lw=e=>{let t=new Map,n=new Map,r=new Map;for(let{event:i}of e){let e=sw(i);if(e===void 0)continue;let a=i.type===`CodeSettled`?cw(i,`execId`):i.type===`PackageReturned`?cw(i,`callId`):i.type===`MessageReceived`?cw(i,`id`):void 0;a!==void 0&&(i.type===`CodeSettled`?t.set(a,e):i.type===`PackageReturned`?n.set(a,e):r.has(a)||r.set(a,e))}return{execs:t,calls:n,turns:r}},uw=e=>{let{calls:t,execs:n,turns:r}=lw(e),i=e=>{let i=sw(e);if(i!==void 0){if(e.type===`CodeDispatched`){let t=n.get(cw(e,`execId`)??``);return t===void 0?void 0:t-i}if(e.type===`PackageCalled`){let n=t.get(cw(e,`callId`)??``);return n===void 0?void 0:n-i}if(e.type===`TurnCompleted`){let t=r.get(cw(e,`turn`)??``);return t===void 0?void 0:i-t}}};return e.filter(({event:e})=>!ow.includes(e.type)).map(({event:e,seq:t})=>{let n=sw(e),r=i(e);return{seq:t,event:e,at:n,summary:YC(e),time:n===void 0?``:ZC(n),duration:r===void 0?void 0:aw(r)}})},dw=e=>{if(e===null)return;let t=Number(e);return Number.isFinite(t)&&t>=0&&t<=1?t:void 0},fw=e=>{let t=new URLSearchParams(e),n=t.get(`thread`),r=t.get(`actor`),i=t.get(`view`),a=t.get(`operation`);return{actor:r===null||r.length===0?void 0:r,thread:n===null||n.length===0?void 0:n,view:i===`api`?i:void 0,operation:a===null||a.length===0?void 0:a,from:dw(t.get(`from`)),to:dw(t.get(`to`))}},pw=e=>fw(e),mw=(e,t={})=>{let n=new URLSearchParams(location.search),r=(e,t)=>{t===void 0?n.delete(e):n.set(e,String(t))};`thread`in e&&r(`thread`,e.thread),`actor`in e&&r(`actor`,e.actor),`view`in e&&r(`view`,e.view),`operation`in e&&r(`operation`,e.operation),`from`in e&&r(`from`,e.from),`to`in e&&r(`to`,e.to);let i=n.toString(),a=`${location.pathname}${i.length===0?``:`?${i}`}`;t.replace===!0?history.replaceState(null,``,a):history.pushState(null,``,a),dispatchEvent(new PopStateEvent(`popstate`))},hw=e=>(addEventListener(`popstate`,e),()=>removeEventListener(`popstate`,e)),gw=()=>{let e=(0,_.useCallback)(()=>location.search,[]);return pw((0,_.useSyncExternalStore)(hw,e,()=>``))},_w={from:0,to:1},vw=e=>e.map(e=>e.at).filter(e=>e!==void 0),yw=e=>{let t=vw(e),n=t.length===0?0:Math.min(...t),r=t.length===0?0:Math.max(...t);return{lo:n,hi:r,span:r-n===0?1:r-n}},bw=(e,t)=>Math.min(1,Math.max(0,(t-e.lo)/e.span)),xw=(e,t)=>e.lo+e.span*t,Sw=(e,t,n=56)=>{let r=Array.from({length:n},()=>0);for(let i of vw(e)){let e=Math.min(n-1,Math.max(0,Math.floor(bw(t,i)*n)));r[e]=(r[e]??0)+1}return r},Cw=(e,t,n)=>{if(n.at===void 0)return!0;let r=bw(t,n.at);return r>=e.from&&r<=e.to},ww=(e,t,n)=>e.filter(e=>Cw(n,t,e)),Tw=(e,t=50)=>{let n=vw(e);if(n.length<=t)return _w;let r=yw(e),i=n[n.length-t];return i===void 0?_w:{from:bw(r,i),to:1}},Ew=(e,t,n,r=MC)=>{let i=Math.min(1,Math.max(0,n));return t===`from`?{from:Math.min(i,e.to-r),to:e.to}:{from:e.from,to:Math.max(i,e.from+r)}},Dw=(e,t=4)=>({from:Number(e.from.toFixed(t)),to:Number(e.to.toFixed(t))}),Ow=(e,t,n,r)=>({range:`${ZC(xw(e,t.from))} → ${ZC(xw(e,t.to))}`,count:`${n}/${r}`}),kw=(e,t=16)=>e.map(e=>`${e.time} ${e.event.type.padEnd(t)} ${e.summary}`).join(`
|
|
20
20
|
`),Aw=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),$=o(((e,t)=>{t.exports=Aw()}))(),jw=async e=>{try{return await navigator.clipboard.writeText(e),!0}catch{let t=document.createElement(`textarea`);t.value=e,t.style.position=`fixed`,t.style.opacity=`0`,document.body.appendChild(t),t.select();let n=document.execCommand(`copy`);return t.remove(),n}},Mw=({text:e,confirmMs:t})=>{let[n,r]=(0,_.useState)(!1);return(0,_.useEffect)(()=>{if(!n)return;let e=setTimeout(()=>r(!1),t);return()=>clearTimeout(e)},[n,t]),(0,$.jsx)(`button`,{type:`button`,className:`icon-btn${n?` icon-btn-done`:``}`,"aria-label":`Copy the window's events`,title:`Copy the window's events`,onClick:()=>{jw(e).then(e=>{e&&r(!0)})},children:n?(0,$.jsx)(C,{size:15,weight:`light`,"aria-hidden":`true`}):(0,$.jsx)(pe,{size:15,weight:`light`,"aria-hidden":`true`})})},Nw=({edge:e,fraction:t,onDrag:n,onStep:r})=>(0,$.jsx)(`div`,{role:`slider`,tabIndex:0,"aria-label":e===`from`?`Window start`:`Window end`,"aria-valuemin":0,"aria-valuemax":1,"aria-valuenow":t,className:`window-handle`,style:{left:`${t*100}%`},onPointerDown:n,onKeyDown:e=>{let t=e.key===`ArrowLeft`?-NC:e.key===`ArrowRight`?NC:0;t!==0&&(e.preventDefault(),r(t))},children:(0,$.jsx)(`div`,{className:`window-grip`})}),Pw=({axis:e,moments:t,onChange:n,shown:r,window:i})=>{let a=(0,_.useRef)(null),o=Sw(t,e),s=Math.max(1,...o),c=Ow(e,i,r.length,t.length),l=e=>t=>{t.preventDefault();let r=a.current?.getBoundingClientRect();if(r===void 0||r.width===0)return;let o=i,s=t=>{o=Ew(o,e,(t.clientX-r.left)/r.width),n(o)},c=()=>{removeEventListener(`pointermove`,s),removeEventListener(`pointerup`,c)};addEventListener(`pointermove`,s),addEventListener(`pointerup`,c)};return(0,$.jsxs)(`div`,{className:`window`,children:[(0,$.jsxs)(`div`,{className:`window-head`,children:[(0,$.jsx)(`span`,{className:`window-eyebrow`,children:`window`}),(0,$.jsxs)(`span`,{className:`window-actions`,children:[(0,$.jsxs)(`span`,{className:`mono window-readout`,children:[c.range,` `,(0,$.jsxs)(`span`,{className:`window-count`,children:[`· `,c.count]})]}),(0,$.jsx)(Mw,{text:kw(r),confirmMs:PC})]})]}),(0,$.jsxs)(`div`,{ref:a,className:`window-track`,style:{height:34},children:[(0,$.jsx)(`div`,{className:`window-bars`,children:o.map((e,t)=>{let n=(t+.5)/o.length,r=n>=i.from&&n<=i.to,a=e===0?6:12+e/s*88;return(0,$.jsx)(`div`,{className:`window-bar${r?` window-bar-inside`:``}`,style:{height:`${a}%`}},t)})}),(0,$.jsx)(`div`,{className:`window-selection`,style:{left:`${i.from*100}%`,right:`${(1-i.to)*100}%`}}),(0,$.jsx)(Nw,{edge:`from`,fraction:i.from,onDrag:l(`from`),onStep:e=>n(Ew(i,`from`,i.from+e))}),(0,$.jsx)(Nw,{edge:`to`,fraction:i.to,onDrag:l(`to`),onStep:e=>n(Ew(i,`to`,i.to+e))})]}),(0,$.jsx)(`div`,{className:`mono window-marks`,children:Array.from({length:4},(e,t)=>t/3).map(t=>(0,$.jsx)(`span`,{children:ZC(xw(e,t))},t))})]})},Fw=e=>e instanceof rC?e:new rC({title:String(e),status:0}),Iw=e=>e[e.length-1]?.seq??0,Lw=(e,t,n)=>{let[r,i]=(0,_.useState)([]),[a,o]=(0,_.useState)(void 0),[s,c]=(0,_.useState)(!1),[l,u]=(0,_.useState)(!1),d=(0,_.useRef)(0);return(0,_.useEffect)(()=>{let n=kC(e),r=!0,a;return i([]),u(!1),(async()=>{try{let e=await n.events(t);if(!r)return;d.current=Iw(e),i(e),o(void 0),u(!0),c(!1),a=n.follow(t,{after:d.current,onEvent:e=>{d.current=Math.max(d.current,e.seq),i(t=>iw(t,[e]))},onError:()=>c(!0)})}catch(e){if(!r)return;o(Fw(e)),u(!0)}})(),()=>{r=!1,a?.()}},[e,t]),(0,_.useEffect)(()=>{if(!s)return;let r=kC(e),a=setInterval(()=>{r.events(t,{after:d.current}).then(e=>{d.current=Math.max(d.current,Iw(e)),i(t=>iw(t,e))}).catch(e=>o(Fw(e)))},n);return()=>clearInterval(a)},[e,t,s,n]),{rows:r,problem:a,dropped:s,loaded:l}},Rw=e=>e.from===void 0&&e.to===void 0?void 0:{from:e.from??0,to:e.to??1},zw=({collapsedHeight:e,field:t})=>{let n=(0,_.useRef)(null),[r,i]=(0,_.useState)(!1),[a,o]=(0,_.useState)(!1);(0,_.useLayoutEffect)(()=>{let t=n.current;if(t===null)return;let r=()=>o(t.scrollHeight>e+1);if(r(),typeof ResizeObserver!=`function`)return;let i=new ResizeObserver(r);return i.observe(t),()=>i.disconnect()},[e,t.value]);let s=`mono event-value${t.kind===`code`?` event-code`:t.kind===`json`?` event-json`:``}`;return(0,$.jsxs)(`div`,{className:`event-value-frame`,style:{maxWidth:660},children:[(0,$.jsx)(`div`,{ref:n,className:s,style:r?void 0:{maxHeight:e,overflow:`hidden`},children:t.value}),a?r?(0,$.jsx)(`button`,{type:`button`,className:`field-toggle`,onClick:()=>i(!1),children:`Show less`}):(0,$.jsx)(`div`,{className:`field-more`,children:(0,$.jsx)(`button`,{type:`button`,className:`field-toggle`,onClick:()=>i(!0),children:`Show more`})}):null]})},Bw=({collapsedHeight:e,headerHeight:t,moment:n,onClose:r,width:i})=>{let a=BC(n.event.type);return(0,$.jsxs)(`aside`,{className:`event-inspector`,style:{width:i},"aria-label":`${n.event.type} event details`,children:[(0,$.jsxs)(`div`,{className:`event-inspector-head`,style:{height:t},children:[(0,$.jsxs)(`div`,{className:`event-inspector-title`,children:[(0,$.jsx)(`span`,{className:`mono event-stamp`,style:{background:a.bg,color:a.fg},children:n.event.type}),(0,$.jsxs)(`span`,{className:`mono event-inspector-seq`,children:[`event `,n.seq]})]}),(0,$.jsx)(`button`,{type:`button`,className:`icon-btn`,"aria-label":`Close event details`,title:`Close event details`,onClick:r,children:(0,$.jsx)(be,{size:15,weight:`light`})})]}),(0,$.jsx)(`div`,{className:`event-detail`,children:rw(n.event).map(t=>(0,$.jsxs)(_.Fragment,{children:[(0,$.jsx)(`span`,{className:`mono event-key`,children:t.key}),(0,$.jsx)(zw,{field:t,collapsedHeight:e})]},t.key))})]})},Vw=({moment:e,onSelect:t,selected:n,stampWidth:r})=>{let i=BC(e.event.type);return(0,$.jsx)(`div`,{children:(0,$.jsxs)(`div`,{role:`button`,tabIndex:0,"aria-pressed":n,className:`event-row${n?` event-row-selected`:``}`,onClick:t,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())},children:[(0,$.jsx)(`span`,{className:`mono event-stamp`,style:{background:i.bg,color:i.fg,width:r},children:e.event.type}),(0,$.jsx)(`span`,{className:`event-text`,children:e.summary}),(0,$.jsxs)(`span`,{className:`mono event-time`,children:[e.time,e.duration===void 0?``:` · ${e.duration}`]})]})})},Hw=({problem:e})=>(0,$.jsxs)(`div`,{className:`problem`,style:{margin:`0 var(--space-5) var(--space-3)`},children:[(0,$.jsx)(`div`,{className:`problem-title`,children:e.title}),e.detail===void 0?null:(0,$.jsx)(`div`,{className:`problem-detail`,children:e.detail})]}),Uw=({id:e,status:t})=>(0,$.jsxs)(`div`,{className:`thread-head`,children:[(0,$.jsx)(`span`,{className:`mono`,style:{fontSize:`var(--text-dense)`,fontWeight:500},children:e}),t===void 0?null:(0,$.jsx)(`span`,{className:`chip chip-${t}${t===`running`?` breathe`:``}`,children:t})]}),Ww=({actor:e,fieldCollapsedHeight:t=320,headerHeight:n=64,id:r,inspectorWidth:i=480,stampWidth:a=164,status:o})=>{let s=gw(),[c,l]=(0,_.useState)(Rw(s)),[u,d]=(0,_.useState)(void 0),{dropped:f,loaded:p,problem:m,rows:h}=Lw(e,r,jC),g=(0,_.useRef)(null),v=(0,_.useRef)(!0),y=(0,_.useRef)(!1);(0,_.useEffect)(()=>{d(void 0),v.current=!0,y.current=!1},[e,r]),(0,_.useEffect)(()=>{if(u===void 0)return;let e=e=>{e.key===`Escape`&&d(void 0)};return addEventListener(`keydown`,e),()=>removeEventListener(`keydown`,e)},[u]),(0,_.useEffect)(()=>{l(Rw(s))},[s.from,s.to]),(0,_.useEffect)(()=>{let e=g.current;e===null||!v.current||(e.scrollTop=e.scrollHeight)},[h]);let b=uw(h),x=yw(b);(0,_.useEffect)(()=>{if(y.current||!p||h.length===0||(y.current=!0,c!==void 0))return;let e=Dw(Tw(uw(h)));l(e),mw({from:e.from,to:e.to},{replace:!0})},[p,h,c]);let ee=c??_w,te=ww(b,x,ee),S=u===void 0?void 0:b.find(e=>e.seq===u);return m!==void 0&&m.status===404?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`pane-chrome`,style:{height:n},children:(0,$.jsx)(Uw,{id:r,status:o})}),(0,$.jsx)(Hw,{problem:m})]}):(0,$.jsxs)(`div`,{className:`thread-view`,children:[(0,$.jsxs)(`section`,{className:`thread-trace`,children:[(0,$.jsx)(`div`,{className:`pane-chrome`,style:{height:n},children:(0,$.jsx)(Uw,{id:r,status:o})}),(0,$.jsx)(Pw,{axis:x,moments:b,shown:te,window:ee,onChange:e=>{l(e);let t=Dw(e);mw({from:t.from,to:t.to},{replace:!0})}}),m===void 0?null:(0,$.jsx)(Hw,{problem:m}),f?(0,$.jsx)(`div`,{className:`mono stream-note`,children:`stream dropped; polling`}):null,(0,$.jsx)(`div`,{ref:g,className:`events`,onScroll:()=>{let e=g.current;e!==null&&(v.current=e.scrollHeight-e.scrollTop-e.clientHeight<=24)},children:te.length===0?p&&m===void 0?(0,$.jsx)(`div`,{className:`mono pane-empty`,children:b.length===0?`no events yet`:`no events in the window`}):null:te.map(e=>(0,$.jsx)(Vw,{moment:e,selected:u===e.seq,stampWidth:a,onSelect:()=>d(u===e.seq?void 0:e.seq)},e.seq))})]}),S===void 0?null:(0,$.jsx)(Bw,{moment:S,collapsedHeight:t,headerHeight:n,width:i,onClose:()=>d(void 0)})]})},Gw=[`get`,`post`,`put`,`patch`,`delete`,`options`,`head`],Kw=e=>typeof e==`object`&&e&&!Array.isArray(e)?e:void 0,qw=e=>typeof e==`string`?e:void 0,Jw=e=>Kw(e),Yw=e=>Object.entries(Kw(e)??{}).map(([e,t])=>({mediaType:e,schema:Jw(Kw(t)?.schema)})),Xw=e=>Array.isArray(e)?e.flatMap(e=>{let t=Kw(e),n=qw(t?.name),r=qw(t?.in);return n===void 0||r===void 0?[]:[{name:n,in:r,required:t?.required===!0,description:qw(t?.description),schema:Jw(t?.schema)}]}):[],Zw=e=>Object.entries(Kw(e)??{}).map(([e,t])=>{let n=Kw(t);return{status:e,description:qw(n?.description)??`Response`,content:Yw(n?.content)}}),Qw=(e,t)=>`${e}:${t}`,$w=e=>{let t=Kw(e)??{},n=Kw(t.info)??{},r=[];for(let[e,n]of Object.entries(Kw(t.paths)??{})){let t=Kw(n)??{};for(let n of Gw){let i=Kw(t[n]);if(i===void 0)continue;let a=Array.isArray(i.tags)?i.tags:[],o=Kw(i.requestBody);r.push({key:Qw(n,e),method:n,path:e,tag:qw(a[0])??`other`,operationId:qw(i.operationId),summary:qw(i.summary),description:qw(i.description),parameters:Xw(i.parameters),request:Yw(o?.content),responses:Zw(i.responses)})}}let i=Kw(Kw(t.components)?.schemas)??{};return{title:qw(n.title)??`API`,version:qw(n.version),description:qw(n.description),operations:r,schemas:i}},eT=e=>{let t=new Map;for(let n of e){let e=t.get(n.tag)??[];e.push(n),t.set(n.tag,e)}return[...t.entries()]},tT=(e,t)=>{let n=t.trim().toLocaleLowerCase();return n.length===0||[e.method,e.path,e.tag,e.operationId,e.summary].some(e=>e?.toLocaleLowerCase().includes(n)===!0)},nT=e=>e.$ref?.split(`/`).at(-1),rT=(e,t)=>{let n=nT(e);return n===void 0?e:t[n]??e},iT=e=>{let t=nT(e);return t===void 0?e.enum===void 0?e.anyOf===void 0?e.type===`array`&&e.items!==void 0?`${iT(e.items)}[]`:e.type??`unknown`:e.anyOf.map(iT).join(` | `):e.enum.map(String).join(` | `):t},aT=(e,t,n)=>{let r=rT(e,t);return r.enum===void 0?r.anyOf!==void 0&&r.anyOf[0]!==void 0?aT(r.anyOf[0],t,n):r.allOf===void 0?n<=0?r.type===`array`?[]:r.type===`object`?{}:null:r.type===`array`?r.items===void 0?[]:[aT(r.items,t,n-1)]:r.type===`object`||r.properties!==void 0?Object.fromEntries(Object.entries(r.properties??{}).map(([e,r])=>[e,aT(r,t,n-1)])):r.type===`integer`||r.type===`number`?0:r.type===`boolean`||`string`:Object.assign({},...r.allOf.map(e=>aT(e,t,n))):r.enum[0]},oT=()=>(0,$.jsxs)(`div`,{className:`rail-wordmark`,children:[(0,$.jsx)(`span`,{children:`Tardigrade`}),(0,$.jsx)(`span`,{className:`mono rail-product-context`,children:`[voyager]`})]}),sT=`voyager.theme`,cT=e=>e===`light`||e===`dark`,lT=()=>{if(typeof localStorage>`u`)return;let e=localStorage.getItem(sT);return cT(e)?e:void 0},uT=()=>typeof matchMedia==`function`&&matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`,dT=e=>{document.documentElement.dataset.theme=e},fT=()=>{let e=lT(),[t,n]=(0,_.useState)(()=>e??uT()),[r,i]=(0,_.useState)(e===void 0);return(0,_.useEffect)(()=>{if(!r||typeof matchMedia!=`function`)return;let e=matchMedia(`(prefers-color-scheme: dark)`),t=()=>n(e.matches?`dark`:`light`);return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[r]),{theme:t,toggle:()=>{let e=t===`dark`?`light`:`dark`;i(!1),n(e),dT(e),typeof localStorage<`u`&&localStorage.setItem(sT,e)}}},pT=({className:e=`icon-btn`,label:t}={})=>{let{theme:n,toggle:r}=fT();return(0,$.jsxs)(`button`,{type:`button`,className:e,onClick:r,"aria-label":n===`dark`?`Switch to the light theme`:`Switch to the dark theme`,title:`Toggle theme`,children:[n===`dark`?(0,$.jsx)(_e,{size:15,weight:`light`,"aria-hidden":`true`}):(0,$.jsx)(ve,{size:15,weight:`light`,"aria-hidden":`true`}),t]})},mT=e=>e===void 0?`api-overview`:`api-${e}`,hT=e=>{mw({operation:e}),globalThis.document.getElementById(mT(e))?.scrollIntoView({block:`start`})},gT=()=>{let[e,t]=(0,_.useState)(void 0),[n,r]=(0,_.useState)(void 0);return(0,_.useEffect)(()=>{let e=new AbortController;return fetch(`${DC.baseUrl}${kS}`,{signal:e.signal}).then(async e=>{if(!e.ok)throw Error(`API description returned ${e.status}`);return e.json()}).then(e=>{t($w(e)),r(void 0)}).catch(t=>{e.signal.aborted||r(t instanceof Error?t.message:String(t))}),()=>e.abort()},[]),{document:e,problem:n}},_T=({depth:e,schema:t,schemas:n})=>{let r=rT(t,n),i=r.type===`array`&&r.items!==void 0?rT(r.items,n):r,a=Object.entries(i.properties??{}),o=new Set(i.required??[]);return(0,$.jsxs)(`div`,{className:`api-schema`,children:[(0,$.jsx)(`span`,{className:`mono api-type`,children:iT(t)}),a.length===0?null:e<=0?(0,$.jsx)(`div`,{className:`mono api-schema-cut`,children:`nested fields hidden at depth 0`}):(0,$.jsx)(`div`,{className:`api-properties`,children:a.map(([t,r])=>{let i=rT(r,n),a=i.properties!==void 0||i.items!==void 0;return(0,$.jsxs)(`div`,{className:`api-property`,children:[(0,$.jsxs)(`div`,{className:`api-property-line`,children:[(0,$.jsx)(`span`,{className:`mono api-property-name`,children:t}),(0,$.jsx)(`span`,{className:`mono api-property-type`,children:iT(r)}),o.has(t)?(0,$.jsx)(`span`,{className:`api-required`,children:`required`}):(0,$.jsx)(`span`,{className:`api-optional`,children:`optional`})]}),r.description===void 0?null:(0,$.jsx)(`p`,{children:r.description}),a?(0,$.jsx)(_T,{schema:r,schemas:n,depth:e-1}):null]},t)})})]})},vT=({content:e,depth:t,schemas:n})=>(0,$.jsx)(`div`,{className:`api-content-list`,children:e.map(e=>(0,$.jsxs)(`div`,{className:`api-content`,children:[(0,$.jsx)(`div`,{className:`mono api-media-type`,children:e.mediaType}),e.schema===void 0?null:(0,$.jsx)(_T,{schema:e.schema,schemas:n,depth:t})]},e.mediaType))}),yT=({depth:e,document:t,operation:n})=>{let r=n.request[0],i=n.responses.find(e=>e.status.startsWith(`2`))??n.responses[0],a=i?.content[0],o=n.parameters.filter(e=>e.in===`header`),s=n.parameters.filter(e=>e.in!==`header`),c=r?.schema===void 0?void 0:aT(r.schema,t.schemas,e),l=a?.schema===void 0?void 0:aT(a.schema,t.schemas,e),u=[`curl ${DC.baseUrl}${n.path}`,...n.method===`get`?[]:[` --request ${n.method.toUpperCase()}`],` --header 'Accept: application/json'`,...c===void 0?[]:[` --header 'Content-Type: ${r?.mediaType??`application/json`}'`,` --data '${JSON.stringify(c,null,2)}'`]].join(` \\
|
|
21
|
-
`);return(0,$.jsxs)(`section`,{className:`api-endpoint`,id:`api-${n.key}`,children:[(0,$.jsxs)(`header`,{className:`api-detail-head`,children:[(0,$.jsx)(`h2`,{className:`mono`,children:n.path}),n.operationId===void 0?null:(0,$.jsx)(`div`,{className:`mono api-operation-id`,children:n.operationId}),n.summary===void 0?null:(0,$.jsx)(`p`,{children:n.summary}),n.description===void 0?null:(0,$.jsx)(`p`,{children:n.description})]}),(0,$.jsxs)(`div`,{className:`api-operation-grid`,children:[(0,$.jsxs)(`div`,{className:`api-operation-docs`,children:[(0,$.jsxs)(`section`,{className:`api-section api-headers-section`,children:[(0,$.jsx)(`h3`,{children:`Headers`}),(0,$.jsxs)(`div`,{className:`api-header-line`,children:[(0,$.jsx)(`span`,{className:`mono api-property-name`,children:`Accept`}),(0,$.jsx)(`span`,{className:`mono api-header-example`,children:a?.mediaType??`*/*`})]}),o.map(e=>(0,$.jsxs)(`div`,{className:`api-header-line`,children:[(0,$.jsx)(`span`,{className:`mono api-property-name`,children:e.name}),(0,$.jsx)(`span`,{className:`mono api-header-example`,children:e.schema===void 0?`unknown`:iT(e.schema)})]},e.name))]}),s.length===0?null:(0,$.jsxs)(`section`,{className:`api-section api-parameters-section`,children:[(0,$.jsx)(`h3`,{children:`Parameters`}),(0,$.jsx)(`div`,{className:`api-parameters`,children:s.map(e=>(0,$.jsxs)(`div`,{className:`api-parameter`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`span`,{className:`mono api-property-name`,children:e.name}),(0,$.jsx)(`span`,{className:`mono api-parameter-in`,children:e.in})]}),(0,$.jsx)(`div`,{className:`mono api-property-type`,children:e.schema===void 0?`unknown`:iT(e.schema)}),(0,$.jsx)(`span`,{className:e.required?`api-required`:`api-optional`,children:e.required?`required`:`optional`}),e.description===void 0?null:(0,$.jsx)(`p`,{children:e.description})]},`${e.in}:${e.name}`))})]}),n.request.length===0?null:(0,$.jsxs)(`section`,{className:`api-section api-request-section`,children:[(0,$.jsx)(`h3`,{children:`Request body`}),(0,$.jsx)(vT,{content:n.request,schemas:t.schemas,depth:e})]}),(0,$.jsxs)(`section`,{className:`api-section`,children:[(0,$.jsx)(`h3`,{children:`Responses`}),(0,$.jsx)(`div`,{className:`api-responses`,children:n.responses.map(n=>(0,$.jsxs)(`details`,{className:`api-response`,children:[(0,$.jsxs)(`summary`,{className:`api-response-head`,children:[(0,$.jsx)(`span`,{className:`mono api-status${n.status.startsWith(`2`)?` api-status-ok`:``}`,children:n.status}),(0,$.jsx)(`span`,{children:n.description})]}),n.content.length===0?null:(0,$.jsx)(vT,{content:n.content,schemas:t.schemas,depth:e})]},n.status))})]})]}),(0,$.jsxs)(`aside`,{className:`api-operation-examples`,children:[(0,$.jsxs)(`section`,{className:`api-code-card`,children:[(0,$.jsxs)(`div`,{className:`api-code-head`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`span`,{className:`mono api-method api-method-${n.method}`,children:n.method.toUpperCase()}),(0,$.jsx)(`span`,{className:`mono`,children:n.path})]}),(0,$.jsx)(`span`,{className:`mono`,children:`Shell Curl`})]}),(0,$.jsx)(`pre`,{children:(0,$.jsx)(`code`,{children:u})})]}),l===void 0?null:(0,$.jsxs)(`section`,{className:`api-code-card`,children:[(0,$.jsxs)(`div`,{className:`api-code-head`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`span`,{className:`mono api-status api-status-ok`,children:i?.status}),(0,$.jsx)(`span`,{children:i?.description})]}),(0,$.jsx)(`span`,{className:`mono`,children:a?.mediaType})]}),(0,$.jsx)(`pre`,{children:(0,$.jsx)(`code`,{children:JSON.stringify(l,null,2)})})]})]})]})]})},bT=({document:e})=>(0,$.jsxs)(`section`,{className:`api-overview`,id:`api-overview`,children:[(0,$.jsx)(`div`,{className:`mono api-eyebrow`,children:`API reference`}),(0,$.jsx)(`h1`,{children:e.title}),e.version===void 0?null:(0,$.jsxs)(`span`,{className:`mono api-version`,children:[`v`,e.version]}),e.description===void 0?null:(0,$.jsx)(`p`,{children:e.description}),(0,$.jsxs)(`dl`,{className:`api-facts`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{children:`Base URL`}),(0,$.jsx)(`dd`,{className:`mono`,children:DC.baseUrl})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{children:`Operations`}),(0,$.jsx)(`dd`,{className:`mono`,children:e.operations.length})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{children:`Specification`}),(0,$.jsx)(`dd`,{className:`mono`,children:`OpenAPI 3.1`})]})]})]}),xT=({depth:e,document:t})=>(0,$.jsxs)(`article`,{className:`api-detail api-operation-detail`,children:[(0,$.jsx)(bT,{document:t}),eT(t.operations).map(([n,r])=>(0,$.jsxs)(`section`,{className:`api-resource`,children:[(0,$.jsxs)(`div`,{className:`api-tag-overview`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`mono api-eyebrow`,children:`Resource`}),(0,$.jsx)(`h1`,{children:n})]}),(0,$.jsxs)(`div`,{className:`api-operations-card`,children:[(0,$.jsx)(`div`,{className:`api-card-title`,children:`Operations`}),(0,$.jsx)(`div`,{className:`api-operations-list`,children:r.map(e=>(0,$.jsxs)(`button`,{type:`button`,onClick:()=>hT(e.key),children:[(0,$.jsx)(`span`,{className:`mono api-method api-method-${e.method}`,children:e.method.toUpperCase()}),(0,$.jsx)(`span`,{className:`mono`,children:e.path})]},e.key))})]})]}),r.map(n=>(0,$.jsx)(yT,{operation:n,document:t,depth:e},n.key))]},n))]}),ST=({headerHeight:e=64,navWidth:t=236,schemaDepth:n=3})=>{let r=gw(),{document:i,problem:a}=gT(),[o,s]=(0,_.useState)(``),c=(0,_.useRef)(!1),l=(0,_.useRef)(r.operation);l.current=r.operation;let u=(0,_.useMemo)(()=>i?.operations.filter(e=>tT(e,o))??[],[i,o]),d=i?.operations.find(e=>e.key===r.operation);return(0,_.useEffect)(()=>{if(i!==void 0){if(c.current){c.current=!1;return}globalThis.document.getElementById(mT(r.operation))?.scrollIntoView({block:`start`})}},[i,r.operation]),(0,_.useEffect)(()=>{if(i===void 0)return;let e=globalThis.document.querySelector(`.api-reading`);if(e===null)return;let t,n=[],r=globalThis.document.getElementById(mT(void 0));r!==null&&n.push([void 0,r]);for(let e of i.operations){let t=globalThis.document.getElementById(mT(e.key));t!==null&&n.push([e.key,t])}let a=()=>{t!==void 0&&cancelAnimationFrame(t),t=requestAnimationFrame(()=>{let t=e.getBoundingClientRect().top,r;for(let[e,i]of n){let n=Number.parseFloat(getComputedStyle(i).scrollMarginTop)||0;if(i.getBoundingClientRect().top>t+n)break;r=e}r!==l.current&&(l.current=r,c.current=!0,mw({operation:r},{replace:!0}))})};return e.addEventListener(`scroll`,a,{passive:!0}),a(),()=>{e.removeEventListener(`scroll`,a),t!==void 0&&cancelAnimationFrame(t)}},[i]),(0,$.jsxs)(`div`,{className:`api-view`,children:[(0,$.jsxs)(`aside`,{className:`api-nav`,style:{width:t},children:[(0,$.jsx)(`div`,{className:`pane-chrome`,style:{height:e},children:(0,$.jsxs)(`div`,{className:`actor-head`,children:[(0,$.jsxs)(`div`,{className:`actor-identity`,children:[(0,$.jsx)(oT,{}),(0,$.jsx)(`div`,{className:`mono actor-label`,children:`api`})]}),(0,$.jsx)(`button`,{type:`button`,className:`icon-btn`,"aria-label":`Back to Voyager`,title:`Back to Voyager`,onClick:()=>mw({view:void 0,operation:void 0},{replace:!0}),children:(0,$.jsx)(se,{size:15,weight:`light`,"aria-hidden":`true`})})]})}),(0,$.jsxs)(`label`,{className:`api-search-wrap`,children:[(0,$.jsx)(he,{size:15,weight:`light`,"aria-hidden":`true`}),(0,$.jsx)(`input`,{value:o,placeholder:`search endpoints…`,"aria-label":`search API endpoints`,onChange:e=>s(e.target.value)})]}),(0,$.jsxs)(`nav`,{className:`api-nav-list`,"aria-label":`API endpoints`,children:[(0,$.jsx)(`button`,{type:`button`,className:`api-overview-link${r.operation===void 0?` api-nav-selected`:``}`,onClick:()=>hT(void 0),children:`Overview`}),eT(u).map(([e,t])=>(0,$.jsxs)(`section`,{className:`api-group`,children:[(0,$.jsx)(`h2`,{className:`mono`,children:e}),t.map(e=>(0,$.jsxs)(`button`,{type:`button`,className:`api-nav-row${d?.key===e.key?` api-nav-selected`:``}`,onClick:()=>hT(e.key),children:[(0,$.jsx)(`span`,{className:`mono api-method api-method-${e.method}`,children:e.method.toUpperCase()}),(0,$.jsx)(`span`,{className:`mono api-nav-path`,children:e.path})]},e.key))]},e))]}),(0,$.jsxs)(`div`,{className:`actor-footer`,children:[(0,$.jsxs)(`button`,{type:`button`,className:`actor-api actor-api-active`,"aria-current":`page`,onClick:()=>hT(void 0),children:[(0,$.jsx)(de,{size:15,weight:`light`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{children:`API`})]}),(0,$.jsx)(pT,{className:`actor-api`,label:(0,$.jsx)(`span`,{children:`Theme`})})]})]}),(0,$.jsx)(`main`,{className:`api-reading`,children:a===void 0?i===void 0?(0,$.jsx)(`div`,{className:`mono pane-empty`,children:`loading API description`}):(0,$.jsx)(xT,{document:i,depth:n}):(0,$.jsxs)(`div`,{className:`problem api-load-problem`,children:[(0,$.jsx)(`div`,{className:`problem-title`,children:`API description unavailable`}),(0,$.jsx)(`div`,{className:`problem-detail`,children:a})]})})]})},CT=(e,t)=>({cli:`tdg run "Tell me what you can do" --actor ${t} --url ${e}`,curl:`curl -X POST ${e}/v1/actors/default/threads/hello/events \\\n+ -H 'content-type: application/json' \\\n+ -d '{"id":"hello-1","type":"MessageReceived","text":"Tell me what you can do"}'`}),wT=(e,t=`default`)=>{let n=CT(e,t);return{...n,curl:n.curl.replace(`/v1/actors/default/`,`/v1/actors/${encodeURIComponent(t)}/`)}},TT=async e=>{try{return await navigator.clipboard.writeText(e),!0}catch{let t=document.createElement(`textarea`);t.value=e,t.style.position=`fixed`,t.style.opacity=`0`,document.body.appendChild(t),t.select();let n=document.execCommand(`copy`);return t.remove(),n}},ET=({command:e,label:t})=>{let[n,r]=(0,_.useState)(!1);return(0,_.useEffect)(()=>{if(!n)return;let e=setTimeout(()=>r(!1),PC);return()=>clearTimeout(e)},[n]),(0,$.jsxs)(`section`,{className:`quickstart-card`,children:[(0,$.jsxs)(`div`,{className:`quickstart-card-head`,children:[(0,$.jsx)(`span`,{className:`mono quickstart-label`,children:t}),(0,$.jsxs)(`button`,{type:`button`,className:`quickstart-copy${n?` quickstart-copy-done`:``}`,"aria-label":`Copy ${t} quickstart`,onClick:()=>{TT(e).then(e=>{e&&r(!0)})},children:[n?(0,$.jsx)(C,{size:15,weight:`light`,"aria-hidden":`true`}):(0,$.jsx)(pe,{size:15,weight:`light`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{children:n?`copied`:`copy`})]})]}),(0,$.jsx)(`pre`,{className:`quickstart-code`,children:(0,$.jsx)(`code`,{children:e})})]})},DT=({actor:e=`default`})=>{let t=wT(DC.baseUrl,e);return(0,$.jsx)(`div`,{className:`quickstart-empty`,children:(0,$.jsxs)(`div`,{className:`quickstart`,children:[(0,$.jsxs)(`div`,{className:`quickstart-intro`,children:[(0,$.jsx)(`h1`,{children:`Start your first run`}),(0,$.jsx)(`p`,{children:`Agent traces will appear here once a run starts.`})]}),(0,$.jsxs)(`div`,{className:`quickstart-grid`,children:[(0,$.jsx)(ET,{label:`CLI`,command:t.cli}),(0,$.jsx)(ET,{label:`curl`,command:t.curl})]})]})})},OT={roots:[]},kT=e=>e.roots.at(-1),AT=(e,t)=>{let n=new Set([e]),r=e;for(;;){let e=t.get(r);if(e===void 0||n.has(e))return r;n.add(e),r=e}},jT=e=>{let t=new Map(e.map(e=>[e.id,e.parent])),n=new Map;for(let r of e){if(r.parent===void 0)continue;let e=AT(r.id,t);n.set(e,(n.get(e)??0)+1)}return{roots:e.filter(e=>e.parent===void 0).map(e=>({id:e.id,status:e.status,events:e.events,lastAt:e.lastAt,family:n.get(e.id)??0}))}},MT=(e,t)=>e.toLowerCase().includes(t.trim().toLowerCase()),NT=(e,t=7)=>(e.startsWith(`sha256:`)?e.slice(7):e).slice(0,t),PT=(e,t=2)=>{let n=e.trim().split(/[^A-Za-z0-9]+/u).filter(e=>e.length>0);return(n.length>1?n.map(e=>e[0]??``).join(``):n[0]??e.trim()).slice(0,t).toUpperCase()},FT=(e,t)=>{let n=Math.max(0,Math.round((t-e)/1e3));if(n<60)return`${n}s`;let r=Math.floor(n/60);return r<60?`${r}m`:`${Math.floor(r/60)}h`},IT=e=>e.family===0?`${e.events} ev`:`${e.events} ev · ${e.family} threads`,LT=({now:e,row:t,selected:n})=>{let r=()=>mw({thread:t.id,view:void 0,from:void 0,to:void 0});return(0,$.jsxs)(`div`,{role:`button`,tabIndex:0,"aria-current":n?`true`:void 0,className:`rail-row${n?` rail-row-selected`:``}`,onClick:r,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),r())},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`var(--space-2)`},children:[(0,$.jsx)(`span`,{className:`mono rail-id`,children:t.id}),(0,$.jsx)(`span`,{className:`mono rail-meta`,children:t.lastAt===void 0?``:FT(t.lastAt,e)})]}),(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`var(--space-2)`},children:[(0,$.jsx)(`span`,{className:`chip chip-${t.status}${t.status===`running`?` breathe`:``}`,children:t.status}),(0,$.jsx)(`span`,{className:`mono rail-meta`,children:IT(t)})]})]})},RT=({headerHeight:e=64,now:t,problem:n,roster:r,selected:i,width:a=236})=>{let[o,s]=(0,_.useState)(``),c=r.roots.filter(e=>MT(e.id,o));return(0,$.jsxs)(`aside`,{className:`rail`,style:{width:a},children:[(0,$.jsx)(`div`,{className:`pane-chrome`,style:{height:e},children:(0,$.jsx)(`div`,{className:`rail-head`,children:(0,$.jsx)(`div`,{className:`mono rail-section-title`,children:`runs`})})}),(0,$.jsx)(`div`,{style:{padding:`10px var(--space-3)`},children:(0,$.jsx)(`input`,{className:`input rail-search`,value:o,placeholder:`search id…`,"aria-label":`search id`,onChange:e=>s(e.target.value)})}),n===void 0?null:(0,$.jsxs)(`div`,{className:`problem`,style:{margin:`0 var(--space-3) 10px`},children:[(0,$.jsx)(`div`,{className:`problem-title`,children:n.title}),n.detail===void 0?null:(0,$.jsx)(`div`,{className:`problem-detail`,children:n.detail})]}),(0,$.jsx)(`div`,{className:`run-list`,children:c.map(e=>(0,$.jsx)(LT,{row:e,now:t,selected:e.id===i},e.id))})]})};function zT(e,...t){let n=new URL(`https://base-ui.com/production-error/${e}`);return t.forEach(e=>n.searchParams.append(`args[]`,e)),`Base UI error #${e}; visit ${n} for the full message.`}var BT={};function VT(e,t){let n=_.useRef(BT);return n.current===BT&&(n.current=e(t)),n}function HT(e,t,n,r){let i=VT(WT).current;return GT(i,e,t,n,r)&&qT(i,[e,t,n,r]),i.callback}function UT(e){let t=VT(WT).current;return KT(t,e)&&qT(t,e),t.callback}function WT(){return{callback:null,cleanup:null,refs:[]}}function GT(e,t,n,r,i){return e.refs[0]!==t||e.refs[1]!==n||e.refs[2]!==r||e.refs[3]!==i}function KT(e,t){return e.refs.length!==t.length||e.refs.some((e,n)=>e!==t[n])}function qT(e,t){if(e.refs=t,t.every(e=>e==null)){e.callback=null;return}e.callback=n=>{if(e.cleanup&&=(e.cleanup(),null),n!=null){let r=Array(t.length).fill(null);for(let e=0;e<t.length;e+=1){let i=t[e];if(i!=null)switch(typeof i){case`function`:{let t=i(n);typeof t==`function`&&(r[e]=t);break}case`object`:i.current=n}}e.cleanup=()=>{for(let e=0;e<t.length;e+=1){let n=t[e];if(n!=null)switch(typeof n){case`function`:{let t=r[e];typeof t==`function`?t():n(null);break}case`object`:n.current=null}}}}}}var JT=19;function YT(e){return JT>=e}function XT(e){if(!_.isValidElement(e))return null;let t=e,n=t.props;return(YT(19)?n?.ref:t.ref)??null}function ZT(e,t){if(e&&!t)return e;if(!e&&t)return t;if(e||t)return{...e,...t}}function QT(e,t){let n={};for(let r in e){let i=e[r];if(t?.hasOwnProperty(r)){let e=t[r](i);e!=null&&Object.assign(n,e);continue}i===!0?n[`data-${r.toLowerCase()}`]=``:i&&(n[`data-${r.toLowerCase()}`]=i.toString())}return n}function $T(e,t){return typeof e==`function`?e(t):e}function eE(e,t){return typeof e==`function`?e(t):e}var tE={};function nE(e,t,n,r,i){let a={...cE(e,tE)};return t&&(a=iE(a,t)),n&&(a=iE(a,n)),r&&(a=iE(a,r)),i&&(a=iE(a,i)),a}function rE(e){if(e.length===0)return tE;if(e.length===1)return cE(e[0],tE);let t={...cE(e[0],tE)};for(let n=1;n<e.length;n+=1)t=iE(t,e[n]);return t}function iE(e,t){return sE(t)?t(e):aE(e,t)}function aE(e,t){if(!t)return e;for(let n in t){let r=t[n];switch(n){case`style`:e[n]=ZT(e.style,r);break;case`className`:e[n]=dE(e.className,r);break;default:e[n]=oE(n,r)?lE(e[n],r):r}}return e}function oE(e,t){let n=e.charCodeAt(0),r=e.charCodeAt(1),i=e.charCodeAt(2);return n===111&&r===110&&i>=65&&i<=90&&(typeof t==`function`||t===void 0)}function sE(e){return typeof e==`function`}function cE(e,t){return sE(e)?e(t):e??tE}function lE(e,t){return t?e?n=>{if(fE(n)){let r=n;uE(r);let i=t(r);return r.baseUIHandlerPrevented||e?.(r),i}let r=t(n);return e?.(n),r}:t:e}function uE(e){return e.preventBaseUIHandler=()=>{e.baseUIHandlerPrevented=!0},e}function dE(e,t){return t?e?t+` `+e:t:e}function fE(e){return typeof e==`object`&&!!e&&`nativeEvent`in e}Object.freeze([]);var pE=Object.freeze({});function mE(e,t,n={}){let r=t.render,i=hE(t,n);return n.enabled===!1?null:gE(e,r,i,n.state??pE)}function hE(e,t={}){let{className:n,style:r,render:i}=e,{state:a=pE,ref:o,props:s,stateAttributesMapping:c,enabled:l=!0}=t,u=l?$T(n,a):void 0,d=l?eE(r,a):void 0,f=l?QT(a,c):pE,p=l?ZT(f,Array.isArray(s)?rE(s):s)??pE:pE;return typeof document<`u`&&(l?p.ref=Array.isArray(o)?UT([p.ref,XT(i),...o]):HT(p.ref,XT(i),o):HT(null,null)),l?(u!==void 0&&(p.className=dE(p.className,u)),d!==void 0&&(p.style=ZT(p.style,d)),p):pE}function gE(e,t,n,r){if(t){if(typeof t==`function`)return t(n,r);let e=nE(n,t.props);return e.ref=n.ref,_.cloneElement(t,e)}if(e&&typeof e==`string`)return _E(e,n);throw Error(zT(8))}function _E(e,t){return e===`button`?(0,_.createElement)(`button`,{type:`button`,...t,key:t.key}):e===`img`?(0,_.createElement)(`img`,{alt:``,...t,key:t.key}):_.createElement(e,t)}var vE=_.createContext(void 0);function yE(){let e=_.useContext(vE);if(e===void 0)throw Error(zT(13));return e}var bE={imageLoadingStatus:()=>null},xE=_.forwardRef(function(e,t){let{className:n,render:r,...i}=e,[a,o]=_.useState(`idle`),s=_.useMemo(()=>({imageLoadingStatus:a}),[a]),c=_.useMemo(()=>({imageLoadingStatus:a,setImageLoadingStatus:o}),[a,o]),l=mE(`span`,e,{state:s,ref:t,props:i,stateAttributesMapping:bE});return(0,$.jsx)(vE.Provider,{value:c,children:l})}),SE=[];function CE(e){_.useEffect(e,SE)}var wE=0,TE=class e{static create(){return new e}currentId=wE;start(e,t){this.clear(),this.currentId=setTimeout(()=>{this.currentId=wE,t()},e)}isStarted(){return this.currentId!==wE}clear=()=>{this.currentId!==wE&&(clearTimeout(this.currentId),this.currentId=wE)};disposeEffect=()=>this.clear};function EE(){let e=VT(TE.create).current;return CE(e.disposeEffect),e}var DE=_.forwardRef(function(e,t){let{className:n,render:r,delay:i,...a}=e,{imageLoadingStatus:o}=yE(),[s,c]=_.useState(i===void 0),l=EE();return _.useEffect(()=>(i!==void 0&&l.start(i,()=>c(!0)),l.clear),[l,i]),mE(`span`,e,{state:_.useMemo(()=>({imageLoadingStatus:o}),[o]),ref:t,props:a,stateAttributesMapping:bE,enabled:o!==`loaded`&&s})}),OE=`voyager.actor-rail`,kE=()=>typeof localStorage>`u`?!1:localStorage.getItem(OE)===`collapsed`,AE=({actors:e,collapsedWidth:t=48,digestChars:n=7,headerHeight:r=64,markChars:i=2,markSize:a=28,problem:o,selected:s,width:c=236})=>{let[l,u]=(0,_.useState)(``),[d,f]=(0,_.useState)(kE),p=e.filter(e=>MT(e.name,l)),m=d?`Expand the actor list`:`Collapse the actor list`;return(0,$.jsxs)(`aside`,{className:`actor-rail${d?` actor-rail-collapsed`:``}`,style:{width:d?t:c},children:[(0,$.jsx)(`div`,{className:`pane-chrome`,style:{height:r},children:(0,$.jsxs)(`div`,{className:`actor-head`,children:[(0,$.jsxs)(`div`,{className:`actor-only actor-identity`,children:[(0,$.jsx)(oT,{}),(0,$.jsx)(`div`,{className:`mono actor-label`,children:`actors`})]}),(0,$.jsx)(`button`,{type:`button`,className:`icon-btn`,"aria-label":m,"aria-expanded":!d,title:m,onClick:()=>{let e=!d;f(e),typeof localStorage<`u`&&localStorage.setItem(OE,e?`collapsed`:`open`)},children:d?(0,$.jsx)(le,{size:15,weight:`light`,"aria-hidden":`true`}):(0,$.jsx)(se,{size:15,weight:`light`,"aria-hidden":`true`})})]})}),(0,$.jsx)(`div`,{className:`actor-only actor-search-wrap`,children:(0,$.jsx)(`input`,{className:`input actor-search`,value:l,placeholder:`search name…`,"aria-label":`search actor name`,onChange:e=>u(e.target.value)})}),o===void 0?null:(0,$.jsxs)(`div`,{className:`problem actor-only actor-problem`,children:[(0,$.jsx)(`div`,{className:`problem-title`,children:o.title}),o.detail===void 0?null:(0,$.jsx)(`div`,{className:`problem-detail`,children:o.detail})]}),d?(0,$.jsx)(`div`,{className:`actor-mark-list`,"aria-label":`actors`,children:e.map(e=>{let t=e.name===s;return(0,$.jsx)(`button`,{type:`button`,className:`actor-mark-button${t?` actor-mark-selected`:``}`,"aria-label":`Open ${e.name}`,"aria-current":t?`true`:void 0,title:e.name,onClick:()=>mw({actor:e.name,thread:void 0,view:void 0,from:void 0,to:void 0}),children:(0,$.jsx)(xE,{className:`mono actor-mark`,style:{width:a,height:a},"aria-hidden":`true`,children:(0,$.jsx)(DE,{children:PT(e.name,i)})})},e.name)})}):null,(0,$.jsx)(`div`,{className:`actor-only actor-list`,children:p.map(e=>{let t=e.name===s;return(0,$.jsxs)(`button`,{type:`button`,className:`actor-row${t?` actor-row-selected`:``}`,"aria-current":t?`true`:void 0,onClick:()=>mw({actor:e.name,thread:void 0,view:void 0,from:void 0,to:void 0}),children:[(0,$.jsx)(`span`,{className:`mono actor-name`,children:e.name}),e.builtIn?(0,$.jsx)(`span`,{className:`mono actor-kind`,children:`built-in`}):e.digest===void 0?null:(0,$.jsxs)(`span`,{className:`mono actor-kind`,title:e.digest,children:[`sha `,NT(e.digest,n)]})]},e.name)})}),(0,$.jsxs)(`div`,{className:`actor-footer`,children:[(0,$.jsxs)(`button`,{type:`button`,className:`actor-api`,onClick:()=>mw({thread:void 0,view:`api`,operation:void 0,from:void 0,to:void 0}),children:[(0,$.jsx)(de,{size:15,weight:`light`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:`actor-only`,children:`API`})]}),(0,$.jsx)(pT,{className:`actor-api`,label:(0,$.jsx)(`span`,{className:`actor-only`,children:`Theme`})})]})]})},jE=(e,t)=>{let[n,r]=(0,_.useState)({actor:void 0,roster:OT,at:Date.now()}),[i,a]=(0,_.useState)([]),[o,s]=(0,_.useState)(void 0),[c,l]=(0,_.useState)(!1);return(0,_.useEffect)(()=>{if(a([]),r({actor:e,roster:OT,at:Date.now()}),s(void 0),l(!1),e===void 0)return;let n=!0,i=kC(e),o=async()=>{try{let t=await i.list();if(!n)return;a(t),r({actor:e,roster:jT(t),at:Date.now()}),s(void 0),l(!0)}catch(e){if(!n)return;s(e instanceof rC?e:new rC({title:String(e),status:0})),l(!0)}};o();let c=setInterval(o,t);return()=>{n=!1,clearInterval(c)}},[e,t]),{reading:n,summaries:i,problem:o,ready:c}},ME=e=>{let[t,n]=(0,_.useState)([]),[r,i]=(0,_.useState)(void 0),[a,o]=(0,_.useState)(!1);return(0,_.useEffect)(()=>{let t=!0,r=async()=>{try{let e=await DC.actors();if(!t)return;n(e),i(void 0),o(!0)}catch(e){if(!t)return;i(e instanceof rC?e:new rC({title:String(e),status:0})),o(!0)}};r();let a=setInterval(r,e);return()=>{t=!1,clearInterval(a)}},[e]),{actors:t,problem:r,ready:a}},NE=()=>{let e=gw(),t=ME(AC),n=e.actor??t.actors[0]?.name,{problem:r,reading:i,summaries:a,ready:o}=jE(n,AC),s=a.find(t=>t.id===e.thread)?.status;return(0,_.useEffect)(()=>{e.actor===void 0&&n!==void 0&&mw({actor:n},{replace:!0})},[n,e.actor]),(0,_.useEffect)(()=>{if(!o||i.actor!==n||e.view!==void 0||e.thread!==void 0)return;let t=kT(i.roster);t!==void 0&&mw({thread:t.id,from:void 0,to:void 0},{replace:!0})},[n,i.actor,i.roster,o,e.thread,e.view]),e.view===`api`?(0,$.jsx)(ST,{}):(0,$.jsxs)(`div`,{style:{height:`100%`,display:`flex`,overflow:`hidden`,position:`relative`},children:[(0,$.jsx)(AE,{actors:t.actors,problem:t.problem,selected:n}),(0,$.jsx)(RT,{roster:i.roster,now:i.at,problem:r,selected:e.thread}),(0,$.jsx)(`main`,{style:{flex:1,display:`flex`,flexDirection:`column`,minWidth:0},children:n!==void 0&&e.thread===void 0&&o&&a.length===0&&r===void 0?(0,$.jsx)(DT,{actor:n}):e.thread===void 0?(0,$.jsx)(`div`,{className:`mono pane-empty`,children:t.ready?`select a run`:`loading actors`}):(0,$.jsx)(Ww,{actor:n??`default`,id:e.thread,status:s})})]})},PE=lT();PE!==void 0&&dT(PE);var FE=document.getElementById(`root`);if(FE===null)throw Error(`voyager: index.html has no #root element`);(0,ES.createRoot)(FE).render((0,$.jsx)(_.StrictMode,{children:(0,$.jsx)(NE,{})}));
|
|
21
|
+
`);return(0,$.jsxs)(`section`,{className:`api-endpoint`,id:`api-${n.key}`,children:[(0,$.jsxs)(`header`,{className:`api-detail-head`,children:[(0,$.jsx)(`h2`,{className:`mono`,children:n.path}),n.operationId===void 0?null:(0,$.jsx)(`div`,{className:`mono api-operation-id`,children:n.operationId}),n.summary===void 0?null:(0,$.jsx)(`p`,{children:n.summary}),n.description===void 0?null:(0,$.jsx)(`p`,{children:n.description})]}),(0,$.jsxs)(`div`,{className:`api-operation-grid`,children:[(0,$.jsxs)(`div`,{className:`api-operation-docs`,children:[(0,$.jsxs)(`section`,{className:`api-section api-headers-section`,children:[(0,$.jsx)(`h3`,{children:`Headers`}),(0,$.jsxs)(`div`,{className:`api-header-line`,children:[(0,$.jsx)(`span`,{className:`mono api-property-name`,children:`Accept`}),(0,$.jsx)(`span`,{className:`mono api-header-example`,children:a?.mediaType??`*/*`})]}),o.map(e=>(0,$.jsxs)(`div`,{className:`api-header-line`,children:[(0,$.jsx)(`span`,{className:`mono api-property-name`,children:e.name}),(0,$.jsx)(`span`,{className:`mono api-header-example`,children:e.schema===void 0?`unknown`:iT(e.schema)})]},e.name))]}),s.length===0?null:(0,$.jsxs)(`section`,{className:`api-section api-parameters-section`,children:[(0,$.jsx)(`h3`,{children:`Parameters`}),(0,$.jsx)(`div`,{className:`api-parameters`,children:s.map(e=>(0,$.jsxs)(`div`,{className:`api-parameter`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`span`,{className:`mono api-property-name`,children:e.name}),(0,$.jsx)(`span`,{className:`mono api-parameter-in`,children:e.in})]}),(0,$.jsx)(`div`,{className:`mono api-property-type`,children:e.schema===void 0?`unknown`:iT(e.schema)}),(0,$.jsx)(`span`,{className:e.required?`api-required`:`api-optional`,children:e.required?`required`:`optional`}),e.description===void 0?null:(0,$.jsx)(`p`,{children:e.description})]},`${e.in}:${e.name}`))})]}),n.request.length===0?null:(0,$.jsxs)(`section`,{className:`api-section api-request-section`,children:[(0,$.jsx)(`h3`,{children:`Request body`}),(0,$.jsx)(vT,{content:n.request,schemas:t.schemas,depth:e})]}),(0,$.jsxs)(`section`,{className:`api-section`,children:[(0,$.jsx)(`h3`,{children:`Responses`}),(0,$.jsx)(`div`,{className:`api-responses`,children:n.responses.map(n=>(0,$.jsxs)(`details`,{className:`api-response`,children:[(0,$.jsxs)(`summary`,{className:`api-response-head`,children:[(0,$.jsx)(`span`,{className:`mono api-status${n.status.startsWith(`2`)?` api-status-ok`:``}`,children:n.status}),(0,$.jsx)(`span`,{children:n.description})]}),n.content.length===0?null:(0,$.jsx)(vT,{content:n.content,schemas:t.schemas,depth:e})]},n.status))})]})]}),(0,$.jsxs)(`aside`,{className:`api-operation-examples`,children:[(0,$.jsxs)(`section`,{className:`api-code-card`,children:[(0,$.jsxs)(`div`,{className:`api-code-head`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`span`,{className:`mono api-method api-method-${n.method}`,children:n.method.toUpperCase()}),(0,$.jsx)(`span`,{className:`mono`,children:n.path})]}),(0,$.jsx)(`span`,{className:`mono`,children:`Shell Curl`})]}),(0,$.jsx)(`pre`,{children:(0,$.jsx)(`code`,{children:u})})]}),l===void 0?null:(0,$.jsxs)(`section`,{className:`api-code-card`,children:[(0,$.jsxs)(`div`,{className:`api-code-head`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`span`,{className:`mono api-status api-status-ok`,children:i?.status}),(0,$.jsx)(`span`,{children:i?.description})]}),(0,$.jsx)(`span`,{className:`mono`,children:a?.mediaType})]}),(0,$.jsx)(`pre`,{children:(0,$.jsx)(`code`,{children:JSON.stringify(l,null,2)})})]})]})]})]})},bT=({document:e})=>(0,$.jsxs)(`section`,{className:`api-overview`,id:`api-overview`,children:[(0,$.jsx)(`div`,{className:`mono api-eyebrow`,children:`API reference`}),(0,$.jsx)(`h1`,{children:e.title}),e.version===void 0?null:(0,$.jsxs)(`span`,{className:`mono api-version`,children:[`v`,e.version]}),e.description===void 0?null:(0,$.jsx)(`p`,{children:e.description}),(0,$.jsxs)(`dl`,{className:`api-facts`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{children:`Base URL`}),(0,$.jsx)(`dd`,{className:`mono`,children:DC.baseUrl})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{children:`Operations`}),(0,$.jsx)(`dd`,{className:`mono`,children:e.operations.length})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{children:`Specification`}),(0,$.jsx)(`dd`,{className:`mono`,children:`OpenAPI 3.1`})]})]})]}),xT=({depth:e,document:t})=>(0,$.jsxs)(`article`,{className:`api-detail api-operation-detail`,children:[(0,$.jsx)(bT,{document:t}),eT(t.operations).map(([n,r])=>(0,$.jsxs)(`section`,{className:`api-resource`,children:[(0,$.jsxs)(`div`,{className:`api-tag-overview`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`mono api-eyebrow`,children:`Resource`}),(0,$.jsx)(`h1`,{children:n})]}),(0,$.jsxs)(`div`,{className:`api-operations-card`,children:[(0,$.jsx)(`div`,{className:`api-card-title`,children:`Operations`}),(0,$.jsx)(`div`,{className:`api-operations-list`,children:r.map(e=>(0,$.jsxs)(`button`,{type:`button`,onClick:()=>hT(e.key),children:[(0,$.jsx)(`span`,{className:`mono api-method api-method-${e.method}`,children:e.method.toUpperCase()}),(0,$.jsx)(`span`,{className:`mono`,children:e.path})]},e.key))})]})]}),r.map(n=>(0,$.jsx)(yT,{operation:n,document:t,depth:e},n.key))]},n))]}),ST=({headerHeight:e=64,navWidth:t=236,schemaDepth:n=3})=>{let r=gw(),{document:i,problem:a}=gT(),[o,s]=(0,_.useState)(``),c=(0,_.useRef)(!1),l=(0,_.useRef)(r.operation);l.current=r.operation;let u=(0,_.useMemo)(()=>i?.operations.filter(e=>tT(e,o))??[],[i,o]),d=i?.operations.find(e=>e.key===r.operation);return(0,_.useEffect)(()=>{if(i!==void 0){if(c.current){c.current=!1;return}globalThis.document.getElementById(mT(r.operation))?.scrollIntoView({block:`start`})}},[i,r.operation]),(0,_.useEffect)(()=>{if(i===void 0)return;let e=globalThis.document.querySelector(`.api-reading`);if(e===null)return;let t,n=[],r=globalThis.document.getElementById(mT(void 0));r!==null&&n.push([void 0,r]);for(let e of i.operations){let t=globalThis.document.getElementById(mT(e.key));t!==null&&n.push([e.key,t])}let a=()=>{t!==void 0&&cancelAnimationFrame(t),t=requestAnimationFrame(()=>{let t=e.getBoundingClientRect().top,r;for(let[e,i]of n){let n=Number.parseFloat(getComputedStyle(i).scrollMarginTop)||0;if(i.getBoundingClientRect().top>t+n)break;r=e}r!==l.current&&(l.current=r,c.current=!0,mw({operation:r},{replace:!0}))})};return e.addEventListener(`scroll`,a,{passive:!0}),a(),()=>{e.removeEventListener(`scroll`,a),t!==void 0&&cancelAnimationFrame(t)}},[i]),(0,$.jsxs)(`div`,{className:`api-view`,children:[(0,$.jsxs)(`aside`,{className:`api-nav`,style:{width:t},children:[(0,$.jsx)(`div`,{className:`pane-chrome`,style:{height:e},children:(0,$.jsxs)(`div`,{className:`actor-head`,children:[(0,$.jsxs)(`div`,{className:`actor-identity`,children:[(0,$.jsx)(oT,{}),(0,$.jsx)(`div`,{className:`mono actor-label`,children:`api`})]}),(0,$.jsx)(`button`,{type:`button`,className:`icon-btn`,"aria-label":`Back to Voyager`,title:`Back to Voyager`,onClick:()=>mw({view:void 0,operation:void 0},{replace:!0}),children:(0,$.jsx)(se,{size:15,weight:`light`,"aria-hidden":`true`})})]})}),(0,$.jsxs)(`label`,{className:`api-search-wrap`,children:[(0,$.jsx)(he,{size:15,weight:`light`,"aria-hidden":`true`}),(0,$.jsx)(`input`,{value:o,placeholder:`search endpoints…`,"aria-label":`search API endpoints`,onChange:e=>s(e.target.value)})]}),(0,$.jsxs)(`nav`,{className:`api-nav-list`,"aria-label":`API endpoints`,children:[(0,$.jsx)(`button`,{type:`button`,className:`api-overview-link${r.operation===void 0?` api-nav-selected`:``}`,onClick:()=>hT(void 0),children:`Overview`}),eT(u).map(([e,t])=>(0,$.jsxs)(`section`,{className:`api-group`,children:[(0,$.jsx)(`h2`,{className:`mono`,children:e}),t.map(e=>(0,$.jsxs)(`button`,{type:`button`,className:`api-nav-row${d?.key===e.key?` api-nav-selected`:``}`,onClick:()=>hT(e.key),children:[(0,$.jsx)(`span`,{className:`mono api-method api-method-${e.method}`,children:e.method.toUpperCase()}),(0,$.jsx)(`span`,{className:`mono api-nav-path`,children:e.path})]},e.key))]},e))]}),(0,$.jsxs)(`div`,{className:`actor-footer`,children:[(0,$.jsxs)(`button`,{type:`button`,className:`actor-api actor-api-active`,"aria-current":`page`,onClick:()=>hT(void 0),children:[(0,$.jsx)(de,{size:15,weight:`light`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{children:`API`})]}),(0,$.jsx)(pT,{className:`actor-api`,label:(0,$.jsx)(`span`,{children:`Theme`})})]})]}),(0,$.jsx)(`main`,{className:`api-reading`,children:a===void 0?i===void 0?(0,$.jsx)(`div`,{className:`mono pane-empty`,children:`loading API description`}):(0,$.jsx)(xT,{document:i,depth:n}):(0,$.jsxs)(`div`,{className:`problem api-load-problem`,children:[(0,$.jsx)(`div`,{className:`problem-title`,children:`API description unavailable`}),(0,$.jsx)(`div`,{className:`problem-detail`,children:a})]})})]})},CT=`Use https://github.com/clavia-labs/tardigrade and follow skills/tardigrade/SKILL.md to create, author, build, push, and run a local actor. Share its Voyager trace URL.`,wT=async e=>{try{return await navigator.clipboard.writeText(e),!0}catch{let t=document.createElement(`textarea`);t.value=e,t.style.position=`fixed`,t.style.opacity=`0`,document.body.appendChild(t),t.select();let n=document.execCommand(`copy`);return t.remove(),n}},TT=()=>{let[e,t]=(0,_.useState)(!1);return(0,_.useEffect)(()=>{if(!e)return;let n=setTimeout(()=>t(!1),PC);return()=>clearTimeout(n)},[e]),(0,$.jsxs)(`section`,{className:`quickstart-card`,children:[(0,$.jsxs)(`div`,{className:`quickstart-card-head`,children:[(0,$.jsx)(`span`,{className:`mono quickstart-label`,children:`Prompt`}),(0,$.jsxs)(`button`,{type:`button`,className:`quickstart-copy${e?` quickstart-copy-done`:``}`,"aria-label":`Copy quickstart prompt`,onClick:()=>{wT(CT).then(e=>{e&&t(!0)})},children:[e?(0,$.jsx)(C,{size:15,weight:`light`,"aria-hidden":`true`}):(0,$.jsx)(pe,{size:15,weight:`light`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{children:e?`copied`:`copy`})]})]}),(0,$.jsx)(`pre`,{className:`quickstart-code`,children:(0,$.jsx)(`code`,{children:CT})})]})},ET=()=>(0,$.jsx)(`div`,{className:`quickstart-empty`,children:(0,$.jsxs)(`div`,{className:`quickstart`,children:[(0,$.jsxs)(`div`,{className:`quickstart-intro`,children:[(0,$.jsx)(`h1`,{children:`Create your first actor`}),(0,$.jsx)(`p`,{children:`Copy this prompt into your coding agent.`})]}),(0,$.jsx)(TT,{})]})}),DT={roots:[]},OT=e=>e.roots.at(-1),kT=(e,t)=>{let n=new Set([e]),r=e;for(;;){let e=t.get(r);if(e===void 0||n.has(e))return r;n.add(e),r=e}},AT=e=>{let t=new Map(e.map(e=>[e.id,e.parent])),n=new Map;for(let r of e){if(r.parent===void 0)continue;let e=kT(r.id,t);n.set(e,(n.get(e)??0)+1)}return{roots:e.filter(e=>e.parent===void 0).map(e=>({id:e.id,status:e.status,events:e.events,lastAt:e.lastAt,family:n.get(e.id)??0}))}},jT=(e,t)=>e.toLowerCase().includes(t.trim().toLowerCase()),MT=(e,t=7)=>(e.startsWith(`sha256:`)?e.slice(7):e).slice(0,t),NT=(e,t=2)=>{let n=e.trim().split(/[^A-Za-z0-9]+/u).filter(e=>e.length>0);return(n.length>1?n.map(e=>e[0]??``).join(``):n[0]??e.trim()).slice(0,t).toUpperCase()},PT=(e,t)=>{let n=Math.max(0,Math.round((t-e)/1e3));if(n<60)return`${n}s`;let r=Math.floor(n/60);return r<60?`${r}m`:`${Math.floor(r/60)}h`},FT=e=>e.family===0?`${e.events} ev`:`${e.events} ev · ${e.family} threads`,IT=({now:e,row:t,selected:n})=>{let r=()=>mw({thread:t.id,view:void 0,from:void 0,to:void 0});return(0,$.jsxs)(`div`,{role:`button`,tabIndex:0,"aria-current":n?`true`:void 0,className:`rail-row${n?` rail-row-selected`:``}`,onClick:r,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),r())},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`var(--space-2)`},children:[(0,$.jsx)(`span`,{className:`mono rail-id`,children:t.id}),(0,$.jsx)(`span`,{className:`mono rail-meta`,children:t.lastAt===void 0?``:PT(t.lastAt,e)})]}),(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`var(--space-2)`},children:[(0,$.jsx)(`span`,{className:`chip chip-${t.status}${t.status===`running`?` breathe`:``}`,children:t.status}),(0,$.jsx)(`span`,{className:`mono rail-meta`,children:FT(t)})]})]})},LT=({headerHeight:e=64,now:t,problem:n,roster:r,selected:i,width:a=236})=>{let[o,s]=(0,_.useState)(``),c=r.roots.filter(e=>jT(e.id,o));return(0,$.jsxs)(`aside`,{className:`rail`,style:{width:a},children:[(0,$.jsx)(`div`,{className:`pane-chrome`,style:{height:e},children:(0,$.jsx)(`div`,{className:`rail-head`,children:(0,$.jsx)(`div`,{className:`mono rail-section-title`,children:`runs`})})}),(0,$.jsx)(`div`,{style:{padding:`10px var(--space-3)`},children:(0,$.jsx)(`input`,{className:`input rail-search`,value:o,placeholder:`search id…`,"aria-label":`search id`,onChange:e=>s(e.target.value)})}),n===void 0?null:(0,$.jsxs)(`div`,{className:`problem`,style:{margin:`0 var(--space-3) 10px`},children:[(0,$.jsx)(`div`,{className:`problem-title`,children:n.title}),n.detail===void 0?null:(0,$.jsx)(`div`,{className:`problem-detail`,children:n.detail})]}),(0,$.jsx)(`div`,{className:`run-list`,children:c.map(e=>(0,$.jsx)(IT,{row:e,now:t,selected:e.id===i},e.id))})]})};function RT(e,...t){let n=new URL(`https://base-ui.com/production-error/${e}`);return t.forEach(e=>n.searchParams.append(`args[]`,e)),`Base UI error #${e}; visit ${n} for the full message.`}var zT={};function BT(e,t){let n=_.useRef(zT);return n.current===zT&&(n.current=e(t)),n}function VT(e,t,n,r){let i=BT(UT).current;return WT(i,e,t,n,r)&&KT(i,[e,t,n,r]),i.callback}function HT(e){let t=BT(UT).current;return GT(t,e)&&KT(t,e),t.callback}function UT(){return{callback:null,cleanup:null,refs:[]}}function WT(e,t,n,r,i){return e.refs[0]!==t||e.refs[1]!==n||e.refs[2]!==r||e.refs[3]!==i}function GT(e,t){return e.refs.length!==t.length||e.refs.some((e,n)=>e!==t[n])}function KT(e,t){if(e.refs=t,t.every(e=>e==null)){e.callback=null;return}e.callback=n=>{if(e.cleanup&&=(e.cleanup(),null),n!=null){let r=Array(t.length).fill(null);for(let e=0;e<t.length;e+=1){let i=t[e];if(i!=null)switch(typeof i){case`function`:{let t=i(n);typeof t==`function`&&(r[e]=t);break}case`object`:i.current=n}}e.cleanup=()=>{for(let e=0;e<t.length;e+=1){let n=t[e];if(n!=null)switch(typeof n){case`function`:{let t=r[e];typeof t==`function`?t():n(null);break}case`object`:n.current=null}}}}}}var qT=19;function JT(e){return qT>=e}function YT(e){if(!_.isValidElement(e))return null;let t=e,n=t.props;return(JT(19)?n?.ref:t.ref)??null}function XT(e,t){if(e&&!t)return e;if(!e&&t)return t;if(e||t)return{...e,...t}}function ZT(e,t){let n={};for(let r in e){let i=e[r];if(t?.hasOwnProperty(r)){let e=t[r](i);e!=null&&Object.assign(n,e);continue}i===!0?n[`data-${r.toLowerCase()}`]=``:i&&(n[`data-${r.toLowerCase()}`]=i.toString())}return n}function QT(e,t){return typeof e==`function`?e(t):e}function $T(e,t){return typeof e==`function`?e(t):e}var eE={};function tE(e,t,n,r,i){let a={...sE(e,eE)};return t&&(a=rE(a,t)),n&&(a=rE(a,n)),r&&(a=rE(a,r)),i&&(a=rE(a,i)),a}function nE(e){if(e.length===0)return eE;if(e.length===1)return sE(e[0],eE);let t={...sE(e[0],eE)};for(let n=1;n<e.length;n+=1)t=rE(t,e[n]);return t}function rE(e,t){return oE(t)?t(e):iE(e,t)}function iE(e,t){if(!t)return e;for(let n in t){let r=t[n];switch(n){case`style`:e[n]=XT(e.style,r);break;case`className`:e[n]=uE(e.className,r);break;default:e[n]=aE(n,r)?cE(e[n],r):r}}return e}function aE(e,t){let n=e.charCodeAt(0),r=e.charCodeAt(1),i=e.charCodeAt(2);return n===111&&r===110&&i>=65&&i<=90&&(typeof t==`function`||t===void 0)}function oE(e){return typeof e==`function`}function sE(e,t){return oE(e)?e(t):e??eE}function cE(e,t){return t?e?n=>{if(dE(n)){let r=n;lE(r);let i=t(r);return r.baseUIHandlerPrevented||e?.(r),i}let r=t(n);return e?.(n),r}:t:e}function lE(e){return e.preventBaseUIHandler=()=>{e.baseUIHandlerPrevented=!0},e}function uE(e,t){return t?e?t+` `+e:t:e}function dE(e){return typeof e==`object`&&!!e&&`nativeEvent`in e}Object.freeze([]);var fE=Object.freeze({});function pE(e,t,n={}){let r=t.render,i=mE(t,n);return n.enabled===!1?null:hE(e,r,i,n.state??fE)}function mE(e,t={}){let{className:n,style:r,render:i}=e,{state:a=fE,ref:o,props:s,stateAttributesMapping:c,enabled:l=!0}=t,u=l?QT(n,a):void 0,d=l?$T(r,a):void 0,f=l?ZT(a,c):fE,p=l?XT(f,Array.isArray(s)?nE(s):s)??fE:fE;return typeof document<`u`&&(l?p.ref=Array.isArray(o)?HT([p.ref,YT(i),...o]):VT(p.ref,YT(i),o):VT(null,null)),l?(u!==void 0&&(p.className=uE(p.className,u)),d!==void 0&&(p.style=XT(p.style,d)),p):fE}function hE(e,t,n,r){if(t){if(typeof t==`function`)return t(n,r);let e=tE(n,t.props);return e.ref=n.ref,_.cloneElement(t,e)}if(e&&typeof e==`string`)return gE(e,n);throw Error(RT(8))}function gE(e,t){return e===`button`?(0,_.createElement)(`button`,{type:`button`,...t,key:t.key}):e===`img`?(0,_.createElement)(`img`,{alt:``,...t,key:t.key}):_.createElement(e,t)}var _E=_.createContext(void 0);function vE(){let e=_.useContext(_E);if(e===void 0)throw Error(RT(13));return e}var yE={imageLoadingStatus:()=>null},bE=_.forwardRef(function(e,t){let{className:n,render:r,...i}=e,[a,o]=_.useState(`idle`),s=_.useMemo(()=>({imageLoadingStatus:a}),[a]),c=_.useMemo(()=>({imageLoadingStatus:a,setImageLoadingStatus:o}),[a,o]),l=pE(`span`,e,{state:s,ref:t,props:i,stateAttributesMapping:yE});return(0,$.jsx)(_E.Provider,{value:c,children:l})}),xE=[];function SE(e){_.useEffect(e,xE)}var CE=0,wE=class e{static create(){return new e}currentId=CE;start(e,t){this.clear(),this.currentId=setTimeout(()=>{this.currentId=CE,t()},e)}isStarted(){return this.currentId!==CE}clear=()=>{this.currentId!==CE&&(clearTimeout(this.currentId),this.currentId=CE)};disposeEffect=()=>this.clear};function TE(){let e=BT(wE.create).current;return SE(e.disposeEffect),e}var EE=_.forwardRef(function(e,t){let{className:n,render:r,delay:i,...a}=e,{imageLoadingStatus:o}=vE(),[s,c]=_.useState(i===void 0),l=TE();return _.useEffect(()=>(i!==void 0&&l.start(i,()=>c(!0)),l.clear),[l,i]),pE(`span`,e,{state:_.useMemo(()=>({imageLoadingStatus:o}),[o]),ref:t,props:a,stateAttributesMapping:yE,enabled:o!==`loaded`&&s})}),DE=`voyager.actor-rail`,OE=()=>typeof localStorage>`u`?!1:localStorage.getItem(DE)===`collapsed`,kE=({actors:e,collapsedWidth:t=48,digestChars:n=7,headerHeight:r=64,markChars:i=2,markSize:a=28,problem:o,selected:s,width:c=236})=>{let[l,u]=(0,_.useState)(``),[d,f]=(0,_.useState)(OE),p=e.filter(e=>jT(e.name,l)),m=d?`Expand the actor list`:`Collapse the actor list`;return(0,$.jsxs)(`aside`,{className:`actor-rail${d?` actor-rail-collapsed`:``}`,style:{width:d?t:c},children:[(0,$.jsx)(`div`,{className:`pane-chrome`,style:{height:r},children:(0,$.jsxs)(`div`,{className:`actor-head`,children:[(0,$.jsxs)(`div`,{className:`actor-only actor-identity`,children:[(0,$.jsx)(oT,{}),(0,$.jsx)(`div`,{className:`mono actor-label`,children:`actors`})]}),(0,$.jsx)(`button`,{type:`button`,className:`icon-btn`,"aria-label":m,"aria-expanded":!d,title:m,onClick:()=>{let e=!d;f(e),typeof localStorage<`u`&&localStorage.setItem(DE,e?`collapsed`:`open`)},children:d?(0,$.jsx)(le,{size:15,weight:`light`,"aria-hidden":`true`}):(0,$.jsx)(se,{size:15,weight:`light`,"aria-hidden":`true`})})]})}),(0,$.jsx)(`div`,{className:`actor-only actor-search-wrap`,children:(0,$.jsx)(`input`,{className:`input actor-search`,value:l,placeholder:`search name…`,"aria-label":`search actor name`,onChange:e=>u(e.target.value)})}),o===void 0?null:(0,$.jsxs)(`div`,{className:`problem actor-only actor-problem`,children:[(0,$.jsx)(`div`,{className:`problem-title`,children:o.title}),o.detail===void 0?null:(0,$.jsx)(`div`,{className:`problem-detail`,children:o.detail})]}),d?(0,$.jsx)(`div`,{className:`actor-mark-list`,"aria-label":`actors`,children:e.map(e=>{let t=e.name===s;return(0,$.jsx)(`button`,{type:`button`,className:`actor-mark-button${t?` actor-mark-selected`:``}`,"aria-label":`Open ${e.name}`,"aria-current":t?`true`:void 0,title:e.name,onClick:()=>mw({actor:e.name,thread:void 0,view:void 0,from:void 0,to:void 0}),children:(0,$.jsx)(bE,{className:`mono actor-mark`,style:{width:a,height:a},"aria-hidden":`true`,children:(0,$.jsx)(EE,{children:NT(e.name,i)})})},e.name)})}):null,(0,$.jsx)(`div`,{className:`actor-only actor-list`,children:p.map(e=>{let t=e.name===s;return(0,$.jsxs)(`button`,{type:`button`,className:`actor-row${t?` actor-row-selected`:``}`,"aria-current":t?`true`:void 0,onClick:()=>mw({actor:e.name,thread:void 0,view:void 0,from:void 0,to:void 0}),children:[(0,$.jsx)(`span`,{className:`mono actor-name`,children:e.name}),e.builtIn?(0,$.jsx)(`span`,{className:`mono actor-kind`,children:`built-in`}):e.digest===void 0?null:(0,$.jsxs)(`span`,{className:`mono actor-kind`,title:e.digest,children:[`sha `,MT(e.digest,n)]})]},e.name)})}),(0,$.jsxs)(`div`,{className:`actor-footer`,children:[(0,$.jsxs)(`button`,{type:`button`,className:`actor-api`,onClick:()=>mw({thread:void 0,view:`api`,operation:void 0,from:void 0,to:void 0}),children:[(0,$.jsx)(de,{size:15,weight:`light`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:`actor-only`,children:`API`})]}),(0,$.jsx)(pT,{className:`actor-api`,label:(0,$.jsx)(`span`,{className:`actor-only`,children:`Theme`})})]})]})},AE=(e,t)=>{let[n,r]=(0,_.useState)({actor:void 0,roster:DT,at:Date.now()}),[i,a]=(0,_.useState)([]),[o,s]=(0,_.useState)(void 0),[c,l]=(0,_.useState)(!1);return(0,_.useEffect)(()=>{if(a([]),r({actor:e,roster:DT,at:Date.now()}),s(void 0),l(!1),e===void 0)return;let n=!0,i=kC(e),o=async()=>{try{let t=await i.list();if(!n)return;a(t),r({actor:e,roster:AT(t),at:Date.now()}),s(void 0),l(!0)}catch(e){if(!n)return;s(e instanceof rC?e:new rC({title:String(e),status:0})),l(!0)}};o();let c=setInterval(o,t);return()=>{n=!1,clearInterval(c)}},[e,t]),{reading:n,summaries:i,problem:o,ready:c}},jE=e=>{let[t,n]=(0,_.useState)([]),[r,i]=(0,_.useState)(void 0),[a,o]=(0,_.useState)(!1);return(0,_.useEffect)(()=>{let t=!0,r=async()=>{try{let e=await DC.actors();if(!t)return;n(e),i(void 0),o(!0)}catch(e){if(!t)return;i(e instanceof rC?e:new rC({title:String(e),status:0})),o(!0)}};r();let a=setInterval(r,e);return()=>{t=!1,clearInterval(a)}},[e]),{actors:t,problem:r,ready:a}},ME=()=>{let e=gw(),t=jE(AC),n=e.actor??t.actors[0]?.name,{problem:r,reading:i,summaries:a,ready:o}=AE(n,AC),s=a.find(t=>t.id===e.thread)?.status;return(0,_.useEffect)(()=>{e.actor===void 0&&n!==void 0&&mw({actor:n},{replace:!0})},[n,e.actor]),(0,_.useEffect)(()=>{if(!o||i.actor!==n||e.view!==void 0||e.thread!==void 0)return;let t=OT(i.roster);t!==void 0&&mw({thread:t.id,from:void 0,to:void 0},{replace:!0})},[n,i.actor,i.roster,o,e.thread,e.view]),e.view===`api`?(0,$.jsx)(ST,{}):(0,$.jsxs)(`div`,{style:{height:`100%`,display:`flex`,overflow:`hidden`,position:`relative`},children:[(0,$.jsx)(kE,{actors:t.actors,problem:t.problem,selected:n}),(0,$.jsx)(LT,{roster:i.roster,now:i.at,problem:r,selected:e.thread}),(0,$.jsx)(`main`,{style:{flex:1,display:`flex`,flexDirection:`column`,minWidth:0},children:n!==void 0&&e.thread===void 0&&o&&a.length===0&&r===void 0?(0,$.jsx)(ET,{}):e.thread===void 0?(0,$.jsx)(`div`,{className:`mono pane-empty`,children:t.ready?`select a run`:`loading actors`}):(0,$.jsx)(Ww,{actor:n??`default`,id:e.thread,status:s})})]})},NE=lT();NE!==void 0&&dT(NE);var PE=document.getElementById(`root`);if(PE===null)throw Error(`voyager: index.html has no #root element`);(0,ES.createRoot)(PE).render((0,$.jsx)(_.StrictMode,{children:(0,$.jsx)(ME,{})}));
|
package/ui/index.html
CHANGED
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
rel="stylesheet"
|
|
11
11
|
href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@400;500;600&display=swap"
|
|
12
12
|
/>
|
|
13
|
-
<script type="module" crossorigin src="/assets/index-
|
|
14
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
13
|
+
<script type="module" crossorigin src="/assets/index-q9tUiBh9.js"></script>
|
|
14
|
+
<link rel="stylesheet" crossorigin href="/assets/index-Bzk3OjLD.css">
|
|
15
15
|
</head>
|
|
16
16
|
<body>
|
|
17
17
|
<div id="root"></div>
|