@kvman/kvcoder 0.1.14 → 0.1.16
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/dist/artifacts/ended-url.d.ts +4 -0
- package/dist/artifacts/ended-url.d.ts.map +1 -0
- package/dist/artifacts/ended-url.js +30 -0
- package/dist/artifacts/ended-url.js.map +1 -0
- package/dist/calls/line-run.d.ts +1 -0
- package/dist/calls/line-run.d.ts.map +1 -1
- package/dist/calls/line-run.js +4 -1
- package/dist/calls/line-run.js.map +1 -1
- package/dist/calls/run-tool.d.ts +38 -1
- package/dist/calls/run-tool.d.ts.map +1 -1
- package/dist/calls/run-tool.js +46 -1
- package/dist/calls/run-tool.js.map +1 -1
- package/dist/connector-call.d.ts +7 -2
- package/dist/connector-call.d.ts.map +1 -1
- package/dist/connector-call.js +8 -4
- package/dist/connector-call.js.map +1 -1
- package/dist/connectors/artifact.d.ts.map +1 -1
- package/dist/connectors/artifact.js +10 -2
- package/dist/connectors/artifact.js.map +1 -1
- package/dist/connectors/background.d.ts +1 -1
- package/dist/connectors/background.d.ts.map +1 -1
- package/dist/connectors/background.js +5 -2
- package/dist/connectors/background.js.map +1 -1
- package/dist/connectors/binary.js +2 -2
- package/dist/connectors/binary.js.map +1 -1
- package/dist/connectors/builtin-connectors.d.ts +16 -3
- package/dist/connectors/builtin-connectors.d.ts.map +1 -1
- package/dist/connectors/delegate.d.ts +20 -13
- package/dist/connectors/delegate.d.ts.map +1 -1
- package/dist/connectors/delegate.js +27 -20
- package/dist/connectors/delegate.js.map +1 -1
- package/dist/connectors/execution-map.d.ts +1 -1
- package/dist/connectors/execution-map.d.ts.map +1 -1
- package/dist/connectors/execution-map.js +1 -1
- package/dist/connectors/execution-map.js.map +1 -1
- package/dist/connectors/mcp.d.ts +1 -1
- package/dist/connectors/mcp.d.ts.map +1 -1
- package/dist/connectors/mcp.js +12 -7
- package/dist/connectors/mcp.js.map +1 -1
- package/dist/connectors/payload-fields.d.ts +1 -0
- package/dist/connectors/payload-fields.d.ts.map +1 -1
- package/dist/connectors/payload-fields.js +1 -0
- package/dist/connectors/payload-fields.js.map +1 -1
- package/dist/connectors/shell.d.ts +1 -0
- package/dist/connectors/shell.d.ts.map +1 -1
- package/dist/connectors/shell.js +2 -2
- package/dist/connectors/shell.js.map +1 -1
- package/dist/delegate/approved-run.d.ts.map +1 -1
- package/dist/delegate/approved-run.js +4 -11
- package/dist/delegate/approved-run.js.map +1 -1
- package/dist/delegate/brief.d.ts +34 -0
- package/dist/delegate/brief.d.ts.map +1 -0
- package/dist/delegate/brief.js +84 -0
- package/dist/delegate/brief.js.map +1 -0
- package/dist/delegate/continue-helper.d.ts.map +1 -1
- package/dist/delegate/continue-helper.js +6 -7
- package/dist/delegate/continue-helper.js.map +1 -1
- package/dist/delegate/permission.d.ts +26 -1
- package/dist/delegate/permission.d.ts.map +1 -1
- package/dist/delegate/program-permission.d.ts +1 -1
- package/dist/delegate/runs.d.ts +7 -3
- package/dist/delegate/runs.d.ts.map +1 -1
- package/dist/delegate/runs.js +2 -2
- package/dist/delegate/runs.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/jobs/notify-watch.d.ts +5 -0
- package/dist/jobs/notify-watch.d.ts.map +1 -0
- package/dist/jobs/notify-watch.js +53 -0
- package/dist/jobs/notify-watch.js.map +1 -0
- package/dist/jobs/process-handlers.d.ts.map +1 -1
- package/dist/jobs/process-handlers.js +2 -1
- package/dist/jobs/process-handlers.js.map +1 -1
- package/dist/jobs/process-records.d.ts +4 -1
- package/dist/jobs/process-records.d.ts.map +1 -1
- package/dist/jobs/process-records.js +6 -2
- package/dist/jobs/process-records.js.map +1 -1
- package/dist/jobs/process-report.d.ts +2 -1
- package/dist/jobs/process-report.d.ts.map +1 -1
- package/dist/jobs/process-report.js +8 -5
- package/dist/jobs/process-report.js.map +1 -1
- package/dist/jobs/process-run.d.ts +1 -1
- package/dist/jobs/process-run.d.ts.map +1 -1
- package/dist/jobs/process-run.js +7 -3
- package/dist/jobs/process-run.js.map +1 -1
- package/dist/mcp/connect.d.ts +10 -5
- package/dist/mcp/connect.d.ts.map +1 -1
- package/dist/mcp/connect.js +22 -9
- package/dist/mcp/connect.js.map +1 -1
- package/dist/mcp/servers.d.ts +4 -0
- package/dist/mcp/servers.d.ts.map +1 -1
- package/dist/mcp/servers.js +5 -1
- package/dist/mcp/servers.js.map +1 -1
- package/dist/mcp/turn-servers.d.ts +8 -0
- package/dist/mcp/turn-servers.d.ts.map +1 -0
- package/dist/mcp/turn-servers.js +88 -0
- package/dist/mcp/turn-servers.js.map +1 -0
- package/dist/prompt/build-prompt.d.ts +1 -1
- package/dist/prompt/build-prompt.d.ts.map +1 -1
- package/dist/prompt/build-prompt.js +2 -3
- package/dist/prompt/build-prompt.js.map +1 -1
- package/dist/prompt/kept-rules.d.ts +6 -0
- package/dist/prompt/kept-rules.d.ts.map +1 -0
- package/dist/prompt/kept-rules.js +47 -0
- package/dist/prompt/kept-rules.js.map +1 -0
- package/dist/prompt/project-rules.d.ts +7 -2
- package/dist/prompt/project-rules.d.ts.map +1 -1
- package/dist/prompt/project-rules.js +27 -16
- package/dist/prompt/project-rules.js.map +1 -1
- package/dist/prompt/session-grants.d.ts +16 -23
- package/dist/prompt/session-grants.d.ts.map +1 -1
- package/dist/prompt/session-prompt.d.ts +1 -1
- package/dist/prompt/session-prompt.d.ts.map +1 -1
- package/dist/prompt/session-prompt.js +16 -9
- package/dist/prompt/session-prompt.js.map +1 -1
- package/dist/prompt/working-method.js +7 -7
- package/dist/prompt/working-method.js.map +1 -1
- package/dist/register-settings.d.ts +1 -0
- package/dist/register-settings.d.ts.map +1 -1
- package/dist/register-settings.js +1 -0
- package/dist/register-settings.js.map +1 -1
- package/dist/registry/register-connectors.d.ts +17 -1
- package/dist/registry/register-connectors.d.ts.map +1 -1
- package/dist/registry/register-connectors.js +11 -7
- package/dist/registry/register-connectors.js.map +1 -1
- package/dist/schemas/delegate-brief.d.ts +20 -0
- package/dist/schemas/delegate-brief.d.ts.map +1 -0
- package/dist/schemas/delegate-brief.js +9 -0
- package/dist/schemas/delegate-brief.js.map +1 -0
- package/dist/schemas/kept-rule.d.ts +12 -0
- package/dist/schemas/kept-rule.d.ts.map +1 -0
- package/dist/schemas/kept-rule.js +7 -0
- package/dist/schemas/kept-rule.js.map +1 -0
- package/dist/schemas/mcp-session.d.ts +15 -0
- package/dist/schemas/mcp-session.d.ts.map +1 -0
- package/dist/schemas/mcp-session.js +14 -0
- package/dist/schemas/mcp-session.js.map +1 -0
- package/dist/schemas/process-doc.d.ts +22 -0
- package/dist/schemas/process-doc.d.ts.map +1 -0
- package/dist/schemas/process-doc.js +20 -0
- package/dist/schemas/process-doc.js.map +1 -0
- package/dist/schemas/read-ending.d.ts +8 -0
- package/dist/schemas/read-ending.d.ts.map +1 -0
- package/dist/schemas/read-ending.js +4 -0
- package/dist/schemas/read-ending.js.map +1 -0
- package/dist/schemas/records.d.ts +29 -23
- package/dist/schemas/records.d.ts.map +1 -1
- package/dist/schemas/records.js +14 -16
- package/dist/schemas/records.js.map +1 -1
- package/dist/schemas/registry.d.ts +1 -0
- package/dist/schemas/registry.d.ts.map +1 -1
- package/dist/schemas/registry.js +3 -2
- package/dist/schemas/registry.js.map +1 -1
- package/dist/schemas/sent-record.d.ts +13 -0
- package/dist/schemas/sent-record.d.ts.map +1 -0
- package/dist/schemas/sent-record.js +7 -0
- package/dist/schemas/sent-record.js.map +1 -0
- package/dist/sessions/new-session.d.ts.map +1 -1
- package/dist/sessions/new-session.js +2 -0
- package/dist/sessions/new-session.js.map +1 -1
- package/dist/sessions/session-view.d.ts +7 -2
- package/dist/sessions/session-view.d.ts.map +1 -1
- package/dist/sessions/session-view.js +3 -0
- package/dist/sessions/session-view.js.map +1 -1
- package/dist/store/collections.d.ts +74 -6
- package/dist/store/collections.d.ts.map +1 -1
- package/dist/store/collections.js +6 -0
- package/dist/store/collections.js.map +1 -1
- package/dist/thinking-levels.d.ts +2 -0
- package/dist/thinking-levels.d.ts.map +1 -1
- package/dist/thinking-levels.js +4 -0
- package/dist/thinking-levels.js.map +1 -1
- package/dist/turns/background.d.ts +3 -0
- package/dist/turns/background.d.ts.map +1 -1
- package/dist/turns/background.js +10 -0
- package/dist/turns/background.js.map +1 -1
- package/dist/turns/clear-results.d.ts +2 -2
- package/dist/turns/clear-results.d.ts.map +1 -1
- package/dist/turns/clear-results.js +31 -15
- package/dist/turns/clear-results.js.map +1 -1
- package/dist/turns/collapse.d.ts +12 -0
- package/dist/turns/collapse.d.ts.map +1 -0
- package/dist/turns/collapse.js +67 -0
- package/dist/turns/collapse.js.map +1 -0
- package/dist/turns/connection-wait.d.ts +12 -0
- package/dist/turns/connection-wait.d.ts.map +1 -0
- package/dist/turns/connection-wait.js +56 -0
- package/dist/turns/connection-wait.js.map +1 -0
- package/dist/turns/end-turn-state.js +2 -2
- package/dist/turns/end-turn-state.js.map +1 -1
- package/dist/turns/end-turn.d.ts.map +1 -1
- package/dist/turns/end-turn.js +3 -0
- package/dist/turns/end-turn.js.map +1 -1
- package/dist/turns/history.d.ts +2 -0
- package/dist/turns/history.d.ts.map +1 -1
- package/dist/turns/history.js +1 -0
- package/dist/turns/history.js.map +1 -1
- package/dist/turns/model-context.d.ts +6 -2
- package/dist/turns/model-context.d.ts.map +1 -1
- package/dist/turns/model-context.js +26 -8
- package/dist/turns/model-context.js.map +1 -1
- package/dist/turns/model-retry.d.ts +5 -2
- package/dist/turns/model-retry.d.ts.map +1 -1
- package/dist/turns/model-retry.js +5 -3
- package/dist/turns/model-retry.js.map +1 -1
- package/dist/turns/read-endings.d.ts +8 -0
- package/dist/turns/read-endings.d.ts.map +1 -0
- package/dist/turns/read-endings.js +24 -0
- package/dist/turns/read-endings.js.map +1 -0
- package/dist/turns/run-calls.d.ts +0 -6
- package/dist/turns/run-calls.d.ts.map +1 -1
- package/dist/turns/run-calls.js +24 -26
- package/dist/turns/run-calls.js.map +1 -1
- package/dist/turns/run-command.d.ts +2 -0
- package/dist/turns/run-command.d.ts.map +1 -1
- package/dist/turns/run-command.js +6 -0
- package/dist/turns/run-command.js.map +1 -1
- package/dist/turns/run-scope.d.ts +7 -0
- package/dist/turns/run-scope.d.ts.map +1 -0
- package/dist/turns/run-scope.js +24 -0
- package/dist/turns/run-scope.js.map +1 -0
- package/dist/turns/sent-record.d.ts +4 -0
- package/dist/turns/sent-record.d.ts.map +1 -0
- package/dist/turns/sent-record.js +11 -0
- package/dist/turns/sent-record.js.map +1 -0
- package/dist/turns/settle-calls.d.ts.map +1 -1
- package/dist/turns/settle-calls.js +1 -19
- package/dist/turns/settle-calls.js.map +1 -1
- package/dist/turns/start-turn.js +1 -1
- package/dist/turns/start-turn.js.map +1 -1
- package/dist/turns/step.d.ts.map +1 -1
- package/dist/turns/step.js +36 -9
- package/dist/turns/step.js.map +1 -1
- package/dist/ui/register-ui.js +1 -1
- package/dist/ui/register-ui.js.map +1 -1
- package/dist/web/components/approval.css +1 -1
- package/dist/web/components/call.css +1 -1
- package/dist/web/components/call.js +1 -1
- package/dist/web/components/connectors.css +1 -1
- package/dist/web/components/connectors.js +186 -155
- package/dist/web/components/conversation.css +1 -1
- package/dist/web/components/conversation.js +1391 -1268
- package/dist/web/components/mcp-sign-in.css +1 -1
- package/dist/web/components/model.css +1 -1
- package/dist/web/components/preferences.css +1 -1
- package/dist/web/components/question.css +1 -1
- package/dist/web/components/sessions.css +1 -1
- package/dist/web/components/sessions.js +11 -7
- package/docs/connectors.md +3 -3
- package/locales/ar.json +17 -1
- package/locales/en.json +17 -1
- package/package.json +19 -4
- package/dist/delegate/start-pending.d.ts +0 -5
- package/dist/delegate/start-pending.d.ts.map +0 -1
- package/dist/delegate/start-pending.js +0 -42
- package/dist/delegate/start-pending.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
.kvc-workspace{flex-direction:column;flex:1 1 0;align-self:stretch;block-size:100%;min-block-size:24rem;min-inline-size:min(100%,30rem);display:flex;position:relative;container:kvc-workspace/inline-size}.kvc-stage{flex:1 1 0;min-block-size:0;display:flex;position:relative}.kvc-topline{align-items:stretch;display:flex}.kvc-topline>.kvc-header{background:var(--kv-color-surface);min-inline-size:0;color:var(--kv-color-text);flex:auto}.kvc-new-chat{display:none}.kvc-conversation{background:var(--kv-color-surface);min-inline-size:0;color:var(--kv-color-text);flex-direction:column;flex:1 1 0;display:flex}.kvc-artifact-panel{background:var(--kv-color-surface);border-inline-start:1px solid var(--kv-color-border);flex-direction:column;flex:0 0 min(40%,32rem);min-inline-size:0;display:flex;position:relative;container-type:inline-size}.kvc-artifact-panel[data-sized=true]{flex-basis:clamp(20rem, var(--kvc-panel-width), 70%)}.kvc-panel-resizer{z-index:6;cursor:col-resize;touch-action:none;inline-size:8px;position:absolute;inset-block:0;inset-inline-start:-4px}.kvc-panel-resizer:hover,.kvc-panel-resizer:focus-visible,.kvc-panel-resizer[data-dragging=true]{background:color-mix(in srgb, var(--kv-color-primary) 35%, transparent);outline:none}.kvc-artifact-confirm{justify-content:space-between;align-items:center;gap:var(--kv-space-sm);padding-block:var(--kv-space-sm);padding-inline:var(--kv-space-lg);border-block-end:1px solid var(--kv-color-border);flex-wrap:wrap;display:flex}.kvc-artifact-head{align-items:center;gap:var(--kv-space-sm);padding-block:12px;padding-inline:var(--kv-space-lg);border-block-end:1px solid var(--kv-color-border);display:flex}.kvc-artifact-name .kvc-picker{min-inline-size:0}.kvc-artifact-name .kvc-picker>.kvc-button{justify-content:space-between;max-inline-size:100%}.kvc-artifact-name .kvc-picker-label{min-inline-size:0;max-inline-size:none;font-size:15px;font-weight:600}.kvc-artifact-title{font-size:15px;font-weight:600}.kvc-artifact-name{flex-direction:column;flex:1 1 0;gap:2px;min-inline-size:0;display:flex}.kvc-artifact-name>.kvc-muted{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kvc-tab-icon{display:none}@container (inline-size<=30rem){.kvc-artifact-head{padding-inline:var(--kv-space-md)}.kvc-artifact-actions .kvc-tab{align-items:center;padding-inline:8px;display:flex}.kvc-artifact-actions .kvc-tab-icon{display:block}.kvc-artifact-actions .kvc-tab-text{display:none}}.kvc-artifact-actions{flex:none;align-items:center;gap:6px;margin-inline-start:auto;display:flex}.kvc-button.kvc-icon-button{box-sizing:border-box;flex:none;inline-size:36px;padding-inline:0}.kvc-artifact-body{min-block-size:0;padding-block:var(--kv-space-md);padding-inline:var(--kv-space-lg);flex:auto;overflow:auto}.kvc-artifact-source{font-family:var(--kv-font-mono);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:12px}.kvc-artifact-frame{background:#fff;border:0;block-size:100%;inline-size:100%}@container (inline-size<=48rem){.kvc-artifact-panel{z-index:5;inline-size:min(100%,32rem);position:absolute;inset-block:0;inset-inline-end:0;box-shadow:0 12px 32px #00000024}}@container kvc-workspace (inline-size<=48rem){.kvc-panel-resizer{display:none}}.kvc-header{align-items:center;gap:var(--kv-space-sm);padding-block:4px;padding-inline:var(--kv-space-lg);border-block-end:1px solid var(--kv-color-border);flex-wrap:wrap;display:flex;position:relative}.kvc-title{flex-wrap:wrap;flex:auto;align-items:baseline;column-gap:12px;min-inline-size:0;display:flex}.kvc-header-stats{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kvc-title strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.kvc-muted{color:var(--kv-color-muted);font-size:12.5px}.kvc-tabs{border:1px solid var(--kv-color-border);border-radius:10px;gap:2px;padding:3px;display:flex}.kvc-tab{color:var(--kv-color-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;padding-block:4px;padding-inline:12px}.kvc-tab[aria-selected=true],.kvc-tab[aria-pressed=true]{background:var(--kv-color-background);color:var(--kv-color-text);font-weight:500}.kvc-scrollport{flex-direction:column;flex:auto;min-block-size:0;display:flex;position:relative}.kvc-scroll{flex:auto;min-block-size:0;position:relative;overflow-y:auto}.kvc-jump{inline-size:max-content;margin-inline:auto;position:absolute;inset-block-end:12px;inset-inline:0;box-shadow:0 4px 16px #00000029}.kvc-column{box-sizing:border-box;inline-size:100%;max-inline-size:800px;padding:var(--kv-space-md) var(--kv-space-lg);gap:var(--kv-space-md);overflow-wrap:anywhere;flex-direction:column;margin-inline:auto;display:flex}.kvc-user{background:var(--kv-color-background);border-radius:16px;white-space:pre-wrap;border-end-end-radius:4px;align-self:flex-end;max-inline-size:80%;padding-block:10px;padding-inline:14px}.kvc-queued{border:1px dashed var(--kv-color-border);background:0 0}.kvc-answer{gap:var(--kv-space-sm);flex-direction:column;display:flex}.kvc-card{border:1px solid var(--kv-color-border);border-radius:var(--kv-radius);background:var(--kv-color-background);overflow:hidden}.kvc-card-row{align-items:center;gap:10px;padding-block:9px;padding-inline:12px;display:flex}.kvc-card-body{border-block-start:1px solid var(--kv-color-border);gap:var(--kv-space-sm);flex-direction:column;padding-block:10px;padding-inline:14px;display:flex}.kvc-lines{text-align:start;flex-direction:column;flex:auto;gap:2px;min-inline-size:0;display:flex}.kvc-failed{border-color:var(--kv-color-danger)}.kvc-mono{font-family:var(--kv-font-mono);overflow-wrap:anywhere;direction:ltr;unicode-bidi:isolate;font-size:12.5px}.kvc-card-row>.kvc-muted,.kvc-card-row>.kvc-chip{white-space:nowrap;flex:none}.kvc-card-row>svg{flex:none}.kvc-output{background:var(--kv-color-surface);color:var(--kv-color-text);font-family:var(--kv-font-mono);white-space:pre-wrap;overflow-wrap:anywhere;max-block-size:320px;margin:0;padding:10px 14px;font-size:12px;overflow-y:auto}.kvc-output+.kvc-output{border-block-start:1px solid var(--kv-color-border)}.kvc-output-block>.kvc-output{max-block-size:none;overflow-y:visible}.kvc-output .kvc-link{color:inherit;text-underline-offset:2px;text-decoration:underline}.kvc-chip{white-space:nowrap;border:1px solid var(--kv-color-border);border-radius:999px;align-items:center;gap:4px;padding-block:2px;padding-inline:8px;font-size:12px;font-weight:500;display:inline-flex}.kvc-ok{color:var(--kv-color-success)}.kvc-warn{color:var(--kv-color-warning)}.kvc-sign-in-failed,.kvc-danger{color:var(--kv-color-danger)}.kvc-notice{align-items:center;gap:var(--kv-space-sm);color:var(--kv-color-muted);font-size:13px;display:flex}.kvc-notice:before,.kvc-notice:after{content:"";background:var(--kv-color-border);flex:auto;block-size:1px}.kvc-ask{border-color:var(--kv-color-warning)}.kvc-option{border:1px solid var(--kv-color-border);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.kvc-option:has(input:checked){border-color:var(--kv-color-primary);background:color-mix(in srgb, var(--kv-color-primary) 8%, var(--kv-color-surface))}.kvc-answered-option{color:var(--kv-color-muted);align-items:flex-start;gap:10px;display:flex}.kvc-answered-option[data-chosen=true]{color:var(--kv-color-text);font-weight:500}.kvc-answered-option>svg{flex:none;margin-block-start:3px}.kvc-answered-gap{flex:0 0 16px}.kvc-sr{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.kvc-button{border:1px solid var(--kv-color-border);background:var(--kv-color-surface);min-block-size:36px;color:var(--kv-color-text);font:inherit;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding-inline:14px;font-weight:500;display:inline-flex}a.kvc-button{color:inherit;text-decoration:none}.kvc-button:disabled{opacity:.5;cursor:default}.kvc-primary,.kvc-decide[aria-pressed=true]{background:var(--kv-color-primary);border-color:var(--kv-color-primary);color:var(--kv-color-on-primary)}.kvc-ghost{background:0 0;border-color:#0000}.kvc-actions{gap:var(--kv-space-sm);flex-wrap:wrap;justify-content:flex-end;display:flex}.kvc-actions>.kvc-button{white-space:nowrap;flex:none}.kvc-composer{z-index:2;background:var(--kv-color-surface);padding-block:12px 18px;padding-inline:var(--kv-space-lg);position:sticky;inset-block-end:0}.kvc-box{box-sizing:border-box;border:1px solid var(--kv-color-border);background:var(--kv-color-surface);gap:var(--kv-space-sm);border-radius:16px;flex-direction:column;max-inline-size:760px;margin-inline:auto;padding:10px 12px;display:flex}.kvc-field{box-sizing:border-box;border:1px solid var(--kv-color-border);background:var(--kv-color-surface);inline-size:100%;color:inherit;font:inherit;border-radius:10px;padding-block:8px;padding-inline:12px}.kvc-field:disabled{opacity:.6;cursor:not-allowed}.kvc-box textarea{resize:none;color:inherit;font:inherit;background:0 0;border:0;outline:none;min-block-size:44px}.kvc-start{justify-content:safe center;gap:var(--kv-space-lg);min-height:0;padding:var(--kv-space-lg);flex-direction:column;flex:auto;display:flex;overflow-y:auto}.kvc-start-note{text-align:center;margin:0}.kvc-link-button{color:var(--kv-color-primary);font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.kvc-start h1{text-align:center;margin:0;font-size:26px;font-weight:600}.kvc-sessions{box-sizing:border-box;border-inline-end:1px solid var(--kv-color-border);flex-direction:column;flex:none;align-self:stretch;gap:2px;max-block-size:100%;inline-size:272px;padding:14px 12px;display:flex;overflow-y:auto}.kvc-session{min-block-size:44px;color:inherit;font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding-inline:10px;display:flex}.kvc-session[aria-current=page]{background:color-mix(in srgb, var(--kv-color-primary) 16%, var(--kv-color-surface));font-weight:600}.kvc-session .kvc-muted,.kvc-session .kvc-chip{white-space:nowrap;flex:none}.kvc-session span:first-child{text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.kvc-group{color:var(--kv-color-muted);padding-block:12px 4px;padding-inline:10px;font-size:12px;font-weight:600}.kvc-spin{border:2px solid var(--kv-color-border);border-block-start-color:var(--kv-color-primary);border-radius:50%;flex:none;block-size:14px;inline-size:14px;animation:.9s linear infinite kvc-spin}.kvc-menu{z-index:10;border:1px solid var(--kv-color-border);background:var(--kv-color-surface);border-radius:12px;flex-direction:column;min-inline-size:220px;padding:6px;display:flex;position:absolute;inset-block-start:100%;inset-inline-end:0;box-shadow:0 12px 32px #00000024}.kvc-menu button{text-align:start;justify-content:flex-start}.kvc-prompt{padding:var(--kv-space-md);border:1px solid var(--kv-color-border);border-radius:var(--kv-radius);background:var(--kv-color-background);font-family:var(--kv-font-mono);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:12px}.kvc-activity{border:1px solid var(--kv-color-border);border-radius:var(--kv-radius);background:var(--kv-color-background);align-items:center;gap:10px;padding-block:8px;padding-inline:12px;font-size:13.5px;display:flex}.kvc-activity-text{flex-direction:column;flex:auto;gap:6px;min-inline-size:0;display:flex}.kvc-activity-call{flex-direction:column;gap:2px;display:flex}.kvc-oneline{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kvc-fold-words{text-align:start;flex:auto}.kvc-fold-failed{color:var(--kv-color-danger)}.kvc-picker{position:relative}.kvc-picker-label{text-overflow:ellipsis;white-space:nowrap;max-inline-size:16rem;overflow:hidden}.kvc-popover{z-index:20;box-sizing:border-box;inline-size:min(26rem, calc(100cqw - 2 * var(--kv-space-lg)));border:1px solid var(--kv-color-border);background:var(--kv-color-surface);border-radius:12px;flex-direction:column;gap:6px;padding:8px;display:flex;position:absolute;inset-block-start:calc(100% + 6px);inset-inline-start:0;box-shadow:0 12px 32px #00000024}.kvc-choices{inline-size:max-content;min-inline-size:10rem;max-inline-size:min(22rem, calc(100cqw - 2 * var(--kv-space-md)));gap:2px;max-block-size:18rem;overflow-y:auto}.kvc-choices>.kvc-model{flex:none}.kvc-popover-start{inset-inline:auto 0}.kvc-recovery{align-items:center;gap:var(--kv-space-sm);flex-wrap:wrap;display:flex}.kvc-recovery .kvc-popover{inset-block:auto calc(100% + 6px)}.kvc-search{border:1px solid var(--kv-color-border);border-radius:10px;align-items:center;gap:8px;padding-inline:10px;display:flex}.kvc-search input{min-inline-size:0;color:inherit;font:inherit;background:0 0;border:0;outline:none;flex:auto;padding-block:8px}.kvc-options{flex-direction:column;max-block-size:18rem;display:flex;overflow-y:auto}.kvc-model{cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding-block:7px;padding-inline:10px;display:flex}.kvc-model[data-active=true]{background:var(--kv-color-background)}.kvc-model[aria-selected=true]{font-weight:600}.kvc-model-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kvc-none,.kvc-count{margin:0;padding-inline:10px}@keyframes kvc-spin{to{transform:rotate(360deg)}}.kvc-dot{background:var(--kv-color-success);border-radius:50%;flex:none;block-size:8px;inline-size:8px}.kvc-jobs-panel{max-block-size:70vh;inline-size:min(32rem,100%);inset-inline:auto 0;overflow-y:auto}.kvc-job{border:1px solid var(--kv-color-border);border-radius:8px;flex-direction:column;gap:6px;padding:8px;display:flex}.kvc-job-head{justify-content:space-between;align-items:center;gap:8px;min-inline-size:0;display:flex}.kvc-job-title{flex:auto;min-inline-size:0;font-weight:600}.kvc-job-head>.kvc-muted,.kvc-job-head>.kvc-chip{white-space:nowrap;flex:none}.kvc-job-links{flex-wrap:wrap;gap:4px 12px;display:flex}.kvc-job-links .kvc-link{color:var(--kv-color-primary);text-underline-offset:2px;text-decoration:underline}.kvc-job .kvc-output{background:var(--kv-color-background);border-radius:8px}.kvc-connectors{flex-direction:column;display:flex}.kvc-connectors-state{flex-wrap:wrap;align-items:center;gap:10px;padding-block-end:8px;display:flex}.kvc-text-button{color:var(--kv-color-primary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;font-weight:500}.kvc-text-button:disabled{opacity:.5;cursor:default}.kvc-connector{border-block-end:1px solid var(--kv-color-border);align-items:center;gap:16px;padding-block:12px;display:flex}.kvc-connector:last-child{border-block-end:0}.kvc-connector-text{flex-direction:column;flex:1;gap:2px;min-inline-size:0;display:flex}.kvc-connector-name{font-size:13.5px;font-weight:600}.kvc-switch{background:var(--kv-color-border);cursor:pointer;border:0;border-radius:999px;flex:none;align-items:center;block-size:24px;inline-size:40px;padding:2px;transition:background-color .12s;display:flex}.kvc-switch[aria-checked=true]{background:var(--kv-color-primary)}.kvc-switch:disabled{opacity:.5;cursor:default}.kvc-switch-knob{background:var(--kv-color-surface);border-radius:999px;block-size:20px;inline-size:20px;transition:margin-inline-start .12s}.kvc-switch[aria-checked=true] .kvc-switch-knob{margin-inline-start:16px}.kvc-setting{border-block-end:1px solid var(--kv-color-border);flex-wrap:wrap;align-items:flex-start;gap:24px;padding-block:16px;display:flex}.kvc-setting-text{flex-direction:column;flex:20rem;gap:4px;min-inline-size:15rem;display:flex}.kvc-setting-title{font-weight:600}.kvc-setting-control{flex-direction:column;gap:8px;inline-size:22.5rem;max-inline-size:100%;display:flex}.kvc-setting .kvc-picker>.kvc-button{justify-content:space-between;inline-size:100%}.kvc-setting .kvc-picker-label{max-inline-size:none}.kvc-setting .kvc-popover{inline-size:100%}.kvc-setting .kvc-connectors-state{padding-block-end:0}.kvc-connector-actions{flex:none;align-items:center;gap:8px;display:flex}.kvc-dialog-backdrop{z-index:40;padding:var(--kv-space-md);background:#00000059;place-items:center;display:grid;position:fixed;inset:0}.kvc-dialog{box-sizing:border-box;gap:var(--kv-space-sm);inline-size:100%;max-inline-size:44rem;max-block-size:calc(100dvh - 2 * var(--kv-space-md));background:var(--kv-color-surface);color:var(--kv-color-text);padding:var(--kv-space-lg);border-radius:16px;outline:none;flex-direction:column;display:flex;overflow-y:auto;box-shadow:0 20px 50px #00000040}.kvc-dialog-head{align-items:flex-start;gap:12px;display:flex}.kvc-dialog-title{font-size:16px;font-weight:600}.kvc-dialog-rows{flex-direction:column;display:flex}.kvc-dialog-rows>.kvc-setting:last-child{border-block-end:0;padding-block-end:0}.kvc-server{align-items:flex-start}.kvc-server-state{flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;font-weight:500;display:flex}.kvc-server-state[data-status=ready]{color:var(--kv-color-success)}.kvc-server-state[data-status=failed],.kvc-server-state[data-status=signInNeeded]{color:var(--kv-color-warning)}.kvc-server-state[data-status=checking]{color:var(--kv-color-muted)}.kvc-server-reason{overflow-wrap:anywhere;white-space:pre-wrap}.kvc-server-sign-in{align-self:flex-start;margin-block-start:6px}.kvc-sign-in{max-inline-size:32rem;padding:var(--kv-space-lg);text-align:center;flex-direction:column;align-items:center;gap:8px;margin-inline:auto;display:flex}.kvc-sign-in-done{color:var(--kv-color-success)}.kvc-sign-in-failed{color:var(--kv-color-danger)}.kvc-danger{background:var(--kv-color-danger);border-color:var(--kv-color-danger);color:var(--kv-color-on-primary)}.kvc-form{gap:var(--kv-space-md);flex-direction:column;padding-block-start:var(--kv-space-sm);display:flex}.kvc-form-field{flex-direction:column;gap:6px;display:flex}.kvc-form-label{padding:0;font-weight:600}.kvc-confirm{border:1px solid var(--kv-color-danger);border-radius:var(--kv-radius);flex-direction:column;gap:8px;padding:12px;display:flex}.kvc-preferences{resize:vertical;min-block-size:6rem;inline-size:100%}.kvc-remember{margin-block-start:4px;display:block}.kvc-fold-body{border-block-start:1px solid var(--kv-color-border);flex-direction:column;gap:6px;padding:6px 8px 8px;display:flex}.kvc-final{border-inline-start:3px solid var(--kv-color-primary);padding-inline-start:12px}.kvc-headline>summary{cursor:pointer;padding-block:2px;font-weight:600;list-style-position:inside}.kvc-headline>p{margin-block:4px 0}.kvc-changes{flex-direction:column;gap:8px;display:flex}.kvc-change-head{text-align:start;flex:auto;align-items:center;gap:8px;min-inline-size:0;display:flex}.kvc-diff>[data-kind=added]{color:var(--kv-color-success,inherit);background:color-mix(in srgb, var(--kv-color-success,green) 12%, transparent)}.kvc-diff>[data-kind=removed]{color:var(--kv-color-danger);background:color-mix(in srgb, var(--kv-color-danger) 12%, transparent)}.kvc-diff>[data-kind=hunk],.kvc-diff>[data-kind=head]{color:var(--kv-color-muted,inherit)}.kvc-picker-icon{flex:none;display:none}.kvc-artifact-name .kvc-picker>.kvc-button{min-block-size:0;padding-block:2px}.kvc-decide{white-space:nowrap}@container kvc-workspace (inline-size<=30rem){.kvc-composer-row .kvc-picker-icon{display:block}.kvc-composer-row .kvc-picker-label{display:none}}.kvc-chats-bar{display:none}@media (width<=60rem){.kvc-sessions{display:none}.kvc-drawer .kvc-sessions{border-inline-end:0;inline-size:100%;display:flex}.kvc-topline{background:var(--kv-color-surface);border-block-end:1px solid var(--kv-color-border)}.kvc-chats-bar,.kvc-new-chat{align-items:center;display:flex}.kvc-chats-bar{padding-inline-start:var(--kv-space-sm)}.kvc-new-chat{padding-inline-end:var(--kv-space-sm)}.kvc-topline>.kvc-header{padding-inline:var(--kv-space-sm);border-block-end:0}}:root:has(.kvc-artifact-panel) .kvc-sessions{display:none}:root:has(.kvc-artifact-panel) .kvc-drawer .kvc-sessions{border-inline-end:0;inline-size:100%;display:flex}:root:has(.kvc-artifact-panel) .kvc-topline{background:var(--kv-color-surface);border-block-end:1px solid var(--kv-color-border)}:is(:root:has(.kvc-artifact-panel) .kvc-chats-bar,:root:has(.kvc-artifact-panel) .kvc-new-chat){align-items:center;display:flex}:root:has(.kvc-artifact-panel) .kvc-chats-bar{padding-inline-start:var(--kv-space-sm)}:root:has(.kvc-artifact-panel) .kvc-new-chat{padding-inline-end:var(--kv-space-sm)}:root:has(.kvc-artifact-panel) .kvc-topline>.kvc-header{padding-inline:var(--kv-space-sm);border-block-end:0}.kvc-composer{container:kvc-composer/inline-size}@container kvc-composer (inline-size<=36rem){.kvc-composer-row .kvc-picker-icon{display:block}.kvc-composer-row .kvc-picker-label,.kvc-composer-row .kvc-picker-chevron{display:none}.kvc-composer-hint{visibility:hidden}}.kvc-segments{gap:4px;display:flex}.kvc-segments>.kvc-button[aria-pressed=true]{background:var(--kv-color-primary);color:var(--kv-color-on-primary);border-color:var(--kv-color-primary)}.kvc-choice-note{font-size:12px}.kvc-drawer-backdrop{z-index:40;background:#00000059;position:fixed;inset:0}.kvc-drawer{background:var(--kv-color-surface);inline-size:min(85vw,20rem);position:absolute;inset-block:0;inset-inline-start:0;overflow-y:auto;box-shadow:0 12px 32px #0003}.kvc-rules{flex-direction:column;gap:6px;margin-block-start:8px;display:flex}.kvc-rule{justify-content:space-between;align-items:center;gap:12px;display:flex}.kvc-form-error{color:var(--kv-color-danger);font-size:12.5px}.kvc-form-choice{gap:var(--kv-space-md);border:0;flex-wrap:wrap;margin:0;padding:0;display:flex}.kvc-form-choice>legend{margin-block-end:6px}.kvc-form-radio{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.kvc-form-value{grid-template-columns:minmax(0,2fr) minmax(0,3fr) auto;align-items:center;gap:8px;display:grid}.kvc-form-set{align-items:center;gap:10px;display:flex}.kvc-form-add{align-self:flex-start;align-items:center;gap:4px;display:inline-flex}.kvc-form textarea.kvc-field{resize:vertical}.kvc-box{position:relative}.kvc-composer-row{align-items:center;gap:8px;display:flex}.kvc-composer-hint{text-overflow:ellipsis;white-space:nowrap;flex:1 1 0;min-inline-size:0;overflow:hidden}.kvc-composer-row .kvc-picker{flex:0 auto;min-inline-size:0}.kvc-composer-row .kvc-picker>.kvc-button{max-inline-size:100%}.kvc-composer-row .kvc-picker-label{min-inline-size:0}.kvc-composer .kvc-popover{inset-block:auto calc(100% + 6px)}@container kvc-workspace (inline-size<=30rem){.kvc-composer-row{flex-wrap:wrap;gap:4px}.kvc-composer-row .kvc-picker{flex:none}.kvc-composer-row .kvc-button{min-block-size:32px;padding-inline:8px}.kvc-composer-row .kvc-picker-chevron{display:none}.kvc-composer-hint{visibility:hidden}.kvc-composer{padding-block:8px 10px;padding-inline:var(--kv-space-md)}.kvc-box{border-radius:12px;padding:8px}}.kvc-slash{z-index:20;border:1px solid var(--kv-color-border);background:var(--kv-color-surface);border-radius:12px;flex-direction:column;padding:6px;display:flex;position:absolute;inset-block-end:calc(100% + 6px);inset-inline:0;box-shadow:0 12px 32px #00000024}.kvc-slash-row{cursor:pointer;border-radius:8px;align-items:baseline;gap:12px;padding-block:7px;padding-inline:10px;display:flex}.kvc-slash-row[data-active=true]{background:var(--kv-color-background)}.kvc-slash-name{flex:0 0 9rem}.kvc-slash-row .kvc-mono{font-size:13px;font-weight:600}.kvc-call-parts{border-block-start:1px solid var(--kv-color-border);margin:0;padding-block:8px;padding-inline:14px}.kvc-summary{flex-wrap:wrap;align-items:baseline;column-gap:8px;min-inline-size:0;font-size:13px;display:flex}.kvc-summary>.kvc-mono{min-inline-size:0}.kvc-block{border-block-start:1px solid var(--kv-color-border);margin:0;padding-block:8px;font-size:13px}.kvc-block:not(.kvc-code-lines){padding-inline:14px}.kvc-code-lines{font-family:var(--kv-font-mono);font-size:12px;line-height:1.55}.kvc-code-line{gap:8px;min-block-size:1.55em;padding-inline:14px;display:flex}.kvc-code-line[data-kind=removed]{background:color-mix(in srgb, var(--kv-color-danger) 14%, transparent)}.kvc-code-line[data-kind=added]{background:color-mix(in srgb, var(--kv-color-success) 14%, transparent)}.kvc-line-number{text-align:end;min-inline-size:3ch;color:var(--kv-color-muted);-webkit-user-select:none;user-select:none;flex:none}.kvc-line-mark{color:var(--kv-color-muted);-webkit-user-select:none;user-select:none;flex:0 0 1ch}.kvc-line-text{white-space:pre-wrap;overflow-wrap:anywhere;flex:auto;min-inline-size:0}.kvc-code-lines .kvc-link,.kvc-fields .kvc-link,.kvc-error .kvc-link{color:var(--kv-color-primary);text-underline-offset:2px;text-decoration:underline}.kvc-prose-lines{font-family:inherit;font-size:13px}.kvc-fold{margin-block-start:6px;margin-inline:14px;display:block}.kvc-output-block{border-block-start:1px solid var(--kv-color-border)}.kvc-output-block>.kvc-fold{margin-block:6px}.kvc-error{color:var(--kv-color-danger);white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit}.kvc-entries{flex-direction:column;gap:2px;display:flex}.kvc-entry{align-items:center;gap:8px;display:flex}.kvc-entry>.kvc-mono{flex:auto;min-inline-size:0}.kvc-file-path{padding-block-end:4px;font-weight:600}.kvc-block>.kvc-code-lines>.kvc-code-line{padding-inline:0}.kvc-block>.kvc-code-lines>.kvc-fold{margin-inline:0}.kvc-fields{grid-template-columns:minmax(6rem,max-content) minmax(0,1fr);gap:4px 12px;margin:0;display:grid}.kvc-field-row{display:contents}.kvc-steps{gap:6px;padding-inline-start:0;list-style:none;display:grid}.kvc-step-arguments{padding-block-start:2px;padding-inline-start:1.5rem}.kvc-field-row>dt{font-family:var(--kv-font-mono);font-size:12px}.kvc-field-row>dd{overflow-wrap:anywhere;min-inline-size:0;margin:0}.kvc-field-block>.kvc-code-line,.kvc-field-block>.kvc-fold{margin-inline:0;padding-inline:0}.kvc-field-table{overflow-x:auto}.kvc-field-table table{border-collapse:collapse;font-size:12.5px}.kvc-field-table th,.kvc-field-table td{text-align:start;vertical-align:top;padding-block:3px;padding-inline:0 14px}.kvc-field-table th{color:var(--kv-color-muted);font-weight:500;font-family:var(--kv-font-mono);font-size:12px}.kvc-field-items{flex-direction:column;gap:2px;display:flex}.kvc-approval{border-block-start:1px solid var(--kv-color-border)}.kvc-approval>.kvc-actions{padding-block-start:0}.kvc-always>.kvc-link-button{margin-inline-end:auto}.kvc-reason,.kvc-always{flex-wrap:wrap;align-items:center;padding-block-start:0}.kvc-reason>textarea{flex:16rem}.kvc-always>input{flex:0 14rem;min-inline-size:8rem}.kvc-run-row{align-items:baseline;gap:10px;display:flex}.kvc-run-row>.kvc-run-call{flex:auto;min-inline-size:0}.kvc-run-row>.kvc-chip,.kvc-run-row>.kvc-muted{white-space:nowrap;flex:none}:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .kvc-flip{transform:scaleX(-1)}.kvc-slash-row[aria-disabled=true]{opacity:.55;cursor:default}.kvc-button:focus-visible,.kvc-text-button:focus-visible,.kvc-link-button:focus-visible,.kvc-session:focus-visible,.kvc-switch:focus-visible,.kvc-chip-remove:focus-visible{outline:2px solid var(--kv-color-primary);outline-offset:2px}.kvc-box:focus-within,.kvc-search:focus-within{outline:2px solid var(--kv-color-primary);outline-offset:1px}.kvc-chip-remove{min-block-size:20px;padding:0}@media (pointer:coarse){.kvc-button{min-block-size:44px}.kvc-button.kvc-icon-button{inline-size:44px}.kvc-text-button,.kvc-link-button{align-items:center;min-block-size:44px;display:inline-flex}.kvc-chip-remove{min-block-size:44px;min-inline-size:44px}.kvc-switch{position:relative}.kvc-switch:after{content:"";position:absolute;inset-block:-10px;inset-inline:-2px}}
|
|
1
|
+
.kvc-header .kvc-title strong,.kvc-session .kvc-session-title{text-align:match-parent}.kvc-jobs .kvc-jobs-icon,.kvc-jobs .kvc-jobs-count{display:none}@container kvc-workspace (inline-size<=30rem){.kvc-workspace .kvc-header{flex-wrap:nowrap}.kvc-workspace .kvc-title{flex-flow:column;flex:1 1 0;align-items:stretch}.kvc-workspace .kvc-header{gap:4px}.kvc-workspace .kvc-chats-bar>.kvc-button,.kvc-workspace .kvc-header>.kvc-button,.kvc-workspace .kvc-jobs>.kvc-button,.kvc-workspace .kvc-header [data-test=chat-menu]{padding-inline:8px}.kvc-jobs .kvc-jobs-words,.kvc-jobs .kvc-jobs-chevron{display:none}.kvc-jobs .kvc-jobs-icon,.kvc-jobs .kvc-jobs-count{display:inline-block}.kvc-workspace .kvc-start h1{font-size:20px}.kvc-artifact-panel .kvc-artifact-head{flex-wrap:wrap;row-gap:8px}.kvc-artifact-panel .kvc-artifact-name{flex:1 0 100%}.kvc-artifact-panel .kvc-artifact-body{overflow-wrap:anywhere}}.kvc-workspace{flex-direction:column;flex:1 1 0;align-self:stretch;block-size:100%;min-block-size:24rem;min-inline-size:min(100%,30rem);display:flex;position:relative;container:kvc-workspace/inline-size}.kvc-stage{flex:1 1 0;min-block-size:0;display:flex;position:relative}.kvc-topline{align-items:stretch;display:flex}.kvc-topline>.kvc-header{background:var(--kv-color-surface);min-inline-size:0;color:var(--kv-color-text);flex:auto}.kvc-new-chat{display:none}.kvc-conversation{background:var(--kv-color-surface);min-inline-size:0;color:var(--kv-color-text);flex-direction:column;flex:1 1 0;display:flex}.kvc-artifact-panel{background:var(--kv-color-surface);border-inline-start:1px solid var(--kv-color-border);flex-direction:column;flex:0 0 min(40%,32rem);min-inline-size:0;display:flex;position:relative;container-type:inline-size}.kvc-artifact-panel[data-sized=true]{flex-basis:clamp(20rem, var(--kvc-panel-width), 70%)}.kvc-panel-resizer{z-index:6;cursor:col-resize;touch-action:none;inline-size:8px;position:absolute;inset-block:0;inset-inline-start:-4px}.kvc-panel-resizer:hover,.kvc-panel-resizer:focus-visible,.kvc-panel-resizer[data-dragging=true]{background:color-mix(in srgb, var(--kv-color-primary) 35%, transparent);outline:none}.kvc-artifact-confirm{justify-content:space-between;align-items:center;gap:var(--kv-space-sm);padding-block:var(--kv-space-sm);padding-inline:var(--kv-space-lg);border-block-end:1px solid var(--kv-color-border);flex-wrap:wrap;display:flex}.kvc-artifact-head{align-items:center;gap:var(--kv-space-sm);padding-block:12px;padding-inline:var(--kv-space-lg);border-block-end:1px solid var(--kv-color-border);display:flex}.kvc-artifact-name .kvc-picker{min-inline-size:0}.kvc-artifact-name .kvc-picker>.kvc-button{justify-content:space-between;max-inline-size:100%}.kvc-artifact-name .kvc-picker-label{min-inline-size:0;max-inline-size:none;font-size:15px;font-weight:600}.kvc-artifact-title{font-size:15px;font-weight:600}.kvc-artifact-name{flex-direction:column;flex:1 1 0;gap:2px;min-inline-size:0;display:flex}.kvc-artifact-name>.kvc-muted{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kvc-tab-icon{display:none}@container (inline-size<=30rem){.kvc-artifact-head{padding-inline:var(--kv-space-md)}.kvc-artifact-actions .kvc-tab{align-items:center;padding-inline:8px;display:flex}.kvc-artifact-actions .kvc-tab-icon{display:block}.kvc-artifact-actions .kvc-tab-text{display:none}}.kvc-artifact-actions{flex:none;align-items:center;gap:6px;margin-inline-start:auto;display:flex}.kvc-button.kvc-icon-button{box-sizing:border-box;flex:none;inline-size:36px;padding-inline:0}.kvc-artifact-body{min-block-size:0;padding-block:var(--kv-space-md);padding-inline:var(--kv-space-lg);flex:auto;overflow:auto}.kvc-artifact-source{font-family:var(--kv-font-mono);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:12px}.kvc-artifact-frame{background:#fff;border:0;block-size:100%;inline-size:100%}@container (inline-size<=48rem){.kvc-artifact-panel{z-index:5;inline-size:min(100%,32rem);position:absolute;inset-block:0;inset-inline-end:0;box-shadow:0 12px 32px #00000024}}@container kvc-workspace (inline-size<=48rem){.kvc-panel-resizer{display:none}}.kvc-header{align-items:center;gap:var(--kv-space-sm);padding-block:4px;padding-inline:var(--kv-space-lg);border-block-end:1px solid var(--kv-color-border);flex-wrap:wrap;display:flex;position:relative}.kvc-title{flex-wrap:wrap;flex:auto;align-items:baseline;column-gap:12px;min-inline-size:0;display:flex}.kvc-header-stats{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kvc-title strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.kvc-muted{color:var(--kv-color-muted);font-size:12.5px}.kvc-tabs{border:1px solid var(--kv-color-border);border-radius:10px;gap:2px;padding:3px;display:flex}.kvc-tab{color:var(--kv-color-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;padding-block:4px;padding-inline:12px}.kvc-tab[aria-selected=true],.kvc-tab[aria-pressed=true]{background:var(--kv-color-background);color:var(--kv-color-text);font-weight:500}.kvc-scrollport{flex-direction:column;flex:auto;min-block-size:0;display:flex;position:relative}.kvc-scroll{flex:auto;min-block-size:0;position:relative;overflow-y:auto}.kvc-jump{inline-size:max-content;margin-inline:auto;position:absolute;inset-block-end:12px;inset-inline:0;box-shadow:0 4px 16px #00000029}.kvc-column{box-sizing:border-box;inline-size:100%;max-inline-size:800px;padding:var(--kv-space-md) var(--kv-space-lg);gap:var(--kv-space-md);overflow-wrap:anywhere;flex-direction:column;margin-inline:auto;display:flex}.kvc-user{background:var(--kv-color-background);border-radius:16px;white-space:pre-wrap;border-end-end-radius:4px;align-self:flex-end;max-inline-size:80%;padding-block:10px;padding-inline:14px}.kvc-queued{border:1px dashed var(--kv-color-border);background:0 0}.kvc-answer{gap:var(--kv-space-sm);flex-direction:column;display:flex}.kvc-card{border:1px solid var(--kv-color-border);border-radius:var(--kv-radius);background:var(--kv-color-background);overflow:hidden}.kvc-card-row{align-items:center;gap:10px;padding-block:9px;padding-inline:12px;display:flex}.kvc-card-body{border-block-start:1px solid var(--kv-color-border);gap:var(--kv-space-sm);flex-direction:column;padding-block:10px;padding-inline:14px;display:flex}.kvc-lines{text-align:start;flex-direction:column;flex:auto;gap:2px;min-inline-size:0;display:flex}.kvc-failed{border-color:var(--kv-color-danger)}.kvc-mono{font-family:var(--kv-font-mono);overflow-wrap:anywhere;direction:ltr;unicode-bidi:isolate;font-size:12.5px}.kvc-card-row>.kvc-muted,.kvc-card-row>.kvc-chip{white-space:nowrap;flex:none}.kvc-card-row>svg{flex:none}.kvc-output{background:var(--kv-color-surface);color:var(--kv-color-text);font-family:var(--kv-font-mono);white-space:pre-wrap;overflow-wrap:anywhere;max-block-size:320px;margin:0;padding:10px 14px;font-size:12px;overflow-y:auto}.kvc-output+.kvc-output{border-block-start:1px solid var(--kv-color-border)}.kvc-output-block>.kvc-output{max-block-size:none;overflow-y:visible}.kvc-output .kvc-link{color:inherit;text-underline-offset:2px;text-decoration:underline}.kvc-chip{white-space:nowrap;border:1px solid var(--kv-color-border);border-radius:999px;align-items:center;gap:4px;padding-block:2px;padding-inline:8px;font-size:12px;font-weight:500;display:inline-flex}.kvc-ok{color:var(--kv-color-success)}.kvc-warn{color:var(--kv-color-warning)}.kvc-sign-in-failed,.kvc-danger{color:var(--kv-color-danger)}.kvc-notice{align-items:center;gap:var(--kv-space-sm);color:var(--kv-color-muted);font-size:13px;display:flex}.kvc-notice:before,.kvc-notice:after{content:"";background:var(--kv-color-border);flex:auto;block-size:1px}.kvc-ask{border-color:var(--kv-color-warning)}.kvc-option{border:1px solid var(--kv-color-border);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.kvc-option:has(input:checked){border-color:var(--kv-color-primary);background:color-mix(in srgb, var(--kv-color-primary) 8%, var(--kv-color-surface))}.kvc-answered-option{color:var(--kv-color-muted);align-items:flex-start;gap:10px;display:flex}.kvc-answered-option[data-chosen=true]{color:var(--kv-color-text);font-weight:500}.kvc-answered-option>svg{flex:none;margin-block-start:3px}.kvc-answered-gap{flex:0 0 16px}.kvc-sr{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.kvc-button{border:1px solid var(--kv-color-border);background:var(--kv-color-surface);min-block-size:36px;color:var(--kv-color-text);font:inherit;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding-inline:14px;font-weight:500;display:inline-flex}a.kvc-button{color:inherit;text-decoration:none}.kvc-button:disabled{opacity:.5;cursor:default}.kvc-primary,.kvc-decide[aria-pressed=true]{background:var(--kv-color-primary);border-color:var(--kv-color-primary);color:var(--kv-color-on-primary)}.kvc-ghost{background:0 0;border-color:#0000}.kvc-actions{gap:var(--kv-space-sm);flex-wrap:wrap;justify-content:flex-end;display:flex}.kvc-actions>.kvc-button{white-space:nowrap;flex:none}.kvc-composer{z-index:2;background:var(--kv-color-surface);padding-block:12px 18px;padding-inline:var(--kv-space-lg);position:sticky;inset-block-end:0}.kvc-box{box-sizing:border-box;border:1px solid var(--kv-color-border);background:var(--kv-color-surface);gap:var(--kv-space-sm);border-radius:16px;flex-direction:column;max-inline-size:760px;margin-inline:auto;padding:10px 12px;display:flex}.kvc-field{box-sizing:border-box;border:1px solid var(--kv-color-border);background:var(--kv-color-surface);inline-size:100%;color:inherit;font:inherit;border-radius:10px;padding-block:8px;padding-inline:12px}.kvc-field:disabled{opacity:.6;cursor:not-allowed}.kvc-box textarea{resize:none;color:inherit;font:inherit;background:0 0;border:0;outline:none;min-block-size:44px}.kvc-start{justify-content:safe center;gap:var(--kv-space-lg);min-height:0;padding:var(--kv-space-lg);flex-direction:column;flex:auto;display:flex;overflow-y:auto}.kvc-start-note{text-align:center;margin:0}.kvc-link-button{color:var(--kv-color-primary);font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.kvc-start h1{text-align:center;margin:0;font-size:26px;font-weight:600}.kvc-sessions{box-sizing:border-box;border-inline-end:1px solid var(--kv-color-border);flex-direction:column;flex:none;align-self:stretch;gap:2px;max-block-size:100%;inline-size:272px;padding:14px 12px;display:flex;overflow-y:auto}.kvc-session{min-block-size:44px;color:inherit;font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding-inline:10px;display:flex}.kvc-session[aria-current=page]{background:color-mix(in srgb, var(--kv-color-primary) 16%, var(--kv-color-surface));font-weight:600}.kvc-session .kvc-muted,.kvc-session .kvc-chip{white-space:nowrap;flex:none}.kvc-session span:first-child{text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.kvc-group{color:var(--kv-color-muted);padding-block:12px 4px;padding-inline:10px;font-size:12px;font-weight:600}.kvc-spin{border:2px solid var(--kv-color-border);border-block-start-color:var(--kv-color-primary);border-radius:50%;flex:none;block-size:14px;inline-size:14px;animation:.9s linear infinite kvc-spin}.kvc-menu{z-index:10;border:1px solid var(--kv-color-border);background:var(--kv-color-surface);border-radius:12px;flex-direction:column;min-inline-size:220px;padding:6px;display:flex;position:absolute;inset-block-start:100%;inset-inline-end:0;box-shadow:0 12px 32px #00000024}.kvc-menu button{text-align:start;justify-content:flex-start}.kvc-prompt{padding:var(--kv-space-md);border:1px solid var(--kv-color-border);border-radius:var(--kv-radius);background:var(--kv-color-background);font-family:var(--kv-font-mono);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:12px}.kvc-activity{border:1px solid var(--kv-color-border);border-radius:var(--kv-radius);background:var(--kv-color-background);align-items:center;gap:10px;padding-block:8px;padding-inline:12px;font-size:13.5px;display:flex}.kvc-activity-text{flex-direction:column;flex:auto;gap:6px;min-inline-size:0;display:flex}.kvc-activity-call{flex-direction:column;gap:2px;display:flex}.kvc-oneline{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kvc-fold-words{text-align:start;flex:auto}.kvc-fold-failed{color:var(--kv-color-danger)}.kvc-picker{position:relative}.kvc-picker-label{text-overflow:ellipsis;white-space:nowrap;max-inline-size:16rem;overflow:hidden}.kvc-popover{z-index:20;box-sizing:border-box;inline-size:min(26rem, calc(100cqw - 2 * var(--kv-space-lg)));border:1px solid var(--kv-color-border);background:var(--kv-color-surface);border-radius:12px;flex-direction:column;gap:6px;padding:8px;display:flex;position:absolute;inset-block-start:calc(100% + 6px);inset-inline-start:0;box-shadow:0 12px 32px #00000024}.kvc-choices{inline-size:max-content;min-inline-size:10rem;max-inline-size:min(22rem, calc(100cqw - 2 * var(--kv-space-md)));gap:2px;max-block-size:18rem;overflow-y:auto}.kvc-choices>.kvc-model{flex:none}.kvc-popover-start{inset-inline:auto 0}.kvc-recovery{align-items:center;gap:var(--kv-space-sm);flex-wrap:wrap;display:flex}.kvc-recovery .kvc-popover{inset-block:auto calc(100% + 6px)}.kvc-search{border:1px solid var(--kv-color-border);border-radius:10px;align-items:center;gap:8px;padding-inline:10px;display:flex}.kvc-search input{min-inline-size:0;color:inherit;font:inherit;background:0 0;border:0;outline:none;flex:auto;padding-block:8px}.kvc-options{flex-direction:column;max-block-size:18rem;display:flex;overflow-y:auto}.kvc-model{cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding-block:7px;padding-inline:10px;display:flex}.kvc-model[data-active=true]{background:var(--kv-color-background)}.kvc-model[aria-selected=true]{font-weight:600}.kvc-model-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kvc-none,.kvc-count{margin:0;padding-inline:10px}@keyframes kvc-spin{to{transform:rotate(360deg)}}.kvc-dot{background:var(--kv-color-success);border-radius:50%;flex:none;block-size:8px;inline-size:8px}.kvc-jobs-panel{max-block-size:70vh;inline-size:min(32rem,100%);inset-inline:auto 0;overflow-y:auto}.kvc-job{border:1px solid var(--kv-color-border);border-radius:8px;flex-direction:column;gap:6px;padding:8px;display:flex}.kvc-job-head{justify-content:space-between;align-items:center;gap:8px;min-inline-size:0;display:flex}.kvc-job-title{flex:auto;min-inline-size:0;font-weight:600}.kvc-job-head>.kvc-muted,.kvc-job-head>.kvc-chip{white-space:nowrap;flex:none}.kvc-job-links{flex-wrap:wrap;gap:4px 12px;display:flex}.kvc-job-links .kvc-link{color:var(--kv-color-primary);text-underline-offset:2px;text-decoration:underline}.kvc-job .kvc-output{background:var(--kv-color-background);border-radius:8px}.kvc-connectors{flex-direction:column;display:flex}.kvc-connectors-state{flex-wrap:wrap;align-items:center;gap:10px;padding-block-end:8px;display:flex}.kvc-text-button{color:var(--kv-color-primary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;font-weight:500}.kvc-text-button:disabled{opacity:.5;cursor:default}.kvc-connector{border-block-end:1px solid var(--kv-color-border);align-items:center;gap:16px;padding-block:12px;display:flex}.kvc-connector:last-child{border-block-end:0}.kvc-connector-text{flex-direction:column;flex:1;gap:2px;min-inline-size:0;display:flex}.kvc-connector-name{font-size:13.5px;font-weight:600}.kvc-switch{background:var(--kv-color-border);cursor:pointer;border:0;border-radius:999px;flex:none;align-items:center;block-size:24px;inline-size:40px;padding:2px;transition:background-color .12s;display:flex}.kvc-switch[aria-checked=true]{background:var(--kv-color-primary)}.kvc-switch:disabled{opacity:.5;cursor:default}.kvc-switch-knob{background:var(--kv-color-surface);border-radius:999px;block-size:20px;inline-size:20px;transition:margin-inline-start .12s}.kvc-switch[aria-checked=true] .kvc-switch-knob{margin-inline-start:16px}.kvc-setting{border-block-end:1px solid var(--kv-color-border);flex-wrap:wrap;align-items:flex-start;gap:24px;padding-block:16px;display:flex}.kvc-setting-text{flex-direction:column;flex:20rem;gap:4px;min-inline-size:15rem;display:flex}.kvc-setting-title{font-weight:600}.kvc-setting-control{flex-direction:column;gap:8px;inline-size:22.5rem;max-inline-size:100%;display:flex}.kvc-setting .kvc-picker>.kvc-button{justify-content:space-between;inline-size:100%}.kvc-setting .kvc-picker-label{max-inline-size:none}.kvc-setting .kvc-popover{inline-size:100%}.kvc-setting .kvc-connectors-state{padding-block-end:0}.kvc-connector-actions{flex:none;align-items:center;gap:8px;display:flex}.kvc-dialog-backdrop{z-index:40;padding:var(--kv-space-md);background:#00000059;place-items:center;display:grid;position:fixed;inset:0}.kvc-dialog{box-sizing:border-box;gap:var(--kv-space-sm);inline-size:100%;max-inline-size:44rem;max-block-size:calc(100dvh - 2 * var(--kv-space-md));background:var(--kv-color-surface);color:var(--kv-color-text);padding:var(--kv-space-lg);border-radius:16px;outline:none;flex-direction:column;display:flex;overflow-y:auto;box-shadow:0 20px 50px #00000040}.kvc-dialog-head{align-items:flex-start;gap:12px;display:flex}.kvc-dialog-title{font-size:16px;font-weight:600}.kvc-dialog-rows{flex-direction:column;display:flex}.kvc-dialog-rows>.kvc-setting:last-child{border-block-end:0;padding-block-end:0}.kvc-server{align-items:flex-start}.kvc-server-state{flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;font-weight:500;display:flex}.kvc-server-state[data-status=ready]{color:var(--kv-color-success)}.kvc-server-state[data-status=failed],.kvc-server-state[data-status=signInNeeded]{color:var(--kv-color-warning)}.kvc-server-state[data-status=checking]{color:var(--kv-color-muted)}.kvc-server-reason{overflow-wrap:anywhere;white-space:pre-wrap}.kvc-server-sign-in{align-self:flex-start;margin-block-start:6px}.kvc-sign-in{max-inline-size:32rem;padding:var(--kv-space-lg);text-align:center;flex-direction:column;align-items:center;gap:8px;margin-inline:auto;display:flex}.kvc-sign-in-done{color:var(--kv-color-success)}.kvc-sign-in-failed{color:var(--kv-color-danger)}.kvc-danger{background:var(--kv-color-danger);border-color:var(--kv-color-danger);color:var(--kv-color-on-primary)}.kvc-form{gap:var(--kv-space-md);flex-direction:column;padding-block-start:var(--kv-space-sm);display:flex}.kvc-form-field{flex-direction:column;gap:6px;display:flex}.kvc-form-label{padding:0;font-weight:600}.kvc-confirm{border:1px solid var(--kv-color-danger);border-radius:var(--kv-radius);flex-direction:column;gap:8px;padding:12px;display:flex}.kvc-preferences{resize:vertical;min-block-size:6rem;inline-size:100%}.kvc-remember{margin-block-start:4px;display:block}.kvc-fold-body{border-block-start:1px solid var(--kv-color-border);flex-direction:column;gap:6px;padding:6px 8px 8px;display:flex}.kvc-final{border-inline-start:3px solid var(--kv-color-primary);padding-inline-start:12px}.kvc-headline>summary{cursor:pointer;padding-block:2px;font-weight:600;list-style-position:inside}.kvc-headline>p{margin-block:4px 0}.kvc-changes{flex-direction:column;gap:8px;display:flex}.kvc-change-head{text-align:start;flex:auto;align-items:center;gap:8px;min-inline-size:0;display:flex}.kvc-diff>[data-kind=added]{color:var(--kv-color-success,inherit);background:color-mix(in srgb, var(--kv-color-success,green) 12%, transparent)}.kvc-diff>[data-kind=removed]{color:var(--kv-color-danger);background:color-mix(in srgb, var(--kv-color-danger) 12%, transparent)}.kvc-diff>[data-kind=hunk],.kvc-diff>[data-kind=head]{color:var(--kv-color-muted,inherit)}.kvc-picker-icon{flex:none;display:none}.kvc-artifact-name .kvc-picker>.kvc-button{min-block-size:0;padding-block:2px}.kvc-decide{white-space:nowrap}@container kvc-workspace (inline-size<=30rem){.kvc-composer-row .kvc-picker-icon{display:block}.kvc-composer-row .kvc-picker-label{display:none}}.kvc-chats-bar{display:none}@media (width<=60rem){.kvc-sessions{display:none}.kvc-drawer .kvc-sessions{border-inline-end:0;inline-size:100%;display:flex}.kvc-topline{background:var(--kv-color-surface);border-block-end:1px solid var(--kv-color-border)}.kvc-chats-bar,.kvc-new-chat{align-items:center;display:flex}.kvc-chats-bar{padding-inline-start:var(--kv-space-sm)}.kvc-new-chat{padding-inline-end:var(--kv-space-sm)}.kvc-topline>.kvc-header{padding-inline:var(--kv-space-sm);border-block-end:0}}:root:has(.kvc-artifact-panel) .kvc-sessions{display:none}:root:has(.kvc-artifact-panel) .kvc-drawer .kvc-sessions{border-inline-end:0;inline-size:100%;display:flex}:root:has(.kvc-artifact-panel) .kvc-topline{background:var(--kv-color-surface);border-block-end:1px solid var(--kv-color-border)}:is(:root:has(.kvc-artifact-panel) .kvc-chats-bar,:root:has(.kvc-artifact-panel) .kvc-new-chat){align-items:center;display:flex}:root:has(.kvc-artifact-panel) .kvc-chats-bar{padding-inline-start:var(--kv-space-sm)}:root:has(.kvc-artifact-panel) .kvc-new-chat{padding-inline-end:var(--kv-space-sm)}:root:has(.kvc-artifact-panel) .kvc-topline>.kvc-header{padding-inline:var(--kv-space-sm);border-block-end:0}.kvc-composer{container:kvc-composer/inline-size}@container kvc-composer (inline-size<=36rem){.kvc-composer-row .kvc-picker-icon{display:block}.kvc-composer-row .kvc-picker-label,.kvc-composer-row .kvc-picker-chevron{display:none}.kvc-composer-hint{visibility:hidden}}.kvc-segments{gap:4px;display:flex}.kvc-segments>.kvc-button[aria-pressed=true]{background:var(--kv-color-primary);color:var(--kv-color-on-primary);border-color:var(--kv-color-primary)}.kvc-choice-note{font-size:12px}.kvc-drawer-backdrop{z-index:40;background:#00000059;position:fixed;inset:0}.kvc-drawer{background:var(--kv-color-surface);inline-size:min(85vw,20rem);position:absolute;inset-block:0;inset-inline-start:0;overflow-y:auto;box-shadow:0 12px 32px #0003}.kvc-rules{flex-direction:column;gap:6px;margin-block-start:8px;display:flex}.kvc-rule{justify-content:space-between;align-items:center;gap:12px;display:flex}.kvc-form-error{color:var(--kv-color-danger);font-size:12.5px}.kvc-form-choice{gap:var(--kv-space-md);border:0;flex-wrap:wrap;margin:0;padding:0;display:flex}.kvc-form-choice>legend{margin-block-end:6px}.kvc-form-radio{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.kvc-form-value{grid-template-columns:minmax(0,2fr) minmax(0,3fr) auto;align-items:center;gap:8px;display:grid}.kvc-form-set{align-items:center;gap:10px;display:flex}.kvc-form-add{align-self:flex-start;align-items:center;gap:4px;display:inline-flex}.kvc-form textarea.kvc-field{resize:vertical}.kvc-box{position:relative}.kvc-composer-row{align-items:center;gap:8px;display:flex}.kvc-composer-hint{text-overflow:ellipsis;white-space:nowrap;flex:1 1 0;min-inline-size:0;overflow:hidden}.kvc-composer-row .kvc-picker{flex:0 auto;min-inline-size:0}.kvc-composer-row .kvc-picker>.kvc-button{max-inline-size:100%}.kvc-composer-row .kvc-picker-label{min-inline-size:0}.kvc-composer .kvc-popover{inset-block:auto calc(100% + 6px)}@container kvc-workspace (inline-size<=30rem){.kvc-composer-row{flex-wrap:wrap;gap:4px}.kvc-composer-row .kvc-picker{flex:none}.kvc-composer-row .kvc-button{min-block-size:32px;padding-inline:8px}.kvc-composer-row .kvc-picker-chevron{display:none}.kvc-composer-hint{visibility:hidden}.kvc-composer{padding-block:8px 10px;padding-inline:var(--kv-space-md)}.kvc-box{border-radius:12px;padding:8px}}.kvc-slash{z-index:20;border:1px solid var(--kv-color-border);background:var(--kv-color-surface);border-radius:12px;flex-direction:column;padding:6px;display:flex;position:absolute;inset-block-end:calc(100% + 6px);inset-inline:0;box-shadow:0 12px 32px #00000024}.kvc-slash-row{cursor:pointer;border-radius:8px;align-items:baseline;gap:12px;padding-block:7px;padding-inline:10px;display:flex}.kvc-slash-row[data-active=true]{background:var(--kv-color-background)}.kvc-slash-name{flex:0 0 9rem}.kvc-slash-row .kvc-mono{font-size:13px;font-weight:600}.kvc-call-parts{border-block-start:1px solid var(--kv-color-border);margin:0;padding-block:8px;padding-inline:14px}.kvc-summary{flex-wrap:wrap;align-items:baseline;column-gap:8px;min-inline-size:0;font-size:13px;display:flex}.kvc-summary>.kvc-mono{min-inline-size:0}.kvc-block{border-block-start:1px solid var(--kv-color-border);margin:0;padding-block:8px;font-size:13px}.kvc-block:not(.kvc-code-lines){padding-inline:14px}.kvc-code-lines{font-family:var(--kv-font-mono);font-size:12px;line-height:1.55}.kvc-code-line{gap:8px;min-block-size:1.55em;padding-inline:14px;display:flex}.kvc-code-line[data-kind=removed]{background:color-mix(in srgb, var(--kv-color-danger) 14%, transparent)}.kvc-code-line[data-kind=added]{background:color-mix(in srgb, var(--kv-color-success) 14%, transparent)}.kvc-line-number{text-align:end;min-inline-size:3ch;color:var(--kv-color-muted);-webkit-user-select:none;user-select:none;flex:none}.kvc-line-mark{color:var(--kv-color-muted);-webkit-user-select:none;user-select:none;flex:0 0 1ch}.kvc-line-text{white-space:pre-wrap;overflow-wrap:anywhere;flex:auto;min-inline-size:0}.kvc-code-lines .kvc-link,.kvc-fields .kvc-link,.kvc-error .kvc-link{color:var(--kv-color-primary);text-underline-offset:2px;text-decoration:underline}.kvc-prose-lines{font-family:inherit;font-size:13px}.kvc-fold{margin-block-start:6px;margin-inline:14px;display:block}.kvc-output-block{border-block-start:1px solid var(--kv-color-border)}.kvc-output-block>.kvc-fold{margin-block:6px}.kvc-error{color:var(--kv-color-danger);white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit}.kvc-entries{flex-direction:column;gap:2px;display:flex}.kvc-entry{align-items:center;gap:8px;display:flex}.kvc-entry>.kvc-mono{flex:auto;min-inline-size:0}.kvc-file-path{padding-block-end:4px;font-weight:600}.kvc-block>.kvc-code-lines>.kvc-code-line{padding-inline:0}.kvc-block>.kvc-code-lines>.kvc-fold{margin-inline:0}.kvc-fields{grid-template-columns:minmax(6rem,max-content) minmax(0,1fr);gap:4px 12px;margin:0;display:grid}.kvc-field-row{display:contents}.kvc-steps{gap:6px;padding-inline-start:0;list-style:none;display:grid}.kvc-step-arguments{padding-block-start:2px;padding-inline-start:1.5rem}.kvc-field-row>dt{font-family:var(--kv-font-mono);font-size:12px}.kvc-field-row>dd{overflow-wrap:anywhere;min-inline-size:0;margin:0}.kvc-field-block>.kvc-code-line,.kvc-field-block>.kvc-fold{margin-inline:0;padding-inline:0}.kvc-field-table{overflow-x:auto}.kvc-field-table table{border-collapse:collapse;font-size:12.5px}.kvc-field-table th,.kvc-field-table td{text-align:start;vertical-align:top;padding-block:3px;padding-inline:0 14px}.kvc-field-table th{color:var(--kv-color-muted);font-weight:500;font-family:var(--kv-font-mono);font-size:12px}.kvc-field-items{flex-direction:column;gap:2px;display:flex}.kvc-approval{border-block-start:1px solid var(--kv-color-border)}.kvc-approval>.kvc-actions{padding-block-start:0}.kvc-always>.kvc-link-button{margin-inline-end:auto}.kvc-reason,.kvc-always{flex-wrap:wrap;align-items:center;padding-block-start:0}.kvc-reason>textarea{flex:16rem}.kvc-always>input{flex:0 14rem;min-inline-size:8rem}.kvc-run-row{align-items:baseline;gap:10px;display:flex}.kvc-run-row>.kvc-run-call{flex:auto;min-inline-size:0}.kvc-run-row>.kvc-chip,.kvc-run-row>.kvc-muted{white-space:nowrap;flex:none}:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .kvc-flip{transform:scaleX(-1)}.kvc-slash-row[aria-disabled=true]{opacity:.55;cursor:default}.kvc-button:focus-visible,.kvc-text-button:focus-visible,.kvc-link-button:focus-visible,.kvc-session:focus-visible,.kvc-switch:focus-visible,.kvc-chip-remove:focus-visible{outline:2px solid var(--kv-color-primary);outline-offset:2px}.kvc-box:focus-within,.kvc-search:focus-within{outline:2px solid var(--kv-color-primary);outline-offset:1px}.kvc-chip-remove{min-block-size:20px;padding:0}@media (pointer:coarse){.kvc-button{min-block-size:44px}.kvc-button.kvc-icon-button{inline-size:44px}.kvc-text-button,.kvc-link-button{align-items:center;min-block-size:44px;display:inline-flex}.kvc-chip-remove{min-block-size:44px;min-inline-size:44px}.kvc-switch{position:relative}.kvc-switch:after{content:"";position:absolute;inset-block:-10px;inset-inline:-2px}}
|
|
2
2
|
/*$vite$:1*/
|
|
@@ -165,13 +165,17 @@ var B = ["aria-label"], V = { class: "kvc-group" }, H = [
|
|
|
165
165
|
"data-test",
|
|
166
166
|
"onClick"
|
|
167
167
|
], U = {
|
|
168
|
+
dir: "auto",
|
|
169
|
+
class: "kvc-session-title",
|
|
170
|
+
"data-test": "session-list-title"
|
|
171
|
+
}, W = {
|
|
168
172
|
key: 0,
|
|
169
173
|
class: "kvc-chip kvc-warn",
|
|
170
174
|
"data-test": "needs-you"
|
|
171
|
-
},
|
|
175
|
+
}, G = ["aria-label"], K = {
|
|
172
176
|
key: 2,
|
|
173
177
|
class: "kvc-muted"
|
|
174
|
-
},
|
|
178
|
+
}, q = /* @__PURE__ */ s({
|
|
175
179
|
__name: "SessionList",
|
|
176
180
|
props: { sessionId: {} },
|
|
177
181
|
setup(n) {
|
|
@@ -220,20 +224,20 @@ var B = ["aria-label"], V = { class: "kvc-group" }, H = [
|
|
|
220
224
|
"aria-current": e.id === s.sessionId ? "page" : void 0,
|
|
221
225
|
"data-test": `session-${e.id}`,
|
|
222
226
|
onClick: (t) => h(c).navigate("kvcoder.session", { sessionId: e.id })
|
|
223
|
-
}, [i("span",
|
|
227
|
+
}, [i("span", U, m(h(M)(h(c).t, e.title)), 1), e.waitingOn === "person" ? (d(), r("span", W, m(h(c).t("kvcoder.ui.needsYou")), 1)) : e.status === "running" || e.waitingOn === "helpers" ? (d(), r("span", {
|
|
224
228
|
key: 1,
|
|
225
229
|
class: "kvc-spin",
|
|
226
230
|
"aria-label": h(c).t("kvcoder.ui.status.running"),
|
|
227
231
|
"data-test": "running"
|
|
228
|
-
}, null, 8,
|
|
232
|
+
}, null, 8, G)) : (d(), r("span", K, m(x(e)), 1))], 8, H))), 128))], 64))), 128))], 8, B));
|
|
229
233
|
}
|
|
230
|
-
}),
|
|
234
|
+
}), J = /* @__PURE__ */ s({
|
|
231
235
|
__name: "sessions",
|
|
232
236
|
props: { sessionId: {} },
|
|
233
237
|
setup(e) {
|
|
234
238
|
let t = e;
|
|
235
|
-
return (e, r) => (d(), n(
|
|
239
|
+
return (e, r) => (d(), n(q, { "session-id": t.sessionId }, null, 8, ["session-id"]));
|
|
236
240
|
}
|
|
237
241
|
});
|
|
238
242
|
//#endregion
|
|
239
|
-
export {
|
|
243
|
+
export { J as default };
|
package/docs/connectors.md
CHANGED
|
@@ -32,11 +32,11 @@ ctx.registerHandler('kernel.started', {
|
|
|
32
32
|
- `kvcoder.connector.register` takes exactly one of `commands` or `binary`, plus `name` and `description`.
|
|
33
33
|
- To register several connectors in one call, pass `{ connectors: [ … ] }`, each entry shaped as one connector. All are checked first and stored together: the call registers all of them or none, and a name given twice fails `VALIDATION_FAILED`.
|
|
34
34
|
- `name`: the `connector` the agent names. Names, and each command's `name`, are lowercase kebab-case single words: `model-list`, not `model list`. A command can't be named `help`.
|
|
35
|
-
- `description`: what the agent sees in the prompt's connector index. Say what the connector is for and when to use it. kvcoder adds
|
|
35
|
+
- `description`: what the agent sees in the prompt's connector index. Say what the connector is for and when to use it. kvcoder adds each command after it, one line each with its payload's signature, such as `add { text (≤200), done? }`, then `help`, so the index is never out of date and the agent needs no `help` call to use a command; `help` still gives each field's description, so clear field names and descriptions matter.
|
|
36
36
|
- `commands`: each command's `name`, the public `command` it runs, and optional `examples` (`{ description, input }`). `help` shows the registered descriptions, JSON Schemas, and examples, so give every input field a `.describe()`.
|
|
37
37
|
- `asks: true` on a command makes the person approve every call of it first (see **A command that asks** below). The field takes only `true`; leave it out for a command that runs at once.
|
|
38
38
|
- Each `command` must be a public command or query of the registering extension, or registration fails `VALIDATION_FAILED`. The command runs through `ctx.exec` with the payload as its input, so validation, cancel, and timeouts are the kernel's, and it runs to its end inside the agent's step.
|
|
39
|
-
- The result the agent reads is the output as JSON on one line, or `error <code>: <message>`. A payload that doesn't fit returns each problem and then the payload's signature, such as `{ text (≤200), done? }`, where `(≤N)` is a string's `max` length from your zod schema, so the agent can correct it in one try; a payload that isn't a plain object returns its JSON Schema on one line instead.
|
|
39
|
+
- The result the agent reads is the output as JSON on one line, or `error <code>: <message>`. A payload that doesn't fit returns each problem and then the payload's signature, such as `{ text (≤200), done? }`, where `(≤N)` is a string's `max` length from your zod schema, so the agent can correct it in one try; a payload that isn't a plain object returns its JSON Schema on one line instead. The command's `help` text follows, after a blank line.
|
|
40
40
|
- `binary`: a program on the system, with `{ check, install?, help? }`. `check` is a line whose exit code 0 means the program is usable; the connector is listed, and can be called, only while its check passes.
|
|
41
41
|
|
|
42
42
|
## A command that asks
|
|
@@ -63,7 +63,7 @@ await ctx.exec('kvcoder.connector.register', {
|
|
|
63
63
|
});
|
|
64
64
|
```
|
|
65
65
|
|
|
66
|
-
The agent calls a binary connector with two commands. `exec { args?, background?, timeoutMs?, risky }` runs the program with those arguments in the real shell, in the workspace folder. `help {}` describes `exec` and prints the program's own help (`gh --help`), and `help { "command": "pr" }` prints `gh pr --help`. For a program whose help is asked another way, register the line with `{command}` standing for the command: `help: 'go help {command}'`.
|
|
66
|
+
The agent calls a binary connector with two commands. `exec { args?, background?, notify?, timeoutMs?, risky }` runs the program with those arguments in the real shell, in the workspace folder. `help {}` describes `exec` and prints the program's own help (`gh --help`), and `help { "command": "pr" }` prints `gh pr --help`. For a program whose help is asked another way, register the line with `{command}` standing for the command: `help: 'go help {command}'`.
|
|
67
67
|
|
|
68
68
|
`kvcoder.connector.unregister { name }` removes one of the caller's own connectors; a missing name does nothing. `kvcoder.connector.list` answers every registered connector and program, each with `enabled`. The setting `kvcoder.connectors.disabled` lists the names that are turned off, kvcoder's own seven included: such a connector is left out of the prompt and can't be called, from the next step.
|
|
69
69
|
|
package/locales/ar.json
CHANGED
|
@@ -656,5 +656,21 @@
|
|
|
656
656
|
"kvcoder.artifacts.keepDays.title": "أيام الاحتفاظ بالمخرجات",
|
|
657
657
|
"kvcoder.artifacts.keepDays.description": "عدد الأيام التي يُحتفظ فيها بمُخرَج محادثة خاملة بعد آخر تغيير له. 0 يحتفظ بها كلها.",
|
|
658
658
|
"kvcoder.ui.artifacts.delete": "حذف",
|
|
659
|
-
"kvcoder.ui.artifacts.deleteConfirm": "هل تريد حذف هذا المُخرَج؟"
|
|
659
|
+
"kvcoder.ui.artifacts.deleteConfirm": "هل تريد حذف هذا المُخرَج؟",
|
|
660
|
+
"kvcoder.delegate.thinkingLimit.title": "أعلى تفكير للمساعدين",
|
|
661
|
+
"kvcoder.delegate.thinkingLimit.description": "أقصى مقدار يفكّر به أي مساعد، مهما حدّد عامله أو المحادثة. المرتفع يُبعد المساعدين عن أبطأ المستويات.",
|
|
662
|
+
"kvcoder.delegate.thinkingLimit.options.off": "بدون",
|
|
663
|
+
"kvcoder.delegate.thinkingLimit.options.minimal": "أدنى",
|
|
664
|
+
"kvcoder.delegate.thinkingLimit.options.low": "منخفض",
|
|
665
|
+
"kvcoder.delegate.thinkingLimit.options.medium": "متوسط",
|
|
666
|
+
"kvcoder.delegate.thinkingLimit.options.high": "مرتفع",
|
|
667
|
+
"kvcoder.delegate.thinkingLimit.options.xhigh": "مرتفع جدًا",
|
|
668
|
+
"kvcoder.delegate.thinkingLimit.options.max": "أقصى",
|
|
669
|
+
"kvcoder.background.notify.watch.description": "ينتظر انتهاء أمر في الخلفية بُدئ مع notify، ثم يُعلم محادثته، ويبدأ دورًا إن كانت المحادثة خاملة.",
|
|
670
|
+
"kvcoder.notices.CONNECTION_WAITING": "فشل الاتصال بـ{model}؛ يعيد kvman المحاولة كل دقيقتين. أرسل رسالة لتحاول الآن.",
|
|
671
|
+
"kvcoder.turn.resume.description": "يعيد تشغيل خطوة دور ينتظر عودة الاتصال.",
|
|
672
|
+
"kvcoder.config.mcp.form.port": "المنفذ (اختياري)",
|
|
673
|
+
"kvcoder.config.mcp.form.portHint": "إن كان الأمر يقدّم MCP عبر HTTP على هذا المنفذ، يبقيه kvman عاملًا طوال الدور، فيحتفظ المتصفح بصفحته بين الاستدعاءات.",
|
|
674
|
+
"kvcoder.config.mcp.invalid.port": "اكتب عددًا صحيحًا من 1024 إلى 65535، أو اتركه فارغًا.",
|
|
675
|
+
"kvcoder.ui.helper.step": "الخطوة {step} من {budget}"
|
|
660
676
|
}
|
package/locales/en.json
CHANGED
|
@@ -656,5 +656,21 @@
|
|
|
656
656
|
"kvcoder.artifacts.keepDays.title": "Days to keep artifacts",
|
|
657
657
|
"kvcoder.artifacts.keepDays.description": "How many days an idle chat's artifact is kept after its last change. 0 keeps them all.",
|
|
658
658
|
"kvcoder.ui.artifacts.delete": "Delete",
|
|
659
|
-
"kvcoder.ui.artifacts.deleteConfirm": "Delete this artifact?"
|
|
659
|
+
"kvcoder.ui.artifacts.deleteConfirm": "Delete this artifact?",
|
|
660
|
+
"kvcoder.delegate.thinkingLimit.title": "Helpers' highest thinking",
|
|
661
|
+
"kvcoder.delegate.thinkingLimit.description": "The most any helper thinks, whatever its worker or the chat sets. High keeps helpers from the slowest levels.",
|
|
662
|
+
"kvcoder.delegate.thinkingLimit.options.off": "Off",
|
|
663
|
+
"kvcoder.delegate.thinkingLimit.options.minimal": "Minimal",
|
|
664
|
+
"kvcoder.delegate.thinkingLimit.options.low": "Low",
|
|
665
|
+
"kvcoder.delegate.thinkingLimit.options.medium": "Medium",
|
|
666
|
+
"kvcoder.delegate.thinkingLimit.options.high": "High",
|
|
667
|
+
"kvcoder.delegate.thinkingLimit.options.xhigh": "Extra high",
|
|
668
|
+
"kvcoder.delegate.thinkingLimit.options.max": "Max",
|
|
669
|
+
"kvcoder.background.notify.watch.description": "Waits for a background line started with notify to end, then tells its chat, starting a turn when the chat is idle.",
|
|
670
|
+
"kvcoder.notices.CONNECTION_WAITING": "The connection to {model} failed; kvman tries again every 2 minutes. Send a message to try now.",
|
|
671
|
+
"kvcoder.turn.resume.description": "Runs again the step of a turn that waits for the connection.",
|
|
672
|
+
"kvcoder.config.mcp.form.port": "Port (optional)",
|
|
673
|
+
"kvcoder.config.mcp.form.portHint": "When the command serves MCP over HTTP on this port, kvman keeps it running for a whole turn, so a browser keeps its page between calls.",
|
|
674
|
+
"kvcoder.config.mcp.invalid.port": "Give a whole number from 1024 to 65535, or leave it empty.",
|
|
675
|
+
"kvcoder.ui.helper.step": "step {step} of {budget}"
|
|
660
676
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kvman/kvcoder",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.16",
|
|
4
4
|
"description": "kvcoder: the app-building harness, with one run tool over connectors, sections, and its conversation UI.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"@kvman/sdk": "^0.1.5"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@kvman/kvai": "0.1.
|
|
39
|
+
"@kvman/kvai": "0.1.8",
|
|
40
40
|
"@lucide/vue": "1.49.0",
|
|
41
41
|
"@modelcontextprotocol/sdk": "1.32.1",
|
|
42
42
|
"cross-spawn": "7.0.6",
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
"vue": "3.5.43"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@kvman/kvwebui": "0.1.
|
|
47
|
+
"@kvman/kvwebui": "0.1.8",
|
|
48
48
|
"@kvman/sdk": "0.1.5",
|
|
49
|
-
"@kvman/testkit": "0.1.
|
|
49
|
+
"@kvman/testkit": "0.1.10",
|
|
50
50
|
"@types/cross-spawn": "6.0.6",
|
|
51
51
|
"@types/turndown": "5.0.6",
|
|
52
52
|
"@vitejs/plugin-vue": "6.0.9",
|
|
@@ -187,6 +187,21 @@
|
|
|
187
187
|
"ref"
|
|
188
188
|
]
|
|
189
189
|
],
|
|
190
|
+
"read-endings": [
|
|
191
|
+
[
|
|
192
|
+
"sessionId",
|
|
193
|
+
"ref"
|
|
194
|
+
]
|
|
195
|
+
],
|
|
196
|
+
"mcp-sessions": [
|
|
197
|
+
[
|
|
198
|
+
"turnId"
|
|
199
|
+
],
|
|
200
|
+
[
|
|
201
|
+
"turnId",
|
|
202
|
+
"server"
|
|
203
|
+
]
|
|
204
|
+
],
|
|
190
205
|
"runs": [
|
|
191
206
|
[
|
|
192
207
|
"sessionId"
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { type Ctx } from '@kvman/sdk';
|
|
2
|
-
import { type PendingAuthority } from './permission.ts';
|
|
3
|
-
/** Parent grants, not child tool scope, authorize a newly published foreground resource. */
|
|
4
|
-
export declare function startPending(ctx: Ctx, authority: PendingAuthority): Promise<void>;
|
|
5
|
-
//# sourceMappingURL=start-pending.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"start-pending.d.ts","sourceRoot":"","sources":["../../src/delegate/start-pending.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAIpD,OAAO,EAAkE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGxH,4FAA4F;AAC5F,wBAAsB,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BvF"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { ProblemError } from '@kvman/sdk';
|
|
2
|
-
import { startChild } from "../connectors/delegate.js";
|
|
3
|
-
import { invalid } from "../problems.js";
|
|
4
|
-
import { prepareGrants } from "../prompt/session-grants.js";
|
|
5
|
-
import { delegationInTx, refusePending, waitingInTx } from "./permission.js";
|
|
6
|
-
import { launchRun } from "./runs.js";
|
|
7
|
-
/** Parent grants, not child tool scope, authorize a newly published foreground resource. */
|
|
8
|
-
export async function startPending(ctx, authority) {
|
|
9
|
-
const { sessionId, pending } = authority;
|
|
10
|
-
try {
|
|
11
|
-
const prepared = await prepareGrants(ctx);
|
|
12
|
-
const guard = store => {
|
|
13
|
-
ctx.job.signal.throwIfAborted();
|
|
14
|
-
if (waitingInTx(store, authority) === undefined)
|
|
15
|
-
throw invalid('The originating delegation is no longer current.');
|
|
16
|
-
if (pending.kind === 'worker' && pending.runId !== null && pending.childSessionId === null && pending.questionId === null && pending.question === null) {
|
|
17
|
-
const run = store.runs.get(pending.runId);
|
|
18
|
-
if (run?.status !== 'running' || run.sessionId !== sessionId || run.toolCallId !== pending.toolCallId)
|
|
19
|
-
throw invalid('The worker run is no longer current.');
|
|
20
|
-
return delegationInTx(store, sessionId, prepared, run.worker, run.kind).session;
|
|
21
|
-
}
|
|
22
|
-
if (pending.kind === 'subagent' && pending.childSessionId !== null && pending.runId === null && pending.questionId === null && pending.question === null) {
|
|
23
|
-
const child = store.sessions.get(pending.childSessionId);
|
|
24
|
-
if (child?.parentId !== sessionId || child.worker === null || child === undefined)
|
|
25
|
-
throw invalid('The child no longer belongs to its originating session.');
|
|
26
|
-
return delegationInTx(store, sessionId, prepared, child.worker.name, 'subagent').session;
|
|
27
|
-
}
|
|
28
|
-
throw invalid('The delegation binding is invalid.');
|
|
29
|
-
};
|
|
30
|
-
if (pending.childSessionId !== null)
|
|
31
|
-
await startChild(ctx, pending.childSessionId, guard);
|
|
32
|
-
else if (pending.runId !== null)
|
|
33
|
-
await launchRun(ctx, pending.runId, guard);
|
|
34
|
-
}
|
|
35
|
-
catch (error) {
|
|
36
|
-
if (!(error instanceof ProblemError) || ctx.job.signal.aborted)
|
|
37
|
-
throw error;
|
|
38
|
-
await refusePending(ctx, authority, error);
|
|
39
|
-
// Stale resources are retained for separately approved owned cleanup, not used to mutate a newer turn.
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=start-pending.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"start-pending.js","sourceRoot":"","sources":["../../src/delegate/start-pending.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAY,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAA6C,MAAM,iBAAiB,CAAC;AACxH,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,4FAA4F;AAC5F,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,GAAQ,EAAE,SAA2B;IACtE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAkB,KAAK,CAAC,EAAE;YACnC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAChC,IAAI,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,SAAS;gBAAE,MAAM,OAAO,CAAC,kDAAkD,CAAC,CAAC;YACnH,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,CAAC,cAAc,KAAK,IAAI,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACvJ,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC1C,IAAI,GAAG,EAAE,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,GAAG,CAAC,UAAU,KAAK,OAAO,CAAC,UAAU;oBAAE,MAAM,OAAO,CAAC,sCAAsC,CAAC,CAAC;gBAC7J,OAAO,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;YAClF,CAAC;YACD,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,cAAc,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACzJ,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBACzD,IAAI,KAAK,EAAE,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;oBAAE,MAAM,OAAO,CAAC,yDAAyD,CAAC,CAAC;gBAC5J,OAAO,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC;YAC3F,CAAC;YACD,MAAM,OAAO,CAAC,oCAAoC,CAAC,CAAC;QACtD,CAAC,CAAC;QACF,IAAI,OAAO,CAAC,cAAc,KAAK,IAAI;YAAE,MAAM,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;aACrF,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI;YAAE,MAAM,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC9E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,CAAC,KAAK,YAAY,YAAY,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,KAAK,CAAC;QAC5E,MAAM,aAAa,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAC3C,uGAAuG;IACzG,CAAC;AACH,CAAC"}
|