@teith/openclaw-runware-provider 0.4.3 → 0.4.4

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":"cost-metric.d.ts","sourceRoot":"","sources":["../src/cost-metric.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AAiFH,wBAAgB,qBAAqB,CAAC,IAAI,CAAC,EAAE;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,IAAI,CAiCP"}
1
+ {"version":3,"file":"cost-metric.d.ts","sourceRoot":"","sources":["../src/cost-metric.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AAgHH,wBAAgB,qBAAqB,CAAC,IAAI,CAAC,EAAE;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,IAAI,CA6CP"}
@@ -51,10 +51,10 @@
51
51
  * openclaw.json — i.e. the manager. The trajectory file is written
52
52
  * unconditionally and is plugin-readable, so no config flag needed.
53
53
  */
54
- import { createReadStream } from "node:fs";
55
- import { readdir, stat } from "node:fs/promises";
54
+ import { createReadStream, writeFileSync } from "node:fs";
55
+ import { mkdir, readdir, readFile, rename, stat, writeFile } from "node:fs/promises";
56
56
  import { homedir } from "node:os";
57
- import { join } from "node:path";
57
+ import { dirname, join } from "node:path";
58
58
  import { fetchModels } from "./catalog.js";
59
59
  import { resolveApiKey, resolveBaseUrl } from "./models.js";
60
60
  const GLOBAL_KEY = "__runware_openclaw_cost_metric__";
@@ -64,6 +64,9 @@ const RUNWARE_PROVIDER = "runware";
64
64
  const METER_NAME = "runware-openclaw-provider";
65
65
  const METRIC_NAME = "openclaw.cost.usd";
66
66
  const TARGET_ENTRY_TYPE = "model.completed";
67
+ const STATE_FILE_NAME = "runware-cost-state.json";
68
+ const STATE_SCHEMA_VERSION = 1;
69
+ const SAVE_DEBOUNCE_MS = 1000;
67
70
  function loadState() {
68
71
  const g = globalThis;
69
72
  const existing = g[GLOBAL_KEY];
@@ -83,6 +86,13 @@ function loadState() {
83
86
  warnedMissingPricing: new Set(),
84
87
  warnedNoApiKey: false,
85
88
  warnedPricingFetchFailed: false,
89
+ cumulativeByAttrs: new Map(),
90
+ stateFilePath: "",
91
+ saveTimer: null,
92
+ provider: null,
93
+ shutdownHandlersRegistered: false,
94
+ warnedSaveFailed: false,
95
+ persistedLoadedLogged: false,
86
96
  };
87
97
  g[GLOBAL_KEY] = fresh;
88
98
  return fresh;
@@ -96,12 +106,25 @@ export function startCostMetricPoller(opts) {
96
106
  process.env.OPENCLAW_HOME ??
97
107
  join(homedir(), ".openclaw");
98
108
  const intervalMs = opts?.intervalMs ?? POLL_INTERVAL_MS;
99
- state.counterInit = initCounter()
100
- .then((counter) => {
109
+ state.stateFilePath = join(openclawHome, STATE_FILE_NAME);
110
+ // Bring-up sequence:
111
+ // 1. stand up the OTel meter + counter (provider handle stored in state)
112
+ // 2. load persisted cumulative + per-file offsets from PVC
113
+ // 3. replay cumulative into the fresh counter and force-flush, so the
114
+ // next OTLP export carries the restored value; without this the
115
+ // first scrape after restart sees the counter at 0 and Prometheus
116
+ // counter-reset detection mis-attributes the jump
117
+ // 4. arm shutdown handlers so state survives SIGTERM
118
+ state.counterInit = (async () => {
119
+ const counter = await initCounter(state);
101
120
  state.counter = counter;
102
- })
103
- .catch((err) => {
104
- console.warn("[runware-cost-metric] OTel init failed:", err);
121
+ if (!counter)
122
+ return;
123
+ await restoreFromDisk(state);
124
+ await replayPersistedCumulative(state);
125
+ registerShutdownHandlers(state);
126
+ })().catch((err) => {
127
+ console.warn("[runware-cost-metric] init failed:", err);
105
128
  state.counter = null;
106
129
  });
107
130
  const tick = () => {
@@ -113,7 +136,7 @@ export function startCostMetricPoller(opts) {
113
136
  state.intervalHandle = handle;
114
137
  if (typeof handle.unref === "function")
115
138
  handle.unref();
116
- console.log(`[runware-cost-metric] started, intervalMs=${intervalMs} openclawHome=${openclawHome}`);
139
+ console.log(`[runware-cost-metric] started, intervalMs=${intervalMs} openclawHome=${openclawHome} stateFile=${state.stateFilePath}`);
117
140
  }
118
141
  async function loadSharedOtelApi() {
119
142
  const { createRequire } = await import("node:module");
@@ -179,9 +202,9 @@ async function loadSharedOtelApi() {
179
202
  * already live in /app/node_modules (diagnostics-otel uses them) — we load
180
203
  * by absolute path, same trick as @opentelemetry/api.
181
204
  */
182
- async function initCounter() {
205
+ async function initCounter(state) {
183
206
  try {
184
- return await initOwnMeterProvider();
207
+ return await initOwnMeterProvider(state);
185
208
  }
186
209
  catch (err) {
187
210
  console.warn("[runware-cost-metric] own MeterProvider setup failed:", err instanceof Error ? err.message : err);
@@ -189,7 +212,7 @@ async function initCounter() {
189
212
  return await initGlobalMeterFallback();
190
213
  }
191
214
  }
192
- async function initOwnMeterProvider() {
215
+ async function initOwnMeterProvider(state) {
193
216
  const { createRequire } = await import("node:module");
194
217
  const requireFn = createRequire(import.meta.url);
195
218
  const sdkMetrics = requireFn("/app/node_modules/@opentelemetry/sdk-metrics");
@@ -211,12 +234,11 @@ async function initOwnMeterProvider() {
211
234
  readers: [reader],
212
235
  resource,
213
236
  });
214
- const shutdown = () => {
215
- provider.shutdown().catch(() => undefined);
216
- };
217
- process.once("beforeExit", shutdown);
218
- process.once("SIGTERM", shutdown);
219
- process.once("SIGINT", shutdown);
237
+ // Store handle for forceFlush() right after persistence replay and for
238
+ // graceful shutdown. Lifecycle hooks (SIGTERM/SIGINT/beforeExit) are
239
+ // attached centrally in registerShutdownHandlers() so they also save
240
+ // cost-state.json before the process exits.
241
+ state.provider = provider;
220
242
  console.log(`[runware-cost-metric] own MeterProvider initialized, OTLP -> ${endpoint}`);
221
243
  // No `unit` here: the OTLP→Prometheus translation appends the unit suffix
222
244
  // to the metric name (`openclaw_cost_usd_USD_total`), which we don't want.
@@ -316,6 +338,10 @@ async function pollOnce(openclawHome, state) {
316
338
  for (const agent of agents) {
317
339
  await pollSessionsDir(join(agentsDir, agent, "sessions"), state);
318
340
  }
341
+ // File offsets may have advanced this tick; debounced save persists them
342
+ // so a pod restart resumes from the same byte and doesn't re-emit cost
343
+ // for entries already counted.
344
+ scheduleSave(state);
319
345
  }
320
346
  async function pollSessionsDir(sessionsDir, state) {
321
347
  let entries;
@@ -473,6 +499,8 @@ function emitFromEntry(entry, state) {
473
499
  attrs["openclaw.channel"] = channel;
474
500
  try {
475
501
  state.counter.add(costUsd, attrs);
502
+ accumulateCumulative(state, attrs, costUsd);
503
+ scheduleSave(state);
476
504
  if (!state.emittedAny) {
477
505
  state.emittedAny = true;
478
506
  console.log(`[runware-cost-metric] first emit: ${costUsd.toFixed(6)} USD attrs=${JSON.stringify(attrs)} tokens=${JSON.stringify({ input, output, cacheRead, cacheWrite })}`);
@@ -508,4 +536,209 @@ function isRecord(v) {
508
536
  function nonNegNumber(v) {
509
537
  return typeof v === "number" && Number.isFinite(v) && v >= 0 ? v : 0;
510
538
  }
539
+ // ──────────────────────────────────────────────────────────────────────────
540
+ // Persistence
541
+ //
542
+ // Counter state survives pod restarts via a single JSON file on the same
543
+ // PVC that holds trajectory.jsonl. Without this, a counter restart looks
544
+ // like a counter reset to Prometheus, and `increase()` over windows that
545
+ // span a restart silently double-counts. Two pieces of state are saved:
546
+ //
547
+ // 1. cumulativeByAttrs — cumulative USD per (provider, model, channel)
548
+ // label combination, replayed into the new counter at startup via
549
+ // counter.add(persisted) so the next scrape sees the full value
550
+ // immediately (forceFlush minimizes the export-interval gap).
551
+ //
552
+ // 2. fileOffsets — last-consumed byte per trajectory.jsonl file plus
553
+ // the leading-bytes fingerprint that pollSessionFile uses for
554
+ // rotation detection. Restoring these prevents re-reading entries
555
+ // that were already counted before the restart.
556
+ // ──────────────────────────────────────────────────────────────────────────
557
+ /**
558
+ * Deterministic key for a label set. Sorting before stringify guarantees
559
+ * the same attrs always produce the same key across processes.
560
+ */
561
+ function attrsKey(attrs) {
562
+ const keys = Object.keys(attrs).sort();
563
+ const ordered = {};
564
+ for (const k of keys)
565
+ ordered[k] = attrs[k];
566
+ return JSON.stringify(ordered);
567
+ }
568
+ function accumulateCumulative(state, attrs, delta) {
569
+ const key = attrsKey(attrs);
570
+ const prev = state.cumulativeByAttrs.get(key);
571
+ if (prev) {
572
+ prev.costUsd += delta;
573
+ }
574
+ else {
575
+ state.cumulativeByAttrs.set(key, { attrs: { ...attrs }, costUsd: delta });
576
+ }
577
+ }
578
+ async function restoreFromDisk(state) {
579
+ let raw;
580
+ try {
581
+ raw = await readFile(state.stateFilePath, "utf8");
582
+ }
583
+ catch (err) {
584
+ if (err.code !== "ENOENT") {
585
+ console.warn(`[runware-cost-metric] could not read state file ${state.stateFilePath}:`, err instanceof Error ? err.message : err);
586
+ }
587
+ return;
588
+ }
589
+ let parsed;
590
+ try {
591
+ parsed = JSON.parse(raw);
592
+ }
593
+ catch (err) {
594
+ console.warn(`[runware-cost-metric] state file ${state.stateFilePath} is corrupted, ignoring:`, err instanceof Error ? err.message : err);
595
+ return;
596
+ }
597
+ if (parsed.schemaVersion !== STATE_SCHEMA_VERSION) {
598
+ console.warn(`[runware-cost-metric] state schema mismatch (got ${parsed.schemaVersion}, expected ${STATE_SCHEMA_VERSION}), ignoring`);
599
+ return;
600
+ }
601
+ if (Array.isArray(parsed.cumulativeByAttrs)) {
602
+ for (const entry of parsed.cumulativeByAttrs) {
603
+ if (!entry || typeof entry !== "object")
604
+ continue;
605
+ if (!entry.attrs || typeof entry.attrs !== "object")
606
+ continue;
607
+ if (typeof entry.costUsd !== "number" || !Number.isFinite(entry.costUsd))
608
+ continue;
609
+ if (entry.costUsd <= 0)
610
+ continue;
611
+ const key = attrsKey(entry.attrs);
612
+ state.cumulativeByAttrs.set(key, {
613
+ attrs: { ...entry.attrs },
614
+ costUsd: entry.costUsd,
615
+ });
616
+ }
617
+ }
618
+ if (Array.isArray(parsed.fileOffsets)) {
619
+ for (const entry of parsed.fileOffsets) {
620
+ if (!entry || typeof entry !== "object")
621
+ continue;
622
+ if (typeof entry.path !== "string" || entry.path.length === 0)
623
+ continue;
624
+ if (typeof entry.offset !== "number" || entry.offset < 0)
625
+ continue;
626
+ if (typeof entry.size !== "number" || entry.size < 0)
627
+ continue;
628
+ if (typeof entry.fingerprint !== "string")
629
+ continue;
630
+ state.fileStates.set(entry.path, {
631
+ offset: entry.offset,
632
+ size: entry.size,
633
+ fingerprint: entry.fingerprint,
634
+ });
635
+ }
636
+ }
637
+ if (!state.persistedLoadedLogged) {
638
+ state.persistedLoadedLogged = true;
639
+ console.log(`[runware-cost-metric] restored from ${state.stateFilePath}: ${state.cumulativeByAttrs.size} cumulative entries, ${state.fileStates.size} file offsets`);
640
+ }
641
+ }
642
+ async function replayPersistedCumulative(state) {
643
+ if (!state.counter)
644
+ return;
645
+ if (state.cumulativeByAttrs.size === 0)
646
+ return;
647
+ let replayed = 0;
648
+ let total = 0;
649
+ for (const { attrs, costUsd } of state.cumulativeByAttrs.values()) {
650
+ if (costUsd <= 0)
651
+ continue;
652
+ try {
653
+ state.counter.add(costUsd, attrs);
654
+ replayed++;
655
+ total += costUsd;
656
+ }
657
+ catch (err) {
658
+ console.error("[runware-cost-metric] replay counter.add failed for attrs", attrs, err);
659
+ }
660
+ }
661
+ // forceFlush so the first OTLP export carries the restored cumulative
662
+ // value immediately. Without this the first Prometheus scrape after
663
+ // restart sees 0, then 5s later sees the restored value — counter-reset
664
+ // detection downstream treats the jump as a fresh run from 0 and skews
665
+ // rate()/increase().
666
+ if (state.provider) {
667
+ try {
668
+ await state.provider.forceFlush();
669
+ }
670
+ catch (err) {
671
+ console.warn("[runware-cost-metric] forceFlush after replay failed:", err instanceof Error ? err.message : err);
672
+ }
673
+ }
674
+ console.log(`[runware-cost-metric] replayed ${replayed} cumulative entries totalling $${total.toFixed(6)} into counter`);
675
+ }
676
+ function buildSnapshot(state) {
677
+ return {
678
+ schemaVersion: STATE_SCHEMA_VERSION,
679
+ lastSavedAt: Date.now(),
680
+ cumulativeByAttrs: Array.from(state.cumulativeByAttrs.values()).map((entry) => ({ attrs: { ...entry.attrs }, costUsd: entry.costUsd })),
681
+ fileOffsets: Array.from(state.fileStates.entries()).map(([path, fs]) => ({
682
+ path,
683
+ offset: fs.offset,
684
+ size: fs.size,
685
+ fingerprint: fs.fingerprint,
686
+ })),
687
+ };
688
+ }
689
+ function scheduleSave(state) {
690
+ if (state.saveTimer)
691
+ return;
692
+ state.saveTimer = setTimeout(() => {
693
+ state.saveTimer = null;
694
+ saveStateNow(state).catch((err) => {
695
+ if (!state.warnedSaveFailed) {
696
+ state.warnedSaveFailed = true;
697
+ console.warn(`[runware-cost-metric] save failed (${state.stateFilePath}):`, err instanceof Error ? err.message : err);
698
+ }
699
+ });
700
+ }, SAVE_DEBOUNCE_MS);
701
+ if (typeof state.saveTimer.unref === "function")
702
+ state.saveTimer.unref();
703
+ }
704
+ async function saveStateNow(state) {
705
+ if (!state.stateFilePath)
706
+ return;
707
+ const snapshot = buildSnapshot(state);
708
+ // Atomic write: tmp → rename. Guarantees readers never see a truncated
709
+ // file if the process is killed mid-write.
710
+ const tmpPath = `${state.stateFilePath}.tmp`;
711
+ await mkdir(dirname(state.stateFilePath), { recursive: true });
712
+ await writeFile(tmpPath, JSON.stringify(snapshot), { encoding: "utf8" });
713
+ await rename(tmpPath, state.stateFilePath);
714
+ state.warnedSaveFailed = false;
715
+ }
716
+ function registerShutdownHandlers(state) {
717
+ if (state.shutdownHandlersRegistered)
718
+ return;
719
+ state.shutdownHandlersRegistered = true;
720
+ const flushAndShutdown = () => {
721
+ if (state.saveTimer) {
722
+ clearTimeout(state.saveTimer);
723
+ state.saveTimer = null;
724
+ }
725
+ // Sync best-effort save on shutdown. No atomic rename because async
726
+ // ops in shutdown handlers race against process exit; dataset is small
727
+ // (<100KB) so a single writeFileSync is fast enough. If it ever ends
728
+ // up partially written, restoreFromDisk catches the parse error and
729
+ // ignores the file on next startup — better than losing exit handler.
730
+ try {
731
+ writeFileSync(state.stateFilePath, JSON.stringify(buildSnapshot(state)), { encoding: "utf8" });
732
+ }
733
+ catch (err) {
734
+ console.warn("[runware-cost-metric] sync save on shutdown failed:", err instanceof Error ? err.message : err);
735
+ }
736
+ if (state.provider) {
737
+ state.provider.shutdown().catch(() => undefined);
738
+ }
739
+ };
740
+ process.once("beforeExit", flushAndShutdown);
741
+ process.once("SIGTERM", flushAndShutdown);
742
+ process.once("SIGINT", flushAndShutdown);
743
+ }
511
744
  //# sourceMappingURL=cost-metric.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cost-metric.js","sourceRoot":"","sources":["../src/cost-metric.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cost-metric.js","sourceRoot":"","sources":["../src/cost-metric.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@teith/openclaw-runware-provider",
3
- "version": "0.4.3",
3
+ "version": "0.4.4",
4
4
  "description": "OpenClaw provider plugin for Runware — unified OpenAI-compatible access to Claude, GPT, Gemini, Qwen, GLM, MiniMax, Kimi, and Gemma.",
5
5
  "license": "MIT",
6
6
  "type": "module",