chitin-openclaw-plugin 0.3.1 → 0.3.2

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 (2) hide show
  1. package/dist/index.js +30 -0
  2. package/package.json +10 -5
package/dist/index.js CHANGED
@@ -18,6 +18,11 @@ import { BatchSpanProcessor } from "@opentelemetry/sdk-trace-node";
18
18
  import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-http";
19
19
  import { Resource } from "@opentelemetry/resources";
20
20
  import { ATTR_SERVICE_NAME } from "@opentelemetry/semantic-conventions";
21
+ import { HttpInstrumentation } from "@opentelemetry/instrumentation-http";
22
+ import { UndiciInstrumentation } from "@opentelemetry/instrumentation-undici";
23
+ import { logs, SeverityNumber } from "@opentelemetry/api-logs";
24
+ import { LoggerProvider, BatchLogRecordProcessor } from "@opentelemetry/sdk-logs";
25
+ import { OTLPLogExporter } from "@opentelemetry/exporter-logs-otlp-http";
21
26
  var ERC20_ABI = parseAbi([
22
27
  "function balanceOf(address) view returns (uint256)",
23
28
  "function transferAndCall(address to, uint256 amount, bytes data) returns (bool)",
@@ -162,6 +167,17 @@ var plugin = {
162
167
  ]
163
168
  });
164
169
  provider.register();
170
+ new HttpInstrumentation().enable();
171
+ new UndiciInstrumentation().enable();
172
+ const logProvider = new LoggerProvider({
173
+ resource: new Resource({ [ATTR_SERVICE_NAME]: "chitin-plugin" }),
174
+ processors: [
175
+ new BatchLogRecordProcessor(
176
+ new OTLPLogExporter({ url: `${endpoint}/v1/logs`, headers: headerObj })
177
+ )
178
+ ]
179
+ });
180
+ logs.setGlobalLoggerProvider(logProvider);
165
181
  tracer = trace.getTracer("chitin-plugin");
166
182
  api.logger.info(`[chitin] OTel initialized \u2014 endpoint=${endpoint}`);
167
183
  const span = tracer.startSpan("plugin.loaded");
@@ -175,6 +191,20 @@ var plugin = {
175
191
  } catch (err) {
176
192
  api.logger.warn(`[chitin] OTel init failed (non-fatal): ${err.message}`);
177
193
  }
194
+ const otelLogger = logs.getLogger("chitin-plugin");
195
+ const originalLogger = { ...api.logger };
196
+ const severityMap = {
197
+ info: SeverityNumber.INFO,
198
+ warn: SeverityNumber.WARN,
199
+ error: SeverityNumber.ERROR,
200
+ debug: SeverityNumber.DEBUG
201
+ };
202
+ for (const level of ["info", "warn", "error", "debug"]) {
203
+ api.logger[level] = (msg, ...args) => {
204
+ originalLogger[level](msg, ...args);
205
+ otelLogger.emit({ severityNumber: severityMap[level], severityText: level.toUpperCase(), body: msg });
206
+ };
207
+ }
178
208
  function withSpan(spanName, attrs, fn) {
179
209
  const span = tracer.startSpan(spanName, { attributes: attrs });
180
210
  return fn().then(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chitin-openclaw-plugin",
3
- "version": "0.3.1",
3
+ "version": "0.3.2",
4
4
  "description": "OpenClaw plugin for Chitin Casino — wallet management and poker game connection",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -25,15 +25,20 @@
25
25
  "extensions": ["./dist/index.js"]
26
26
  },
27
27
  "scripts": {
28
- "build": "tsup src/index.ts --format esm --dts",
28
+ "build": "tsup src/index.ts --format esm",
29
29
  "dev": "tsup src/index.ts --format esm --watch",
30
30
  "prepublishOnly": "npm run build"
31
31
  },
32
32
  "dependencies": {
33
33
  "@opentelemetry/api": "^1.9.0",
34
- "@opentelemetry/exporter-trace-otlp-http": "^0.57.0",
35
- "@opentelemetry/resources": "^1.30.0",
36
- "@opentelemetry/sdk-trace-node": "^1.30.0",
34
+ "@opentelemetry/api-logs": "^0.214.0",
35
+ "@opentelemetry/exporter-logs-otlp-http": "^0.214.0",
36
+ "@opentelemetry/exporter-trace-otlp-http": "^0.214.0",
37
+ "@opentelemetry/instrumentation-http": "^0.214.0",
38
+ "@opentelemetry/instrumentation-undici": "^0.24.0",
39
+ "@opentelemetry/resources": "^2.6.0",
40
+ "@opentelemetry/sdk-logs": "^0.214.0",
41
+ "@opentelemetry/sdk-trace-node": "^2.6.0",
37
42
  "@opentelemetry/semantic-conventions": "^1.28.0",
38
43
  "viem": "^2.0.0",
39
44
  "ws": "^8.0.0"