comisai 1.0.23 → 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 (106) hide show
  1. package/node_modules/@comis/agent/dist/executor/pi-executor.js +17 -0
  2. package/node_modules/@comis/agent/dist/index.d.ts +2 -1
  3. package/node_modules/@comis/agent/dist/index.js +1 -1
  4. package/node_modules/@comis/agent/dist/model/auth-storage-adapter.d.ts +21 -0
  5. package/node_modules/@comis/agent/dist/model/auth-storage-adapter.js +15 -1
  6. package/node_modules/@comis/agent/dist/model/model-registry-adapter.d.ts +46 -0
  7. package/node_modules/@comis/agent/dist/model/model-registry-adapter.js +108 -0
  8. package/node_modules/@comis/agent/package.json +1 -1
  9. package/node_modules/@comis/channels/package.json +1 -1
  10. package/node_modules/@comis/cli/package.json +1 -1
  11. package/node_modules/@comis/core/dist/bootstrap.js +5 -0
  12. package/node_modules/@comis/core/dist/config/env-layer.d.ts +31 -0
  13. package/node_modules/@comis/core/dist/config/env-layer.js +41 -0
  14. package/node_modules/@comis/core/dist/config/layered.d.ts +9 -0
  15. package/node_modules/@comis/core/dist/config/layered.js +11 -0
  16. package/node_modules/@comis/core/package.json +1 -1
  17. package/node_modules/@comis/daemon/dist/daemon.js +3 -0
  18. package/node_modules/@comis/daemon/dist/wiring/setup-agents.js +15 -3
  19. package/node_modules/@comis/daemon/package.json +1 -1
  20. package/node_modules/@comis/gateway/package.json +1 -1
  21. package/node_modules/@comis/infra/package.json +1 -1
  22. package/node_modules/@comis/memory/package.json +1 -1
  23. package/node_modules/@comis/scheduler/package.json +1 -1
  24. package/node_modules/@comis/shared/package.json +1 -1
  25. package/node_modules/@comis/skills/package.json +1 -1
  26. package/node_modules/@comis/web/dist/assets/{agent-detail-BG9MGWWj.js → agent-detail-ru-AhppM.js} +270 -270
  27. package/node_modules/@comis/web/dist/assets/agent-editor-hjwRuFVp.js +2173 -0
  28. package/node_modules/@comis/web/dist/assets/{agent-list-LHCJ4rw2.js → agent-list-6Uotjatr.js} +170 -170
  29. package/node_modules/@comis/web/dist/assets/{approvals-q9VH_IKr.js → approvals-C-K6hN2U.js} +13 -13
  30. package/node_modules/@comis/web/dist/assets/billing-view-CxysXH0p.js +375 -0
  31. package/node_modules/@comis/web/dist/assets/{channel-detail-CaInesJM.js → channel-detail-BBCKtmne.js} +265 -265
  32. package/node_modules/@comis/web/dist/assets/channel-list-FkfeOLBQ.js +323 -0
  33. package/node_modules/@comis/web/dist/assets/{chat-console-CNmzl0JW.js → chat-console-BumBaIgO.js} +243 -246
  34. package/node_modules/@comis/web/dist/assets/{config-editor-DX4ITw6y.js → config-editor-C9BSwHGy.js} +477 -477
  35. package/node_modules/@comis/web/dist/assets/{context-dag-browser-BwiaF5tf.js → context-dag-browser-BHm00mJD.js} +105 -105
  36. package/node_modules/@comis/web/dist/assets/{context-engine-BZ5Am6hA.js → context-engine-BENY3pWE.js} +136 -136
  37. package/node_modules/@comis/web/dist/assets/decorate-BvWYovGE.js +38 -0
  38. package/node_modules/@comis/web/dist/assets/{delivery-view-OfBZof-m.js → delivery-view-BCnkPsAp.js} +134 -134
  39. package/node_modules/@comis/web/dist/assets/{diagnostics-view-YFwCxgr2.js → diagnostics-view-C_jQFG2H.js} +82 -82
  40. package/node_modules/@comis/web/dist/assets/directive-BOYXJ-K-.js +1 -0
  41. package/node_modules/@comis/web/dist/assets/{extract-variables-BM5qyK-s.js → extract-variables-B7-Doo7l.js} +39 -39
  42. package/node_modules/@comis/web/dist/assets/{ic-array-editor-B7m6x7-S.js → ic-array-editor-BLoEyeLS.js} +29 -29
  43. package/node_modules/@comis/web/dist/assets/{ic-breadcrumb-CUMpp3BL.js → ic-breadcrumb-DqN6G3gc.js} +16 -16
  44. package/node_modules/@comis/web/dist/assets/{ic-budget-segment-bar-BtJ6x5mN.js → ic-budget-segment-bar-zLsMzjDO.js} +20 -20
  45. package/node_modules/@comis/web/dist/assets/ic-chat-message-FdQcZsSQ.js +352 -0
  46. package/node_modules/@comis/web/dist/assets/{ic-confirm-dialog-CCDbB04e.js → ic-confirm-dialog-DGlPbV1T.js} +26 -26
  47. package/node_modules/@comis/web/dist/assets/{ic-connection-dot-CnT1b8xr.js → ic-connection-dot-BgYiK2N4.js} +13 -13
  48. package/node_modules/@comis/web/dist/assets/ic-data-table-CKIvr-ag.js +277 -0
  49. package/node_modules/@comis/web/dist/assets/ic-delivery-row-B3YwjjuM.js +67 -0
  50. package/node_modules/@comis/web/dist/assets/{ic-detail-panel-BF83r-if.js → ic-detail-panel-DiCe4hLr.js} +27 -27
  51. package/node_modules/@comis/web/dist/assets/{ic-empty-state-60l2ePhd.js → ic-empty-state-CM3Wbj2f.js} +19 -19
  52. package/node_modules/@comis/web/dist/assets/ic-graph-canvas-ByRjij68.js +359 -0
  53. package/node_modules/@comis/web/dist/assets/ic-icon-BGNCCPpZ.js +33 -0
  54. package/node_modules/@comis/web/dist/assets/{ic-layer-waterfall-COvEYMg5.js → ic-layer-waterfall-WkaFyu-l.js} +18 -18
  55. package/node_modules/@comis/web/dist/assets/ic-relative-time-B3UAnTqg.js +12 -0
  56. package/node_modules/@comis/web/dist/assets/{ic-search-input-CSOxY9g7.js → ic-search-input-B02AGw1i.js} +22 -22
  57. package/node_modules/@comis/web/dist/assets/{ic-select-Ce-Raudx.js → ic-select-BqfZISjw.js} +29 -29
  58. package/node_modules/@comis/web/dist/assets/ic-tabs-yBjkWKJH.js +95 -0
  59. package/node_modules/@comis/web/dist/assets/ic-tag-CvMVQFRR.js +33 -0
  60. package/node_modules/@comis/web/dist/assets/{ic-time-range-picker-CypCT68y.js → ic-time-range-picker-DXbYeBmY.js} +31 -31
  61. package/node_modules/@comis/web/dist/assets/{ic-tool-call-7MaXSsCW.js → ic-tool-call-DMPHsLyx.js} +51 -51
  62. package/node_modules/@comis/web/dist/assets/index-CVEaS9aY.css +2 -0
  63. package/node_modules/@comis/web/dist/assets/index-FLPhHz8p.js +2792 -0
  64. package/node_modules/@comis/web/dist/assets/{mcp-management-BNZPnpDn.js → mcp-management-5jyScQis.js} +209 -209
  65. package/node_modules/@comis/web/dist/assets/{media-config-BBvTYxOX.js → media-config-J9oT9PPs.js} +154 -154
  66. package/node_modules/@comis/web/dist/assets/{media-test-BkK3RCRK.js → media-test-DGTCtM8-.js} +259 -259
  67. package/node_modules/@comis/web/dist/assets/{memory-inspector-1hDGCGat.js → memory-inspector-D5Re9ptG.js} +450 -450
  68. package/node_modules/@comis/web/dist/assets/{message-center-CXefwsUu.js → message-center-cRLK6ZmG.js} +290 -290
  69. package/node_modules/@comis/web/dist/assets/{models-C1qcU_j3.js → models-D5vu07MR.js} +371 -371
  70. package/node_modules/@comis/web/dist/assets/observability-types-D0tkwElU.js +1 -0
  71. package/node_modules/@comis/web/dist/assets/{observe-view-C0VBhX4C.js → observe-view-CalNNEmd.js} +399 -399
  72. package/node_modules/@comis/web/dist/assets/pipeline-builder-DUYDGwZf.js +1495 -0
  73. package/node_modules/@comis/web/dist/assets/{pipeline-history-DkfOQ6SW.js → pipeline-history-BAO8brOe.js} +124 -124
  74. package/node_modules/@comis/web/dist/assets/{pipeline-history-detail-hyHgD0ai.js → pipeline-history-detail-DectIoQt.js} +65 -65
  75. package/node_modules/@comis/web/dist/assets/{pipeline-list-BPW8hV-q.js → pipeline-list-BHlaBKww.js} +227 -227
  76. package/node_modules/@comis/web/dist/assets/{pipeline-monitor-Bip16T7e.js → pipeline-monitor-BhtpNEHf.js} +298 -298
  77. package/node_modules/@comis/web/dist/assets/{scheduler-BGgwKd06.js → scheduler-VafN_8xi.js} +486 -486
  78. package/node_modules/@comis/web/dist/assets/{security-D15st4xx.js → security-QQXMRTlo.js} +389 -389
  79. package/node_modules/@comis/web/dist/assets/{session-detail-SGEYNJ0M.js → session-detail-BpZ_8Yih.js} +294 -294
  80. package/node_modules/@comis/web/dist/assets/session-key-parser-Dkqcj2Ss.js +1 -0
  81. package/node_modules/@comis/web/dist/assets/session-list-DfCm8Cec.js +231 -0
  82. package/node_modules/@comis/web/dist/assets/{setup-wizard-nT0tz9QP.js → setup-wizard-C-z477CG.js} +486 -494
  83. package/node_modules/@comis/web/dist/assets/{skills-D8yVfSUy.js → skills-BCOGPf6s.js} +329 -329
  84. package/node_modules/@comis/web/dist/assets/{subagents-HHXMeHYo.js → subagents-l-auUraL.js} +74 -74
  85. package/node_modules/@comis/web/dist/assets/{workspace-manager-BQlr10iH.js → workspace-manager-DlvBixiq.js} +236 -236
  86. package/node_modules/@comis/web/dist/index.html +3 -2
  87. package/node_modules/@comis/web/package.json +1 -1
  88. package/package.json +15 -15
  89. package/node_modules/@comis/web/dist/assets/agent-editor-C26Q_xCs.js +0 -2173
  90. package/node_modules/@comis/web/dist/assets/billing-view-CtYvBqTE.js +0 -375
  91. package/node_modules/@comis/web/dist/assets/channel-list-B8dj3O9a.js +0 -323
  92. package/node_modules/@comis/web/dist/assets/directive-DoeGSK_T.js +0 -1
  93. package/node_modules/@comis/web/dist/assets/ic-chat-message-CFyDJd0z.js +0 -352
  94. package/node_modules/@comis/web/dist/assets/ic-data-table-CKUNTxHw.js +0 -277
  95. package/node_modules/@comis/web/dist/assets/ic-delivery-row-GP5Fkygs.js +0 -67
  96. package/node_modules/@comis/web/dist/assets/ic-graph-canvas-C8FuSMe1.js +0 -359
  97. package/node_modules/@comis/web/dist/assets/ic-icon-xeGTVhVG.js +0 -33
  98. package/node_modules/@comis/web/dist/assets/ic-relative-time-3FqpjeAI.js +0 -12
  99. package/node_modules/@comis/web/dist/assets/ic-tabs-B7QtM_v8.js +0 -95
  100. package/node_modules/@comis/web/dist/assets/ic-tag-CPPUnDLF.js +0 -33
  101. package/node_modules/@comis/web/dist/assets/index-CEcM1R_C.js +0 -2830
  102. package/node_modules/@comis/web/dist/assets/index-CIJFuItj.css +0 -1
  103. package/node_modules/@comis/web/dist/assets/observability-types-D7jUtSde.js +0 -1
  104. package/node_modules/@comis/web/dist/assets/pipeline-builder-DcUUIrm0.js +0 -1496
  105. package/node_modules/@comis/web/dist/assets/session-key-parser-DPORMVyU.js +0 -1
  106. 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};