@plurnk/plurnk-providers 1.5.0 → 1.6.1

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 (105) hide show
  1. package/.env.defaults +41 -34
  2. package/README.md +15 -0
  3. package/SPEC.md +242 -89
  4. package/dist/AiSdkProvider.d.ts +33 -33
  5. package/dist/AiSdkProvider.d.ts.map +1 -1
  6. package/dist/AiSdkProvider.js +442 -133
  7. package/dist/AiSdkProvider.js.map +1 -1
  8. package/dist/Mock.d.ts +10 -11
  9. package/dist/Mock.d.ts.map +1 -1
  10. package/dist/Mock.js +87 -25
  11. package/dist/Mock.js.map +1 -1
  12. package/dist/Pool.d.ts +9 -24
  13. package/dist/Pool.d.ts.map +1 -1
  14. package/dist/Pool.js +86 -25
  15. package/dist/Pool.js.map +1 -1
  16. package/dist/accounting.d.ts +5 -2
  17. package/dist/accounting.d.ts.map +1 -1
  18. package/dist/accounting.js +100 -16
  19. package/dist/accounting.js.map +1 -1
  20. package/dist/accountingPublic.d.ts +5 -0
  21. package/dist/accountingPublic.d.ts.map +1 -0
  22. package/dist/accountingPublic.js +3 -0
  23. package/dist/accountingPublic.js.map +1 -0
  24. package/dist/aiSdkTransport.d.ts +9 -2
  25. package/dist/aiSdkTransport.d.ts.map +1 -1
  26. package/dist/aiSdkTransport.js +160 -62
  27. package/dist/aiSdkTransport.js.map +1 -1
  28. package/dist/capacity.d.ts +26 -0
  29. package/dist/capacity.d.ts.map +1 -0
  30. package/dist/capacity.js +90 -0
  31. package/dist/capacity.js.map +1 -0
  32. package/dist/catalogProvider.d.ts +8 -3
  33. package/dist/catalogProvider.d.ts.map +1 -1
  34. package/dist/catalogProvider.js +45 -41
  35. package/dist/catalogProvider.js.map +1 -1
  36. package/dist/compatibleProvider.d.ts.map +1 -1
  37. package/dist/compatibleProvider.js +26 -12
  38. package/dist/compatibleProvider.js.map +1 -1
  39. package/dist/cost.d.ts +10 -10
  40. package/dist/cost.d.ts.map +1 -1
  41. package/dist/cost.js +90 -42
  42. package/dist/cost.js.map +1 -1
  43. package/dist/env.d.ts +13 -11
  44. package/dist/env.d.ts.map +1 -1
  45. package/dist/env.js +83 -46
  46. package/dist/env.js.map +1 -1
  47. package/dist/errors.d.ts +17 -3
  48. package/dist/errors.d.ts.map +1 -1
  49. package/dist/errors.js +91 -8
  50. package/dist/errors.js.map +1 -1
  51. package/dist/index.d.ts +7 -6
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +5 -3
  54. package/dist/index.js.map +1 -1
  55. package/dist/ollama.js +3 -3
  56. package/dist/ollama.js.map +1 -1
  57. package/dist/promptTokens.d.ts.map +1 -1
  58. package/dist/promptTokens.js +7 -4
  59. package/dist/promptTokens.js.map +1 -1
  60. package/dist/sdkModels.d.ts +7 -2
  61. package/dist/sdkModels.d.ts.map +1 -1
  62. package/dist/sdkModels.js +43 -13
  63. package/dist/sdkModels.js.map +1 -1
  64. package/dist/types.d.ts +55 -33
  65. package/dist/types.d.ts.map +1 -1
  66. package/dist/usage.d.ts +22 -5
  67. package/dist/usage.d.ts.map +1 -1
  68. package/dist/usage.js +169 -83
  69. package/dist/usage.js.map +1 -1
  70. package/package.json +18 -7
  71. package/src/AiSdkProvider.test.ts +964 -206
  72. package/src/AiSdkProvider.ts +545 -155
  73. package/src/Mock.test.ts +69 -30
  74. package/src/Mock.ts +99 -29
  75. package/src/Pool.test.ts +90 -19
  76. package/src/Pool.ts +96 -27
  77. package/src/ProviderRegistry.test.ts +16 -11
  78. package/src/accounting.test.ts +58 -22
  79. package/src/accounting.ts +119 -18
  80. package/src/accountingPublic.ts +9 -0
  81. package/src/aiSdkTransport.test.ts +42 -49
  82. package/src/aiSdkTransport.ts +174 -62
  83. package/src/boundaries.test.ts +2 -0
  84. package/src/capacity.test.ts +92 -0
  85. package/src/capacity.ts +140 -0
  86. package/src/catalogProvider.test.ts +339 -30
  87. package/src/catalogProvider.ts +65 -47
  88. package/src/compatibleProvider.test.ts +7 -5
  89. package/src/compatibleProvider.ts +29 -13
  90. package/src/cost.test.ts +86 -36
  91. package/src/cost.ts +111 -50
  92. package/src/defaults.test.ts +13 -3
  93. package/src/env.test.ts +103 -25
  94. package/src/env.ts +153 -65
  95. package/src/errors.test.ts +80 -2
  96. package/src/errors.ts +107 -8
  97. package/src/index.ts +26 -7
  98. package/src/ollama.test.ts +5 -3
  99. package/src/ollama.ts +3 -3
  100. package/src/promptTokens.ts +8 -5
  101. package/src/sdkModels.test.ts +77 -8
  102. package/src/sdkModels.ts +51 -15
  103. package/src/types.ts +112 -51
  104. package/src/usage.test.ts +112 -116
  105. package/src/usage.ts +214 -93
