@aglyn/plugins-ai 1.0.0-beta.278 → 1.0.0-beta.283

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 (76) hide show
  1. package/package.json +17 -17
  2. package/src/lib/activity/ai-activity-actions.d.ts +2 -26
  3. package/src/lib/activity/ai-activity-actions.js +5 -42
  4. package/src/lib/activity/ai-activity-actions.js.map +1 -1
  5. package/src/lib/activity/ai-activity-words.d.ts +42 -0
  6. package/src/lib/activity/ai-activity-words.js +63 -0
  7. package/src/lib/activity/ai-activity-words.js.map +1 -0
  8. package/src/lib/components/ai-insight-card.component.d.ts +2 -6
  9. package/src/lib/components/ai-insight-card.component.js +2 -6
  10. package/src/lib/components/ai-insight-card.component.js.map +1 -1
  11. package/src/lib/components/ai-insight-dialog.component.js +22 -32
  12. package/src/lib/components/ai-insight-dialog.component.js.map +1 -1
  13. package/src/lib/components/ai-job-links.js +15 -0
  14. package/src/lib/components/ai-job-links.js.map +1 -1
  15. package/src/lib/components/assist-panel.component.js +3 -1
  16. package/src/lib/components/assist-panel.component.js.map +1 -1
  17. package/src/lib/jobs/ai-build-capabilities.js +23 -0
  18. package/src/lib/jobs/ai-build-capabilities.js.map +1 -1
  19. package/src/lib/jobs/ai-job-build-step.js +2 -1
  20. package/src/lib/jobs/ai-job-build-step.js.map +1 -1
  21. package/src/lib/jobs/ai-job-import-step.d.ts +1 -0
  22. package/src/lib/jobs/ai-job-import-step.js +17 -11
  23. package/src/lib/jobs/ai-job-import-step.js.map +1 -1
  24. package/src/lib/jobs/ai-job-plan-step.js +3 -2
  25. package/src/lib/jobs/ai-job-plan-step.js.map +1 -1
  26. package/src/lib/jobs/ai-job-privacy-step.d.ts +184 -0
  27. package/src/lib/jobs/ai-job-privacy-step.js +471 -0
  28. package/src/lib/jobs/ai-job-privacy-step.js.map +1 -0
  29. package/src/lib/jobs/ai-site-inspiration.d.ts +10 -0
  30. package/src/lib/jobs/ai-site-inspiration.js +15 -0
  31. package/src/lib/jobs/ai-site-inspiration.js.map +1 -1
  32. package/src/lib/model/ai-insight-ask.d.ts +57 -0
  33. package/src/lib/model/ai-insight-ask.js +64 -0
  34. package/src/lib/model/ai-insight-ask.js.map +1 -0
  35. package/src/lib/model/ai-insight.d.ts +1 -6
  36. package/src/lib/model/ai-insight.js +2 -8
  37. package/src/lib/model/ai-insight.js.map +1 -1
  38. package/src/lib/model/ai-job-activity.js +1 -0
  39. package/src/lib/model/ai-job-activity.js.map +1 -1
  40. package/src/lib/model/ai-jobs.types.d.ts +5 -1
  41. package/src/lib/model/ai-jobs.types.js +1 -0
  42. package/src/lib/model/ai-jobs.types.js.map +1 -1
  43. package/src/lib/model/ai-permissions.js +6 -2
  44. package/src/lib/model/ai-permissions.js.map +1 -1
  45. package/src/lib/model/ai-site-import.d.ts +2 -0
  46. package/src/lib/model/ai-site-import.js +2 -0
  47. package/src/lib/model/ai-site-import.js.map +1 -1
  48. package/src/lib/model/ai-site-kinds.d.ts +10 -28
  49. package/src/lib/model/ai-site-kinds.js +12 -496
  50. package/src/lib/model/ai-site-kinds.js.map +1 -1
  51. package/src/lib/providers/anthropic.js +23 -14
  52. package/src/lib/providers/anthropic.js.map +1 -1
  53. package/src/lib/providers/contract.d.ts +39 -4
  54. package/src/lib/providers/contract.js +28 -0
  55. package/src/lib/providers/contract.js.map +1 -1
  56. package/src/lib/providers/routing.d.ts +3 -0
  57. package/src/lib/providers/routing.js +4 -3
  58. package/src/lib/providers/routing.js.map +1 -1
  59. package/src/lib/runtime/ai-dev-env.d.ts +3 -2
  60. package/src/lib/runtime/ai-dev-env.js +3 -2
  61. package/src/lib/runtime/ai-dev-env.js.map +1 -1
  62. package/src/lib/runtime/ai-page-links.d.ts +5 -2
  63. package/src/lib/runtime/ai-page-links.js +11 -3
  64. package/src/lib/runtime/ai-page-links.js.map +1 -1
  65. package/src/lib/runtime/ai-runtime.js +5 -2
  66. package/src/lib/runtime/ai-runtime.js.map +1 -1
  67. package/src/lib/server/assist-chat.js +58 -30
  68. package/src/lib/server/assist-chat.js.map +1 -1
  69. package/src/lib/server.js +2 -0
  70. package/src/lib/server.js.map +1 -1
  71. package/src/lib/site-import/fixtures/site-import-crawl-recordings.d.ts +3 -1
  72. package/src/lib/site-import/fixtures/site-import-crawl-recordings.js +19 -1
  73. package/src/lib/site-import/fixtures/site-import-crawl-recordings.js.map +1 -1
  74. package/src/lib/site-import/site-import-page.d.ts +2 -2
  75. package/src/lib/site-import/site-import-page.js +11 -1
  76. package/src/lib/site-import/site-import-page.js.map +1 -1
