@ctonti/ask-golf-veneto 1.0.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.
Files changed (50) hide show
  1. package/dist/app-0PjpnX92.d.mts +16 -0
  2. package/dist/app-0PjpnX92.d.mts.map +1 -0
  3. package/dist/app-DWg095Qd.mjs +150 -0
  4. package/dist/app-DWg095Qd.mjs.map +1 -0
  5. package/dist/app-Daoze0po.cjs +189 -0
  6. package/dist/app-DzCpb5z9.d.cts +16 -0
  7. package/dist/app-DzCpb5z9.d.cts.map +1 -0
  8. package/dist/catalog-BlF_Hq2u.mjs +344 -0
  9. package/dist/catalog-BlF_Hq2u.mjs.map +1 -0
  10. package/dist/catalog-englM86y.cjs +362 -0
  11. package/dist/exports/browser.cjs +3 -0
  12. package/dist/exports/browser.d.cts +2 -0
  13. package/dist/exports/browser.d.mts +2 -0
  14. package/dist/exports/browser.mjs +2 -0
  15. package/dist/exports/catalog.cjs +5 -0
  16. package/dist/exports/catalog.d.cts +676 -0
  17. package/dist/exports/catalog.d.cts.map +1 -0
  18. package/dist/exports/catalog.d.mts +676 -0
  19. package/dist/exports/catalog.d.mts.map +1 -0
  20. package/dist/exports/catalog.mjs +2 -0
  21. package/dist/exports/client.cjs +10 -0
  22. package/dist/exports/client.d.cts +48 -0
  23. package/dist/exports/client.d.cts.map +1 -0
  24. package/dist/exports/client.d.mts +48 -0
  25. package/dist/exports/client.d.mts.map +1 -0
  26. package/dist/exports/client.mjs +3 -0
  27. package/dist/exports/registry.cjs +6 -0
  28. package/dist/exports/registry.d.cts +12 -0
  29. package/dist/exports/registry.d.cts.map +1 -0
  30. package/dist/exports/registry.d.mts +12 -0
  31. package/dist/exports/registry.d.mts.map +1 -0
  32. package/dist/exports/registry.mjs +2 -0
  33. package/dist/globals.css +91 -0
  34. package/dist/index.cjs +6 -0
  35. package/dist/index.d.cts +3 -0
  36. package/dist/index.d.mts +3 -0
  37. package/dist/index.mjs +3 -0
  38. package/dist/plugin-B0vGrWcM.d.cts +7 -0
  39. package/dist/plugin-B0vGrWcM.d.cts.map +1 -0
  40. package/dist/plugin-BdhObzU8.cjs +14 -0
  41. package/dist/plugin-DYfnXStA.mjs +11 -0
  42. package/dist/plugin-DYfnXStA.mjs.map +1 -0
  43. package/dist/plugin-X9b5Ujac.d.mts +7 -0
  44. package/dist/plugin-X9b5Ujac.d.mts.map +1 -0
  45. package/dist/postcss.config.mjs +5 -0
  46. package/dist/registry-Bq-3Pbqd.mjs +1211 -0
  47. package/dist/registry-Bq-3Pbqd.mjs.map +1 -0
  48. package/dist/registry-E8Of7gsT.cjs +1261 -0
  49. package/dist/styles.css +2354 -0
  50. package/package.json +102 -0