package/dist/ollama.js CHANGED
@@ -1,12 +1,12 @@
1
1
  import { createOpenAICompatible } from "@ai-sdk/openai-compatible";
2
- import { contextWindowFromEnv, effectiveContextWindow, parseRequiredInt, requireEnv } from "./env.js";
2
+ import { contextWindowFromEnv, effectiveContextWindow, parseTimeoutMs, requireEnv } from "./env.js";
3
3
  import { providerFromSdkModel } from "./catalogProvider.js";
4
4
  const fetchContextWindow = async ({ baseUrl, model, timeout, }) => {
5
5
  const response = await fetch(`${baseUrl}/api/show`, {
6
6
  method: "POST",
7
7
  headers: { "Content-Type": "application/json" },
8
8
  body: JSON.stringify({ model }),
9
- signal: AbortSignal.timeout(timeout),
9
+ ...(timeout > 0 ? { signal: AbortSignal.timeout(timeout) } : {}),
10
10
  });
11
11
  if (!response.ok)
12
12
  throw new Error(`ollama provider: /api/show returned ${response.status}`);
@@ -20,7 +20,7 @@ const fetchContextWindow = async ({ baseUrl, model, timeout, }) => {
20
20
  export const ollamaProviderFromEnv = async (env, model, options) => {
21
21
  const configured = options?.baseUrl ?? env.OLLAMA_BASE_URL ?? env.OLLAMA_HOST;
22
22
  const baseUrl = requireEnv(configured, "OLLAMA_BASE_URL or OLLAMA_HOST (or a PLURNK_BASEURL_<alias> override)", "ollama").replace(/\/+$/, "").replace(/\/v1$/, "");
23
- const timeout = parseRequiredInt(env.PLURNK_PROVIDERS_FETCH_TIMEOUT, "PLURNK_PROVIDERS_FETCH_TIMEOUT", "ollama");
23
+ const timeout = parseTimeoutMs(env.PLURNK_PROVIDERS_FETCH_TIMEOUT, "PLURNK_PROVIDERS_FETCH_TIMEOUT", "ollama");
24
24
  // {§model-fact-resolution}
25
25
  const contextWindow = effectiveContextWindow(contextWindowFromEnv(env, "ollama"), await fetchContextWindow({ baseUrl, model, timeout }));
26
26
  const languageModel = createOpenAICompatible({
@@ -1 +1 @@
1
- {"version":3,"file":"ollama.js","sourceRoot":"","sources":["../src/ollama.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtG,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAO5D,MAAM,kBAAkB,GAAG,KAAK,EAAE,EAC9B,OAAO,EACP,KAAK,EACL,OAAO,GAKV,EAAmB,EAAE;IAClB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,WAAW,EAAE;QAChD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;QAC/B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC;KACvC,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5F,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAkB,CAAC;IACnD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC;QAC/D,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;IAChG,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,+DAA+D,KAAK,GAAG,CAAC,CAAC;AAC7F,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EACtC,GAAsB,EACtB,KAAa,EACb,OAAyB,EACR,EAAE;IACnB,MAAM,UAAU,GAAG,OAAO,EAAE,OAAO,IAAI,GAAG,CAAC,eAAe,IAAI,GAAG,CAAC,WAAW,CAAC;IAC9E,MAAM,OAAO,GAAG,UAAU,CACtB,UAAU,EACV,uEAAuE,EACvE,QAAQ,CACX,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,gBAAgB,CAC5B,GAAG,CAAC,8BAA8B,EAClC,gCAAgC,EAChC,QAAQ,CACX,CAAC;IACF,2BAA2B;IAC3B,MAAM,aAAa,GAAG,sBAAsB,CACxC,oBAAoB,CAAC,GAAG,EAAE,QAAQ,CAAC,EACnC,MAAM,kBAAkB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CACxD,CAAC;IACF,MAAM,aAAa,GAAG,sBAAsB,CAAC;QACzC,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,GAAG,OAAO,KAAK;QACxB,YAAY,EAAE,IAAI;KACrB,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACxB,OAAO,oBAAoB,CAAC;QACxB,IAAI,EAAE,QAAQ;QACd,GAAG;QACH,KAAK;QACL,aAAa;QACb,aAAa;KAChB,CAAC,CAAC;AACP,CAAC,CAAC"}
1
+ {"version":3,"file":"ollama.js","sourceRoot":"","sources":["../src/ollama.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACpG,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAO5D,MAAM,kBAAkB,GAAG,KAAK,EAAE,EAC9B,OAAO,EACP,KAAK,EACL,OAAO,GAKV,EAAmB,EAAE;IAClB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,WAAW,EAAE;QAChD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;QAC/B,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnE,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5F,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAkB,CAAC;IACnD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC;QAC/D,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;IAChG,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,+DAA+D,KAAK,GAAG,CAAC,CAAC;AAC7F,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EACtC,GAAsB,EACtB,KAAa,EACb,OAAyB,EACR,EAAE;IACnB,MAAM,UAAU,GAAG,OAAO,EAAE,OAAO,IAAI,GAAG,CAAC,eAAe,IAAI,GAAG,CAAC,WAAW,CAAC;IAC9E,MAAM,OAAO,GAAG,UAAU,CACtB,UAAU,EACV,uEAAuE,EACvE,QAAQ,CACX,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,cAAc,CAC1B,GAAG,CAAC,8BAA8B,EAClC,gCAAgC,EAChC,QAAQ,CACX,CAAC;IACF,2BAA2B;IAC3B,MAAM,aAAa,GAAG,sBAAsB,CACxC,oBAAoB,CAAC,GAAG,EAAE,QAAQ,CAAC,EACnC,MAAM,kBAAkB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CACxD,CAAC;IACF,MAAM,aAAa,GAAG,sBAAsB,CAAC;QACzC,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,GAAG,OAAO,KAAK;QACxB,YAAY,EAAE,IAAI;KACrB,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACxB,OAAO,oBAAoB,CAAC;QACxB,IAAI,EAAE,QAAQ;QACd,GAAG;QACH,KAAK;QACL,aAAa;QACb,aAAa;KAChB,CAAC,CAAC;AACP,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"promptTokens.d.ts","sourceRoot":"","sources":["../src/promptTokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAQtE,eAAO,MAAM,4BAA4B,UAC9B,OAAO,qBAEf,sBAmBF,CAAC;AAEF,eAAO,MAAM,oBAAoB,aACnB,SAAS,WAAW,EAAE,sBAEjC,sBAKD,CAAC"}
1
+ {"version":3,"file":"promptTokens.d.ts","sourceRoot":"","sources":["../src/promptTokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAStE,eAAO,MAAM,4BAA4B,UAC9B,OAAO,qBAEf,sBAqBF,CAAC;AAEF,eAAO,MAAM,oBAAoB,aACnB,SAAS,WAAW,EAAE,sBAEjC,sBAKD,CAAC"}
@@ -2,24 +2,27 @@ const KINDS = new Set([
2
2
  "exact",
3
3
  "upper_bound",
4
4
  "estimate",
5
+ "unavailable",
5
6
  ]);
6
7
  export const assertPromptTokenMeasurement = (value, owner = "provider") => {
7
8
  if (typeof value !== "object" || value === null) {
8
9
  throw new TypeError(`${owner}: prompt token measurement must be an object`);
9
10
  }
10
11
  const candidate = value;
11
- if (!KINDS.has(candidate.kind)) {
12
+ const kind = candidate.kind;
13
+ if (!KINDS.has(kind)) {
12
14
  throw new TypeError(`${owner}: prompt token measurement has invalid kind ${JSON.stringify(candidate.kind)}`);
13
15
  }
14
- if (!Number.isInteger(candidate.tokens) || candidate.tokens < 0) {
16
+ if (kind !== "unavailable"
17
+ && (!Number.isInteger(candidate.tokens) || candidate.tokens < 0)) {
15
18
  throw new TypeError(`${owner}: prompt token measurement tokens must be a non-negative integer`);
16
19
  }
17
20
  if (typeof candidate.source !== "string" || candidate.source.length === 0) {
18
21
  throw new TypeError(`${owner}: prompt token measurement source must be a non-empty string`);
19
22
  }
20
- if (candidate.kind === "estimate"
23
+ if ((kind === "estimate" || kind === "unavailable")
21
24
  && (typeof candidate.detail !== "string" || candidate.detail.length === 0)) {
22
- throw new TypeError(`${owner}: estimated prompt token measurement requires detail`);
25
+ throw new TypeError(`${owner}: ${kind} prompt token measurement requires detail`);
23
26
  }
24
27
  return value;
25
28
  };
@@ -1 +1 @@
1
- {"version":3,"file":"promptTokens.js","sourceRoot":"","sources":["../src/promptTokens.ts"],"names":[],"mappings":"AAEA,MAAM,KAAK,GAAG,IAAI,GAAG,CAAiC;IAClD,OAAO;IACP,aAAa;IACb,UAAU;CACb,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CACxC,KAAc,EACd,KAAK,GAAG,UAAU,EACI,EAAE;IACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,8CAA8C,CAAC,CAAC;IAChF,CAAC;IACD,MAAM,SAAS,GAAG,KAAwC,CAAC;IAC3D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAsC,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,+CAA+C,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjH,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,MAAO,GAAG,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,kEAAkE,CAAC,CAAC;IACpG,CAAC;IACD,IAAI,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,8DAA8D,CAAC,CAAC;IAChG,CAAC;IACD,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU;WAC1B,CAAC,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QAC7E,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,sDAAsD,CAAC,CAAC;IACxF,CAAC;IACD,OAAO,KAA+B,CAAC;AAC3C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAChC,QAAgC,EAChC,MAAM,GAAG,mEAAmE,EACtD,EAAE,CAAC,CAAC;IAC1B,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IACrF,MAAM,EAAE,kBAAkB;IAC1B,MAAM;CACT,CAAC,CAAC"}
1
+ {"version":3,"file":"promptTokens.js","sourceRoot":"","sources":["../src/promptTokens.ts"],"names":[],"mappings":"AAEA,MAAM,KAAK,GAAG,IAAI,GAAG,CAAiC;IAClD,OAAO;IACP,aAAa;IACb,UAAU;IACV,aAAa;CAChB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CACxC,KAAc,EACd,KAAK,GAAG,UAAU,EACI,EAAE;IACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,8CAA8C,CAAC,CAAC;IAChF,CAAC;IACD,MAAM,SAAS,GAAG,KAAgC,CAAC;IACnD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAsC,CAAC;IAC9D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,+CAA+C,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjH,CAAC;IACD,IAAI,IAAI,KAAK,aAAa;WACnB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,IAAK,SAAS,CAAC,MAAiB,GAAG,CAAC,CAAC,EAAE,CAAC;QAC/E,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,kEAAkE,CAAC,CAAC;IACpG,CAAC;IACD,IAAI,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,8DAA8D,CAAC,CAAC;IAChG,CAAC;IACD,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,aAAa,CAAC;WAC5C,CAAC,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QAC7E,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,KAAK,IAAI,2CAA2C,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,KAA+B,CAAC;AAC3C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAChC,QAAgC,EAChC,MAAM,GAAG,mEAAmE,EACtD,EAAE,CAAC,CAAC;IAC1B,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IACrF,MAAM,EAAE,kBAAkB;IAC1B,MAAM;CACT,CAAC,CAAC"}
@@ -1,13 +1,18 @@
1
1
  import { type ProviderInfo } from "@plurnk/plurnk-models";
2
2
  import type { LanguageModel } from "ai";
3
- import type { AuthoritativeChargeNormalizer } from "./types.ts";
3
+ import type { AiSdkProviderOptions, CacheAffinity } from "./AiSdkProvider.ts";
4
+ import type { ProviderCostNormalizer } from "./types.ts";
4
5
  export type SdkModel = {
5
6
  readonly languageModel?: LanguageModel;
6
- readonly normalizeCharge?: AuthoritativeChargeNormalizer;
7
+ readonly normalizeCost?: ProviderCostNormalizer;
7
8
  readonly compatible?: {
8
9
  readonly url: string;
9
10
  readonly headers: Readonly<Record<string, string>>;
10
11
  };
12
+ readonly cacheAffinity?: CacheAffinity;
13
+ readonly systemCacheProviderOptions?: AiSdkProviderOptions;
14
+ readonly reasoningResponseProviderOptions?: AiSdkProviderOptions;
15
+ readonly additiveReasoningProvider?: "anthropic" | "bedrock";
11
16
  readonly catalog: ProviderInfo | null;
12
17
  };
13
18
  export declare const configuredProviderInfo: (provider: string, env: NodeJS.ProcessEnv) => ProviderInfo | null;
@@ -1 +1 @@
1
- {"version":3,"file":"sdkModels.d.ts","sourceRoot":"","sources":["../src/sdkModels.ts"],"names":[],"mappings":"AASA,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAExC,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAEhE,MAAM,MAAM,QAAQ,GAAG;IACnB,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IACvC,QAAQ,CAAC,eAAe,CAAC,EAAE,6BAA6B,CAAC;IACzD,QAAQ,CAAC,UAAU,CAAC,EAAE;QAClB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;KACtD,CAAC;IACF,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;CACzC,CAAC;AAKF,eAAO,MAAM,sBAAsB,aACrB,MAAM,OACX,MAAM,CAAC,UAAU,KACvB,YAAY,GAAG,IAejB,CAAC;AAuDF,eAAO,MAAM,cAAc,aACb,MAAM,SACT,MAAM,OACR,MAAM,CAAC,UAAU,oBACJ,MAAM,KACzB,QAAQ,GAAG,IAgGb,CAAC"}
1
+ {"version":3,"file":"sdkModels.d.ts","sourceRoot":"","sources":["../src/sdkModels.ts"],"names":[],"mappings":"AAWA,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAExC,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD,MAAM,MAAM,QAAQ,GAAG;IACnB,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IACvC,QAAQ,CAAC,aAAa,CAAC,EAAE,sBAAsB,CAAC;IAChD,QAAQ,CAAC,UAAU,CAAC,EAAE;QAClB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;KACtD,CAAC;IACF,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IACvC,QAAQ,CAAC,0BAA0B,CAAC,EAAE,oBAAoB,CAAC;IAC3D,QAAQ,CAAC,gCAAgC,CAAC,EAAE,oBAAoB,CAAC;IACjE,QAAQ,CAAC,yBAAyB,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC7D,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;CACzC,CAAC;AAOF,eAAO,MAAM,sBAAsB,aACrB,MAAM,OACX,MAAM,CAAC,UAAU,KACvB,YAAY,GAAG,IAejB,CAAC;AAuDF,eAAO,MAAM,cAAc,aACb,MAAM,SACT,MAAM,OACR,MAAM,CAAC,UAAU,oBACJ,MAAM,KACzB,QAAQ,GAAG,IA2Hb,CAAC"}
package/dist/sdkModels.js CHANGED
@@ -1,14 +1,17 @@
1
1
  import { createAmazonBedrock } from "@ai-sdk/amazon-bedrock";
2
2
  import { createAnthropic } from "@ai-sdk/anthropic";
3
+ import { createCerebras } from "@ai-sdk/cerebras";
3
4
  import { createDeepInfra } from "@ai-sdk/deepinfra";
4
5
  import { createGoogle } from "@ai-sdk/google";
5
6
  import { createGroq } from "@ai-sdk/groq";
6
7
  import { createMistral } from "@ai-sdk/mistral";
7
8
  import { createOpenAI } from "@ai-sdk/openai";
8
9
  import { createTogetherAI } from "@ai-sdk/togetherai";
10
+ import { createXai } from "@ai-sdk/xai";
9
11
  import { createOpenRouter } from "@openrouter/ai-sdk-provider";
10
12
  import { lookupProvider } from "@plurnk/plurnk-models";
11
- import { authoritativeChargeNormalizer } from "./accounting.js";
13
+ import { providerCostNormalizer } from "./accounting.js";
14
+ const cacheControl = { type: "ephemeral" };
12
15
  const envPrefix = (provider) => provider.replaceAll(/[^a-zA-Z0-9]/g, "_").toUpperCase();
13
16
  export const configuredProviderInfo = (provider, env) => {
14
17
  const prefix = `PLURNK_PROVIDERS_PROVIDER_${envPrefix(provider)}`;
@@ -68,11 +71,14 @@ export const createSdkModel = (provider, model, env, baseUrlOverride) => {
68
71
  if (catalog === null)
69
72
  return null;
70
73
  const url = baseUrl(provider, env, catalog, baseUrlOverride);
71
- const normalizeCharge = authoritativeChargeNormalizer(catalog.npm);
74
+ const normalizeCost = providerCostNormalizer(catalog.npm);
72
75
  switch (catalog.npm) {
73
76
  case "@ai-sdk/openai":
74
77
  return {
75
78
  languageModel: createOpenAI({ apiKey: requireApiKey(provider, env, catalog), baseURL: url }).chat(model),
79
+ ...(catalog.id === "openai"
80
+ ? { cacheAffinity: { target: "provider-option", provider: "openai", name: "promptCacheKey" } }
81
+ : {}),
76
82
  catalog,
77
83
  };
78
84
  case "@ai-sdk/groq":
@@ -80,6 +86,11 @@ export const createSdkModel = (provider, model, env, baseUrlOverride) => {
80
86
  languageModel: createGroq({ apiKey: requireApiKey(provider, env, catalog), baseURL: url }).languageModel(model),
81
87
  catalog,
82
88
  };
89
+ case "@ai-sdk/cerebras":
90
+ return {
91
+ languageModel: createCerebras({ apiKey: requireApiKey(provider, env, catalog), baseURL: url }).languageModel(model),
92
+ catalog,
93
+ };
83
94
  case "@ai-sdk/mistral":
84
95
  return {
85
96
  languageModel: createMistral({ apiKey: requireApiKey(provider, env, catalog), baseURL: url }).languageModel(model),
@@ -93,29 +104,36 @@ export const createSdkModel = (provider, model, env, baseUrlOverride) => {
93
104
  case "@ai-sdk/deepinfra":
94
105
  return {
95
106
  languageModel: createDeepInfra({ apiKey: requireApiKey(provider, env, catalog), baseURL: url }).languageModel(model),
96
- ...(normalizeCharge === undefined ? {} : { normalizeCharge }),
107
+ ...(normalizeCost === undefined ? {} : { normalizeCost }),
108
+ ...(catalog.id === "deepinfra"
109
+ ? { cacheAffinity: { target: "provider-option", provider: "deepinfra", name: "prompt_cache_key" } }
110
+ : {}),
97
111
  catalog,
98
112
  };
99
113
  case "@ai-sdk/google":
100
114
  return {
101
115
  languageModel: createGoogle({ apiKey: requireApiKey(provider, env, catalog), baseURL: url }).languageModel(model),
116
+ reasoningResponseProviderOptions: {
117
+ google: { thinkingConfig: { includeThoughts: true } },
118
+ },
102
119
  catalog,
103
120
  };
104
- case "@ai-sdk/xai": {
105
- const key = requireApiKey(provider, env, catalog);
106
- const compatibleBase = url ?? "https://api.x.ai/v1";
121
+ case "@ai-sdk/xai":
107
122
  return {
108
- compatible: {
109
- url: `${compatibleBase}/chat/completions`,
110
- headers: { Authorization: `Bearer ${key}` },
111
- },
112
- ...(normalizeCharge === undefined ? {} : { normalizeCharge }),
123
+ languageModel: createXai({ apiKey: requireApiKey(provider, env, catalog), baseURL: url }).chat(model),
124
+ ...(catalog.id === "xai"
125
+ ? { cacheAffinity: { target: "header", name: "x-grok-conv-id" } }
126
+ : {}),
127
+ ...(normalizeCost === undefined ? {} : { normalizeCost }),
113
128
  catalog,
114
129
  };
115
- }
116
130
  case "@ai-sdk/anthropic":
117
131
  return {
118
132
  languageModel: createAnthropic({ apiKey: requireApiKey(provider, env, catalog), baseURL: url }).languageModel(model),
133
+ additiveReasoningProvider: "anthropic",
134
+ ...(catalog.id === "anthropic"
135
+ ? { systemCacheProviderOptions: { anthropic: { cacheControl } } }
136
+ : {}),
119
137
  catalog,
120
138
  };
121
139
  case "@ai-sdk/amazon-bedrock":
@@ -128,6 +146,7 @@ export const createSdkModel = (provider, model, env, baseUrlOverride) => {
128
146
  apiKey: env.AWS_BEARER_TOKEN_BEDROCK,
129
147
  baseURL: url,
130
148
  }).languageModel(model),
149
+ additiveReasoningProvider: "bedrock",
131
150
  catalog,
132
151
  };
133
152
  case "@openrouter/ai-sdk-provider":
@@ -140,7 +159,13 @@ export const createSdkModel = (provider, model, env, baseUrlOverride) => {
140
159
  ...(env.OPENROUTER_X_TITLE === undefined ? {} : { "X-Title": env.OPENROUTER_X_TITLE }),
141
160
  },
142
161
  }).languageModel(model),
143
- ...(normalizeCharge === undefined ? {} : { normalizeCharge }),
162
+ ...(catalog.id === "openrouter"
163
+ ? { cacheAffinity: { target: "header", name: "x-session-id" } }
164
+ : {}),
165
+ ...(catalog.id === "openrouter" && model.replace(/^~/, "").startsWith("anthropic/")
166
+ ? { systemCacheProviderOptions: { openrouter: { cacheControl } } }
167
+ : {}),
168
+ ...(normalizeCost === undefined ? {} : { normalizeCost }),
144
169
  catalog,
145
170
  };
146
171
  case "@ai-sdk/openai-compatible":
@@ -155,6 +180,11 @@ export const createSdkModel = (provider, model, env, baseUrlOverride) => {
155
180
  ? {}
156
181
  : { Authorization: `Bearer ${key}` },
157
182
  },
183
+ ...(catalog.id === "cloudflare-workers-ai"
184
+ ? { cacheAffinity: { target: "header", name: "x-session-affinity" } }
185
+ : catalog.id === "fireworks-ai"
186
+ ? { cacheAffinity: { target: "body", name: "prompt_cache_key" } }
187
+ : {}),
158
188
  catalog,
159
189
  };
160
190
  default:
@@ -1 +1 @@
1
- {"version":3,"file":"sdkModels.js","sourceRoot":"","sources":["../src/sdkModels.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdkModels.js","sourceRoot":"","sources":["../src/sdkModels.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,11 +1,13 @@
1
1
  import type { ProviderNotice } from "./notices.ts";
2
2
  import type { LanguageModel } from "ai";
3
3
  import type { PluginAttribution, PluginAttributionContext, PluginAttributionSource } from "@plurnk/plurnk-meta";
4
- import type { ProviderCost } from "@plurnk/plurnk-contracts";
4
+ import type { ProviderCost, ProviderRequestAccounting } from "@plurnk/plurnk-contracts";
5
+ export type { ProviderAccounting, ProviderCost, ProviderRequestAccounting, ProviderUsage, } from "@plurnk/plurnk-contracts";
5
6
  export interface ChatMessage {
6
7
  role: "system" | "user" | "assistant";
7
8
  content: string;
8
9
  }
10
+ export type ProviderCallKind = "emission" | "bare";
9
11
  export type PromptTokenMeasurement = {
10
12
  readonly kind: "exact" | "upper_bound";
11
13
  readonly tokens: number;
@@ -15,26 +17,41 @@ export type PromptTokenMeasurement = {
15
17
  readonly tokens: number;
16
18
  readonly source: string;
17
19
  readonly detail: string;
20
+ } | {
21
+ readonly kind: "unavailable";
22
+ readonly source: string;
23
+ readonly detail: string;
18
24
  };
19
- export interface ProviderUsage {
20
- readonly prompt: number;
21
- readonly completion: number;
22
- readonly reasoning: number;
23
- readonly cached: number;
24
- readonly total: number;
25
+ export type ProviderRequestCapacityDecision = "admit" | "defer" | "reject";
26
+ export interface ProviderRequestCapacity {
27
+ readonly decision: ProviderRequestCapacityDecision;
28
+ readonly contextWindow: number | null;
29
+ readonly maxInputTokens: number | null;
30
+ readonly maxOutputTokens: number | null;
31
+ readonly outputBudget: number | null;
32
+ readonly reasoningBudget: number | null;
33
+ readonly inputCapacity: number | null;
34
+ readonly prompt: PromptTokenMeasurement;
25
35
  }
26
- export type AuthoritativeCharge = Extract<ProviderCost, {
27
- kind: "authoritative";
36
+ export type ChargedCost = Extract<ProviderCost, {
37
+ kind: "charged";
28
38
  }>;
29
39
  export interface ProviderChargeEvidence {
30
40
  readonly providerMetadata?: unknown;
41
+ readonly charge?: unknown;
31
42
  readonly usage?: unknown;
32
43
  readonly response: {
33
- readonly id: string;
44
+ readonly id?: string;
34
45
  readonly headers?: Readonly<Record<string, string>>;
35
46
  };
36
47
  }
37
- export type AuthoritativeChargeNormalizer = (evidence: ProviderChargeEvidence) => AuthoritativeCharge | undefined;
48
+ export type ProviderCostNormalizer = (evidence: ProviderChargeEvidence) => ProviderCost | undefined;
49
+ export interface ProviderRequestIdentity {
50
+ readonly provider: string;
51
+ readonly model: string;
52
+ }
53
+ export type ProviderRequestSettlement = (accounting: ProviderRequestAccounting) => Promise<void>;
54
+ export type ProviderRequestObserver = (identity: ProviderRequestIdentity) => Promise<ProviderRequestSettlement>;
38
55
  export type FinishReason = "stop" | "length" | "tool_calls" | "content_filter" | null;
39
56
  export type ProviderAttemptFinishReason = FinishReason | "resource_interrupted";
40
57
  export interface TokenAlternative {
@@ -58,7 +75,6 @@ export interface ProviderAssistant<TFinish extends ProviderAttemptFinishReason =
58
75
  readonly content: string;
59
76
  readonly reasoning: string | null;
60
77
  readonly reasoningEncrypted?: ReadonlyArray<ProviderEncryptedReasoningItem>;
61
- readonly usage: ProviderUsage;
62
78
  readonly finishReason: TFinish;
63
79
  readonly model: string;
64
80
  readonly logprobs?: readonly TokenLogprob[];
@@ -72,41 +88,47 @@ export interface GrammarEvidence {
72
88
  export interface ProviderResponse<TFinish extends ProviderAttemptFinishReason = FinishReason> {
73
89
  readonly assistant: ProviderAssistant<TFinish>;
74
90
  readonly assistantRaw: unknown;
75
- readonly charge?: AuthoritativeCharge;
91
+ readonly accounting: readonly ProviderRequestAccounting[];
92
+ readonly capacity: ProviderRequestCapacity;
76
93
  readonly grammarEvidence?: GrammarEvidence;
77
94
  readonly meta?: Record<string, unknown>;
78
95
  readonly rawBody?: unknown;
79
96
  readonly notices?: readonly ProviderNotice[];
80
97
  }
81
98
  export type ProviderAttempt = ProviderResponse<ProviderAttemptFinishReason>;
99
+ export interface ProviderGenerateArgs {
100
+ readonly messages: ChatMessage[];
101
+ readonly workerId: string;
102
+ readonly primaryWorkerId?: string;
103
+ readonly signal?: AbortSignal;
104
+ readonly grammar?: string;
105
+ readonly maxOutputTokens?: number;
106
+ readonly attributions?: string[];
107
+ readonly client?: string;
108
+ readonly strikes?: number;
109
+ readonly workspaceId?: string;
110
+ readonly loop?: number;
111
+ readonly turn?: number;
112
+ readonly sampling?: Record<string, unknown>;
113
+ readonly observeRequest?: ProviderRequestObserver;
114
+ readonly callKind?: ProviderCallKind;
115
+ }
82
116
  export interface Provider {
83
117
  attributions?(context: PluginAttributionContext): PluginAttribution;
84
- generate(args: {
85
- messages: ChatMessage[];
86
- workerId: string;
87
- primaryWorkerId?: string;
88
- signal?: AbortSignal;
89
- grammar?: string;
90
- maxTokens?: number;
91
- attributions?: string[];
92
- client?: string;
93
- strikes?: number;
94
- workspaceId?: string;
95
- loop?: number;
96
- turn?: number;
97
- sampling?: Record<string, unknown>;
98
- }): Promise<ProviderResponse>;
118
+ generate(args: ProviderGenerateArgs): Promise<ProviderResponse>;
99
119
  readonly contextWindow: number | null;
120
+ readonly maxInputTokens: number | null;
121
+ readonly maxOutputTokens: number | null;
122
+ readonly outputBudget: number | null;
123
+ readonly reasoningBudget: number | null;
124
+ readonly inputCapacity: number | null;
100
125
  readonly model: string;
101
126
  readonly servedModel?: string;
102
127
  readonly constrainsOutput?: boolean;
103
- readonly requiresMaxTokens?: boolean;
104
- readonly reasoningReserve?: number | null;
105
- readonly completionReserve?: number | null;
128
+ readonly requiresOutputBudget?: boolean;
129
+ assessRequestCapacity(messages: readonly ChatMessage[], maxOutputTokens?: number, signal?: AbortSignal): Promise<ProviderRequestCapacity>;
106
130
  countPromptTokens(messages: readonly ChatMessage[], signal?: AbortSignal): Promise<PromptTokenMeasurement>;
107
131
  tokenize?(text: string): Promise<number[]>;
108
- calculateCost(usage: ProviderUsage): number;
109
- calculateCharge?(usage: ProviderUsage): Exclude<ProviderCost, AuthoritativeCharge>;
110
132
  }
111
133
  export interface ProviderOptions {
112
134
  readonly baseUrl?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACxC,OAAO,KAAK,EACR,iBAAiB,EACjB,wBAAwB,EACxB,uBAAuB,EAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACR,YAAY,EACZ,yBAAyB,EAC5B,MAAM,0BAA0B,CAAC;AAElC,YAAY,EACR,kBAAkB,EAClB,YAAY,EACZ,yBAAyB,EACzB,aAAa,GAChB,MAAM,0BAA0B,CAAC;AAElC,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACnB;AAKD,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,MAAM,CAAC;AAInD,MAAM,MAAM,sBAAsB,GAC5B;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,aAAa,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CAC3B,GACC;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CAC3B,GACC;IACE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEN,MAAM,MAAM,+BAA+B,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;AAK3E,MAAM,WAAW,uBAAuB;IACpC,QAAQ,CAAC,QAAQ,EAAE,+BAA+B,CAAC;IACnD,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;CAC3C;AAED,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC;AAKrE,MAAM,WAAW,sBAAsB;IACnC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAGpC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAI1B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE;QACf,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;KACvD,CAAC;CACL;AAED,MAAM,MAAM,sBAAsB,GAAG,CACjC,QAAQ,EAAE,sBAAsB,KAC/B,YAAY,GAAG,SAAS,CAAC;AAE9B,MAAM,WAAW,uBAAuB;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,yBAAyB,GAAG,CACpC,UAAU,EAAE,yBAAyB,KACpC,OAAO,CAAC,IAAI,CAAC,CAAC;AAInB,MAAM,MAAM,uBAAuB,GAAG,CAClC,QAAQ,EAAE,uBAAuB,KAChC,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAIxC,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,YAAY,GAAG,gBAAgB,GAAG,IAAI,CAAC;AACtF,MAAM,MAAM,2BAA2B,GAAG,YAAY,GAAG,sBAAsB,CAAC;AAUhF,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B;AACD,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;CAC9C;AAKD,MAAM,WAAW,8BAA8B;IAC3C,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;CAC9E;AAED,MAAM,WAAW,iBAAiB,CAAC,OAAO,SAAS,2BAA2B,GAAG,YAAY;IACzF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAElC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,aAAa,CAAC,8BAA8B,CAAC,CAAC;IAC5E,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAIvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IAE5C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAI5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB,CAAC,OAAO,SAAS,2BAA2B,GAAG,YAAY;IACxF,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC/C,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAG/B,QAAQ,CAAC,UAAU,EAAE,SAAS,yBAAyB,EAAE,CAAC;IAC1D,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,CAAC;IAE3C,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC;IAO3C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAOxC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAI3B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;CAChD;AAED,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAC,2BAA2B,CAAC,CAAC;AAE5E,MAAM,WAAW,oBAAoB;IACjC,QAAQ,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,QAAQ,CAAC,cAAc,CAAC,EAAE,uBAAuB,CAAC;IAClD,QAAQ,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CACxC;AAED,MAAM,WAAW,QAAQ;IAGrB,YAAY,CAAC,CAAC,OAAO,EAAE,wBAAwB,GAAG,iBAAiB,CAAC;IAsDpE,QAAQ,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAIhE,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAMvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAK9B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAQpC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAKxC,qBAAqB,CACjB,QAAQ,EAAE,SAAS,WAAW,EAAE,EAChC,eAAe,CAAC,EAAE,MAAM,EACxB,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAIpC,iBAAiB,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAM3G,QAAQ,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC9C;AAUD,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC7B;AAID,MAAM,WAAW,mBAAoB,SAAQ,uBAAuB;IAChE,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC;CAC/C"}
package/dist/usage.d.ts CHANGED
@@ -1,25 +1,42 @@
1
1
  import type { ProviderUsage } from "./types.ts";
2
2
  export type RawUsage = {
3
+ input_tokens?: number;
4
+ output_tokens?: number;
3
5
  prompt_tokens?: number;
4
6
  completion_tokens?: number;
5
7
  total_tokens?: number;
6
8
  cached_tokens?: number;
9
+ cache_creation_input_tokens?: number;
10
+ cache_read_input_tokens?: number;
7
11
  prompt_cache_hit_tokens?: number;
8
12
  prompt_cache_miss_tokens?: number;
9
13
  prompt_tokens_details?: {
10
14
  cached_tokens?: number;
15
+ cache_read_tokens?: number;
16
+ cache_write_tokens?: number;
17
+ };
18
+ input_tokens_details?: {
19
+ cached_tokens?: number;
20
+ cache_read_tokens?: number;
21
+ cache_write_tokens?: number;
11
22
  };
12
23
  completion_tokens_details?: {
13
24
  reasoning_tokens?: number;
14
25
  };
26
+ output_tokens_details?: {
27
+ reasoning_tokens?: number;
28
+ };
29
+ reasoning_tokens?: number;
15
30
  };
16
- export declare const attributeUnitemizedReasoning: (usage: ProviderUsage, reasoningText: string, contentText: string) => ProviderUsage;
17
- export declare const normalizeUsage: (raw: RawUsage | null | undefined, reasoningText?: string, contentText?: string) => ProviderUsage;
31
+ export declare const validateProviderUsage: (usage: ProviderUsage) => ProviderUsage;
32
+ export declare const normalizeUsage: (raw: RawUsage | null | undefined) => ProviderUsage | undefined;
18
33
  export type TokenRates = {
19
34
  input: number;
20
35
  output: number;
21
- cached: number;
36
+ reasoning?: number;
37
+ cacheRead?: number;
38
+ cacheWrite?: number;
22
39
  };
23
- export declare const calculateCostUsdDecimal: (usage: ProviderUsage, rates: TokenRates) => string;
24
- export declare const calculateCostUsd: (usage: ProviderUsage, rates: TokenRates) => number;
40
+ export declare const canonicalDecimal: (coefficient: bigint, scale: number) => string;
41
+ export declare const calculateCostUsdDecimal: (usage: ProviderUsage, rates: TokenRates) => string | null;
25
42
  //# sourceMappingURL=usage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,MAAM,MAAM,QAAQ,GAAG;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,qBAAqB,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD,yBAAyB,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7D,CAAC;AAIF,eAAO,MAAM,4BAA4B,UAC9B,aAAa,iBACL,MAAM,eACR,MAAM,KACpB,aAUF,CAAC;AAEF,eAAO,MAAM,cAAc,QAAS,QAAQ,GAAG,IAAI,GAAG,SAAS,mDAAyC,aAyCvG,CAAC;AAGF,MAAM,MAAM,UAAU,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AA4B3E,eAAO,MAAM,uBAAuB,UAAW,aAAa,SAAS,UAAU,KAAG,MAWjF,CAAC;AAKF,eAAO,MAAM,gBAAgB,UAAW,aAAa,SAAS,UAAU,KAAG,MAE1E,CAAC"}
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,MAAM,QAAQ,GAAG;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,qBAAqB,CAAC,EAAE;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC;IACF,oBAAoB,CAAC,EAAE;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC;IACF,yBAAyB,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1D,qBAAqB,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAgBF,eAAO,MAAM,qBAAqB,UAAW,aAAa,KAAG,aAqD5D,CAAC;AAEF,eAAO,MAAM,cAAc,QAAS,QAAQ,GAAG,IAAI,GAAG,SAAS,KAAG,aAAa,GAAG,SA6FjF,CAAC;AAIF,MAAM,MAAM,UAAU,GAAG;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAiBF,eAAO,MAAM,gBAAgB,gBAAiB,MAAM,SAAS,MAAM,KAAG,MAMrE,CAAC;AAEF,eAAO,MAAM,uBAAuB,UACzB,aAAa,SACb,UAAU,KAClB,MAAM,GAAG,IAyBX,CAAC"}