@uploadista/observability 0.0.20-beta.9 → 0.1.0-beta.5

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@uploadista/observability",
3
3
  "type": "module",
4
- "version": "0.0.20-beta.9",
4
+ "version": "0.1.0-beta.5",
5
5
  "description": "Observability package for Uploadista",
6
6
  "license": "MIT",
7
7
  "author": "Uploadista",
@@ -14,30 +14,32 @@
14
14
  }
15
15
  },
16
16
  "dependencies": {
17
- "@effect/opentelemetry": "0.59.3",
17
+ "@effect/opentelemetry": "0.60.0",
18
18
  "@opentelemetry/api": "1.9.0",
19
- "@opentelemetry/api-logs": "0.208.0",
20
- "@opentelemetry/exporter-metrics-otlp-http": "0.208.0",
21
- "@opentelemetry/exporter-trace-otlp-http": "0.208.0",
22
- "@opentelemetry/exporter-logs-otlp-http": "0.208.0",
23
- "@opentelemetry/sdk-logs": "0.208.0",
24
- "@opentelemetry/sdk-metrics": "2.2.0",
25
- "@opentelemetry/sdk-trace-base": "2.2.0",
26
- "@opentelemetry/sdk-trace-node": "2.2.0",
27
- "@opentelemetry/sdk-trace-web": "2.2.0"
19
+ "@opentelemetry/api-logs": "0.210.0",
20
+ "@opentelemetry/exporter-metrics-otlp-http": "0.210.0",
21
+ "@opentelemetry/exporter-trace-otlp-http": "0.210.0",
22
+ "@opentelemetry/exporter-logs-otlp-http": "0.210.0",
23
+ "@opentelemetry/sdk-logs": "0.210.0",
24
+ "@opentelemetry/sdk-metrics": "2.4.0",
25
+ "@opentelemetry/sdk-trace-base": "2.4.0",
26
+ "@opentelemetry/sdk-trace-node": "2.4.0",
27
+ "@opentelemetry/sdk-trace-web": "2.4.0"
28
28
  },
29
29
  "peerDependencies": {
30
+ "@effect/platform": "^0.93.8 || ^0.94.0",
31
+ "@opentelemetry/semantic-conventions": "^1.33.0",
30
32
  "effect": "^3.0.0"
31
33
  },
32
34
  "devDependencies": {
33
- "@cloudflare/workers-types": "4.20251213.0",
35
+ "@cloudflare/workers-types": "4.20260115.0",
34
36
  "@effect/vitest": "0.27.0",
35
- "@types/node": "24.10.4",
36
- "effect": "3.19.12",
37
- "tsdown": "0.18.0",
37
+ "@types/node": "24.10.8",
38
+ "effect": "3.19.14",
39
+ "tsdown": "0.19.0",
38
40
  "typescript": "5.9.3",
39
- "vitest": "4.0.15",
40
- "@uploadista/typescript-config": "0.0.20-beta.9"
41
+ "vitest": "4.0.17",
42
+ "@uploadista/typescript-config": "0.1.0-beta.5"
41
43
  },
42
44
  "scripts": {
43
45
  "build": "tsc --noEmit && tsdown",
@@ -45,7 +47,7 @@
45
47
  "lint": "biome lint --write ./src",
46
48
  "check": "biome check --write ./src",
47
49
  "clean": "rimraf -rf dist && rimraf -rf .turbo && rimraf tsconfig.tsbuildinfo",
48
- "test": "vitest",
50
+ "test": "vitest run",
49
51
  "test:run": "vitest run",
50
52
  "test:watch": "vitest watch"
51
53
  }
@@ -102,7 +102,7 @@ export const classifyStorageError = (error: unknown): StorageErrorCategory => {
102
102
 
103
103
  // Storage-specific error classifier factory
104
104
  export const createStorageErrorClassifier = (
105
- storageType: string,
105
+ _storageType: string,
106
106
  customErrorMapping?: (error: unknown) => StorageErrorCategory | null,
107
107
  ) => {
108
108
  return (error: unknown): StorageErrorCategory => {
@@ -3,7 +3,7 @@ import {
3
3
  FlowObservability,
4
4
  makeFlowObservabilityLayer,
5
5
  } from "../core/layers.js";
6
- import { createFlowMetrics, type FlowMetrics } from "./metrics.js";
6
+ import { createFlowMetrics } from "./metrics.js";
7
7
 
8
8
  // ============================================================================
9
9
  // Flow Observability Layer Implementation
@@ -9,7 +9,7 @@
9
9
  * 5. Structured logging
10
10
  */
11
11
 
12
- import { Effect, Layer, Metric } from "effect";
12
+ import { Effect, Metric } from "effect";
13
13
  import {
14
14
  classifyStorageError,
15
15
  createStorageMetrics,
@@ -102,7 +102,7 @@ const simulateUpload = (fileSize: number, shouldFail: boolean) =>
102
102
  // Test: Error Classification
103
103
  // ============================================================================
104
104
 
105
- const testErrorClassification = Effect.gen(function* () {
105
+ const testErrorClassification = Effect.sync(() => {
106
106
  console.log("\nšŸ” Testing Error Classification:");
107
107
 
108
108
  const testErrors = [
@@ -134,7 +134,7 @@ const testErrorTracking = Effect.gen(function* () {
134
134
  console.log("\nāš ļø Testing Error Tracking:");
135
135
 
136
136
  const error = new Error("ECONNRESET: Connection reset by peer");
137
- (error as any).code = "ECONNRESET";
137
+ (error as unknown as { code: string }).code = "ECONNRESET";
138
138
 
139
139
  yield* trackStorageError(testStorageType, obs.metrics, "uploadPart", error, {
140
140
  upload_id: "test-upload-456",
@@ -220,7 +220,7 @@ const runTests = Effect.gen(function* () {
220
220
  yield* testErrorTracking;
221
221
  yield* testMetricsSnapshot;
222
222
 
223
- console.log("\n" + "=".repeat(50));
223
+ console.log(`\n${"=".repeat(50)}`);
224
224
  console.log("āœ… All tests completed successfully!");
225
225
  console.log("\nCore observability infrastructure is working correctly:");
226
226
  console.log(" āœ… Layer creation and composition");
@@ -1,8 +1,8 @@
1
- import { Layer } from "effect";
1
+ import { Effect, Layer } from "effect";
2
2
  import { UploadObservability } from "../core/layers.js";
3
3
  import { createUploadEngineMetrics } from "./metrics.js";
4
4
 
5
- // ======================== ====================================================
5
+ // ============================================================================
6
6
  // Upload Observability Testing Utilities
7
7
  // ============================================================================
8
8
 
@@ -14,11 +14,11 @@ export const UploadObservabilityTest = Layer.succeed(UploadObservability, {
14
14
  serviceName: "uploadista-upload-server-test",
15
15
  enabled: true,
16
16
  metrics: {
17
- uploadCreated: () => Promise.resolve(),
18
- uploadCompleted: () => Promise.resolve(),
19
- uploadFailed: () => Promise.resolve(),
20
- chunkUploaded: () => Promise.resolve(),
21
- } as any,
17
+ uploadCreated: Effect.void,
18
+ uploadCompleted: Effect.void,
19
+ uploadFailed: Effect.void,
20
+ chunkUploaded: Effect.void,
21
+ },
22
22
  });
23
23
 
24
24
  /**