@omnicross/core 0.3.1 → 0.4.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 (61) hide show
  1. package/dist/auth/GeminiCodeAssistProjectResolver.cjs +5 -5
  2. package/dist/auth/GeminiCodeAssistProjectResolver.js +3 -3
  3. package/dist/{chunk-FHXDUHVE.cjs → chunk-2T6D7LWE.cjs} +1 -1
  4. package/dist/{chunk-ZAPN7XA6.cjs → chunk-3XVDFRCQ.cjs} +2 -2
  5. package/dist/{chunk-N5Q5PBV5.js → chunk-5DJSOFEP.js} +1 -1
  6. package/dist/{chunk-4VVCXVB7.js → chunk-5GXOYVLB.js} +17 -1
  7. package/dist/{chunk-STENJNJU.js → chunk-5TEWZN5J.js} +6 -6
  8. package/dist/{chunk-T55Z77BR.cjs → chunk-BKXC4XM6.cjs} +3 -3
  9. package/dist/{chunk-YVBHFVTF.js → chunk-C3NPMQTK.js} +2 -2
  10. package/dist/{chunk-VXRTQZF2.cjs → chunk-DKBXDV5U.cjs} +18 -2
  11. package/dist/{chunk-HOMUGKHR.js → chunk-GTDQCW3H.js} +29 -2
  12. package/dist/{chunk-T2VIZQT4.js → chunk-HDXSPXIN.js} +1 -1
  13. package/dist/{chunk-2C3TTBS7.js → chunk-PAXJGABW.js} +1 -1
  14. package/dist/{chunk-NJS2DZE6.js → chunk-PF7YQBKX.js} +1 -1
  15. package/dist/{chunk-EY3S7NJ3.cjs → chunk-QEOV6Y4E.cjs} +58 -58
  16. package/dist/{chunk-NRYLPGQB.js → chunk-QRXOLINS.js} +3 -1
  17. package/dist/{chunk-XGVPGH7V.cjs → chunk-TX3AEV6H.cjs} +2 -2
  18. package/dist/{chunk-OIKREZVQ.cjs → chunk-TX4UCSOP.cjs} +30 -3
  19. package/dist/{chunk-AKIOOFY3.cjs → chunk-YEVWA4C7.cjs} +3 -1
  20. package/dist/{chunk-RS773ZL3.cjs → chunk-ZSA44G7J.cjs} +3 -3
  21. package/dist/completion/CompletionService.cjs +10 -10
  22. package/dist/completion/CompletionService.js +9 -9
  23. package/dist/completion.cjs +16 -10
  24. package/dist/completion.d.cts +22 -1
  25. package/dist/completion.d.ts +22 -1
  26. package/dist/completion.js +16 -10
  27. package/dist/index.cjs +16 -10
  28. package/dist/index.d.cts +1 -1
  29. package/dist/index.d.ts +1 -1
  30. package/dist/index.js +16 -10
  31. package/dist/outbound-api/routeResolver.cjs +2 -2
  32. package/dist/outbound-api/routeResolver.js +1 -1
  33. package/dist/outbound-api.cjs +10 -10
  34. package/dist/outbound-api.js +9 -9
  35. package/dist/pipeline/AccountAllowanceScheduling.cjs +3 -3
  36. package/dist/pipeline/AccountAllowanceScheduling.js +2 -2
  37. package/dist/pipeline/AccountAllowanceStore.cjs +2 -2
  38. package/dist/pipeline/AccountAllowanceStore.js +1 -1
  39. package/dist/pipeline/LlmConfigProviderAuth.cjs +2 -2
  40. package/dist/pipeline/LlmConfigProviderAuth.js +1 -1
  41. package/dist/pipeline/SubscriptionAuthSource.cjs +4 -4
  42. package/dist/pipeline/SubscriptionAuthSource.js +3 -3
  43. package/dist/pipeline/upstreamFetch.cjs +3 -3
  44. package/dist/pipeline/upstreamFetch.js +2 -2
  45. package/dist/provider-proxy/ProviderProxy.cjs +10 -10
  46. package/dist/provider-proxy/ProviderProxy.js +9 -9
  47. package/dist/provider-proxy/ingress/providerProxyShared.cjs +10 -10
  48. package/dist/provider-proxy/ingress/providerProxyShared.js +9 -9
  49. package/dist/provider-proxy.cjs +10 -10
  50. package/dist/provider-proxy.js +9 -9
  51. package/dist/transformer/transformers/GeminiCodeAssistTransformer.cjs +6 -2
  52. package/dist/transformer/transformers/GeminiCodeAssistTransformer.d.cts +9 -1
  53. package/dist/transformer/transformers/GeminiCodeAssistTransformer.d.ts +9 -1
  54. package/dist/transformer/transformers/GeminiCodeAssistTransformer.js +5 -1
  55. package/dist/transformer/transformers.cjs +13 -3
  56. package/dist/transformer/transformers.d.cts +1 -0
  57. package/dist/transformer/transformers.d.ts +1 -0
  58. package/dist/transformer/transformers.js +14 -4
  59. package/dist/transformer.cjs +3 -3
  60. package/dist/transformer.js +2 -2
  61. package/package.json +2 -2
