ponch-mcp-server 1.0.82 → 1.0.83

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
@@ -10372,6 +10372,31 @@ var OrigenRutinaInputSchema = import_zod30.z.object({
10372
10372
  conversacionId: import_zod30.z.string().nullable().describe("Conversation ID when tipo=conversacion. Pass null otherwise."),
10373
10373
  cardId: import_zod30.z.string().nullable().describe("Card ID when tipo=feedback_card. Pass null otherwise.")
10374
10374
  }).strict();
10375
+ var DIA_SEMANA_ES = ["domingo", "lunes", "martes", "mi\xE9rcoles", "jueves", "viernes", "s\xE1bado"];
10376
+ var DIA_SEMANA_EN = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
10377
+ function describeFrecuenciaForCopy(frecuencia, config, locale) {
10378
+ const en = locale === "en";
10379
+ switch (frecuencia) {
10380
+ case "puntual":
10381
+ return en ? `scheduled for ${config.fechaPuntual}` : `programada para ${config.fechaPuntual}`;
10382
+ case "diaria":
10383
+ return en ? `every day at ${config.hora}` : `cada d\xEDa a las ${config.hora}`;
10384
+ case "semanal": {
10385
+ const idx = config.diaSemana ?? 0;
10386
+ const dia = (en ? DIA_SEMANA_EN : DIA_SEMANA_ES)[idx];
10387
+ return en ? `every ${dia} at ${config.hora}` : `cada ${dia} a las ${config.hora}`;
10388
+ }
10389
+ case "quincenal": {
10390
+ const idx = config.diaSemana ?? 0;
10391
+ const dia = (en ? DIA_SEMANA_EN : DIA_SEMANA_ES)[idx];
10392
+ return en ? `every other ${dia} at ${config.hora}` : `cada quincena los ${dia} a las ${config.hora}`;
10393
+ }
10394
+ case "mensual":
10395
+ return en ? `on day ${config.diaMes} of every month at ${config.hora}` : `el d\xEDa ${config.diaMes} de cada mes a las ${config.hora}`;
10396
+ case "trimestral":
10397
+ return en ? `every quarter on day ${config.diaMes} at ${config.hora}` : `cada trimestre el d\xEDa ${config.diaMes} a las ${config.hora}`;
10398
+ }
10399
+ }
10375
10400
  var ProgramarRutinaParamsSchema = import_zod30.z.object({
10376
10401
  tenantId: import_zod30.z.string().min(1).describe("Tenant identifier (the business account)."),
10377
10402
  uid: import_zod30.z.string().min(1).describe("User ID who creates the routine. Routines are scoped to this user (scope: self)."),
@@ -10408,10 +10433,12 @@ var programarRutinaRaw = {
10408
10433
  affectsPublication: false,
10409
10434
  affectsExternal: false,
10410
10435
  martinConfirmationTemplate: (input, locale) => {
10436
+ const tool = input.accion.tool;
10437
+ const frase = describeFrecuenciaForCopy(input.frecuencia, input.config, locale);
10411
10438
  if (locale === "en") {
10412
- return `Schedule a ${input.frecuencia} ${input.tipo} at ${input.config.hora}? Confirm to enable.`;
10439
+ return `Schedule: ${frase}, I'll run ${tool}. Confirm?`;
10413
10440
  }
10414
- return `\xBFProgramo una rutina ${input.frecuencia} de tipo ${input.tipo} a las ${input.config.hora}?`;
10441
+ return `Programa: ${frase}, ejecuto ${tool}. \xBFConfirmas?`;
10415
10442
  },
10416
10443
  martinSummaryTemplate: (input, output, locale) => {
10417
10444
  if (!output.ok) {
@@ -10420,10 +10447,12 @@ var programarRutinaRaw = {
10420
10447
  }
10421
10448
  return getMessage("marketing.safeError.generic", locale);
10422
10449
  }
10450
+ const tool = input.accion.tool;
10451
+ const frase = describeFrecuenciaForCopy(input.frecuencia, input.config, locale);
10423
10452
  if (locale === "en") {
10424
- return `Done. Each ${input.frecuencia} at ${input.config.hora} I'll trigger ${input.accion.tool}. First run: ${output.proximaEjecucionAt}.`;
10453
+ return `Done. ${frase}, I'll run ${tool}. First run: ${output.proximaEjecucionAt}.`;
10425
10454
  }
10426
- return `Listo. Cada ${input.frecuencia} a las ${input.config.hora} ejecuto ${input.accion.tool}. Pr\xF3xima ejecuci\xF3n: ${output.proximaEjecucionAt}.`;
10455
+ return `Listo. ${frase}, ejecuto ${tool}. Pr\xF3xima ejecuci\xF3n: ${output.proximaEjecucionAt}.`;
10427
10456
  },
10428
10457
  auditAction: "martin.rutina.crear",
10429
10458
  extractTargetPath: (input, output) => output.ok ? `tenants/${input.tenantId}/martin_rutinas/${output.rutinaId}` : `tenants/${input.tenantId}/martin_rutinas/__unscheduled__`,
@@ -15991,17 +16020,20 @@ Cuando uses hybrid: inspecciona el campo \`modesFound\` en los resultados. 2 = e
15991
16020
  return { content: [{ type: "text", text: JSON.stringify(errPayload) }] };
15992
16021
  }
15993
16022
  const result = dispatchResult.structuredOutput;
15994
- const slimResult = (item) => ({
15995
- id: item.id,
15996
- similarity: item.similarity,
15997
- title: item.title ?? item.nombre ?? null,
15998
- handle: item.handle ?? null,
15999
- description: typeof item.description === "string" ? item.description.slice(0, 200) : null,
16000
- image: item.image ? { src: item.image.src, alt: item.image.alt } : null,
16001
- collectionHandles: item.collectionHandles ?? null,
16002
- modesFound: item.modesFound ?? null,
16003
- rrfScore: item.rrfScore ?? null
16004
- });
16023
+ const slimResult = (item) => {
16024
+ const featuredImage = item.featuredImage;
16025
+ return {
16026
+ id: item.id,
16027
+ similarity: item.similarity,
16028
+ title: item.title ?? item.nombre ?? null,
16029
+ handle: item.handle ?? null,
16030
+ description: typeof item.description === "string" ? item.description.slice(0, 200) : null,
16031
+ image: featuredImage ? { src: featuredImage.url ?? null, alt: featuredImage.altText ?? null } : null,
16032
+ collectionHandles: item.collections ?? null,
16033
+ modesFound: item.modesFound ?? null,
16034
+ rrfScore: item.rrfScore ?? null
16035
+ };
16036
+ };
16005
16037
  const slimmed = {
16006
16038
  productos: result.productos.map(slimResult),
16007
16039
  colecciones: result.colecciones.map(slimResult),