@livestore/utils 0.3.0-dev.33 → 0.3.0-dev.34

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/effect/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAA;AAErB,OAAO,EACL,KAAK,EACL,GAAG,EACH,eAAe,EACf,KAAK,EACL,KAAK,EACL,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,WAAW,EACX,YAAY,EACZ,MAAM,EACN,IAAI,EACJ,KAAK,EACL,OAAO,EACP,QAAQ,EACR,SAAS,EACT,cAAc,EACd,QAAQ,EACR,MAAM,EACN,WAAW,EACX,OAAO,EACP,MAAM,EACN,OAAO,EACP,IAAI,EACJ,MAAM,EACN,KAAK,EACL,IAAI,EACJ,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,IAAI,aAAa,EACtB,MAAM,IAAI,cAAc,EACxB,SAAS,EACT,OAAO,EACP,OAAO,EACP,cAAc,EACd,cAAc,EACd,MAAM,EACN,MAAM,EACN,QAAQ,EAER,MAAM,EACN,KAAK,EACL,GAAG,EACH,IAAI,EACJ,OAAO,EACP,SAAS,EAET,IAAI,EACJ,QAAQ,EACR,WAAW,EACX,KAAK,EACL,YAAY,EACZ,OAAO,EACP,iBAAiB,EACjB,UAAU,EACV,KAAK,EACL,KAAK,GACN,MAAM,QAAQ,CAAA;AAEf,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAA;AAEvD,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAEtC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAA;AACjD,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC5C,YAAY,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AACzE,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,UAAU,MAAM,8BAA8B,CAAA;AAE1D,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C,OAAO,EACL,YAAY,EACZ,UAAU,EACV,MAAM,EACN,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,MAAM,EACN,SAAS,EACT,iBAAiB,EACjB,OAAO,EACP,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,OAAO,GACR,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAI7E,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,cAAc,YAAY,CAAA;AAC1B,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/effect/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAA;AAErB,OAAO,EACL,KAAK,EACL,GAAG,EACH,eAAe,EACf,KAAK,EACL,KAAK,EACL,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,WAAW,EACX,YAAY,EACZ,MAAM,EACN,IAAI,EACJ,KAAK,EACL,OAAO,EACP,QAAQ,EACR,SAAS,EACT,cAAc,EACd,QAAQ,EACR,MAAM,EACN,WAAW,EACX,OAAO,EACP,MAAM,EACN,OAAO,EACP,IAAI,EACJ,MAAM,EACN,KAAK,EACL,IAAI,EACJ,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,IAAI,aAAa,EACtB,MAAM,IAAI,cAAc,EACxB,SAAS,EACT,OAAO,EACP,OAAO,EACP,cAAc,EACd,cAAc,EACd,MAAM,EACN,MAAM,EACN,QAAQ,EAER,MAAM,EACN,KAAK,EACL,GAAG,EACH,IAAI,EACJ,OAAO,EACP,SAAS,EAET,IAAI,EACJ,QAAQ,EACR,WAAW,EACX,KAAK,EACL,YAAY,EACZ,OAAO,EACP,iBAAiB,EACjB,UAAU,EACV,KAAK,EACL,KAAK,GACN,MAAM,QAAQ,CAAA;AAEf,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAA;AAEvD,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAEtC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAA;AACjD,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC5C,YAAY,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AACzE,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,UAAU,MAAM,8BAA8B,CAAA;AAC1D,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C,OAAO,EACL,YAAY,EACZ,UAAU,EACV,MAAM,EACN,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,MAAM,EACN,SAAS,EACT,iBAAiB,EACjB,OAAO,EACP,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,OAAO,GACR,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAI7E,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,cAAc,YAAY,CAAA;AAC1B,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA"}
@@ -18,7 +18,6 @@ export { TreeFormatter } from 'effect/ParseResult';
18
18
  export { ParseResult, Pretty } from 'effect';
19
19
  export * as Schema from './Schema/index.js';
20
20
  export * as OtelTracer from '@effect/opentelemetry/Tracer';
21
- // export * as OtelResource from '@effect/opentelemetry/Resource'
22
21
  export * as TaskTracing from './TaskTracing.js';
23
22
  export { Transferable, FileSystem, Worker, WorkerError, WorkerRunner, Terminal, HttpServer, HttpClient, HttpClientError, HttpClientRequest, HttpClientResponse, FetchHttpClient, Socket, UrlParams, HttpServerRequest, Headers, HttpMiddleware, HttpRouter, HttpServerResponse, Command, } from '@effect/platform';
