@managoat/fountain-sdk 1.32.0 → 2.1.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.
package/CHANGELOG.md CHANGED
@@ -11,6 +11,35 @@ server releases.
11
11
 
12
12
  ---
13
13
 
14
+ ## [2.1.0] — 2026-09-13
15
+
16
+ ### Added
17
+
18
+ - Wire types for inference credential sets (ADR 0053): the four operations
19
+ under `/api/account/inference-credential-sets`, the per-set credential write
20
+ and clear, `inference_credential_id` on the conversation-create request,
21
+ `inference_credential_id` and `allowed_inference_credential_ids` on the
22
+ agent, and the owner-authenticated principal credential write under
23
+ `/api/claimable-users/:id/inference-credentials/:provider`.
24
+
25
+ Generated types only. No hand-written client method changes, so nothing an
26
+ existing caller uses moves.
27
+
28
+ ## [2.0.0] - 2026-09-13
29
+
30
+ ### Breaking changes
31
+
32
+ Replace `SubscriptionRequiredError` imports and `instanceof` checks with
33
+ `InsufficientCreditsError`. The old export is removed. Read `error.upgradeUrl`
34
+ to offer the credit-purchase page; do not retry a 402 without adding credit.
35
+
36
+ For billing error handling, use Fountain v0.13.0 or newer.
37
+ [v0.13.0](https://github.com/managoat/fountain/releases/tag/v0.13.0) is the first
38
+ release containing the credit-only server contract (`c3349343`).
39
+ `insufficient_credits` and a generic HTTP 402 identify the credit gate.
40
+ `subscription_required` has no special mapping; it follows the HTTP status.
41
+ The response still exposes its original code and purchase URL.
42
+
14
43
  ## [1.32.0] - 2026-09-13
15
44
 
16
45
  ### Removed
package/README.md CHANGED
@@ -296,7 +296,7 @@ Every error carries `status`, `code`, `body`, `retryAfter` and `retryable`.
296
296
  | class | when |
297
297
  |---|---|
298
298
  | `AuthError` | 401, or no key configured at all |
299
- | `SubscriptionRequiredError` | 402 — carries `upgradeUrl` |
299
+ | `InsufficientCreditsError` | 402 — carries `upgradeUrl` |
300
300
  | `NotFoundError` | 404 — wrong id, or it belongs to another account |
301
301
  | `ValidationError` | 422 — read `fieldErrors` |
302
302
  | `RateLimitError` | 429 |
@@ -443,3 +443,16 @@ published surface deliberately without releasing, label the PR
443
443
  AGPL-3.0-or-later, and the clients — this SDK and the CLI — are Apache-2.0 on
444
444
  purpose. Talking to the API, or shipping this SDK inside a proprietary
445
445
  application, puts no licence obligation on your code.
446
+
447
+ ## Credit error migration (2.0.0)
448
+
449
+ Replace `SubscriptionRequiredError` imports and `instanceof` checks with
450
+ `InsufficientCreditsError`. The old export is removed. Read `error.upgradeUrl`
451
+ to offer the credit-purchase page; do not retry a 402 without adding credit.
452
+
453
+ For billing error handling, use Fountain v0.13.0 or newer.
454
+ [v0.13.0](https://github.com/managoat/fountain/releases/tag/v0.13.0) is the first
455
+ release containing the credit-only server contract (`c3349343`).
456
+ `insufficient_credits` and a generic HTTP 402 identify the credit gate.
457
+ `subscription_required` has no special mapping; it follows the HTTP status.
458
+ The response still exposes its original code and purchase URL.
package/dist/errors.d.ts CHANGED
@@ -8,7 +8,7 @@
8
8
  * secondary one, and the conditions worth retrying say so themselves.
9
9
  */
10
10
  /** The `error` strings the API sends. Open — a new one is a string, not a break. */
11
- export type FountainErrorCode = "conversation_busy" | "provisioning" | "sprite_probe_failed" | "sandbox_quota_exceeded" | "sandbox_at_capacity" | "sandbox_not_found" | "sandbox_not_attachable" | "sandbox_identity_mismatch" | "sandbox_runtime_mismatch" | "insufficient_credits" | "fleet_full" | "subscription_required" | "rate_limited" | "account_suspended" | "environment_not_allowed" | "environment_not_found" | "vault_not_allowed" | "parent_conversation_not_found" | "not_found" | "unauthorized" | (string & {});
11
+ export type FountainErrorCode = "conversation_busy" | "provisioning" | "sprite_probe_failed" | "sandbox_quota_exceeded" | "sandbox_at_capacity" | "sandbox_not_found" | "sandbox_not_attachable" | "sandbox_identity_mismatch" | "sandbox_runtime_mismatch" | "insufficient_credits" | "fleet_full" | "rate_limited" | "account_suspended" | "environment_not_allowed" | "environment_not_found" | "vault_not_allowed" | "parent_conversation_not_found" | "not_found" | "unauthorized" | (string & {});
12
12
  export interface FountainErrorInit {
13
13
  status?: number;
14
14
  code?: FountainErrorCode;
@@ -41,10 +41,9 @@ export declare class AuthError extends FountainError {
41
41
  }
42
42
  /**
43
43
  * The account is out of credit (`insufficient_credits`, 402). `upgradeUrl` is
44
- * the billing page, where credit is bought. The class keeps its old name so
45
- * callers written against the subscription era still catch it.
44
+ * the billing page, where credit is bought. A bare HTTP 402 uses this class too.
46
45
  */
47
- export declare class SubscriptionRequiredError extends FountainError {
46
+ export declare class InsufficientCreditsError extends FountainError {
48
47
  get upgradeUrl(): string | undefined;
49
48
  }
50
49
  /** Wrong id, or it belongs to another account — Fountain does not distinguish (404). */
package/dist/errors.js CHANGED
@@ -64,10 +64,9 @@ export class AuthError extends FountainError {
64
64
  }
65
65
  /**
66
66
  * The account is out of credit (`insufficient_credits`, 402). `upgradeUrl` is
67
- * the billing page, where credit is bought. The class keeps its old name so
68
- * callers written against the subscription era still catch it.
67
+ * the billing page, where credit is bought. A bare HTTP 402 uses this class too.
69
68
  */
70
- export class SubscriptionRequiredError extends FountainError {
69
+ export class InsufficientCreditsError extends FountainError {
71
70
  get upgradeUrl() {
72
71
  const url = this.body?.upgrade_url;
73
72
  return typeof url === "string" ? url : undefined;
@@ -170,9 +169,8 @@ export function errorForStatus(status, body, method, url, headers) {
170
169
  return new NotReadyError(message, init);
171
170
  case "sandbox_quota_exceeded":
172
171
  return new QuotaExceededError(message, init);
173
- case "subscription_required":
174
172
  case "insufficient_credits":
175
- return new SubscriptionRequiredError(message, init);
173
+ return new InsufficientCreditsError(message, init);
176
174
  case "fleet_full":
177
175
  return new NotReadyError(message, init);
178
176
  }
@@ -180,7 +178,7 @@ export function errorForStatus(status, body, method, url, headers) {
180
178
  case 401:
181
179
  return new AuthError(message, init);
182
180
  case 402:
183
- return new SubscriptionRequiredError(message, init);
181
+ return new InsufficientCreditsError(message, init);
184
182
  case 404:
185
183
  return new NotFoundError(message, init);
186
184
  case 422:
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}