@@ -0,0 +1,362 @@
1
+ require("./registry-E8Of7gsT.cjs");
2
+ let _json_render_core = require("@json-render/core");
3
+ let _json_render_react_schema = require("@json-render/react/schema");
4
+ let zod = require("zod");
5
+ //#region src/catalog.ts
6
+ const pluginSchema = {
7
+ components: {
8
+ Root: {
9
+ props: zod.z.object({}),
10
+ slots: ["default"],
11
+ description: "Root container for the page, provides vertical spacing between sections. Initially populate it with one dedicated skeleton component per planned section, then replace each with the real content when ready."
12
+ },
13
+ HeroViaggioSkeleton: {
14
+ props: zod.z.object({}),
15
+ description: "Skeleton loading state for HeroViaggio."
16
+ },
17
+ HeroViaggio: {
18
+ props: zod.z.object({
19
+ title: zod.z.string(),
20
+ tagline: zod.z.string().nullable(),
21
+ stats: zod.z.array(zod.z.object({
22
+ label: zod.z.string(),
23
+ value: zod.z.string()
24
+ })).nullable(),
25
+ imageSrc: zod.z.string().nullable(),
26
+ imageGenerateQuery: zod.z.string().nullable()
27
+ }),
28
+ composable: true,
29
+ description: "Full-width immersive hero for travel proposals. Large serif italic title, inspirational tagline, trip stats badges. ALWAYS use as the FIRST section.",
30
+ example: {
31
+ title: "Golf, Arte e Prosecco",
32
+ tagline: "Sette giorni tra i fairway e i borghi più belli del Veneto",
33
+ stats: [
34
+ {
35
+ label: "Giorni",
36
+ value: "7"
37
+ },
38
+ {
39
+ label: "Golf Club",
40
+ value: "4"
41
+ },
42
+ {
43
+ label: "Regioni",
44
+ value: "Veneto"
45
+ }
46
+ ]
47
+ }
48
+ },
49
+ ConceptCardSkeleton: {
50
+ props: zod.z.object({}),
51
+ description: "Skeleton loading state for ConceptCard."
52
+ },
53
+ ConceptCard: {
54
+ props: zod.z.object({
55
+ debrief: zod.z.string(),
56
+ concept: zod.z.string(),
57
+ themes: zod.z.array(zod.z.object({
58
+ icon: zod.z.string(),
59
+ label: zod.z.string()
60
+ }))
61
+ }),
62
+ description: "Trip debrief and creative concept card. Shows the understood request on the left, the trip philosophy on the right, and theme tags at the bottom. Use after HeroViaggio to set the narrative.",
63
+ example: {
64
+ debrief: "Hai chiesto 7 giorni in Veneto per due, con golf e vino.",
65
+ concept: "Un viaggio che intreccia swing al tramonto e calici di Amarone.",
66
+ themes: [{
67
+ icon: "golf",
68
+ label: "Golf"
69
+ }, {
70
+ icon: "wine",
71
+ label: "Vino"
72
+ }]
73
+ }
74
+ },
75
+ DayPlanSkeleton: {
76
+ props: zod.z.object({}),
77
+ description: "Skeleton loading state for DayPlan."
78
+ },
79
+ DayPlan: {
80
+ props: zod.z.object({
81
+ dayNumber: zod.z.number(),
82
+ title: zod.z.string(),
83
+ location: zod.z.string(),
84
+ golf: zod.z.object({
85
+ clubName: zod.z.string(),
86
+ holes: zod.z.string(),
87
+ par: zod.z.string(),
88
+ description: zod.z.string(),
89
+ highlight: zod.z.string().nullable()
90
+ }).nullable(),
91
+ explore: zod.z.array(zod.z.object({
92
+ name: zod.z.string(),
93
+ description: zod.z.string(),
94
+ type: zod.z.string()
95
+ })).nullable(),
96
+ dine: zod.z.object({
97
+ name: zod.z.string(),
98
+ cuisine: zod.z.string(),
99
+ dish: zod.z.string(),
100
+ description: zod.z.string()
101
+ }).nullable(),
102
+ wine: zod.z.object({
103
+ name: zod.z.string(),
104
+ description: zod.z.string(),
105
+ wines: zod.z.array(zod.z.string())
106
+ }).nullable(),
107
+ stay: zod.z.object({
108
+ name: zod.z.string(),
109
+ type: zod.z.string(),
110
+ description: zod.z.string()
111
+ }).nullable(),
112
+ logistics: zod.z.object({
113
+ from: zod.z.string(),
114
+ to: zod.z.string(),
115
+ time: zod.z.string(),
116
+ transport: zod.z.string(),
117
+ note: zod.z.string().nullable()
118
+ }).nullable(),
119
+ curiosity: zod.z.string().nullable()
120
+ }),
121
+ description: "Day-by-day itinerary card. THE CORE COMPONENT. Shows a complete day with golf, exploration, dining, wine, accommodation, logistics, and curiosities. Use ONE DayPlan per day. Each day is a chapter.",
122
+ example: {
123
+ dayNumber: 1,
124
+ title: "Venezia e il Golf al Lido",
125
+ location: "Venezia",
126
+ golf: {
127
+ clubName: "Circolo Golf Venezia",
128
+ holes: "18",
129
+ par: "72",
130
+ description: "Fondato da Henry Ford nel 1929, uno dei circoli più prestigiosi d'Italia.",
131
+ highlight: "Links affacciato sulla laguna"
132
+ },
133
+ explore: [{
134
+ name: "Piazza San Marco",
135
+ description: "Il cuore di Venezia.",
136
+ type: "arte"
137
+ }],
138
+ dine: {
139
+ name: "Osteria alle Testiere",
140
+ cuisine: "Veneziana di pesce",
141
+ dish: "Sarde in saór",
142
+ description: "Intima osteria con 10 tavoli."
143
+ },
144
+ wine: null,
145
+ stay: {
146
+ name: "Hotel Danieli",
147
+ type: "hotel",
148
+ description: "Lusso affacciato sul Bacino."
149
+ },
150
+ logistics: {
151
+ from: "Aeroporto Marco Polo",
152
+ to: "Venezia Lido",
153
+ time: "50 min",
154
+ transport: "boat",
155
+ note: "Vaporetto linea 1"
156
+ },
157
+ curiosity: "Il campo è uno dei pochi links italiani."
158
+ }
159
+ },
160
+ GolfClubSpotlightSkeleton: {
161
+ props: zod.z.object({}),
162
+ description: "Skeleton loading state for GolfClubSpotlight."
163
+ },
164
+ GolfClubSpotlight: {
165
+ props: zod.z.object({
166
+ name: zod.z.string(),
167
+ tagline: zod.z.string().nullable(),
168
+ holes: zod.z.number(),
169
+ par: zod.z.number(),
170
+ courses: zod.z.number(),
171
+ distance: zod.z.string(),
172
+ difficulty: zod.z.string(),
173
+ terrain: zod.z.string(),
174
+ description: zod.z.string(),
175
+ address: zod.z.string(),
176
+ phone: zod.z.string().nullable(),
177
+ email: zod.z.string().nullable(),
178
+ imageSrc: zod.z.string().nullable(),
179
+ imageGenerateQuery: zod.z.string().nullable(),
180
+ nearbyAttractions: zod.z.array(zod.z.object({
181
+ name: zod.z.string(),
182
+ distance: zod.z.string()
183
+ })).nullable()
184
+ }),
185
+ description: "Detailed golf club spotlight card with stats grid, atmospheric description, and nearby attractions. Use when the user asks about a specific golf club."
186
+ },
187
+ ExperienceGridSkeleton: {
188
+ props: zod.z.object({}),
189
+ description: "Skeleton loading state for ExperienceGrid."
190
+ },
191
+ ExperienceGrid: {
192
+ props: zod.z.object({
193
+ title: zod.z.string().nullable(),
194
+ subtitle: zod.z.string().nullable(),
195
+ experiences: zod.z.array(zod.z.object({
196
+ category: zod.z.string(),
197
+ name: zod.z.string(),
198
+ location: zod.z.string(),
199
+ description: zod.z.string(),
200
+ highlight: zod.z.string().nullable()
201
+ }))
202
+ }),
203
+ composable: true,
204
+ description: "Grid of experience cards categorized by type (wine, food, art, nature, family, outdoor, wellness). Responsive 1→2→3 column grid with colored category badges."
205
+ },
206
+ RouteStripSkeleton: {
207
+ props: zod.z.object({}),
208
+ description: "Skeleton loading state for RouteStrip."
209
+ },
210
+ RouteStrip: {
211
+ props: zod.z.object({
212
+ title: zod.z.string().nullable(),
213
+ legs: zod.z.array(zod.z.object({
214
+ from: zod.z.string(),
215
+ to: zod.z.string(),
216
+ distance: zod.z.string(),
217
+ time: zod.z.string(),
218
+ transport: zod.z.string(),
219
+ note: zod.z.string().nullable()
220
+ }))
221
+ }),
222
+ description: "Visual logistics strip showing journey legs with transport icons, distances and times. Horizontal on desktop, vertical timeline on mobile."
223
+ },
224
+ TasteCardSkeleton: {
225
+ props: zod.z.object({}),
226
+ description: "Skeleton loading state for TasteCard."
227
+ },
228
+ TasteCard: {
229
+ props: zod.z.object({
230
+ type: zod.z.string(),
231
+ name: zod.z.string(),
232
+ location: zod.z.string(),
233
+ description: zod.z.string(),
234
+ highlights: zod.z.array(zod.z.string()),
235
+ recommendation: zod.z.string(),
236
+ imageSrc: zod.z.string().nullable(),
237
+ imageGenerateQuery: zod.z.string().nullable()
238
+ }),
239
+ description: "Wine & food experience card with image, highlights chips, and recommendation box. Use for featured culinary or wine experiences."
240
+ },
241
+ StayCardSkeleton: {
242
+ props: zod.z.object({}),
243
+ description: "Skeleton loading state for StayCard."
244
+ },
245
+ StayCard: {
246
+ props: zod.z.object({
247
+ name: zod.z.string(),
248
+ type: zod.z.string(),
249
+ stars: zod.z.number().nullable(),
250
+ location: zod.z.string(),
251
+ features: zod.z.array(zod.z.string()),
252
+ whyPerfect: zod.z.string(),
253
+ priceRange: zod.z.string().nullable(),
254
+ imageSrc: zod.z.string().nullable(),
255
+ imageGenerateQuery: zod.z.string().nullable()
256
+ }),
257
+ description: "Accommodation recommendation card with type badge, star rating, features, and reasoning. Premium styling with gold borders."
258
+ },
259
+ TripSummarySkeleton: {
260
+ props: zod.z.object({}),
261
+ description: "Skeleton loading state for TripSummary."
262
+ },
263
+ TripSummary: {
264
+ props: zod.z.object({
265
+ title: zod.z.string().nullable(),
266
+ stats: zod.z.array(zod.z.object({
267
+ label: zod.z.string(),
268
+ value: zod.z.string()
269
+ })),
270
+ highlights: zod.z.array(zod.z.string()),
271
+ closingMessage: zod.z.string(),
272
+ ctaText: zod.z.string().nullable()
273
+ }),
274
+ description: "Trip summary section with dark green background. Stats grid, highlights checklist, closing message, and CTA. ALWAYS use as the LAST section."
275
+ },
276
+ InsiderTipSkeleton: {
277
+ props: zod.z.object({}),
278
+ description: "Skeleton loading state for InsiderTip."
279
+ },
280
+ InsiderTip: {
281
+ props: zod.z.object({
282
+ title: zod.z.string(),
283
+ text: zod.z.string(),
284
+ source: zod.z.string().nullable()
285
+ }),
286
+ description: "Local curiosity/insider tip callout box. Light green background with left accent border. Use to add character and local knowledge."
287
+ },
288
+ Link: {
289
+ props: zod.z.object({
290
+ label: zod.z.string(),
291
+ href: zod.z.string(),
292
+ variant: zod.z.enum([
293
+ "primary",
294
+ "secondary",
295
+ "outline",
296
+ "danger"
297
+ ]).nullable()
298
+ }),
299
+ events: ["press"],
300
+ description: "Anchor link. primary = solid fill, outline = bordered, secondary = muted fill. Bind on.press for handler.",
301
+ example: {
302
+ label: "Scopri il club",
303
+ href: "https://golfinveneto.it",
304
+ variant: "primary"
305
+ }
306
+ }
307
+ },
308
+ actions: {
309
+ setState: {
310
+ params: zod.z.object({
311
+ statePath: zod.z.string(),
312
+ value: zod.z.unknown()
313
+ }),
314
+ description: "Update a value in the state model at the given statePath."
315
+ },
316
+ pushState: {
317
+ params: zod.z.object({
318
+ statePath: zod.z.string(),
319
+ value: zod.z.unknown(),
320
+ clearStatePath: zod.z.string().optional()
321
+ }),
322
+ description: "Append an item to an array in state."
323
+ },
324
+ removeState: {
325
+ params: zod.z.object({
326
+ statePath: zod.z.string(),
327
+ index: zod.z.number()
328
+ }),
329
+ description: "Remove an item from an array in state at the given index."
330
+ },
331
+ linkClick: {
332
+ params: zod.z.object({ href: zod.z.string() }),
333
+ description: "Navigate to the link destination."
334
+ }
335
+ }
336
+ };
337
+ const catalog = (0, _json_render_core.defineCatalog)(_json_render_react_schema.schema, pluginSchema);
338
+ function getSystemPrompt(options) {
339
+ return catalog.prompt(options);
340
+ }
341
+ function getSystemPromptInline(options = { mode: "inline" }) {
342
+ return catalog.prompt(options);
343
+ }
344
+ //#endregion
345
+ Object.defineProperty(exports, "catalog", {
346
+ enumerable: true,
347
+ get: function() {
348
+ return catalog;
349
+ }
350
+ });
351
+ Object.defineProperty(exports, "getSystemPrompt", {
352
+ enumerable: true,
353
+ get: function() {
354
+ return getSystemPrompt;
355
+ }
356
+ });
357
+ Object.defineProperty(exports, "getSystemPromptInline", {
358
+ enumerable: true,
359
+ get: function() {
360
+ return getSystemPromptInline;
361
+ }
362
+ });
@@ -0,0 +1,3 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_plugin = require("../plugin-BdhObzU8.cjs");
3
+ exports.askGolfVeneto = require_plugin.askGolfVeneto;
@@ -0,0 +1,2 @@
1
+ import { t as askGolfVeneto } from "../plugin-B0vGrWcM.cjs";
2
+ export { askGolfVeneto };
@@ -0,0 +1,2 @@
1
+ import { t as askGolfVeneto } from "../plugin-X9b5Ujac.mjs";
2
+ export { askGolfVeneto };
@@ -0,0 +1,2 @@
1
+ import { t as askGolfVeneto } from "../plugin-DYfnXStA.mjs";
2
+ export { askGolfVeneto };
@@ -0,0 +1,5 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_catalog = require("../catalog-englM86y.cjs");
3
+ exports.catalog = require_catalog.catalog;
4
+ exports.getSystemPrompt = require_catalog.getSystemPrompt;
5
+ exports.getSystemPromptInline = require_catalog.getSystemPromptInline;