24
23
  export { BrowserWorker, BrowserWorkerRunner } from '@effect/platform-browser';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/effect/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAA;AAErB,OAAO,EACL,KAAK,EACL,GAAG,EACH,eAAe,EACf,KAAK,EACL,KAAK,EACL,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,WAAW,EACX,YAAY,EACZ,MAAM,EACN,IAAI,EACJ,KAAK,EACL,OAAO,EACP,QAAQ,EACR,SAAS,EACT,cAAc,EACd,QAAQ,EACR,MAAM,EACN,WAAW,EACX,OAAO,EACP,MAAM,EACN,OAAO,EACP,IAAI,EACJ,MAAM,EACN,KAAK,EACL,IAAI,EACJ,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,IAAI,aAAa,EACtB,MAAM,IAAI,cAAc,EACxB,SAAS,EACT,OAAO,EACP,OAAO,EACP,cAAc,EACd,cAAc,EACd,MAAM,EACN,MAAM,EACN,QAAQ;AACR,UAAU;AACV,MAAM,EACN,KAAK,EACL,GAAG,EACH,IAAI,EACJ,OAAO,EACP,SAAS;AACT,gBAAgB;AAChB,IAAI,EACJ,QAAQ,EACR,WAAW,EACX,KAAK,EACL,YAAY,EACZ,OAAO,EACP,iBAAiB,EACjB,UAAU,EACV,KAAK,EACL,KAAK,GACN,MAAM,QAAQ,CAAA;AAEf,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAA;AAEvD,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAEtC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAA;AACjD,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE5C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,UAAU,MAAM,8BAA8B,CAAA;AAC1D,iEAAiE;AACjE,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C,OAAO,EACL,YAAY,EACZ,UAAU,EACV,MAAM,EACN,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,MAAM,EACN,SAAS,EACT,iBAAiB,EACjB,OAAO,EACP,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,OAAO,GACR,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE7E,oEAAoE;AAEpE,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,cAAc,YAAY,CAAA;AAC1B,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/effect/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAA;AAErB,OAAO,EACL,KAAK,EACL,GAAG,EACH,eAAe,EACf,KAAK,EACL,KAAK,EACL,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,WAAW,EACX,YAAY,EACZ,MAAM,EACN,IAAI,EACJ,KAAK,EACL,OAAO,EACP,QAAQ,EACR,SAAS,EACT,cAAc,EACd,QAAQ,EACR,MAAM,EACN,WAAW,EACX,OAAO,EACP,MAAM,EACN,OAAO,EACP,IAAI,EACJ,MAAM,EACN,KAAK,EACL,IAAI,EACJ,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,IAAI,aAAa,EACtB,MAAM,IAAI,cAAc,EACxB,SAAS,EACT,OAAO,EACP,OAAO,EACP,cAAc,EACd,cAAc,EACd,MAAM,EACN,MAAM,EACN,QAAQ;AACR,UAAU;AACV,MAAM,EACN,KAAK,EACL,GAAG,EACH,IAAI,EACJ,OAAO,EACP,SAAS;AACT,gBAAgB;AAChB,IAAI,EACJ,QAAQ,EACR,WAAW,EACX,KAAK,EACL,YAAY,EACZ,OAAO,EACP,iBAAiB,EACjB,UAAU,EACV,KAAK,EACL,KAAK,GACN,MAAM,QAAQ,CAAA;AAEf,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAA;AAEvD,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAEtC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAA;AACjD,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE5C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,UAAU,MAAM,8BAA8B,CAAA;AAC1D,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C,OAAO,EACL,YAAY,EACZ,UAAU,EACV,MAAM,EACN,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,MAAM,EACN,SAAS,EACT,iBAAiB,EACjB,OAAO,EACP,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,OAAO,GACR,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE7E,oEAAoE;AAEpE,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,cAAc,YAAY,CAAA;AAC1B,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA"}
package/dist/env.d.ts CHANGED
@@ -4,4 +4,5 @@ export declare const TRACE_VERBOSE: boolean;
4
4
  /** Only set when developing LiveStore itself. */
5
5
  export declare const LS_DEV: boolean;
6
6
  export declare const IS_CI: boolean;
7
+ export declare const IS_BUN: boolean;
7
8
  //# sourceMappingURL=env.d.ts.map
