comisai 1.0.24 → 1.0.25
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/package.json +1 -1
- package/node_modules/@comis/channels/package.json +1 -1
- package/node_modules/@comis/cli/package.json +1 -1
- package/node_modules/@comis/core/dist/bootstrap.js +5 -0
- package/node_modules/@comis/core/dist/config/env-layer.d.ts +31 -0
- package/node_modules/@comis/core/dist/config/env-layer.js +41 -0
- package/node_modules/@comis/core/dist/config/layered.d.ts +9 -0
- package/node_modules/@comis/core/dist/config/layered.js +11 -0
- package/node_modules/@comis/core/package.json +1 -1
- package/node_modules/@comis/daemon/dist/daemon.js +3 -0
- 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/package.json +1 -1
- package/node_modules/@comis/web/dist/assets/{agent-detail-BG9MGWWj.js → agent-detail-ru-AhppM.js} +270 -270
- package/node_modules/@comis/web/dist/assets/agent-editor-hjwRuFVp.js +2173 -0
- package/node_modules/@comis/web/dist/assets/{agent-list-LHCJ4rw2.js → agent-list-6Uotjatr.js} +170 -170
- package/node_modules/@comis/web/dist/assets/{approvals-q9VH_IKr.js → approvals-C-K6hN2U.js} +13 -13
- package/node_modules/@comis/web/dist/assets/billing-view-CxysXH0p.js +375 -0
- package/node_modules/@comis/web/dist/assets/{channel-detail-CaInesJM.js → channel-detail-BBCKtmne.js} +265 -265
- package/node_modules/@comis/web/dist/assets/channel-list-FkfeOLBQ.js +323 -0
- package/node_modules/@comis/web/dist/assets/{chat-console-CNmzl0JW.js → chat-console-BumBaIgO.js} +243 -246
- package/node_modules/@comis/web/dist/assets/{config-editor-DX4ITw6y.js → config-editor-C9BSwHGy.js} +477 -477
- package/node_modules/@comis/web/dist/assets/{context-dag-browser-BwiaF5tf.js → context-dag-browser-BHm00mJD.js} +105 -105
- package/node_modules/@comis/web/dist/assets/{context-engine-BZ5Am6hA.js → context-engine-BENY3pWE.js} +136 -136
- package/node_modules/@comis/web/dist/assets/decorate-BvWYovGE.js +38 -0
- package/node_modules/@comis/web/dist/assets/{delivery-view-OfBZof-m.js → delivery-view-BCnkPsAp.js} +134 -134
- package/node_modules/@comis/web/dist/assets/{diagnostics-view-YFwCxgr2.js → diagnostics-view-C_jQFG2H.js} +82 -82
- package/node_modules/@comis/web/dist/assets/directive-BOYXJ-K-.js +1 -0
- package/node_modules/@comis/web/dist/assets/{extract-variables-BM5qyK-s.js → extract-variables-B7-Doo7l.js} +39 -39
- package/node_modules/@comis/web/dist/assets/{ic-array-editor-B7m6x7-S.js → ic-array-editor-BLoEyeLS.js} +29 -29
- package/node_modules/@comis/web/dist/assets/{ic-breadcrumb-CUMpp3BL.js → ic-breadcrumb-DqN6G3gc.js} +16 -16
- package/node_modules/@comis/web/dist/assets/{ic-budget-segment-bar-BtJ6x5mN.js → ic-budget-segment-bar-zLsMzjDO.js} +20 -20
- package/node_modules/@comis/web/dist/assets/ic-chat-message-FdQcZsSQ.js +352 -0
- package/node_modules/@comis/web/dist/assets/{ic-confirm-dialog-CCDbB04e.js → ic-confirm-dialog-DGlPbV1T.js} +26 -26
- package/node_modules/@comis/web/dist/assets/{ic-connection-dot-CnT1b8xr.js → ic-connection-dot-BgYiK2N4.js} +13 -13
- package/node_modules/@comis/web/dist/assets/ic-data-table-CKIvr-ag.js +277 -0
- package/node_modules/@comis/web/dist/assets/ic-delivery-row-B3YwjjuM.js +67 -0
- package/node_modules/@comis/web/dist/assets/{ic-detail-panel-BF83r-if.js → ic-detail-panel-DiCe4hLr.js} +27 -27
- package/node_modules/@comis/web/dist/assets/{ic-empty-state-60l2ePhd.js → ic-empty-state-CM3Wbj2f.js} +19 -19
- package/node_modules/@comis/web/dist/assets/ic-graph-canvas-ByRjij68.js +359 -0
- package/node_modules/@comis/web/dist/assets/ic-icon-BGNCCPpZ.js +33 -0
- package/node_modules/@comis/web/dist/assets/{ic-layer-waterfall-COvEYMg5.js → ic-layer-waterfall-WkaFyu-l.js} +18 -18
- package/node_modules/@comis/web/dist/assets/ic-relative-time-B3UAnTqg.js +12 -0
- package/node_modules/@comis/web/dist/assets/{ic-search-input-CSOxY9g7.js → ic-search-input-B02AGw1i.js} +22 -22
- package/node_modules/@comis/web/dist/assets/{ic-select-Ce-Raudx.js → ic-select-BqfZISjw.js} +29 -29
- package/node_modules/@comis/web/dist/assets/ic-tabs-yBjkWKJH.js +95 -0
- package/node_modules/@comis/web/dist/assets/ic-tag-CvMVQFRR.js +33 -0
- package/node_modules/@comis/web/dist/assets/{ic-time-range-picker-CypCT68y.js → ic-time-range-picker-DXbYeBmY.js} +31 -31
- package/node_modules/@comis/web/dist/assets/{ic-tool-call-7MaXSsCW.js → ic-tool-call-DMPHsLyx.js} +51 -51
- package/node_modules/@comis/web/dist/assets/index-CVEaS9aY.css +2 -0
- package/node_modules/@comis/web/dist/assets/index-FLPhHz8p.js +2792 -0
- package/node_modules/@comis/web/dist/assets/{mcp-management-BNZPnpDn.js → mcp-management-5jyScQis.js} +209 -209
- package/node_modules/@comis/web/dist/assets/{media-config-BBvTYxOX.js → media-config-J9oT9PPs.js} +154 -154
- package/node_modules/@comis/web/dist/assets/{media-test-BkK3RCRK.js → media-test-DGTCtM8-.js} +259 -259
- package/node_modules/@comis/web/dist/assets/{memory-inspector-1hDGCGat.js → memory-inspector-D5Re9ptG.js} +450 -450
- package/node_modules/@comis/web/dist/assets/{message-center-CXefwsUu.js → message-center-cRLK6ZmG.js} +290 -290
- package/node_modules/@comis/web/dist/assets/{models-C1qcU_j3.js → models-D5vu07MR.js} +371 -371
- package/node_modules/@comis/web/dist/assets/observability-types-D0tkwElU.js +1 -0
- package/node_modules/@comis/web/dist/assets/{observe-view-C0VBhX4C.js → observe-view-CalNNEmd.js} +399 -399
- package/node_modules/@comis/web/dist/assets/pipeline-builder-DUYDGwZf.js +1495 -0
- package/node_modules/@comis/web/dist/assets/{pipeline-history-DkfOQ6SW.js → pipeline-history-BAO8brOe.js} +124 -124
- package/node_modules/@comis/web/dist/assets/{pipeline-history-detail-hyHgD0ai.js → pipeline-history-detail-DectIoQt.js} +65 -65
- package/node_modules/@comis/web/dist/assets/{pipeline-list-BPW8hV-q.js → pipeline-list-BHlaBKww.js} +227 -227
- package/node_modules/@comis/web/dist/assets/{pipeline-monitor-Bip16T7e.js → pipeline-monitor-BhtpNEHf.js} +298 -298
- package/node_modules/@comis/web/dist/assets/{scheduler-BGgwKd06.js → scheduler-VafN_8xi.js} +486 -486
- package/node_modules/@comis/web/dist/assets/{security-D15st4xx.js → security-QQXMRTlo.js} +389 -389
- package/node_modules/@comis/web/dist/assets/{session-detail-SGEYNJ0M.js → session-detail-BpZ_8Yih.js} +294 -294
- package/node_modules/@comis/web/dist/assets/session-key-parser-Dkqcj2Ss.js +1 -0
- package/node_modules/@comis/web/dist/assets/session-list-DfCm8Cec.js +231 -0
- package/node_modules/@comis/web/dist/assets/{setup-wizard-nT0tz9QP.js → setup-wizard-C-z477CG.js} +486 -494
- package/node_modules/@comis/web/dist/assets/{skills-D8yVfSUy.js → skills-BCOGPf6s.js} +329 -329
- package/node_modules/@comis/web/dist/assets/{subagents-HHXMeHYo.js → subagents-l-auUraL.js} +74 -74
- package/node_modules/@comis/web/dist/assets/{workspace-manager-BQlr10iH.js → workspace-manager-DlvBixiq.js} +236 -236
- package/node_modules/@comis/web/dist/index.html +3 -2
- package/node_modules/@comis/web/package.json +1 -1
- package/package.json +15 -15
- package/node_modules/@comis/web/dist/assets/agent-editor-C26Q_xCs.js +0 -2173
- package/node_modules/@comis/web/dist/assets/billing-view-CtYvBqTE.js +0 -375
- package/node_modules/@comis/web/dist/assets/channel-list-B8dj3O9a.js +0 -323
- package/node_modules/@comis/web/dist/assets/directive-DoeGSK_T.js +0 -1
- package/node_modules/@comis/web/dist/assets/ic-chat-message-CFyDJd0z.js +0 -352
- package/node_modules/@comis/web/dist/assets/ic-data-table-CKUNTxHw.js +0 -277
- package/node_modules/@comis/web/dist/assets/ic-delivery-row-GP5Fkygs.js +0 -67
- package/node_modules/@comis/web/dist/assets/ic-graph-canvas-C8FuSMe1.js +0 -359
- package/node_modules/@comis/web/dist/assets/ic-icon-xeGTVhVG.js +0 -33
- package/node_modules/@comis/web/dist/assets/ic-relative-time-3FqpjeAI.js +0 -12
- package/node_modules/@comis/web/dist/assets/ic-tabs-B7QtM_v8.js +0 -95
- package/node_modules/@comis/web/dist/assets/ic-tag-CPPUnDLF.js +0 -33
- package/node_modules/@comis/web/dist/assets/index-CEcM1R_C.js +0 -2830
- package/node_modules/@comis/web/dist/assets/index-CIJFuItj.css +0 -1
- package/node_modules/@comis/web/dist/assets/observability-types-D7jUtSde.js +0 -1
- package/node_modules/@comis/web/dist/assets/pipeline-builder-DcUUIrm0.js +0 -1496
- package/node_modules/@comis/web/dist/assets/session-key-parser-DPORMVyU.js +0 -1
- package/node_modules/@comis/web/dist/assets/session-list-6ybUTxbY.js +0 -231
package/node_modules/@comis/web/dist/assets/{media-test-BkK3RCRK.js → media-test-DGTCtM8-.js}
RENAMED
|
@@ -1,261 +1,4 @@
|
|
|
1
|
-
import{
|
|
2
|
-
<div class="card">
|
|
3
|
-
<div class="card-title">Speech-to-Text</div>
|
|
4
|
-
${this._renderSttProviderInfo()}
|
|
5
|
-
<div class="file-input-wrapper">
|
|
6
|
-
<label class="file-label">Upload audio file</label>
|
|
7
|
-
<input
|
|
8
|
-
type="file"
|
|
9
|
-
accept="audio/*,.wav,.mp3,.ogg,.m4a,.webm,.flac"
|
|
10
|
-
@change=${this._handleSttUpload}
|
|
11
|
-
?disabled=${this._processing}
|
|
12
|
-
/>
|
|
13
|
-
<div class="file-hint">Max 25MB</div>
|
|
14
|
-
</div>
|
|
15
|
-
${this._processing?e`
|
|
16
|
-
<div class="spinner-inline">
|
|
17
|
-
<ic-loading></ic-loading>
|
|
18
|
-
Transcribing...
|
|
19
|
-
</div>
|
|
20
|
-
`:o}
|
|
21
|
-
${this._sttResult?e`
|
|
22
|
-
<div class="result-box">
|
|
23
|
-
<div class="result-label">Transcription</div>
|
|
24
|
-
<pre class="result-text">${this._sttResult.text}</pre>
|
|
25
|
-
<div class="result-meta">
|
|
26
|
-
${this._sttResult.language?e`<span>Language: ${this._sttResult.language}</span>`:o}
|
|
27
|
-
${this._sttResult.durationMs?e`<span>Duration: ${this._sttResult.durationMs}ms</span>`:o}
|
|
28
|
-
<span>Provider: ${this._sttResult.provider}</span>
|
|
29
|
-
</div>
|
|
30
|
-
</div>
|
|
31
|
-
`:o}
|
|
32
|
-
</div>
|
|
33
|
-
`}_renderTtsTab(){return e`
|
|
34
|
-
<div class="card">
|
|
35
|
-
<div class="card-title">Text-to-Speech</div>
|
|
36
|
-
${this._renderTtsProviderInfo()}
|
|
37
|
-
<div class="input-group">
|
|
38
|
-
<label class="input-label">Text to synthesize</label>
|
|
39
|
-
<textarea
|
|
40
|
-
placeholder="Enter text to synthesize..."
|
|
41
|
-
.value=${this._ttsText}
|
|
42
|
-
@input=${i=>{this._ttsText=i.target.value}}
|
|
43
|
-
?disabled=${this._processing}
|
|
44
|
-
></textarea>
|
|
45
|
-
</div>
|
|
46
|
-
<div class="input-group">
|
|
47
|
-
<label class="input-label">Voice override (optional)</label>
|
|
48
|
-
<input
|
|
49
|
-
class="text-input"
|
|
50
|
-
type="text"
|
|
51
|
-
placeholder="Leave empty for default"
|
|
52
|
-
.value=${this._ttsVoice}
|
|
53
|
-
@input=${i=>{this._ttsVoice=i.target.value}}
|
|
54
|
-
?disabled=${this._processing}
|
|
55
|
-
/>
|
|
56
|
-
</div>
|
|
57
|
-
<button
|
|
58
|
-
class="btn-primary"
|
|
59
|
-
@click=${this._handleTtsSynthesize}
|
|
60
|
-
?disabled=${this._processing||!this._ttsText.trim()}
|
|
61
|
-
>
|
|
62
|
-
Synthesize
|
|
63
|
-
</button>
|
|
64
|
-
${this._processing?e`
|
|
65
|
-
<div class="spinner-inline">
|
|
66
|
-
<ic-loading></ic-loading>
|
|
67
|
-
Synthesizing...
|
|
68
|
-
</div>
|
|
69
|
-
`:o}
|
|
70
|
-
${this._audioUrl&&this._ttsResult?e`
|
|
71
|
-
<div class="audio-player">
|
|
72
|
-
<audio controls src=${this._audioUrl}></audio>
|
|
73
|
-
<div class="result-meta">
|
|
74
|
-
<span>Size: ${(this._ttsResult.sizeBytes/1024).toFixed(1)} KB</span>
|
|
75
|
-
<span>Format: ${this._ttsResult.mimeType}</span>
|
|
76
|
-
<span>Provider: ${this._ttsResult.provider}</span>
|
|
77
|
-
</div>
|
|
78
|
-
</div>
|
|
79
|
-
`:o}
|
|
80
|
-
</div>
|
|
81
|
-
`}_renderVisionProviderInfo(){if(this._providers===null)return e`<div class="provider-info">Provider info unavailable</div>`;if(!this._providers.vision)return e`<div class="provider-info warning">Vision not configured -- set integrations.media.vision in config</div>`;const i=this._providers.vision;return e`<div class="provider-info">
|
|
82
|
-
Providers: ${i.providers.join(", ")}${i.defaultProvider?` (default: ${i.defaultProvider})`:""}
|
|
83
|
-
</div>`}_renderDocumentProviderInfo(){return this._providers===null?e`<div class="provider-info">Provider info unavailable</div>`:this._providers.documentExtraction?.enabled?e`<div class="provider-info">Document extraction enabled</div>`:e`<div class="provider-info warning">Document extraction not configured -- set integrations.media.documentExtraction in config</div>`}_renderVideoProviderInfo(){if(this._providers===null)return e`<div class="provider-info">Provider info unavailable</div>`;const i=this._providers.vision;return i?.videoCapable?.length?e`<div class="provider-info">Video-capable providers: ${i.videoCapable.join(", ")}</div>`:e`<div class="provider-info warning">No video-capable vision provider configured (requires Gemini or compatible)</div>`}_renderVisionTab(){return e`
|
|
84
|
-
<div class="card">
|
|
85
|
-
<div class="card-title">Vision Analysis</div>
|
|
86
|
-
${this._renderVisionProviderInfo()}
|
|
87
|
-
<div class="file-input-wrapper">
|
|
88
|
-
<label class="file-label">Upload image</label>
|
|
89
|
-
<input
|
|
90
|
-
type="file"
|
|
91
|
-
accept="image/*,.png,.jpg,.jpeg,.gif,.webp,.bmp"
|
|
92
|
-
@change=${this._handleVisionUpload}
|
|
93
|
-
?disabled=${this._processing}
|
|
94
|
-
/>
|
|
95
|
-
<div class="file-hint">Max 20MB</div>
|
|
96
|
-
</div>
|
|
97
|
-
<div class="input-group">
|
|
98
|
-
<label class="input-label">Analysis prompt (optional)</label>
|
|
99
|
-
<textarea
|
|
100
|
-
placeholder="Describe this image in detail"
|
|
101
|
-
.value=${this._visionPrompt}
|
|
102
|
-
@input=${i=>{this._visionPrompt=i.target.value}}
|
|
103
|
-
?disabled=${this._processing}
|
|
104
|
-
></textarea>
|
|
105
|
-
</div>
|
|
106
|
-
${this._processing?e`
|
|
107
|
-
<div class="spinner-inline">
|
|
108
|
-
<ic-loading></ic-loading>
|
|
109
|
-
Analyzing image...
|
|
110
|
-
</div>
|
|
111
|
-
`:o}
|
|
112
|
-
${this._imagePreviewUrl?e`
|
|
113
|
-
<div class="image-preview">
|
|
114
|
-
<img src=${this._imagePreviewUrl} alt="Upload preview" />
|
|
115
|
-
</div>
|
|
116
|
-
`:o}
|
|
117
|
-
${this._visionResult?e`
|
|
118
|
-
<div class="result-box">
|
|
119
|
-
<div class="result-label">Analysis</div>
|
|
120
|
-
<pre class="result-text">${this._visionResult.description}</pre>
|
|
121
|
-
<div class="result-meta">
|
|
122
|
-
<span>Provider: ${this._visionResult.provider}</span>
|
|
123
|
-
<span>Model: ${this._visionResult.model}</span>
|
|
124
|
-
</div>
|
|
125
|
-
</div>
|
|
126
|
-
`:o}
|
|
127
|
-
</div>
|
|
128
|
-
`}_renderDocumentTab(){return e`
|
|
129
|
-
<div class="card">
|
|
130
|
-
<div class="card-title">Document Extraction</div>
|
|
131
|
-
${this._renderDocumentProviderInfo()}
|
|
132
|
-
<div class="file-input-wrapper">
|
|
133
|
-
<label class="file-label">Upload document</label>
|
|
134
|
-
<input
|
|
135
|
-
type="file"
|
|
136
|
-
accept=".pdf,.csv,.txt,.json,.xml,.html,.md,.doc,.docx,.xls,.xlsx"
|
|
137
|
-
@change=${this._handleDocumentUpload}
|
|
138
|
-
?disabled=${this._processing}
|
|
139
|
-
/>
|
|
140
|
-
<div class="file-hint">Max 50MB</div>
|
|
141
|
-
</div>
|
|
142
|
-
${this._processing?e`
|
|
143
|
-
<div class="spinner-inline">
|
|
144
|
-
<ic-loading></ic-loading>
|
|
145
|
-
Extracting text...
|
|
146
|
-
</div>
|
|
147
|
-
`:o}
|
|
148
|
-
${this._documentResult?e`
|
|
149
|
-
<div class="result-box">
|
|
150
|
-
<div class="result-label">Extracted Text</div>
|
|
151
|
-
<pre class="result-text result-text--scrollable">${this._documentResult.text}</pre>
|
|
152
|
-
<div class="result-meta">
|
|
153
|
-
<span>File: ${this._documentResult.fileName}</span>
|
|
154
|
-
<span>Chars: ${this._documentResult.extractedChars.toLocaleString()}</span>
|
|
155
|
-
${this._documentResult.pageCount!=null?e`<span>Pages: ${this._documentResult.pageCount}</span>`:o}
|
|
156
|
-
${this._documentResult.truncated?e`<span class="truncated-badge">Truncated</span>`:o}
|
|
157
|
-
<span>Duration: ${this._documentResult.durationMs}ms</span>
|
|
158
|
-
</div>
|
|
159
|
-
</div>
|
|
160
|
-
`:o}
|
|
161
|
-
</div>
|
|
162
|
-
`}_renderVideoTab(){return e`
|
|
163
|
-
<div class="card">
|
|
164
|
-
<div class="card-title">Video Analysis</div>
|
|
165
|
-
${this._renderVideoProviderInfo()}
|
|
166
|
-
<div class="file-input-wrapper">
|
|
167
|
-
<label class="file-label">Upload video</label>
|
|
168
|
-
<input
|
|
169
|
-
type="file"
|
|
170
|
-
accept="video/*,.mp4,.mov,.avi,.webm,.mkv"
|
|
171
|
-
@change=${this._handleVideoUpload}
|
|
172
|
-
?disabled=${this._processing}
|
|
173
|
-
/>
|
|
174
|
-
<div class="file-hint">Max 50MB</div>
|
|
175
|
-
</div>
|
|
176
|
-
<div class="input-group">
|
|
177
|
-
<label class="input-label">Analysis prompt (optional)</label>
|
|
178
|
-
<textarea
|
|
179
|
-
placeholder="Describe this video concisely."
|
|
180
|
-
.value=${this._videoPrompt}
|
|
181
|
-
@input=${i=>{this._videoPrompt=i.target.value}}
|
|
182
|
-
?disabled=${this._processing}
|
|
183
|
-
></textarea>
|
|
184
|
-
</div>
|
|
185
|
-
${this._processing?e`
|
|
186
|
-
<div class="spinner-inline">
|
|
187
|
-
<ic-loading></ic-loading>
|
|
188
|
-
Analyzing video...
|
|
189
|
-
</div>
|
|
190
|
-
`:o}
|
|
191
|
-
${this._videoResult?e`
|
|
192
|
-
<div class="result-box">
|
|
193
|
-
<div class="result-label">Analysis</div>
|
|
194
|
-
<pre class="result-text">${this._videoResult.description}</pre>
|
|
195
|
-
<div class="result-meta">
|
|
196
|
-
<span>Provider: ${this._videoResult.provider}</span>
|
|
197
|
-
<span>Model: ${this._videoResult.model}</span>
|
|
198
|
-
</div>
|
|
199
|
-
</div>
|
|
200
|
-
`:o}
|
|
201
|
-
</div>
|
|
202
|
-
`}_renderLinkProviderInfo(){return this._providers===null?e`<div class="provider-info">Provider info unavailable</div>`:this._providers.linkUnderstanding?.enabled?e`<div class="provider-info">Link enrichment enabled (max ${this._providers.linkUnderstanding.maxLinks} links)</div>`:e`<div class="provider-info warning">Link understanding not configured</div>`}_renderLinkTab(){return e`
|
|
203
|
-
<div class="card">
|
|
204
|
-
<div class="card-title">Link Enrichment</div>
|
|
205
|
-
${this._renderLinkProviderInfo()}
|
|
206
|
-
<div class="input-group">
|
|
207
|
-
<label class="input-label">Enter URL to process</label>
|
|
208
|
-
<input
|
|
209
|
-
class="text-input"
|
|
210
|
-
type="url"
|
|
211
|
-
placeholder="https://example.com/article"
|
|
212
|
-
.value=${this._linkUrl}
|
|
213
|
-
@input=${i=>{this._linkUrl=i.target.value}}
|
|
214
|
-
?disabled=${this._processing}
|
|
215
|
-
/>
|
|
216
|
-
</div>
|
|
217
|
-
<button
|
|
218
|
-
class="btn-primary"
|
|
219
|
-
@click=${this._handleLinkTest}
|
|
220
|
-
?disabled=${this._processing||!this._linkUrl.trim()}
|
|
221
|
-
>
|
|
222
|
-
Process Link
|
|
223
|
-
</button>
|
|
224
|
-
${this._processing?e`
|
|
225
|
-
<div class="spinner-inline">
|
|
226
|
-
<ic-loading></ic-loading>
|
|
227
|
-
Processing link...
|
|
228
|
-
</div>
|
|
229
|
-
`:o}
|
|
230
|
-
${this._linkResult?e`
|
|
231
|
-
<div class="result-box">
|
|
232
|
-
<div class="result-label">Enriched Text</div>
|
|
233
|
-
<pre class="result-text result-text--scrollable">${this._linkResult.enrichedText}</pre>
|
|
234
|
-
<div class="result-meta">
|
|
235
|
-
<span>Links processed: ${this._linkResult.linksProcessed}</span>
|
|
236
|
-
</div>
|
|
237
|
-
${this._linkResult.errors.length>0?e`
|
|
238
|
-
<div class="provider-info warning" style="margin-top: var(--ic-space-sm);">
|
|
239
|
-
Errors: ${this._linkResult.errors.join(", ")}
|
|
240
|
-
</div>
|
|
241
|
-
`:o}
|
|
242
|
-
</div>
|
|
243
|
-
`:o}
|
|
244
|
-
</div>
|
|
245
|
-
`}_renderActiveTab(){switch(this._activeTab){case"stt":return this._renderSttTab();case"tts":return this._renderTtsTab();case"vision":return this._renderVisionTab();case"document":return this._renderDocumentTab();case"video":return this._renderVideoTab();case"link":return this._renderLinkTab();default:return o}}render(){return e`
|
|
246
|
-
<div class="header-row">
|
|
247
|
-
<div class="header-title">Media Tools</div>
|
|
248
|
-
</div>
|
|
249
|
-
<ic-tabs
|
|
250
|
-
.tabs=${w}
|
|
251
|
-
.activeTab=${this._activeTab}
|
|
252
|
-
@tab-change=${i=>{this._activeTab=i.detail}}
|
|
253
|
-
>
|
|
254
|
-
</ic-tabs>
|
|
255
|
-
<div class="tab-content">
|
|
256
|
-
${this._renderActiveTab()}
|
|
257
|
-
</div>
|
|
258
|
-
`}};n.styles=[_,g,b`
|
|
1
|
+
import{c as e,f as t,h as n,l as r,n as i,o as a,r as o,s,t as c,u as l}from"./decorate-BvWYovGE.js";import{a as u}from"./index-FLPhHz8p.js";import"./ic-empty-state-CM3Wbj2f.js";import"./ic-tabs-yBjkWKJH.js";var d=[{id:`stt`,label:`STT`},{id:`tts`,label:`TTS`},{id:`vision`,label:`Vision`},{id:`document`,label:`Document`},{id:`video`,label:`Video`},{id:`link`,label:`Link`}],f=25*1024*1024,p=20*1024*1024,m=50*1024*1024;function h(e){let t=new Uint8Array(e),n=32768,r=[];for(let e=0;e<t.length;e+=n)r.push(String.fromCharCode(...t.subarray(e,e+n)));return btoa(r.join(``))}var g=class extends r{constructor(...e){super(...e),this._activeTab=`stt`,this._processing=!1,this._sttResult=null,this._ttsResult=null,this._audioUrl=null,this._ttsText=``,this._ttsVoice=``,this._visionResult=null,this._documentResult=null,this._videoResult=null,this._visionPrompt=``,this._videoPrompt=``,this._linkUrl=``,this._linkResult=null,this._loadState=`loaded`,this._providers=null,this._imagePreviewUrl=null}static{this.styles=[o,i,n`
|
|
259
2
|
:host {
|
|
260
3
|
display: block;
|
|
261
4
|
}
|
|
@@ -493,4 +236,261 @@ import{a as f,I as v,b as e,A as o,s as _,f as g,i as b,n as m,r as d,t as x}fro
|
|
|
493
236
|
font-weight: 600;
|
|
494
237
|
}
|
|
495
238
|
|
|
496
|
-
`]
|
|
239
|
+
`]}connectedCallback(){super.connectedCallback(),this._loadProviders()}disconnectedCallback(){super.disconnectedCallback(),this._audioUrl&&=(URL.revokeObjectURL(this._audioUrl),null),this._imagePreviewUrl&&=(URL.revokeObjectURL(this._imagePreviewUrl),null)}async _loadProviders(){if(this.rpcClient)try{let e=await this.rpcClient.call(`media.providers`);this._providers=e}catch{this._providers=null}}async _handleSttUpload(e){let t=e.target,n=t.files?.[0];if(n){if(n.size>f){u.show(`File exceeds 25MB limit`,`error`),t.value=``;return}this._processing=!0,this._sttResult=null;try{let e=h(await n.arrayBuffer()),t=await this.rpcClient.call(`media.test.stt`,{audio:e,mimeType:n.type||`audio/wav`});this._sttResult=t}catch(e){let t=e instanceof Error?e.message:String(e);u.show(`STT failed: ${t}`,`error`)}finally{this._processing=!1}}}async _handleTtsSynthesize(){if(this._ttsText.trim()){this._processing=!0,this._ttsResult=null,this._audioUrl&&=(URL.revokeObjectURL(this._audioUrl),null);try{let e=await this.rpcClient.call(`media.test.tts`,{text:this._ttsText,voice:this._ttsVoice||void 0});this._ttsResult=e;let t=atob(e.audio),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);let r=new Blob([n],{type:e.mimeType});this._audioUrl=URL.createObjectURL(r)}catch(e){let t=e instanceof Error?e.message:String(e);u.show(`TTS failed: ${t}`,`error`)}finally{this._processing=!1}}}async _handleVisionUpload(e){let t=e.target,n=t.files?.[0];if(n){if(n.size>p){u.show(`File exceeds 20MB limit`,`error`),t.value=``;return}this._imagePreviewUrl&&URL.revokeObjectURL(this._imagePreviewUrl),this._imagePreviewUrl=URL.createObjectURL(n),this._processing=!0,this._visionResult=null,this.requestUpdate();try{let e=h(await n.arrayBuffer()),t=await this.rpcClient.call(`media.test.vision`,{image:e,mimeType:n.type||`image/jpeg`,prompt:this._visionPrompt||void 0});this._visionResult=t}catch(e){let t=e instanceof Error?e.message:String(e);u.show(`Vision analysis failed: ${t}`,`error`)}finally{this._processing=!1,t.value=``}}}async _handleDocumentUpload(e){let t=e.target,n=t.files?.[0];if(n){if(n.size>m){u.show(`File exceeds 50MB limit`,`error`),t.value=``;return}this._processing=!0,this._documentResult=null;try{let e=h(await n.arrayBuffer()),t=await this.rpcClient.call(`media.test.document`,{file:e,mimeType:n.type||`application/octet-stream`,fileName:n.name});this._documentResult=t}catch(e){let t=e instanceof Error?e.message:String(e);u.show(`Document extraction failed: ${t}`,`error`)}finally{this._processing=!1,t.value=``}}}async _handleVideoUpload(e){let t=e.target,n=t.files?.[0];if(n){if(n.size>m){u.show(`File exceeds 50MB limit`,`error`),t.value=``;return}this._processing=!0,this._videoResult=null;try{let e=h(await n.arrayBuffer()),t=await this.rpcClient.call(`media.test.video`,{video:e,mimeType:n.type||`video/mp4`,prompt:this._videoPrompt||void 0});this._videoResult=t}catch(e){let t=e instanceof Error?e.message:String(e);u.show(`Video analysis failed: ${t}`,`error`)}finally{this._processing=!1,t.value=``}}}async _handleLinkTest(){if(this._linkUrl.trim()){this._processing=!0,this._linkResult=null;try{let e=await this.rpcClient.call(`media.test.link`,{url:this._linkUrl});this._linkResult=e}catch(e){let t=e instanceof Error?e.message:String(e);u.show(`Link processing failed: ${t}`,`error`)}finally{this._processing=!1}}}_renderSttProviderInfo(){if(this._providers===null)return t`<div class="provider-info">Provider info unavailable</div>`;if(!this._providers.stt)return t`<div class="provider-info warning">STT not configured -- set integrations.media.transcription in config</div>`;let e=this._providers.stt;return t`<div class="provider-info">Provider: ${e.provider}${e.model?` (${e.model})`:``}</div>`}_renderTtsProviderInfo(){if(this._providers===null)return t`<div class="provider-info">Provider info unavailable</div>`;if(!this._providers.tts)return t`<div class="provider-info warning">TTS not configured -- set integrations.media.tts in config</div>`;let e=this._providers.tts;return t`<div class="provider-info">Provider: ${e.provider}, Voice: ${e.voice}, Format: ${e.format}</div>`}_renderSttTab(){return t`
|
|
240
|
+
<div class="card">
|
|
241
|
+
<div class="card-title">Speech-to-Text</div>
|
|
242
|
+
${this._renderSttProviderInfo()}
|
|
243
|
+
<div class="file-input-wrapper">
|
|
244
|
+
<label class="file-label">Upload audio file</label>
|
|
245
|
+
<input
|
|
246
|
+
type="file"
|
|
247
|
+
accept="audio/*,.wav,.mp3,.ogg,.m4a,.webm,.flac"
|
|
248
|
+
@change=${this._handleSttUpload}
|
|
249
|
+
?disabled=${this._processing}
|
|
250
|
+
/>
|
|
251
|
+
<div class="file-hint">Max 25MB</div>
|
|
252
|
+
</div>
|
|
253
|
+
${this._processing?t`
|
|
254
|
+
<div class="spinner-inline">
|
|
255
|
+
<ic-loading></ic-loading>
|
|
256
|
+
Transcribing...
|
|
257
|
+
</div>
|
|
258
|
+
`:l}
|
|
259
|
+
${this._sttResult?t`
|
|
260
|
+
<div class="result-box">
|
|
261
|
+
<div class="result-label">Transcription</div>
|
|
262
|
+
<pre class="result-text">${this._sttResult.text}</pre>
|
|
263
|
+
<div class="result-meta">
|
|
264
|
+
${this._sttResult.language?t`<span>Language: ${this._sttResult.language}</span>`:l}
|
|
265
|
+
${this._sttResult.durationMs?t`<span>Duration: ${this._sttResult.durationMs}ms</span>`:l}
|
|
266
|
+
<span>Provider: ${this._sttResult.provider}</span>
|
|
267
|
+
</div>
|
|
268
|
+
</div>
|
|
269
|
+
`:l}
|
|
270
|
+
</div>
|
|
271
|
+
`}_renderTtsTab(){return t`
|
|
272
|
+
<div class="card">
|
|
273
|
+
<div class="card-title">Text-to-Speech</div>
|
|
274
|
+
${this._renderTtsProviderInfo()}
|
|
275
|
+
<div class="input-group">
|
|
276
|
+
<label class="input-label">Text to synthesize</label>
|
|
277
|
+
<textarea
|
|
278
|
+
placeholder="Enter text to synthesize..."
|
|
279
|
+
.value=${this._ttsText}
|
|
280
|
+
@input=${e=>{this._ttsText=e.target.value}}
|
|
281
|
+
?disabled=${this._processing}
|
|
282
|
+
></textarea>
|
|
283
|
+
</div>
|
|
284
|
+
<div class="input-group">
|
|
285
|
+
<label class="input-label">Voice override (optional)</label>
|
|
286
|
+
<input
|
|
287
|
+
class="text-input"
|
|
288
|
+
type="text"
|
|
289
|
+
placeholder="Leave empty for default"
|
|
290
|
+
.value=${this._ttsVoice}
|
|
291
|
+
@input=${e=>{this._ttsVoice=e.target.value}}
|
|
292
|
+
?disabled=${this._processing}
|
|
293
|
+
/>
|
|
294
|
+
</div>
|
|
295
|
+
<button
|
|
296
|
+
class="btn-primary"
|
|
297
|
+
@click=${this._handleTtsSynthesize}
|
|
298
|
+
?disabled=${this._processing||!this._ttsText.trim()}
|
|
299
|
+
>
|
|
300
|
+
Synthesize
|
|
301
|
+
</button>
|
|
302
|
+
${this._processing?t`
|
|
303
|
+
<div class="spinner-inline">
|
|
304
|
+
<ic-loading></ic-loading>
|
|
305
|
+
Synthesizing...
|
|
306
|
+
</div>
|
|
307
|
+
`:l}
|
|
308
|
+
${this._audioUrl&&this._ttsResult?t`
|
|
309
|
+
<div class="audio-player">
|
|
310
|
+
<audio controls src=${this._audioUrl}></audio>
|
|
311
|
+
<div class="result-meta">
|
|
312
|
+
<span>Size: ${(this._ttsResult.sizeBytes/1024).toFixed(1)} KB</span>
|
|
313
|
+
<span>Format: ${this._ttsResult.mimeType}</span>
|
|
314
|
+
<span>Provider: ${this._ttsResult.provider}</span>
|
|
315
|
+
</div>
|
|
316
|
+
</div>
|
|
317
|
+
`:l}
|
|
318
|
+
</div>
|
|
319
|
+
`}_renderVisionProviderInfo(){if(this._providers===null)return t`<div class="provider-info">Provider info unavailable</div>`;if(!this._providers.vision)return t`<div class="provider-info warning">Vision not configured -- set integrations.media.vision in config</div>`;let e=this._providers.vision;return t`<div class="provider-info">
|
|
320
|
+
Providers: ${e.providers.join(`, `)}${e.defaultProvider?` (default: ${e.defaultProvider})`:``}
|
|
321
|
+
</div>`}_renderDocumentProviderInfo(){return this._providers===null?t`<div class="provider-info">Provider info unavailable</div>`:this._providers.documentExtraction?.enabled?t`<div class="provider-info">Document extraction enabled</div>`:t`<div class="provider-info warning">Document extraction not configured -- set integrations.media.documentExtraction in config</div>`}_renderVideoProviderInfo(){if(this._providers===null)return t`<div class="provider-info">Provider info unavailable</div>`;let e=this._providers.vision;return e?.videoCapable?.length?t`<div class="provider-info">Video-capable providers: ${e.videoCapable.join(`, `)}</div>`:t`<div class="provider-info warning">No video-capable vision provider configured (requires Gemini or compatible)</div>`}_renderVisionTab(){return t`
|
|
322
|
+
<div class="card">
|
|
323
|
+
<div class="card-title">Vision Analysis</div>
|
|
324
|
+
${this._renderVisionProviderInfo()}
|
|
325
|
+
<div class="file-input-wrapper">
|
|
326
|
+
<label class="file-label">Upload image</label>
|
|
327
|
+
<input
|
|
328
|
+
type="file"
|
|
329
|
+
accept="image/*,.png,.jpg,.jpeg,.gif,.webp,.bmp"
|
|
330
|
+
@change=${this._handleVisionUpload}
|
|
331
|
+
?disabled=${this._processing}
|
|
332
|
+
/>
|
|
333
|
+
<div class="file-hint">Max 20MB</div>
|
|
334
|
+
</div>
|
|
335
|
+
<div class="input-group">
|
|
336
|
+
<label class="input-label">Analysis prompt (optional)</label>
|
|
337
|
+
<textarea
|
|
338
|
+
placeholder="Describe this image in detail"
|
|
339
|
+
.value=${this._visionPrompt}
|
|
340
|
+
@input=${e=>{this._visionPrompt=e.target.value}}
|
|
341
|
+
?disabled=${this._processing}
|
|
342
|
+
></textarea>
|
|
343
|
+
</div>
|
|
344
|
+
${this._processing?t`
|
|
345
|
+
<div class="spinner-inline">
|
|
346
|
+
<ic-loading></ic-loading>
|
|
347
|
+
Analyzing image...
|
|
348
|
+
</div>
|
|
349
|
+
`:l}
|
|
350
|
+
${this._imagePreviewUrl?t`
|
|
351
|
+
<div class="image-preview">
|
|
352
|
+
<img src=${this._imagePreviewUrl} alt="Upload preview" />
|
|
353
|
+
</div>
|
|
354
|
+
`:l}
|
|
355
|
+
${this._visionResult?t`
|
|
356
|
+
<div class="result-box">
|
|
357
|
+
<div class="result-label">Analysis</div>
|
|
358
|
+
<pre class="result-text">${this._visionResult.description}</pre>
|
|
359
|
+
<div class="result-meta">
|
|
360
|
+
<span>Provider: ${this._visionResult.provider}</span>
|
|
361
|
+
<span>Model: ${this._visionResult.model}</span>
|
|
362
|
+
</div>
|
|
363
|
+
</div>
|
|
364
|
+
`:l}
|
|
365
|
+
</div>
|
|
366
|
+
`}_renderDocumentTab(){return t`
|
|
367
|
+
<div class="card">
|
|
368
|
+
<div class="card-title">Document Extraction</div>
|
|
369
|
+
${this._renderDocumentProviderInfo()}
|
|
370
|
+
<div class="file-input-wrapper">
|
|
371
|
+
<label class="file-label">Upload document</label>
|
|
372
|
+
<input
|
|
373
|
+
type="file"
|
|
374
|
+
accept=".pdf,.csv,.txt,.json,.xml,.html,.md,.doc,.docx,.xls,.xlsx"
|
|
375
|
+
@change=${this._handleDocumentUpload}
|
|
376
|
+
?disabled=${this._processing}
|
|
377
|
+
/>
|
|
378
|
+
<div class="file-hint">Max 50MB</div>
|
|
379
|
+
</div>
|
|
380
|
+
${this._processing?t`
|
|
381
|
+
<div class="spinner-inline">
|
|
382
|
+
<ic-loading></ic-loading>
|
|
383
|
+
Extracting text...
|
|
384
|
+
</div>
|
|
385
|
+
`:l}
|
|
386
|
+
${this._documentResult?t`
|
|
387
|
+
<div class="result-box">
|
|
388
|
+
<div class="result-label">Extracted Text</div>
|
|
389
|
+
<pre class="result-text result-text--scrollable">${this._documentResult.text}</pre>
|
|
390
|
+
<div class="result-meta">
|
|
391
|
+
<span>File: ${this._documentResult.fileName}</span>
|
|
392
|
+
<span>Chars: ${this._documentResult.extractedChars.toLocaleString()}</span>
|
|
393
|
+
${this._documentResult.pageCount==null?l:t`<span>Pages: ${this._documentResult.pageCount}</span>`}
|
|
394
|
+
${this._documentResult.truncated?t`<span class="truncated-badge">Truncated</span>`:l}
|
|
395
|
+
<span>Duration: ${this._documentResult.durationMs}ms</span>
|
|
396
|
+
</div>
|
|
397
|
+
</div>
|
|
398
|
+
`:l}
|
|
399
|
+
</div>
|
|
400
|
+
`}_renderVideoTab(){return t`
|
|
401
|
+
<div class="card">
|
|
402
|
+
<div class="card-title">Video Analysis</div>
|
|
403
|
+
${this._renderVideoProviderInfo()}
|
|
404
|
+
<div class="file-input-wrapper">
|
|
405
|
+
<label class="file-label">Upload video</label>
|
|
406
|
+
<input
|
|
407
|
+
type="file"
|
|
408
|
+
accept="video/*,.mp4,.mov,.avi,.webm,.mkv"
|
|
409
|
+
@change=${this._handleVideoUpload}
|
|
410
|
+
?disabled=${this._processing}
|
|
411
|
+
/>
|
|
412
|
+
<div class="file-hint">Max 50MB</div>
|
|
413
|
+
</div>
|
|
414
|
+
<div class="input-group">
|
|
415
|
+
<label class="input-label">Analysis prompt (optional)</label>
|
|
416
|
+
<textarea
|
|
417
|
+
placeholder="Describe this video concisely."
|
|
418
|
+
.value=${this._videoPrompt}
|
|
419
|
+
@input=${e=>{this._videoPrompt=e.target.value}}
|
|
420
|
+
?disabled=${this._processing}
|
|
421
|
+
></textarea>
|
|
422
|
+
</div>
|
|
423
|
+
${this._processing?t`
|
|
424
|
+
<div class="spinner-inline">
|
|
425
|
+
<ic-loading></ic-loading>
|
|
426
|
+
Analyzing video...
|
|
427
|
+
</div>
|
|
428
|
+
`:l}
|
|
429
|
+
${this._videoResult?t`
|
|
430
|
+
<div class="result-box">
|
|
431
|
+
<div class="result-label">Analysis</div>
|
|
432
|
+
<pre class="result-text">${this._videoResult.description}</pre>
|
|
433
|
+
<div class="result-meta">
|
|
434
|
+
<span>Provider: ${this._videoResult.provider}</span>
|
|
435
|
+
<span>Model: ${this._videoResult.model}</span>
|
|
436
|
+
</div>
|
|
437
|
+
</div>
|
|
438
|
+
`:l}
|
|
439
|
+
</div>
|
|
440
|
+
`}_renderLinkProviderInfo(){return this._providers===null?t`<div class="provider-info">Provider info unavailable</div>`:this._providers.linkUnderstanding?.enabled?t`<div class="provider-info">Link enrichment enabled (max ${this._providers.linkUnderstanding.maxLinks} links)</div>`:t`<div class="provider-info warning">Link understanding not configured</div>`}_renderLinkTab(){return t`
|
|
441
|
+
<div class="card">
|
|
442
|
+
<div class="card-title">Link Enrichment</div>
|
|
443
|
+
${this._renderLinkProviderInfo()}
|
|
444
|
+
<div class="input-group">
|
|
445
|
+
<label class="input-label">Enter URL to process</label>
|
|
446
|
+
<input
|
|
447
|
+
class="text-input"
|
|
448
|
+
type="url"
|
|
449
|
+
placeholder="https://example.com/article"
|
|
450
|
+
.value=${this._linkUrl}
|
|
451
|
+
@input=${e=>{this._linkUrl=e.target.value}}
|
|
452
|
+
?disabled=${this._processing}
|
|
453
|
+
/>
|
|
454
|
+
</div>
|
|
455
|
+
<button
|
|
456
|
+
class="btn-primary"
|
|
457
|
+
@click=${this._handleLinkTest}
|
|
458
|
+
?disabled=${this._processing||!this._linkUrl.trim()}
|
|
459
|
+
>
|
|
460
|
+
Process Link
|
|
461
|
+
</button>
|
|
462
|
+
${this._processing?t`
|
|
463
|
+
<div class="spinner-inline">
|
|
464
|
+
<ic-loading></ic-loading>
|
|
465
|
+
Processing link...
|
|
466
|
+
</div>
|
|
467
|
+
`:l}
|
|
468
|
+
${this._linkResult?t`
|
|
469
|
+
<div class="result-box">
|
|
470
|
+
<div class="result-label">Enriched Text</div>
|
|
471
|
+
<pre class="result-text result-text--scrollable">${this._linkResult.enrichedText}</pre>
|
|
472
|
+
<div class="result-meta">
|
|
473
|
+
<span>Links processed: ${this._linkResult.linksProcessed}</span>
|
|
474
|
+
</div>
|
|
475
|
+
${this._linkResult.errors.length>0?t`
|
|
476
|
+
<div class="provider-info warning" style="margin-top: var(--ic-space-sm);">
|
|
477
|
+
Errors: ${this._linkResult.errors.join(`, `)}
|
|
478
|
+
</div>
|
|
479
|
+
`:l}
|
|
480
|
+
</div>
|
|
481
|
+
`:l}
|
|
482
|
+
</div>
|
|
483
|
+
`}_renderActiveTab(){switch(this._activeTab){case`stt`:return this._renderSttTab();case`tts`:return this._renderTtsTab();case`vision`:return this._renderVisionTab();case`document`:return this._renderDocumentTab();case`video`:return this._renderVideoTab();case`link`:return this._renderLinkTab();default:return l}}render(){return t`
|
|
484
|
+
<div class="header-row">
|
|
485
|
+
<div class="header-title">Media Tools</div>
|
|
486
|
+
</div>
|
|
487
|
+
<ic-tabs
|
|
488
|
+
.tabs=${d}
|
|
489
|
+
.activeTab=${this._activeTab}
|
|
490
|
+
@tab-change=${e=>{this._activeTab=e.detail}}
|
|
491
|
+
>
|
|
492
|
+
</ic-tabs>
|
|
493
|
+
<div class="tab-content">
|
|
494
|
+
${this._renderActiveTab()}
|
|
495
|
+
</div>
|
|
496
|
+
`}};c([s({attribute:!1})],g.prototype,`rpcClient`,void 0),c([s({attribute:!1})],g.prototype,`apiClient`,void 0),c([a()],g.prototype,`_activeTab`,void 0),c([a()],g.prototype,`_processing`,void 0),c([a()],g.prototype,`_sttResult`,void 0),c([a()],g.prototype,`_ttsResult`,void 0),c([a()],g.prototype,`_audioUrl`,void 0),c([a()],g.prototype,`_ttsText`,void 0),c([a()],g.prototype,`_ttsVoice`,void 0),c([a()],g.prototype,`_visionResult`,void 0),c([a()],g.prototype,`_documentResult`,void 0),c([a()],g.prototype,`_videoResult`,void 0),c([a()],g.prototype,`_visionPrompt`,void 0),c([a()],g.prototype,`_videoPrompt`,void 0),c([a()],g.prototype,`_linkUrl`,void 0),c([a()],g.prototype,`_linkResult`,void 0),c([a()],g.prototype,`_loadState`,void 0),c([a()],g.prototype,`_providers`,void 0),g=c([e(`ic-media-test-view`)],g);export{g as IcMediaTestView};
|