@autonomaai/service-utils 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 (49) hide show
  1. package/dist/env.d.ts +7 -0
  2. package/dist/env.d.ts.map +1 -0
  3. package/dist/env.js +12 -0
  4. package/dist/env.js.map +1 -0
  5. package/dist/fastify.d.ts +15 -0
  6. package/dist/fastify.d.ts.map +1 -0
  7. package/dist/fastify.js +57 -0
  8. package/dist/fastify.js.map +1 -0
  9. package/dist/health.d.ts +17 -0
  10. package/dist/health.d.ts.map +1 -0
  11. package/dist/health.js +15 -0
  12. package/dist/health.js.map +1 -0
  13. package/dist/index.d.ts +6 -0
  14. package/dist/index.d.ts.map +1 -0
  15. package/dist/index.js +6 -0
  16. package/dist/index.js.map +1 -0
  17. package/dist/logger.d.ts +8 -0
  18. package/dist/logger.d.ts.map +1 -0
  19. package/dist/logger.js +22 -0
  20. package/dist/logger.js.map +1 -0
  21. package/dist/resilience/bulkhead.d.ts +95 -0
  22. package/dist/resilience/bulkhead.d.ts.map +1 -0
  23. package/dist/resilience/bulkhead.js +186 -0
  24. package/dist/resilience/bulkhead.js.map +1 -0
  25. package/dist/resilience/circuit-breaker.d.ts +111 -0
  26. package/dist/resilience/circuit-breaker.d.ts.map +1 -0
  27. package/dist/resilience/circuit-breaker.js +267 -0
  28. package/dist/resilience/circuit-breaker.js.map +1 -0
  29. package/dist/resilience/index.d.ts +15 -0
  30. package/dist/resilience/index.d.ts.map +1 -0
  31. package/dist/resilience/index.js +15 -0
  32. package/dist/resilience/index.js.map +1 -0
  33. package/dist/resilience/rate-limiter.d.ts +115 -0
  34. package/dist/resilience/rate-limiter.d.ts.map +1 -0
  35. package/dist/resilience/rate-limiter.js +257 -0
  36. package/dist/resilience/rate-limiter.js.map +1 -0
  37. package/dist/resilience/retry.d.ts +63 -0
  38. package/dist/resilience/retry.d.ts.map +1 -0
  39. package/dist/resilience/retry.js +190 -0
  40. package/dist/resilience/retry.js.map +1 -0
  41. package/dist/resilience/timeout.d.ts +62 -0
  42. package/dist/resilience/timeout.d.ts.map +1 -0
  43. package/dist/resilience/timeout.js +135 -0
  44. package/dist/resilience/timeout.js.map +1 -0
  45. package/dist/resilience/types.d.ts +163 -0
  46. package/dist/resilience/types.d.ts.map +1 -0
  47. package/dist/resilience/types.js +64 -0
  48. package/dist/resilience/types.js.map +1 -0
  49. package/package.json +52 -0
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Resilience Pattern Types
3
+ *
4
+ * Type definitions for all resilience patterns.
5
+ */
6
+ /**
7
+ * Circuit breaker states
8
+ */
9
+ export var CircuitState;
10
+ (function (CircuitState) {
11
+ CircuitState["CLOSED"] = "closed";
12
+ CircuitState["OPEN"] = "open";
13
+ CircuitState["HALF_OPEN"] = "half_open";
14
+ })(CircuitState || (CircuitState = {}));
15
+ /**
16
+ * Error types
17
+ */
18
+ export class CircuitBreakerOpenError extends Error {
19
+ name;
20
+ retryAfter;
21
+ constructor(name, retryAfter) {
22
+ super(`Circuit breaker '${name}' is OPEN. Retry after ${retryAfter}ms`);
23
+ this.name = name;
24
+ this.retryAfter = retryAfter;
25
+ this.name = 'CircuitBreakerOpenError';
26
+ }
27
+ }
28
+ export class BulkheadFullError extends Error {
29
+ name;
30
+ constructor(name) {
31
+ super(`Bulkhead '${name}' is full. Request rejected.`);
32
+ this.name = name;
33
+ this.name = 'BulkheadFullError';
34
+ }
35
+ }
36
+ export class RateLimitExceededError extends Error {
37
+ key;
38
+ retryAfter;
39
+ constructor(key, retryAfter) {
40
+ super(`Rate limit exceeded for '${key}'. Retry after ${retryAfter}ms`);
41
+ this.key = key;
42
+ this.retryAfter = retryAfter;
43
+ this.name = 'RateLimitExceededError';
44
+ }
45
+ }
46
+ export class TimeoutError extends Error {
47
+ timeout;
48
+ constructor(timeout, message) {
49
+ super(message || `Operation timed out after ${timeout}ms`);
50
+ this.timeout = timeout;
51
+ this.name = 'TimeoutError';
52
+ }
53
+ }
54
+ export class RetryExhaustedError extends Error {
55
+ attempts;
56
+ lastError;
57
+ constructor(attempts, lastError) {
58
+ super(`All ${attempts} retry attempts exhausted. Last error: ${lastError.message}`);
59
+ this.attempts = attempts;
60
+ this.lastError = lastError;
61
+ this.name = 'RetryExhaustedError';
62
+ }
63
+ }
64
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/resilience/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,6BAAa,CAAA;IACb,uCAAuB,CAAA;AACzB,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB;AAqID;;GAEG;AACH,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAE9B;IACA;IAFlB,YACkB,IAAY,EACZ,UAAkB;QAElC,KAAK,CAAC,oBAAoB,IAAI,0BAA0B,UAAU,IAAI,CAAC,CAAC;QAHxD,SAAI,GAAJ,IAAI,CAAQ;QACZ,eAAU,GAAV,UAAU,CAAQ;QAGlC,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IACd;IAA5B,YAA4B,IAAY;QACtC,KAAK,CAAC,aAAa,IAAI,8BAA8B,CAAC,CAAC;QAD7B,SAAI,GAAJ,IAAI,CAAQ;QAEtC,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAE7B;IACA;IAFlB,YACkB,GAAW,EACX,UAAkB;QAElC,KAAK,CAAC,4BAA4B,GAAG,kBAAkB,UAAU,IAAI,CAAC,CAAC;QAHvD,QAAG,GAAH,GAAG,CAAQ;QACX,eAAU,GAAV,UAAU,CAAQ;QAGlC,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,KAAK;IACT;IAA5B,YAA4B,OAAe,EAAE,OAAgB;QAC3D,KAAK,CAAC,OAAO,IAAI,6BAA6B,OAAO,IAAI,CAAC,CAAC;QADjC,YAAO,GAAP,OAAO,CAAQ;QAEzC,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAE1B;IACA;IAFlB,YACkB,QAAgB,EAChB,SAAgB;QAEhC,KAAK,CAAC,OAAO,QAAQ,0CAA0C,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;QAHpE,aAAQ,GAAR,QAAQ,CAAQ;QAChB,cAAS,GAAT,SAAS,CAAO;QAGhC,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF"}
package/package.json ADDED
@@ -0,0 +1,52 @@
1
+ {
2
+ "name": "@autonomaai/service-utils",
3
+ "version": "1.0.0",
4
+ "description": "Shared runtime helpers for autonoma Node services (logging, env validation, fastify helpers)",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./dist/index.js",
11
+ "types": "./dist/index.d.ts"
12
+ }
13
+ },
14
+ "scripts": {
15
+ "build": "tsc",
16
+ "build:watch": "tsc --watch",
17
+ "clean": "rm -rf dist",
18
+ "dev": "tsc --watch"
19
+ },
20
+ "keywords": [
21
+ "autonoma",
22
+ "service-utils",
23
+ "fastify",
24
+ "logging"
25
+ ],
26
+ "author": "autonoma Team",
27
+ "license": "MIT",
28
+ "repository": {
29
+ "type": "git",
30
+ "url": "https://github.com/Stack3Labs/autonoma-typescript-packages"
31
+ },
32
+ "publishConfig": {
33
+ "access": "public"
34
+ },
35
+ "dependencies": {
36
+ "fastify": "^4.25.0",
37
+ "pino": "^8.17.2",
38
+ "pino-pretty": "^10.2.3",
39
+ "zod": "^3.22.4"
40
+ },
41
+ "devDependencies": {
42
+ "@types/node": "^20.11.0",
43
+ "typescript": "^5.3.0"
44
+ },
45
+ "peerDependencies": {
46
+ "fastify": "^4.17.0"
47
+ },
48
+ "files": [
49
+ "dist/**/*",
50
+ "README.md"
51
+ ]
52
+ }