comisai 1.0.15 → 1.0.17
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/node_modules/@comis/agent/dist/bootstrap/types.d.ts +1 -1
- package/node_modules/@comis/agent/dist/bridge/pi-event-bridge.js +12 -11
- package/node_modules/@comis/agent/dist/context-engine/constants.d.ts +11 -0
- package/node_modules/@comis/agent/dist/context-engine/constants.js +11 -0
- package/node_modules/@comis/agent/dist/context-engine/index.d.ts +1 -1
- package/node_modules/@comis/agent/dist/context-engine/index.js +1 -1
- package/node_modules/@comis/agent/dist/context-engine/llm-compaction.js +32 -18
- package/node_modules/@comis/agent/dist/executor/cache-break-diff-writer.d.ts +2 -0
- package/node_modules/@comis/agent/dist/executor/cache-break-diff-writer.js +36 -0
- package/node_modules/@comis/agent/dist/executor/executor-post-execution.d.ts +12 -0
- package/node_modules/@comis/agent/dist/executor/executor-post-execution.js +117 -27
- package/node_modules/@comis/agent/dist/executor/executor-prompt-runner.d.ts +1 -0
- package/node_modules/@comis/agent/dist/executor/executor-prompt-runner.js +16 -4
- package/node_modules/@comis/agent/dist/executor/executor-stream-setup.js +17 -1
- package/node_modules/@comis/agent/dist/executor/executor-tool-assembly.js +27 -1
- package/node_modules/@comis/agent/dist/executor/session-snapshot-cleanup.js +3 -1
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/index.d.ts +2 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/index.js +2 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body-injector.d.ts +9 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body-injector.js +65 -3
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/stub-filter-injector.d.ts +28 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/stub-filter-injector.js +63 -0
- package/node_modules/@comis/agent/dist/executor/tool-deferral.d.ts +18 -1
- package/node_modules/@comis/agent/dist/executor/tool-deferral.js +275 -133
- package/node_modules/@comis/agent/dist/executor/ttl-guard.d.ts +6 -0
- package/node_modules/@comis/agent/dist/executor/ttl-guard.js +8 -0
- package/node_modules/@comis/agent/package.json +1 -1
- package/node_modules/@comis/channels/dist/shared/typing-controller.d.ts +7 -0
- package/node_modules/@comis/channels/dist/shared/typing-controller.js +33 -0
- package/node_modules/@comis/channels/package.json +1 -1
- package/node_modules/@comis/cli/dist/commands/daemon.js +116 -28
- package/node_modules/@comis/cli/dist/wizard/non-interactive.js +1 -0
- package/node_modules/@comis/cli/dist/wizard/steps/01-detect-existing.js +4 -0
- package/node_modules/@comis/cli/dist/wizard/steps/07-gateway.js +9 -0
- package/node_modules/@comis/cli/dist/wizard/steps/10-write-config.js +2 -0
- package/node_modules/@comis/cli/dist/wizard/steps/12-finish.js +5 -2
- package/node_modules/@comis/cli/dist/wizard/types.d.ts +1 -0
- package/node_modules/@comis/cli/package.json +1 -1
- package/node_modules/@comis/core/dist/config/schema-agent.d.ts +10 -0
- package/node_modules/@comis/core/dist/config/schema-agent.js +8 -0
- package/node_modules/@comis/core/dist/config/schema-gateway.d.ts +17 -2
- package/node_modules/@comis/core/dist/config/schema-gateway.js +11 -0
- package/node_modules/@comis/core/dist/config/schema-skills.d.ts +16 -2
- package/node_modules/@comis/core/dist/config/schema-skills.js +9 -2
- package/node_modules/@comis/core/dist/config/schema.d.ts +66 -60
- package/node_modules/@comis/core/package.json +1 -1
- package/node_modules/@comis/daemon/dist/wiring/setup-gateway.js +34 -6
- package/node_modules/@comis/daemon/package.json +1 -1
- package/node_modules/@comis/gateway/package.json +1 -1
- package/node_modules/@comis/infra/package.json +1 -1
- package/node_modules/@comis/memory/package.json +1 -1
- package/node_modules/@comis/scheduler/package.json +1 -1
- package/node_modules/@comis/shared/package.json +1 -1
- package/node_modules/@comis/skills/dist/builtin/platform/gateway-tool.d.ts +1 -1
- package/node_modules/@comis/skills/package.json +1 -1
- package/node_modules/@comis/web/dist/android-chrome-192x192.png +0 -0
- package/node_modules/@comis/web/dist/android-chrome-512x512.png +0 -0
- package/node_modules/@comis/web/dist/apple-touch-icon.png +0 -0
- package/node_modules/@comis/web/dist/assets/agent-detail-BG9MGWWj.js +615 -0
- package/node_modules/@comis/web/dist/assets/agent-editor-C26Q_xCs.js +2173 -0
- package/node_modules/@comis/web/dist/assets/agent-list-LHCJ4rw2.js +504 -0
- package/node_modules/@comis/web/dist/assets/approvals-q9VH_IKr.js +54 -0
- package/node_modules/@comis/web/dist/assets/billing-view-CtYvBqTE.js +375 -0
- package/node_modules/@comis/web/dist/assets/channel-detail-CaInesJM.js +681 -0
- package/node_modules/@comis/web/dist/assets/channel-list-B8dj3O9a.js +323 -0
- package/node_modules/@comis/web/dist/assets/chat-console-CNmzl0JW.js +943 -0
- package/node_modules/@comis/web/dist/assets/config-editor-DX4ITw6y.js +1374 -0
- package/node_modules/@comis/web/dist/assets/context-dag-browser-BwiaF5tf.js +393 -0
- package/node_modules/@comis/web/dist/assets/context-engine-BZ5Am6hA.js +393 -0
- package/node_modules/@comis/web/dist/assets/delivery-view-OfBZof-m.js +392 -0
- package/node_modules/@comis/web/dist/assets/diagnostics-view-YFwCxgr2.js +231 -0
- package/node_modules/@comis/web/dist/assets/directive-DoeGSK_T.js +1 -0
- package/node_modules/@comis/web/dist/assets/extract-variables-BM5qyK-s.js +149 -0
- package/node_modules/@comis/web/dist/assets/ic-array-editor-B7m6x7-S.js +118 -0
- package/node_modules/@comis/web/dist/assets/ic-breadcrumb-CUMpp3BL.js +75 -0
- package/node_modules/@comis/web/dist/assets/ic-budget-segment-bar-BtJ6x5mN.js +64 -0
- package/node_modules/@comis/web/dist/assets/ic-chat-message-CFyDJd0z.js +352 -0
- package/node_modules/@comis/web/dist/assets/ic-confirm-dialog-CCDbB04e.js +110 -0
- package/node_modules/@comis/web/dist/assets/ic-connection-dot-CnT1b8xr.js +54 -0
- package/node_modules/@comis/web/dist/assets/ic-data-table-CKUNTxHw.js +277 -0
- package/node_modules/@comis/web/dist/assets/ic-delivery-row-GP5Fkygs.js +67 -0
- package/node_modules/@comis/web/dist/assets/ic-detail-panel-BF83r-if.js +116 -0
- package/node_modules/@comis/web/dist/assets/ic-empty-state-60l2ePhd.js +52 -0
- package/node_modules/@comis/web/dist/assets/ic-graph-canvas-C8FuSMe1.js +359 -0
- package/node_modules/@comis/web/dist/assets/ic-icon-xeGTVhVG.js +33 -0
- package/node_modules/@comis/web/dist/assets/ic-layer-waterfall-COvEYMg5.js +69 -0
- package/node_modules/@comis/web/dist/assets/ic-relative-time-3FqpjeAI.js +12 -0
- package/node_modules/@comis/web/dist/assets/ic-search-input-CSOxY9g7.js +92 -0
- package/node_modules/@comis/web/dist/assets/ic-select-Ce-Raudx.js +127 -0
- package/node_modules/@comis/web/dist/assets/ic-tabs-B7QtM_v8.js +95 -0
- package/node_modules/@comis/web/dist/assets/ic-tag-CPPUnDLF.js +33 -0
- package/node_modules/@comis/web/dist/assets/ic-time-range-picker-CypCT68y.js +93 -0
- package/node_modules/@comis/web/dist/assets/ic-tool-call-7MaXSsCW.js +146 -0
- package/node_modules/@comis/web/dist/assets/index-CEcM1R_C.js +2830 -0
- package/node_modules/@comis/web/dist/assets/index-CIJFuItj.css +1 -0
- package/node_modules/@comis/web/dist/assets/mcp-management-BNZPnpDn.js +582 -0
- package/node_modules/@comis/web/dist/assets/media-config-BBvTYxOX.js +314 -0
- package/node_modules/@comis/web/dist/assets/media-test-BkK3RCRK.js +496 -0
- package/node_modules/@comis/web/dist/assets/memory-inspector-1hDGCGat.js +1139 -0
- package/node_modules/@comis/web/dist/assets/message-center-CXefwsUu.js +785 -0
- package/node_modules/@comis/web/dist/assets/models-C1qcU_j3.js +894 -0
- package/node_modules/@comis/web/dist/assets/observability-types-D7jUtSde.js +1 -0
- package/node_modules/@comis/web/dist/assets/observe-view-C0VBhX4C.js +814 -0
- package/node_modules/@comis/web/dist/assets/pipeline-builder-DcUUIrm0.js +1496 -0
- package/node_modules/@comis/web/dist/assets/pipeline-history-DkfOQ6SW.js +317 -0
- package/node_modules/@comis/web/dist/assets/pipeline-history-detail-hyHgD0ai.js +287 -0
- package/node_modules/@comis/web/dist/assets/pipeline-list-BPW8hV-q.js +518 -0
- package/node_modules/@comis/web/dist/assets/pipeline-monitor-Bip16T7e.js +972 -0
- package/node_modules/@comis/web/dist/assets/scheduler-BGgwKd06.js +1182 -0
- package/node_modules/@comis/web/dist/assets/security-D15st4xx.js +1224 -0
- package/node_modules/@comis/web/dist/assets/session-detail-SGEYNJ0M.js +632 -0
- package/node_modules/@comis/web/dist/assets/session-key-parser-DPORMVyU.js +1 -0
- package/node_modules/@comis/web/dist/assets/session-list-6ybUTxbY.js +231 -0
- package/node_modules/@comis/web/dist/assets/setup-wizard-nT0tz9QP.js +853 -0
- package/node_modules/@comis/web/dist/assets/skills-D8yVfSUy.js +1051 -0
- package/node_modules/@comis/web/dist/assets/subagents-HHXMeHYo.js +193 -0
- package/node_modules/@comis/web/dist/assets/workspace-manager-BQlr10iH.js +785 -0
- package/node_modules/@comis/web/dist/comis-logo.png +0 -0
- package/node_modules/@comis/web/dist/favicon-16x16.png +0 -0
- package/node_modules/@comis/web/dist/favicon-32x32.png +0 -0
- package/node_modules/@comis/web/dist/favicon.ico +0 -0
- package/node_modules/@comis/web/dist/index.html +17 -0
- package/node_modules/@comis/web/package.json +29 -0
- package/package.json +15 -13
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import{s as u,f as d,i as h,n as o,a as p,b,t as v}from"./index-CEcM1R_C.js";var f=Object.defineProperty,m=Object.getOwnPropertyDescriptor,a=(e,r,c,n)=>{for(var t=n>1?void 0:n?m(r,c):r,s=e.length-1,l;s>=0;s--)(l=e[s])&&(t=(n?l(r,c,t):l(t))||t);return n&&t&&f(r,c,t),t};let i=class extends p{constructor(){super(...arguments),this.value="",this.placeholder="Search...",this.debounce=300,this.disabled=!1,this._debounceTimer=null}disconnectedCallback(){super.disconnectedCallback(),this._cancelDebounce()}_cancelDebounce(){this._debounceTimer!==null&&(clearTimeout(this._debounceTimer),this._debounceTimer=null)}_onInput(e){const r=e.target;this.value=r.value,this._cancelDebounce(),this._debounceTimer=setTimeout(()=>{this._fireSearch()},this.debounce)}_onKeyDown(e){e.key==="Enter"&&(e.preventDefault(),this._cancelDebounce(),this._fireSearch())}_onClear(){this.value="",this._cancelDebounce(),this._fireSearch(),this.shadowRoot?.querySelector("input")?.focus()}_fireSearch(){this.dispatchEvent(new CustomEvent("search",{detail:this.value}))}render(){return b`
|
|
2
|
+
<div class="container">
|
|
3
|
+
<span class="search-icon" aria-hidden="true">\u{1F50D}</span>
|
|
4
|
+
<input
|
|
5
|
+
type="text"
|
|
6
|
+
role="searchbox"
|
|
7
|
+
aria-label="Search"
|
|
8
|
+
.value=${this.value}
|
|
9
|
+
placeholder=${this.placeholder}
|
|
10
|
+
?disabled=${this.disabled}
|
|
11
|
+
@input=${this._onInput}
|
|
12
|
+
@keydown=${this._onKeyDown}
|
|
13
|
+
/>
|
|
14
|
+
<button
|
|
15
|
+
class="clear-btn"
|
|
16
|
+
aria-label="Clear search"
|
|
17
|
+
?hidden=${!this.value}
|
|
18
|
+
@click=${this._onClear}
|
|
19
|
+
>\u2715</button>
|
|
20
|
+
</div>
|
|
21
|
+
`}};i.styles=[u,d,h`
|
|
22
|
+
:host {
|
|
23
|
+
display: block;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.container {
|
|
27
|
+
position: relative;
|
|
28
|
+
display: flex;
|
|
29
|
+
align-items: center;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.search-icon {
|
|
33
|
+
position: absolute;
|
|
34
|
+
left: var(--ic-space-sm);
|
|
35
|
+
color: var(--ic-text-dim);
|
|
36
|
+
font-size: var(--ic-text-sm);
|
|
37
|
+
pointer-events: none;
|
|
38
|
+
line-height: 1;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
input {
|
|
42
|
+
width: 100%;
|
|
43
|
+
background: var(--ic-surface-2);
|
|
44
|
+
border: 1px solid var(--ic-border);
|
|
45
|
+
border-radius: var(--ic-radius-md);
|
|
46
|
+
color: var(--ic-text);
|
|
47
|
+
font-family: inherit;
|
|
48
|
+
font-size: var(--ic-text-sm);
|
|
49
|
+
padding: var(--ic-space-sm) var(--ic-space-lg);
|
|
50
|
+
padding-left: calc(var(--ic-space-sm) + 1.25rem);
|
|
51
|
+
transition: border-color var(--ic-transition);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
input::placeholder {
|
|
55
|
+
color: var(--ic-text-dim);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
input:focus {
|
|
59
|
+
outline: none;
|
|
60
|
+
border-color: var(--ic-accent);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
input:disabled {
|
|
64
|
+
opacity: 0.5;
|
|
65
|
+
cursor: not-allowed;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.clear-btn {
|
|
69
|
+
position: absolute;
|
|
70
|
+
right: var(--ic-space-sm);
|
|
71
|
+
background: none;
|
|
72
|
+
border: none;
|
|
73
|
+
color: var(--ic-text-dim);
|
|
74
|
+
cursor: pointer;
|
|
75
|
+
padding: 2px;
|
|
76
|
+
font-size: var(--ic-text-xs);
|
|
77
|
+
line-height: 1;
|
|
78
|
+
border-radius: var(--ic-radius-sm);
|
|
79
|
+
transition: color var(--ic-transition);
|
|
80
|
+
display: flex;
|
|
81
|
+
align-items: center;
|
|
82
|
+
justify-content: center;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.clear-btn:hover {
|
|
86
|
+
color: var(--ic-text);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.clear-btn[hidden] {
|
|
90
|
+
display: none;
|
|
91
|
+
}
|
|
92
|
+
`];a([o()],i.prototype,"value",2);a([o()],i.prototype,"placeholder",2);a([o({type:Number})],i.prototype,"debounce",2);a([o({type:Boolean})],i.prototype,"disabled",2);i=a([v("ic-search-input")],i);
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import{s as u,f as v,i as f,n as c,a as g,A as h,b as d,t as y}from"./index-CEcM1R_C.js";var x=Object.defineProperty,m=Object.getOwnPropertyDescriptor,b=(e,a,s,r)=>{for(var t=r>1?void 0:r?m(a,s):a,i=e.length-1,l;i>=0;i--)(l=e[i])&&(t=(r?l(a,s,t):l(t))||t);return r&&t&&x(a,s,t),t};let n=class extends g{constructor(){super(...arguments),this.label="",this.checked=!1,this.disabled=!1}_toggle(){this.disabled||(this.checked=!this.checked,this.dispatchEvent(new CustomEvent("change",{detail:this.checked,bubbles:!0,composed:!0})))}_onKeyDown(e){(e.key===" "||e.key==="Enter")&&(e.preventDefault(),this._toggle())}render(){return d`
|
|
2
|
+
${this.label?d`<span class="toggle-label" ?data-disabled=${this.disabled} @click=${()=>this._toggle()}>${this.label}</span>`:h}
|
|
3
|
+
<div
|
|
4
|
+
class="track"
|
|
5
|
+
role="switch"
|
|
6
|
+
tabindex=${this.disabled?-1:0}
|
|
7
|
+
aria-checked=${this.checked?"true":"false"}
|
|
8
|
+
aria-label=${this.label||h}
|
|
9
|
+
?data-checked=${this.checked}
|
|
10
|
+
?data-disabled=${this.disabled}
|
|
11
|
+
@click=${()=>this._toggle()}
|
|
12
|
+
@keydown=${this._onKeyDown}
|
|
13
|
+
>
|
|
14
|
+
<div class="thumb"></div>
|
|
15
|
+
</div>
|
|
16
|
+
`}};n.styles=[u,v,f`
|
|
17
|
+
:host {
|
|
18
|
+
display: inline-flex;
|
|
19
|
+
align-items: center;
|
|
20
|
+
gap: var(--ic-space-sm);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.toggle-label {
|
|
24
|
+
font-size: var(--ic-text-sm);
|
|
25
|
+
color: var(--ic-text-muted);
|
|
26
|
+
cursor: pointer;
|
|
27
|
+
user-select: none;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.toggle-label[data-disabled] {
|
|
31
|
+
opacity: 0.5;
|
|
32
|
+
cursor: not-allowed;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.track {
|
|
36
|
+
position: relative;
|
|
37
|
+
width: 36px;
|
|
38
|
+
height: 20px;
|
|
39
|
+
border-radius: 10px;
|
|
40
|
+
background: var(--ic-surface-2);
|
|
41
|
+
border: 1px solid var(--ic-border);
|
|
42
|
+
cursor: pointer;
|
|
43
|
+
transition: background var(--ic-transition), border-color var(--ic-transition);
|
|
44
|
+
flex-shrink: 0;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.track[data-checked] {
|
|
48
|
+
background: var(--ic-accent);
|
|
49
|
+
border-color: var(--ic-accent);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.track[data-disabled] {
|
|
53
|
+
opacity: 0.5;
|
|
54
|
+
cursor: not-allowed;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.track:focus-visible {
|
|
58
|
+
outline: 2px solid var(--ic-accent);
|
|
59
|
+
outline-offset: 2px;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.thumb {
|
|
63
|
+
position: absolute;
|
|
64
|
+
top: 1px;
|
|
65
|
+
left: 1px;
|
|
66
|
+
width: 16px;
|
|
67
|
+
height: 16px;
|
|
68
|
+
border-radius: 50%;
|
|
69
|
+
background: var(--ic-text);
|
|
70
|
+
transition: transform var(--ic-transition);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.track[data-checked] .thumb {
|
|
74
|
+
transform: translateX(16px);
|
|
75
|
+
}
|
|
76
|
+
`];b([c()],n.prototype,"label",2);b([c({type:Boolean})],n.prototype,"checked",2);b([c({type:Boolean})],n.prototype,"disabled",2);n=b([y("ic-toggle")],n);var $=Object.defineProperty,_=Object.getOwnPropertyDescriptor,p=(e,a,s,r)=>{for(var t=r>1?void 0:r?_(a,s):a,i=e.length-1,l;i>=0;i--)(l=e[i])&&(t=(r?l(a,s,t):l(t))||t);return r&&t&&$(a,s,t),t};let o=class extends g{constructor(){super(...arguments),this.label="",this.value="",this.options=[],this.disabled=!1}_onChange(e){const a=e.target.value;this.dispatchEvent(new CustomEvent("change",{detail:a,bubbles:!0,composed:!0}))}render(){return d`
|
|
77
|
+
<div class="select-wrapper">
|
|
78
|
+
${this.label?d`<label>${this.label}</label>`:h}
|
|
79
|
+
<select
|
|
80
|
+
.value=${this.value}
|
|
81
|
+
?disabled=${this.disabled}
|
|
82
|
+
aria-label=${this.label||h}
|
|
83
|
+
@change=${this._onChange}
|
|
84
|
+
>
|
|
85
|
+
${this.options.map(e=>d`<option value=${e.value} ?selected=${e.value===this.value}>${e.label}</option>`)}
|
|
86
|
+
</select>
|
|
87
|
+
</div>
|
|
88
|
+
`}};o.styles=[u,v,f`
|
|
89
|
+
:host {
|
|
90
|
+
display: block;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.select-wrapper {
|
|
94
|
+
display: flex;
|
|
95
|
+
flex-direction: column;
|
|
96
|
+
gap: var(--ic-space-xs);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
label {
|
|
100
|
+
font-size: var(--ic-text-sm);
|
|
101
|
+
font-weight: 500;
|
|
102
|
+
color: var(--ic-text-muted);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
select {
|
|
106
|
+
padding: 0.5rem 0.75rem;
|
|
107
|
+
background: var(--ic-surface-2);
|
|
108
|
+
border: 1px solid var(--ic-border);
|
|
109
|
+
border-radius: var(--ic-radius-md);
|
|
110
|
+
color: var(--ic-text);
|
|
111
|
+
font-family: inherit;
|
|
112
|
+
font-size: var(--ic-text-sm);
|
|
113
|
+
cursor: pointer;
|
|
114
|
+
appearance: auto;
|
|
115
|
+
transition: border-color var(--ic-transition);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
select:focus {
|
|
119
|
+
outline: none;
|
|
120
|
+
border-color: var(--ic-accent);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
select:disabled {
|
|
124
|
+
opacity: 0.5;
|
|
125
|
+
cursor: not-allowed;
|
|
126
|
+
}
|
|
127
|
+
`];p([c()],o.prototype,"label",2);p([c()],o.prototype,"value",2);p([c({type:Array})],o.prototype,"options",2);p([c({type:Boolean})],o.prototype,"disabled",2);o=p([y("ic-select")],o);
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import{s as b,f as p,i as h,n as d,a as v,A as f,b as n,t as u}from"./index-CEcM1R_C.js";var g=Object.defineProperty,m=Object.getOwnPropertyDescriptor,l=(e,t,a,i)=>{for(var s=i>1?void 0:i?m(t,a):t,o=e.length-1,c;o>=0;o--)(c=e[o])&&(s=(i?c(t,a,s):c(s))||s);return i&&s&&g(t,a,s),s};let r=class extends v{constructor(){super(...arguments),this.tabs=[],this.activeTab=""}willUpdate(e){(!this.activeTab||e.has("tabs"))&&this.tabs.length>0&&!this.activeTab&&(this.activeTab=this.tabs[0].id)}updated(e){this._updatePanelVisibility()}_updatePanelVisibility(){const e=this.shadowRoot?.querySelector("slot:not([name])");if(!e)return;const t=e.assignedElements();for(const a of t){const i=a.dataset.tab;i&&(i===this.activeTab?a.setAttribute("data-active",""):a.removeAttribute("data-active"))}}_selectTab(e){e!==this.activeTab&&(this.activeTab=e,this.dispatchEvent(new CustomEvent("tab-change",{detail:e})))}_onTabKeyDown(e){const t=Array.from(this.shadowRoot?.querySelectorAll('[role="tab"]')??[]),a=t.indexOf(e.target);if(a<0)return;let i=-1;switch(e.key){case"ArrowLeft":e.preventDefault(),i=a>0?a-1:t.length-1;break;case"ArrowRight":e.preventDefault(),i=a<t.length-1?a+1:0;break;case"Home":e.preventDefault(),i=0;break;case"End":e.preventDefault(),i=t.length-1;break;default:return}if(i>=0&&i<t.length){t[i].focus();const s=this.tabs[i]?.id;s&&this._selectTab(s)}}render(){const e=this.activeTab||(this.tabs.length>0?this.tabs[0].id:"");return n`
|
|
2
|
+
<div class="tablist" role="tablist">
|
|
3
|
+
${this.tabs.map(t=>{const a=t.id===e;return n`
|
|
4
|
+
<button
|
|
5
|
+
role="tab"
|
|
6
|
+
id="tab-${t.id}"
|
|
7
|
+
class="tab ${a?"tab--active":""}"
|
|
8
|
+
aria-selected=${a?"true":"false"}
|
|
9
|
+
aria-controls="panel-${t.id}"
|
|
10
|
+
tabindex=${a?"0":"-1"}
|
|
11
|
+
@click=${()=>this._selectTab(t.id)}
|
|
12
|
+
@keydown=${this._onTabKeyDown}
|
|
13
|
+
>
|
|
14
|
+
${t.label}
|
|
15
|
+
${t.badge&&t.badge>0?n`<span class="badge">${t.badge}</span>`:f}
|
|
16
|
+
</button>
|
|
17
|
+
`})}
|
|
18
|
+
</div>
|
|
19
|
+
<div class="panels">
|
|
20
|
+
${this.tabs.map(t=>{const a=t.id===e;return n`
|
|
21
|
+
<div
|
|
22
|
+
role="tabpanel"
|
|
23
|
+
id="panel-${t.id}"
|
|
24
|
+
aria-labelledby="tab-${t.id}"
|
|
25
|
+
?hidden=${!a}
|
|
26
|
+
>
|
|
27
|
+
<slot name=${t.id}></slot>
|
|
28
|
+
</div>
|
|
29
|
+
`})}
|
|
30
|
+
<slot @slotchange=${this._updatePanelVisibility}></slot>
|
|
31
|
+
</div>
|
|
32
|
+
`}};r.styles=[b,p,h`
|
|
33
|
+
:host {
|
|
34
|
+
display: block;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.tablist {
|
|
38
|
+
display: flex;
|
|
39
|
+
border-bottom: 1px solid var(--ic-border);
|
|
40
|
+
gap: 0;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.tab {
|
|
44
|
+
padding: var(--ic-space-sm) var(--ic-space-md);
|
|
45
|
+
font-size: var(--ic-text-sm);
|
|
46
|
+
font-family: inherit;
|
|
47
|
+
background: none;
|
|
48
|
+
border: none;
|
|
49
|
+
border-bottom: 2px solid transparent;
|
|
50
|
+
color: var(--ic-text-muted);
|
|
51
|
+
cursor: pointer;
|
|
52
|
+
display: inline-flex;
|
|
53
|
+
align-items: center;
|
|
54
|
+
gap: var(--ic-space-xs);
|
|
55
|
+
transition: color var(--ic-transition), border-color var(--ic-transition);
|
|
56
|
+
white-space: nowrap;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.tab:hover:not(.tab--active) {
|
|
60
|
+
color: var(--ic-text);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.tab--active {
|
|
64
|
+
color: var(--ic-accent);
|
|
65
|
+
border-bottom-color: var(--ic-accent);
|
|
66
|
+
font-weight: 500;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.badge {
|
|
70
|
+
display: inline-flex;
|
|
71
|
+
align-items: center;
|
|
72
|
+
justify-content: center;
|
|
73
|
+
min-width: 1.25rem;
|
|
74
|
+
height: 1.25rem;
|
|
75
|
+
padding: 0 var(--ic-space-xs);
|
|
76
|
+
background: var(--ic-accent);
|
|
77
|
+
color: #fff;
|
|
78
|
+
font-size: var(--ic-text-xs);
|
|
79
|
+
font-weight: 600;
|
|
80
|
+
border-radius: 9999px;
|
|
81
|
+
line-height: 1;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.panels {
|
|
85
|
+
margin-top: var(--ic-space-md);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
::slotted([data-tab]) {
|
|
89
|
+
display: none;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
::slotted([data-tab][data-active]) {
|
|
93
|
+
display: block;
|
|
94
|
+
}
|
|
95
|
+
`];l([d({type:Array})],r.prototype,"tabs",2);l([d()],r.prototype,"activeTab",2);r=l([u("ic-tabs")],r);
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import{s as g,i as v,n as p,a as d,b as m,t as f}from"./index-CEcM1R_C.js";var u=Object.defineProperty,h=Object.getOwnPropertyDescriptor,o=(r,s,i,t)=>{for(var a=t>1?void 0:t?h(s,i):s,c=r.length-1,n;c>=0;c--)(n=r[c])&&(a=(t?n(s,i,a):n(a))||a);return t&&a&&u(s,i,a),a};const l={default:"var(--ic-text-muted)",success:"var(--ic-success)",warning:"var(--ic-warning)",error:"var(--ic-error)",info:"var(--ic-info)",accent:"var(--ic-accent)",telegram:"var(--ic-telegram)",discord:"var(--ic-discord)",slack:"var(--ic-slack)",whatsapp:"var(--ic-whatsapp)",line:"var(--ic-line)",signal:"var(--ic-signal)",imessage:"var(--ic-imessage)",irc:"var(--ic-irc)"};let e=class extends d{constructor(){super(...arguments),this.variant="default",this.size="sm"}render(){const r=l[this.variant]??l.default,s=this.size==="md"?"tag--md":"tag--sm";return m`
|
|
2
|
+
<span
|
|
3
|
+
class="tag ${s}"
|
|
4
|
+
style="background-color: color-mix(in srgb, ${r} 10%, transparent); color: ${r};"
|
|
5
|
+
>
|
|
6
|
+
<slot></slot>
|
|
7
|
+
</span>
|
|
8
|
+
`}};e.styles=[g,v`
|
|
9
|
+
:host {
|
|
10
|
+
display: inline-block;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.tag {
|
|
14
|
+
display: inline-flex;
|
|
15
|
+
align-items: center;
|
|
16
|
+
border-radius: 9999px;
|
|
17
|
+
font-weight: 500;
|
|
18
|
+
white-space: nowrap;
|
|
19
|
+
line-height: 1;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.tag--sm {
|
|
23
|
+
padding: 2px 8px;
|
|
24
|
+
font-size: var(--ic-text-xs);
|
|
25
|
+
text-transform: uppercase;
|
|
26
|
+
letter-spacing: 0.02em;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.tag--md {
|
|
30
|
+
padding: 4px 12px;
|
|
31
|
+
font-size: var(--ic-text-sm);
|
|
32
|
+
}
|
|
33
|
+
`];o([p()],e.prototype,"variant",2);o([p()],e.prototype,"size",2);e=o([f("ic-tag")],e);
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import{s as d,f as m,i as v,n as p,r as u,a as b,A as h,b as l,t as f}from"./index-CEcM1R_C.js";var g=Object.defineProperty,_=Object.getOwnPropertyDescriptor,r=(e,a,o,i)=>{for(var t=i>1?void 0:i?_(a,o):a,c=e.length-1,n;c>=0;c--)(n=e[c])&&(t=(i?n(a,o,t):n(t))||t);return i&&t&&g(a,o,t),t};const x=[{label:"Today",sinceMs:864e5},{label:"7d",sinceMs:6048e5},{label:"30d",sinceMs:2592e6},{label:"Custom",sinceMs:0}];let s=class extends b{constructor(){super(...arguments),this.selected="7d",this.presets=x,this._customFrom="",this._customTo=""}_onPresetClick(e){this.selected=e.label,e.label!=="Custom"&&this.dispatchEvent(new CustomEvent("time-range-change",{detail:{sinceMs:e.sinceMs,label:e.label},bubbles:!0,composed:!0}))}_onCustomDateChange(){if(!this._customFrom||!this._customTo)return;const e=new Date(this._customFrom).getTime(),a=Date.now()-e;this.dispatchEvent(new CustomEvent("time-range-change",{detail:{sinceMs:a,label:"Custom"},bubbles:!0,composed:!0}))}render(){return l`
|
|
2
|
+
<div class="presets">
|
|
3
|
+
${this.presets.map(e=>l`
|
|
4
|
+
<button
|
|
5
|
+
class="preset ${this.selected===e.label?"preset--active":"preset--inactive"}"
|
|
6
|
+
@click=${()=>this._onPresetClick(e)}
|
|
7
|
+
>
|
|
8
|
+
${e.label}
|
|
9
|
+
</button>
|
|
10
|
+
`)}
|
|
11
|
+
</div>
|
|
12
|
+
${this.selected==="Custom"?l`
|
|
13
|
+
<div class="custom-dates">
|
|
14
|
+
<span class="date-label">From</span>
|
|
15
|
+
<input
|
|
16
|
+
type="date"
|
|
17
|
+
class="date-input"
|
|
18
|
+
.value=${this._customFrom}
|
|
19
|
+
@change=${e=>{this._customFrom=e.target.value,this._onCustomDateChange()}}
|
|
20
|
+
/>
|
|
21
|
+
<span class="date-label">To</span>
|
|
22
|
+
<input
|
|
23
|
+
type="date"
|
|
24
|
+
class="date-input"
|
|
25
|
+
.value=${this._customTo}
|
|
26
|
+
@change=${e=>{this._customTo=e.target.value,this._onCustomDateChange()}}
|
|
27
|
+
/>
|
|
28
|
+
</div>
|
|
29
|
+
`:h}
|
|
30
|
+
`}};s.styles=[d,m,v`
|
|
31
|
+
:host {
|
|
32
|
+
display: block;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.presets {
|
|
36
|
+
display: flex;
|
|
37
|
+
flex-wrap: wrap;
|
|
38
|
+
gap: var(--ic-space-xs);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.preset {
|
|
42
|
+
border-radius: 9999px;
|
|
43
|
+
padding: 0.25rem 0.75rem;
|
|
44
|
+
font-size: var(--ic-text-xs);
|
|
45
|
+
cursor: pointer;
|
|
46
|
+
transition: all 0.15s;
|
|
47
|
+
font-family: inherit;
|
|
48
|
+
line-height: 1.5;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.preset--active {
|
|
52
|
+
background: var(--ic-accent);
|
|
53
|
+
color: var(--ic-bg, #0f172a);
|
|
54
|
+
border: 1px solid var(--ic-accent);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.preset--inactive {
|
|
58
|
+
background: transparent;
|
|
59
|
+
color: var(--ic-text-dim);
|
|
60
|
+
border: 1px solid var(--ic-border);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.preset--inactive:hover {
|
|
64
|
+
border-color: var(--ic-text-dim);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.custom-dates {
|
|
68
|
+
display: flex;
|
|
69
|
+
gap: var(--ic-space-sm);
|
|
70
|
+
margin-top: var(--ic-space-sm);
|
|
71
|
+
align-items: center;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.date-label {
|
|
75
|
+
font-size: var(--ic-text-xs);
|
|
76
|
+
color: var(--ic-text-dim);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.date-input {
|
|
80
|
+
background: var(--ic-surface);
|
|
81
|
+
border: 1px solid var(--ic-border);
|
|
82
|
+
color: var(--ic-text);
|
|
83
|
+
border-radius: var(--ic-radius-sm, 4px);
|
|
84
|
+
padding: 0.25rem 0.5rem;
|
|
85
|
+
font-size: var(--ic-text-xs);
|
|
86
|
+
font-family: inherit;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.date-input:focus {
|
|
90
|
+
outline: 2px solid var(--ic-accent);
|
|
91
|
+
outline-offset: 1px;
|
|
92
|
+
}
|
|
93
|
+
`];r([p({type:String})],s.prototype,"selected",2);r([p({attribute:!1})],s.prototype,"presets",2);r([u()],s.prototype,"_customFrom",2);r([u()],s.prototype,"_customTo",2);s=r([f("ic-time-range-picker")],s);
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import{s as h,f,i as v,n as l,r as m,a as x,b as o,A as d,t as g}from"./index-CEcM1R_C.js";import"./ic-chat-message-CFyDJd0z.js";import"./ic-icon-xeGTVhVG.js";function b(e){return e.replace(/\b(?:NO_REPLY|HEARTBEAT_OK)\b/g,"").trim()}function y(e){if(!e.includes("[System context]")&&!e.includes("[End system context]"))return e;const t="[End system context]",i=e.lastIndexOf(t);if(i===-1)return e;const n=e.slice(i+t.length),s=n.match(/\s*\[[\w-]+\]\s+\S+\s+\([^)]*\):\s*/);if(s){const c=n.indexOf(s[0])+s[0].length;return n.slice(c).trim()}return n.trim()}function S(e,t){return t==="assistant"?b(e):t==="user"?y(e):e}var w=Object.defineProperty,_=Object.getOwnPropertyDescriptor,a=(e,t,i,n)=>{for(var s=n>1?void 0:n?_(t,i):t,c=e.length-1,u;c>=0;c--)(u=e[c])&&(s=(n?u(t,i,s):u(s))||s);return n&&s&&w(t,i,s),s};function p(e){if(e==null)return"";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}let r=class extends x{constructor(){super(...arguments),this.toolName="",this.input=null,this.output=null,this.expanded=!1,this.status="success",this._showFullOutput=!1}_toggleExpanded(){this.expanded=!this.expanded}_handleHeaderKeyDown(e){(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),this._toggleExpanded())}_renderStatus(){switch(this.status){case"running":return o`<ic-loading size="sm"></ic-loading>`;case"success":return o`<ic-icon name="check" size="16px" color="var(--ic-success)"></ic-icon>`;case"error":return o`<ic-icon name="x" size="16px" color="var(--ic-error)"></ic-icon>`}}_renderBody(){return this.expanded?o`
|
|
2
|
+
<div class="body">
|
|
3
|
+
${this.input!=null?o`
|
|
4
|
+
<div class="section">
|
|
5
|
+
<div class="section-label">Input</div>
|
|
6
|
+
<ic-code-block
|
|
7
|
+
language=${typeof this.input=="string"?"":"json"}
|
|
8
|
+
.code=${p(this.input)}
|
|
9
|
+
></ic-code-block>
|
|
10
|
+
</div>
|
|
11
|
+
`:d}
|
|
12
|
+
${this.output!=null?this._renderOutput():d}
|
|
13
|
+
</div>
|
|
14
|
+
`:d}_renderOutput(){const e=p(this.output),t=e.length>500&&!this._showFullOutput,i=t?e.slice(0,500)+"... (truncated)":e;return o`
|
|
15
|
+
<div class="section">
|
|
16
|
+
<div class="section-label">Output</div>
|
|
17
|
+
<ic-code-block
|
|
18
|
+
language=${typeof this.output=="string"?"":"json"}
|
|
19
|
+
.code=${i}
|
|
20
|
+
></ic-code-block>
|
|
21
|
+
${t?o`
|
|
22
|
+
<button class="show-full" @click=${()=>{this._showFullOutput=!0}}>
|
|
23
|
+
Show full
|
|
24
|
+
</button>
|
|
25
|
+
`:d}
|
|
26
|
+
</div>
|
|
27
|
+
`}render(){const e=this.expanded?"chevron chevron--expanded":"chevron";return o`
|
|
28
|
+
<div
|
|
29
|
+
class="container"
|
|
30
|
+
role="group"
|
|
31
|
+
aria-label="Tool call: ${this.toolName}"
|
|
32
|
+
>
|
|
33
|
+
<button
|
|
34
|
+
class="header"
|
|
35
|
+
@click=${this._toggleExpanded}
|
|
36
|
+
@keydown=${this._handleHeaderKeyDown}
|
|
37
|
+
aria-expanded="${this.expanded}"
|
|
38
|
+
>
|
|
39
|
+
<span class=${e}>
|
|
40
|
+
<ic-icon name="chevron-right" size="16px"></ic-icon>
|
|
41
|
+
</span>
|
|
42
|
+
<span class="tool-icon">
|
|
43
|
+
<ic-icon name="skills" size="16px" color="var(--ic-text-muted)"></ic-icon>
|
|
44
|
+
</span>
|
|
45
|
+
<span class="tool-name">${this.toolName}</span>
|
|
46
|
+
<span class="status">${this._renderStatus()}</span>
|
|
47
|
+
</button>
|
|
48
|
+
${this._renderBody()}
|
|
49
|
+
</div>
|
|
50
|
+
`}};r.styles=[h,f,v`
|
|
51
|
+
:host {
|
|
52
|
+
display: block;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.container {
|
|
56
|
+
background: var(--ic-surface);
|
|
57
|
+
border: 1px solid var(--ic-border);
|
|
58
|
+
border-radius: var(--ic-radius-md);
|
|
59
|
+
margin: var(--ic-space-xs) 0;
|
|
60
|
+
overflow: hidden;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.header {
|
|
64
|
+
display: flex;
|
|
65
|
+
align-items: center;
|
|
66
|
+
gap: var(--ic-space-sm);
|
|
67
|
+
padding: var(--ic-space-sm) var(--ic-space-md);
|
|
68
|
+
cursor: pointer;
|
|
69
|
+
border: none;
|
|
70
|
+
background: none;
|
|
71
|
+
width: 100%;
|
|
72
|
+
color: inherit;
|
|
73
|
+
font: inherit;
|
|
74
|
+
text-align: left;
|
|
75
|
+
transition: background var(--ic-transition);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.header:hover {
|
|
79
|
+
background: var(--ic-surface-2);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.chevron {
|
|
83
|
+
display: inline-flex;
|
|
84
|
+
color: var(--ic-text-dim);
|
|
85
|
+
transition: transform 150ms ease;
|
|
86
|
+
flex-shrink: 0;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.chevron--expanded {
|
|
90
|
+
transform: rotate(90deg);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.tool-icon {
|
|
94
|
+
flex-shrink: 0;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.tool-name {
|
|
98
|
+
font-family: var(--ic-font-mono);
|
|
99
|
+
font-size: var(--ic-text-sm);
|
|
100
|
+
color: var(--ic-text);
|
|
101
|
+
font-weight: 500;
|
|
102
|
+
flex: 1;
|
|
103
|
+
overflow: hidden;
|
|
104
|
+
text-overflow: ellipsis;
|
|
105
|
+
white-space: nowrap;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.status {
|
|
109
|
+
flex-shrink: 0;
|
|
110
|
+
display: inline-flex;
|
|
111
|
+
align-items: center;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.body {
|
|
115
|
+
border-top: 1px solid var(--ic-border);
|
|
116
|
+
padding: var(--ic-space-sm) var(--ic-space-md) var(--ic-space-md);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.section-label {
|
|
120
|
+
font-size: var(--ic-text-xs);
|
|
121
|
+
color: var(--ic-text-dim);
|
|
122
|
+
text-transform: uppercase;
|
|
123
|
+
letter-spacing: 0.04em;
|
|
124
|
+
font-weight: 500;
|
|
125
|
+
margin-bottom: var(--ic-space-xs);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
.section + .section {
|
|
129
|
+
margin-top: var(--ic-space-sm);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.show-full {
|
|
133
|
+
background: none;
|
|
134
|
+
border: none;
|
|
135
|
+
color: var(--ic-accent);
|
|
136
|
+
cursor: pointer;
|
|
137
|
+
font-size: var(--ic-text-xs);
|
|
138
|
+
padding: 0;
|
|
139
|
+
margin-top: var(--ic-space-xs);
|
|
140
|
+
font-family: inherit;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.show-full:hover {
|
|
144
|
+
text-decoration: underline;
|
|
145
|
+
}
|
|
146
|
+
`];a([l()],r.prototype,"toolName",2);a([l({attribute:!1})],r.prototype,"input",2);a([l({attribute:!1})],r.prototype,"output",2);a([l({type:Boolean})],r.prototype,"expanded",2);a([l()],r.prototype,"status",2);a([m()],r.prototype,"_showFullOutput",2);r=a([g("ic-tool-call")],r);export{y as a,S as c,b as s};
|