@llm4ts/core 2.8.0 → 2.9.0

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":"UsageLimits.d.ts","sourceRoot":"","sources":["../src/UsageLimits.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAE3C,OAAO,EAAmC,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAA;AA6B5E,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,KAAG,OAAmD,CAAA;AAuJhG,eAAO,MAAM,kBAAkB,GAC7B,UAAU,MAAM,EAChB,MAAM,MAAM,EACZ,KAAK,QAAQ,CAAC,GAAG,EACjB,UAAU,MAAM,KACf,QAAQ,GAAG,SAsDb,CAAA"}
1
+ {"version":3,"file":"UsageLimits.d.ts","sourceRoot":"","sources":["../src/UsageLimits.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAE3C,OAAO,EAAmC,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAA;AA0C5E,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,KAAG,OAAmD,CAAA;AAyJhG,eAAO,MAAM,kBAAkB,GAC7B,UAAU,MAAM,EAChB,MAAM,MAAM,EACZ,KAAK,QAAQ,CAAC,GAAG,EACjB,UAAU,MAAM,KACf,QAAQ,GAAG,SA+Db,CAAA"}
@@ -20,12 +20,25 @@ const genericQuotaSignals = [
20
20
  "out of credits",
21
21
  "too many requests"
22
22
  ];
23
+ // Harnesses that relay many providers (pi) or wrap one (antigravity,
24
+ // copilot): only exhausted quota counts. Their "rate limited" is the
25
+ // harness's own retries giving up on a short limit, which stays a
26
+ // retryable provider error rather than a half-hour usage limit.
27
+ const relayedQuotaSignals = [
28
+ "usage limit",
29
+ "out of credits",
30
+ "out of extra usage",
31
+ "credit balance is too low",
32
+ "insufficient_quota",
33
+ "exceeded your current quota"
34
+ ];
23
35
  const includesSignal = (text, signals) => {
24
36
  const normalized = text.toLowerCase();
25
37
  return signals.some((signal) => normalized.includes(signal));
26
38
  };
27
39
  export const isGeminiQuota = (text) => includesSignal(text, geminiQuotaSignals);
28
40
  const isGenericQuota = (text) => includesSignal(text, genericQuotaSignals);
41
+ const isRelayedQuota = (text) => includesSignal(text, relayedQuotaSignals);
29
42
  const resetDuration = (specification) => {
30
43
  let milliseconds = 0;
31
44
  for (const match of specification.matchAll(resetComponent)) {
@@ -171,6 +184,15 @@ export const classifyUsageLimit = (provider, text, now, timeZone) => {
171
184
  })
172
185
  : undefined;
173
186
  }
187
+ case "pi":
188
+ case "antigravity":
189
+ case "copilot":
190
+ return isRelayedQuota(text)
191
+ ? UsageLimitError.make({
192
+ provider,
193
+ message: text
194
+ })
195
+ : undefined;
174
196
  case "grok":
175
197
  case "cursor":
176
198
  case "opencode":
@@ -1 +1 @@
1
- {"version":3,"file":"UsageLimits.js","sourceRoot":"","sources":["../src/UsageLimits.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,eAAe,EAAiB,MAAM,aAAa,CAAA;AAE5E,MAAM,OAAO,GAAG,yCAAyC,CAAA;AACzD,MAAM,QAAQ,GAAG,wEAAwE,CAAA;AACzF,MAAM,WAAW,GAAG,wCAAwC,CAAA;AAC5D,MAAM,cAAc,GAAG,oBAAoB,CAAA;AAC3C,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;AAE7C,MAAM,kBAAkB,GAA0B;IAChD,yBAAyB;IACzB,OAAO;IACP,oBAAoB;IACpB,YAAY;IACZ,YAAY;IACZ,KAAK;CACN,CAAA;AAED,MAAM,mBAAmB,GAA0B;IACjD,GAAG,kBAAkB;IACrB,aAAa;IACb,gBAAgB;IAChB,mBAAmB;CACpB,CAAA;AAED,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,OAA8B,EAAW,EAAE;IAC/E,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;IACrC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;AAC9D,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAA;AAEhG,MAAM,cAAc,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAA;AAE3F,MAAM,aAAa,GAAG,CAAC,aAAqB,EAAqB,EAAE;IACjE,IAAI,YAAY,GAAG,CAAC,CAAA;IAEpB,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAC3D,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAA;QACtC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,WAAW,EAAE,CAAA;QAE7C,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,GAAG;gBACN,YAAY,IAAI,MAAM,GAAG,UAAU,CAAA;gBACnC,MAAK;YACP,KAAK,GAAG;gBACN,YAAY,IAAI,MAAM,GAAG,SAAS,CAAA;gBAClC,MAAK;YACP,KAAK,GAAG;gBACN,YAAY,IAAI,MAAM,GAAG,MAAM,CAAA;gBAC/B,MAAK;YACP,KAAK,GAAG;gBACN,YAAY,IAAI,MAAM,GAAG,KAAK,CAAA;gBAC9B,MAAK;YACP;gBACE,YAAY,IAAI,MAAM,CAAA;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;AACtC,CAAC,CAAA;AAOD,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAA6B,EAAE;IACpE,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAA;IACrE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAClC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAA;IACtC,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;IAC7C,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,GAAG,EAAE,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,EAAE,EAAE,CAAC;QACjE,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,OAAO;QACL,IAAI,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM;KACP,CAAA;AACH,CAAC,CAAA;AAQD,MAAM,iBAAiB,GAAG,CAAC,QAAgB,EAAuB,EAAE,CAClE,IAAI,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE;IACzC,QAAQ;IACR,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,SAAS;IAChB,GAAG,EAAE,SAAS;IACd,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,SAAS,EAAE,KAAK;CACjB,CAAC,CAAA;AAEJ,MAAM,WAAW,GAAG,CAClB,KAA6C,EAC7C,IAAkC,EAC1B,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,GAAG,CAAC,CAAA;AAE3E,MAAM,UAAU,GAAG,CAAC,WAAmB,EAAE,QAAgB,EAAE,EAAE;IAC3D,MAAM,KAAK,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAA;IAC9E,OAAO;QACL,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC;QAChC,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC;QAClC,GAAG,EAAE,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC;QAC9B,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC;QAChC,MAAM,EAAE,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC;QACpC,MAAM,EAAE,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC;KACrC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,oBAAoB,GAAG,CAAC,WAAmB,EAAE,QAAgB,EAAU,EAAE;IAC7E,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;IAC/C,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAC/B,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,KAAK,GAAG,CAAC,EACf,KAAK,CAAC,GAAG,EACT,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,MAAM,CACb,CAAA;IACD,OAAO,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,GAAG,KAAK,CAAA;AACnE,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,CAAC,IAAkB,EAAE,IAAmB,EAAE,QAAgB,EAAU,EAAE;IAC9F,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IACtF,MAAM,cAAc,GAAG,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC1E,OAAO,QAAQ,GAAG,oBAAoB,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAA;AAClE,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,CAAC,IAAkB,EAAgB,EAAE;IAC5D,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;IACxE,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE;QAC3B,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC;QAC7B,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE;KACvB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,CACrB,IAAY,EACZ,OAAe,EACf,GAAiB,EACjB,QAAgB,EACU,EAAE;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACxC,MAAM,IAAI,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAC5E,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;QAC7C,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QAChD,MAAM,KAAK,GAAiB;YAC1B,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,GAAG,EAAE,QAAQ,CAAC,GAAG;SAClB,CAAA;QACD,MAAM,cAAc,GAAG,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC/D,MAAM,WAAW,GACf,cAAc,GAAG,SAAS;YACxB,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;QAEhE,OAAO,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,QAAgB,EAChB,IAAY,EACZ,GAAiB,EACjB,QAAgB,EACM,EAAE;IACxB,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA;YAC5D,OAAO,OAAO,KAAK,SAAS;gBAC1B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC;oBACnB,OAAO;oBACP,QAAQ;oBACR,OAAO,EAAE,IAAI;iBACd,CAAC,CAAA;QACR,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA;YAC7D,OAAO,OAAO,KAAK,SAAS;gBAC1B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC;oBACnB,OAAO;oBACP,QAAQ;oBACR,OAAO,EAAE,IAAI;iBACd,CAAC,CAAA;QACR,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACvD,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;gBACrC,MAAM,QAAQ,GAAG,aAAa,CAAC,kBAAkB,CAAC,CAAA;gBAClD,OAAO,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC;oBACtE,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;oBAC/C,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC;wBACnB,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC;wBAC5C,QAAQ;wBACR,OAAO,EAAE,IAAI;qBACd,CAAC,CAAA;YACR,CAAC;YAED,OAAO,aAAa,CAAC,IAAI,CAAC;gBACxB,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC;oBACnB,QAAQ;oBACR,OAAO,EAAE,IAAI;iBACd,CAAC;gBACJ,CAAC,CAAC,SAAS,CAAA;QACf,CAAC;QACD,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,UAAU;YACb,OAAO,cAAc,CAAC,IAAI,CAAC;gBACzB,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC;oBACnB,QAAQ;oBACR,OAAO,EAAE,IAAI;iBACd,CAAC;gBACJ,CAAC,CAAC,SAAS,CAAA;QACf;YACE,OAAO,SAAS,CAAA;IACpB,CAAC;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"UsageLimits.js","sourceRoot":"","sources":["../src/UsageLimits.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AntigravityConnector.d.ts","sourceRoot":"","sources":["../../src/providers/AntigravityConnector.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAG/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAajE,eAAO,MAAM,oBAAoB,GAAI,QAAQ,kBAAkB,KAAG,aAAa,CAAC,MAAM,CAUrF,CAAA;AAED,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,kBAAkB,EAC1B,QAAQ,MAAM,KACb,aAAa,CAAC,MAAM,CAAgE,CAAA;AAEvF,eAAO,MAAM,wBAAwB,GACnC,QAAQ,kBAAkB,EAC1B,UAAU,oBAAoB,KAC7B,iBAwCF,CAAA"}
1
+ {"version":3,"file":"AntigravityConnector.d.ts","sourceRoot":"","sources":["../../src/providers/AntigravityConnector.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAE/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAajE,eAAO,MAAM,oBAAoB,GAAI,QAAQ,kBAAkB,KAAG,aAAa,CAAC,MAAM,CAUrF,CAAA;AAED,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,kBAAkB,EAC1B,QAAQ,MAAM,KACb,aAAa,CAAC,MAAM,CAAgE,CAAA;AAEvF,eAAO,MAAM,wBAAwB,GACnC,QAAQ,kBAAkB,EAC1B,UAAU,oBAAoB,KAC7B,iBA0CF,CAAA"}
@@ -1,9 +1,8 @@
1
1
  import * as Effect from "effect/Effect";
2
2
  import * as Stream from "effect/Stream";
3
3
  import { makeCliConnector } from "../Connector.js";
4
- import { ProviderError } from "../Errors.js";
5
4
  import { ConnectorCapabilities, ConnectorIds, HealthStatus, LlmChunk } from "../Models.js";
6
- import { optionalModelArgs, sortedFlagArgs } from "./CliSupport.js";
5
+ import { failClassifiedCliError, optionalModelArgs, sortedFlagArgs } from "./CliSupport.js";
7
6
  const healthy = HealthStatus.make({
8
7
  availability: "Healthy",
9
8
  authStatus: "Valid"
@@ -30,9 +29,7 @@ export const makeAntigravityConnector = (config, executor) => {
30
29
  const result = yield* executor.run(buildAntigravityArgv(config, prompt), cwd, config.envVars);
31
30
  if (result.exitCode !== 0) {
32
31
  const detail = [...result.stderr, ...result.stdout].join("\n");
33
- return yield* ProviderError.make({
34
- message: `agy exited with code ${result.exitCode}: ${detail}`
35
- });
32
+ return yield* failClassifiedCliError("antigravity", `agy exited with code ${result.exitCode}`, detail);
36
33
  }
37
34
  return result.stdout.join("\n");
38
35
  });
@@ -1 +1 @@
1
- {"version":3,"file":"AntigravityConnector.js","sourceRoot":"","sources":["../../src/providers/AntigravityConnector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AntigravityConnector.js","sourceRoot":"","sources":["../../src/providers/AntigravityConnector.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CopilotConnector.d.ts","sourceRoot":"","sources":["../../src/providers/CopilotConnector.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAG/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAEjE,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,KAAG,aAAa,CAAC,MAAM,CAOrE,CAAA;AAED,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,kBAAkB,EAC1B,UAAU,oBAAoB,KAC7B,iBAkCF,CAAA"}
1
+ {"version":3,"file":"CopilotConnector.d.ts","sourceRoot":"","sources":["../../src/providers/CopilotConnector.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAE/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAGjE,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,KAAG,aAAa,CAAC,MAAM,CAOrE,CAAA;AAED,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,kBAAkB,EAC1B,UAAU,oBAAoB,KAC7B,iBAoCF,CAAA"}
@@ -1,8 +1,8 @@
1
1
  import * as Effect from "effect/Effect";
2
2
  import * as Stream from "effect/Stream";
3
3
  import { makeCliConnector } from "../Connector.js";
4
- import { ProviderError } from "../Errors.js";
5
4
  import { ConnectorCapabilities, ConnectorIds, LlmChunk } from "../Models.js";
5
+ import { failClassifiedCliError } from "./CliSupport.js";
6
6
  export const buildCopilotArgv = (prompt) => [
7
7
  "gh",
8
8
  "copilot",
@@ -16,9 +16,7 @@ export const makeCopilotConnector = (config, executor) => {
16
16
  const argv = buildCopilotArgv(prompt);
17
17
  const result = yield* executor.run(argv, ".", config.envVars);
18
18
  if (result.exitCode !== 0) {
19
- return yield* ProviderError.make({
20
- message: `gh copilot exited with code ${result.exitCode}: ${result.stdout.join("\n")}`
21
- });
19
+ return yield* failClassifiedCliError("copilot", `gh copilot exited with code ${result.exitCode}`, result.stdout.join("\n"));
22
20
  }
23
21
  return result.stdout.join("\n");
24
22
  });
@@ -1 +1 @@
1
- {"version":3,"file":"CopilotConnector.js","sourceRoot":"","sources":["../../src/providers/CopilotConnector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,gBAAgB,EAA0B,MAAM,iBAAiB,CAAA;AAE1E,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAG5E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAyB,EAAE,CAAC;IACzE,IAAI;IACJ,SAAS;IACT,SAAS;IACT,IAAI;IACJ,OAAO;IACP,MAAM;CACP,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,MAA0B,EAC1B,QAA8B,EACX,EAAE;IACrB,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,kDAAkD,CAAC,CAAC,QAAQ,CAAC,EACtF,MAAc;QAEd,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA;QACrC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QAC7D,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC;gBAC/B,OAAO,EAAE,+BAA+B,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;aACvF,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC,CAAC,CAAA;IAEF,OAAO,gBAAgB,CAAC;QACtB,EAAE,EAAE,YAAY,CAAC,OAAO;QACxB,kBAAkB,EAAE,kBAAkB;QACtC,mEAAmE;QACnE,sEAAsE;QACtE,oEAAoE;QACpE,cAAc;QACd,YAAY,EAAE,qBAAqB,CAAC,IAAI,CAAC;YACvC,cAAc,EAAE,KAAK;YACrB,mBAAmB,EAAE,SAAS;SAC/B,CAAC;QACF,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC;QACzD,oBAAoB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC;QACrD,QAAQ;QACR,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CACzB,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CACtC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CACrD;QACH,YAAY,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE;KAC1F,CAAC,CAAA;AACJ,CAAC,CAAA"}
1
+ {"version":3,"file":"CopilotConnector.js","sourceRoot":"","sources":["../../src/providers/CopilotConnector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,gBAAgB,EAA0B,MAAM,iBAAiB,CAAA;AAE1E,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAE5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAExD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAyB,EAAE,CAAC;IACzE,IAAI;IACJ,SAAS;IACT,SAAS;IACT,IAAI;IACJ,OAAO;IACP,MAAM;CACP,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,MAA0B,EAC1B,QAA8B,EACX,EAAE;IACrB,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,kDAAkD,CAAC,CAAC,QAAQ,CAAC,EACtF,MAAc;QAEd,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA;QACrC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QAC7D,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC,CAAC,sBAAsB,CAClC,SAAS,EACT,+BAA+B,MAAM,CAAC,QAAQ,EAAE,EAChD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CACzB,CAAA;QACH,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC,CAAC,CAAA;IAEF,OAAO,gBAAgB,CAAC;QACtB,EAAE,EAAE,YAAY,CAAC,OAAO;QACxB,kBAAkB,EAAE,kBAAkB;QACtC,mEAAmE;QACnE,sEAAsE;QACtE,oEAAoE;QACpE,cAAc;QACd,YAAY,EAAE,qBAAqB,CAAC,IAAI,CAAC;YACvC,cAAc,EAAE,KAAK;YACrB,mBAAmB,EAAE,SAAS;SAC/B,CAAC;QACF,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC;QACzD,oBAAoB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC;QACrD,QAAQ;QACR,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CACzB,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CACtC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CACrD;QACH,YAAY,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE;KAC1F,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"PiConnector.d.ts","sourceRoot":"","sources":["../../src/providers/PiConnector.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAE/D,OAAO,EAAuC,QAAQ,EAAc,MAAM,cAAc,CAAA;AACxF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAajE,eAAO,MAAM,WAAW,GAAI,QAAQ,kBAAkB,KAAG,aAAa,CAAC,MAAM,CAS5E,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,KAAG,aAAa,CAAC,QAAQ,CAyEtE,CAAA;AAED,eAAO,MAAM,eAAe,GAC1B,QAAQ,kBAAkB,EAC1B,UAAU,oBAAoB,KAC7B,iBA8DF,CAAA"}
1
+ {"version":3,"file":"PiConnector.d.ts","sourceRoot":"","sources":["../../src/providers/PiConnector.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAE/D,OAAO,EAAuC,QAAQ,EAAc,MAAM,cAAc,CAAA;AACxF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAcjE,eAAO,MAAM,WAAW,GAAI,QAAQ,kBAAkB,KAAG,aAAa,CAAC,MAAM,CAS5E,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,KAAG,aAAa,CAAC,QAAQ,CAyEtE,CAAA;AAED,eAAO,MAAM,eAAe,GAC1B,QAAQ,kBAAkB,EAC1B,UAAU,oBAAoB,KAC7B,iBA4DF,CAAA"}
@@ -3,7 +3,7 @@ import * as Stream from "effect/Stream";
3
3
  import { makeCliConnector } from "../Connector.js";
4
4
  import { ProviderError } from "../Errors.js";
5
5
  import { ConnectorCapabilities, ConnectorIds, LlmChunk, TokenUsage } from "../Models.js";
6
- import { jsonBooleanField, jsonField, jsonIntField, jsonStringField, optionalModelArgs, parseJsonLine, sortedFlagArgs, toolEventChunk, usageEventChunk } from "./CliSupport.js";
6
+ import { failClassifiedCliError, jsonBooleanField, jsonField, jsonIntField, jsonStringField, optionalModelArgs, parseJsonLine, sortedFlagArgs, toolEventChunk, usageEventChunk } from "./CliSupport.js";
7
7
  export const piExtraArgs = (config) => [
8
8
  ...optionalModelArgs(config.model),
9
9
  // `noTools` takes precedence over `readOnly`: `--no-tools` disables tool
@@ -92,9 +92,11 @@ export const makePiConnector = (config, executor) => {
92
92
  // pi explains a refusal on stderr (a usage error, a missing model, an
93
93
  // auth failure); stdout is empty then, so both streams are reported.
94
94
  const detail = [...result.stdout, ...result.stderr].join("\n").trim();
95
- return yield* ProviderError.make({
96
- message: `pi exited with code ${result.exitCode}${detail.length === 0 ? "" : `: ${detail}`}`
97
- });
95
+ if (detail.length === 0) {
96
+ return yield* ProviderError.make({ message: `pi exited with code ${result.exitCode}` });
97
+ }
98
+ // A usage limit is typed, so a roster can take pi out of the round (ADR 0019).
99
+ return yield* failClassifiedCliError("pi", `pi exited with code ${result.exitCode}`, detail);
98
100
  }
99
101
  return result.stdout.join("\n");
100
102
  });
@@ -104,9 +106,7 @@ export const makePiConnector = (config, executor) => {
104
106
  const message = chunk.metadata.piError;
105
107
  return message === undefined
106
108
  ? Effect.succeed(chunk)
107
- : Effect.fail(ProviderError.make({
108
- message: `pi error: ${message}`
109
- }));
109
+ : failClassifiedCliError("pi", "pi error", message);
110
110
  }));
111
111
  return makeCliConnector({
112
112
  id: ConnectorIds.Pi,
@@ -1 +1 @@
1
- {"version":3,"file":"PiConnector.js","sourceRoot":"","sources":["../../src/providers/PiConnector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PiConnector.js","sourceRoot":"","sources":["../../src/providers/PiConnector.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@llm4ts/core",
3
- "version": "2.8.0",
3
+ "version": "2.9.0",
4
4
  "description": "Effect-native LLM contracts, providers, tools, evaluation, and observability",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -24,6 +24,19 @@ const genericQuotaSignals: ReadonlyArray<string> = [
24
24
  "too many requests"
25
25
  ]
26
26
 
27
+ // Harnesses that relay many providers (pi) or wrap one (antigravity,
28
+ // copilot): only exhausted quota counts. Their "rate limited" is the
29
+ // harness's own retries giving up on a short limit, which stays a
30
+ // retryable provider error rather than a half-hour usage limit.
31
+ const relayedQuotaSignals: ReadonlyArray<string> = [
32
+ "usage limit",
33
+ "out of credits",
34
+ "out of extra usage",
35
+ "credit balance is too low",
36
+ "insufficient_quota",
37
+ "exceeded your current quota"
38
+ ]
39
+
27
40
  const includesSignal = (text: string, signals: ReadonlyArray<string>): boolean => {
28
41
  const normalized = text.toLowerCase()
29
42
  return signals.some((signal) => normalized.includes(signal))
@@ -33,6 +46,8 @@ export const isGeminiQuota = (text: string): boolean => includesSignal(text, gem
33
46
 
34
47
  const isGenericQuota = (text: string): boolean => includesSignal(text, genericQuotaSignals)
35
48
 
49
+ const isRelayedQuota = (text: string): boolean => includesSignal(text, relayedQuotaSignals)
50
+
36
51
  const resetDuration = (specification: string): Duration.Duration => {
37
52
  let milliseconds = 0
38
53
 
@@ -227,6 +242,15 @@ export const classifyUsageLimit = (
227
242
  })
228
243
  : undefined
229
244
  }
245
+ case "pi":
246
+ case "antigravity":
247
+ case "copilot":
248
+ return isRelayedQuota(text)
249
+ ? UsageLimitError.make({
250
+ provider,
251
+ message: text
252
+ })
253
+ : undefined
230
254
  case "grok":
231
255
  case "cursor":
232
256
  case "opencode":
@@ -2,10 +2,9 @@ import * as Effect from "effect/Effect"
2
2
  import * as Stream from "effect/Stream"
3
3
  import { makeCliConnector, type CliConnectorShape } from "../Connector.ts"
4
4
  import type { CliConnectorConfig } from "../ConnectorConfig.ts"
5
- import { ProviderError } from "../Errors.ts"
6
5
  import { ConnectorCapabilities, ConnectorIds, HealthStatus, LlmChunk } from "../Models.ts"
7
6
  import type { ProcessExecutorShape } from "../ProcessExecutor.ts"
8
- import { optionalModelArgs, sortedFlagArgs } from "./CliSupport.ts"
7
+ import { failClassifiedCliError, optionalModelArgs, sortedFlagArgs } from "./CliSupport.ts"
9
8
 
10
9
  const healthy = HealthStatus.make({
11
10
  availability: "Healthy",
@@ -50,9 +49,11 @@ export const makeAntigravityConnector = (
50
49
  const result = yield* executor.run(buildAntigravityArgv(config, prompt), cwd, config.envVars)
51
50
  if (result.exitCode !== 0) {
52
51
  const detail = [...result.stderr, ...result.stdout].join("\n")
53
- return yield* ProviderError.make({
54
- message: `agy exited with code ${result.exitCode}: ${detail}`
55
- })
52
+ return yield* failClassifiedCliError(
53
+ "antigravity",
54
+ `agy exited with code ${result.exitCode}`,
55
+ detail
56
+ )
56
57
  }
57
58
  return result.stdout.join("\n")
58
59
  })
@@ -2,9 +2,9 @@ import * as Effect from "effect/Effect"
2
2
  import * as Stream from "effect/Stream"
3
3
  import { makeCliConnector, type CliConnectorShape } from "../Connector.ts"
4
4
  import type { CliConnectorConfig } from "../ConnectorConfig.ts"
5
- import { ProviderError } from "../Errors.ts"
6
5
  import { ConnectorCapabilities, ConnectorIds, LlmChunk } from "../Models.ts"
7
6
  import type { ProcessExecutorShape } from "../ProcessExecutor.ts"
7
+ import { failClassifiedCliError } from "./CliSupport.ts"
8
8
 
9
9
  export const buildCopilotArgv = (prompt: string): ReadonlyArray<string> => [
10
10
  "gh",
@@ -25,9 +25,11 @@ export const makeCopilotConnector = (
25
25
  const argv = buildCopilotArgv(prompt)
26
26
  const result = yield* executor.run(argv, ".", config.envVars)
27
27
  if (result.exitCode !== 0) {
28
- return yield* ProviderError.make({
29
- message: `gh copilot exited with code ${result.exitCode}: ${result.stdout.join("\n")}`
30
- })
28
+ return yield* failClassifiedCliError(
29
+ "copilot",
30
+ `gh copilot exited with code ${result.exitCode}`,
31
+ result.stdout.join("\n")
32
+ )
31
33
  }
32
34
  return result.stdout.join("\n")
33
35
  })
@@ -6,6 +6,7 @@ import { ProviderError } from "../Errors.ts"
6
6
  import { ConnectorCapabilities, ConnectorIds, LlmChunk, TokenUsage } from "../Models.ts"
7
7
  import type { ProcessExecutorShape } from "../ProcessExecutor.ts"
8
8
  import {
9
+ failClassifiedCliError,
9
10
  jsonBooleanField,
10
11
  jsonField,
11
12
  jsonIntField,
@@ -123,9 +124,11 @@ export const makePiConnector = (
123
124
  // pi explains a refusal on stderr (a usage error, a missing model, an
124
125
  // auth failure); stdout is empty then, so both streams are reported.
125
126
  const detail = [...result.stdout, ...result.stderr].join("\n").trim()
126
- return yield* ProviderError.make({
127
- message: `pi exited with code ${result.exitCode}${detail.length === 0 ? "" : `: ${detail}`}`
128
- })
127
+ if (detail.length === 0) {
128
+ return yield* ProviderError.make({ message: `pi exited with code ${result.exitCode}` })
129
+ }
130
+ // A usage limit is typed, so a roster can take pi out of the round (ADR 0019).
131
+ return yield* failClassifiedCliError("pi", `pi exited with code ${result.exitCode}`, detail)
129
132
  }
130
133
  return result.stdout.join("\n")
131
134
  })
@@ -144,11 +147,7 @@ export const makePiConnector = (
144
147
  const message = chunk.metadata.piError
145
148
  return message === undefined
146
149
  ? Effect.succeed(chunk)
147
- : Effect.fail(
148
- ProviderError.make({
149
- message: `pi error: ${message}`
150
- })
151
- )
150
+ : failClassifiedCliError("pi", "pi error", message)
152
151
  })
153
152
  )
154
153