package/dist/env.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,GAAG,GAAI,MAAM,MAAM,KAAG,MAAM,GAAG,SAY3C,CAAA;AAED,eAAO,MAAM,QAAQ,WAiBpB,CAAA;AAGD,eAAO,MAAM,aAAa,SAAsF,CAAA;AAEhH,iDAAiD;AACjD,eAAO,MAAM,MAAM,SAAkE,CAAA;AAIrF,eAAO,MAAM,KAAK,SAAuB,CAAA"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,GAAG,GAAI,MAAM,MAAM,KAAG,MAAM,GAAG,SAY3C,CAAA;AAED,eAAO,MAAM,QAAQ,WAiBpB,CAAA;AAGD,eAAO,MAAM,aAAa,SAAsF,CAAA;AAEhH,iDAAiD;AACjD,eAAO,MAAM,MAAM,SAAkE,CAAA;AAIrF,eAAO,MAAM,KAAK,SAAuB,CAAA;AAEzC,eAAO,MAAM,MAAM,SAA6B,CAAA"}
package/dist/env.js CHANGED
@@ -30,4 +30,5 @@ export const TRACE_VERBOSE = env('LS_TRACE_VERBOSE') !== undefined || env('VITE_
30
30
  export const LS_DEV = env('LS_DEV') !== undefined || env('VITE_LS_DEV') !== undefined;
31
31
  const envTruish = (env) => env !== undefined && env !== 'false' && env !== '0';
32
32
  export const IS_CI = envTruish(env('CI'));
33
+ export const IS_BUN = typeof Bun !== 'undefined';
33
34
  //# sourceMappingURL=env.js.map
package/dist/env.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,IAAY,EAAsB,EAAE;IACtD,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAChE,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC;IAED,6EAA6E;IAC7E,oEAAoE;IACpE,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAChE,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAA;IAC9C,CAAC;IAED,6EAA6E;IAC7E,oEAAoE;IACpE,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA;IAC5B,CAAC;IAED,4CAA4C;IAC5C,IAAI,OAAO,UAAU,KAAK,WAAW,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,oCAAoC;AACpC,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAC,kBAAkB,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,uBAAuB,CAAC,KAAK,SAAS,CAAA;AAEhH,iDAAiD;AACjD,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,aAAa,CAAC,KAAK,SAAS,CAAA;AAErF,MAAM,SAAS,GAAG,CAAC,GAAuB,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,GAAG,CAAA;AAElG,MAAM,CAAC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,IAAY,EAAsB,EAAE;IACtD,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAChE,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC;IAED,6EAA6E;IAC7E,oEAAoE;IACpE,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAChE,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAA;IAC9C,CAAC;IAED,6EAA6E;IAC7E,oEAAoE;IACpE,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA;IAC5B,CAAC;IAED,4CAA4C;IAC5C,IAAI,OAAO,UAAU,KAAK,WAAW,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,oCAAoC;AACpC,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAC,kBAAkB,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,uBAAuB,CAAC,KAAK,SAAS,CAAA;AAEhH,iDAAiD;AACjD,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,aAAa,CAAC,KAAK,SAAS,CAAA;AAErF,MAAM,SAAS,GAAG,CAAC,GAAuB,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,GAAG,CAAA;AAElG,MAAM,CAAC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;AAEzC,MAAM,CAAC,MAAM,MAAM,GAAG,OAAO,GAAG,KAAK,WAAW,CAAA"}
@@ -1,23 +1,10 @@
1
- import type * as otel from '@opentelemetry/api';
2
1
  import { Effect, Layer } from 'effect';
3
- import type { ParentSpan } from 'effect/Tracer';
4
2
  import { OtelTracer, UnknownError } from '../effect/index.js';
5
3
  export * as Cli from '@effect/cli';
6
4
  export * as PlatformNode from '@effect/platform-node';
7
5
  export * as SocketServer from '@effect/platform/SocketServer';
8
- export * as OtelResource from '@effect/opentelemetry/Resource';
9
- export { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
10
- export { OTLPMetricExporter } from '@opentelemetry/exporter-metrics-otlp-http';
11
- export * as OtelNodeSdk from '@effect/opentelemetry/NodeSdk';
12
6
  export * as ChildProcessRunner from './ChildProcessRunner/ChildProcessRunner.js';
13
7
  export * as ChildProcessWorker from './ChildProcessRunner/ChildProcessWorker.js';
14
8
  export declare const getFreePort: Effect.Effect<number, UnknownError, never>;
15
9
  export declare const OtelLiveDummy: Layer.Layer<OtelTracer.OtelTracer>;
16
- export declare const OtelLiveHttp: ({ serviceName, rootSpanName, skipLogUrl, }?: {
17
- serviceName?: string;
18
- rootSpanName?: string;
19
- skipLogUrl?: boolean;
20
- }) => Layer.Layer<OtelTracer.OtelTracer | ParentSpan, never, never>;
21
- export declare const logTraceUiUrlForSpan: (printMsg?: (url: string) => string) => (span: otel.Span) => Effect.Effect<string | undefined, never, never>;
22
- export declare const getTracingBackendUrl: (span: otel.Span) => Effect.Effect<string | undefined, never, never>;
23
10
  //# sourceMappingURL=mod.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/node/mod.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAK/C,OAAO,EAAU,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAG/C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAK7D,OAAO,KAAK,GAAG,MAAM,aAAa,CAAA;AAClC,OAAO,KAAK,YAAY,MAAM,uBAAuB,CAAA;AACrD,OAAO,KAAK,YAAY,MAAM,+BAA+B,CAAA;AAC7D,OAAO,KAAK,YAAY,MAAM,gCAAgC,CAAA;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAA;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAA;AAC9E,OAAO,KAAK,WAAW,MAAM,+BAA+B,CAAA;AAE5D,OAAO,KAAK,kBAAkB,MAAM,4CAA4C,CAAA;AAChF,OAAO,KAAK,kBAAkB,MAAM,4CAA4C,CAAA;AAOhF,eAAO,MAAM,WAAW,4CAuBtB,CAAA;AAEF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAQ3D,CAAA;AAEF,eAAO,MAAM,YAAY,GAAI,6CAI1B;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,KAAG,KAAK,CAAC,KAAK,CACzF,UAAU,CAAC,UAAU,GAAG,UAAU,EAClC,KAAK,EACL,KAAK,CAsC6B,CAAA;AAEpC,eAAO,MAAM,oBAAoB,GAAI,WAAW,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,MAAM,MAAM,IAAI,CAAC,IAAI,oDAazF,CAAA;AAEH,eAAO,MAAM,oBAAoB,GAAI,MAAM,IAAI,CAAC,IAAI,oDAqBhD,CAAA"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/node/mod.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAEtC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAG7D,OAAO,KAAK,GAAG,MAAM,aAAa,CAAA;AAClC,OAAO,KAAK,YAAY,MAAM,uBAAuB,CAAA;AACrD,OAAO,KAAK,YAAY,MAAM,+BAA+B,CAAA;AAE7D,OAAO,KAAK,kBAAkB,MAAM,4CAA4C,CAAA;AAChF,OAAO,KAAK,kBAAkB,MAAM,4CAA4C,CAAA;AAOhF,eAAO,MAAM,WAAW,4CAuBtB,CAAA;AAEF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAQ3D,CAAA"}
package/dist/node/mod.js CHANGED
@@ -1,21 +1,10 @@
1
1
  import * as http from 'node:http';
2
- import * as OtelNodeSdk from '@effect/opentelemetry/NodeSdk';
3
- import { OTLPMetricExporter } from '@opentelemetry/exporter-metrics-otlp-http';
4
- import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
5
- import { PeriodicExportingMetricReader } from '@opentelemetry/sdk-metrics';
6
- import { BatchSpanProcessor } from '@opentelemetry/sdk-trace-base';
7
- import { Config, Effect, Layer } from 'effect';
8
- import { tapCauseLogPretty } from '../effect/Effect.js';
2
+ import { Effect, Layer } from 'effect';
9
3
  import { OtelTracer, UnknownError } from '../effect/index.js';
10
4
  import { makeNoopTracer } from '../NoopTracer.js';
11
- // import { tapCauseLogPretty } from '../effect/Effect.js'
12
5
  export * as Cli from '@effect/cli';
13
6
  export * as PlatformNode from '@effect/platform-node';
14
7
  export * as SocketServer from '@effect/platform/SocketServer';
15
- export * as OtelResource from '@effect/opentelemetry/Resource';
16
- export { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
17
- export { OTLPMetricExporter } from '@opentelemetry/exporter-metrics-otlp-http';
18
- export * as OtelNodeSdk from '@effect/opentelemetry/NodeSdk';
19
8
  export * as ChildProcessRunner from './ChildProcessRunner/ChildProcessRunner.js';
20
9
  export * as ChildProcessWorker from './ChildProcessRunner/ChildProcessWorker.js';
21
10
  // Enable debug logging for OpenTelemetry
@@ -47,64 +36,4 @@ export const OtelLiveDummy = Layer.suspend(() => {
47
36
  const TracingLive = Layer.unwrapEffect(Effect.map(OtelTracer.make, Layer.setTracer)).pipe(Layer.provideMerge(OtelTracerLive));
48
37
  return TracingLive;
49
38
  });
50
- export const OtelLiveHttp = ({ serviceName, rootSpanName, skipLogUrl, } = {}) => Effect.gen(function* () {
51
- const config = yield* Config.all({
52
- exporterUrl: Config.string('OTEL_EXPORTER_OTLP_ENDPOINT'),
53
- serviceName: serviceName
54
- ? Config.succeed(serviceName)
55
- : Config.string('OTEL_SERVICE_NAME').pipe(Config.withDefault('overtone-node-utils-default-service')),
56
- rootSpanName: rootSpanName
57
- ? Config.succeed(rootSpanName)
58
- : Config.string('OTEL_ROOT_SPAN_NAME').pipe(Config.withDefault('RootSpan')),
59
- }).pipe(tapCauseLogPretty, Effect.orDie);
60
- const resource = { serviceName: config.serviceName };
61
- // METRICS
62
- const metricExporter = new OTLPMetricExporter({ url: `${config.exporterUrl}/v1/metrics` });
63
- const metricReader = new PeriodicExportingMetricReader({
64
- exporter: metricExporter,
65
- exportIntervalMillis: 1000,
66
- });
67
- // TRACING
68
- const OtelLive = OtelNodeSdk.layer(() => ({
69
- resource,
70
- metricReader,
71
- spanProcessor: new BatchSpanProcessor(new OTLPTraceExporter({ url: `${config.exporterUrl}/v1/traces`, headers: {} })),
72
- }));
73
- const RootSpanLive = Layer.span(config.rootSpanName, {
74
- attributes: { config },
75
- onEnd: skipLogUrl ? undefined : (span) => logTraceUiUrlForSpan()(span.span),
76
- });
77
- return RootSpanLive.pipe(Layer.provideMerge(OtelLive));
78
- }).pipe(Layer.unwrapEffect);
79
- export const logTraceUiUrlForSpan = (printMsg) => (span) => getTracingBackendUrl(span).pipe(Effect.tap((url) => {
80
- if (url === undefined) {
81
- return Effect.logWarning('No tracing backend url found');
82
- }
83
- else {
84
- if (printMsg) {
85
- return Effect.log(printMsg(url));
86
- }
87
- else {
88
- return Effect.log(`Trace URL: ${url}`);
89
- }
90
- }
91
- }));
92
- export const getTracingBackendUrl = (span) => Effect.gen(function* () {
93
- const endpoint = yield* Config.string('GRAFANA_ENDPOINT').pipe(Config.option, Effect.orDie);
94
- if (endpoint._tag === 'None')
95
- return;
96
- const traceId = span.spanContext().traceId;
97
- // Grafana + Tempo
98
- const grafanaEndpoint = endpoint.value;
99
- const searchParams = new URLSearchParams({
100
- orgId: '1',
101
- left: JSON.stringify({
102
- datasource: 'tempo',
103
- queries: [{ query: traceId, queryType: 'traceql', refId: 'A' }],
104
- range: { from: 'now-1h', to: 'now' },
105
- }),
106
- });
107
- // TODO make dynamic via env var
108
- return `${grafanaEndpoint}/explore?${searchParams.toString()}`;
109
- });
110
39
  //# sourceMappingURL=mod.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../src/node/mod.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC,OAAO,KAAK,WAAW,MAAM,+BAA+B,CAAA;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAA;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAA;AAC3E,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAA;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAG9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,0DAA0D;AAE1D,OAAO,KAAK,GAAG,MAAM,aAAa,CAAA;AAClC,OAAO,KAAK,YAAY,MAAM,uBAAuB,CAAA;AACrD,OAAO,KAAK,YAAY,MAAM,+BAA+B,CAAA;AAC7D,OAAO,KAAK,YAAY,MAAM,gCAAgC,CAAA;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAA;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAA;AAC9E,OAAO,KAAK,WAAW,MAAM,+BAA+B,CAAA;AAE5D,OAAO,KAAK,kBAAkB,MAAM,4CAA4C,CAAA;AAChF,OAAO,KAAK,kBAAkB,MAAM,4CAA4C,CAAA;AAEhF,yCAAyC;AACzC,6EAA6E;AAE7E,6EAA6E;AAE7E,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAuB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE;IAC3E,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;IAElC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,KAAK,EAAE,CAAA;IAChB,CAAC,CAAC,CAAA;IAEF,4CAA4C;IAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE;QACpB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;QAEhC,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;YACzB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC9C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QAC/F,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,wDAAwD;IACxD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;QACzB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACvE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,aAAa,GAAuC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;IAClF,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,EAAE,cAAc,EAAE,CAAC,CAAA;IAE7E,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CACvF,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,CACU,CAAA;IAE9C,OAAO,WAAW,CAAA;AACpB,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAC3B,WAAW,EACX,YAAY,EACZ,UAAU,MAC+D,EAAE,EAI3E,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;QAC/B,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,6BAA6B,CAAC;QACzD,WAAW,EAAE,WAAW;YACtB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;YAC7B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,qCAAqC,CAAC,CAAC;QACtG,YAAY,EAAE,YAAY;YACxB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;YAC9B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;KAC9E,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;IAExC,MAAM,QAAQ,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAA;IAEpD,UAAU;IACV,MAAM,cAAc,GAAG,IAAI,kBAAkB,CAAC,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,WAAW,aAAa,EAAE,CAAC,CAAA;IAE1F,MAAM,YAAY,GAAG,IAAI,6BAA6B,CAAC;QACrD,QAAQ,EAAE,cAAc;QACxB,oBAAoB,EAAE,IAAI;KAC3B,CAAC,CAAA;IAEF,UAAU;IACV,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QACxC,QAAQ;QACR,YAAY;QACZ,aAAa,EAAE,IAAI,kBAAkB,CACnC,IAAI,iBAAiB,CAAC,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,WAAW,YAAY,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAC/E;KACF,CAAC,CAAC,CAAA;IAEH,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;QACnD,UAAU,EAAE,EAAE,MAAM,EAAE;QACtB,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;KACjF,CAAC,CAAA;IAEF,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAA;AACxD,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAQ,CAAA;AAEpC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,QAAkC,EAAE,EAAE,CAAC,CAAC,IAAe,EAAE,EAAE,CAC9F,oBAAoB,CAAC,IAAI,CAAC,CAAC,IAAI,CAC7B,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;IACjB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAA;IAC1D,CAAC;SAAM,CAAC;QACN,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;QAClC,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,CAAC,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC,CAAA;QACxC,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CACH,CAAA;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAe,EAAE,EAAE,CACtD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;IAC3F,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM;QAAE,OAAM;IAEpC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAA;IAE1C,kBAAkB;IAElB,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAA;IACtC,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC;QACvC,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,UAAU,EAAE,OAAO;YACnB,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;YAC/D,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE;SACrC,CAAC;KACH,CAAC,CAAA;IAEF,gCAAgC;IAChC,OAAO,GAAG,eAAe,YAAY,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAA;AAChE,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../src/node/mod.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAEtC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,OAAO,KAAK,GAAG,MAAM,aAAa,CAAA;AAClC,OAAO,KAAK,YAAY,MAAM,uBAAuB,CAAA;AACrD,OAAO,KAAK,YAAY,MAAM,+BAA+B,CAAA;AAE7D,OAAO,KAAK,kBAAkB,MAAM,4CAA4C,CAAA;AAChF,OAAO,KAAK,kBAAkB,MAAM,4CAA4C,CAAA;AAEhF,yCAAyC;AACzC,6EAA6E;AAE7E,6EAA6E;AAE7E,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAuB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE;IAC3E,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;IAElC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,KAAK,EAAE,CAAA;IAChB,CAAC,CAAC,CAAA;IAEF,4CAA4C;IAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE;QACpB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;QAEhC,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;YACzB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC9C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QAC/F,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,wDAAwD;IACxD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;QACzB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACvE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,aAAa,GAAuC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;IAClF,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,EAAE,cAAc,EAAE,CAAC,CAAA;IAE7E,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CACvF,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,CACU,CAAA;IAE9C,OAAO,WAAW,CAAA;AACpB,CAAC,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,10 +1,9 @@
1
1
  {
2
2
  "name": "@livestore/utils",
3
- "version": "0.3.0-dev.33",
3
+ "version": "0.3.0-dev.34",
4
4
  "type": "module",
5
5
  "sideEffects": [
6
- "./dist/global.js",
7
- "./dist/node-vitest/polyfill.js"
6
+ "./dist/global.js"
8
7
  ],
9
8
  "exports": {
10
9
  ".": {
@@ -32,14 +31,6 @@
32
31
  "./bun": {
33
32
  "types": "./dist/bun/mod.d.ts",
34
33
  "default": "./dist/bun/mod.js"
35
- },
36
- "./node-vitest": {
37
- "types": "./dist/node-vitest/mod.d.ts",
38
- "default": "./dist/node-vitest/mod.js"
39
- },
40
- "./node-vitest-polyfill": {
41
- "types": "./dist/node-vitest/polyfill.d.ts",
42
- "default": "./dist/node-vitest/polyfill.js"
43
34
  }
44
35
  },
45
36
  "types": "./dist/index.d.ts",
@@ -59,12 +50,6 @@
59
50
  ],
60
51
  "./bun": [
61
52
  "./dist/bun/mod.d.ts"
62
- ],
63
- "./node-vitest": [
64
- "./dist/node-vitest/mod.d.ts"
65
- ],
66
- "./node-vitest-polyfill": [
67
- "./dist/node-vitest/polyfill.d.ts"
68
53
  ]
69
54
  }
70
55
  },
@@ -90,12 +75,7 @@
90
75
  "@effect/typeclass": "^0.33.8",
91
76
  "@effect/vitest": "^0.20.8",
92
77
  "@opentelemetry/api": "^1.9.0",
93
- "@opentelemetry/exporter-metrics-otlp-http": "^0.200.0",
94
- "@opentelemetry/exporter-trace-otlp-http": "^0.200.0",
95
78
  "@opentelemetry/resources": "^2.0.0",
96
- "@opentelemetry/sdk-metrics": "^2.0.0",
97
- "@opentelemetry/sdk-trace-base": "^2.0.0",
98
- "@opentelemetry/sdk-trace-node": "^2.0.0",
99
79
  "@types/bun": "^1.2.4",
100
80
  "@types/jsdom": "^21.1.7",
101
81
  "@types/node": "^22.13.10",
@@ -104,6 +84,11 @@
104
84
  "jsdom": "^26.0.0",
105
85
  "vitest": "^3.1.1"
106
86
  },
87
+ "files": [
88
+ "package.json",
89
+ "src",
90
+ "dist"
91
+ ],
107
92
  "peerDependencies": {
108
93
  "@effect/cli": "~0.59.8",
109
94
  "@effect/cluster": "~0.29.17",
@@ -118,8 +103,8 @@
118
103
  "@effect/rpc": "~0.55.12",
119
104
  "@effect/sql": "~0.33.8",
120
105
  "@effect/typeclass": "~0.33.8",
121
- "@effect/vitest": "~0.20.8",
122
106
  "@opentelemetry/api": "~1.9.0",
107
+ "@opentelemetry/resources": "~2.0.0",
123
108
  "effect": "~3.14.8"
124
109
  },
125
110
  "publishConfig": {
@@ -84,7 +84,6 @@ export { ParseResult, Pretty } from 'effect'
84
84
  export type { Serializable, SerializableWithResult } from 'effect/Schema'
85
85
  export * as Schema from './Schema/index.js'
86
86
  export * as OtelTracer from '@effect/opentelemetry/Tracer'
87
- // export * as OtelResource from '@effect/opentelemetry/Resource'
88
87
  export * as TaskTracing from './TaskTracing.js'
89
88
 
90
89
  export {
package/src/env.ts CHANGED
@@ -40,3 +40,5 @@ export const LS_DEV = env('LS_DEV') !== undefined || env('VITE_LS_DEV') !== unde
40
40
  const envTruish = (env: string | undefined) => env !== undefined && env !== 'false' && env !== '0'
41
41
 
42
42
  export const IS_CI = envTruish(env('CI'))
43
+
44
+ export const IS_BUN = typeof Bun !== 'undefined'
package/src/node/mod.ts CHANGED
@@ -1,28 +1,13 @@
1
1
  import * as http from 'node:http'
2
2
 
3
- import * as OtelNodeSdk from '@effect/opentelemetry/NodeSdk'
4
- import type * as otel from '@opentelemetry/api'
5
- import { OTLPMetricExporter } from '@opentelemetry/exporter-metrics-otlp-http'
6
- import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http'
7
- import { PeriodicExportingMetricReader } from '@opentelemetry/sdk-metrics'
8
- import { BatchSpanProcessor } from '@opentelemetry/sdk-trace-base'
9
- import { Config, Effect, Layer } from 'effect'
10
- import type { ParentSpan } from 'effect/Tracer'
3
+ import { Effect, Layer } from 'effect'
11
4
 
12
- import { tapCauseLogPretty } from '../effect/Effect.js'
13
5
  import { OtelTracer, UnknownError } from '../effect/index.js'
14
6
  import { makeNoopTracer } from '../NoopTracer.js'
15
7
 
16
- // import { tapCauseLogPretty } from '../effect/Effect.js'
17
-
18
8
  export * as Cli from '@effect/cli'
19
9
  export * as PlatformNode from '@effect/platform-node'
20
10
  export * as SocketServer from '@effect/platform/SocketServer'
21
- export * as OtelResource from '@effect/opentelemetry/Resource'
22
-
23
- export { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http'
24
- export { OTLPMetricExporter } from '@opentelemetry/exporter-metrics-otlp-http'
25
- export * as OtelNodeSdk from '@effect/opentelemetry/NodeSdk'
26
11
 
27
12
  export * as ChildProcessRunner from './ChildProcessRunner/ChildProcessRunner.js'
28
13
  export * as ChildProcessWorker from './ChildProcessRunner/ChildProcessWorker.js'
@@ -66,88 +51,3 @@ export const OtelLiveDummy: Layer.Layer<OtelTracer.OtelTracer> = Layer.suspend((
66
51
 
67
52
  return TracingLive
68
53
  })
69
-
70
- export const OtelLiveHttp = ({
71
- serviceName,
72
- rootSpanName,
73
- skipLogUrl,
74
- }: { serviceName?: string; rootSpanName?: string; skipLogUrl?: boolean } = {}): Layer.Layer<
75
- OtelTracer.OtelTracer | ParentSpan,
76
- never,
77
- never
78
- > =>
79
- Effect.gen(function* () {
80
- const config = yield* Config.all({
81
- exporterUrl: Config.string('OTEL_EXPORTER_OTLP_ENDPOINT'),
82
- serviceName: serviceName
83
- ? Config.succeed(serviceName)
84
- : Config.string('OTEL_SERVICE_NAME').pipe(Config.withDefault('overtone-node-utils-default-service')),
85
- rootSpanName: rootSpanName
86
- ? Config.succeed(rootSpanName)
87
- : Config.string('OTEL_ROOT_SPAN_NAME').pipe(Config.withDefault('RootSpan')),
88
- }).pipe(tapCauseLogPretty, Effect.orDie)
89
-
90
- const resource = { serviceName: config.serviceName }
91
-
92
- // METRICS
93
- const metricExporter = new OTLPMetricExporter({ url: `${config.exporterUrl}/v1/metrics` })
94
-
95
- const metricReader = new PeriodicExportingMetricReader({
96
- exporter: metricExporter,
97
- exportIntervalMillis: 1000,
98
- })
99
-
100
- // TRACING
101
- const OtelLive = OtelNodeSdk.layer(() => ({
102
- resource,
103
- metricReader,
104
- spanProcessor: new BatchSpanProcessor(
105
- new OTLPTraceExporter({ url: `${config.exporterUrl}/v1/traces`, headers: {} }),
106
- ),
107
- }))
108
-
109
- const RootSpanLive = Layer.span(config.rootSpanName, {
110
- attributes: { config },
111
- onEnd: skipLogUrl ? undefined : (span: any) => logTraceUiUrlForSpan()(span.span),
112
- })
113
-
114
- return RootSpanLive.pipe(Layer.provideMerge(OtelLive))
115
- }).pipe(Layer.unwrapEffect) as any
116
-
117
- export const logTraceUiUrlForSpan = (printMsg?: (url: string) => string) => (span: otel.Span) =>
118
- getTracingBackendUrl(span).pipe(
119
- Effect.tap((url) => {
120
- if (url === undefined) {
121
- return Effect.logWarning('No tracing backend url found')
122
- } else {
123
- if (printMsg) {
124
- return Effect.log(printMsg(url))
125
- } else {
126
- return Effect.log(`Trace URL: ${url}`)
127
- }
128
- }
129
- }),
130
- )
131
-
132
- export const getTracingBackendUrl = (span: otel.Span) =>
133
- Effect.gen(function* () {
134
- const endpoint = yield* Config.string('GRAFANA_ENDPOINT').pipe(Config.option, Effect.orDie)
135
- if (endpoint._tag === 'None') return
136
-
137
- const traceId = span.spanContext().traceId
138
-
139
- // Grafana + Tempo
140
-
141
- const grafanaEndpoint = endpoint.value
142
- const searchParams = new URLSearchParams({
143
- orgId: '1',
144
- left: JSON.stringify({
145
- datasource: 'tempo',
146
- queries: [{ query: traceId, queryType: 'traceql', refId: 'A' }],
147
- range: { from: 'now-1h', to: 'now' },
148
- }),
149
- })
150
-
151
- // TODO make dynamic via env var
152
- return `${grafanaEndpoint}/explore?${searchParams.toString()}`
153
- })
@@ -1,29 +0,0 @@
1
- /// <reference lib="es2024" />
2
-
3
- import { Effect, Logger } from 'effect'
4
-
5
- const main = Effect.gen(function* () {
6
- yield* Effect.addFinalizer((_) => Effect.log('finalizer', _))
7
-
8
- // const finished = yield* Deferred.make<void>()
9
-
10
- const def = Promise.withResolvers()
11
-
12
- setTimeout(() => {
13
- def.resolve(undefined)
14
- }, 1000)
15
-
16
- console.log('awaiting')
17
-
18
- // const fiber = yield* Deferred.await(finished).pipe(Effect.fork)
19
- // yield* Fiber.join(fiber)
20
- // yield* finished
21
- yield* Effect.promise(() => def.promise)
22
- console.log('finished')
23
- })
24
-
25
- main
26
- .pipe(Effect.scoped, Effect.provide(Logger.pretty), Effect.tapErrorCause(Effect.logError), Effect.runPromise)
27
- .finally(() => {
28
- console.log('finally')
29
- })
@@ -1,93 +0,0 @@
1
- /// <reference lib="es2024" />
2
- import * as NodePlatform from '@effect/platform-node'
3
- import { Deferred, Effect, FiberSet, Logger, Ref, Scheduler } from 'effect'
4
-
5
- const main = Effect.gen(function* () {
6
- const semaphore = yield* Effect.makeSemaphore(1)
7
-
8
- const fiberset = yield* FiberSet.make()
9
-
10
- // setInterval(() => {
11
- // // semaphore.release(1)
12
- // }, 1_000_000)
13
-
14
- const stateRef = yield* Ref.make<'open' | 'closed'>('open')
15
-
16
- // let counter = 0
17
- // const nextExpectedCounter = 0
18
- // const def = Promise.withResolvers()
19
-
20
- const finished = yield* Deferred.make<void>()
21
-
22
- const MAX = 100
23
-
24
- const doWorkWithSemaphore = (counter: number) =>
25
- Effect.gen(function* () {
26
- // yield* Effect.log(`doWorkWithSemaphore: ${counter} - waiting for semaphore`)
27
- // yield* semaphore.take(1)
28
- // if (counter !== nextExpectedCounter) {
29
- // throw new Error(`Expected counter ${nextExpectedCounter} but got ${counter}`)
30
- // }
31
- // nextExpectedCounter = counter + 1
32
- yield* Effect.log(`doWorkWithSemaphore: ${counter} - got semaphore`)
33
- // setTimeout(() => {}, 120)
34
- yield* Effect.sleep(40)
35
- // yield* Effect.yieldNow()
36
- yield* Effect.log(`doWorkWithSemaphore: ${counter} - releasing semaphore`)
37
- yield* Ref.set(stateRef, 'open')
38
- yield* semaphore.release(1)
39
-
40
- if (counter === MAX - 1) {
41
- yield* Deferred.succeed(finished, undefined)
42
- // def.resolve(undefined)
43
- }
44
- }).pipe(Effect.scoped)
45
-
46
- for (let i = 0; i < MAX; i++) {
47
- yield* doWorkWithSemaphore(i).pipe(FiberSet.run(fiberset))
48
- // yield* Effect.sleep(20)
49
- yield* Effect.gen(function* () {
50
- const state = yield* Ref.get(stateRef)
51
- if (state === 'open') {
52
- yield* Effect.logWarning(`loop: ${i} - semaphore is open, taking`)
53
- } else {
54
- yield* Effect.log(`loop: ${i} - semaphore is closed, waiting`)
55
- }
56
-
57
- yield* semaphore.take(1)
58
- yield* Ref.set(stateRef, 'closed')
59
-
60
- yield* doWorkWithSemaphore(i).pipe(Effect.fork)
61
-
62
- const sleepTime = Math.random() * 40
63
- yield* Effect.log(`loop: ${i} - sleeping for ${sleepTime}ms`)
64
- yield* Effect.sleep(sleepTime)
65
-
66
- // yield* Effect.yieldNow()
67
- }).pipe(FiberSet.run(fiberset))
68
- }
69
-
70
- // yield* Effect.never
71
-
72
- yield* finished
73
- // yield* Effect.promise(() => def.promise)
74
- // console.log('finished')
75
- })
76
-
77
- export const messageChannel = (shouldYield: Scheduler.Scheduler['shouldYield'] = Scheduler.defaultShouldYield) =>
78
- Scheduler.makeBatched((task) => {
79
- const messageChannel = new MessageChannel()
80
-
81
- messageChannel.port1.postMessage(undefined)
82
-
83
- // eslint-disable-next-line unicorn/prefer-add-event-listener
84
- messageChannel.port2.onmessage = task
85
- }, shouldYield)
86
-
87
- main.pipe(
88
- Effect.scoped,
89
- Effect.provide(Logger.pretty),
90
- Effect.tapErrorCause(Effect.logError),
91
- Effect.withScheduler(messageChannel()),
92
- NodePlatform.NodeRuntime.runMain,
93
- )
package/tmp/pack.tgz DELETED
Binary file
package/tsconfig.json DELETED
@@ -1,10 +0,0 @@
1
- {
2
- "extends": "../../../tsconfig.base.json",
3
- "compilerOptions": {
4
- "rootDir": "./src",
5
- "outDir": "./dist",
6
- "tsBuildInfoFile": "./dist/.tsbuildinfo.json"
7
- },
8
- "include": ["./src"],
9
- "references": []
10
- }