@@ -1,3 +1,4 @@
1
+ import { _ as _extends } from "@swc/helpers/_/_extends";
1
2
  /**
2
3
  * @license
3
4
  * Copyright 2026 Aglyn LLC
@@ -37,504 +38,21 @@
37
38
  * on every plan (the owner adds more from the Content, Commerce and Events
38
39
  * sections afterward).
39
40
  *
41
+ * The font pairings and the built-in bases are the platform's since AGL-4049
42
+ * (the core's `site-font-pairings.ts` and `SITE_THEME_BASES`), because a site
43
+ * starter names them too; this module re-exports both under its old names.
44
+ *
40
45
  * Pure data and two small readers, safe for the console to import: no
41
46
  * theme compiler, no network.
42
- */ /** A font pairing the look may choose: a heading family over a body family. */ import { _ as _extends } from "@swc/helpers/_/_extends";
43
- /**
44
- * The pairings, every family from the Google Fonts catalog the fonts plugin
45
- * serves (`google-fonts.catalog.json`) and every weight one that family
46
- * has — `ai-site-look.spec.ts` holds both. The tenant loads them the way it
47
- * loads the starter theme's family, so nothing here adds a font host.
48
- */ export const AI_SITE_FONT_PAIRINGS = [
49
- {
50
- id: 'jakarta',
51
- feel: 'modern, friendly sans',
52
- heading: {
53
- family: 'Plus Jakarta Sans',
54
- category: 'sans-serif',
55
- weight: 800,
56
- sub: 700
57
- },
58
- body: {
59
- family: 'Plus Jakarta Sans',
60
- category: 'sans-serif',
61
- weights: [
62
- 400,
63
- 500,
64
- 600,
65
- 700
66
- ]
67
- },
68
- tracking: -0.02
69
- },
70
- {
71
- id: 'inter',
72
- feel: 'neutral, precise sans',
73
- heading: {
74
- family: 'Inter',
75
- category: 'sans-serif',
76
- weight: 700,
77
- sub: 600
78
- },
79
- body: {
80
- family: 'Inter',
81
- category: 'sans-serif',
82
- weights: [
83
- 400,
84
- 500,
85
- 600,
86
- 700
87
- ]
88
- },
89
- tracking: -0.025
90
- },
91
- {
92
- id: 'grotesk',
93
- feel: 'designer grotesk',
94
- heading: {
95
- family: 'Space Grotesk',
96
- category: 'sans-serif',
97
- weight: 600,
98
- sub: 600
99
- },
100
- body: {
101
- family: 'Inter',
102
- category: 'sans-serif',
103
- weights: [
104
- 400,
105
- 500,
106
- 600,
107
- 700
108
- ]
109
- },
110
- tracking: -0.03
111
- },
112
- {
113
- id: 'syne',
114
- feel: 'expressive, art-school display',
115
- heading: {
116
- family: 'Syne',
117
- category: 'sans-serif',
118
- weight: 700,
119
- sub: 600
120
- },
121
- body: {
122
- family: 'Inter',
123
- category: 'sans-serif',
124
- weights: [
125
- 400,
126
- 500,
127
- 600,
128
- 700
129
- ]
130
- },
131
- tracking: -0.02
132
- },
133
- {
134
- id: 'bricolage',
135
- feel: 'contemporary, characterful sans',
136
- heading: {
137
- family: 'Bricolage Grotesque',
138
- category: 'sans-serif',
139
- weight: 700,
140
- sub: 600
141
- },
142
- body: {
143
- family: 'DM Sans',
144
- category: 'sans-serif',
145
- weights: [
146
- 400,
147
- 500,
148
- 600,
149
- 700
150
- ]
151
- },
152
- tracking: -0.025
153
- },
154
- {
155
- id: 'editorial',
156
- feel: 'editorial serif over clean sans',
157
- heading: {
158
- family: 'Playfair Display',
159
- category: 'serif',
160
- weight: 700,
161
- sub: 600
162
- },
163
- body: {
164
- family: 'Source Sans 3',
165
- category: 'sans-serif',
166
- weights: [
167
- 400,
168
- 500,
169
- 600,
170
- 700
171
- ]
172
- },
173
- tracking: -0.01
174
- },
175
- {
176
- id: 'fraunces',
177
- feel: 'warm, soft serif',
178
- heading: {
179
- family: 'Fraunces',
180
- category: 'serif',
181
- weight: 600,
182
- sub: 600
183
- },
184
- body: {
185
- family: 'Inter',
186
- category: 'sans-serif',
187
- weights: [
188
- 400,
189
- 500,
190
- 600,
191
- 700
192
- ]
193
- },
194
- tracking: -0.015
195
- },
196
- {
197
- id: 'instrument',
198
- feel: 'elegant, light serif headlines',
199
- heading: {
200
- family: 'Instrument Serif',
201
- category: 'serif',
202
- weight: 400,
203
- sub: 400
204
- },
205
- body: {
206
- family: 'Inter',
207
- category: 'sans-serif',
208
- weights: [
209
- 400,
210
- 500,
211
- 600,
212
- 700
213
- ]
214
- },
215
- tracking: -0.01
216
- },
217
- {
218
- id: 'reading',
219
- feel: 'reading-first serif, serif body',
220
- heading: {
221
- family: 'Newsreader',
222
- category: 'serif',
223
- weight: 600,
224
- sub: 600
225
- },
226
- body: {
227
- family: 'Source Serif 4',
228
- category: 'serif',
229
- weights: [
230
- 400,
231
- 600,
232
- 700
233
- ]
234
- },
235
- tracking: -0.01
236
- },
237
- {
238
- id: 'garamond',
239
- feel: 'refined, classic serif',
240
- heading: {
241
- family: 'Cormorant Garamond',
242
- category: 'serif',
243
- weight: 600,
244
- sub: 600
245
- },
246
- body: {
247
- family: 'Montserrat',
248
- category: 'sans-serif',
249
- weights: [
250
- 400,
251
- 500,
252
- 600,
253
- 700
254
- ]
255
- }
256
- },
257
- {
258
- id: 'baskerville',
259
- feel: 'established, trustworthy serif',
260
- heading: {
261
- family: 'Libre Baskerville',
262
- category: 'serif',
263
- weight: 700,
264
- sub: 700
265
- },
266
- body: {
267
- family: 'Source Sans 3',
268
- category: 'sans-serif',
269
- weights: [
270
- 400,
271
- 500,
272
- 600,
273
- 700
274
- ]
275
- }
276
- },
277
- {
278
- id: 'merriweather',
279
- feel: 'sturdy, readable serif',
280
- heading: {
281
- family: 'Merriweather',
282
- category: 'serif',
283
- weight: 700,
284
- sub: 700
285
- },
286
- body: {
287
- family: 'Lato',
288
- category: 'sans-serif',
289
- weights: [
290
- 400,
291
- 700
292
- ]
293
- }
294
- },
295
- {
296
- id: 'lora',
297
- feel: 'gentle, calm serif',
298
- heading: {
299
- family: 'Lora',
300
- category: 'serif',
301
- weight: 600,
302
- sub: 600
303
- },
304
- body: {
305
- family: 'Open Sans',
306
- category: 'sans-serif',
307
- weights: [
308
- 400,
309
- 500,
310
- 600,
311
- 700
312
- ]
313
- }
314
- },
315
- {
316
- id: 'dmserif',
317
- feel: 'polished display serif',
318
- heading: {
319
- family: 'DM Serif Display',
320
- category: 'serif',
321
- weight: 400,
322
- sub: 400
323
- },
324
- body: {
325
- family: 'DM Sans',
326
- category: 'sans-serif',
327
- weights: [
328
- 400,
329
- 500,
330
- 600,
331
- 700
332
- ]
333
- }
334
- },
335
- {
336
- id: 'oswald',
337
- feel: 'bold, condensed, workmanlike',
338
- heading: {
339
- family: 'Oswald',
340
- category: 'sans-serif',
341
- weight: 600,
342
- sub: 500
343
- },
344
- body: {
345
- family: 'Roboto',
346
- category: 'sans-serif',
347
- weights: [
348
- 400,
349
- 500,
350
- 700
351
- ]
352
- },
353
- caps: true,
354
- tracking: 0.01
355
- },
356
- {
357
- id: 'archivo',
358
- feel: 'heavy, high-impact sans',
359
- heading: {
360
- family: 'Archivo Black',
361
- category: 'sans-serif',
362
- weight: 400,
363
- sub: 400
364
- },
365
- body: {
366
- family: 'Archivo',
367
- category: 'sans-serif',
368
- weights: [
369
- 400,
370
- 500,
371
- 600,
372
- 700
373
- ]
374
- },
375
- tracking: -0.01
376
- },
377
- {
378
- id: 'barlow',
379
- feel: 'athletic, condensed sans',
380
- heading: {
381
- family: 'Barlow Condensed',
382
- category: 'sans-serif',
383
- weight: 700,
384
- sub: 600
385
- },
386
- body: {
387
- family: 'Barlow',
388
- category: 'sans-serif',
389
- weights: [
390
- 400,
391
- 500,
392
- 600,
393
- 700
394
- ]
395
- },
396
- caps: true,
397
- tracking: 0.01
398
- },
399
- {
400
- id: 'anton',
401
- feel: 'loud poster display',
402
- heading: {
403
- family: 'Anton',
404
- category: 'sans-serif',
405
- weight: 400,
406
- sub: 400
407
- },
408
- body: {
409
- family: 'Inter',
410
- category: 'sans-serif',
411
- weights: [
412
- 400,
413
- 500,
414
- 600,
415
- 700
416
- ]
417
- },
418
- caps: true,
419
- tracking: 0.01
420
- },
421
- {
422
- id: 'nunito',
423
- feel: 'rounded, approachable sans',
424
- heading: {
425
- family: 'Nunito',
426
- category: 'sans-serif',
427
- weight: 800,
428
- sub: 700
429
- },
430
- body: {
431
- family: 'Nunito Sans',
432
- category: 'sans-serif',
433
- weights: [
434
- 400,
435
- 600,
436
- 700
437
- ]
438
- }
439
- },
440
- {
441
- id: 'quicksand',
442
- feel: 'soft, airy rounded sans',
443
- heading: {
444
- family: 'Quicksand',
445
- category: 'sans-serif',
446
- weight: 700,
447
- sub: 600
448
- },
449
- body: {
450
- family: 'Nunito Sans',
451
- category: 'sans-serif',
452
- weights: [
453
- 400,
454
- 600,
455
- 700
456
- ]
457
- }
458
- },
459
- {
460
- id: 'manrope',
461
- feel: 'crisp, confident sans',
462
- heading: {
463
- family: 'Manrope',
464
- category: 'sans-serif',
465
- weight: 800,
466
- sub: 700
467
- },
468
- body: {
469
- family: 'Manrope',
470
- category: 'sans-serif',
471
- weights: [
472
- 400,
473
- 500,
474
- 600,
475
- 700
476
- ]
477
- },
478
- tracking: -0.02
479
- },
480
- {
481
- id: 'outfit',
482
- feel: 'geometric, upbeat sans',
483
- heading: {
484
- family: 'Outfit',
485
- category: 'sans-serif',
486
- weight: 700,
487
- sub: 600
488
- },
489
- body: {
490
- family: 'Outfit',
491
- category: 'sans-serif',
492
- weights: [
493
- 400,
494
- 500,
495
- 600,
496
- 700
497
- ]
498
- },
499
- tracking: -0.02
500
- },
501
- {
502
- id: 'plex',
503
- feel: 'technical, engineered sans',
504
- heading: {
505
- family: 'IBM Plex Sans',
506
- category: 'sans-serif',
507
- weight: 600,
508
- sub: 600
509
- },
510
- body: {
511
- family: 'IBM Plex Sans',
512
- category: 'sans-serif',
513
- weights: [
514
- 400,
515
- 500,
516
- 600,
517
- 700
518
- ]
519
- },
520
- tracking: -0.01
521
- }
522
- ];
47
+ */ import { SITE_FONT_PAIRINGS, siteFontPairing } from "@aglyn/aglyn/app-utils/site-font-pairings";
48
+ import { SITE_THEME_BASES } from "@aglyn/aglyn/app-utils/site-starter";
49
+ /** The pairings: the platform's list (AGL-4049), under the name the AI start always used. */ export const AI_SITE_FONT_PAIRINGS = SITE_FONT_PAIRINGS;
523
50
  /**
524
51
  * The platform's built-in themes a site's look is layered on, by the short
525
52
  * name of the themes plugin's preset id (\`theme-presets.<name>\`), and
526
- * \`starter\`: the theme a new site is born with (AGL-3497).
527
- */ export const AI_SITE_BASES = [
528
- 'starter',
529
- 'material-ui',
530
- 'bootstrap',
531
- 'minimal',
532
- 'material3',
533
- 'ant-design',
534
- 'fluent',
535
- 'carbon',
536
- 'cupertino'
537
- ];
53
+ * \`starter\`: the theme a new site is born with (AGL-3497). The platform's
54
+ * list since AGL-4049 (`SITE_THEME_BASES`), which a site starter names too.
55
+ */ export const AI_SITE_BASES = SITE_THEME_BASES;
538
56
  export const AI_SITE_GROUNDS = [
539
57
  'white',
540
58
  'warm',
@@ -2466,9 +1984,7 @@ const ALL_HUES = [
2466
1984
  return (_AI_SITE_KINDS_find = AI_SITE_KINDS.find((kind)=>kind.id === id)) != null ? _AI_SITE_KINDS_find : null;
2467
1985
  }
2468
1986
  /** A pairing by id, or `null`. */ export function aiSiteFontPairing(id) {
2469
- var _AI_SITE_FONT_PAIRINGS_find;
2470
- if (typeof id !== 'string' || !id) return null;
2471
- return (_AI_SITE_FONT_PAIRINGS_find = AI_SITE_FONT_PAIRINGS.find((pairing)=>pairing.id === id)) != null ? _AI_SITE_FONT_PAIRINGS_find : null;
1987
+ return siteFontPairing(id);
2472
1988
  }
2473
1989
  /** One word as the classifier compares it: lower case, unaccented, singular. */ const stem = (word)=>{
2474
1990
  if (word.length <= 3) return word;