@tarileo/avileo-catalog-cli 0.4.0 → 0.4.1

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/dist/index.js CHANGED
@@ -19967,7 +19967,9 @@ var AGENT_CAPABILITY_ACTIONS = [
19967
19967
  "appointments:read",
19968
19968
  "appointments:write",
19969
19969
  "storefront:read",
19970
- "storefront:write"
19970
+ "storefront:write",
19971
+ "appearance:read",
19972
+ "appearance:write"
19971
19973
  ];
19972
19974
  var AgentCapabilityActionSchema = external_exports.enum(AGENT_CAPABILITY_ACTIONS);
19973
19975
  var AGENT_KEY_MODES = ["read", "mutate"];
@@ -19980,7 +19982,8 @@ var AGENT_KEY_READ_ACTIONS = [
19980
19982
  "payments:read",
19981
19983
  "sales:read",
19982
19984
  "appointments:read",
19983
- "storefront:read"
19985
+ "storefront:read",
19986
+ "appearance:read"
19984
19987
  ];
19985
19988
  var AgentGrantedActionsSchema = external_exports.array(AgentCapabilityActionSchema).min(1).max(AGENT_CAPABILITY_ACTIONS.length).refine((actions) => new Set(actions).size === actions.length, {
19986
19989
  message: "Las capacidades no pueden repetirse"
@@ -20995,6 +20998,142 @@ var AvileoAgentDeviceAuthClient = class {
20995
20998
  function createAvileoAgentDeviceAuth(config2 = {}) {
20996
20999
  return new AvileoAgentDeviceAuthClient(new AgentHttpClient(config2));
20997
21000
  }
21001
+ var PUBLIC_PAGE_PALETTE_IDS = [
21002
+ "clasico",
21003
+ "terracotta",
21004
+ "forest",
21005
+ "graphite",
21006
+ "rose",
21007
+ "ocean",
21008
+ "violet",
21009
+ "brasa",
21010
+ "aji",
21011
+ "mercado",
21012
+ "marino"
21013
+ ];
21014
+ var PublicPagePaletteIdSchema = external_exports.enum(PUBLIC_PAGE_PALETTE_IDS);
21015
+ var PUBLIC_PAGE_FONT_IDS = [
21016
+ "inter",
21017
+ "fraunces",
21018
+ "manrope",
21019
+ "archivo",
21020
+ "bricolage"
21021
+ ];
21022
+ var PublicPageFontIdSchema = external_exports.enum(PUBLIC_PAGE_FONT_IDS);
21023
+ var PUBLIC_PAGE_RADIUS_IDS = ["compacto", "suave", "redondeado"];
21024
+ var PublicPageRadiusIdSchema = external_exports.enum(PUBLIC_PAGE_RADIUS_IDS);
21025
+ var PublicPageAppearanceSchema = external_exports.object({
21026
+ paletteId: PublicPagePaletteIdSchema,
21027
+ fontId: PublicPageFontIdSchema,
21028
+ radiusId: PublicPageRadiusIdSchema
21029
+ });
21030
+ var PUBLIC_PAGE_HERO_LIMITS = {
21031
+ maxSlides: 6,
21032
+ eyebrowMax: 40,
21033
+ titleMax: 100,
21034
+ descriptionMax: 240,
21035
+ ctaLabelMax: 50
21036
+ };
21037
+ var PublicPageHeroCtaKindSchema = external_exports.enum(["primary", "whatsapp", "url"]);
21038
+ var PublicPageHeroCtaSchema = external_exports.object({
21039
+ label: external_exports.string().min(1).max(PUBLIC_PAGE_HERO_LIMITS.ctaLabelMax),
21040
+ kind: PublicPageHeroCtaKindSchema,
21041
+ url: external_exports.string().url().startsWith("https://").optional()
21042
+ }).refine(
21043
+ (value) => value.kind === "url" ? typeof value.url === "string" && value.url.length > 0 : true,
21044
+ {
21045
+ message: 'url es requerida cuando kind es "url"',
21046
+ path: ["url"]
21047
+ }
21048
+ ).refine((value) => value.kind !== "url" ? value.url === void 0 : true, {
21049
+ message: 'url solo aplica cuando kind es "url"',
21050
+ path: ["url"]
21051
+ });
21052
+ var PublicPageHeroSlideSchema = external_exports.object({
21053
+ id: external_exports.string().uuid(),
21054
+ imageId: external_exports.string().uuid().nullable(),
21055
+ imageUrl: external_exports.string().url().nullable(),
21056
+ eyebrow: external_exports.string().max(PUBLIC_PAGE_HERO_LIMITS.eyebrowMax).nullable(),
21057
+ title: external_exports.string().min(1).max(PUBLIC_PAGE_HERO_LIMITS.titleMax),
21058
+ description: external_exports.string().max(PUBLIC_PAGE_HERO_LIMITS.descriptionMax).nullable(),
21059
+ cta: PublicPageHeroCtaSchema.nullable()
21060
+ });
21061
+ var PublicPageHeroSchema = external_exports.object({
21062
+ slides: external_exports.array(PublicPageHeroSlideSchema).max(PUBLIC_PAGE_HERO_LIMITS.maxSlides)
21063
+ });
21064
+ var PublicPageHeroViewSlideSchema = PublicPageHeroSlideSchema.omit({ imageId: true });
21065
+ var PublicPageHeroViewSchema = external_exports.object({
21066
+ slides: external_exports.array(PublicPageHeroViewSlideSchema).max(PUBLIC_PAGE_HERO_LIMITS.maxSlides)
21067
+ });
21068
+ var PublicPageHeroSlideInputSchema = external_exports.object({
21069
+ id: external_exports.string().uuid().optional(),
21070
+ imageId: external_exports.string().uuid().nullable().optional(),
21071
+ eyebrow: external_exports.string().max(PUBLIC_PAGE_HERO_LIMITS.eyebrowMax).nullable().optional(),
21072
+ title: external_exports.string().min(1).max(PUBLIC_PAGE_HERO_LIMITS.titleMax),
21073
+ description: external_exports.string().max(PUBLIC_PAGE_HERO_LIMITS.descriptionMax).nullable().optional(),
21074
+ cta: PublicPageHeroCtaSchema.nullable().optional()
21075
+ });
21076
+ var PublicPageHeroInputSchema = external_exports.object({
21077
+ slides: external_exports.array(PublicPageHeroSlideInputSchema).max(PUBLIC_PAGE_HERO_LIMITS.maxSlides)
21078
+ });
21079
+ var PublicPageHeroSlideStoredSchema = external_exports.object({
21080
+ id: external_exports.string().uuid(),
21081
+ imageId: external_exports.string().uuid().nullable(),
21082
+ eyebrow: external_exports.string().max(PUBLIC_PAGE_HERO_LIMITS.eyebrowMax).nullable(),
21083
+ title: external_exports.string().min(1).max(PUBLIC_PAGE_HERO_LIMITS.titleMax),
21084
+ description: external_exports.string().max(PUBLIC_PAGE_HERO_LIMITS.descriptionMax).nullable(),
21085
+ cta: PublicPageHeroCtaSchema.nullable()
21086
+ });
21087
+ var PublicPageHeroStoredSchema = external_exports.object({
21088
+ slides: external_exports.array(PublicPageHeroSlideStoredSchema).max(PUBLIC_PAGE_HERO_LIMITS.maxSlides)
21089
+ });
21090
+ var publicPageAgentVersionSchema = external_exports.literal("1");
21091
+ var PublicPageAgentAppearanceSchema = external_exports.object({
21092
+ paletteId: PublicPagePaletteIdSchema,
21093
+ fontId: PublicPageFontIdSchema,
21094
+ radiusId: PublicPageRadiusIdSchema
21095
+ });
21096
+ var PublicPageAgentAppearanceOptionsSchema = external_exports.object({
21097
+ paletteIds: external_exports.array(PublicPagePaletteIdSchema).default([...PUBLIC_PAGE_PALETTE_IDS]),
21098
+ fontIds: external_exports.array(PublicPageFontIdSchema).default([...PUBLIC_PAGE_FONT_IDS]),
21099
+ radiusIds: external_exports.array(PublicPageRadiusIdSchema).default([...PUBLIC_PAGE_RADIUS_IDS])
21100
+ });
21101
+ var PublicPageAgentAppearanceResponseSchema = external_exports.object({
21102
+ version: publicPageAgentVersionSchema,
21103
+ appearance: PublicPageAgentAppearanceSchema,
21104
+ options: PublicPageAgentAppearanceOptionsSchema
21105
+ });
21106
+ var PublicPageAgentAppearanceUpdateRequestSchema = external_exports.object({
21107
+ paletteId: PublicPagePaletteIdSchema.optional(),
21108
+ fontId: PublicPageFontIdSchema.optional(),
21109
+ radiusId: PublicPageRadiusIdSchema.optional()
21110
+ }).refine(
21111
+ (value) => value.paletteId !== void 0 || value.fontId !== void 0 || value.radiusId !== void 0,
21112
+ { message: "Se requiere al menos un campo de apariencia" }
21113
+ );
21114
+ var PublicPageAgentHeroLimitsSchema = external_exports.object({
21115
+ maxSlides: external_exports.literal(PUBLIC_PAGE_HERO_LIMITS.maxSlides),
21116
+ eyebrowMax: external_exports.literal(PUBLIC_PAGE_HERO_LIMITS.eyebrowMax),
21117
+ titleMax: external_exports.literal(PUBLIC_PAGE_HERO_LIMITS.titleMax),
21118
+ descriptionMax: external_exports.literal(PUBLIC_PAGE_HERO_LIMITS.descriptionMax),
21119
+ ctaLabelMax: external_exports.literal(PUBLIC_PAGE_HERO_LIMITS.ctaLabelMax)
21120
+ });
21121
+ var PublicPageAgentHeroResponseSchema = external_exports.object({
21122
+ version: publicPageAgentVersionSchema,
21123
+ hero: PublicPageHeroSchema,
21124
+ limits: PublicPageAgentHeroLimitsSchema
21125
+ });
21126
+ var PublicPageAgentHeroUpdateRequestSchema = external_exports.object({
21127
+ slides: PublicPageHeroSlideInputSchema.array().max(PUBLIC_PAGE_HERO_LIMITS.maxSlides)
21128
+ });
21129
+ var PublicPageAgentImageResponseSchema = external_exports.object({
21130
+ version: publicPageAgentVersionSchema,
21131
+ image: external_exports.object({
21132
+ id: external_exports.string().uuid(),
21133
+ url: external_exports.string().url()
21134
+ })
21135
+ });
21136
+ var PUBLIC_PAGE_HERO_IMAGE_MAX_BYTES = 5 * 1024 * 1024;
20998
21137
  function queryString(input2) {
20999
21138
  const query = new URLSearchParams();
21000
21139
  for (const [key, value] of Object.entries(input2)) {
@@ -21379,6 +21518,47 @@ var AgentStorefrontResource = class {
21379
21518
  return this.http.request("/api/v1/agent/storefront/publication");
21380
21519
  }
21381
21520
  };
21521
+ var AgentPublicPageResource = class {
21522
+ constructor(http) {
21523
+ this.http = http;
21524
+ }
21525
+ http;
21526
+ async getAppearance() {
21527
+ const result = await this.http.request("/api/v1/agent/appearance");
21528
+ return PublicPageAgentAppearanceResponseSchema.parse(result);
21529
+ }
21530
+ async updateAppearance(input2) {
21531
+ const body = PublicPageAgentAppearanceUpdateRequestSchema.parse(input2);
21532
+ const result = await this.http.request("/api/v1/agent/appearance", {
21533
+ method: "PATCH",
21534
+ body,
21535
+ dispatchIdempotency: true
21536
+ });
21537
+ return PublicPageAgentAppearanceResponseSchema.parse(result);
21538
+ }
21539
+ async getHero() {
21540
+ const result = await this.http.request("/api/v1/agent/hero");
21541
+ return PublicPageAgentHeroResponseSchema.parse(result);
21542
+ }
21543
+ async putHero(input2) {
21544
+ const result = await this.http.request("/api/v1/agent/hero", {
21545
+ method: "PUT",
21546
+ body: input2,
21547
+ dispatchIdempotency: true
21548
+ });
21549
+ return PublicPageAgentHeroResponseSchema.parse(result);
21550
+ }
21551
+ async uploadHeroImage(file2) {
21552
+ const body = new FormData();
21553
+ body.set("file", file2);
21554
+ const result = await this.http.request("/api/v1/agent/hero/images", {
21555
+ method: "POST",
21556
+ body,
21557
+ dispatchIdempotency: true
21558
+ });
21559
+ return PublicPageAgentImageResponseSchema.parse(result);
21560
+ }
21561
+ };
21382
21562
  var AgentPaymentMethodListSchema = external_exports.array(AgentPaymentMethodDtoSchema);
21383
21563
  var AgentPaymentMethodsResource = class {
21384
21564
  constructor(http) {
@@ -21473,6 +21653,7 @@ function createAvileoAgent(config2) {
21473
21653
  imports: new AgentImportsResource(http),
21474
21654
  appointments: new AgentAppointmentsResource(http),
21475
21655
  storefront: new AgentStorefrontResource(http),
21656
+ publicPage: new AgentPublicPageResource(http),
21476
21657
  paymentLinks: new AgentPaymentLinksResource(http),
21477
21658
  paymentMethods: new AgentPaymentMethodsResource(http)
21478
21659
  };
@@ -23039,6 +23220,196 @@ function registerSalesCommands(root, getClient) {
23039
23220
  });
23040
23221
  }
23041
23222
 
23223
+ // ../../../tari/public-page/src/appearance.ts
23224
+ var PUBLIC_PAGE_PALETTE_IDS2 = [
23225
+ "clasico",
23226
+ "terracotta",
23227
+ "forest",
23228
+ "graphite",
23229
+ "rose",
23230
+ "ocean",
23231
+ "violet",
23232
+ "brasa",
23233
+ "aji",
23234
+ "mercado",
23235
+ "marino"
23236
+ ];
23237
+ var PublicPagePaletteIdSchema2 = external_exports.enum(PUBLIC_PAGE_PALETTE_IDS2);
23238
+ var PUBLIC_PAGE_FONT_IDS2 = [
23239
+ "inter",
23240
+ "fraunces",
23241
+ "manrope",
23242
+ "archivo",
23243
+ "bricolage"
23244
+ ];
23245
+ var PublicPageFontIdSchema2 = external_exports.enum(PUBLIC_PAGE_FONT_IDS2);
23246
+ var PUBLIC_PAGE_RADIUS_IDS2 = ["compacto", "suave", "redondeado"];
23247
+ var PublicPageRadiusIdSchema2 = external_exports.enum(PUBLIC_PAGE_RADIUS_IDS2);
23248
+ var PublicPageAppearanceSchema2 = external_exports.object({
23249
+ paletteId: PublicPagePaletteIdSchema2,
23250
+ fontId: PublicPageFontIdSchema2,
23251
+ radiusId: PublicPageRadiusIdSchema2
23252
+ });
23253
+
23254
+ // ../../../tari/public-page/src/hero.ts
23255
+ var PUBLIC_PAGE_HERO_LIMITS2 = {
23256
+ maxSlides: 6,
23257
+ eyebrowMax: 40,
23258
+ titleMax: 100,
23259
+ descriptionMax: 240,
23260
+ ctaLabelMax: 50
23261
+ };
23262
+ var PublicPageHeroCtaKindSchema2 = external_exports.enum(["primary", "whatsapp", "url"]);
23263
+ var PublicPageHeroCtaSchema2 = external_exports.object({
23264
+ label: external_exports.string().min(1).max(PUBLIC_PAGE_HERO_LIMITS2.ctaLabelMax),
23265
+ kind: PublicPageHeroCtaKindSchema2,
23266
+ url: external_exports.string().url().startsWith("https://").optional()
23267
+ }).refine(
23268
+ (value) => value.kind === "url" ? typeof value.url === "string" && value.url.length > 0 : true,
23269
+ {
23270
+ message: 'url es requerida cuando kind es "url"',
23271
+ path: ["url"]
23272
+ }
23273
+ ).refine((value) => value.kind !== "url" ? value.url === void 0 : true, {
23274
+ message: 'url solo aplica cuando kind es "url"',
23275
+ path: ["url"]
23276
+ });
23277
+ var PublicPageHeroSlideSchema2 = external_exports.object({
23278
+ id: external_exports.string().uuid(),
23279
+ imageId: external_exports.string().uuid().nullable(),
23280
+ imageUrl: external_exports.string().url().nullable(),
23281
+ eyebrow: external_exports.string().max(PUBLIC_PAGE_HERO_LIMITS2.eyebrowMax).nullable(),
23282
+ title: external_exports.string().min(1).max(PUBLIC_PAGE_HERO_LIMITS2.titleMax),
23283
+ description: external_exports.string().max(PUBLIC_PAGE_HERO_LIMITS2.descriptionMax).nullable(),
23284
+ cta: PublicPageHeroCtaSchema2.nullable()
23285
+ });
23286
+ var PublicPageHeroSchema2 = external_exports.object({
23287
+ slides: external_exports.array(PublicPageHeroSlideSchema2).max(PUBLIC_PAGE_HERO_LIMITS2.maxSlides)
23288
+ });
23289
+ var PublicPageHeroViewSlideSchema2 = PublicPageHeroSlideSchema2.omit({ imageId: true });
23290
+ var PublicPageHeroViewSchema2 = external_exports.object({
23291
+ slides: external_exports.array(PublicPageHeroViewSlideSchema2).max(PUBLIC_PAGE_HERO_LIMITS2.maxSlides)
23292
+ });
23293
+ var PublicPageHeroSlideInputSchema2 = external_exports.object({
23294
+ id: external_exports.string().uuid().optional(),
23295
+ imageId: external_exports.string().uuid().nullable().optional(),
23296
+ eyebrow: external_exports.string().max(PUBLIC_PAGE_HERO_LIMITS2.eyebrowMax).nullable().optional(),
23297
+ title: external_exports.string().min(1).max(PUBLIC_PAGE_HERO_LIMITS2.titleMax),
23298
+ description: external_exports.string().max(PUBLIC_PAGE_HERO_LIMITS2.descriptionMax).nullable().optional(),
23299
+ cta: PublicPageHeroCtaSchema2.nullable().optional()
23300
+ });
23301
+ var PublicPageHeroInputSchema2 = external_exports.object({
23302
+ slides: external_exports.array(PublicPageHeroSlideInputSchema2).max(PUBLIC_PAGE_HERO_LIMITS2.maxSlides)
23303
+ });
23304
+ var PublicPageHeroSlideStoredSchema2 = external_exports.object({
23305
+ id: external_exports.string().uuid(),
23306
+ imageId: external_exports.string().uuid().nullable(),
23307
+ eyebrow: external_exports.string().max(PUBLIC_PAGE_HERO_LIMITS2.eyebrowMax).nullable(),
23308
+ title: external_exports.string().min(1).max(PUBLIC_PAGE_HERO_LIMITS2.titleMax),
23309
+ description: external_exports.string().max(PUBLIC_PAGE_HERO_LIMITS2.descriptionMax).nullable(),
23310
+ cta: PublicPageHeroCtaSchema2.nullable()
23311
+ });
23312
+ var PublicPageHeroStoredSchema2 = external_exports.object({
23313
+ slides: external_exports.array(PublicPageHeroSlideStoredSchema2).max(PUBLIC_PAGE_HERO_LIMITS2.maxSlides)
23314
+ });
23315
+
23316
+ // ../../../tari/public-page/src/agent-contracts.ts
23317
+ var publicPageAgentVersionSchema2 = external_exports.literal("1");
23318
+ var PublicPageAgentAppearanceSchema2 = external_exports.object({
23319
+ paletteId: PublicPagePaletteIdSchema2,
23320
+ fontId: PublicPageFontIdSchema2,
23321
+ radiusId: PublicPageRadiusIdSchema2
23322
+ });
23323
+ var PublicPageAgentAppearanceOptionsSchema2 = external_exports.object({
23324
+ paletteIds: external_exports.array(PublicPagePaletteIdSchema2).default([...PUBLIC_PAGE_PALETTE_IDS2]),
23325
+ fontIds: external_exports.array(PublicPageFontIdSchema2).default([...PUBLIC_PAGE_FONT_IDS2]),
23326
+ radiusIds: external_exports.array(PublicPageRadiusIdSchema2).default([...PUBLIC_PAGE_RADIUS_IDS2])
23327
+ });
23328
+ var PublicPageAgentAppearanceResponseSchema2 = external_exports.object({
23329
+ version: publicPageAgentVersionSchema2,
23330
+ appearance: PublicPageAgentAppearanceSchema2,
23331
+ options: PublicPageAgentAppearanceOptionsSchema2
23332
+ });
23333
+ var PublicPageAgentAppearanceUpdateRequestSchema2 = external_exports.object({
23334
+ paletteId: PublicPagePaletteIdSchema2.optional(),
23335
+ fontId: PublicPageFontIdSchema2.optional(),
23336
+ radiusId: PublicPageRadiusIdSchema2.optional()
23337
+ }).refine(
23338
+ (value) => value.paletteId !== void 0 || value.fontId !== void 0 || value.radiusId !== void 0,
23339
+ { message: "Se requiere al menos un campo de apariencia" }
23340
+ );
23341
+ var PublicPageAgentHeroLimitsSchema2 = external_exports.object({
23342
+ maxSlides: external_exports.literal(PUBLIC_PAGE_HERO_LIMITS2.maxSlides),
23343
+ eyebrowMax: external_exports.literal(PUBLIC_PAGE_HERO_LIMITS2.eyebrowMax),
23344
+ titleMax: external_exports.literal(PUBLIC_PAGE_HERO_LIMITS2.titleMax),
23345
+ descriptionMax: external_exports.literal(PUBLIC_PAGE_HERO_LIMITS2.descriptionMax),
23346
+ ctaLabelMax: external_exports.literal(PUBLIC_PAGE_HERO_LIMITS2.ctaLabelMax)
23347
+ });
23348
+ var PublicPageAgentHeroResponseSchema2 = external_exports.object({
23349
+ version: publicPageAgentVersionSchema2,
23350
+ hero: PublicPageHeroSchema2,
23351
+ limits: PublicPageAgentHeroLimitsSchema2
23352
+ });
23353
+ var PublicPageAgentHeroUpdateRequestSchema2 = external_exports.object({
23354
+ slides: PublicPageHeroSlideInputSchema2.array().max(PUBLIC_PAGE_HERO_LIMITS2.maxSlides)
23355
+ });
23356
+ var PublicPageAgentImageResponseSchema2 = external_exports.object({
23357
+ version: publicPageAgentVersionSchema2,
23358
+ image: external_exports.object({
23359
+ id: external_exports.string().uuid(),
23360
+ url: external_exports.string().url()
23361
+ })
23362
+ });
23363
+ var PUBLIC_PAGE_HERO_IMAGE_MAX_BYTES2 = 5 * 1024 * 1024;
23364
+
23365
+ // src/commands/public-page.ts
23366
+ function registerPublicPageCommands(root, getClient) {
23367
+ const publicPage = root.command("appearance").description("Consulta o cambia los colores, tipograf\xEDa y esquinas de la p\xE1gina p\xFAblica");
23368
+ publicPage.command("show").description("Muestra la apariencia actual y las opciones disponibles").action(async () => {
23369
+ emitSuccess(await getClient().publicPage.getAppearance());
23370
+ });
23371
+ publicPage.command("set").description("Cambia la paleta, tipograf\xEDa o radio de la p\xE1gina p\xFAblica").option("--palette <id>", "Id de paleta (ver `appearance show` para las opciones)").option("--font <id>", "Id de tipograf\xEDa de t\xEDtulos").option("--radius <id>", "Id de forma de esquinas").action(async (options) => {
23372
+ if (!options.palette && !options.font && !options.radius) {
23373
+ throw new CliProtocolError(
23374
+ "CLI_VALIDATION_ERROR",
23375
+ "Indica al menos uno de --palette, --font o --radius"
23376
+ );
23377
+ }
23378
+ const parsed = PublicPageAgentAppearanceUpdateRequestSchema2.safeParse({
23379
+ ...options.palette ? { paletteId: options.palette } : {},
23380
+ ...options.font ? { fontId: options.font } : {},
23381
+ ...options.radius ? { radiusId: options.radius } : {}
23382
+ });
23383
+ if (!parsed.success) {
23384
+ throw new CliProtocolError(
23385
+ "CLI_VALIDATION_ERROR",
23386
+ "Id de paleta, tipograf\xEDa o radio inv\xE1lido: usa `appearance show` para ver las opciones"
23387
+ );
23388
+ }
23389
+ emitSuccess(await getClient().publicPage.updateAppearance(parsed.data));
23390
+ });
23391
+ const hero = root.command("hero").description("Consulta o cambia las diapositivas de inicio de la p\xE1gina p\xFAblica");
23392
+ hero.command("show").description("Muestra las diapositivas y los l\xEDmites vigentes").action(async () => {
23393
+ emitSuccess(await getClient().publicPage.getHero());
23394
+ });
23395
+ hero.command("set").description("Reemplaza la lista completa de diapositivas").requiredOption("--file <json-file>", 'Objeto JSON con {"slides": [...]}').action(async (options) => {
23396
+ const input2 = await readMutationInput(options.file);
23397
+ const parsed = PublicPageAgentHeroUpdateRequestSchema2.safeParse(input2);
23398
+ if (!parsed.success) {
23399
+ throw new CliProtocolError(
23400
+ "CLI_VALIDATION_ERROR",
23401
+ "El archivo debe contener { slides: [...] } v\xE1lido (hasta 6 diapositivas, cada una con t\xEDtulo)"
23402
+ );
23403
+ }
23404
+ emitSuccess(await getClient().publicPage.putHero(parsed.data));
23405
+ });
23406
+ const heroImage = hero.command("image").description("Sube una imagen para usarla en una diapositiva de inicio");
23407
+ heroImage.command("upload <file>").description("Sube un archivo local (JPEG/PNG/WebP, m\xE1x. 5 MB) y devuelve su id y URL p\xFAblica").action(async (file2) => {
23408
+ const image = await readImage(file2, PUBLIC_PAGE_HERO_IMAGE_MAX_BYTES2);
23409
+ emitSuccess(await getClient().publicPage.uploadHeroImage(image));
23410
+ });
23411
+ }
23412
+
23042
23413
  // src/commands/auth.ts
23043
23414
  import { spawn } from "child_process";
23044
23415
  import { dirname as dirname3 } from "path";
@@ -23503,6 +23874,7 @@ function createProgram(options = {}) {
23503
23874
  registerCatalogCommands(program, getClient);
23504
23875
  registerAppointmentsCommands(program, getClient);
23505
23876
  registerStorefrontCommands(program, getClient);
23877
+ registerPublicPageCommands(program, getClient);
23506
23878
  const operation = program.command("operation").description("Consulta y aplica operaciones aprobadas en Avileo");
23507
23879
  registerOperationBatchCommands(operation, getClient);
23508
23880
  operation.command("status <id>").description("Consulta el estado de una operaci\xF3n").action(async (id) => {