@aglyn/plugins-ai 1.0.0-beta.237 → 1.0.0-beta.239
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/ai-credits-prompt.component.d.ts +11 -4
- package/src/lib/components/ai-credits-prompt.component.js +84 -34
- package/src/lib/components/ai-credits-prompt.component.js.map +1 -1
- package/src/lib/components/ai-job-cancel.component.d.ts +38 -0
- package/src/lib/components/ai-job-cancel.component.js +156 -0
- package/src/lib/components/ai-job-cancel.component.js.map +1 -0
- package/src/lib/components/ai-job-links.js +8 -0
- package/src/lib/components/ai-job-links.js.map +1 -1
- package/src/lib/components/ai-job-plan.component.js +12 -1
- package/src/lib/components/ai-job-plan.component.js.map +1 -1
- package/src/lib/components/ai-jobs-list-page.component.js +141 -72
- package/src/lib/components/ai-jobs-list-page.component.js.map +1 -1
- package/src/lib/components/ai-jobs-store.d.ts +12 -0
- package/src/lib/components/ai-jobs-store.js +15 -0
- package/src/lib/components/ai-jobs-store.js.map +1 -1
- package/src/lib/components/ai-site-build-page.component.js +22 -2
- package/src/lib/components/ai-site-build-page.component.js.map +1 -1
- package/src/lib/components/ai-usage-meter-refresh.d.ts +35 -0
- package/src/lib/components/ai-usage-meter-refresh.js +63 -0
- package/src/lib/components/ai-usage-meter-refresh.js.map +1 -0
- package/src/lib/components/ai-usage-strip.component.d.ts +19 -2
- package/src/lib/components/ai-usage-strip.component.js +40 -9
- package/src/lib/components/ai-usage-strip.component.js.map +1 -1
- package/src/lib/components/assist-jobs-drawer.component.js +12 -16
- package/src/lib/components/assist-jobs-drawer.component.js.map +1 -1
- package/src/lib/components/assist-panel.component.js +91 -51
- package/src/lib/components/assist-panel.component.js.map +1 -1
- package/src/lib/components/use-ai-usage-meter.d.ts +2 -0
- package/src/lib/components/use-ai-usage-meter.js +8 -3
- package/src/lib/components/use-ai-usage-meter.js.map +1 -1
- package/src/lib/jobs/ai-build-unit-outcome.d.ts +3 -1
- package/src/lib/jobs/ai-build-unit-outcome.js +19 -3
- package/src/lib/jobs/ai-build-unit-outcome.js.map +1 -1
- package/src/lib/jobs/ai-job-build-step.js +33 -3
- package/src/lib/jobs/ai-job-build-step.js.map +1 -1
- package/src/lib/jobs/ai-job-cancel.d.ts +71 -0
- package/src/lib/jobs/ai-job-cancel.js +102 -0
- package/src/lib/jobs/ai-job-cancel.js.map +1 -0
- package/src/lib/jobs/ai-job-component-step.js +4 -1
- package/src/lib/jobs/ai-job-component-step.js.map +1 -1
- package/src/lib/jobs/ai-job-draft-ids.js +7 -2
- package/src/lib/jobs/ai-job-draft-ids.js.map +1 -1
- package/src/lib/jobs/ai-job-drafts.js +2 -0
- package/src/lib/jobs/ai-job-drafts.js.map +1 -1
- package/src/lib/jobs/ai-job-form-dataset.d.ts +100 -0
- package/src/lib/jobs/ai-job-form-dataset.js +161 -0
- package/src/lib/jobs/ai-job-form-dataset.js.map +1 -0
- package/src/lib/jobs/ai-job-form-step.d.ts +15 -3
- package/src/lib/jobs/ai-job-form-step.js +41 -10
- package/src/lib/jobs/ai-job-form-step.js.map +1 -1
- package/src/lib/jobs/ai-job-layout-language.d.ts +2 -0
- package/src/lib/jobs/ai-job-layout-language.js +13 -1
- package/src/lib/jobs/ai-job-layout-language.js.map +1 -1
- package/src/lib/jobs/ai-job-layout-step.js +6 -1
- package/src/lib/jobs/ai-job-layout-step.js.map +1 -1
- package/src/lib/jobs/ai-job-page-language.d.ts +9 -0
- package/src/lib/jobs/ai-job-page-language.js +45 -2
- package/src/lib/jobs/ai-job-page-language.js.map +1 -1
- package/src/lib/jobs/ai-job-page-step.js +12 -1
- package/src/lib/jobs/ai-job-page-step.js.map +1 -1
- package/src/lib/jobs/ai-job-plan-step.d.ts +38 -1
- package/src/lib/jobs/ai-job-plan-step.js +90 -13
- package/src/lib/jobs/ai-job-plan-step.js.map +1 -1
- package/src/lib/jobs/ai-job-site-content.d.ts +15 -0
- package/src/lib/jobs/ai-job-site-content.js +66 -7
- package/src/lib/jobs/ai-job-site-content.js.map +1 -1
- package/src/lib/jobs/ai-job-site-datasets.d.ts +170 -0
- package/src/lib/jobs/ai-job-site-datasets.js +499 -0
- package/src/lib/jobs/ai-job-site-datasets.js.map +1 -0
- package/src/lib/jobs/ai-job-site-step.d.ts +15 -8
- package/src/lib/jobs/ai-job-site-step.js +152 -30
- package/src/lib/jobs/ai-job-site-step.js.map +1 -1
- package/src/lib/jobs/ai-job-template-step.js +4 -1
- package/src/lib/jobs/ai-job-template-step.js.map +1 -1
- package/src/lib/jobs/ai-jobs.d.ts +37 -12
- package/src/lib/jobs/ai-jobs.js +184 -28
- package/src/lib/jobs/ai-jobs.js.map +1 -1
- package/src/lib/jobs/ai-layout-stock-photos.d.ts +143 -70
- package/src/lib/jobs/ai-layout-stock-photos.js +649 -176
- package/src/lib/jobs/ai-layout-stock-photos.js.map +1 -1
- package/src/lib/jobs/fixtures/ai-ceramics-portfolio-site-plan.d.ts +30 -0
- package/src/lib/jobs/fixtures/ai-ceramics-portfolio-site-plan.js +220 -0
- package/src/lib/jobs/fixtures/ai-ceramics-portfolio-site-plan.js.map +1 -0
- package/src/lib/jobs/fixtures/ai-dataset-site-plan-recordings.d.ts +30 -0
- package/src/lib/jobs/fixtures/ai-dataset-site-plan-recordings.js +637 -0
- package/src/lib/jobs/fixtures/ai-dataset-site-plan-recordings.js.map +1 -0
- package/src/lib/jobs/fixtures/ai-stock-photo-pixabay-recordings.d.ts +27 -0
- package/src/lib/jobs/fixtures/ai-stock-photo-pixabay-recordings.js +151 -0
- package/src/lib/jobs/fixtures/ai-stock-photo-pixabay-recordings.js.map +1 -0
- package/src/lib/layout-language/ai-layout-compiler.d.ts +16 -0
- package/src/lib/layout-language/ai-layout-compiler.js +397 -9
- package/src/lib/layout-language/ai-layout-compiler.js.map +1 -1
- package/src/lib/layout-language/ai-layout-design.d.ts +6 -3
- package/src/lib/layout-language/ai-layout-design.js +5 -3
- package/src/lib/layout-language/ai-layout-design.js.map +1 -1
- package/src/lib/layout-language/ai-layout-frame.d.ts +12 -0
- package/src/lib/layout-language/ai-layout-frame.js +58 -3
- package/src/lib/layout-language/ai-layout-frame.js.map +1 -1
- package/src/lib/layout-language/ai-layout-gaps.js +17 -1
- package/src/lib/layout-language/ai-layout-gaps.js.map +1 -1
- package/src/lib/layout-language/ai-layout-listings.d.ts +44 -3
- package/src/lib/layout-language/ai-layout-listings.js +118 -50
- package/src/lib/layout-language/ai-layout-listings.js.map +1 -1
- package/src/lib/layout-language/ai-layout-pictures.d.ts +8 -0
- package/src/lib/layout-language/ai-layout-pictures.js.map +1 -1
- package/src/lib/layout-language/ai-layout-storefront.d.ts +82 -0
- package/src/lib/layout-language/ai-layout-storefront.js +223 -0
- package/src/lib/layout-language/ai-layout-storefront.js.map +1 -0
- package/src/lib/model/ai-build-job.d.ts +11 -1
- package/src/lib/model/ai-build-job.js +35 -6
- package/src/lib/model/ai-build-job.js.map +1 -1
- package/src/lib/model/ai-build-plan.d.ts +23 -3
- package/src/lib/model/ai-build-plan.js +47 -6
- package/src/lib/model/ai-build-plan.js.map +1 -1
- package/src/lib/model/ai-build-progress.d.ts +2 -2
- package/src/lib/model/ai-build-progress.js +6 -4
- package/src/lib/model/ai-build-progress.js.map +1 -1
- package/src/lib/model/ai-credit-estimate.d.ts +69 -2
- package/src/lib/model/ai-credit-estimate.js +91 -3
- package/src/lib/model/ai-credit-estimate.js.map +1 -1
- package/src/lib/model/ai-job-cancel-copy.d.ts +44 -0
- package/src/lib/model/ai-job-cancel-copy.js +53 -0
- package/src/lib/model/ai-job-cancel-copy.js.map +1 -0
- package/src/lib/model/ai-job-failure-copy.d.ts +4 -1
- package/src/lib/model/ai-job-failure-copy.js +8 -3
- package/src/lib/model/ai-job-failure-copy.js.map +1 -1
- package/src/lib/model/ai-jobs.types.d.ts +20 -0
- package/src/lib/model/ai-jobs.types.js.map +1 -1
- package/src/lib/model/ai-plan-capabilities.d.ts +7 -0
- package/src/lib/model/ai-plan-capabilities.js.map +1 -1
- package/src/lib/model/ai-site-build-progress.js +7 -4
- package/src/lib/model/ai-site-build-progress.js.map +1 -1
- package/src/lib/model/ai-site-job.d.ts +38 -4
- package/src/lib/model/ai-site-job.js +50 -14
- package/src/lib/model/ai-site-job.js.map +1 -1
- package/src/lib/model/ai-site-kinds.d.ts +4 -1
- package/src/lib/model/ai-site-kinds.js +34 -6
- package/src/lib/model/ai-site-kinds.js.map +1 -1
- package/src/lib/runtime/ai-dataset-generation.d.ts +77 -0
- package/src/lib/runtime/ai-dataset-generation.js +127 -0
- package/src/lib/runtime/ai-dataset-generation.js.map +1 -0
- package/src/lib/runtime/ai-doctrine-validators.d.ts +77 -1
- package/src/lib/runtime/ai-doctrine-validators.js +280 -6
- package/src/lib/runtime/ai-doctrine-validators.js.map +1 -1
- package/src/lib/runtime/ai-doctrine.js +10 -4
- package/src/lib/runtime/ai-doctrine.js.map +1 -1
- package/src/lib/runtime/ai-node-tree.d.ts +2 -0
- package/src/lib/runtime/ai-node-tree.js +16 -0
- package/src/lib/runtime/ai-node-tree.js.map +1 -1
- package/src/lib/runtime/ai-palette.generated.js +53 -7
- package/src/lib/runtime/ai-palette.generated.js.map +1 -1
- package/src/lib/server/ai-jobs-cancel.d.ts +13 -5
- package/src/lib/server/ai-jobs-cancel.js +27 -9
- package/src/lib/server/ai-jobs-cancel.js.map +1 -1
- package/src/lib/server/ai-jobs-gate.d.ts +12 -2
- package/src/lib/server/ai-jobs-gate.js +20 -9
- package/src/lib/server/ai-jobs-gate.js.map +1 -1
- package/src/lib/tools/ai-dataset-tool.d.ts +68 -0
- package/src/lib/tools/ai-dataset-tool.js +231 -0
- package/src/lib/tools/ai-dataset-tool.js.map +1 -0
- package/src/lib/usage/ai-usage-meter.d.ts +2 -1
- package/src/lib/usage/ai-usage-meter.js +17 -1
- package/src/lib/usage/ai-usage-meter.js.map +1 -1
- package/src/lib/usage/ai-usage-wire.d.ts +6 -0
- package/src/lib/usage/ai-usage-wire.js.map +1 -1
- package/src/lib/usage/assist-usage.d.ts +7 -0
- package/src/lib/usage/assist-usage.js +14 -4
- package/src/lib/usage/assist-usage.js.map +1 -1
- package/src/lib/usage/free-ai-credits-left.d.ts +7 -0
- package/src/lib/usage/free-ai-credits-left.js +30 -4
- package/src/lib/usage/free-ai-credits-left.js.map +1 -1
|
@@ -0,0 +1,637 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Aglyn LLC
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/ /**
|
|
17
|
+
* RECORDED, NOT GOLDEN: the first plan answers of two paid (business) briefs
|
|
18
|
+
* from the live site-plan eval of 2026-10-10 on #1362 (claude-sonnet-5-5),
|
|
19
|
+
* copied from their replay recordings (AGL-3616). Each created four datasets,
|
|
20
|
+
* one of them testimonials, past the three a site start makes, and was
|
|
21
|
+
* refused for it: the dental plan four times over; the food bank's re-ask
|
|
22
|
+
* then named a section "Page header" and was refused for that. Both are now
|
|
23
|
+
* settled in code (`aiSettlePlanDatasets`) and kept on their first answer.
|
|
24
|
+
*/ /** "a family dental practice", recorded 2026-10-10T06:32:23.901Z. */ export const AI_DENTAL_SITE_PLAN_FIRST_ANSWER = {
|
|
25
|
+
reuse: [
|
|
26
|
+
{
|
|
27
|
+
kind: 'layout',
|
|
28
|
+
id: 'laySite',
|
|
29
|
+
purpose: 'Site layout holding the header, navigation and footer for every page'
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
kind: 'screen',
|
|
33
|
+
id: 'scrStarter',
|
|
34
|
+
purpose: 'Starter home page, replaced by the planned home page at /'
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
create: [
|
|
38
|
+
{
|
|
39
|
+
kind: 'form',
|
|
40
|
+
name: 'Appointment request',
|
|
41
|
+
why: 'The site has no saved form, and booking and contact pages need one that routes to the inbox.',
|
|
42
|
+
duplicateOf: null,
|
|
43
|
+
fields: [
|
|
44
|
+
'parentName',
|
|
45
|
+
'email',
|
|
46
|
+
'phone',
|
|
47
|
+
'childName',
|
|
48
|
+
'childAge',
|
|
49
|
+
'preferredDate',
|
|
50
|
+
'visitReason',
|
|
51
|
+
'consent'
|
|
52
|
+
]
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
kind: 'dataset',
|
|
56
|
+
name: 'Dental services',
|
|
57
|
+
why: 'Services are a list of like items and the site has no dataset for them.',
|
|
58
|
+
duplicateOf: null,
|
|
59
|
+
fields: [
|
|
60
|
+
'name',
|
|
61
|
+
'summary',
|
|
62
|
+
'description',
|
|
63
|
+
'ageGroup',
|
|
64
|
+
'duration'
|
|
65
|
+
]
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
kind: 'dataset',
|
|
69
|
+
name: 'Team members',
|
|
70
|
+
why: 'The care team is a list of like items and the site has no dataset for it.',
|
|
71
|
+
duplicateOf: null,
|
|
72
|
+
fields: [
|
|
73
|
+
'name',
|
|
74
|
+
'role',
|
|
75
|
+
'bio',
|
|
76
|
+
'photo'
|
|
77
|
+
]
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
kind: 'dataset',
|
|
81
|
+
name: 'Patient testimonials',
|
|
82
|
+
why: 'Parent reviews are a list of like items and the site has no dataset for them.',
|
|
83
|
+
duplicateOf: null,
|
|
84
|
+
fields: [
|
|
85
|
+
'quote',
|
|
86
|
+
'parentName',
|
|
87
|
+
'childAge'
|
|
88
|
+
]
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
kind: 'dataset',
|
|
92
|
+
name: 'Visit questions',
|
|
93
|
+
why: 'Frequently asked questions are a list of like items and the site has no dataset for them.',
|
|
94
|
+
duplicateOf: null,
|
|
95
|
+
fields: [
|
|
96
|
+
'question',
|
|
97
|
+
'answer'
|
|
98
|
+
]
|
|
99
|
+
}
|
|
100
|
+
],
|
|
101
|
+
screens: [
|
|
102
|
+
{
|
|
103
|
+
title: 'Home',
|
|
104
|
+
slug: '/',
|
|
105
|
+
layout: 'laySite',
|
|
106
|
+
template: null,
|
|
107
|
+
duplicateOf: 'scrStarter',
|
|
108
|
+
nav: true,
|
|
109
|
+
seoTitle: 'Maple Street Dental | Family Dentist for Kids and Parents',
|
|
110
|
+
seoDescription: "Maple Street Dental is a family dental practice with gentle check-ups for kids. Meet our team, see our services and book your child's visit today.",
|
|
111
|
+
sections: [
|
|
112
|
+
{
|
|
113
|
+
name: 'Hero with book a check-up button',
|
|
114
|
+
uses: [],
|
|
115
|
+
items: 0
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
name: 'Services overview',
|
|
119
|
+
uses: [
|
|
120
|
+
'new:Dental services'
|
|
121
|
+
],
|
|
122
|
+
items: 4
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
name: 'Why families choose Maple Street Dental',
|
|
126
|
+
uses: [],
|
|
127
|
+
items: 3
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
name: 'First visit steps',
|
|
131
|
+
uses: [],
|
|
132
|
+
items: 3
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
name: 'Parent testimonials',
|
|
136
|
+
uses: [
|
|
137
|
+
'new:Patient testimonials'
|
|
138
|
+
],
|
|
139
|
+
items: 3
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
name: 'Team preview',
|
|
143
|
+
uses: [
|
|
144
|
+
'new:Team members'
|
|
145
|
+
],
|
|
146
|
+
items: 3
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
name: 'Booking call to action with form',
|
|
150
|
+
uses: [
|
|
151
|
+
'new:Appointment request'
|
|
152
|
+
],
|
|
153
|
+
items: 0
|
|
154
|
+
}
|
|
155
|
+
],
|
|
156
|
+
record: null
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
title: 'Services',
|
|
160
|
+
slug: '/services',
|
|
161
|
+
layout: 'laySite',
|
|
162
|
+
template: null,
|
|
163
|
+
duplicateOf: null,
|
|
164
|
+
nav: true,
|
|
165
|
+
seoTitle: 'Dental Services for Kids and Families | Maple Street Dental',
|
|
166
|
+
seoDescription: 'Check-ups, cleanings, sealants and fluoride care for children and parents at Maple Street Dental. See what each visit includes and book online.',
|
|
167
|
+
sections: [
|
|
168
|
+
{
|
|
169
|
+
name: 'Services hero',
|
|
170
|
+
uses: [],
|
|
171
|
+
items: 0
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
name: 'Full services list',
|
|
175
|
+
uses: [
|
|
176
|
+
'new:Dental services'
|
|
177
|
+
],
|
|
178
|
+
items: 6
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
name: 'What to expect at a check-up',
|
|
182
|
+
uses: [],
|
|
183
|
+
items: 4
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
name: 'Services questions',
|
|
187
|
+
uses: [
|
|
188
|
+
'new:Visit questions'
|
|
189
|
+
],
|
|
190
|
+
items: 5
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
name: 'Booking call to action',
|
|
194
|
+
uses: [
|
|
195
|
+
'new:Appointment request'
|
|
196
|
+
],
|
|
197
|
+
items: 0
|
|
198
|
+
}
|
|
199
|
+
],
|
|
200
|
+
record: null
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
title: 'About',
|
|
204
|
+
slug: '/about',
|
|
205
|
+
layout: 'laySite',
|
|
206
|
+
template: null,
|
|
207
|
+
duplicateOf: null,
|
|
208
|
+
nav: true,
|
|
209
|
+
seoTitle: 'About Maple Street Dental | Our Family Dental Practice',
|
|
210
|
+
seoDescription: "Learn the story behind Maple Street Dental, our gentle approach to children's dentistry and the people who care for your family.",
|
|
211
|
+
sections: [
|
|
212
|
+
{
|
|
213
|
+
name: 'About hero',
|
|
214
|
+
uses: [],
|
|
215
|
+
items: 0
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
name: 'Our story and approach',
|
|
219
|
+
uses: [],
|
|
220
|
+
items: 0
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
name: 'Our values',
|
|
224
|
+
uses: [],
|
|
225
|
+
items: 3
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
name: 'Meet the team',
|
|
229
|
+
uses: [
|
|
230
|
+
'new:Team members'
|
|
231
|
+
],
|
|
232
|
+
items: 4
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
name: 'Parent testimonials',
|
|
236
|
+
uses: [
|
|
237
|
+
'new:Patient testimonials'
|
|
238
|
+
],
|
|
239
|
+
items: 3
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
name: 'Closing call to action',
|
|
243
|
+
uses: [],
|
|
244
|
+
items: 0
|
|
245
|
+
}
|
|
246
|
+
],
|
|
247
|
+
record: null
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
title: 'Patient Info',
|
|
251
|
+
slug: '/patient-info',
|
|
252
|
+
layout: 'laySite',
|
|
253
|
+
template: null,
|
|
254
|
+
duplicateOf: null,
|
|
255
|
+
nav: true,
|
|
256
|
+
seoTitle: 'New Patient Info and FAQs | Maple Street Dental',
|
|
257
|
+
seoDescription: "Plan your child's first visit to Maple Street Dental: what to bring, how appointments work, insurance questions and answers for parents.",
|
|
258
|
+
sections: [
|
|
259
|
+
{
|
|
260
|
+
name: 'Patient info hero',
|
|
261
|
+
uses: [],
|
|
262
|
+
items: 0
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
name: 'Before your visit checklist',
|
|
266
|
+
uses: [],
|
|
267
|
+
items: 4
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
name: 'Frequently asked questions',
|
|
271
|
+
uses: [
|
|
272
|
+
'new:Visit questions'
|
|
273
|
+
],
|
|
274
|
+
items: 6
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
name: 'Opening hours and location',
|
|
278
|
+
uses: [],
|
|
279
|
+
items: 0
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
name: 'Booking call to action',
|
|
283
|
+
uses: [
|
|
284
|
+
'new:Appointment request'
|
|
285
|
+
],
|
|
286
|
+
items: 0
|
|
287
|
+
}
|
|
288
|
+
],
|
|
289
|
+
record: null
|
|
290
|
+
},
|
|
291
|
+
{
|
|
292
|
+
title: 'Book a Visit',
|
|
293
|
+
slug: '/book',
|
|
294
|
+
layout: 'laySite',
|
|
295
|
+
template: null,
|
|
296
|
+
duplicateOf: null,
|
|
297
|
+
nav: true,
|
|
298
|
+
seoTitle: 'Book a Check-up | Maple Street Dental',
|
|
299
|
+
seoDescription: "Request your child's dental check-up at Maple Street Dental. Share a preferred date and our team will confirm your appointment.",
|
|
300
|
+
sections: [
|
|
301
|
+
{
|
|
302
|
+
name: 'Booking hero',
|
|
303
|
+
uses: [],
|
|
304
|
+
items: 0
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
name: 'Appointment request form',
|
|
308
|
+
uses: [
|
|
309
|
+
'new:Appointment request'
|
|
310
|
+
],
|
|
311
|
+
items: 0
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
name: 'Contact details and hours',
|
|
315
|
+
uses: [],
|
|
316
|
+
items: 3
|
|
317
|
+
},
|
|
318
|
+
{
|
|
319
|
+
name: 'Reassurance for nervous kids',
|
|
320
|
+
uses: [],
|
|
321
|
+
items: 3
|
|
322
|
+
}
|
|
323
|
+
],
|
|
324
|
+
record: null
|
|
325
|
+
}
|
|
326
|
+
]
|
|
327
|
+
};
|
|
328
|
+
/** "a nonprofit food bank", recorded 2026-10-10T06:32:08.811Z. */ export const AI_FOOD_BANK_SITE_PLAN_FIRST_ANSWER = {
|
|
329
|
+
reuse: [
|
|
330
|
+
{
|
|
331
|
+
kind: 'layout',
|
|
332
|
+
id: 'laySite',
|
|
333
|
+
purpose: 'Site layout with header, navigation and footer for every page'
|
|
334
|
+
},
|
|
335
|
+
{
|
|
336
|
+
kind: 'screen',
|
|
337
|
+
id: 'scrStarter',
|
|
338
|
+
purpose: 'Starter home page replaced by the planned home page at /'
|
|
339
|
+
}
|
|
340
|
+
],
|
|
341
|
+
create: [
|
|
342
|
+
{
|
|
343
|
+
kind: 'form',
|
|
344
|
+
name: 'Get involved form',
|
|
345
|
+
why: 'The site has no saved form, and volunteers and donors need one to sign up or send a question to the inbox.',
|
|
346
|
+
duplicateOf: null,
|
|
347
|
+
fields: [
|
|
348
|
+
'fullName',
|
|
349
|
+
'email',
|
|
350
|
+
'phone',
|
|
351
|
+
'interest',
|
|
352
|
+
'message',
|
|
353
|
+
'consent'
|
|
354
|
+
]
|
|
355
|
+
},
|
|
356
|
+
{
|
|
357
|
+
kind: 'dataset',
|
|
358
|
+
name: 'Programs',
|
|
359
|
+
why: 'The site has no dataset, and programs are a list of like items shown on Home and Our programs.',
|
|
360
|
+
duplicateOf: null,
|
|
361
|
+
fields: [
|
|
362
|
+
'name',
|
|
363
|
+
'summary',
|
|
364
|
+
'schedule',
|
|
365
|
+
'audience',
|
|
366
|
+
'image'
|
|
367
|
+
]
|
|
368
|
+
},
|
|
369
|
+
{
|
|
370
|
+
kind: 'dataset',
|
|
371
|
+
name: 'Testimonials',
|
|
372
|
+
why: 'Quotes from volunteers, donors and neighbors are a list of like items used as social proof on Home and About.',
|
|
373
|
+
duplicateOf: null,
|
|
374
|
+
fields: [
|
|
375
|
+
'quote',
|
|
376
|
+
'name',
|
|
377
|
+
'role'
|
|
378
|
+
]
|
|
379
|
+
},
|
|
380
|
+
{
|
|
381
|
+
kind: 'dataset',
|
|
382
|
+
name: 'Volunteer roles',
|
|
383
|
+
why: 'Volunteer roles are a list of like items shown on the Get involved page.',
|
|
384
|
+
duplicateOf: null,
|
|
385
|
+
fields: [
|
|
386
|
+
'role',
|
|
387
|
+
'description',
|
|
388
|
+
'timeCommitment',
|
|
389
|
+
'location'
|
|
390
|
+
]
|
|
391
|
+
},
|
|
392
|
+
{
|
|
393
|
+
kind: 'dataset',
|
|
394
|
+
name: 'FAQs',
|
|
395
|
+
why: 'Questions and answers are a list of like items for donors and volunteers.',
|
|
396
|
+
duplicateOf: null,
|
|
397
|
+
fields: [
|
|
398
|
+
'question',
|
|
399
|
+
'answer'
|
|
400
|
+
]
|
|
401
|
+
}
|
|
402
|
+
],
|
|
403
|
+
screens: [
|
|
404
|
+
{
|
|
405
|
+
title: 'Home',
|
|
406
|
+
slug: '/',
|
|
407
|
+
layout: 'laySite',
|
|
408
|
+
template: null,
|
|
409
|
+
duplicateOf: 'scrStarter',
|
|
410
|
+
nav: true,
|
|
411
|
+
seoTitle: 'Eastside Food Bank | Food for Our Neighbors',
|
|
412
|
+
seoDescription: 'Eastside Food Bank is a nonprofit serving our community with groceries and meals. Volunteer, donate or find food support near you.',
|
|
413
|
+
sections: [
|
|
414
|
+
{
|
|
415
|
+
name: 'Hero with donate and volunteer buttons',
|
|
416
|
+
uses: [],
|
|
417
|
+
items: 0
|
|
418
|
+
},
|
|
419
|
+
{
|
|
420
|
+
name: 'Impact numbers',
|
|
421
|
+
uses: [],
|
|
422
|
+
items: 4
|
|
423
|
+
},
|
|
424
|
+
{
|
|
425
|
+
name: 'Our programs',
|
|
426
|
+
uses: [
|
|
427
|
+
'new:Programs'
|
|
428
|
+
],
|
|
429
|
+
items: 4
|
|
430
|
+
},
|
|
431
|
+
{
|
|
432
|
+
name: 'Why Eastside Food Bank',
|
|
433
|
+
uses: [],
|
|
434
|
+
items: 3
|
|
435
|
+
},
|
|
436
|
+
{
|
|
437
|
+
name: 'How you can help',
|
|
438
|
+
uses: [],
|
|
439
|
+
items: 3
|
|
440
|
+
},
|
|
441
|
+
{
|
|
442
|
+
name: 'Testimonials',
|
|
443
|
+
uses: [
|
|
444
|
+
'new:Testimonials'
|
|
445
|
+
],
|
|
446
|
+
items: 3
|
|
447
|
+
},
|
|
448
|
+
{
|
|
449
|
+
name: 'Closing call to action with form',
|
|
450
|
+
uses: [
|
|
451
|
+
'new:Get involved form'
|
|
452
|
+
],
|
|
453
|
+
items: 0
|
|
454
|
+
}
|
|
455
|
+
],
|
|
456
|
+
record: null
|
|
457
|
+
},
|
|
458
|
+
{
|
|
459
|
+
title: 'Our programs',
|
|
460
|
+
slug: '/programs',
|
|
461
|
+
layout: 'laySite',
|
|
462
|
+
template: null,
|
|
463
|
+
duplicateOf: null,
|
|
464
|
+
nav: true,
|
|
465
|
+
seoTitle: 'Our Programs | Eastside Food Bank',
|
|
466
|
+
seoDescription: 'Explore Eastside Food Bank programs: food pantry, community meals, mobile pantry and more. See schedules and who each program serves.',
|
|
467
|
+
sections: [
|
|
468
|
+
{
|
|
469
|
+
name: 'Page intro',
|
|
470
|
+
uses: [],
|
|
471
|
+
items: 0
|
|
472
|
+
},
|
|
473
|
+
{
|
|
474
|
+
name: 'Programs list',
|
|
475
|
+
uses: [
|
|
476
|
+
'new:Programs'
|
|
477
|
+
],
|
|
478
|
+
items: 6
|
|
479
|
+
},
|
|
480
|
+
{
|
|
481
|
+
name: 'Visit the pantry: hours and what to bring',
|
|
482
|
+
uses: [],
|
|
483
|
+
items: 3
|
|
484
|
+
},
|
|
485
|
+
{
|
|
486
|
+
name: 'Programs FAQ',
|
|
487
|
+
uses: [
|
|
488
|
+
'new:FAQs'
|
|
489
|
+
],
|
|
490
|
+
items: 5
|
|
491
|
+
},
|
|
492
|
+
{
|
|
493
|
+
name: 'Call to action',
|
|
494
|
+
uses: [],
|
|
495
|
+
items: 0
|
|
496
|
+
}
|
|
497
|
+
],
|
|
498
|
+
record: null
|
|
499
|
+
},
|
|
500
|
+
{
|
|
501
|
+
title: 'About',
|
|
502
|
+
slug: '/about',
|
|
503
|
+
layout: 'laySite',
|
|
504
|
+
template: null,
|
|
505
|
+
duplicateOf: null,
|
|
506
|
+
nav: true,
|
|
507
|
+
seoTitle: 'About Eastside Food Bank',
|
|
508
|
+
seoDescription: 'Learn about Eastside Food Bank, our mission, our history and the volunteers and partners who help feed our neighbors.',
|
|
509
|
+
sections: [
|
|
510
|
+
{
|
|
511
|
+
name: 'Page intro',
|
|
512
|
+
uses: [],
|
|
513
|
+
items: 0
|
|
514
|
+
},
|
|
515
|
+
{
|
|
516
|
+
name: 'Our mission and story',
|
|
517
|
+
uses: [],
|
|
518
|
+
items: 0
|
|
519
|
+
},
|
|
520
|
+
{
|
|
521
|
+
name: 'Values',
|
|
522
|
+
uses: [],
|
|
523
|
+
items: 3
|
|
524
|
+
},
|
|
525
|
+
{
|
|
526
|
+
name: 'Milestones',
|
|
527
|
+
uses: [],
|
|
528
|
+
items: 4
|
|
529
|
+
},
|
|
530
|
+
{
|
|
531
|
+
name: 'Community voices',
|
|
532
|
+
uses: [
|
|
533
|
+
'new:Testimonials'
|
|
534
|
+
],
|
|
535
|
+
items: 3
|
|
536
|
+
},
|
|
537
|
+
{
|
|
538
|
+
name: 'Partners and supporters',
|
|
539
|
+
uses: [],
|
|
540
|
+
items: 4
|
|
541
|
+
},
|
|
542
|
+
{
|
|
543
|
+
name: 'Call to action',
|
|
544
|
+
uses: [],
|
|
545
|
+
items: 0
|
|
546
|
+
}
|
|
547
|
+
],
|
|
548
|
+
record: null
|
|
549
|
+
},
|
|
550
|
+
{
|
|
551
|
+
title: 'Get involved',
|
|
552
|
+
slug: '/get-involved',
|
|
553
|
+
layout: 'laySite',
|
|
554
|
+
template: null,
|
|
555
|
+
duplicateOf: null,
|
|
556
|
+
nav: true,
|
|
557
|
+
seoTitle: 'Get Involved | Eastside Food Bank',
|
|
558
|
+
seoDescription: 'Volunteer, donate food or give funds to Eastside Food Bank. Choose a role, see what we need and sign up in minutes.',
|
|
559
|
+
sections: [
|
|
560
|
+
{
|
|
561
|
+
name: 'Page intro',
|
|
562
|
+
uses: [],
|
|
563
|
+
items: 0
|
|
564
|
+
},
|
|
565
|
+
{
|
|
566
|
+
name: 'Ways to help',
|
|
567
|
+
uses: [],
|
|
568
|
+
items: 3
|
|
569
|
+
},
|
|
570
|
+
{
|
|
571
|
+
name: 'Volunteer roles',
|
|
572
|
+
uses: [
|
|
573
|
+
'new:Volunteer roles'
|
|
574
|
+
],
|
|
575
|
+
items: 5
|
|
576
|
+
},
|
|
577
|
+
{
|
|
578
|
+
name: 'Most-needed donations',
|
|
579
|
+
uses: [],
|
|
580
|
+
items: 6
|
|
581
|
+
},
|
|
582
|
+
{
|
|
583
|
+
name: 'Sign-up form',
|
|
584
|
+
uses: [
|
|
585
|
+
'new:Get involved form'
|
|
586
|
+
],
|
|
587
|
+
items: 0
|
|
588
|
+
},
|
|
589
|
+
{
|
|
590
|
+
name: 'Volunteer FAQ',
|
|
591
|
+
uses: [
|
|
592
|
+
'new:FAQs'
|
|
593
|
+
],
|
|
594
|
+
items: 4
|
|
595
|
+
}
|
|
596
|
+
],
|
|
597
|
+
record: null
|
|
598
|
+
},
|
|
599
|
+
{
|
|
600
|
+
title: 'Contact',
|
|
601
|
+
slug: '/contact',
|
|
602
|
+
layout: 'laySite',
|
|
603
|
+
template: null,
|
|
604
|
+
duplicateOf: null,
|
|
605
|
+
nav: true,
|
|
606
|
+
seoTitle: 'Contact Eastside Food Bank',
|
|
607
|
+
seoDescription: 'Contact Eastside Food Bank with questions about getting food, donating or volunteering. Find our address, hours and phone.',
|
|
608
|
+
sections: [
|
|
609
|
+
{
|
|
610
|
+
name: 'Page intro',
|
|
611
|
+
uses: [],
|
|
612
|
+
items: 0
|
|
613
|
+
},
|
|
614
|
+
{
|
|
615
|
+
name: 'Contact details: address [address], phone [phone], hours [hours]',
|
|
616
|
+
uses: [],
|
|
617
|
+
items: 3
|
|
618
|
+
},
|
|
619
|
+
{
|
|
620
|
+
name: 'Contact form',
|
|
621
|
+
uses: [
|
|
622
|
+
'new:Get involved form'
|
|
623
|
+
],
|
|
624
|
+
items: 0
|
|
625
|
+
},
|
|
626
|
+
{
|
|
627
|
+
name: 'Need food today? Help finding a pantry',
|
|
628
|
+
uses: [],
|
|
629
|
+
items: 0
|
|
630
|
+
}
|
|
631
|
+
],
|
|
632
|
+
record: null
|
|
633
|
+
}
|
|
634
|
+
]
|
|
635
|
+
};
|
|
636
|
+
|
|
637
|
+
//# sourceMappingURL=ai-dataset-site-plan-recordings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../libs/plugins/ai/src/lib/jobs/fixtures/ai-dataset-site-plan-recordings.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2026 Aglyn LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { AiBuildPlan } from '../../model/ai-build-plan'\n\n/**\n * RECORDED, NOT GOLDEN: the first plan answers of two paid (business) briefs\n * from the live site-plan eval of 2026-10-10 on #1362 (claude-sonnet-5-5),\n * copied from their replay recordings (AGL-3616). Each created four datasets,\n * one of them testimonials, past the three a site start makes, and was\n * refused for it: the dental plan four times over; the food bank's re-ask\n * then named a section \"Page header\" and was refused for that. Both are now\n * settled in code (`aiSettlePlanDatasets`) and kept on their first answer.\n */\n\n/** \"a family dental practice\", recorded 2026-10-10T06:32:23.901Z. */\nexport const AI_DENTAL_SITE_PLAN_FIRST_ANSWER = {\n reuse: [\n {\n kind: 'layout',\n id: 'laySite',\n purpose:\n 'Site layout holding the header, navigation and footer for every page',\n },\n {\n kind: 'screen',\n id: 'scrStarter',\n purpose: 'Starter home page, replaced by the planned home page at /',\n },\n ],\n create: [\n {\n kind: 'form',\n name: 'Appointment request',\n why: 'The site has no saved form, and booking and contact pages need one that routes to the inbox.',\n duplicateOf: null,\n fields: [\n 'parentName',\n 'email',\n 'phone',\n 'childName',\n 'childAge',\n 'preferredDate',\n 'visitReason',\n 'consent',\n ],\n },\n {\n kind: 'dataset',\n name: 'Dental services',\n why: 'Services are a list of like items and the site has no dataset for them.',\n duplicateOf: null,\n fields: ['name', 'summary', 'description', 'ageGroup', 'duration'],\n },\n {\n kind: 'dataset',\n name: 'Team members',\n why: 'The care team is a list of like items and the site has no dataset for it.',\n duplicateOf: null,\n fields: ['name', 'role', 'bio', 'photo'],\n },\n {\n kind: 'dataset',\n name: 'Patient testimonials',\n why: 'Parent reviews are a list of like items and the site has no dataset for them.',\n duplicateOf: null,\n fields: ['quote', 'parentName', 'childAge'],\n },\n {\n kind: 'dataset',\n name: 'Visit questions',\n why: 'Frequently asked questions are a list of like items and the site has no dataset for them.',\n duplicateOf: null,\n fields: ['question', 'answer'],\n },\n ],\n screens: [\n {\n title: 'Home',\n slug: '/',\n layout: 'laySite',\n template: null,\n duplicateOf: 'scrStarter',\n nav: true,\n seoTitle: 'Maple Street Dental | Family Dentist for Kids and Parents',\n seoDescription:\n \"Maple Street Dental is a family dental practice with gentle check-ups for kids. Meet our team, see our services and book your child's visit today.\",\n sections: [\n {\n name: 'Hero with book a check-up button',\n uses: [],\n items: 0,\n },\n {\n name: 'Services overview',\n uses: ['new:Dental services'],\n items: 4,\n },\n {\n name: 'Why families choose Maple Street Dental',\n uses: [],\n items: 3,\n },\n {\n name: 'First visit steps',\n uses: [],\n items: 3,\n },\n {\n name: 'Parent testimonials',\n uses: ['new:Patient testimonials'],\n items: 3,\n },\n {\n name: 'Team preview',\n uses: ['new:Team members'],\n items: 3,\n },\n {\n name: 'Booking call to action with form',\n uses: ['new:Appointment request'],\n items: 0,\n },\n ],\n record: null,\n },\n {\n title: 'Services',\n slug: '/services',\n layout: 'laySite',\n template: null,\n duplicateOf: null,\n nav: true,\n seoTitle: 'Dental Services for Kids and Families | Maple Street Dental',\n seoDescription:\n 'Check-ups, cleanings, sealants and fluoride care for children and parents at Maple Street Dental. See what each visit includes and book online.',\n sections: [\n {\n name: 'Services hero',\n uses: [],\n items: 0,\n },\n {\n name: 'Full services list',\n uses: ['new:Dental services'],\n items: 6,\n },\n {\n name: 'What to expect at a check-up',\n uses: [],\n items: 4,\n },\n {\n name: 'Services questions',\n uses: ['new:Visit questions'],\n items: 5,\n },\n {\n name: 'Booking call to action',\n uses: ['new:Appointment request'],\n items: 0,\n },\n ],\n record: null,\n },\n {\n title: 'About',\n slug: '/about',\n layout: 'laySite',\n template: null,\n duplicateOf: null,\n nav: true,\n seoTitle: 'About Maple Street Dental | Our Family Dental Practice',\n seoDescription:\n \"Learn the story behind Maple Street Dental, our gentle approach to children's dentistry and the people who care for your family.\",\n sections: [\n {\n name: 'About hero',\n uses: [],\n items: 0,\n },\n {\n name: 'Our story and approach',\n uses: [],\n items: 0,\n },\n {\n name: 'Our values',\n uses: [],\n items: 3,\n },\n {\n name: 'Meet the team',\n uses: ['new:Team members'],\n items: 4,\n },\n {\n name: 'Parent testimonials',\n uses: ['new:Patient testimonials'],\n items: 3,\n },\n {\n name: 'Closing call to action',\n uses: [],\n items: 0,\n },\n ],\n record: null,\n },\n {\n title: 'Patient Info',\n slug: '/patient-info',\n layout: 'laySite',\n template: null,\n duplicateOf: null,\n nav: true,\n seoTitle: 'New Patient Info and FAQs | Maple Street Dental',\n seoDescription:\n \"Plan your child's first visit to Maple Street Dental: what to bring, how appointments work, insurance questions and answers for parents.\",\n sections: [\n {\n name: 'Patient info hero',\n uses: [],\n items: 0,\n },\n {\n name: 'Before your visit checklist',\n uses: [],\n items: 4,\n },\n {\n name: 'Frequently asked questions',\n uses: ['new:Visit questions'],\n items: 6,\n },\n {\n name: 'Opening hours and location',\n uses: [],\n items: 0,\n },\n {\n name: 'Booking call to action',\n uses: ['new:Appointment request'],\n items: 0,\n },\n ],\n record: null,\n },\n {\n title: 'Book a Visit',\n slug: '/book',\n layout: 'laySite',\n template: null,\n duplicateOf: null,\n nav: true,\n seoTitle: 'Book a Check-up | Maple Street Dental',\n seoDescription:\n \"Request your child's dental check-up at Maple Street Dental. Share a preferred date and our team will confirm your appointment.\",\n sections: [\n {\n name: 'Booking hero',\n uses: [],\n items: 0,\n },\n {\n name: 'Appointment request form',\n uses: ['new:Appointment request'],\n items: 0,\n },\n {\n name: 'Contact details and hours',\n uses: [],\n items: 3,\n },\n {\n name: 'Reassurance for nervous kids',\n uses: [],\n items: 3,\n },\n ],\n record: null,\n },\n ],\n} as unknown as AiBuildPlan\n\n/** \"a nonprofit food bank\", recorded 2026-10-10T06:32:08.811Z. */\nexport const AI_FOOD_BANK_SITE_PLAN_FIRST_ANSWER = {\n reuse: [\n {\n kind: 'layout',\n id: 'laySite',\n purpose: 'Site layout with header, navigation and footer for every page',\n },\n {\n kind: 'screen',\n id: 'scrStarter',\n purpose: 'Starter home page replaced by the planned home page at /',\n },\n ],\n create: [\n {\n kind: 'form',\n name: 'Get involved form',\n why: 'The site has no saved form, and volunteers and donors need one to sign up or send a question to the inbox.',\n duplicateOf: null,\n fields: ['fullName', 'email', 'phone', 'interest', 'message', 'consent'],\n },\n {\n kind: 'dataset',\n name: 'Programs',\n why: 'The site has no dataset, and programs are a list of like items shown on Home and Our programs.',\n duplicateOf: null,\n fields: ['name', 'summary', 'schedule', 'audience', 'image'],\n },\n {\n kind: 'dataset',\n name: 'Testimonials',\n why: 'Quotes from volunteers, donors and neighbors are a list of like items used as social proof on Home and About.',\n duplicateOf: null,\n fields: ['quote', 'name', 'role'],\n },\n {\n kind: 'dataset',\n name: 'Volunteer roles',\n why: 'Volunteer roles are a list of like items shown on the Get involved page.',\n duplicateOf: null,\n fields: ['role', 'description', 'timeCommitment', 'location'],\n },\n {\n kind: 'dataset',\n name: 'FAQs',\n why: 'Questions and answers are a list of like items for donors and volunteers.',\n duplicateOf: null,\n fields: ['question', 'answer'],\n },\n ],\n screens: [\n {\n title: 'Home',\n slug: '/',\n layout: 'laySite',\n template: null,\n duplicateOf: 'scrStarter',\n nav: true,\n seoTitle: 'Eastside Food Bank | Food for Our Neighbors',\n seoDescription:\n 'Eastside Food Bank is a nonprofit serving our community with groceries and meals. Volunteer, donate or find food support near you.',\n sections: [\n {\n name: 'Hero with donate and volunteer buttons',\n uses: [],\n items: 0,\n },\n {\n name: 'Impact numbers',\n uses: [],\n items: 4,\n },\n {\n name: 'Our programs',\n uses: ['new:Programs'],\n items: 4,\n },\n {\n name: 'Why Eastside Food Bank',\n uses: [],\n items: 3,\n },\n {\n name: 'How you can help',\n uses: [],\n items: 3,\n },\n {\n name: 'Testimonials',\n uses: ['new:Testimonials'],\n items: 3,\n },\n {\n name: 'Closing call to action with form',\n uses: ['new:Get involved form'],\n items: 0,\n },\n ],\n record: null,\n },\n {\n title: 'Our programs',\n slug: '/programs',\n layout: 'laySite',\n template: null,\n duplicateOf: null,\n nav: true,\n seoTitle: 'Our Programs | Eastside Food Bank',\n seoDescription:\n 'Explore Eastside Food Bank programs: food pantry, community meals, mobile pantry and more. See schedules and who each program serves.',\n sections: [\n {\n name: 'Page intro',\n uses: [],\n items: 0,\n },\n {\n name: 'Programs list',\n uses: ['new:Programs'],\n items: 6,\n },\n {\n name: 'Visit the pantry: hours and what to bring',\n uses: [],\n items: 3,\n },\n {\n name: 'Programs FAQ',\n uses: ['new:FAQs'],\n items: 5,\n },\n {\n name: 'Call to action',\n uses: [],\n items: 0,\n },\n ],\n record: null,\n },\n {\n title: 'About',\n slug: '/about',\n layout: 'laySite',\n template: null,\n duplicateOf: null,\n nav: true,\n seoTitle: 'About Eastside Food Bank',\n seoDescription:\n 'Learn about Eastside Food Bank, our mission, our history and the volunteers and partners who help feed our neighbors.',\n sections: [\n {\n name: 'Page intro',\n uses: [],\n items: 0,\n },\n {\n name: 'Our mission and story',\n uses: [],\n items: 0,\n },\n {\n name: 'Values',\n uses: [],\n items: 3,\n },\n {\n name: 'Milestones',\n uses: [],\n items: 4,\n },\n {\n name: 'Community voices',\n uses: ['new:Testimonials'],\n items: 3,\n },\n {\n name: 'Partners and supporters',\n uses: [],\n items: 4,\n },\n {\n name: 'Call to action',\n uses: [],\n items: 0,\n },\n ],\n record: null,\n },\n {\n title: 'Get involved',\n slug: '/get-involved',\n layout: 'laySite',\n template: null,\n duplicateOf: null,\n nav: true,\n seoTitle: 'Get Involved | Eastside Food Bank',\n seoDescription:\n 'Volunteer, donate food or give funds to Eastside Food Bank. Choose a role, see what we need and sign up in minutes.',\n sections: [\n {\n name: 'Page intro',\n uses: [],\n items: 0,\n },\n {\n name: 'Ways to help',\n uses: [],\n items: 3,\n },\n {\n name: 'Volunteer roles',\n uses: ['new:Volunteer roles'],\n items: 5,\n },\n {\n name: 'Most-needed donations',\n uses: [],\n items: 6,\n },\n {\n name: 'Sign-up form',\n uses: ['new:Get involved form'],\n items: 0,\n },\n {\n name: 'Volunteer FAQ',\n uses: ['new:FAQs'],\n items: 4,\n },\n ],\n record: null,\n },\n {\n title: 'Contact',\n slug: '/contact',\n layout: 'laySite',\n template: null,\n duplicateOf: null,\n nav: true,\n seoTitle: 'Contact Eastside Food Bank',\n seoDescription:\n 'Contact Eastside Food Bank with questions about getting food, donating or volunteering. Find our address, hours and phone.',\n sections: [\n {\n name: 'Page intro',\n uses: [],\n items: 0,\n },\n {\n name: 'Contact details: address [address], phone [phone], hours [hours]',\n uses: [],\n items: 3,\n },\n {\n name: 'Contact form',\n uses: ['new:Get involved form'],\n items: 0,\n },\n {\n name: 'Need food today? Help finding a pantry',\n uses: [],\n items: 0,\n },\n ],\n record: null,\n },\n ],\n} as unknown as AiBuildPlan\n"],"names":["AI_DENTAL_SITE_PLAN_FIRST_ANSWER","reuse","kind","id","purpose","create","name","why","duplicateOf","fields","screens","title","slug","layout","template","nav","seoTitle","seoDescription","sections","uses","items","record","AI_FOOD_BANK_SITE_PLAN_FIRST_ANSWER"],"mappings":"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"}
|