@@ -1,15 +1,15 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class;
2
2
 
3
3
 
4
- var _chunkVXRTQZF2cjs = require('../chunk-VXRTQZF2.cjs');
4
+ var _chunkDKBXDV5Ucjs = require('../chunk-DKBXDV5U.cjs');
5
5
  require('../chunk-WX2E2G7H.cjs');
6
6
  require('../chunk-77USGNRW.cjs');
7
7
  require('../chunk-IUL4VWNU.cjs');
8
8
 
9
9
 
10
- var _chunkRS773ZL3cjs = require('../chunk-RS773ZL3.cjs');
10
+ var _chunkZSA44G7Jcjs = require('../chunk-ZSA44G7J.cjs');
11
11
  require('../chunk-235MXAGX.cjs');
12
- require('../chunk-FHXDUHVE.cjs');
12
+ require('../chunk-2T6D7LWE.cjs');
13
13
  require('../chunk-NKVZ6Z3Y.cjs');
14
14
 
15
15
  // src/auth/GeminiCodeAssistProjectResolver.ts
@@ -30,7 +30,7 @@ var GeminiCodeAssistHandshakeError = class extends Error {
30
30
  var GeminiCodeAssistProjectResolver = (_class = class {
31
31
  // upstream-proxy: the Code Assist handshake is upstream egress → honor the
32
32
  // gemini proxy by default (still injectable for tests).
33
- constructor(fetchImpl = (url, init) => _chunkRS773ZL3cjs.fetchUpstream.call(void 0, url, init, { providerId: "gemini" })) {;_class.prototype.__init.call(this);_class.prototype.__init2.call(this);
33
+ constructor(fetchImpl = (url, init) => _chunkZSA44G7Jcjs.fetchUpstream.call(void 0, url, init, { providerId: "gemini" })) {;_class.prototype.__init.call(this);_class.prototype.__init2.call(this);
34
34
  this.fetchImpl = fetchImpl;
35
35
  }
36
36
 
@@ -64,7 +64,7 @@ var GeminiCodeAssistProjectResolver = (_class = class {
64
64
  return run;
65
65
  }
66
66
  codeAssistUrl(method) {
67
- return `${_chunkVXRTQZF2cjs.resolveCodeAssistEndpoint.call(void 0, )}/${_chunkVXRTQZF2cjs.resolveCodeAssistApiVersion.call(void 0, )}:${method}`;
67
+ return `${_chunkDKBXDV5Ucjs.resolveCodeAssistEndpoint.call(void 0, )}/${_chunkDKBXDV5Ucjs.resolveCodeAssistApiVersion.call(void 0, )}:${method}`;
68
68
  }
69
69
  /** Seed project id from env; reject a purely-numeric value (project NUMBER). */
70
70
  seedProjectId() {
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  resolveCodeAssistApiVersion,
3
3
  resolveCodeAssistEndpoint
4
- } from "../chunk-4VVCXVB7.js";
4
+ } from "../chunk-5GXOYVLB.js";
5
5
  import "../chunk-R4VCO2CB.js";
6
6
  import "../chunk-WYVGULTQ.js";
7
7
  import "../chunk-ZLNHPUFA.js";
8
8
  import {
9
9
  fetchUpstream
10
- } from "../chunk-N5Q5PBV5.js";
10
+ } from "../chunk-5DJSOFEP.js";
11
11
  import "../chunk-3WD4HTR2.js";
12
- import "../chunk-NJS2DZE6.js";
12
+ import "../chunk-PF7YQBKX.js";
13
13
  import "../chunk-GL6XM527.js";
14
14
 
15
15
  // src/auth/GeminiCodeAssistProjectResolver.ts
@@ -56,7 +56,7 @@ function normalizedInstant(value) {
56
56
  return Number.isFinite(parsed) ? new Date(parsed).toISOString() : void 0;
57
57
  }
58
58
  function isAllowanceProvider(value) {
59
- return value === "claude" || value === "codex" || value === "gemini" || value === "opencodego" || value === "kimi";
59
+ return value === "claude" || value === "codex" || value === "gemini" || value === "opencodego" || value === "kimi" || value === "grok" || value === "copilot";
60
60
  }
61
61
  function isWindowState(value) {
62
62
  return value === "fresh" || value === "stale" || value === "unavailable" || value === "unsupported";
@@ -12,13 +12,13 @@ var _chunkQWNUOR7Fcjs = require('./chunk-QWNUOR7F.cjs');
12
12
  var _chunkPOUTD5AMcjs = require('./chunk-POUTD5AM.cjs');
13
13
 
14
14
 
15
- var _chunkVXRTQZF2cjs = require('./chunk-VXRTQZF2.cjs');
15
+ var _chunkDKBXDV5Ucjs = require('./chunk-DKBXDV5U.cjs');
16
16
 
17
17
  // src/transformer/transformers/index.ts
18
18
  var BuiltinTransformers = {
19
19
  OpenAITransformer: _chunkQWNUOR7Fcjs.OpenAITransformer,
20
20
  GeminiTransformer: _chunkKIQ2HA2Acjs.GeminiTransformer,
21
- GeminiCodeAssistTransformer: _chunkVXRTQZF2cjs.GeminiCodeAssistTransformer,
21
+ GeminiCodeAssistTransformer: _chunkDKBXDV5Ucjs.GeminiCodeAssistTransformer,
22
22
  AnthropicTransformer: _chunkPOUTD5AMcjs.AnthropicTransformer,
23
23
  OpenAIResponseTransformer: _chunkNOITAVHAcjs.OpenAIResponseTransformer
24
24
  };
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-3WD4HTR2.js";
7
7
  import {
8
8
  getSharedAccountAllowanceStore
9
- } from "./chunk-NJS2DZE6.js";
9
+ } from "./chunk-PF7YQBKX.js";
10
10
  import {
11
11
  getSharedAccountRouteActivity
12
12
  } from "./chunk-GL6XM527.js";
@@ -14,6 +14,19 @@ function resolveCodeAssistEndpoint() {
14
14
  function resolveCodeAssistApiVersion() {
15
15
  return process.env.CODE_ASSIST_API_VERSION || DEFAULT_CODE_ASSIST_API_VERSION;
16
16
  }
17
+ var DEFAULT_GEMINI_CLI_VERSION = "0.46.0";
18
+ function getGeminiCliUserAgent(modelId = "gemini-3.1-pro-preview") {
19
+ const version = process.env.GEMINI_CLI_VERSION || DEFAULT_GEMINI_CLI_VERSION;
20
+ const platform = process.platform === "win32" ? "win32" : process.platform;
21
+ const arch = process.arch === "x64" ? "x64" : process.arch;
22
+ return `GeminiCLI/${version}/${modelId} (${platform}; ${arch}; terminal)`;
23
+ }
24
+ function getGeminiCliIdentityHeaders(modelId) {
25
+ return {
26
+ "User-Agent": getGeminiCliUserAgent(modelId),
27
+ "Client-Metadata": "ideType=IDE_UNSPECIFIED,platform=PLATFORM_UNSPECIFIED,pluginType=GEMINI"
28
+ };
29
+ }
17
30
  function buildCodeAssistUrl(stream) {
18
31
  const base = resolveCodeAssistEndpoint();
19
32
  const version = resolveCodeAssistApiVersion();
@@ -127,7 +140,8 @@ var GeminiCodeAssistTransformer = class {
127
140
  const url = buildCodeAssistUrl(Boolean(request.stream));
128
141
  const headers = {
129
142
  "x-goog-api-key": void 0,
130
- "X-Goog-Api-Key": void 0
143
+ "X-Goog-Api-Key": void 0,
144
+ ...getGeminiCliIdentityHeaders(request.model)
131
145
  };
132
146
  return {
133
147
  body: envelope,
@@ -181,6 +195,8 @@ var GeminiCodeAssistTransformer = class {
181
195
  export {
182
196
  resolveCodeAssistEndpoint,
183
197
  resolveCodeAssistApiVersion,
198
+ getGeminiCliUserAgent,
199
+ getGeminiCliIdentityHeaders,
184
200
  buildCodeAssistUrl,
185
201
  GeminiCodeAssistTransformer
186
202
  };
@@ -62,7 +62,7 @@ import {
62
62
  import {
63
63
  LlmConfigProviderAuth,
64
64
  getProviderHeaders
65
- } from "./chunk-HOMUGKHR.js";
65
+ } from "./chunk-GTDQCW3H.js";
66
66
  import {
67
67
  resolveProviderChain
68
68
  } from "./chunk-JWC6APFQ.js";
@@ -78,13 +78,13 @@ import {
78
78
  } from "./chunk-V2UKUTJ3.js";
79
79
  import {
80
80
  SubscriptionAuthSource
81
- } from "./chunk-T2VIZQT4.js";
81
+ } from "./chunk-HDXSPXIN.js";
82
82
  import {
83
83
  serializeError
84
84
  } from "./chunk-AVYJ4YBN.js";
85
85
  import {
86
86
  isAccountAllowanceExhaustedError
87
- } from "./chunk-YVBHFVTF.js";
87
+ } from "./chunk-C3NPMQTK.js";
88
88
  import {
89
89
  boundAccountSelectionMessage,
90
90
  isBoundAccountSelectionError
@@ -109,7 +109,7 @@ import {
109
109
  parseModelRef,
110
110
  resolvePrefixTarget,
111
111
  resolveRoute
112
- } from "./chunk-NRYLPGQB.js";
112
+ } from "./chunk-QRXOLINS.js";
113
113
  import {
114
114
  getSubscriptionRegistryForOutbound
115
115
  } from "./chunk-AQ5TNQB7.js";
@@ -137,10 +137,10 @@ import {
137
137
  } from "./chunk-ZLNHPUFA.js";
138
138
  import {
139
139
  fetchUpstream
140
- } from "./chunk-N5Q5PBV5.js";
140
+ } from "./chunk-5DJSOFEP.js";
141
141
  import {
142
142
  getSharedAccountAllowanceStore
143
- } from "./chunk-NJS2DZE6.js";
143
+ } from "./chunk-PF7YQBKX.js";
144
144
  import {
145
145
  getSharedAccountRouteActivity
146
146
  } from "./chunk-GL6XM527.js";
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } var _class; var _class2;
2
2
 
3
- var _chunkFHXDUHVEcjs = require('./chunk-FHXDUHVE.cjs');
3
+ var _chunk2T6D7LWEcjs = require('./chunk-2T6D7LWE.cjs');
4
4
 
5
5
  // src/pipeline/AccountAllowanceScheduling.ts
6
6
  var DEFAULT_POLICY = {
@@ -34,7 +34,7 @@ function freshWorstWindow(snapshot) {
34
34
  return snapshot.windows.filter((window) => window.state === "fresh" && typeof window.usedPercent === "number").sort((left, right) => (_nullishCoalesce(right.usedPercent, () => ( -1))) - (_nullishCoalesce(left.usedPercent, () => ( -1))))[0];
35
35
  }
36
36
  var AccountAllowanceScheduling = (_class2 = class {
37
- constructor(store = _chunkFHXDUHVEcjs.getSharedAccountAllowanceStore.call(void 0, ), now = Date.now) {;_class2.prototype.__init3.call(this);_class2.prototype.__init4.call(this);_class2.prototype.__init5.call(this);
37
+ constructor(store = _chunk2T6D7LWEcjs.getSharedAccountAllowanceStore.call(void 0, ), now = Date.now) {;_class2.prototype.__init3.call(this);_class2.prototype.__init4.call(this);_class2.prototype.__init5.call(this);
38
38
  this.store = store;
39
39
  this.now = now;
40
40
  }
@@ -73,7 +73,7 @@ var AccountAllowanceScheduling = (_class2 = class {
73
73
  decidedAt
74
74
  };
75
75
  if (!this.config.enabled) return { ...base, action: "ignore", reason: "policy-disabled" };
76
- if (providerId !== "claude" && providerId !== "codex" && providerId !== "kimi" && providerId !== "opencodego") {
76
+ if (providerId !== "claude" && providerId !== "codex" && providerId !== "kimi" && providerId !== "opencodego" && providerId !== "grok" && providerId !== "copilot") {
77
77
  return { ...base, action: "ignore", reason: "provider-unsupported" };
78
78
  }
79
79
  const snapshot = this.store.get(providerId, accountId, now);
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getSharedAccountAllowanceStore
3
- } from "./chunk-NJS2DZE6.js";
3
+ } from "./chunk-PF7YQBKX.js";
4
4
 
5
5
  // src/pipeline/AccountAllowanceScheduling.ts
6
6
  var DEFAULT_POLICY = {
@@ -73,7 +73,7 @@ var AccountAllowanceScheduling = class {
73
73
  decidedAt
74
74
  };
75
75
  if (!this.config.enabled) return { ...base, action: "ignore", reason: "policy-disabled" };
76
- if (providerId !== "claude" && providerId !== "codex" && providerId !== "kimi" && providerId !== "opencodego") {
76
+ if (providerId !== "claude" && providerId !== "codex" && providerId !== "kimi" && providerId !== "opencodego" && providerId !== "grok" && providerId !== "copilot") {
77
77
  return { ...base, action: "ignore", reason: "provider-unsupported" };
78
78
  }
79
79
  const snapshot = this.store.get(providerId, accountId, now);
@@ -14,6 +14,19 @@ function resolveCodeAssistEndpoint() {
14
14
  function resolveCodeAssistApiVersion() {
15
15
  return process.env.CODE_ASSIST_API_VERSION || DEFAULT_CODE_ASSIST_API_VERSION;
16
16
  }
17
+ var DEFAULT_GEMINI_CLI_VERSION = "0.46.0";
18
+ function getGeminiCliUserAgent(modelId = "gemini-3.1-pro-preview") {
19
+ const version = process.env.GEMINI_CLI_VERSION || DEFAULT_GEMINI_CLI_VERSION;
20
+ const platform = process.platform === "win32" ? "win32" : process.platform;
21
+ const arch = process.arch === "x64" ? "x64" : process.arch;
22
+ return `GeminiCLI/${version}/${modelId} (${platform}; ${arch}; terminal)`;
23
+ }
24
+ function getGeminiCliIdentityHeaders(modelId) {
25
+ return {
26
+ "User-Agent": getGeminiCliUserAgent(modelId),
27
+ "Client-Metadata": "ideType=IDE_UNSPECIFIED,platform=PLATFORM_UNSPECIFIED,pluginType=GEMINI"
28
+ };
29
+ }
17
30
  function buildCodeAssistUrl(stream) {
18
31
  const base = resolveCodeAssistEndpoint();
19
32
  const version = resolveCodeAssistApiVersion();
@@ -127,7 +140,8 @@ var GeminiCodeAssistTransformer = (_class = class {constructor() { _class.protot
127
140
  const url = buildCodeAssistUrl(Boolean(request.stream));
128
141
  const headers = {
129
142
  "x-goog-api-key": void 0,
130
- "X-Goog-Api-Key": void 0
143
+ "X-Goog-Api-Key": void 0,
144
+ ...getGeminiCliIdentityHeaders(request.model)
131
145
  };
132
146
  return {
133
147
  body: envelope,
@@ -183,4 +197,6 @@ var GeminiCodeAssistTransformer = (_class = class {constructor() { _class.protot
183
197
 
184
198
 
185
199
 
186
- exports.resolveCodeAssistEndpoint = resolveCodeAssistEndpoint; exports.resolveCodeAssistApiVersion = resolveCodeAssistApiVersion; exports.buildCodeAssistUrl = buildCodeAssistUrl; exports.GeminiCodeAssistTransformer = GeminiCodeAssistTransformer;
200
+
201
+
202
+ exports.resolveCodeAssistEndpoint = resolveCodeAssistEndpoint; exports.resolveCodeAssistApiVersion = resolveCodeAssistApiVersion; exports.getGeminiCliUserAgent = getGeminiCliUserAgent; exports.getGeminiCliIdentityHeaders = getGeminiCliIdentityHeaders; exports.buildCodeAssistUrl = buildCodeAssistUrl; exports.GeminiCodeAssistTransformer = GeminiCodeAssistTransformer;
@@ -45,10 +45,34 @@ function getProviderHeaders(provider, apiKey) {
45
45
  };
46
46
  break;
47
47
  }
48
+ const withExtra = mergeExtraHeaders(headers, provider.extraHeaders);
48
49
  if (isOpenRouterProvider(provider)) {
49
- return { ...headers, ...OPENROUTER_APP_HEADERS };
50
+ return { ...withExtra, ...OPENROUTER_APP_HEADERS };
50
51
  }
51
- return headers;
52
+ return withExtra;
53
+ }
54
+ function expandHeaderPlaceholder(value) {
55
+ return value.includes("{{platform}}") ? value.replaceAll("{{platform}}", process.platform) : value;
56
+ }
57
+ var EXTRA_HEADER_RESERVED_NAMES = /* @__PURE__ */ new Set([
58
+ "authorization",
59
+ "x-api-key",
60
+ "x-goog-api-key",
61
+ "api-key",
62
+ "cookie",
63
+ "content-type",
64
+ "content-length"
65
+ ]);
66
+ function mergeExtraHeaders(base, extra) {
67
+ if (!extra) return base;
68
+ const entries = Object.entries(extra);
69
+ if (entries.length === 0) return base;
70
+ const merged = { ...base };
71
+ for (const [name, value] of entries) {
72
+ if (EXTRA_HEADER_RESERVED_NAMES.has(name.toLowerCase())) continue;
73
+ merged[name] = expandHeaderPlaceholder(value);
74
+ }
75
+ return merged;
52
76
  }
53
77
 
54
78
  // src/pipeline/LlmConfigProviderAuth.ts
@@ -125,5 +149,8 @@ var LlmConfigProviderAuth = class {
125
149
 
126
150
  export {
127
151
  getProviderHeaders,
152
+ expandHeaderPlaceholder,
153
+ EXTRA_HEADER_RESERVED_NAMES,
154
+ mergeExtraHeaders,
128
155
  LlmConfigProviderAuth
129
156
  };
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-AVYJ4YBN.js";
4
4
  import {
5
5
  isAccountAllowanceExhaustedError
6
- } from "./chunk-YVBHFVTF.js";
6
+ } from "./chunk-C3NPMQTK.js";
7
7
  import {
8
8
  isBoundAccountSelectionError
9
9
  } from "./chunk-2JYRIADS.js";
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-EUZRH544.js";
13
13
  import {
14
14
  GeminiCodeAssistTransformer
15
- } from "./chunk-4VVCXVB7.js";
15
+ } from "./chunk-5GXOYVLB.js";
16
16
 
17
17
  // src/transformer/transformers/index.ts
18
18
  var BuiltinTransformers = {
@@ -56,7 +56,7 @@ function normalizedInstant(value) {
56
56
  return Number.isFinite(parsed) ? new Date(parsed).toISOString() : void 0;
57
57
  }
58
58
  function isAllowanceProvider(value) {
59
- return value === "claude" || value === "codex" || value === "gemini" || value === "opencodego" || value === "kimi";
59
+ return value === "claude" || value === "codex" || value === "gemini" || value === "opencodego" || value === "kimi" || value === "grok" || value === "copilot";
60
60
  }
61
61
  function isWindowState(value) {
62
62
  return value === "fresh" || value === "stale" || value === "unavailable" || value === "unsupported";