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.
Files changed (98) hide show
  1. package/node_modules/@comis/agent/package.json +1 -1
  2. package/node_modules/@comis/channels/package.json +1 -1
  3. package/node_modules/@comis/cli/package.json +1 -1
  4. package/node_modules/@comis/core/dist/bootstrap.js +5 -0
  5. package/node_modules/@comis/core/dist/config/env-layer.d.ts +31 -0
  6. package/node_modules/@comis/core/dist/config/env-layer.js +41 -0
  7. package/node_modules/@comis/core/dist/config/layered.d.ts +9 -0
  8. package/node_modules/@comis/core/dist/config/layered.js +11 -0
  9. package/node_modules/@comis/core/package.json +1 -1
  10. package/node_modules/@comis/daemon/dist/daemon.js +3 -0
  11. package/node_modules/@comis/daemon/package.json +1 -1
  12. package/node_modules/@comis/gateway/package.json +1 -1
  13. package/node_modules/@comis/infra/package.json +1 -1
  14. package/node_modules/@comis/memory/package.json +1 -1
  15. package/node_modules/@comis/scheduler/package.json +1 -1
  16. package/node_modules/@comis/shared/package.json +1 -1
  17. package/node_modules/@comis/skills/package.json +1 -1
  18. package/node_modules/@comis/web/dist/assets/{agent-detail-BG9MGWWj.js → agent-detail-ru-AhppM.js} +270 -270
  19. package/node_modules/@comis/web/dist/assets/agent-editor-hjwRuFVp.js +2173 -0
  20. package/node_modules/@comis/web/dist/assets/{agent-list-LHCJ4rw2.js → agent-list-6Uotjatr.js} +170 -170
  21. package/node_modules/@comis/web/dist/assets/{approvals-q9VH_IKr.js → approvals-C-K6hN2U.js} +13 -13
  22. package/node_modules/@comis/web/dist/assets/billing-view-CxysXH0p.js +375 -0
  23. package/node_modules/@comis/web/dist/assets/{channel-detail-CaInesJM.js → channel-detail-BBCKtmne.js} +265 -265
  24. package/node_modules/@comis/web/dist/assets/channel-list-FkfeOLBQ.js +323 -0
  25. package/node_modules/@comis/web/dist/assets/{chat-console-CNmzl0JW.js → chat-console-BumBaIgO.js} +243 -246
  26. package/node_modules/@comis/web/dist/assets/{config-editor-DX4ITw6y.js → config-editor-C9BSwHGy.js} +477 -477
  27. package/node_modules/@comis/web/dist/assets/{context-dag-browser-BwiaF5tf.js → context-dag-browser-BHm00mJD.js} +105 -105
  28. package/node_modules/@comis/web/dist/assets/{context-engine-BZ5Am6hA.js → context-engine-BENY3pWE.js} +136 -136
  29. package/node_modules/@comis/web/dist/assets/decorate-BvWYovGE.js +38 -0
  30. package/node_modules/@comis/web/dist/assets/{delivery-view-OfBZof-m.js → delivery-view-BCnkPsAp.js} +134 -134
  31. package/node_modules/@comis/web/dist/assets/{diagnostics-view-YFwCxgr2.js → diagnostics-view-C_jQFG2H.js} +82 -82
  32. package/node_modules/@comis/web/dist/assets/directive-BOYXJ-K-.js +1 -0
  33. package/node_modules/@comis/web/dist/assets/{extract-variables-BM5qyK-s.js → extract-variables-B7-Doo7l.js} +39 -39
  34. package/node_modules/@comis/web/dist/assets/{ic-array-editor-B7m6x7-S.js → ic-array-editor-BLoEyeLS.js} +29 -29
  35. package/node_modules/@comis/web/dist/assets/{ic-breadcrumb-CUMpp3BL.js → ic-breadcrumb-DqN6G3gc.js} +16 -16
  36. package/node_modules/@comis/web/dist/assets/{ic-budget-segment-bar-BtJ6x5mN.js → ic-budget-segment-bar-zLsMzjDO.js} +20 -20
  37. package/node_modules/@comis/web/dist/assets/ic-chat-message-FdQcZsSQ.js +352 -0
  38. package/node_modules/@comis/web/dist/assets/{ic-confirm-dialog-CCDbB04e.js → ic-confirm-dialog-DGlPbV1T.js} +26 -26
  39. package/node_modules/@comis/web/dist/assets/{ic-connection-dot-CnT1b8xr.js → ic-connection-dot-BgYiK2N4.js} +13 -13
  40. package/node_modules/@comis/web/dist/assets/ic-data-table-CKIvr-ag.js +277 -0
  41. package/node_modules/@comis/web/dist/assets/ic-delivery-row-B3YwjjuM.js +67 -0
  42. package/node_modules/@comis/web/dist/assets/{ic-detail-panel-BF83r-if.js → ic-detail-panel-DiCe4hLr.js} +27 -27
  43. package/node_modules/@comis/web/dist/assets/{ic-empty-state-60l2ePhd.js → ic-empty-state-CM3Wbj2f.js} +19 -19
  44. package/node_modules/@comis/web/dist/assets/ic-graph-canvas-ByRjij68.js +359 -0
  45. package/node_modules/@comis/web/dist/assets/ic-icon-BGNCCPpZ.js +33 -0
  46. package/node_modules/@comis/web/dist/assets/{ic-layer-waterfall-COvEYMg5.js → ic-layer-waterfall-WkaFyu-l.js} +18 -18
  47. package/node_modules/@comis/web/dist/assets/ic-relative-time-B3UAnTqg.js +12 -0
  48. package/node_modules/@comis/web/dist/assets/{ic-search-input-CSOxY9g7.js → ic-search-input-B02AGw1i.js} +22 -22
  49. package/node_modules/@comis/web/dist/assets/{ic-select-Ce-Raudx.js → ic-select-BqfZISjw.js} +29 -29
  50. package/node_modules/@comis/web/dist/assets/ic-tabs-yBjkWKJH.js +95 -0
  51. package/node_modules/@comis/web/dist/assets/ic-tag-CvMVQFRR.js +33 -0
  52. package/node_modules/@comis/web/dist/assets/{ic-time-range-picker-CypCT68y.js → ic-time-range-picker-DXbYeBmY.js} +31 -31
  53. package/node_modules/@comis/web/dist/assets/{ic-tool-call-7MaXSsCW.js → ic-tool-call-DMPHsLyx.js} +51 -51
  54. package/node_modules/@comis/web/dist/assets/index-CVEaS9aY.css +2 -0
  55. package/node_modules/@comis/web/dist/assets/index-FLPhHz8p.js +2792 -0
  56. package/node_modules/@comis/web/dist/assets/{mcp-management-BNZPnpDn.js → mcp-management-5jyScQis.js} +209 -209
  57. package/node_modules/@comis/web/dist/assets/{media-config-BBvTYxOX.js → media-config-J9oT9PPs.js} +154 -154
  58. package/node_modules/@comis/web/dist/assets/{media-test-BkK3RCRK.js → media-test-DGTCtM8-.js} +259 -259
  59. package/node_modules/@comis/web/dist/assets/{memory-inspector-1hDGCGat.js → memory-inspector-D5Re9ptG.js} +450 -450
  60. package/node_modules/@comis/web/dist/assets/{message-center-CXefwsUu.js → message-center-cRLK6ZmG.js} +290 -290
  61. package/node_modules/@comis/web/dist/assets/{models-C1qcU_j3.js → models-D5vu07MR.js} +371 -371
  62. package/node_modules/@comis/web/dist/assets/observability-types-D0tkwElU.js +1 -0
  63. package/node_modules/@comis/web/dist/assets/{observe-view-C0VBhX4C.js → observe-view-CalNNEmd.js} +399 -399
  64. package/node_modules/@comis/web/dist/assets/pipeline-builder-DUYDGwZf.js +1495 -0
  65. package/node_modules/@comis/web/dist/assets/{pipeline-history-DkfOQ6SW.js → pipeline-history-BAO8brOe.js} +124 -124
  66. package/node_modules/@comis/web/dist/assets/{pipeline-history-detail-hyHgD0ai.js → pipeline-history-detail-DectIoQt.js} +65 -65
  67. package/node_modules/@comis/web/dist/assets/{pipeline-list-BPW8hV-q.js → pipeline-list-BHlaBKww.js} +227 -227
  68. package/node_modules/@comis/web/dist/assets/{pipeline-monitor-Bip16T7e.js → pipeline-monitor-BhtpNEHf.js} +298 -298
  69. package/node_modules/@comis/web/dist/assets/{scheduler-BGgwKd06.js → scheduler-VafN_8xi.js} +486 -486
  70. package/node_modules/@comis/web/dist/assets/{security-D15st4xx.js → security-QQXMRTlo.js} +389 -389
  71. package/node_modules/@comis/web/dist/assets/{session-detail-SGEYNJ0M.js → session-detail-BpZ_8Yih.js} +294 -294
  72. package/node_modules/@comis/web/dist/assets/session-key-parser-Dkqcj2Ss.js +1 -0
  73. package/node_modules/@comis/web/dist/assets/session-list-DfCm8Cec.js +231 -0
  74. package/node_modules/@comis/web/dist/assets/{setup-wizard-nT0tz9QP.js → setup-wizard-C-z477CG.js} +486 -494
  75. package/node_modules/@comis/web/dist/assets/{skills-D8yVfSUy.js → skills-BCOGPf6s.js} +329 -329
  76. package/node_modules/@comis/web/dist/assets/{subagents-HHXMeHYo.js → subagents-l-auUraL.js} +74 -74
  77. package/node_modules/@comis/web/dist/assets/{workspace-manager-BQlr10iH.js → workspace-manager-DlvBixiq.js} +236 -236
  78. package/node_modules/@comis/web/dist/index.html +3 -2
  79. package/node_modules/@comis/web/package.json +1 -1
  80. package/package.json +15 -15
  81. package/node_modules/@comis/web/dist/assets/agent-editor-C26Q_xCs.js +0 -2173
  82. package/node_modules/@comis/web/dist/assets/billing-view-CtYvBqTE.js +0 -375
  83. package/node_modules/@comis/web/dist/assets/channel-list-B8dj3O9a.js +0 -323
  84. package/node_modules/@comis/web/dist/assets/directive-DoeGSK_T.js +0 -1
  85. package/node_modules/@comis/web/dist/assets/ic-chat-message-CFyDJd0z.js +0 -352
  86. package/node_modules/@comis/web/dist/assets/ic-data-table-CKUNTxHw.js +0 -277
  87. package/node_modules/@comis/web/dist/assets/ic-delivery-row-GP5Fkygs.js +0 -67
  88. package/node_modules/@comis/web/dist/assets/ic-graph-canvas-C8FuSMe1.js +0 -359
  89. package/node_modules/@comis/web/dist/assets/ic-icon-xeGTVhVG.js +0 -33
  90. package/node_modules/@comis/web/dist/assets/ic-relative-time-3FqpjeAI.js +0 -12
  91. package/node_modules/@comis/web/dist/assets/ic-tabs-B7QtM_v8.js +0 -95
  92. package/node_modules/@comis/web/dist/assets/ic-tag-CPPUnDLF.js +0 -33
  93. package/node_modules/@comis/web/dist/assets/index-CEcM1R_C.js +0 -2830
  94. package/node_modules/@comis/web/dist/assets/index-CIJFuItj.css +0 -1
  95. package/node_modules/@comis/web/dist/assets/observability-types-D7jUtSde.js +0 -1
  96. package/node_modules/@comis/web/dist/assets/pipeline-builder-DcUUIrm0.js +0 -1496
  97. package/node_modules/@comis/web/dist/assets/session-key-parser-DPORMVyU.js +0 -1
  98. package/node_modules/@comis/web/dist/assets/session-list-6ybUTxbY.js +0 -231
