@polka-codes/runner 0.9.91 → 0.9.92

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 +48 -5
  2. package/package.json +3 -3
package/dist/index.js CHANGED
@@ -37643,7 +37643,7 @@ var require_mimeScore = __commonJS((exports, module) => {
37643
37643
 
37644
37644
  // ../../node_modules/sql.js/dist/sql-wasm.js
37645
37645
  var require_sql_wasm = __commonJS((exports, module) => {
37646
- var __dirname = "/Users/xiliangchen/projects/polka-codes/node_modules/sql.js/dist";
37646
+ var __dirname = "/home/ubuntu/polka-codes/node_modules/sql.js/dist";
37647
37647
  var initSqlJsPromise = undefined;
37648
37648
  var initSqlJs = function(moduleConfig) {
37649
37649
  if (initSqlJsPromise) {
@@ -42783,7 +42783,7 @@ var {
42783
42783
  Help
42784
42784
  } = import__.default;
42785
42785
  // package.json
42786
- var version = "0.9.91";
42786
+ var version = "0.9.92";
42787
42787
 
42788
42788
  // src/runner.ts
42789
42789
  import { execSync } from "node:child_process";
@@ -56441,12 +56441,12 @@ var toolConfigSchema = exports_external.union([
56441
56441
  var memoryConfigSchema = exports_external.object({
56442
56442
  enabled: exports_external.boolean().optional().default(true),
56443
56443
  type: exports_external.enum(["sqlite", "memory"]).optional().default("sqlite"),
56444
- path: exports_external.string().optional().default("~/.config/polka-codes/memory.sqlite")
56444
+ path: exports_external.string().optional().default("~/.config/polkacodes/memory/memory.sqlite")
56445
56445
  }).strict().optional();
56446
56446
  var DEFAULT_MEMORY_CONFIG = {
56447
56447
  enabled: true,
56448
56448
  type: "sqlite",
56449
- path: "~/.config/polka-codes/memory.sqlite"
56449
+ path: "~/.config/polkacodes/memory/memory.sqlite"
56450
56450
  };
56451
56451
  function resolveHomePath(path) {
56452
56452
  if (path.startsWith("~")) {
@@ -57815,6 +57815,7 @@ var writeToFile_default = {
57815
57815
  // ../core/src/UsageMeter.ts
57816
57816
  class UsageMeter {
57817
57817
  #totals = { input: 0, output: 0, cachedRead: 0, cost: 0, messageCount: 0 };
57818
+ #providerMetadataEntries = [];
57818
57819
  #modelInfos;
57819
57820
  #maxMessages;
57820
57821
  #maxCost;
@@ -57896,8 +57897,17 @@ class UsageMeter {
57896
57897
  this.#totals.cachedRead += result.cachedRead || 0;
57897
57898
  this.#totals.cost += result.cost || 0;
57898
57899
  this.#totals.messageCount += 1;
57900
+ if (resp.providerMetadata && Object.keys(resp.providerMetadata).length > 0) {
57901
+ const providerKey = Object.keys(resp.providerMetadata)[0];
57902
+ this.#providerMetadataEntries.push({
57903
+ provider: providerKey || llm.provider,
57904
+ model: llm.modelId,
57905
+ metadata: resp.providerMetadata[providerKey] || resp.providerMetadata,
57906
+ timestamp: Date.now()
57907
+ });
57908
+ }
57899
57909
  }
57900
- setUsage(newUsage) {
57910
+ setUsage(newUsage, options = {}) {
57901
57911
  if (newUsage.input != null)
57902
57912
  this.#totals.input = newUsage.input;
57903
57913
  if (newUsage.output != null)
@@ -57908,12 +57918,16 @@ class UsageMeter {
57908
57918
  this.#totals.cost = newUsage.cost;
57909
57919
  if (newUsage.messageCount != null)
57910
57920
  this.#totals.messageCount = newUsage.messageCount;
57921
+ if (options.clearMetadata) {
57922
+ this.#providerMetadataEntries = [];
57923
+ }
57911
57924
  }
57912
57925
  incrementMessageCount(n = 1) {
57913
57926
  this.#totals.messageCount += n;
57914
57927
  }
57915
57928
  resetUsage() {
57916
57929
  this.#totals = { input: 0, output: 0, cachedRead: 0, cost: 0, messageCount: 0 };
57930
+ this.#providerMetadataEntries = [];
57917
57931
  }
57918
57932
  isLimitExceeded() {
57919
57933
  const messageCount = this.#maxMessages > 0 && this.#totals.messageCount >= this.#maxMessages;
@@ -57935,6 +57949,34 @@ class UsageMeter {
57935
57949
  get usage() {
57936
57950
  return { ...this.#totals };
57937
57951
  }
57952
+ get providerMetadata() {
57953
+ return [...this.#providerMetadataEntries];
57954
+ }
57955
+ get cacheStats() {
57956
+ const entries = this.#providerMetadataEntries;
57957
+ const totalRequests = entries.length;
57958
+ let totalCachedTokens = 0;
57959
+ let requestsWithCache = 0;
57960
+ for (const entry of entries) {
57961
+ const metadata = entry.metadata;
57962
+ const cachedTokens = metadata.cachedPromptTokens ?? metadata.cacheReadTokens ?? metadata.prompt_cache_hit_tokens ?? 0;
57963
+ if (cachedTokens > 0) {
57964
+ totalCachedTokens += cachedTokens;
57965
+ requestsWithCache++;
57966
+ }
57967
+ }
57968
+ const cacheHitRate = totalRequests > 0 ? requestsWithCache / totalRequests : 0;
57969
+ return {
57970
+ totalCachedTokens,
57971
+ totalRequests,
57972
+ requestsWithCache,
57973
+ cacheHitRate,
57974
+ entries: [...this.#providerMetadataEntries]
57975
+ };
57976
+ }
57977
+ clearProviderMetadata() {
57978
+ this.#providerMetadataEntries = [];
57979
+ }
57938
57980
  merge(other) {
57939
57981
  const otherUsage = other.usage;
57940
57982
  this.#totals.input += otherUsage.input;
@@ -57942,6 +57984,7 @@ class UsageMeter {
57942
57984
  this.#totals.cachedRead += otherUsage.cachedRead;
57943
57985
  this.#totals.cost += otherUsage.cost;
57944
57986
  this.#totals.messageCount += otherUsage.messageCount;
57987
+ this.#providerMetadataEntries.push(...other.providerMetadata);
57945
57988
  }
57946
57989
  getUsageText() {
57947
57990
  const u = this.usage;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@polka-codes/runner",
3
- "version": "0.9.91",
3
+ "version": "0.9.92",
4
4
  "license": "AGPL-3.0",
5
5
  "author": "github@polka.codes",
6
6
  "type": "module",
@@ -18,8 +18,8 @@
18
18
  },
19
19
  "dependencies": {
20
20
  "@ai-sdk/provider": "^2.0.1",
21
- "@polka-codes/cli-shared": "0.9.89",
22
- "@polka-codes/core": "0.9.89",
21
+ "@polka-codes/cli-shared": "0.9.91",
22
+ "@polka-codes/core": "0.9.91",
23
23
  "commander": "^14.0.2",
24
24
  "dotenv": "^17.2.3",
25
25
  "ignore": "^7.0.5",