@aparte/plugin-model-selector 0.10.0 → 0.12.0
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/README.md +17 -1
- package/dist/angular.d.ts +28 -0
- package/dist/angular.d.ts.map +1 -0
- package/dist/angular.js +27 -0
- package/dist/aparte-model-selector.d.ts +20 -10
- package/dist/aparte-model-selector.d.ts.map +1 -1
- package/dist/custom-elements.json +651 -0
- package/dist/generated/element-attributes.d.ts +23 -0
- package/dist/generated/element-attributes.d.ts.map +1 -0
- package/dist/generated/element.directives.d.ts +58 -0
- package/dist/generated/element.directives.d.ts.map +1 -0
- package/dist/generated/element.directives.js +83 -0
- package/dist/index.js.map +1 -1
- package/dist/react.d.ts +52 -0
- package/dist/react.d.ts.map +1 -0
- package/dist/react.js +2 -0
- package/dist/react.js.map +1 -0
- package/dist/svelte.d.ts +30 -0
- package/dist/svelte.d.ts.map +1 -0
- package/dist/svelte.js +2 -0
- package/dist/svelte.js.map +1 -0
- package/dist/vue.d.ts +27 -0
- package/dist/vue.d.ts.map +1 -0
- package/dist/vue.js +2 -0
- package/dist/vue.js.map +1 -0
- package/package.json +60 -5
|
@@ -0,0 +1,651 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "1.0.0",
|
|
3
|
+
"readme": "",
|
|
4
|
+
"modules": [
|
|
5
|
+
{
|
|
6
|
+
"kind": "javascript-module",
|
|
7
|
+
"path": "src/angular.ts",
|
|
8
|
+
"declarations": [],
|
|
9
|
+
"exports": [
|
|
10
|
+
{
|
|
11
|
+
"kind": "js",
|
|
12
|
+
"name": "AparteModelSelectorDirective",
|
|
13
|
+
"declaration": {
|
|
14
|
+
"name": "AparteModelSelectorDirective",
|
|
15
|
+
"module": "./generated/element.directives.js"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"kind": "js",
|
|
20
|
+
"name": "APARTE_ELEMENT_DIRECTIVES",
|
|
21
|
+
"declaration": {
|
|
22
|
+
"name": "APARTE_ELEMENT_DIRECTIVES",
|
|
23
|
+
"module": "./generated/element.directives.js"
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
]
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"kind": "javascript-module",
|
|
30
|
+
"path": "src/aparte-model-selector.ts",
|
|
31
|
+
"declarations": [
|
|
32
|
+
{
|
|
33
|
+
"kind": "class",
|
|
34
|
+
"description": "Selects an AI provider and a model. Renders an `<aparte-select>` with providers\ngrouped into `<aparte-optgroup>`s — a single provider renders a flat list — which is\nwhat makes the BYOK pattern possible without core knowing about any vendor.\n\nThese tags sat at the top of the file, above the imports and a helper, so nothing\nread them: TypeScript associates only the comment adjacent to the declaration. This\npackage ships no manifest of its own today (only `@aparte/core` runs `cem analyze`),\nso the loss was invisible to tooling — but it is also what an editor shows on hover,\nand what a typed framework wrapper is written from.",
|
|
35
|
+
"name": "AparteModelSelector",
|
|
36
|
+
"members": [
|
|
37
|
+
{
|
|
38
|
+
"kind": "field",
|
|
39
|
+
"name": "_currentProviderId",
|
|
40
|
+
"type": {
|
|
41
|
+
"text": "string | null"
|
|
42
|
+
},
|
|
43
|
+
"privacy": "private",
|
|
44
|
+
"default": "null"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"kind": "field",
|
|
48
|
+
"name": "_currentModelId",
|
|
49
|
+
"type": {
|
|
50
|
+
"text": "string | null"
|
|
51
|
+
},
|
|
52
|
+
"privacy": "private",
|
|
53
|
+
"default": "null"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"kind": "field",
|
|
57
|
+
"name": "_providerModels",
|
|
58
|
+
"type": {
|
|
59
|
+
"text": "ProviderModels[]"
|
|
60
|
+
},
|
|
61
|
+
"privacy": "private",
|
|
62
|
+
"default": "[]"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"kind": "field",
|
|
66
|
+
"name": "_aparteSelect",
|
|
67
|
+
"type": {
|
|
68
|
+
"text": "AparteSelect | null"
|
|
69
|
+
},
|
|
70
|
+
"privacy": "private",
|
|
71
|
+
"default": "null"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"kind": "field",
|
|
75
|
+
"name": "_isLoading",
|
|
76
|
+
"type": {
|
|
77
|
+
"text": "boolean"
|
|
78
|
+
},
|
|
79
|
+
"privacy": "private",
|
|
80
|
+
"default": "false"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"kind": "field",
|
|
84
|
+
"name": "_isRendering",
|
|
85
|
+
"type": {
|
|
86
|
+
"text": "boolean"
|
|
87
|
+
},
|
|
88
|
+
"privacy": "private",
|
|
89
|
+
"default": "false"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"kind": "field",
|
|
93
|
+
"name": "_expandedGroups",
|
|
94
|
+
"type": {
|
|
95
|
+
"text": "Set<string>"
|
|
96
|
+
},
|
|
97
|
+
"privacy": "private",
|
|
98
|
+
"default": "new Set()"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"kind": "field",
|
|
102
|
+
"name": "_cfg",
|
|
103
|
+
"type": {
|
|
104
|
+
"text": "AparteConfig"
|
|
105
|
+
},
|
|
106
|
+
"privacy": "private",
|
|
107
|
+
"default": "aparteGlobalConfig",
|
|
108
|
+
"description": "Config governing THIS element — nearest instance boundary, else the global.\n\nCached rather than resolved per call, because this element does not only\nREAD it: it holds a `subscribe()` registration keyed on the object. That\ncache is only correct if something tells us when the boundary changes, and\nunder all four wrappers it does change after we connect —\n`AparteChatHost.bind()` runs `attachConfig` from a post-mount hook. Hence\nAparteConfigAware; without it this element served the global config's\nproviders to a chat that was given its own."
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"kind": "field",
|
|
112
|
+
"name": "_configUnsubscribe",
|
|
113
|
+
"type": {
|
|
114
|
+
"text": "(() => void) | null"
|
|
115
|
+
},
|
|
116
|
+
"privacy": "private",
|
|
117
|
+
"default": "null"
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"kind": "field",
|
|
121
|
+
"name": "_boundHandleChange",
|
|
122
|
+
"privacy": "private"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"kind": "field",
|
|
126
|
+
"name": "_handleOptgroupToggle",
|
|
127
|
+
"privacy": "private"
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"kind": "method",
|
|
131
|
+
"name": "_subscribeToConfig",
|
|
132
|
+
"privacy": "private",
|
|
133
|
+
"return": {
|
|
134
|
+
"type": {
|
|
135
|
+
"text": "void"
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
"description": "Listen for configuration changes (e.g. from an onboarding flow)."
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"kind": "method",
|
|
142
|
+
"name": "_relabel",
|
|
143
|
+
"privacy": "private",
|
|
144
|
+
"return": {
|
|
145
|
+
"type": {
|
|
146
|
+
"text": "void"
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
"description": "Re-apply the one string this element takes from the locale, in place.\n\nAn explicit `placeholder` attribute still wins, exactly as it does at render\ntime: the app's own copy is not the locale's to overwrite."
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"kind": "method",
|
|
153
|
+
"name": "aparteConfigChanged",
|
|
154
|
+
"return": {
|
|
155
|
+
"type": {
|
|
156
|
+
"text": "void"
|
|
157
|
+
}
|
|
158
|
+
},
|
|
159
|
+
"parameters": [
|
|
160
|
+
{
|
|
161
|
+
"name": "next",
|
|
162
|
+
"type": {
|
|
163
|
+
"text": "AparteConfig"
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
],
|
|
167
|
+
"description": "The boundary above us appeared or changed: move the subscription and reload,\nbecause a different config means different providers and a different\nselection.\n\nSee AparteConfigAware. The element's own per-instance tests passed\nbefore this existed only because they mount the boundary FIRST — the one\nordering no wrapper produces."
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"kind": "field",
|
|
171
|
+
"name": "providerId",
|
|
172
|
+
"type": {
|
|
173
|
+
"text": "string | null"
|
|
174
|
+
},
|
|
175
|
+
"description": "Current provider ID.",
|
|
176
|
+
"readonly": true
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"kind": "field",
|
|
180
|
+
"name": "modelId",
|
|
181
|
+
"type": {
|
|
182
|
+
"text": "string | null"
|
|
183
|
+
},
|
|
184
|
+
"description": "Current model ID.",
|
|
185
|
+
"readonly": true
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"kind": "method",
|
|
189
|
+
"name": "setSelection",
|
|
190
|
+
"return": {
|
|
191
|
+
"type": {
|
|
192
|
+
"text": "void"
|
|
193
|
+
}
|
|
194
|
+
},
|
|
195
|
+
"parameters": [
|
|
196
|
+
{
|
|
197
|
+
"name": "providerId",
|
|
198
|
+
"type": {
|
|
199
|
+
"text": "string"
|
|
200
|
+
}
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"name": "modelId",
|
|
204
|
+
"type": {
|
|
205
|
+
"text": "string"
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
],
|
|
209
|
+
"description": "Programmatically set the selection."
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"kind": "method",
|
|
213
|
+
"name": "_loadAllProviderModels",
|
|
214
|
+
"privacy": "private",
|
|
215
|
+
"return": {
|
|
216
|
+
"type": {
|
|
217
|
+
"text": "Promise<void>"
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
"kind": "method",
|
|
223
|
+
"name": "_onOptgroupToggle",
|
|
224
|
+
"privacy": "private",
|
|
225
|
+
"return": {
|
|
226
|
+
"type": {
|
|
227
|
+
"text": "Promise<void>"
|
|
228
|
+
}
|
|
229
|
+
},
|
|
230
|
+
"parameters": [
|
|
231
|
+
{
|
|
232
|
+
"name": "e",
|
|
233
|
+
"type": {
|
|
234
|
+
"text": "Event"
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
]
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
"kind": "method",
|
|
241
|
+
"name": "_render",
|
|
242
|
+
"privacy": "private",
|
|
243
|
+
"return": {
|
|
244
|
+
"type": {
|
|
245
|
+
"text": "void"
|
|
246
|
+
}
|
|
247
|
+
},
|
|
248
|
+
"parameters": [
|
|
249
|
+
{
|
|
250
|
+
"name": "keepOpen",
|
|
251
|
+
"default": "false"
|
|
252
|
+
}
|
|
253
|
+
]
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
"kind": "method",
|
|
257
|
+
"name": "_renderImpl",
|
|
258
|
+
"privacy": "private",
|
|
259
|
+
"return": {
|
|
260
|
+
"type": {
|
|
261
|
+
"text": "void"
|
|
262
|
+
}
|
|
263
|
+
},
|
|
264
|
+
"parameters": [
|
|
265
|
+
{
|
|
266
|
+
"name": "keepOpen",
|
|
267
|
+
"type": {
|
|
268
|
+
"text": "boolean"
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
]
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
"kind": "method",
|
|
275
|
+
"name": "_setupEventListeners",
|
|
276
|
+
"privacy": "private",
|
|
277
|
+
"return": {
|
|
278
|
+
"type": {
|
|
279
|
+
"text": "void"
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
"kind": "method",
|
|
285
|
+
"name": "_handleChange",
|
|
286
|
+
"privacy": "private",
|
|
287
|
+
"return": {
|
|
288
|
+
"type": {
|
|
289
|
+
"text": "void"
|
|
290
|
+
}
|
|
291
|
+
},
|
|
292
|
+
"parameters": [
|
|
293
|
+
{
|
|
294
|
+
"name": "e",
|
|
295
|
+
"type": {
|
|
296
|
+
"text": "Event"
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
]
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
"kind": "method",
|
|
303
|
+
"name": "_emitChange",
|
|
304
|
+
"privacy": "private",
|
|
305
|
+
"return": {
|
|
306
|
+
"type": {
|
|
307
|
+
"text": "void"
|
|
308
|
+
}
|
|
309
|
+
},
|
|
310
|
+
"parameters": [
|
|
311
|
+
{
|
|
312
|
+
"name": "previousProviderId",
|
|
313
|
+
"optional": true,
|
|
314
|
+
"type": {
|
|
315
|
+
"text": "string | null"
|
|
316
|
+
}
|
|
317
|
+
},
|
|
318
|
+
{
|
|
319
|
+
"name": "previousModelId",
|
|
320
|
+
"optional": true,
|
|
321
|
+
"type": {
|
|
322
|
+
"text": "string | null"
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
]
|
|
326
|
+
},
|
|
327
|
+
{
|
|
328
|
+
"kind": "method",
|
|
329
|
+
"name": "_persistSelection",
|
|
330
|
+
"privacy": "private",
|
|
331
|
+
"return": {
|
|
332
|
+
"type": {
|
|
333
|
+
"text": "void"
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
"kind": "method",
|
|
339
|
+
"name": "_loadPersistedSelection",
|
|
340
|
+
"privacy": "private",
|
|
341
|
+
"return": {
|
|
342
|
+
"type": {
|
|
343
|
+
"text": "void"
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
],
|
|
348
|
+
"events": [
|
|
349
|
+
{
|
|
350
|
+
"name": "aparte-model-change",
|
|
351
|
+
"type": {
|
|
352
|
+
"text": "CustomEvent<AparteModelChangeEventDetail>"
|
|
353
|
+
},
|
|
354
|
+
"description": "The provider or the model changed; carries both ids."
|
|
355
|
+
}
|
|
356
|
+
],
|
|
357
|
+
"attributes": [
|
|
358
|
+
{
|
|
359
|
+
"name": "persist",
|
|
360
|
+
"type": {
|
|
361
|
+
"text": "boolean"
|
|
362
|
+
},
|
|
363
|
+
"description": "Writes the selection back through the config, so it survives a reload."
|
|
364
|
+
},
|
|
365
|
+
{
|
|
366
|
+
"name": "auto-select",
|
|
367
|
+
"type": {
|
|
368
|
+
"text": "boolean"
|
|
369
|
+
},
|
|
370
|
+
"description": "Selects the first model as soon as one is available."
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
"name": "searchable",
|
|
374
|
+
"type": {
|
|
375
|
+
"text": "boolean"
|
|
376
|
+
},
|
|
377
|
+
"description": "Adds the dropdown's filter field."
|
|
378
|
+
},
|
|
379
|
+
{
|
|
380
|
+
"name": "placeholder",
|
|
381
|
+
"type": {
|
|
382
|
+
"text": "string"
|
|
383
|
+
},
|
|
384
|
+
"description": "Overrides the text shown while nothing is selected."
|
|
385
|
+
}
|
|
386
|
+
],
|
|
387
|
+
"superclass": {
|
|
388
|
+
"name": "HTMLElement"
|
|
389
|
+
},
|
|
390
|
+
"tagName": "aparte-model-selector",
|
|
391
|
+
"customElement": true
|
|
392
|
+
}
|
|
393
|
+
],
|
|
394
|
+
"exports": [
|
|
395
|
+
{
|
|
396
|
+
"kind": "js",
|
|
397
|
+
"name": "AparteModelSelector",
|
|
398
|
+
"declaration": {
|
|
399
|
+
"name": "AparteModelSelector",
|
|
400
|
+
"module": "src/aparte-model-selector.ts"
|
|
401
|
+
}
|
|
402
|
+
},
|
|
403
|
+
{
|
|
404
|
+
"kind": "custom-element-definition",
|
|
405
|
+
"name": "aparte-model-selector",
|
|
406
|
+
"declaration": {
|
|
407
|
+
"name": "AparteModelSelector",
|
|
408
|
+
"module": "src/aparte-model-selector.ts"
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
]
|
|
412
|
+
},
|
|
413
|
+
{
|
|
414
|
+
"kind": "javascript-module",
|
|
415
|
+
"path": "src/index.node.ts",
|
|
416
|
+
"declarations": [],
|
|
417
|
+
"exports": [
|
|
418
|
+
{
|
|
419
|
+
"kind": "js",
|
|
420
|
+
"name": "AparteAIProvider",
|
|
421
|
+
"declaration": {
|
|
422
|
+
"name": "AparteAIProvider",
|
|
423
|
+
"package": "@aparte/core"
|
|
424
|
+
}
|
|
425
|
+
},
|
|
426
|
+
{
|
|
427
|
+
"kind": "js",
|
|
428
|
+
"name": "AparteAIModel",
|
|
429
|
+
"declaration": {
|
|
430
|
+
"name": "AparteAIModel",
|
|
431
|
+
"package": "@aparte/core"
|
|
432
|
+
}
|
|
433
|
+
},
|
|
434
|
+
{
|
|
435
|
+
"kind": "js",
|
|
436
|
+
"name": "AparteModelConfig",
|
|
437
|
+
"declaration": {
|
|
438
|
+
"name": "AparteModelConfig",
|
|
439
|
+
"package": "@aparte/core"
|
|
440
|
+
}
|
|
441
|
+
},
|
|
442
|
+
{
|
|
443
|
+
"kind": "js",
|
|
444
|
+
"name": "AparteModelChangeEventDetail",
|
|
445
|
+
"declaration": {
|
|
446
|
+
"name": "AparteModelChangeEventDetail",
|
|
447
|
+
"package": "@aparte/core"
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
]
|
|
451
|
+
},
|
|
452
|
+
{
|
|
453
|
+
"kind": "javascript-module",
|
|
454
|
+
"path": "src/index.ts",
|
|
455
|
+
"declarations": [],
|
|
456
|
+
"exports": [
|
|
457
|
+
{
|
|
458
|
+
"kind": "js",
|
|
459
|
+
"name": "AparteModelSelector",
|
|
460
|
+
"declaration": {
|
|
461
|
+
"name": "AparteModelSelector",
|
|
462
|
+
"module": "./aparte-model-selector.js"
|
|
463
|
+
}
|
|
464
|
+
},
|
|
465
|
+
{
|
|
466
|
+
"kind": "js",
|
|
467
|
+
"name": "AparteAIProvider",
|
|
468
|
+
"declaration": {
|
|
469
|
+
"name": "AparteAIProvider",
|
|
470
|
+
"package": "@aparte/core"
|
|
471
|
+
}
|
|
472
|
+
},
|
|
473
|
+
{
|
|
474
|
+
"kind": "js",
|
|
475
|
+
"name": "AparteAIModel",
|
|
476
|
+
"declaration": {
|
|
477
|
+
"name": "AparteAIModel",
|
|
478
|
+
"package": "@aparte/core"
|
|
479
|
+
}
|
|
480
|
+
},
|
|
481
|
+
{
|
|
482
|
+
"kind": "js",
|
|
483
|
+
"name": "AparteModelConfig",
|
|
484
|
+
"declaration": {
|
|
485
|
+
"name": "AparteModelConfig",
|
|
486
|
+
"package": "@aparte/core"
|
|
487
|
+
}
|
|
488
|
+
},
|
|
489
|
+
{
|
|
490
|
+
"kind": "js",
|
|
491
|
+
"name": "AparteModelChangeEventDetail",
|
|
492
|
+
"declaration": {
|
|
493
|
+
"name": "AparteModelChangeEventDetail",
|
|
494
|
+
"package": "@aparte/core"
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
]
|
|
498
|
+
},
|
|
499
|
+
{
|
|
500
|
+
"kind": "javascript-module",
|
|
501
|
+
"path": "src/react.ts",
|
|
502
|
+
"declarations": [],
|
|
503
|
+
"exports": []
|
|
504
|
+
},
|
|
505
|
+
{
|
|
506
|
+
"kind": "javascript-module",
|
|
507
|
+
"path": "src/svelte.ts",
|
|
508
|
+
"declarations": [],
|
|
509
|
+
"exports": []
|
|
510
|
+
},
|
|
511
|
+
{
|
|
512
|
+
"kind": "javascript-module",
|
|
513
|
+
"path": "src/vue.ts",
|
|
514
|
+
"declarations": [],
|
|
515
|
+
"exports": []
|
|
516
|
+
},
|
|
517
|
+
{
|
|
518
|
+
"kind": "javascript-module",
|
|
519
|
+
"path": "src/generated/element-attributes.ts",
|
|
520
|
+
"declarations": [],
|
|
521
|
+
"exports": []
|
|
522
|
+
},
|
|
523
|
+
{
|
|
524
|
+
"kind": "javascript-module",
|
|
525
|
+
"path": "src/generated/element.directives.ts",
|
|
526
|
+
"declarations": [
|
|
527
|
+
{
|
|
528
|
+
"kind": "class",
|
|
529
|
+
"description": "`<aparte-model-selector>` — Selects an AI provider and a model. Renders an `<aparte-select>` with providers grouped into `<aparte-optgroup>`s — a single provider renders a flat list — which is what makes the BYOK pattern possible without core knowing about any vendor.",
|
|
530
|
+
"name": "AparteModelSelectorDirective",
|
|
531
|
+
"members": [
|
|
532
|
+
{
|
|
533
|
+
"kind": "field",
|
|
534
|
+
"name": "persist",
|
|
535
|
+
"description": "Writes the selection back through the config, so it survives a reload."
|
|
536
|
+
},
|
|
537
|
+
{
|
|
538
|
+
"kind": "field",
|
|
539
|
+
"name": "autoSelect",
|
|
540
|
+
"description": "Selects the first model as soon as one is available."
|
|
541
|
+
},
|
|
542
|
+
{
|
|
543
|
+
"kind": "field",
|
|
544
|
+
"name": "searchable",
|
|
545
|
+
"description": "Adds the dropdown's filter field."
|
|
546
|
+
},
|
|
547
|
+
{
|
|
548
|
+
"kind": "field",
|
|
549
|
+
"name": "placeholder",
|
|
550
|
+
"description": "Overrides the text shown while nothing is selected."
|
|
551
|
+
},
|
|
552
|
+
{
|
|
553
|
+
"kind": "field",
|
|
554
|
+
"name": "modelChange",
|
|
555
|
+
"readonly": true,
|
|
556
|
+
"default": "new EventEmitter<AparteModelChangeEventDetail>()",
|
|
557
|
+
"description": "The provider or the model changed; carries both ids."
|
|
558
|
+
},
|
|
559
|
+
{
|
|
560
|
+
"kind": "method",
|
|
561
|
+
"name": "onModelChange",
|
|
562
|
+
"privacy": "protected",
|
|
563
|
+
"return": {
|
|
564
|
+
"type": {
|
|
565
|
+
"text": "void"
|
|
566
|
+
}
|
|
567
|
+
},
|
|
568
|
+
"parameters": [
|
|
569
|
+
{
|
|
570
|
+
"name": "e",
|
|
571
|
+
"type": {
|
|
572
|
+
"text": "CustomEvent<AparteModelChangeEventDetail>"
|
|
573
|
+
}
|
|
574
|
+
}
|
|
575
|
+
]
|
|
576
|
+
},
|
|
577
|
+
{
|
|
578
|
+
"kind": "field",
|
|
579
|
+
"name": "host",
|
|
580
|
+
"privacy": "protected",
|
|
581
|
+
"readonly": true,
|
|
582
|
+
"inheritedFrom": {
|
|
583
|
+
"name": "AparteElementBase",
|
|
584
|
+
"module": "src/generated/element.directives.ts"
|
|
585
|
+
}
|
|
586
|
+
},
|
|
587
|
+
{
|
|
588
|
+
"kind": "method",
|
|
589
|
+
"name": "write",
|
|
590
|
+
"privacy": "protected",
|
|
591
|
+
"return": {
|
|
592
|
+
"type": {
|
|
593
|
+
"text": "void"
|
|
594
|
+
}
|
|
595
|
+
},
|
|
596
|
+
"parameters": [
|
|
597
|
+
{
|
|
598
|
+
"name": "name",
|
|
599
|
+
"type": {
|
|
600
|
+
"text": "string"
|
|
601
|
+
}
|
|
602
|
+
},
|
|
603
|
+
{
|
|
604
|
+
"name": "value",
|
|
605
|
+
"type": {
|
|
606
|
+
"text": "unknown"
|
|
607
|
+
}
|
|
608
|
+
}
|
|
609
|
+
],
|
|
610
|
+
"inheritedFrom": {
|
|
611
|
+
"name": "AparteElementBase",
|
|
612
|
+
"module": "src/generated/element.directives.ts"
|
|
613
|
+
}
|
|
614
|
+
}
|
|
615
|
+
],
|
|
616
|
+
"superclass": {
|
|
617
|
+
"name": "AparteElementBase",
|
|
618
|
+
"module": "src/generated/element.directives.ts"
|
|
619
|
+
}
|
|
620
|
+
},
|
|
621
|
+
{
|
|
622
|
+
"kind": "variable",
|
|
623
|
+
"name": "APARTE_ELEMENT_DIRECTIVES",
|
|
624
|
+
"type": {
|
|
625
|
+
"text": "[\n AparteModelSelectorDirective,\n]"
|
|
626
|
+
},
|
|
627
|
+
"default": "[ AparteModelSelectorDirective, ]",
|
|
628
|
+
"description": "Every element directive, for one import in a standalone component.\n\n```ts"
|
|
629
|
+
}
|
|
630
|
+
],
|
|
631
|
+
"exports": [
|
|
632
|
+
{
|
|
633
|
+
"kind": "js",
|
|
634
|
+
"name": "AparteModelSelectorDirective",
|
|
635
|
+
"declaration": {
|
|
636
|
+
"name": "AparteModelSelectorDirective",
|
|
637
|
+
"module": "src/generated/element.directives.ts"
|
|
638
|
+
}
|
|
639
|
+
},
|
|
640
|
+
{
|
|
641
|
+
"kind": "js",
|
|
642
|
+
"name": "APARTE_ELEMENT_DIRECTIVES",
|
|
643
|
+
"declaration": {
|
|
644
|
+
"name": "APARTE_ELEMENT_DIRECTIVES",
|
|
645
|
+
"module": "src/generated/element.directives.ts"
|
|
646
|
+
}
|
|
647
|
+
}
|
|
648
|
+
]
|
|
649
|
+
}
|
|
650
|
+
]
|
|
651
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** `<aparte-model-selector>` — Selects an AI provider and a model. Renders an `<aparte-select>` with providers grouped into `<aparte-optgroup>`s — a single provider renders a flat list — which is what makes the BYOK pattern possible without core knowing about any vendor. */
|
|
2
|
+
export interface AparteModelSelectorAttributes {
|
|
3
|
+
/** Writes the selection back through the config, so it survives a reload. */
|
|
4
|
+
persist?: boolean;
|
|
5
|
+
/** Selects the first model as soon as one is available. */
|
|
6
|
+
'auto-select'?: boolean;
|
|
7
|
+
/** Adds the dropdown's filter field. */
|
|
8
|
+
searchable?: boolean;
|
|
9
|
+
/** Overrides the text shown while nothing is selected. */
|
|
10
|
+
placeholder?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Tag name to its attribute surface — the registry every wrapper maps over.
|
|
14
|
+
*
|
|
15
|
+
* Total by construction: it is generated from the manifest, so an element cannot be
|
|
16
|
+
* missing from it, which is the property a hand-written list could not have.
|
|
17
|
+
*/
|
|
18
|
+
export interface AparteElementAttributes {
|
|
19
|
+
'aparte-model-selector': AparteModelSelectorAttributes;
|
|
20
|
+
}
|
|
21
|
+
/** Every tag this package defines, derived from the registry so the two cannot diverge. */
|
|
22
|
+
export type AparteElementTagName = keyof AparteElementAttributes;
|
|
23
|
+
//# sourceMappingURL=element-attributes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"element-attributes.d.ts","sourceRoot":"","sources":["../../src/generated/element-attributes.ts"],"names":[],"mappings":"AAIA,mRAAmR;AACnR,MAAM,WAAW,6BAA6B;IAC1C,6EAA6E;IAC7E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2DAA2D;IAC3D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,wCAAwC;IACxC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACpC,uBAAuB,EAAE,6BAA6B,CAAC;CAC1D;AAED,2FAA2F;AAC3F,MAAM,MAAM,oBAAoB,GAAG,MAAM,uBAAuB,CAAC"}
|