@@ -1,156 +1,4 @@
1
- import{a as p,A as e,b as s,s as g,f as u,i as f,n as h,r as v,t as m}from"./index-CEcM1R_C.js";var x=Object.defineProperty,b=Object.getOwnPropertyDescriptor,n=(i,r,d,o)=>{for(var a=o>1?void 0:o?b(r,d):r,c=i.length-1,l;c>=0;c--)(l=i[c])&&(a=(o?l(r,d,a):l(a))||a);return o&&a&&x(r,d,a),a};let t=class extends p{constructor(){super(...arguments),this._loadState="loading",this._providers=null,this._mediaConfig=null}connectedCallback(){super.connectedCallback(),this._loadData()}async _loadData(){this._loadState="loading";try{const[i,r]=await Promise.all([this.rpcClient.call("media.providers"),this.rpcClient.call("config.read",{section:"integrations"})]);this._providers=i,this._mediaConfig=r.media??null,this._loadState="loaded"}catch{this._loadState="error"}}_renderSttCard(){const i=!!this._providers?.stt;return s`
2
- <div class="config-card">
3
- <div class="card-header">
4
- <span class="status-dot ${i?"dot--active":"dot--inactive"}"></span>
5
- <h3>Speech-to-Text (STT)</h3>
6
- <span class="status-label">${i?"Configured":"Not configured"}</span>
7
- </div>
8
- <div class="card-body">
9
- ${i?s`
10
- <div class="setting-row">
11
- <span class="setting-key">Provider</span>
12
- <span class="setting-value">${this._providers.stt.provider}</span>
13
- </div>
14
- ${this._providers.stt.model?s`
15
- <div class="setting-row">
16
- <span class="setting-key">Model</span>
17
- <span class="setting-value">${this._providers.stt.model}</span>
18
- </div>
19
- `:e}
20
- ${this._providers.stt.fallback.length>0?s`
21
- <div class="setting-row">
22
- <span class="setting-key">Fallback</span>
23
- <span class="setting-value">${this._providers.stt.fallback.join(", ")}</span>
24
- </div>
25
- `:e}
26
- `:s`<p class="hint">Configure in <code>integrations.media.transcription</code></p>`}
27
- </div>
28
- <div class="card-footer">
29
- <a href="#/config" class="configure-link">Edit <code>integrations.media.transcription</code> in Config Editor</a>
30
- </div>
31
- </div>
32
- `}_renderTtsCard(){const i=!!this._providers?.tts;return s`
33
- <div class="config-card">
34
- <div class="card-header">
35
- <span class="status-dot ${i?"dot--active":"dot--inactive"}"></span>
36
- <h3>Text-to-Speech (TTS)</h3>
37
- <span class="status-label">${i?"Configured":"Not configured"}</span>
38
- </div>
39
- <div class="card-body">
40
- ${i?s`
41
- <div class="setting-row">
42
- <span class="setting-key">Provider</span>
43
- <span class="setting-value">${this._providers.tts.provider}</span>
44
- </div>
45
- <div class="setting-row">
46
- <span class="setting-key">Voice</span>
47
- <span class="setting-value">${this._providers.tts.voice}</span>
48
- </div>
49
- <div class="setting-row">
50
- <span class="setting-key">Format</span>
51
- <span class="setting-value">${this._providers.tts.format}</span>
52
- </div>
53
- <div class="setting-row">
54
- <span class="setting-key">Auto Mode</span>
55
- <span class="setting-value">${this._providers.tts.autoMode}</span>
56
- </div>
57
- `:s`<p class="hint">Configure in <code>integrations.media.tts</code></p>`}
58
- </div>
59
- <div class="card-footer">
60
- <a href="#/config" class="configure-link">Edit <code>integrations.media.tts</code> in Config Editor</a>
61
- </div>
62
- </div>
63
- `}_renderVisionCard(){const i=!!this._providers?.vision;return s`
64
- <div class="config-card">
65
- <div class="card-header">
66
- <span class="status-dot ${i?"dot--active":"dot--inactive"}"></span>
67
- <h3>Vision Analysis</h3>
68
- <span class="status-label">${i?"Configured":"Not configured"}</span>
69
- </div>
70
- <div class="card-body">
71
- ${i?s`
72
- <div class="setting-row">
73
- <span class="setting-key">Providers</span>
74
- <span class="setting-value">${this._providers.vision.providers.join(", ")}</span>
75
- </div>
76
- ${this._providers.vision.defaultProvider?s`
77
- <div class="setting-row">
78
- <span class="setting-key">Default</span>
79
- <span class="setting-value">${this._providers.vision.defaultProvider}</span>
80
- </div>
81
- `:e}
82
- ${this._providers.vision.videoCapable.length>0?s`
83
- <div class="setting-row">
84
- <span class="setting-key">Video capable</span>
85
- <span class="setting-value">${this._providers.vision.videoCapable.join(", ")}</span>
86
- </div>
87
- `:e}
88
- `:s`<p class="hint">Configure in <code>integrations.media.vision</code></p>`}
89
- </div>
90
- <div class="card-footer">
91
- <a href="#/config" class="configure-link">Edit <code>integrations.media.vision</code> in Config Editor</a>
92
- </div>
93
- </div>
94
- `}_renderDocumentCard(){const i=!!this._providers?.documentExtraction?.enabled;return s`
95
- <div class="config-card">
96
- <div class="card-header">
97
- <span class="status-dot ${i?"dot--active":"dot--inactive"}"></span>
98
- <h3>Document Extraction</h3>
99
- <span class="status-label">${i?"Configured":"Not configured"}</span>
100
- </div>
101
- <div class="card-body">
102
- ${i?s`
103
- <div class="setting-row">
104
- <span class="setting-key">MIME types</span>
105
- <span class="setting-value">${this._providers.documentExtraction.supportedMimes.join(", ")}</span>
106
- </div>
107
- `:s`<p class="hint">Configure in <code>integrations.media.documentExtraction</code></p>`}
108
- </div>
109
- <div class="card-footer">
110
- <a href="#/config" class="configure-link">Edit <code>integrations.media.documentExtraction</code> in Config Editor</a>
111
- </div>
112
- </div>
113
- `}_renderLinkCard(){const i=!!this._providers?.linkUnderstanding?.enabled;return s`
114
- <div class="config-card">
115
- <div class="card-header">
116
- <span class="status-dot ${i?"dot--active":"dot--inactive"}"></span>
117
- <h3>Link Understanding</h3>
118
- <span class="status-label">${i?"Configured":"Not configured"}</span>
119
- </div>
120
- <div class="card-body">
121
- ${i?s`
122
- <div class="setting-row">
123
- <span class="setting-key">Max links</span>
124
- <span class="setting-value">${this._providers.linkUnderstanding.maxLinks}</span>
125
- </div>
126
- `:s`<p class="hint">Configure in <code>integrations.media.linkUnderstanding</code></p>`}
127
- </div>
128
- <div class="card-footer">
129
- <a href="#/config" class="configure-link">Edit <code>integrations.media.linkUnderstanding</code> in Config Editor</a>
130
- </div>
131
- </div>
132
- `}render(){return s`
133
- <div class="header-row">
134
- <div class="header-title">Media Provider Configuration</div>
135
- <a href="#/media" class="back-link">Back to Media Tools</a>
136
- </div>
137
- ${this._loadState==="loading"?s`<ic-skeleton-view variant="dashboard"></ic-skeleton-view>`:e}
138
- ${this._loadState==="error"?s`
139
- <div class="error-state">
140
- <p>Failed to load media provider configuration.</p>
141
- <button class="btn-retry" @click=${this._loadData}>Retry</button>
142
- </div>
143
- `:e}
144
- ${this._loadState==="loaded"?s`
145
- <div class="cards-grid">
146
- ${this._renderSttCard()}
147
- ${this._renderTtsCard()}
148
- ${this._renderVisionCard()}
149
- ${this._renderDocumentCard()}
150
- ${this._renderLinkCard()}
151
- </div>
152
- `:e}
153
- `}};t.styles=[g,u,f`
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"./index-FLPhHz8p.js";var u=class extends r{constructor(...e){super(...e),this._loadState=`loading`,this._providers=null,this._mediaConfig=null}static{this.styles=[o,i,n`
154
2
  :host {
155
3
  display: block;
156
4
  }
@@ -311,4 +159,156 @@ import{a as p,A as e,b as s,s as g,f as u,i as f,n as h,r as v,t as m}from"./ind
311
159
  .btn-retry:hover {
312
160
  background: var(--ic-accent-hover);
313
161
  }
314
- `];n([h({attribute:!1})],t.prototype,"rpcClient",2);n([v()],t.prototype,"_loadState",2);n([v()],t.prototype,"_providers",2);n([v()],t.prototype,"_mediaConfig",2);t=n([m("ic-media-config-view")],t);export{t as IcMediaConfigView};
162
+ `]}connectedCallback(){super.connectedCallback(),this._loadData()}async _loadData(){this._loadState=`loading`;try{let[e,t]=await Promise.all([this.rpcClient.call(`media.providers`),this.rpcClient.call(`config.read`,{section:`integrations`})]);this._providers=e,this._mediaConfig=t.media??null,this._loadState=`loaded`}catch{this._loadState=`error`}}_renderSttCard(){let e=!!this._providers?.stt;return t`
163
+ <div class="config-card">
164
+ <div class="card-header">
165
+ <span class="status-dot ${e?`dot--active`:`dot--inactive`}"></span>
166
+ <h3>Speech-to-Text (STT)</h3>
167
+ <span class="status-label">${e?`Configured`:`Not configured`}</span>
168
+ </div>
169
+ <div class="card-body">
170
+ ${e?t`
171
+ <div class="setting-row">
172
+ <span class="setting-key">Provider</span>
173
+ <span class="setting-value">${this._providers.stt.provider}</span>
174
+ </div>
175
+ ${this._providers.stt.model?t`
176
+ <div class="setting-row">
177
+ <span class="setting-key">Model</span>
178
+ <span class="setting-value">${this._providers.stt.model}</span>
179
+ </div>
180
+ `:l}
181
+ ${this._providers.stt.fallback.length>0?t`
182
+ <div class="setting-row">
183
+ <span class="setting-key">Fallback</span>
184
+ <span class="setting-value">${this._providers.stt.fallback.join(`, `)}</span>
185
+ </div>
186
+ `:l}
187
+ `:t`<p class="hint">Configure in <code>integrations.media.transcription</code></p>`}
188
+ </div>
189
+ <div class="card-footer">
190
+ <a href="#/config" class="configure-link">Edit <code>integrations.media.transcription</code> in Config Editor</a>
191
+ </div>
192
+ </div>
193
+ `}_renderTtsCard(){let e=!!this._providers?.tts;return t`
194
+ <div class="config-card">
195
+ <div class="card-header">
196
+ <span class="status-dot ${e?`dot--active`:`dot--inactive`}"></span>
197
+ <h3>Text-to-Speech (TTS)</h3>
198
+ <span class="status-label">${e?`Configured`:`Not configured`}</span>
199
+ </div>
200
+ <div class="card-body">
201
+ ${e?t`
202
+ <div class="setting-row">
203
+ <span class="setting-key">Provider</span>
204
+ <span class="setting-value">${this._providers.tts.provider}</span>
205
+ </div>
206
+ <div class="setting-row">
207
+ <span class="setting-key">Voice</span>
208
+ <span class="setting-value">${this._providers.tts.voice}</span>
209
+ </div>
210
+ <div class="setting-row">
211
+ <span class="setting-key">Format</span>
212
+ <span class="setting-value">${this._providers.tts.format}</span>
213
+ </div>
214
+ <div class="setting-row">
215
+ <span class="setting-key">Auto Mode</span>
216
+ <span class="setting-value">${this._providers.tts.autoMode}</span>
217
+ </div>
218
+ `:t`<p class="hint">Configure in <code>integrations.media.tts</code></p>`}
219
+ </div>
220
+ <div class="card-footer">
221
+ <a href="#/config" class="configure-link">Edit <code>integrations.media.tts</code> in Config Editor</a>
222
+ </div>
223
+ </div>
224
+ `}_renderVisionCard(){let e=!!this._providers?.vision;return t`
225
+ <div class="config-card">
226
+ <div class="card-header">
227
+ <span class="status-dot ${e?`dot--active`:`dot--inactive`}"></span>
228
+ <h3>Vision Analysis</h3>
229
+ <span class="status-label">${e?`Configured`:`Not configured`}</span>
230
+ </div>
231
+ <div class="card-body">
232
+ ${e?t`
233
+ <div class="setting-row">
234
+ <span class="setting-key">Providers</span>
235
+ <span class="setting-value">${this._providers.vision.providers.join(`, `)}</span>
236
+ </div>
237
+ ${this._providers.vision.defaultProvider?t`
238
+ <div class="setting-row">
239
+ <span class="setting-key">Default</span>
240
+ <span class="setting-value">${this._providers.vision.defaultProvider}</span>
241
+ </div>
242
+ `:l}
243
+ ${this._providers.vision.videoCapable.length>0?t`
244
+ <div class="setting-row">
245
+ <span class="setting-key">Video capable</span>
246
+ <span class="setting-value">${this._providers.vision.videoCapable.join(`, `)}</span>
247
+ </div>
248
+ `:l}
249
+ `:t`<p class="hint">Configure in <code>integrations.media.vision</code></p>`}
250
+ </div>
251
+ <div class="card-footer">
252
+ <a href="#/config" class="configure-link">Edit <code>integrations.media.vision</code> in Config Editor</a>
253
+ </div>
254
+ </div>
255
+ `}_renderDocumentCard(){let e=!!this._providers?.documentExtraction?.enabled;return t`
256
+ <div class="config-card">
257
+ <div class="card-header">
258
+ <span class="status-dot ${e?`dot--active`:`dot--inactive`}"></span>
259
+ <h3>Document Extraction</h3>
260
+ <span class="status-label">${e?`Configured`:`Not configured`}</span>
261
+ </div>
262
+ <div class="card-body">
263
+ ${e?t`
264
+ <div class="setting-row">
265
+ <span class="setting-key">MIME types</span>
266
+ <span class="setting-value">${this._providers.documentExtraction.supportedMimes.join(`, `)}</span>
267
+ </div>
268
+ `:t`<p class="hint">Configure in <code>integrations.media.documentExtraction</code></p>`}
269
+ </div>
270
+ <div class="card-footer">
271
+ <a href="#/config" class="configure-link">Edit <code>integrations.media.documentExtraction</code> in Config Editor</a>
272
+ </div>
273
+ </div>
274
+ `}_renderLinkCard(){let e=!!this._providers?.linkUnderstanding?.enabled;return t`
275
+ <div class="config-card">
276
+ <div class="card-header">
277
+ <span class="status-dot ${e?`dot--active`:`dot--inactive`}"></span>
278
+ <h3>Link Understanding</h3>
279
+ <span class="status-label">${e?`Configured`:`Not configured`}</span>
280
+ </div>
281
+ <div class="card-body">
282
+ ${e?t`
283
+ <div class="setting-row">
284
+ <span class="setting-key">Max links</span>
285
+ <span class="setting-value">${this._providers.linkUnderstanding.maxLinks}</span>
286
+ </div>
287
+ `:t`<p class="hint">Configure in <code>integrations.media.linkUnderstanding</code></p>`}
288
+ </div>
289
+ <div class="card-footer">
290
+ <a href="#/config" class="configure-link">Edit <code>integrations.media.linkUnderstanding</code> in Config Editor</a>
291
+ </div>
292
+ </div>
293
+ `}render(){return t`
294
+ <div class="header-row">
295
+ <div class="header-title">Media Provider Configuration</div>
296
+ <a href="#/media" class="back-link">Back to Media Tools</a>
297
+ </div>
298
+ ${this._loadState===`loading`?t`<ic-skeleton-view variant="dashboard"></ic-skeleton-view>`:l}
299
+ ${this._loadState===`error`?t`
300
+ <div class="error-state">
301
+ <p>Failed to load media provider configuration.</p>
302
+ <button class="btn-retry" @click=${this._loadData}>Retry</button>
303
+ </div>
304
+ `:l}
305
+ ${this._loadState===`loaded`?t`
306
+ <div class="cards-grid">
307
+ ${this._renderSttCard()}
308
+ ${this._renderTtsCard()}
309
+ ${this._renderVisionCard()}
310
+ ${this._renderDocumentCard()}
311
+ ${this._renderLinkCard()}
312
+ </div>
313
+ `:l}
314
+ `}};c([s({attribute:!1})],u.prototype,`rpcClient`,void 0),c([a()],u.prototype,`_loadState`,void 0),c([a()],u.prototype,`_providers`,void 0),c([a()],u.prototype,`_mediaConfig`,void 0),u=c([e(`ic-media-config-view`)],u);export{u as IcMediaConfigView};