@aglyn/plugins-ai 1.0.0-beta.257 → 1.0.0-beta.259
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/package.json +17 -17
- package/src/lib/components/assist-panel.component.js +21 -8
- package/src/lib/components/assist-panel.component.js.map +1 -1
- package/src/lib/insights/ai-figure-readers.js +15 -8
- package/src/lib/insights/ai-figure-readers.js.map +1 -1
- package/src/lib/jobs/ai-job-build-step.d.ts +9 -0
- package/src/lib/jobs/ai-job-build-step.js +19 -3
- package/src/lib/jobs/ai-job-build-step.js.map +1 -1
- package/src/lib/jobs/ai-job-insight-step.js +1 -1
- package/src/lib/jobs/ai-job-insight-step.js.map +1 -1
- package/src/lib/jobs/ai-job-page-language.d.ts +33 -0
- package/src/lib/jobs/ai-job-page-language.js +46 -6
- package/src/lib/jobs/ai-job-page-language.js.map +1 -1
- package/src/lib/jobs/ai-job-page-sections.js +12 -1
- package/src/lib/jobs/ai-job-page-sections.js.map +1 -1
- package/src/lib/jobs/ai-job-page-step.d.ts +14 -0
- package/src/lib/jobs/ai-job-page-step.js +79 -39
- package/src/lib/jobs/ai-job-page-step.js.map +1 -1
- package/src/lib/jobs/ai-job-seo-step.js +3 -2
- package/src/lib/jobs/ai-job-seo-step.js.map +1 -1
- package/src/lib/jobs/ai-job-template-step.js +7 -1
- package/src/lib/jobs/ai-job-template-step.js.map +1 -1
- package/src/lib/jobs/ai-layout-stock-photos.d.ts +10 -5
- package/src/lib/jobs/ai-layout-stock-photos.js +89 -7
- package/src/lib/jobs/ai-layout-stock-photos.js.map +1 -1
- package/src/lib/jobs/fixtures/ai-stock-photo-copper-kettle-recordings.d.ts +21 -0
- package/src/lib/jobs/fixtures/ai-stock-photo-copper-kettle-recordings.js +126 -0
- package/src/lib/jobs/fixtures/ai-stock-photo-copper-kettle-recordings.js.map +1 -0
- package/src/lib/layout-language/ai-layout-compiler.js +52 -52
- package/src/lib/layout-language/ai-layout-compiler.js.map +1 -1
- package/src/lib/layout-language/ai-layout-copy.d.ts +9 -5
- package/src/lib/layout-language/ai-layout-copy.js +22 -14
- package/src/lib/layout-language/ai-layout-copy.js.map +1 -1
- package/src/lib/layout-language/ai-layout-frame.js +4 -4
- package/src/lib/layout-language/ai-layout-frame.js.map +1 -1
- package/src/lib/layout-language/ai-layout-motion.d.ts +75 -0
- package/src/lib/layout-language/ai-layout-motion.js +172 -0
- package/src/lib/layout-language/ai-layout-motion.js.map +1 -0
- package/src/lib/layout-language/ai-layout-pictures.d.ts +44 -15
- package/src/lib/layout-language/ai-layout-pictures.js +29 -8
- package/src/lib/layout-language/ai-layout-pictures.js.map +1 -1
- package/src/lib/model/ai-build-job.js +14 -0
- package/src/lib/model/ai-build-job.js.map +1 -1
- package/src/lib/model/ai-host-publish-context.d.ts +6 -0
- package/src/lib/model/ai-host-publish-context.js +15 -2
- package/src/lib/model/ai-host-publish-context.js.map +1 -1
- package/src/lib/model/assist-follow-up.d.ts +35 -0
- package/src/lib/model/assist-follow-up.js +44 -4
- package/src/lib/model/assist-follow-up.js.map +1 -1
- package/src/lib/operator-alerts.js +1 -1
- package/src/lib/operator-alerts.js.map +1 -1
- package/src/lib/providers/anthropic.js +17 -4
- package/src/lib/providers/anthropic.js.map +1 -1
- package/src/lib/providers/cache-write-hour.d.ts +37 -0
- package/src/lib/providers/cache-write-hour.js +46 -0
- package/src/lib/providers/cache-write-hour.js.map +1 -0
- package/src/lib/providers/contract.d.ts +16 -3
- package/src/lib/providers/contract.js.map +1 -1
- package/src/lib/providers/routing.d.ts +13 -0
- package/src/lib/providers/routing.js +27 -11
- package/src/lib/providers/routing.js.map +1 -1
- package/src/lib/runtime/ai-dev-env.d.ts +13 -3
- package/src/lib/runtime/ai-dev-env.js +17 -3
- package/src/lib/runtime/ai-dev-env.js.map +1 -1
- package/src/lib/runtime/ai-dev-replay.js +4 -2
- package/src/lib/runtime/ai-dev-replay.js.map +1 -1
- package/src/lib/runtime/ai-doctrine-validators.d.ts +70 -1
- package/src/lib/runtime/ai-doctrine-validators.js +332 -2
- package/src/lib/runtime/ai-doctrine-validators.js.map +1 -1
- package/src/lib/runtime/ai-doctrine.js +12 -4
- package/src/lib/runtime/ai-doctrine.js.map +1 -1
- package/src/lib/runtime/ai-eval-live.js +1 -1
- package/src/lib/runtime/ai-eval-live.js.map +1 -1
- package/src/lib/runtime/ai-eval.d.ts +1 -1
- package/src/lib/runtime/ai-eval.js +18 -1
- package/src/lib/runtime/ai-eval.js.map +1 -1
- package/src/lib/runtime/ai-placeholder-tokens.d.ts +70 -0
- package/src/lib/runtime/ai-placeholder-tokens.js +169 -0
- package/src/lib/runtime/ai-placeholder-tokens.js.map +1 -0
- package/src/lib/runtime/ai-repeated-items.js +5 -2
- package/src/lib/runtime/ai-repeated-items.js.map +1 -1
- package/src/lib/runtime/ai-runtime.js +2 -3
- package/src/lib/runtime/ai-runtime.js.map +1 -1
- package/src/lib/server/assist-chat.js +8 -3
- package/src/lib/server/assist-chat.js.map +1 -1
- package/src/lib/server/assist-edit.d.ts +21 -0
- package/src/lib/server/assist-edit.js +99 -21
- package/src/lib/server/assist-edit.js.map +1 -1
- package/src/lib/server/assist-view-context.d.ts +5 -1
- package/src/lib/server/assist-view-context.js +8 -3
- package/src/lib/server/assist-view-context.js.map +1 -1
- package/src/lib/usage/assist-usage.d.ts +2 -0
- package/src/lib/usage/assist-usage.js +8 -3
- package/src/lib/usage/assist-usage.js.map +1 -1
|
@@ -16,7 +16,7 @@ import { _ as _extends } from "@swc/helpers/_/_extends";
|
|
|
16
16
|
* limitations under the License.
|
|
17
17
|
*/ import { pluginMediaIngest } from "@aglyn/aglyn/plugin-manager/plugin-media-ingest";
|
|
18
18
|
import { STOCK_PHOTO_QUERY_MAX_CHARS, stockPhotoProvider, stockPhotoSourceKey } from "@aglyn/aglyn/plugin-manager/stock-photo-provider";
|
|
19
|
-
import { aiLayoutSeedNumber } from "../layout-language/ai-layout-pictures.js";
|
|
19
|
+
import { AI_LAYOUT_NO_PHOTO, aiLayoutSeedNumber } from "../layout-language/ai-layout-pictures.js";
|
|
20
20
|
import { aiStorefrontSays } from "../layout-language/ai-layout-storefront.js";
|
|
21
21
|
import { aiLayoutLabel, aiLayoutSpeaksOtherThanEnglish } from "../layout-language/ai-layout-labels.js";
|
|
22
22
|
import { aiSiteKindOfInputs } from "../model/ai-site-kinds.js";
|
|
@@ -120,11 +120,16 @@ import { aiStockBusinessNoun } from "./ai-stock-business-nouns.js";
|
|
|
120
120
|
* its kin shuns (a pump for a bar) unless it names it; "bath" in a bath
|
|
121
121
|
* gift set is what the set is for; a size is never the product.
|
|
122
122
|
*
|
|
123
|
-
* A slot
|
|
124
|
-
* of time
|
|
125
|
-
*
|
|
126
|
-
*
|
|
127
|
-
*
|
|
123
|
+
* A slot the library could not fill because it never answered — down, or
|
|
124
|
+
* out of time before its first answer — or because the site's library
|
|
125
|
+
* refused to store, is left `null` for the starter photos. A slot the
|
|
126
|
+
* library answered and nothing acceptable came back for is answered
|
|
127
|
+
* {@link AI_LAYOUT_NO_PHOTO} and keeps its no-photo treatment: the beta.257
|
|
128
|
+
* Copper Kettle Catering hero, held to "caterer" while catering photos are
|
|
129
|
+
* tagged "catering", took the starters' pottery workbench (AGL-3831). A
|
|
130
|
+
* named object is never given one while the library answers anything of the
|
|
131
|
+
* site's world: the broad searches come first. Nothing here throws, and none
|
|
132
|
+
* of it is an AI model call: photos cost no AI credits.
|
|
128
133
|
*/ /** Wall clock the whole page's photos may take, inside the step's own signal. */ export const AI_LAYOUT_STOCK_PHOTOS_BUDGET_MS = 30000;
|
|
129
134
|
/** Searches one page may send to the provider; a repeated query is answered from the page's own memory. */ export const AI_LAYOUT_STOCK_SEARCHES_PER_PAGE = 18;
|
|
130
135
|
/** The hits a pick is made among. */ export const AI_LAYOUT_STOCK_PICK_WINDOW = 40;
|
|
@@ -924,6 +929,78 @@ const words = (list)=>new Set(list.trim().split(/\s+/));
|
|
|
924
929
|
'barista making coffee'
|
|
925
930
|
]
|
|
926
931
|
},
|
|
932
|
+
{
|
|
933
|
+
// A caterer is named "caterer" and its photos "catering", "buffet",
|
|
934
|
+
// "food": the beta.257 Copper Kettle Catering hero, held to "caterer"
|
|
935
|
+
// alone, accepted none of forty hits (AGL-3831).
|
|
936
|
+
match: [
|
|
937
|
+
'caterer',
|
|
938
|
+
'catering',
|
|
939
|
+
'cater'
|
|
940
|
+
],
|
|
941
|
+
kin: [
|
|
942
|
+
'catering',
|
|
943
|
+
'caterer',
|
|
944
|
+
'cater',
|
|
945
|
+
'buffet',
|
|
946
|
+
'banquet',
|
|
947
|
+
'platter',
|
|
948
|
+
'food',
|
|
949
|
+
'meal',
|
|
950
|
+
'cuisine'
|
|
951
|
+
],
|
|
952
|
+
broad: [
|
|
953
|
+
'caterer',
|
|
954
|
+
'catering buffet'
|
|
955
|
+
],
|
|
956
|
+
making: [
|
|
957
|
+
'chef cooking',
|
|
958
|
+
'catering chef'
|
|
959
|
+
],
|
|
960
|
+
// An airline's meal cart is catering too, never a caterer's: the same
|
|
961
|
+
// start's search answered a plane at Düsseldorf tagged "catering" first.
|
|
962
|
+
rivals: {
|
|
963
|
+
words: [
|
|
964
|
+
'airport',
|
|
965
|
+
'airplane',
|
|
966
|
+
'plane',
|
|
967
|
+
'aircraft',
|
|
968
|
+
'aviation',
|
|
969
|
+
'airline',
|
|
970
|
+
'airfield'
|
|
971
|
+
],
|
|
972
|
+
core: []
|
|
973
|
+
}
|
|
974
|
+
},
|
|
975
|
+
{
|
|
976
|
+
match: [
|
|
977
|
+
'barbecue',
|
|
978
|
+
'barbeque',
|
|
979
|
+
'bbq',
|
|
980
|
+
'smokehouse',
|
|
981
|
+
'pitmaster'
|
|
982
|
+
],
|
|
983
|
+
kin: [
|
|
984
|
+
'barbecue',
|
|
985
|
+
'barbeque',
|
|
986
|
+
'bbq',
|
|
987
|
+
'grill',
|
|
988
|
+
'grilled',
|
|
989
|
+
'brisket',
|
|
990
|
+
'smoked',
|
|
991
|
+
'smoker',
|
|
992
|
+
'ribs',
|
|
993
|
+
'meat'
|
|
994
|
+
],
|
|
995
|
+
broad: [
|
|
996
|
+
'barbecue',
|
|
997
|
+
'bbq meat'
|
|
998
|
+
],
|
|
999
|
+
making: [
|
|
1000
|
+
'pitmaster',
|
|
1001
|
+
'grilling meat'
|
|
1002
|
+
]
|
|
1003
|
+
},
|
|
927
1004
|
{
|
|
928
1005
|
match: [
|
|
929
1006
|
'florist',
|
|
@@ -1919,6 +1996,7 @@ const EXTENSIONS = {
|
|
|
1919
1996
|
const answers = new Map();
|
|
1920
1997
|
let searches = 0;
|
|
1921
1998
|
let storing = true;
|
|
1999
|
+
/** Whether the library answered any search of this page: a slot left empty then found nothing fitting. */ let answered = false;
|
|
1922
2000
|
const remember = (sourceKey, src)=>{
|
|
1923
2001
|
placedSrcs.add(src);
|
|
1924
2002
|
job == null ? void 0 : job.set(sourceKey, scope);
|
|
@@ -1949,6 +2027,7 @@ const EXTENSIONS = {
|
|
|
1949
2027
|
signal
|
|
1950
2028
|
}).then((found)=>{
|
|
1951
2029
|
var _ref;
|
|
2030
|
+
if (found) answered = true;
|
|
1952
2031
|
return (_ref = found == null ? void 0 : found.photos) != null ? _ref : [];
|
|
1953
2032
|
}).catch(()=>[]);
|
|
1954
2033
|
answers.set(key, asked);
|
|
@@ -2246,7 +2325,10 @@ const EXTENSIONS = {
|
|
|
2246
2325
|
length: Math.min(AI_LAYOUT_STOCK_COPIES_AT_ONCE, firsts.length)
|
|
2247
2326
|
}, worker));
|
|
2248
2327
|
for (const [index, choice] of choices.entries())if (choice == null ? void 0 : choice.repeat) await fill(index);
|
|
2249
|
-
|
|
2328
|
+
// The library answered and nothing in it fits: no photo rather than a
|
|
2329
|
+
// starter that shows another business (AGL-3831). A library that never
|
|
2330
|
+
// answered, or a site that refused to store, leaves the starters.
|
|
2331
|
+
return answered && storing ? photos.map((photo)=>photo != null ? photo : AI_LAYOUT_NO_PHOTO) : photos;
|
|
2250
2332
|
};
|
|
2251
2333
|
}
|
|
2252
2334
|
|