@cat-indev/catops-cli 0.0.1-alpha.5 → 0.0.1-alpha.6

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/README.md CHANGED
@@ -291,6 +291,21 @@ ctx.notifier.channel("*", senders.file({ path: "./devops-cli-errors.log" })); //
291
291
  ctx.notifier.onSuccess(senders.log());
292
292
  ```
293
293
 
294
+ Tambien se pueden incluir parsers de error para convertir y usar errores amigables con las areas receptoras
295
+
296
+ ```
297
+ const { classifiers, messages } = require("devops-cli");
298
+
299
+ ctx.notifier.classify(classifiers.byCommand({ docker: "containers" }));
300
+
301
+ ctx.notifier.describeError(messages.byPattern([
302
+ [/500 Internal Server Error/, "Se ha reportado a infraestructura: falta de espacio en el registry"],
303
+ [/unauthorized|403/i, "Credenciales inválidas contra el registry, revisa el secret"]
304
+ ]));
305
+
306
+ ctx.notifier.channel("containers", senders.webhook({ url: TEAMS_WEBHOOK }));
307
+ ```
308
+
294
309
  A partir de aquí, cualquier `ctx.run(...)` o item de menú con `action` reporta automáticamente al notifier — no hay que llamarlo a mano en cada task.
295
310
 
296
311
  ### Senders incluidos
@@ -1,7 +1,8 @@
1
1
  import type { Context } from "./Context";
2
- import type { ErrorClassifier, Sender } from "./types";
2
+ import type { ErrorClassifier, ErrorMessageFormatter, Sender } from "./types";
3
3
  export declare class Notifier {
4
4
  private classifiers;
5
+ private messageFormatters;
5
6
  private channels;
6
7
  private successSenders;
7
8
  private defaultArea;
@@ -12,6 +13,19 @@ export declare class Notifier {
12
13
  * (configurable con `setDefaultArea`).
13
14
  */
14
15
  classify(classifier: ErrorClassifier): this;
16
+ /**
17
+ * Registra una función que, dado el error, devuelve el mensaje
18
+ * personalizado a reportar (reemplaza el stderr/mensaje crudo). Se
19
+ * prueban en orden; gana la primera que devuelva un string. Si ninguna
20
+ * matchea, se usa el mensaje crudo del error (stderr/Error.message).
21
+ *
22
+ * Ejemplo:
23
+ * notifier.describeError(messages.byPattern([
24
+ * [/500 Internal Server Error/, "Se reportó a infraestructura: falta de espacio en el registry"],
25
+ * [/unauthorized|403/, "Credenciales inválidas contra el registry, revisa el secret"]
26
+ * ]));
27
+ */
28
+ describeError(formatter: ErrorMessageFormatter): this;
15
29
  setDefaultArea(area: string): this;
16
30
  /**
17
31
  * Asocia uno o más senders a un área. Puedes registrar el mismo sender
@@ -22,6 +36,7 @@ export declare class Notifier {
22
36
  /** Senders que se disparan en cada tarea exitosa, sin clasificación. */
23
37
  onSuccess(...senders: Sender[]): this;
24
38
  private resolveArea;
39
+ private resolveMessage;
25
40
  reportSuccess(taskId: string, result: unknown, ctx: Context): Promise<void>;
26
41
  reportError(taskId: string, error: unknown, ctx: Context): Promise<string>;
27
42
  }
@@ -18,6 +18,7 @@ function toMessage(error) {
18
18
  class Notifier {
19
19
  constructor() {
20
20
  this.classifiers = [];
21
+ this.messageFormatters = [];
21
22
  this.channels = new Map();
22
23
  this.successSenders = [];
23
24
  this.defaultArea = "unclassified";
@@ -32,6 +33,22 @@ class Notifier {
32
33
  this.classifiers.push(classifier);
33
34
  return this;
34
35
  }
36
+ /**
37
+ * Registra una función que, dado el error, devuelve el mensaje
38
+ * personalizado a reportar (reemplaza el stderr/mensaje crudo). Se
39
+ * prueban en orden; gana la primera que devuelva un string. Si ninguna
40
+ * matchea, se usa el mensaje crudo del error (stderr/Error.message).
41
+ *
42
+ * Ejemplo:
43
+ * notifier.describeError(messages.byPattern([
44
+ * [/500 Internal Server Error/, "Se reportó a infraestructura: falta de espacio en el registry"],
45
+ * [/unauthorized|403/, "Credenciales inválidas contra el registry, revisa el secret"]
46
+ * ]));
47
+ */
48
+ describeError(formatter) {
49
+ this.messageFormatters.push(formatter);
50
+ return this;
51
+ }
35
52
  setDefaultArea(area) {
36
53
  this.defaultArea = area;
37
54
  return this;
@@ -59,6 +76,14 @@ class Notifier {
59
76
  }
60
77
  return this.defaultArea;
61
78
  }
79
+ resolveMessage(error, ctx) {
80
+ for (const formatter of this.messageFormatters) {
81
+ const message = formatter(error, ctx);
82
+ if (message)
83
+ return message;
84
+ }
85
+ return toMessage(error);
86
+ }
62
87
  async reportSuccess(taskId, result, ctx) {
63
88
  if (!this.successSenders.length)
64
89
  return;
@@ -82,7 +107,7 @@ class Notifier {
82
107
  taskId,
83
108
  area,
84
109
  error,
85
- message: toMessage(error),
110
+ message: this.resolveMessage(error, ctx),
86
111
  timestamp: new Date().toISOString()
87
112
  };
88
113
  await Promise.allSettled(senders.map(sender => sender(event)));
@@ -1 +1 @@
1
- {"version":3,"file":"Notifier.js","sourceRoot":"","sources":["../../src/core/Notifier.ts"],"names":[],"mappings":";;;AAGA,MAAM,QAAQ,GAAG,GAAG,CAAC;AAErB,SAAS,SAAS,CAAC,KAAc;IAE7B,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,OAAO,CAAC;IACzB,CAAC;IAED,MAAM,cAAc,GAAG,KAA0D,CAAC;IAElF,IAAI,cAAc,EAAE,MAAM,EAAE,CAAC;QACzB,OAAO,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,cAAc,CAAC,MAAM,CAAC;IACnF,CAAC;IAED,IAAI,cAAc,EAAE,OAAO,EAAE,CAAC;QAC1B,OAAO,cAAc,CAAC,OAAO,CAAC;IAClC,CAAC;IAED,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AAEzB,CAAC;AAED,MAAa,QAAQ;IAArB;QAEY,gBAAW,GAAsB,EAAE,CAAC;QACpC,aAAQ,GAA0B,IAAI,GAAG,EAAE,CAAC;QAC5C,mBAAc,GAAa,EAAE,CAAC;QAC9B,gBAAW,GAAG,cAAc,CAAC;IA6FzC,CAAC;IA3FG;;;;;OAKG;IACH,QAAQ,CAAC,UAA2B;QAChC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,cAAc,CAAC,IAAY;QACvB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,IAAY,EAAE,GAAG,OAAiB;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,wEAAwE;IACxE,SAAS,CAAC,GAAG,OAAiB;QAC1B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,WAAW,CAAC,KAAc,EAAE,GAAY;QAE5C,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAExC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAEpC,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC;QAE1B,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC;IAE5B,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAc,EAAE,MAAe,EAAE,GAAY;QAE7D,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM;YAAE,OAAO;QAExC,MAAM,KAAK,GAAsB;YAC7B,IAAI,EAAE,SAAS;YACf,MAAM;YACN,MAAM;YACN,OAAO,EAAE,UAAU,MAAM,0BAA0B;YACnD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACtC,CAAC;QAEF,MAAM,OAAO,CAAC,UAAU,CACpB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACnD,CAAC;IAEN,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,KAAc,EAAE,GAAY;QAE1D,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAE1C,MAAM,OAAO,GAAG;YACZ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAClC,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClE,CAAC;QAEF,MAAM,KAAK,GAAsB;YAC7B,IAAI,EAAE,OAAO;YACb,MAAM;YACN,IAAI;YACJ,KAAK;YACL,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC;YACzB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACtC,CAAC;QAEF,MAAM,OAAO,CAAC,UAAU,CACpB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACvC,CAAC;QAEF,OAAO,IAAI,CAAC;IAEhB,CAAC;CAEJ;AAlGD,4BAkGC"}
1
+ {"version":3,"file":"Notifier.js","sourceRoot":"","sources":["../../src/core/Notifier.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { ErrorMessageFormatter } from "./types";
2
+ /**
3
+ * Formateador de fábrica: prueba una lista de [regex, mensaje] contra el
4
+ * stderr/mensaje del error y devuelve el mensaje personalizado del primer
5
+ * patrón que matchee, en vez del stderr crudo.
6
+ *
7
+ * Ejemplo:
8
+ * notifier.describeError(messages.byPattern([
9
+ * [/500 Internal Server Error/, "Se reportó a infraestructura: falta de espacio en el registry"],
10
+ * [/unauthorized|403/i, "Credenciales inválidas contra el registry, revisa el secret"],
11
+ * [/no space left|ENOSPC/i, "El nodo se quedó sin espacio en disco"]
12
+ * ]));
13
+ */
14
+ export declare function byPattern(rules: Array<[RegExp, string]>): ErrorMessageFormatter;
15
+ /**
16
+ * Formateador de fábrica: mapea el comando que falló (docker, kubectl,
17
+ * terraform, etc.) a un mensaje genérico fijo, sin importar el detalle del
18
+ * error. Útil como mensaje "catch-all" por comando cuando no necesitas
19
+ * distinguir por patrón.
20
+ *
21
+ * Ejemplo:
22
+ * notifier.describeError(messages.byCommand({
23
+ * docker: "Falló un paso de Docker, revisa el build/push del registry"
24
+ * }));
25
+ */
26
+ export declare function byCommand(map: Record<string, string>): ErrorMessageFormatter;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.byPattern = byPattern;
4
+ exports.byCommand = byCommand;
5
+ /**
6
+ * Formateador de fábrica: prueba una lista de [regex, mensaje] contra el
7
+ * stderr/mensaje del error y devuelve el mensaje personalizado del primer
8
+ * patrón que matchee, en vez del stderr crudo.
9
+ *
10
+ * Ejemplo:
11
+ * notifier.describeError(messages.byPattern([
12
+ * [/500 Internal Server Error/, "Se reportó a infraestructura: falta de espacio en el registry"],
13
+ * [/unauthorized|403/i, "Credenciales inválidas contra el registry, revisa el secret"],
14
+ * [/no space left|ENOSPC/i, "El nodo se quedó sin espacio en disco"]
15
+ * ]));
16
+ */
17
+ function byPattern(rules) {
18
+ return (error) => {
19
+ const execError = error;
20
+ const text = execError?.stderr || execError?.message || String(error);
21
+ for (const [pattern, message] of rules) {
22
+ if (pattern.test(text)) {
23
+ return message;
24
+ }
25
+ }
26
+ return undefined;
27
+ };
28
+ }
29
+ /**
30
+ * Formateador de fábrica: mapea el comando que falló (docker, kubectl,
31
+ * terraform, etc.) a un mensaje genérico fijo, sin importar el detalle del
32
+ * error. Útil como mensaje "catch-all" por comando cuando no necesitas
33
+ * distinguir por patrón.
34
+ *
35
+ * Ejemplo:
36
+ * notifier.describeError(messages.byCommand({
37
+ * docker: "Falló un paso de Docker, revisa el build/push del registry"
38
+ * }));
39
+ */
40
+ function byCommand(map) {
41
+ return (error) => {
42
+ const command = error?.command;
43
+ if (!command)
44
+ return undefined;
45
+ return map[command];
46
+ };
47
+ }
48
+ //# sourceMappingURL=messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/core/messages.ts"],"names":[],"mappings":";;AAoBA,8BAiBC;AAaD,8BAYC;AAtDD;;;;;;;;;;;GAWG;AACH,SAAgB,SAAS,CAAC,KAA8B;IAEpD,OAAO,CAAC,KAAc,EAAE,EAAE;QAEtB,MAAM,SAAS,GAAG,KAAsB,CAAC;QACzC,MAAM,IAAI,GAAG,SAAS,EAAE,MAAM,IAAI,SAAS,EAAE,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;QAEtE,KAAK,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC;YACrC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,OAAO,OAAO,CAAC;YACnB,CAAC;QACL,CAAC;QAED,OAAO,SAAS,CAAC;IAErB,CAAC,CAAC;AAEN,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,SAAS,CAAC,GAA2B;IAEjD,OAAO,CAAC,KAAc,EAAE,EAAE;QAEtB,MAAM,OAAO,GAAI,KAAuB,EAAE,OAAO,CAAC;QAElD,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAE/B,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;IAExB,CAAC,CAAC;AAEN,CAAC"}
@@ -103,3 +103,11 @@ export interface ResolvedMenuEntry {
103
103
  onSuccess?: SuccessCallback;
104
104
  onError?: ErrorCallback;
105
105
  }
106
+ /**
107
+ * Igual que ErrorClassifier, pero en vez de decidir el área, devuelve el
108
+ * mensaje humano que se va a reportar (reemplazando el stderr/mensaje crudo
109
+ * del error). Devuelve `undefined` si no sabe describir ese error (se
110
+ * prueba el siguiente formatter registrado, y si ninguno matchea se usa el
111
+ * mensaje crudo del error como antes).
112
+ */
113
+ export type ErrorMessageFormatter = (error: unknown, ctx: Context) => string | undefined;
package/dist/index.d.ts CHANGED
@@ -9,4 +9,5 @@ export type { ServicesRegistry } from "./services";
9
9
  export { Notifier } from "./core/Notifier";
10
10
  export * as senders from "./core/senders";
11
11
  export * as classifiers from "./core/classifiers";
12
- export type { ExecOptions, ExecResult, MenuTask, MenuOptionWithSelector, MenuOptionValue, MenuDefinition, ResolvedMenuEntry, TaskHooks, SuccessCallback, ErrorCallback, NotificationEvent, ErrorClassifier, Sender } from "./core/types";
12
+ export * as messages from "./core/messages";
13
+ export type { ExecOptions, ExecResult, MenuTask, MenuOptionWithSelector, MenuOptionValue, MenuDefinition, ResolvedMenuEntry, TaskHooks, SuccessCallback, ErrorCallback, NotificationEvent, ErrorClassifier, ErrorMessageFormatter, Sender } from "./core/types";
package/dist/index.js CHANGED
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.classifiers = exports.senders = exports.Notifier = exports.services = exports.prompt = exports.logger = exports.Menu = exports.Context = void 0;
36
+ exports.messages = exports.classifiers = exports.senders = exports.Notifier = exports.services = exports.prompt = exports.logger = exports.Menu = exports.Context = void 0;
37
37
  var Context_1 = require("./core/Context");
38
38
  Object.defineProperty(exports, "Context", { enumerable: true, get: function () { return Context_1.Context; } });
39
39
  var Menu_1 = require("./core/Menu");
@@ -47,4 +47,5 @@ var Notifier_1 = require("./core/Notifier");
47
47
  Object.defineProperty(exports, "Notifier", { enumerable: true, get: function () { return Notifier_1.Notifier; } });
48
48
  exports.senders = __importStar(require("./core/senders"));
49
49
  exports.classifiers = __importStar(require("./core/classifiers"));
50
+ exports.messages = __importStar(require("./core/messages"));
50
51
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAyC;AAAhC,kGAAA,OAAO,OAAA;AAGhB,oCAAmC;AAA1B,4FAAA,IAAI,OAAA;AAEb,wCAAuC;AAA9B,gGAAA,MAAM,OAAA;AAGf,wDAAwC;AAExC,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AAGjB,4CAA2C;AAAlC,oGAAA,QAAQ,OAAA;AACjB,0DAA0C;AAC1C,kEAAkD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAyC;AAAhC,kGAAA,OAAO,OAAA;AAGhB,oCAAmC;AAA1B,4FAAA,IAAI,OAAA;AAEb,wCAAuC;AAA9B,gGAAA,MAAM,OAAA;AAGf,wDAAwC;AAExC,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AAGjB,4CAA2C;AAAlC,oGAAA,QAAQ,OAAA;AACjB,0DAA0C;AAC1C,kEAAkD;AAClD,4DAA4C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-indev/catops-cli",
3
- "version": "0.0.1-alpha.5",
3
+ "version": "0.0.1-alpha.6",
4
4
  "description": "Framework CLI para pipelines DevOps (shell, docker, git, kubectl, helm, npm, terraform, ansible, argocd, tekton, oc, az) sobre un ExecutionContext compartido, con menus interactivos y selectores automaticos por flag. Escrito en TypeScript, 100% usable desde JavaScript.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",