@juspay/neurolink 12.24.1 → 12.25.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.
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import type { StoredOAuthTokens } from "./auth.js";
8
8
  import type { CodexReasoningEffort } from "./codex.js";
9
+ import type { ProxyAccountRankingPolicy } from "./proxy.js";
9
10
  export type { StoredOAuthTokens, TokenRefresher, TokenStorageData, StoredProviderTokens, } from "./auth.js";
10
11
  /**
11
12
  * Claude subscription tier levels
@@ -1018,16 +1019,27 @@ export type ProxyRoutingConfig = {
1018
1019
  sessionSoftLimit?: number;
1019
1020
  /** Reset-time bucket width used when ordering quota windows. */
1020
1021
  sessionResetToleranceMs?: number;
1021
- /** Email/label of the Anthropic account that should be tried first
1022
- * ("home"). When absent, falls back to insertion-order index 0.
1023
- * Resolved per-request to a stable key (anthropic:<email>); does not
1024
- * encode an index. */
1022
+ /** Email/label of the Anthropic account used as "home". Under quota
1023
+ * routing it is the ranking's final tiebreaker unless prefer-primary is
1024
+ * set; it is tried first only when quota routing is disabled. When
1025
+ * absent, falls back to insertion-order index 0. Resolved per-request to
1026
+ * a stable key (anthropic:<email>); does not encode an index. */
1025
1027
  primaryAccount?: string;
1026
1028
  /** Anthropic account emails/labels that may be loaded by the proxy. When
1027
1029
  * present, every token-store, legacy, and environment credential outside
1028
1030
  * this set is excluded before refresh or routing. An empty list denies all
1029
1031
  * stored credentials. */
1030
1032
  accountAllowlist?: string[];
1033
+ /** Ordering rule for usable accounts. Defaults to "expiry-first" (today's behaviour). */
1034
+ accountRanking?: ProxyAccountRankingPolicy;
1035
+ /** If the configured primary is usable and not session-saturated, try it first. */
1036
+ preferPrimary?: boolean;
1037
+ /** Keep a Claude Code session on its bound account while it stays usable and not session-saturated. */
1038
+ sessionAffinity?: boolean;
1039
+ /** Idle TTL, in ms, before a session-affinity binding is dropped. 60000-86400000. */
1040
+ sessionAffinityIdleTtlMs?: number;
1041
+ /** For a request without a binding: spill off an account already at N in-flight. 0-100, 0 = off. */
1042
+ spillInflight?: number;
1031
1043
  };
1032
1044
  /** Cloaking plugin config */
1033
1045
  export type CloakingConfig = {
@@ -2692,7 +2692,7 @@
2692
2692
  {"objectID":"15d36cacc0026e37e8d93611474d18bde24c77c81ec41083c757fdc962e50b54","title":"Force cleanup without confirmation","url":"/docs/features/claude-proxy-config-reference#force-cleanup-without-confirmation","content":"neurolink auth cleanup --force\n--force`).","hierarchy":{"lvl0":"Features","lvl1":"Claude Proxy Configuration Reference","lvl2":"Force cleanup without confirmation","lvl3":""}},
2693
2693
  {"objectID":"ea946092508d02f41e596c51ea168d042419fdf95bc0dd5b4241788eedcee4aa","title":"neurolink auth enable","url":"/docs/features/claude-proxy-config-reference#neurolink-auth-enable","content":"Re-enable a previously disabled account so it can be used by the proxy pool again.\n\n| Argument | Type | Required | Description |\n| ----------- | -------- | -------- | ----------------------------------------------------- |\n| | | Yes | Account key to re-enable (e.g., ). |\n\nExamples:\n\n`bash","hierarchy":{"lvl0":"Features","lvl1":"Claude Proxy Configuration Reference","lvl2":"neurolink auth enable","lvl3":""}},
2694
2694
  {"objectID":"b8f28c0bb12e938b62170122316c271e210cc2d99d4c3a4390cd0016081a369c","title":"Re-enable a disabled account","url":"/docs/features/claude-proxy-config-reference#re-enable-a-disabled-account","content":"neurolink auth enable anthropic:1-VjRIq\nneurolink auth list` to see all accounts and their current status.","hierarchy":{"lvl0":"Features","lvl1":"Claude Proxy Configuration Reference","lvl2":"Re-enable a disabled account","lvl3":""}},
2695
- {"objectID":"08657049d3a419bf68a12583396f7347eab685dc22e0d86603d27fbd0a94b96a","title":"neurolink auth set-primary","url":"/docs/features/claude-proxy-config-reference#neurolink-auth-set-primary","content":"Designate the proxy's primary (home) Anthropic account by email/label. Writes to the proxy config YAML; a running proxy watching that exact file applies it automatically and tries this account first under fill-first (or uses it as the home reference under round-robin). Does not touch the encrypted token store and does not require re-OAuthing any account.\n\n| Argument | Type | Required | Description |\n| ---------- | -------- | -------- | ------------------------------------------------------------------------- |\n| | | Yes | Email/label of the Anthropic account to make primary. |\n| | | No | Path to the proxy config file. Default: . |\n\nIf the email is not currently authenticated in the token store, the command still writes the field and prints a warning — the setting activates automatically once the account is added via . For a running proxy, the command reports whether it watches the edited path, watches a different path, or predates hot-reload support.\n\nExamples:\n\n`bash","hierarchy":{"lvl0":"Features","lvl1":"Claude Proxy Configuration Reference","lvl2":"neurolink auth set-primary","lvl3":""}},
2695
+ {"objectID":"08657049d3a419bf68a12583396f7347eab685dc22e0d86603d27fbd0a94b96a","title":"neurolink auth set-primary","url":"/docs/features/claude-proxy-config-reference#neurolink-auth-set-primary","content":"Designate the proxy's primary (home) Anthropic account by email/label. Writes to the proxy config YAML; a running proxy watching that exact file applies it automatically. With quota routing enabled (the default), primary is the ranking's final tiebreaker, not tried first, unless is also set; it is tried first unconditionally only when quota routing is disabled, and under it is used as the home reference. Does not touch the encrypted token store and does not require re-OAuthing any account.\n\n| Argument | Type | Required | Description |\n| ---------- | -------- | -------- | ------------------------------------------------------------------------- |\n| | | Yes | Email/label of the Anthropic account to make primary. |\n| | | No | Path to the proxy config file. Default: . |\n\nIf the email is not currently authenticated in the token store, the command still writes the field and prints a warning — the setting activates automatically once the account is added via . For a running proxy, the command reports whether it watches the edited path, watches a different path, or predates hot-reload support.\n\nExamples:\n\n`bash","hierarchy":{"lvl0":"Features","lvl1":"Claude Proxy Configuration Reference","lvl2":"neurolink auth set-primary","lvl3":""}},
2696
2696
  {"objectID":"2a8cd0695b6caae7a4e2295fa7ca61cc50999739ac136f987e98e2e49ebf94e1","title":"Make alice@example.com primary in the default config","url":"/docs/features/claude-proxy-config-reference#make-aliceexamplecom-primary-in-the-default-config","content":"neurolink auth set-primary alice@example.com","hierarchy":{"lvl0":"Features","lvl1":"Claude Proxy Configuration Reference","lvl2":"Make alice@example.com primary in the default config","lvl3":""}},
2697
2697
  {"objectID":"9dc3e2b74e29302f832446dc91313db985e16862bb08674ac787c13b0ebe3e9d","title":"Use a non-default config path","url":"/docs/features/claude-proxy-config-reference#use-a-non-default-config-path","content":"neurolink auth set-primary alice@example.com --config ./proxy.yaml\njs-yaml.dump`, which does not preserve comments. The command prints a warning before writing if the existing file contains comments. JSON config paths preserve everything except whitespace.","hierarchy":{"lvl0":"Features","lvl1":"Claude Proxy Configuration Reference","lvl2":"Use a non-default config path","lvl3":""}},
2698
2698
  {"objectID":"ede954ac1558ac03b0cd45df1b8a7652faab4725e387db2d0b9c24953e547a2b","title":"neurolink auth get-primary","url":"/docs/features/claude-proxy-config-reference#neurolink-auth-get-primary","content":"Show the proxy's currently configured primary account (and whether it is authenticated).\n\n| Argument | Type | Required | Description |\n| ---------- | -------- | -------- | ------------------------------------------------------------------------- |\n| | | No | Path to the proxy config file. Default: . |\n\nExamples:\n\nOutput (when configured and authenticated):","hierarchy":{"lvl0":"Features","lvl1":"Claude Proxy Configuration Reference","lvl2":"neurolink auth get-primary","lvl3":""}},
@@ -2708,15 +2708,16 @@
2708
2708
  {"objectID":"8a8b19a42b0e7d4ab2fc2359f9ebfd681d4b9aa700fe1e50e2d81d2831a34642","title":"Default provider applied when not specified per-account (optional)","url":"/docs/features/claude-proxy-config-reference#default-provider-applied-when-not-specified-per-account-optional","content":"defaultProvider: \"anthropic\"","hierarchy":{"lvl0":"Features","lvl1":"Claude Proxy Configuration Reference","lvl2":"Default provider applied when not specified per-account (optional)","lvl3":""}},
2709
2709
  {"objectID":"916e893bc3d4d970307bbf474edf282a91324b31a65f8a5f399cfd1e1ffb7df9","title":"Default base URL applied to accounts that omit baseUrl (optional)","url":"/docs/features/claude-proxy-config-reference#default-base-url-applied-to-accounts-that-omit-baseurl-optional","content":"defaultBaseUrl: \"https://api.anthropic.com\"","hierarchy":{"lvl0":"Features","lvl1":"Claude Proxy Configuration Reference","lvl2":"Default base URL applied to accounts that omit baseUrl (optional)","lvl3":""}},
2710
2710
  {"objectID":"6f3cf0b4adaef9ee8b3202d5cf8028081a6f47fa25a810fabbd216d1d27dc712","title":"At least one provider with at least one account is required.","url":"/docs/features/claude-proxy-config-reference#at-least-one-provider-with-at-least-one-account-is-required","content":"accounts:\n anthropic:\nname: \"personal-pro\" # Human-readable label (default: \"unnamed\")\n apiKey: \"${ANTHROPICKEY1}\" # API key or OAuth token (REQUIRED, non-empty)\n baseUrl: \"https://api.anthropic.com\" # Base URL override (optional)\n orgId: \"org-abc123\" # Organization ID (optional)\n weight: 2 # Weight for weighted round-robin (default: 1)\n enabled: true # Whether this account is active (default: true)\n rateLimit: 60 # Max requests per minute (optional)\n metadata: # Arbitrary metadata (optional)\n tier: \"pro\"\n notes: \"Main account\"\nname: \"team-max\"\n apiKey: \"${ANTHROPICKEY2}\"\n weight: 3\n enabled: true","hierarchy":{"lvl0":"Features","lvl1":"Claude Proxy Configuration Reference","lvl2":"At least one provider with at least one account is required.","lvl3":""}},
2711
- {"objectID":"508aa710559cfdf1c9c6dee60df5391cde5504c97878afda16f5292e665ff23c","title":"Accepts both camelCase and kebab-case keys for YAML-friendliness.","url":"/docs/features/claude-proxy-config-reference#accepts-both-camelcase-and-kebab-case-keys-for-yaml-friendliness","content":"routing:\n # Account selection strategy: \"round-robin\" | \"fill-first\"\n strategy: \"fill-first\"\n\n # Quota-aware ordering controls for fill-first. Accounts with session\n # headroom are ordered by soonest weekly expiry; a session at the soft limit\n # is temporarily demoted until its 5h window resets. Environment variables\n # with matching names take precedence when present in the proxy env file.\n quota-routing: true\n session-soft-limit: 0.97\n session-reset-tolerance-ms: 900000\n\n # Optional bound for concurrent upstream requests per OAuth account. Omit\n # this key for unlimited admission. When set, requests try another eligible\n # account first, then queue only if all are full. Valid range is 1 through 20.\n # A value outside that range — a non-integer, 0, or 21+ — is rejected with a\n # warning and leaves admission unlimited; it is NOT clamped to the nearest\n # bound, so a typo here silently removes the cap rather than tightening it.\n # max-inflight-per-account: 2\n\n # Primary (home) account: under fill-first without quota routing this account\n # is tried first. With quota routing enabled it is only the final tie-break;\n # session headroom and weekly expiry determine order first. Under round-robin\n # it sets the starting offset when account membership changes. Resolved\n # per-request to a stable token-store key (anthropic:); a numeric index\n # is never persisted, so reordering accounts in the token store is irrelevant.\n # When omitted the proxy falls back to insertion-order index 0.\n # Accepts: primary-account (kebab) or primaryAccount (camel).\n # Manage via:\n # neurolink auth set-primary \n # neurolink auth get-primary\n # neurolink auth clear-primary\n primary-account: \"alice@example.com\"\n\n # Optional hard boundary for Anthropic credential discovery. Entries may be\n # labels/emails or full anthropic: keys. An empty list denies all.\n # Hidden legacy/env credentials require explicit legacy-default/env entries.\n # Accepts: account-allowlis","hierarchy":{"lvl0":"Features","lvl1":"Claude Proxy Configuration Reference","lvl2":"Accepts both camelCase and kebab-case keys for YAML-friendliness.","lvl3":""}},
2711
+ {"objectID":"508aa710559cfdf1c9c6dee60df5391cde5504c97878afda16f5292e665ff23c","title":"Accepts both camelCase and kebab-case keys for YAML-friendliness.","url":"/docs/features/claude-proxy-config-reference#accepts-both-camelcase-and-kebab-case-keys-for-yaml-friendliness","content":"routing:\n # Account selection strategy: \"round-robin\" | \"fill-first\"\n strategy: \"fill-first\"\n\n # Quota-aware ordering controls for fill-first. Accounts with session\n # headroom are ordered by soonest weekly expiry; a session at the soft limit\n # is temporarily demoted until its 5h window resets. Environment variables\n # with matching names take precedence when present in the proxy env file.\n quota-routing: true\n session-soft-limit: 0.97\n session-reset-tolerance-ms: 900000\n\n # Optional bound for concurrent upstream requests per OAuth account. Omit\n # this key for unlimited admission. When set, requests try another eligible\n # account first, then queue only if all are full. Valid range is 1 through 20.\n # A value outside that range — a non-integer, 0, or 21+ — is rejected with a\n # warning and leaves admission unlimited; it is NOT clamped to the nearest\n # bound, so a typo here silently removes the cap rather than tightening it.\n # max-inflight-per-account: 2\n\n # Primary (home) account: under fill-first without quota routing this account\n # is tried first. With quota routing enabled it is only the final tie-break\n # in the ranking order below, unless prefer-primary (below) is set, in which\n # case it is tried first whenever usable and not session-saturated. Under\n # round-robin it sets the starting offset when account membership changes.\n # Resolved per-request to a stable token-store key (anthropic:); a\n # numeric index is never persisted, so reordering accounts in the token\n # store is irrelevant. When omitted the proxy falls back to insertion-order\n # index 0. Accepts: primary-account (kebab) or primaryAccount (camel).\n # Manage via:\n # neurolink auth set-primary \n # neurolink auth get-primary\n # neurolink auth clear-primary\n primary-account: \"alice@example.com\"\n\n # Account routing policies (all optional; every default reproduces today's\n # exact behavior). See \"Account Routing Policies\" below for precedence,\n # interaction no","hierarchy":{"lvl0":"Features","lvl1":"Claude Proxy Configuration Reference","lvl2":"Accepts both camelCase and kebab-case keys for YAML-friendliness.","lvl3":""}},
2712
2712
  {"objectID":"fe0c3c2e38e2589525229488992b2e19a4be97672bb19a6c14c8d8860f060363","title":"genuine Claude Code sessions.","url":"/docs/features/claude-proxy-config-reference#genuine-claude-code-sessions","content":"cloaking:\n # Mode: \"auto\" | \"always\" | \"never\"\n # auto - apply cloaking only to OAuth accounts (default behavior)\n # always - apply to all accounts (OAuth and API key)\n # never - disable all cloaking plugins\n mode: \"auto\"\n\n plugins:\n # Strip proxy-revealing headers (x-forwarded-for, via, etc.)\n headerScrubber: true\n\n # Generate consistent session identities per account (1-hour TTL)\n sessionIdentity: true\n\n # Inject Claude Code session context into system prompt (OAuth only)\n systemPromptInjector: true\n\n # Zero-width character insertion into sensitive words\n wordObfuscator:\n enabled: true\n words: # Custom words to obfuscate\n\"proxy\"\n\"neurolink\"\n\"load balancer\"\n\"round-robin\"\n\"failover\"\n\"multi-account\"\n\n # TLS fingerprint mimicry (stub/placeholder -- not yet implemented)\n tlsFingerprint:\n enabled: false\n`","hierarchy":{"lvl0":"Features","lvl1":"Claude Proxy Configuration Reference","lvl2":"genuine Claude Code sessions.","lvl3":""}},
2713
2713
  {"objectID":"a914072b6478cd54f35c8b48652ebedea6acdb5863732492ebeea48e5167665e","title":"Top-Level Fields","url":"/docs/features/claude-proxy-config-reference#top-level-fields-1","content":"| Field | Type | Default | Required | Description |\n| ----------------- | --------------------------- | -------- | -------- | --------------------------------------------------------- |\n| | | | No | Config schema version. |\n| | | (none) | No | Default provider name applied to accounts that omit it. |\n| | | (none) | No | Default base URL applied to accounts that omit . |\n| | | (none) | Yes | Map of provider names to account arrays. |\n| | | (none) | No | Routing strategy, model mappings, and fallback chain. |\n| | | (none) | No | Cloaking pipeline configuration. |","hierarchy":{"lvl0":"Features","lvl1":"Claude Proxy Configuration Reference","lvl2":"Top-Level Fields","lvl3":""}},
2714
2714
  {"objectID":"1ddc0b9d057810f709034f8dfd39154c2973a2c261c0e493fa982fe9009ce919","title":"Account Fields","url":"/docs/features/claude-proxy-config-reference#account-fields","content":"| Field | Type | Default | Required | Description |\n| ----------- | ------------------------- | ----------- | -------- | ------------------------------------------------------------------------ |\n| | | | No | Human-readable account label. |\n| | | (none) | Yes | API key or OAuth token. Supports interpolation. |\n| | | (none) | No | Override the provider's API base URL. |\n| | | (none) | No | Organization ID (e.g., OpenAI organizations). |\n| | | | No | Weight for weighted round-robin selection. Higher weight = more traffic. |\n| | | | No | Whether this account is active. Disabled accounts are skipped. |\n| | | (none) | No | Maximum requests per minute for this account. |\n| | | (none) | No | Arbitrary metadata (tier info, notes, tags). |","hierarchy":{"lvl0":"Features","lvl1":"Claude Proxy Configuration Reference","lvl2":"Account Fields","lvl3":""}},
2715
- {"objectID":"2a0bba905241315a6d948d614e823b3bae586f85ae7088f699d585f0fa818cc1","title":"Routing Fields","url":"/docs/features/claude-proxy-config-reference#routing-fields","content":"| Field | Type | Default | Required | Description |\n| -------------------------------------------------------- | ------------------------------- | ------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| | | (none) | No | Account selection strategy. rotates across accounts. uses one account until exhausted. |\n| / | | (none) | No | Email/label of the Anthropic account to treat as primary (home). With quota routing enabled, primary is only the final tie-break after session headroom and weekly expiry. Resolved per-request to ; falls back to insertion-order index 0 when absent or when the configured account isn't currently authenticated. Manage via . ","hierarchy":{"lvl0":"Features","lvl1":"Claude Proxy Configuration Reference","lvl2":"Routing Fields","lvl3":""}},
2715
+ {"objectID":"2a0bba905241315a6d948d614e823b3bae586f85ae7088f699d585f0fa818cc1","title":"Routing Fields","url":"/docs/features/claude-proxy-config-reference#routing-fields","content":"| Field | Type | Default | Required | Description |\n| ----------------------------------------------------------- | ------------------------------------ | -------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| | | (none) | No | Account selection strategy. rotates across accounts. uses one account until exhausted. |\n| / | ","hierarchy":{"lvl0":"Features","lvl1":"Claude Proxy Configuration Reference","lvl2":"Routing Fields","lvl3":""}},
2716
2716
  {"objectID":"67869c44bf604306f5e7d4f118c84d1357aba914cd78f1c63e338a61afd446cd","title":"ModelMapping Fields","url":"/docs/features/claude-proxy-config-reference#modelmapping-fields","content":"| Field | Type | Default | Required | Description |\n| ---------- | -------- | ------------- | -------- | ------------------------------------------------ |\n| | | | Yes | Incoming model name (what Claude Code requests). |\n| | | | Yes | Target model name at the destination provider. |\n| | | | No | Target provider to route to. |","hierarchy":{"lvl0":"Features","lvl1":"Claude Proxy Configuration Reference","lvl2":"ModelMapping Fields","lvl3":""}},
2717
2717
  {"objectID":"52dc93bd2fb61c11e711465bcce7ab2445d21dd11f8601a791c1800577cd68bc","title":"FallbackEntry Fields","url":"/docs/features/claude-proxy-config-reference#fallbackentry-fields","content":"| Field | Type | Default | Required | Description |\n| ---------- | -------- | ------- | -------- | -------------------------------------------- |\n| | | | Yes | Provider name (e.g., , ). |\n| | | | Yes | Model to use at that provider. |","hierarchy":{"lvl0":"Features","lvl1":"Claude Proxy Configuration Reference","lvl2":"FallbackEntry Fields","lvl3":""}},
2718
2718
  {"objectID":"d9b034b736d0076ac98c315f8227b06382eafb161166a630a350add28c818ee6","title":"Cloaking Fields","url":"/docs/features/claude-proxy-config-reference#cloaking-fields","content":"| Field | Type | Default | Description |\n| -------------------------------- | ------------------------------- | ----------------------------- | ------------------------------------------------------------------------------------------------------------ |\n| | | | applies cloaking only to OAuth accounts. applies to all. disables all plugins. |\n| | | | Strip proxy-revealing headers (x-forwarded-for, via, sec-ch-\\*, etc.). |\n| | | | Generate consistent userid/sessionid per account with 1-hour TTL. |\n| | | | Inject Claude Code session context (IDE metadata, timestamps) into system prompt. OAuth accounts only. |\n| | | | Insert zero-width characters into sensitive words to defeat string matching. |\n| | | | Words to obfuscate. Defaults include: proxy, neurolink, load balancer, round-robin, failover, multi-account. |\n| | | | TLS fingerprint mimicry. Currently a stub/placeholder (no-op). |","hierarchy":{"lvl0":"Features","lvl1":"Claude Proxy Configuration Reference","lvl2":"Cloaking Fields","lvl3":""}},
2719
- {"objectID":"f1d10e310dd6cdd2e1ec76e8fb228e48f343eec841772b564c22357e7ea8f64f","title":"Validation Rules","url":"/docs/features/claude-proxy-config-reference#validation-rules","content":"The config loader validates the following:\nmust be present and be a non-array object.\nEach provider key in must map to an array.\nEach account must have a non-empty string .\nIf is present, it must be a number.\nmust be an array of non-empty strings when present.\nmust be a boolean when present.\nmust be a boolean when present.\nmust be an integer from 1 through 20 when present.\nmust be a number in when present.\nmust be a positive integer when present.\nmust be , , or when present; any\n other value is ignored with a warning and the default applies.\nPlaintext API keys (not using references) trigger a warning.\n\nAn absent default config is optional. An existing config that cannot be read or\nvalidated fails proxy startup; it is never ignored in favor of unrestricted\nrouting.","hierarchy":{"lvl0":"Features","lvl1":"Claude Proxy Configuration Reference","lvl2":"Validation Rules","lvl3":""}},
2719
+ {"objectID":"f1d10e310dd6cdd2e1ec76e8fb228e48f343eec841772b564c22357e7ea8f64f","title":"Validation Rules","url":"/docs/features/claude-proxy-config-reference#validation-rules","content":"The config loader validates the following:\nmust be present and be a non-array object.\nEach provider key in must map to an array.\nEach account must have a non-empty string .\nIf is present, it must be a number.\nmust be an array of non-empty strings when present.\nmust be a boolean when present.\nmust be a boolean when present.\nmust be an integer from 1 through 20 when present.\nmust be a number in when present.\nmust be a positive integer when present.\nmust be , , or (case-insensitive)\n when present.\nmust be or when\n present.\nmust be a boolean when present.\nmust be a boolean when present.\nmust be an integer from 60000 through\n 86400000 when present.\nmust be an integer from 0 through 100 when present.\nFor those five routing policy keys, an explicit counts as present\n and is rejected, whichever spelling (kebab-case or camelCase) carries it.\nPlaintext API keys (not using references) trigger a warning.\n\nAn absent default config is optional. An existing config that cannot be read or\nvalidated fails proxy startup; it is never ignored in favor of unrestricted\nrouting. A value that fails any check above rejects the whole config, never\njust that key: at startup the proxy does not start, and on a hot reload the\nlast-known-good generation stays active.","hierarchy":{"lvl0":"Features","lvl1":"Claude Proxy Configuration Reference","lvl2":"Validation Rules","lvl3":""}},
2720
+ {"objectID":"c8450374b1fc8e0a0f5fb47d3bef0cab242c75e17bfebe6e943ef17b22c10227","title":"Account Routing Policies","url":"/docs/features/claude-proxy-config-reference#account-routing-policies","content":"The five keys above (, , ,\n, ) all default to today's exact\nbehavior — ranking, no affinity, no primary preference, no\nspill — and are validated and hot-reloaded through the same runtime config\nsnapshot as every other routing key.\n\n ignores all five keys. They apply only under\n with more than one enabled account.\n\n disables quota-based ranking, but\n, and still apply.\nTurning off quota routing removes the expiry/headroom ordering step, so\n has no effect; it does not disable sticky sessions, the\nprimary preference or spill, which then work on the configured account\norder.\n\nPrecedence. After unusable accounts are removed, the order a request\ntries is:\nthe session's bound account, when is on and that\n account is usable and not session-saturated;\nthe configured , when is on and it is\n usable and not session-saturated;\nthe remaining accounts in order.\n\nSpill only changes which account is tried first, and only for requests\nwithout an active session-affinity binding — it never re-orders or moves a\nrequest that is already bound to an account. Its target must be usable and\nnot session-saturated, like every step above; when no account under the\nthreshold qualifies, nothing spills.\n\nBinding. A served request binds its session to the Anthropic account\nthat served it. The existing binding is kept only when that request never\ntried the bound account and the bound account is still usable and not\nsession-saturated — a request that overflowed the bound account's\n cap onto another account keeps the session on its\nwarm prompt cache. A bound account that was tried and failed in the same\nrequest loses the session to the account that served it, even if its\ncooldown has already lapsed by the time the response starts. A Codex or\nVertex fallback, a peer borrow, or an error response never binds.\n\nFailure mode. If ranking, affinity or spill throws, the request uses the\npre-policy order (plain under quota routing) and the routing\ndecision records . If the binding step after a served\n","hierarchy":{"lvl0":"Features","lvl1":"Claude Proxy Configuration Reference","lvl2":"Account Routing Policies","lvl3":""}},
2720
2721
  {"objectID":"2b5d2865be217ed908e64f9d07acbe019108e95f210f6c14f031cf8cb99ece6f","title":"3. Environment Variables","url":"/docs/features/claude-proxy-config-reference#3-environment-variables","content":"| Variable | Purpose | Used By |\n| -------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------ |\n| | Anthropic API key. Used as a fallback credential when no OAuth accounts are found. | Proxy routes, Anthropic provider |\n| | OAuth access token for Anthropic (alternative to stored tokens). | Anthropic provider, providerConfig |\n| | Alias for . Checked as a fallback. | Anthropic provider, providerConfig |\n| ","hierarchy":{"lvl0":"Features","lvl1":"Claude Proxy Configuration Reference","lvl2":"3. Environment Variables","lvl3":""}},
2721
2722
  {"objectID":"3f1a3fc9d7711064037deec5635e85b2dc713d3d9c019df22c659f47215812b8","title":"Proxy Env File Resolution Order","url":"/docs/features/claude-proxy-config-reference#proxy-env-file-resolution-order","content":"When the proxy starts, it loads env vars from a file using this priority:\nCLI flag — explicit path, required to exist.\nenvironment variable — explicit path, required to exist.\n— loaded automatically if the file exists (created by ).\nNothing — proxy starts without extra env vars; telemetry remains disabled unless env vars are already set in the shell, and the proxy emits a startup log explaining how to enable it unless output is suppressed.\n\nThe flag is baked into the launchd plist by , so the service always loads from the same file across reboots. The three runtime routing variables above and routing interpolation are reread transactionally; other env settings remain startup-only.\n\nPriority for Anthropic credentials (checked in order by the proxy routes):\nTokenStore compound keys -- entries in .\nLegacy credentials file -- (only if no compound keys exist).\nenv var -- Only if no Anthropic TokenStore entries or legacy credential are present.\n\n filters these sources before loading or refresh. Legacy and environment fallbacks are never activated merely because existing TokenStore accounts are disabled, cooling, or unavailable.","hierarchy":{"lvl0":"Features","lvl1":"Claude Proxy Configuration Reference","lvl2":"Proxy Env File Resolution Order","lvl3":""}},
2722
2723
  {"objectID":"80e1b4619dc934235aae772511dd334605525b9512cb0a98374bc61d27f8903a","title":"4. Claude Code Settings","url":"/docs/features/claude-proxy-config-reference#4-claude-code-settings","content":"When the proxy starts, it automatically writes to :\n\n| Key | Value | Description |\n| -------------------- | ---------------------- | --------------------------------------------------------------------------- |\n| | | Tells Claude Code to route all Anthropic API requests through the proxy. |\n| | | Enables tool search in Claude Code (required for full proxy compatibility). |\n\nLifecycle:\nOn -- Both keys are written (or merged into existing settings).\nOn (Ctrl+C / SIGTERM) -- Both keys are removed. Other env keys in the settings file are preserved.\nFail-open guard -- A foreground proxy's detached guard removes stale settings only after confirming its parent died and no replacement is healthy. launchd-managed proxies do not spawn this cleanup guard; they use a separate updater-only worker.\nSafety -- If the has been changed to a different value (e.g., another proxy), the cleanup will not overwrite it.\n\nAfter starting the proxy, restart Claude Code for the new settings to take effect.","hierarchy":{"lvl0":"Features","lvl1":"Claude Proxy Configuration Reference","lvl2":"4. Claude Code Settings","lvl3":""}},
@@ -2733,7 +2734,7 @@
2733
2734
  {"objectID":"1f9c54ae3c81768bfaa6e88d9f81a747763a20a23a509555e2788f162f1cf591","title":"Example: Multiple Gemini Tiers","url":"/docs/features/claude-proxy-config-reference#example-multiple-gemini-tiers","content":"Falls back through progressively cheaper models.","hierarchy":{"lvl0":"Features","lvl1":"Claude Proxy Configuration Reference","lvl2":"Example: Multiple Gemini Tiers","lvl3":""}},
2734
2735
  {"objectID":"5840622d0ea485a87032dd159d8a9cbd6131eb881e89a729988affdcd5b9bead","title":"Example: Vertex AI as Primary Fallback (Enterprise)","url":"/docs/features/claude-proxy-config-reference#example-vertex-ai-as-primary-fallback-enterprise","content":"Uses enterprise-grade providers (Vertex AI, Bedrock) as fallbacks. Requires the corresponding provider credentials to be configured in environment variables.","hierarchy":{"lvl0":"Features","lvl1":"Claude Proxy Configuration Reference","lvl2":"Example: Vertex AI as Primary Fallback (Enterprise)","lvl3":""}},
2735
2736
  {"objectID":"74ca24307bc047392fb4124352609014774fc677af2d9376c5938df57a696379","title":"Example: Full Multi-Tier Setup","url":"/docs/features/claude-proxy-config-reference#example-full-multi-tier-setup","content":"This configuration:\nPools two Claude accounts with 1:3 weighting (Max gets 3x traffic).\nPasses Sonnet 4 requests directly to Anthropic.\nRedirects Haiku requests to Gemini Flash.\nFalls back to Gemini Pro, then GPT-4o when Claude accounts are exhausted.\nApplies cloaking to OAuth accounts (header scrubbing, session identity, system prompt injection, word obfuscation).","hierarchy":{"lvl0":"Features","lvl1":"Claude Proxy Configuration Reference","lvl2":"Example: Full Multi-Tier Setup","lvl3":""}},
2736
- {"objectID":"91305febbac17a5231ac83b4db34414208e82c2cdd970bed86e20d7e2c78837b","title":"Proxy Endpoints","url":"/docs/features/claude-proxy-config-reference#proxy-endpoints","content":"For reference, the running proxy exposes these HTTP endpoints:\n\n| Method | Path | Description |\n| ------ | --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| | | Anthropic-compatible chat completions (main endpoint). |\n| | | List available models. |\n| | | Token counting endpoint. |\n| | | Health check. Returns . |\n| | | Detailed status with per-account stats, total attempts, completed requests, and error rates. On a gated proxy, account identity is released only to a caller holding the update-control token. |\n| | | Fresh per-account limits from Anthropic's usage API. for one, for stored state. Operator-only: refused for borrowed traffic. |\n| | | Peer protocol version, capabilities and grant state. Authenticated by share token; touches no account. |\n| | | What t","hierarchy":{"lvl0":"Features","lvl1":"Claude Proxy Configuration Reference","lvl2":"Proxy Endpoints","lvl3":""}},
2737
+ {"objectID":"91305febbac17a5231ac83b4db34414208e82c2cdd970bed86e20d7e2c78837b","title":"Proxy Endpoints","url":"/docs/features/claude-proxy-config-reference#proxy-endpoints","content":"For reference, the running proxy exposes these HTTP endpoints:\n\n| Method | Path | Description |\n| ------ | --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| | | Anthropic-compatible chat completions (main endpoint). |\n| | | List available models. |\n| | | Token counting endpoint. |\n| | | Health check. Returns . ","hierarchy":{"lvl0":"Features","lvl1":"Claude Proxy Configuration Reference","lvl2":"Proxy Endpoints","lvl3":""}},
2737
2738
  {"objectID":"bec09144f0ab1ea551bccd0bdd6b2dd27cc720f1632906c914e99e0fe2c5445b","title":"Log Rotation","url":"/docs/features/claude-proxy-config-reference#log-rotation","content":"Log files (, , ) and old body-capture directories are automatically cleaned up to prevent unbounded growth.\n\n| Parameter | Value | Description |\n| ---------------- | ---------------- | ---------------------------------------------------------- |\n| Max age | 7 days | Files older than 7 days are deleted |\n| Max total size | 500 MB | If remaining files exceed 500 MB, oldest are deleted first |\n| Cleanup triggers | Startup + hourly | Runs once at proxy start, then every 60 minutes |\n\nThe function performs two passes:\nAge pass -- delete all files with older than the cutoff.\nSize pass -- if remaining files exceed the size limit, delete oldest first until under the cap.\n\nLog rotation is non-fatal. If cleanup fails, the proxy continues operating normally.","hierarchy":{"lvl0":"Features","lvl1":"Claude Proxy Configuration Reference","lvl2":"Log Rotation","lvl3":""}},
2738
2739
  {"objectID":"60db6f645aa9587d509f86c0dedf99d01d34cd5177e137ae73d06df0230f888a","title":"Rate Limit Headers from Anthropic","url":"/docs/features/claude-proxy-config-reference#rate-limit-headers-from-anthropic","content":"The proxy captures and uses Anthropic's quota headers for per-account utilization tracking:\n\n| Header | Format | Description |\n| -------------------------------------------- | --------------- | -------------------------------------- |\n| | float (0.0-1.0) | 5-hour rolling session utilization |\n| | string | Session status (e.g., , ) |\n| | integer (epoch) | When the 5-hour window resets |\n| | float (0.0-1.0) | 7-day rolling weekly utilization |\n| | string | Weekly status |\n| | integer (epoch) | When the 7-day window resets |\n| | float | Fallback percentage threshold |\n| | string | Overage status |\n\nThese headers are parsed by in and cached in memory with debounced persistence to . The command displays per-account 5h and 7d utilization when available.","hierarchy":{"lvl0":"Features","lvl1":"Claude Proxy Configuration Reference","lvl2":"Rate Limit Headers from Anthropic","lvl3":""}},
2739
2740
  {"objectID":"dc2f752ec02a63cb7cf4810d683b161d74dd2e3a77abcade53c22f1ec17ca88e","title":"Token Refresh","url":"/docs/features/claude-proxy-config-reference#token-refresh","content":"The proxy coordinates background, pre-request, and on-401 refresh paths:\nBackground check — One non-overlapping cycle runs every 30 seconds and considers only allowed, enabled accounts within 5 minutes of expiry.\nPre-request check — Before each request, if , refresh inline via (fallback: ).\nOn-401 retry — If Anthropic returns a 401, refresh and retry within the bounded account retry budget before rotating.\n\nConcurrent callers sharing a rotating refresh token reuse one in-flight result. , , , and refresh responses are credential rejections and disable the account until explicit login. Network failures, refresh s, and responses are transient and receive a bounded auth cooldown. Automatic token persistence preserves manual disable metadata.","hierarchy":{"lvl0":"Features","lvl1":"Claude Proxy Configuration Reference","lvl2":"Token Refresh","lvl3":""}},
@@ -5461,10 +5462,10 @@
5461
5462
  {"objectID":"a0720e2017f4d4189cdb29848c4023c40b9e66f58fca8fd88d41ce87a1ab783f","title":"Streaming WebSocket disconnects","url":"/docs/getting-started/providers/deepgram#streaming-websocket-disconnects","content":"Check that is valid and that your network allows outbound WebSocket connections to . Firewall or proxy configurations may block WebSocket upgrades.","hierarchy":{"lvl0":"Getting Started","lvl1":"Deepgram Provider Guide","lvl2":"Streaming WebSocket disconnects","lvl3":""}},
5462
5463
  {"objectID":"27de57f1a55130cc5f2cf7e470801eff52bf6a056c6e29e62498f7a441b22a3a","title":"Diarization not appearing in results","url":"/docs/getting-started/providers/deepgram#diarization-not-appearing-in-results","content":"Diarization requires multi-speaker audio with clearly separated voices. Single-speaker audio will return no speaker labels. Also confirm is set, and that you are using a model that supports it (Nova-2 and above).","hierarchy":{"lvl0":"Getting Started","lvl1":"Deepgram Provider Guide","lvl2":"Diarization not appearing in results","lvl3":""}},
5463
5464
  {"objectID":"b7d80419b846034a24796f9bc7f22b7458c21238354ae728c236e8c0573e5dd2","title":"See Also","url":"/docs/getting-started/providers/deepgram#see-also","content":"Audio Input (STT) Guide — complete multi-provider STT reference\nVoice Agent Guide — building full voice assistants\nOpenAI TTS Provider Guide — text-to-speech counterpart\nElevenLabs Provider Guide — alternative TTS with voice cloning\n\nNeed Help? Join the GitHub Discussions or open an issue.","hierarchy":{"lvl0":"Getting Started","lvl1":"Deepgram Provider Guide","lvl2":"See Also","lvl3":""}},
5464
- {"objectID":"f0011413e792381f4d6131f700afe5f7742598666be073cf1f98530c99fd5138","title":"DeepSeek Provider Guide","url":"/docs/getting-started/providers/deepseek","content":"DeepSeek Provider Guide\n\nText generation with DeepSeek-V3 (chat) and DeepSeek-R1 (reasoning) through a single API\n\nOverview\n\nDeepSeek is a Chinese AI research lab offering highly capable open-weight models via a hosted cloud API. NeuroLink wraps their OpenAI-compatible endpoint, giving you access to two model families:\n— DeepSeek-V3, a 671B mixture-of-experts model optimised for everyday chat and code tasks. Supports tool calling and structured output.\n— DeepSeek-R1, a reasoning model that performs extended chain-of-thought before producing an answer. The AI SDK surfaces the reasoning trace separately so you can inspect it.\n\nKey Facts\nProtocol: OpenAI-compatible ()\nDefault base URL: \nContext window: 64K tokens (both models)\nVision: Not supported — text-only\nStreaming: Supported\nTool calling: Supported on ; limited on \nReasoning trace: exposes (surfaced as parts in the AI SDK response)\n\nQuick Start\nGet an API Key\n\nSign up at https://platform.deepseek.com and create an API key under API Keys.\nConfigure Environment\n\nAdd to your file:\nInstall NeuroLink\nGenerate Your First Response\n\nSupported Models\n\n| Model ID | Family | Context | Tool Calling | Notes |\n| ------------------- | ----------- | ------- | ------------ | ------------------------------------------- |\n| | DeepSeek-V3 | 64K | Yes | Default; best for chat and code tasks |\n| | DeepSeek-R1 | 64K | Limited | Extended reasoning; exposes reasoning trace |\n\nPass any model ID via (CLI) or (SDK). Only these two models are officially hosted on .\n\nSDK Usage\n\nBasic Generation\n\nUsing the Reasoner Model\n\nNote: produces a longer response latency because it thinks before answering.\n\nStreaming\n\nPer-Call Credential Override\n\nPass credentials at call time to override the instance-level or environment-variable defaults. Useful when routing requests for different users through separate DeepSeek accounts.\n\nYou can also override the base URL per call — useful when pointing at a self-hosted OpenAI-compatible proxy in front of DeepSeek:\n\nCLI Usage\n\nBasic Commands\n\nStreaming via CLI\n\nThe CLI streams output by default when a TTY is attached. No extra flags are required.\n\nProvider Aliases\n\nThe DeepSeek provider can be referenced by any of the following names:\n\n| Alias | Example |\n| ---------- | --------------------- |\n| | |\n| | |\n\nConfiguration Reference\n\n| Environment Variable | Required | Default | Description |\n| -------------------- | -------- | -------------------------- | ------------------------------------------- |\n| | Yes | — | DeepSeek API key (starts with ) |\n| | No | | Default model to use |\n| | No | | Base URL for the API (override for proxies) |\n\nFeature Support Matrix\n\n| Feature | | |\n| ----------------- | --------------- | ------------------- |\n| Text generation | Yes | Yes |\n| Streaming | Yes | Yes |\n| Tool calling | Yes | Limited |\n| Structured output | Yes | Limited |\n| Vision / images | No | No |\n| Embeddings | No | No |\n| Reasoning trace | No | Yes |\n\nTroubleshooting\n\n\"Invalid DeepSeek API key\"\n\nThe is missing or incorrect.\n\nGet or rotate keys at https://platform.deepseek.com/api_keys.\n\n\"DeepSeek account has insufficient balance\"\n\nYour account credit is exhausted. Top up at https://platform.deepseek.com/usage.\n\n\"DeepSeek rate limit exceeded\"\n\nToo many requests in a short window. Implement exponential backoff or reduce request concurrency. Rate limits are published in the DeepSeek API docs.\n\n\"Model not found\"\n\nOnly and are hosted on . Check the model name for typos.\n\nSlow responses on \n\nExpected. R1 performs extended chain-of-thought reasoning before producing its final answer, which adds latency proportional to reasoning complexity. Use for latency-sensitive paths.\n\nTool calls failing on \n\nDeepSeek documents limited tool support on R1. For tool-heavy workflows, use .\n\nSee Also\nImplementation spec — internal wire-format details and design decisions\nOpenAI Compatible provider — generic provider for any OpenAI-compatible endpoint\nLiteLLM provider — proxy-based multi-provider access\n\nNeed Help? Join the GitHub Discussions or open an issue.","hierarchy":{"lvl0":"Getting Started","lvl1":"DeepSeek Provider Guide","lvl2":"","lvl3":""}},
5465
- {"objectID":"958538aa2497f8c0121993c79063ab03a4e9182ad54e8e826fac34ccf66059d2","title":"DeepSeek Provider Guide","url":"/docs/getting-started/providers/deepseek#deepseek-provider-guide","content":"Text generation with DeepSeek-V3 (chat) and DeepSeek-R1 (reasoning) through a single API","hierarchy":{"lvl0":"Getting Started","lvl1":"DeepSeek Provider Guide","lvl2":"DeepSeek Provider Guide","lvl3":""}},
5466
- {"objectID":"c3e1684d29fb0fb80d0a6c08cccede4c72627e18920573ed08ace68662625d5e","title":"Overview","url":"/docs/getting-started/providers/deepseek#overview","content":"DeepSeek is a Chinese AI research lab offering highly capable open-weight models via a hosted cloud API. NeuroLink wraps their OpenAI-compatible endpoint, giving you access to two model families:\n— DeepSeek-V3, a 671B mixture-of-experts model optimised for everyday chat and code tasks. Supports tool calling and structured output.\n— DeepSeek-R1, a reasoning model that performs extended chain-of-thought before producing an answer. The AI SDK surfaces the reasoning trace separately so you can inspect it.","hierarchy":{"lvl0":"Getting Started","lvl1":"DeepSeek Provider Guide","lvl2":"Overview","lvl3":""}},
5467
- {"objectID":"90018a4be75353babd3c1ed5c9f76895280adfbeaad70cff5718ac9f60d46d88","title":"Key Facts","url":"/docs/getting-started/providers/deepseek#key-facts","content":"Protocol: OpenAI-compatible ()\nDefault base URL: \nContext window: 64K tokens (both models)\nVision: Not supported — text-only\nStreaming: Supported\nTool calling: Supported on ; limited on \nReasoning trace: exposes (surfaced as parts in the AI SDK response)","hierarchy":{"lvl0":"Getting Started","lvl1":"DeepSeek Provider Guide","lvl2":"Key Facts","lvl3":""}},
5465
+ {"objectID":"f0011413e792381f4d6131f700afe5f7742598666be073cf1f98530c99fd5138","title":"DeepSeek Provider Guide","url":"/docs/getting-started/providers/deepseek","content":"DeepSeek Provider Guide\n\nText and image input with DeepSeek-V4.1-Flash and DeepSeek-V4-Pro through a single API\n\nOverview\n\nDeepSeek is a Chinese AI research lab offering highly capable open-weight models via a hosted cloud API. NeuroLink wraps their OpenAI-compatible endpoint. The API serves two models:\n— DeepSeek-V4.1-Flash. Reads images as well as text.\n— DeepSeek-V4-Pro-0813. Text only.\n\nThe older ids still work as aliases of : * answers with thinking off, and * answers with thinking on and returns a reasoning trace.\n\nKey Facts\nProtocol: OpenAI-compatible ()\nDefault base URL: \nContext window: 1M tokens (1,048,576), with up to 384K (393,216) output tokens\nVision: and its aliases; not reasoningcontentdeepseek-reasoner.envdeepseek-chatdeepseek-flashdeepseek-reasonerdeepseek-flashdeepseek-flashdeepseek-v4-pro--modelmodel:GET /modelsapi.deepseek.comdeepseek-flashdeepseek-v4-prodeepseek--provider deepseekds--provider dsDEEPSEEKAPIKEYsk-DEEPSEEKMODELdeepseek-chatDEEPSEEKBASEURLhttps://api.deepseek.comdeepseek-chatdeepseek-reasonerdeepseek-flashdeepseek-v4-proDEEPSEEKAPIKEY400deepseek-chatdeepseek-reasonerdeepseek-reasonerdeepseek-flashdeepseek-v4-prodeepseek-chatreasoning_content400deepseek-chat`, which keeps thinking off.\n\nSee Also\nImplementation spec — internal wire-format details and design decisions\nOpenAI Compatible provider — generic provider for any OpenAI-compatible endpoint\nLiteLLM provider — proxy-based multi-provider access\n\nNeed Help? Join the GitHub Discussions or open an issue.","hierarchy":{"lvl0":"Getting Started","lvl1":"DeepSeek Provider Guide","lvl2":"","lvl3":""}},
5466
+ {"objectID":"958538aa2497f8c0121993c79063ab03a4e9182ad54e8e826fac34ccf66059d2","title":"DeepSeek Provider Guide","url":"/docs/getting-started/providers/deepseek#deepseek-provider-guide","content":"Text and image input with DeepSeek-V4.1-Flash and DeepSeek-V4-Pro through a single API","hierarchy":{"lvl0":"Getting Started","lvl1":"DeepSeek Provider Guide","lvl2":"DeepSeek Provider Guide","lvl3":""}},
5467
+ {"objectID":"c3e1684d29fb0fb80d0a6c08cccede4c72627e18920573ed08ace68662625d5e","title":"Overview","url":"/docs/getting-started/providers/deepseek#overview","content":"DeepSeek is a Chinese AI research lab offering highly capable open-weight models via a hosted cloud API. NeuroLink wraps their OpenAI-compatible endpoint. The API serves two models:\n— DeepSeek-V4.1-Flash. Reads images as well as text.\n— DeepSeek-V4-Pro-0813. Text only.\n\nThe older ids still work as aliases of : * answers with thinking off, and * answers with thinking on and returns a reasoning trace.","hierarchy":{"lvl0":"Getting Started","lvl1":"DeepSeek Provider Guide","lvl2":"Overview","lvl3":""}},
5468
+ {"objectID":"90018a4be75353babd3c1ed5c9f76895280adfbeaad70cff5718ac9f60d46d88","title":"Key Facts","url":"/docs/getting-started/providers/deepseek#key-facts","content":"Protocol: OpenAI-compatible ()\nDefault base URL: \nContext window: 1M tokens (1,048,576), with up to 384K (393,216) output tokens\nVision: and its aliases; not reasoning_contentdeepseek-reasoner`)","hierarchy":{"lvl0":"Getting Started","lvl1":"DeepSeek Provider Guide","lvl2":"Key Facts","lvl3":""}},
5468
5469
  {"objectID":"305803a4e9c944a1b9b2fc22fdcb96e2c1653bbb43e170e0ebc1fc88705f57f2","title":"1. Get an API Key","url":"/docs/getting-started/providers/deepseek#1-get-an-api-key","content":"Sign up at https://platform.deepseek.com and create an API key under API Keys.","hierarchy":{"lvl0":"Getting Started","lvl1":"DeepSeek Provider Guide","lvl2":"1. Get an API Key","lvl3":""}},
5469
5470
  {"objectID":"1de6146c363d4139cac7191b36356838a742db03ae156fac5c0c6417c687c370","title":"2. Configure Environment","url":"/docs/getting-started/providers/deepseek#2-configure-environment","content":"Add to your file:\n\n`bash","hierarchy":{"lvl0":"Getting Started","lvl1":"DeepSeek Provider Guide","lvl2":"2. Configure Environment","lvl3":""}},
5470
5471
  {"objectID":"d24a327297806b341e71999e6add069ebdc54c6b41b66ce4140ba5706de15fa2","title":"Required","url":"/docs/getting-started/providers/deepseek#required","content":"DEEPSEEKAPIKEY=sk-...","hierarchy":{"lvl0":"Getting Started","lvl1":"DeepSeek Provider Guide","lvl2":"Required","lvl3":""}},
@@ -5472,8 +5473,8 @@
5472
5473
  {"objectID":"8f249a932b63d7576c330cb47861fa3d7ee4865d900d3a712651dec2483bb77c","title":"Optional: override the base URL (default: https://api.deepseek.com)","url":"/docs/getting-started/providers/deepseek#optional-override-the-base-url-default-httpsapideepseekcom","content":"DEEPSEEKBASEURL=https://api.deepseek.com\n`","hierarchy":{"lvl0":"Getting Started","lvl1":"DeepSeek Provider Guide","lvl2":"Optional: override the base URL (default: https://api.deepseek.com)","lvl3":""}},
5473
5474
  {"objectID":"b4f7d6436f91b94c780c0aff81a5c8dd9e9d4884a7edfac2c88371b0f5418632","title":"3. Install NeuroLink","url":"/docs/getting-started/providers/deepseek#3-install-neurolink","content":"`bash\nnpm install @juspay/neurolink","hierarchy":{"lvl0":"Getting Started","lvl1":"DeepSeek Provider Guide","lvl2":"3. Install NeuroLink","lvl3":""}},
5474
5475
  {"objectID":"b824af77427753e70427acd9540e9a542fe553260bf7b8cabbe33f6068ddf542","title":"or","url":"/docs/getting-started/providers/deepseek#or","content":"pnpm add @juspay/neurolink\n`","hierarchy":{"lvl0":"Getting Started","lvl1":"DeepSeek Provider Guide","lvl2":"or","lvl3":""}},
5475
- {"objectID":"efda4fbe6815a90781b6adb092a3ce102b74a3de6f9e8a51b24476a3b499b0cc","title":"Supported Models","url":"/docs/getting-started/providers/deepseek#supported-models","content":"| Model ID | Family | Context | Tool Calling | Notes |\n| ------------------- | ----------- | ------- | ------------ | ------------------------------------------- |\n| | DeepSeek-V3 | 64K | Yes | Default; best for chat and code tasks |\n| | DeepSeek-R1 | 64K | Limited | Extended reasoning; exposes reasoning trace |\n\nPass any model ID via (CLI) or (SDK). Only these two models are officially hosted on .","hierarchy":{"lvl0":"Getting Started","lvl1":"DeepSeek Provider Guide","lvl2":"Supported Models","lvl3":""}},
5476
- {"objectID":"1574d51e68146899c67346042e4058b73556d0a7423c109bfc0cbaf9ef0a761f","title":"Using the Reasoner Model","url":"/docs/getting-started/providers/deepseek#using-the-reasoner-model","content":"Note: produces a longer response latency because it thinks before answering.","hierarchy":{"lvl0":"Getting Started","lvl1":"DeepSeek Provider Guide","lvl2":"Using the Reasoner Model","lvl3":""}},
5476
+ {"objectID":"efda4fbe6815a90781b6adb092a3ce102b74a3de6f9e8a51b24476a3b499b0cc","title":"Supported Models","url":"/docs/getting-started/providers/deepseek#supported-models","content":"| Model ID | Serves | Context | Images | Notes |\n| ------------------- | ------------------- | ------- | ------ | ------------------------------------------------ |\n| | DeepSeek-V4.1-Flash | 1M | Yes | Default; alias of , thinking off |\n| | DeepSeek-V4.1-Flash | 1M | Yes | Alias of , thinking on |\n| | DeepSeek-V4.1-Flash | 1M | Yes | Thinking on by default |\n| | DeepSeek-V4-Pro | 1M | No | Thinking on by default |\n\nPass any model ID via (CLI) or (SDK). on lists only and ; the two older ids are accepted as aliases.","hierarchy":{"lvl0":"Getting Started","lvl1":"DeepSeek Provider Guide","lvl2":"Supported Models","lvl3":""}},
5477
+ {"objectID":"1574d51e68146899c67346042e4058b73556d0a7423c109bfc0cbaf9ef0a761f","title":"Using the Reasoner Model","url":"/docs/getting-started/providers/deepseek#using-the-reasoner-model","content":"Note: with thinking on, responses take longer because the model reasons before answering.","hierarchy":{"lvl0":"Getting Started","lvl1":"DeepSeek Provider Guide","lvl2":"Using the Reasoner Model","lvl3":""}},
5477
5478
  {"objectID":"052012b12d0e9fd5f6c6b6345cb0ac46eb5d5c106e30d6fe9c947bf97d0d2e59","title":"Per-Call Credential Override","url":"/docs/getting-started/providers/deepseek#per-call-credential-override","content":"Pass credentials at call time to override the instance-level or environment-variable defaults. Useful when routing requests for different users through separate DeepSeek accounts.\n\nYou can also override the base URL per call — useful when pointing at a self-hosted OpenAI-compatible proxy in front of DeepSeek:","hierarchy":{"lvl0":"Getting Started","lvl1":"DeepSeek Provider Guide","lvl2":"Per-Call Credential Override","lvl3":""}},
5478
5479
  {"objectID":"4a79f7cf87df3b212e2b9eccea6892c48f2f3cc2d78a00c6e18cf0bc61b1670e","title":"Basic Commands","url":"/docs/getting-started/providers/deepseek#basic-commands","content":"`bash","hierarchy":{"lvl0":"Getting Started","lvl1":"DeepSeek Provider Guide","lvl2":"Basic Commands","lvl3":""}},
5479
5480
  {"objectID":"e3e118ab6d9315151c533c73778fa913cb8b913290aeff45ea1a19d4249b50f6","title":"Generate with default model (deepseek-chat)","url":"/docs/getting-started/providers/deepseek#generate-with-default-model-deepseek-chat","content":"pnpm run cli generate \"What is the halting problem?\" --provider deepseek","hierarchy":{"lvl0":"Getting Started","lvl1":"DeepSeek Provider Guide","lvl2":"Generate with default model (deepseek-chat)","lvl3":""}},
@@ -5483,15 +5484,15 @@
5483
5484
  {"objectID":"97745b69cc39a0c49f07335a1229d41da5bb154a39be3ead063054c618ff46a4","title":"Streaming via CLI","url":"/docs/getting-started/providers/deepseek#streaming-via-cli","content":"The CLI streams output by default when a TTY is attached. No extra flags are required.","hierarchy":{"lvl0":"Getting Started","lvl1":"DeepSeek Provider Guide","lvl2":"Streaming via CLI","lvl3":""}},
5484
5485
  {"objectID":"ed4dfd86cf90167cd1ce9f0cf73dfd194acc9ef6b5f2ea36432667549e64c937","title":"Provider Aliases","url":"/docs/getting-started/providers/deepseek#provider-aliases","content":"The DeepSeek provider can be referenced by any of the following names:\n\n| Alias | Example |\n| ---------- | --------------------- |\n| | |\n| | |","hierarchy":{"lvl0":"Getting Started","lvl1":"DeepSeek Provider Guide","lvl2":"Provider Aliases","lvl3":""}},
5485
5486
  {"objectID":"ee93faea0a3dac33a16ed609b540a3c4d740b078be904e91f12d93aab0117d27","title":"Configuration Reference","url":"/docs/getting-started/providers/deepseek#configuration-reference","content":"| Environment Variable | Required | Default | Description |\n| -------------------- | -------- | -------------------------- | ------------------------------------------- |\n| | Yes | — | DeepSeek API key (starts with ) |\n| | No | | Default model to use |\n| | No | | Base URL for the API (override for proxies) |","hierarchy":{"lvl0":"Getting Started","lvl1":"DeepSeek Provider Guide","lvl2":"Configuration Reference","lvl3":""}},
5486
- {"objectID":"96de170928a0c7cf159591ea3111960422e82d9e2583785718021bb9bdda2400","title":"Feature Support Matrix","url":"/docs/getting-started/providers/deepseek#feature-support-matrix","content":"| Feature | | |\n| ----------------- | --------------- | ------------------- |\n| Text generation | Yes | Yes |\n| Streaming | Yes | Yes |\n| Tool calling | Yes | Limited |\n| Structured output | Yes | Limited |\n| Vision / images | No | No |\n| Embeddings | No | No |\n| Reasoning trace | No | Yes |","hierarchy":{"lvl0":"Getting Started","lvl1":"DeepSeek Provider Guide","lvl2":"Feature Support Matrix","lvl3":""}},
5487
+ {"objectID":"96de170928a0c7cf159591ea3111960422e82d9e2583785718021bb9bdda2400","title":"Feature Support Matrix","url":"/docs/getting-started/providers/deepseek#feature-support-matrix","content":"| Feature | | | | |\n| ----------------- | --------------- | ------------------- | ---------------- | ----------------- |\n| Text generation | Yes | Yes | Yes | Yes |\n| Streaming | Yes | Yes | Yes | Yes |\n| Tool calling | Yes | See below | See below | See below |\n| Structured output | Yes | Not tested | Not tested | Not tested |\n| Vision / images | Yes | Yes | Yes | No |\n| Embeddings | No | No | No | No |\n| Reasoning trace | No | Yes | Yes | Yes |","hierarchy":{"lvl0":"Getting Started","lvl1":"DeepSeek Provider Guide","lvl2":"Feature Support Matrix","lvl3":""}},
5487
5488
  {"objectID":"3231260189e6a4a38cc5eb1b8250aafacac777f6235f29e0efdeb9cc2263a16c","title":"\"Invalid DeepSeek API key\"","url":"/docs/getting-started/providers/deepseek#invalid-deepseek-api-key","content":"The is missing or incorrect.\n\n`bash","hierarchy":{"lvl0":"Getting Started","lvl1":"DeepSeek Provider Guide","lvl2":"\"Invalid DeepSeek API key\"","lvl3":""}},
5488
5489
  {"objectID":"e76d49f1afb161543ab8cd1e017763d740ae0a41d31a2a9084448fdf94ecdcb2","title":"Verify the variable is set","url":"/docs/getting-started/providers/deepseek#verify-the-variable-is-set","content":"echo $DEEPSEEKAPIKEY","hierarchy":{"lvl0":"Getting Started","lvl1":"DeepSeek Provider Guide","lvl2":"Verify the variable is set","lvl3":""}},
5489
5490
  {"objectID":"f2faab6113b9ad539936bfaf050aec86df1e0395bdc082e2725c3f91c80c8ca7","title":"Set it inline","url":"/docs/getting-started/providers/deepseek#set-it-inline","content":"`\n\nGet or rotate keys at https://platform.deepseek.com/api_keys.","hierarchy":{"lvl0":"Getting Started","lvl1":"DeepSeek Provider Guide","lvl2":"Set it inline","lvl3":""}},
5490
5491
  {"objectID":"b645b2e26445e403c19051e0931f3b815ce9cedacbbbcd5d0459d465fa012ede","title":"\"DeepSeek account has insufficient balance\"","url":"/docs/getting-started/providers/deepseek#deepseek-account-has-insufficient-balance","content":"Your account credit is exhausted. Top up at https://platform.deepseek.com/usage.","hierarchy":{"lvl0":"Getting Started","lvl1":"DeepSeek Provider Guide","lvl2":"\"DeepSeek account has insufficient balance\"","lvl3":""}},
5491
5492
  {"objectID":"54989b947cc0840d9d58abc26fce361c1c0c678c2ebef38eb352dc221da6b43c","title":"\"DeepSeek rate limit exceeded\"","url":"/docs/getting-started/providers/deepseek#deepseek-rate-limit-exceeded","content":"Too many requests in a short window. Implement exponential backoff or reduce request concurrency. Rate limits are published in the DeepSeek API docs.","hierarchy":{"lvl0":"Getting Started","lvl1":"DeepSeek Provider Guide","lvl2":"\"DeepSeek rate limit exceeded\"","lvl3":""}},
5492
- {"objectID":"bcadc6d16aa1af4c9dd5e509db1ee7f587179ae8ca9d98e7240408c739991802","title":"\"Model not found\"","url":"/docs/getting-started/providers/deepseek#model-not-found","content":"Only and are hosted on . Check the model name for typos.","hierarchy":{"lvl0":"Getting Started","lvl1":"DeepSeek Provider Guide","lvl2":"\"Model not found\"","lvl3":""}},
5493
- {"objectID":"1fd3f0446b9a2372f64c02fb070d397cbced4d9b46af189b469892737e3755eb","title":"Slow responses on deepseek-reasoner","url":"/docs/getting-started/providers/deepseek#slow-responses-on-deepseek-reasoner","content":"Expected. R1 performs extended chain-of-thought reasoning before producing its final answer, which adds latency proportional to reasoning complexity. Use for latency-sensitive paths.","hierarchy":{"lvl0":"Getting Started","lvl1":"DeepSeek Provider Guide","lvl2":"Slow responses on deepseek-reasoner","lvl3":""}},
5494
- {"objectID":"53837d1463897d5b10f7f74918b3cdbdab096055a0b095f873b539a5e52fed1f","title":"Tool calls failing on deepseek-reasoner","url":"/docs/getting-started/providers/deepseek#tool-calls-failing-on-deepseek-reasoner","content":"DeepSeek documents limited tool support on R1. For tool-heavy workflows, use .","hierarchy":{"lvl0":"Getting Started","lvl1":"DeepSeek Provider Guide","lvl2":"Tool calls failing on deepseek-reasoner","lvl3":""}},
5493
+ {"objectID":"bcadc6d16aa1af4c9dd5e509db1ee7f587179ae8ca9d98e7240408c739991802","title":"\"Model not found\"","url":"/docs/getting-started/providers/deepseek#model-not-found","content":"DeepSeek answers an unknown id with and \"The supported API model names are deepseek-flash, deepseek-v4-pro\". Use one of those, or the / aliases.","hierarchy":{"lvl0":"Getting Started","lvl1":"DeepSeek Provider Guide","lvl2":"\"Model not found\"","lvl3":""}},
5494
+ {"objectID":"5d6c41711a9d937d9546d0227eee7fce427c5cdff6f8d549cf4e4171ba66b5d7","title":"Slow responses with thinking on","url":"/docs/getting-started/providers/deepseek#slow-responses-with-thinking-on","content":"Expected. , and reason before answering, which adds latency. Use for latency-sensitive paths.","hierarchy":{"lvl0":"Getting Started","lvl1":"DeepSeek Provider Guide","lvl2":"Slow responses with thinking on","lvl3":""}},
5495
+ {"objectID":"b507cb02f53bda7fec320d54c24a3a6d33e5e17bda8fe60622265712c2e59944","title":"Tool calls failing with thinking on","url":"/docs/getting-started/providers/deepseek#tool-calls-failing-with-thinking-on","content":"DeepSeek requires to be sent back on every later request once tools are in play, and returns otherwise (thinking mode guide). For tool-heavy workflows, use , which keeps thinking off.","hierarchy":{"lvl0":"Getting Started","lvl1":"DeepSeek Provider Guide","lvl2":"Tool calls failing with thinking on","lvl3":""}},
5495
5496
  {"objectID":"892870aad241356c56f5445ecf528a3a7b6ba11c3eedea3673715106da0ef59d","title":"See Also","url":"/docs/getting-started/providers/deepseek#see-also","content":"Implementation spec — internal wire-format details and design decisions\nOpenAI Compatible provider — generic provider for any OpenAI-compatible endpoint\nLiteLLM provider — proxy-based multi-provider access\n\nNeed Help? Join the GitHub Discussions or open an issue.","hierarchy":{"lvl0":"Getting Started","lvl1":"DeepSeek Provider Guide","lvl2":"See Also","lvl3":""}},
5496
5497
  {"objectID":"b3dc872a8aa0c095281226e80d35c5d769d99952788bf74ad7ee9fb302df11f4","title":"ElevenLabs Music Provider Guide","url":"/docs/getting-started/providers/elevenlabs-music","content":"ElevenLabs Music Provider Guide\n\nMusic + sound-effect generation via the ElevenLabs Music / SFX API\n\nOverview\n\nElevenLabs ships music and sound-effect models\nunder the same account used for TTS. NeuroLink supports both via\n (full musical tracks) and\n (short SFX).\n\nKey Facts\nEndpoint: (and )\nAuth: header (same key as TTS)\nOutput: MP3\n\nQuick Start\nGet an API Key\n\nhttps://elevenlabs.io/app/settings/api-keys\nConfigure\nGenerate Music\n\nSound Effects\n\nCLI Usage\n\nConfiguration Reference\n\n| Environment Variable | Required | Description |\n| -------------------- | -------- | -------------- |\n| | Yes | ElevenLabs key |\n\nTroubleshooting\n— your ElevenLabs subscription has an open\n invoice. Complete payment at\n https://elevenlabs.io/app/subscription\n to re-enable the music endpoint.\n\nSee Also\nBeatoven Provider\nLyria Provider\nElevenLabs TTS","hierarchy":{"lvl0":"Getting Started","lvl1":"ElevenLabs Music Provider Guide","lvl2":"","lvl3":""}},
5497
5498
  {"objectID":"c53d01db44f92cdf3d96fda02e6105b3c436689e2b09c49cc9819592771f88d0","title":"ElevenLabs Music Provider Guide","url":"/docs/getting-started/providers/elevenlabs-music#elevenlabs-music-provider-guide","content":"Music + sound-effect generation via the ElevenLabs Music / SFX API","hierarchy":{"lvl0":"Getting Started","lvl1":"ElevenLabs Music Provider Guide","lvl2":"ElevenLabs Music Provider Guide","lvl3":""}},
@@ -5738,10 +5739,10 @@
5738
5739
  {"objectID":"9710ca23dde49d00ee877f62b756ee4c472f2a6c1d230e0a0d700931560a83f7","title":"1. Get an API Key + Avatar ID","url":"/docs/getting-started/providers/heygen#1-get-an-api-key-avatar-id","content":"https://app.heygen.com/settings/api\nand pick an avatar id from your avatar library.","hierarchy":{"lvl0":"Getting Started","lvl1":"HeyGen Provider Guide (avatar)","lvl2":"1. Get an API Key + Avatar ID","lvl3":""}},
5739
5740
  {"objectID":"03bd379139540be2918426afee50ad01085ab0a3a64d71c3e75eba88fa41d2e3","title":"Configuration Reference","url":"/docs/getting-started/providers/heygen#configuration-reference","content":"| Environment Variable | Required | Description |\n| ----------------------- | -------- | -------------------------------- |\n| | Yes | HeyGen API key |\n| | No | Optional avatar id for test runs |","hierarchy":{"lvl0":"Getting Started","lvl1":"HeyGen Provider Guide (avatar)","lvl2":"Configuration Reference","lvl3":""}},
5740
5741
  {"objectID":"c050dccfcf76a2f74e8b429184d2033de03ced28b5d675e3806d266d956ad5dc","title":"See Also","url":"/docs/getting-started/providers/heygen#see-also","content":"D-ID Provider\nMuseTalk via Replicate","hierarchy":{"lvl0":"Getting Started","lvl1":"HeyGen Provider Guide (avatar)","lvl2":"See Also","lvl3":""}},
5741
- {"objectID":"3626bbbf9617154292dcf29cc7e93049e111bf5d19b8718befef912a346d11e5","title":"Hugging Face Provider Guide","url":"/docs/getting-started/providers/huggingface","content":"Hugging Face Provider Guide\n\nAccess 100,000+ open-source AI models through Hugging Face's free inference API\n\nOverview\n\nHugging Face is the world's largest platform for open-source AI models, hosting over 100,000 models spanning text generation, code generation, translation, summarization, and more. NeuroLink's Hugging Face provider gives you free access to this vast ecosystem through a unified interface.\n\nHugging Face's inference API is completely free for most models, with a generous daily cap (~1,000 requests/day per model). Perfect for development, testing, and low-to-medium production workloads without any cost concerns.\n\nKey Benefits\n🆓 Free Access: No API costs - completely free to use\n🌍 100,000+ Models: Largest collection of open-source models\n🔓 Open Source: All models are open and transparent\n⚡ Quick Start: No credit card required\n🎯 Specialized Models: Models fine-tuned for specific tasks\n🔬 Research-Friendly: Access to latest research models\n\nUse Cases\nExperimentation: Try different models without cost concerns\nResearch: Access cutting-edge research models\nBudget-Constrained: Production usage without API costs\nSpecialized Tasks: Fine-tuned models for specific domains\nLearning: Perfect for students and developers learning AI\n\nQuick Start\nGet Your API Token\nVisit Hugging Face\nCreate a free account (no credit card required)\nGo to Settings → Access Tokens\nClick \"New token\"\nGive it a name (e.g., \"NeuroLink\")\nSelect \"Read\" permissions\nCopy the token (starts with )\nConfigure NeuroLink\n\nAdd to your file:\n\nNever commit your API token to version control. Always use environment variables and add to your file.\n\nTest the Setup\n\nModel Selection Guide\n\nPopular Models by Category\nGeneral Text Generation\n\n| Model | Size | Description | Best For |\n| ----------------------------------------------- | ------- | ------------------------------------ | ------------------------------- |\n| | 72B | Qwen 2.5 instruction-tuned (default) | General tasks, high quality |\n| | 235B | Latest Qwen 3 MoE flagship | Complex reasoning, multilingual |\n| | 32B | Qwen 3 dense model | Balanced quality and speed |\n| | 8B | Qwen 3 efficient model | Fast responses, low cost |\n| | 70B | Meta Llama 3.3 instruction-tuned | Conversational AI, reasoning |\n| | 17B MoE | Meta Llama 4 Scout | Efficient multimodal tasks |\n| | 17B MoE | Meta Llama 4 Maverick | Advanced multimodal reasoning |\n| | 671B | DeepSeek reasoning model | Math, logic, step-by-step |\n| | 671B | DeepSeek V3 general-purpose | General tasks, coding |\n| | 123B | Mistral Large 3 | Enterprise, multilingual |\n| | 24B | Mistral Small 3.1 | Fast, cost-effective |\n| | 27B | Google Gemma 3 instruction-tuned | General tasks, research |\n| | 12B | Google Gemma 3 mid-size | Balanced performance |\n| | 4B | Google Gemma 3 lightweight | Edge deployment, fast |\n| | 14B | Microsoft Phi-4 | Reasoning, STEM tasks |\n| | 3.8B | Microsoft Phi-4-mini | Lightweight, on-device |\nCode Generation\n\n| Model | Description | Best For |\n| ----------------------------------- | --------------------------------- | ---------------------- |\n| | Mistral Devstral 2 code model | Code generation, IDE |\n| | Qwen 2.5 code specialist | Complex coding tasks |\n| | DeepSeek V3 with strong code perf | Full-stack development |\n| | Llama 3.3 with code capabilities | Code review, refactor |\nSummarization\n\n| Model | Description | Best For |\n| ------------------------- | ------------------------- | -------------------- |\n| | News summarization | Articles, news |\n| | Qwen 3 with summarization | General summaries |\n| | Extreme summarization | Very brief summaries |\nTranslation\n\n| Model | Languages | Best For |\n| ------------------------------------------ | -------------- | -------------------------- |\n| | 50 languages | Multi-language translation |\n| | Language pairs | Specific language pairs |\nQuestion Answering\n\n| Model | Description | Best For |\n| -----------------","hierarchy":{"lvl0":"Getting Started","lvl1":"Hugging Face Provider Guide","lvl2":"","lvl3":""}},
5742
- {"objectID":"67c35fed652c61cb9ecef3da50aa08ebb87bdc39a1535b300e13cf06b7bf9ada","title":"Hugging Face Provider Guide","url":"/docs/getting-started/providers/huggingface#hugging-face-provider-guide","content":"Access 100,000+ open-source AI models through Hugging Face's free inference API","hierarchy":{"lvl0":"Getting Started","lvl1":"Hugging Face Provider Guide","lvl2":"Hugging Face Provider Guide","lvl3":""}},
5743
- {"objectID":"bb7532acf343b5ec394b96896488e4c683978e28eb82d921823a453823913723","title":"Overview","url":"/docs/getting-started/providers/huggingface#overview","content":"Hugging Face is the world's largest platform for open-source AI models, hosting over 100,000 models spanning text generation, code generation, translation, summarization, and more. NeuroLink's Hugging Face provider gives you free access to this vast ecosystem through a unified interface.\n\nHugging Face's inference API is completely free for most models, with a generous daily cap (~1,000 requests/day per model). Perfect for development, testing, and low-to-medium production workloads without any cost concerns.","hierarchy":{"lvl0":"Getting Started","lvl1":"Hugging Face Provider Guide","lvl2":"Overview","lvl3":""}},
5744
- {"objectID":"24c6946aad4b2220bd47c9405e322a983cda7f8cb51ca80bcf137565d6e1434b","title":"Key Benefits","url":"/docs/getting-started/providers/huggingface#key-benefits","content":"🆓 Free Access: No API costs - completely free to use\n🌍 100,000+ Models: Largest collection of open-source models\n🔓 Open Source: All models are open and transparent\n⚡ Quick Start: No credit card required\n🎯 Specialized Models: Models fine-tuned for specific tasks\n🔬 Research-Friendly: Access to latest research models","hierarchy":{"lvl0":"Getting Started","lvl1":"Hugging Face Provider Guide","lvl2":"Key Benefits","lvl3":""}},
5742
+ {"objectID":"3626bbbf9617154292dcf29cc7e93049e111bf5d19b8718befef912a346d11e5","title":"Hugging Face Provider Guide","url":"/docs/getting-started/providers/huggingface","content":"Hugging Face Provider Guide\n\nAccess open-source AI models through Hugging Face Inference Providers\n\nOverview\n\nHugging Face is the world's largest platform for open-source AI models, hosting over 100,000 models spanning text generation, code generation, translation, summarization, and more. NeuroLink's Hugging Face provider reaches the chat models the Inference Providers router serves, through a unified interface.\n\nFree accounts get a small monthly credit for Inference Providers, with no card required (pricing). Once it is spent, requests return until you buy pre-paid credits or subscribe to PRO.\n\nKey Benefits\n🆓 Free Credits: A small monthly allowance to start with\n🌍 100,000+ Models: Largest collection of open-source models\n🔓 Open Source: All models are open and transparent\n⚡ Quick Start: No credit card required\n🎯 Specialized Models: Models fine-tuned for specific tasks\n🔬 Research-Friendly: Access to latest research models\n\nUse Cases\nExperimentation: Try different models without cost concerns\nResearch: Access cutting-edge research models\nBudget-Constrained: Production usage without API costs\nSpecialized Tasks: Fine-tuned models for specific domains\nLearning: Perfect for students and developers learning AI\n\nQuick Start\nGet Your API Token\nVisit Hugging Face\nCreate a free account (no credit card required)\nGo to Settings → Access Tokens\nClick \"New token\"\nGive it a name (e.g., \"NeuroLink\")\nSelect \"Read\" permissions\nCopy the token (starts with )\nConfigure NeuroLink\n\nAdd to your file:\n\nNever commit your API token to version control. Always use environment variables and add to your file.\n\nTest the Setup\n\nModel Selection Guide\n\nPopular Models by Category\nGeneral Text Generation\n\n| Model | Size | Description | Best For |\n| ------------------------------------------- | ------- | ------------------------------------ | ------------------------------- |\n| | 72B | Qwen 2.5 instruction-tuned (default) | General tasks, high quality |\n| | 235B | Latest Qwen 3 MoE flagship | Complex reasoning, multilingual |\n| | 32B | Qwen 3 dense model | Balanced quality and speed |\n| | 8B | Qwen 3 efficient model | Fast responses, low cost |\n| | 70B | Meta Llama 3.3 instruction-tuned | Conversational AI, reasoning |\n| | 17B MoE | Meta Llama 4 Scout | Efficient multimodal tasks |\n| | 671B | DeepSeek reasoning model | Math, logic, step-by-step |\n| | 671B | DeepSeek V3 general-purpose | General tasks, coding |\n| | 27B | Google Gemma 3 instruction-tuned | General tasks, research |\n| | 12B | Google Gemma 3 mid-size | Balanced performance |\n| | 4B | Google Gemma 3 lightweight | Edge deployment, fast |\n| | 14B | Microsoft Phi-4 | Reasoning, STEM tasks |\nCode Generation\n\n| Model | Description | Best For |\n| ----------------------------------- | --------------------------------- | ---------------------- |\n| | Qwen 2.5 code specialist | Complex coding tasks |\n| | DeepSeek V3 with strong code perf | Full-stack development |\n| | Llama 3.3 with code capabilities | Code review, refactor |\nSummarization\n\n| Model | Description | Best For |\n| ------------------------- | ------------------------- | -------------------- |\n| | News summarization | Articles, news |\n| | Qwen 3 with summarization | General summaries |\n| | Extreme summarization | Very brief summaries |\nTranslation\n\n| Model | Languages | Best For |\n| ------------------------------------------ | -------------- | -------------------------- |\n| | 50 languages | Multi-language translation |\n| | Language pairs | Specific language pairs |\nQuestion Answering\n\n| Model | Description | Best For |\n| ----------------------------- | ------------------- | -------------- |\n| | SQuAD-trained | Factual Q&A |\n| | General QA via chat | Open-ended Q&A |\n\nModel Selection by Use Case\n\nFree Tier Details\n\nWhat's Included\n✅ Monthly credits for Inference Providers on a free account\n✅ No credit card required for the free credits\n⚠️ once the credits are spent — buy pre-paid credits or subscribe to PRO to continue\n\nSee Hugging Face's pricing page for the current allowance.\n\nSpending the credits\nBest Practice: Combine with other providers so a spent allo","hierarchy":{"lvl0":"Getting Started","lvl1":"Hugging Face Provider Guide","lvl2":"","lvl3":""}},
5743
+ {"objectID":"67c35fed652c61cb9ecef3da50aa08ebb87bdc39a1535b300e13cf06b7bf9ada","title":"Hugging Face Provider Guide","url":"/docs/getting-started/providers/huggingface#hugging-face-provider-guide","content":"Access open-source AI models through Hugging Face Inference Providers","hierarchy":{"lvl0":"Getting Started","lvl1":"Hugging Face Provider Guide","lvl2":"Hugging Face Provider Guide","lvl3":""}},
5744
+ {"objectID":"bb7532acf343b5ec394b96896488e4c683978e28eb82d921823a453823913723","title":"Overview","url":"/docs/getting-started/providers/huggingface#overview","content":"Hugging Face is the world's largest platform for open-source AI models, hosting over 100,000 models spanning text generation, code generation, translation, summarization, and more. NeuroLink's Hugging Face provider reaches the chat models the Inference Providers router serves, through a unified interface.\n\nFree accounts get a small monthly credit for Inference Providers, with no card required (pricing). Once it is spent, requests return until you buy pre-paid credits or subscribe to PRO.","hierarchy":{"lvl0":"Getting Started","lvl1":"Hugging Face Provider Guide","lvl2":"Overview","lvl3":""}},
5745
+ {"objectID":"24c6946aad4b2220bd47c9405e322a983cda7f8cb51ca80bcf137565d6e1434b","title":"Key Benefits","url":"/docs/getting-started/providers/huggingface#key-benefits","content":"🆓 Free Credits: A small monthly allowance to start with\n🌍 100,000+ Models: Largest collection of open-source models\n🔓 Open Source: All models are open and transparent\n⚡ Quick Start: No credit card required\n🎯 Specialized Models: Models fine-tuned for specific tasks\n🔬 Research-Friendly: Access to latest research models","hierarchy":{"lvl0":"Getting Started","lvl1":"Hugging Face Provider Guide","lvl2":"Key Benefits","lvl3":""}},
5745
5746
  {"objectID":"892c972b4296de1f969a0863b637ddec5d582e505766497ed926c53dd5525298","title":"Use Cases","url":"/docs/getting-started/providers/huggingface#use-cases","content":"Experimentation: Try different models without cost concerns\nResearch: Access cutting-edge research models\nBudget-Constrained: Production usage without API costs\nSpecialized Tasks: Fine-tuned models for specific domains\nLearning: Perfect for students and developers learning AI","hierarchy":{"lvl0":"Getting Started","lvl1":"Hugging Face Provider Guide","lvl2":"Use Cases","lvl3":""}},
5746
5747
  {"objectID":"428b66beca8e247085d1be01098189fcfa8ec8c9d1ef1cf6d13571026dd255c9","title":"1. Get Your API Token","url":"/docs/getting-started/providers/huggingface#1-get-your-api-token","content":"Visit Hugging Face\nCreate a free account (no credit card required)\nGo to Settings → Access Tokens\nClick \"New token\"\nGive it a name (e.g., \"NeuroLink\")\nSelect \"Read\" permissions\nCopy the token (starts with )","hierarchy":{"lvl0":"Getting Started","lvl1":"Hugging Face Provider Guide","lvl2":"1. Get Your API Token","lvl3":""}},
5747
5748
  {"objectID":"39d4fd9b5b74c321a8a036e4f691f5e858ad47d585b25d8d2bcfa45391bf9783","title":"2. Configure NeuroLink","url":"/docs/getting-started/providers/huggingface#2-configure-neurolink","content":"Add to your file:\n\nNever commit your API token to version control. Always use environment variables and add to your file.","hierarchy":{"lvl0":"Getting Started","lvl1":"Hugging Face Provider Guide","lvl2":"2. Configure NeuroLink","lvl3":""}},
@@ -5749,13 +5750,13 @@
5749
5750
  {"objectID":"83d34974023436cb86b92310e4ee3d61e43dc90681f32af73fe2d9c98c0e460f","title":"CLI - Test with default model","url":"/docs/getting-started/providers/huggingface#cli---test-with-default-model","content":"npx @juspay/neurolink generate \"Hello from Hugging Face!\" --provider huggingface","hierarchy":{"lvl0":"Getting Started","lvl1":"Hugging Face Provider Guide","lvl2":"CLI - Test with default model","lvl3":""}},
5750
5751
  {"objectID":"d4070a93ff93c72be68ecba469c0213a8175c449243cd6df6bcb39852ddd4881","title":"CLI - Use specific model","url":"/docs/getting-started/providers/huggingface#cli---use-specific-model","content":"npx @juspay/neurolink generate \"Write a poem\" --provider huggingface --model \"Qwen/Qwen2.5-72B-Instruct\"","hierarchy":{"lvl0":"Getting Started","lvl1":"Hugging Face Provider Guide","lvl2":"CLI - Use specific model","lvl3":""}},
5751
5752
  {"objectID":"c410b97167de4919ed583e78929abe7935d2f9b30aec33f3e0dd536595a477a0","title":"SDK","url":"/docs/getting-started/providers/huggingface#sdk","content":"node -e \"\nconst { NeuroLink } = require('@juspay/neurolink');\n(async () => {\n const ai = new NeuroLink();\n const result = await ai.generate({\n input: { text: 'Hello from Hugging Face!' },\n provider: 'huggingface'\n });\n console.log(result.content);\n})();\n\"\n`","hierarchy":{"lvl0":"Getting Started","lvl1":"Hugging Face Provider Guide","lvl2":"SDK","lvl3":""}},
5752
- {"objectID":"8d11d199a6f188ccade2c0c0354d64bae5832aa7f8ebb400adddd12c65c66391","title":"1. General Text Generation","url":"/docs/getting-started/providers/huggingface#1-general-text-generation","content":"| Model | Size | Description | Best For |\n| ----------------------------------------------- | ------- | ------------------------------------ | ------------------------------- |\n| | 72B | Qwen 2.5 instruction-tuned (default) | General tasks, high quality |\n| | 235B | Latest Qwen 3 MoE flagship | Complex reasoning, multilingual |\n| | 32B | Qwen 3 dense model | Balanced quality and speed |\n| | 8B | Qwen 3 efficient model | Fast responses, low cost |\n| | 70B | Meta Llama 3.3 instruction-tuned | Conversational AI, reasoning |\n| | 17B MoE | Meta Llama 4 Scout | Efficient multimodal tasks |\n| | 17B MoE | Meta Llama 4 Maverick | Advanced multimodal reasoning |\n| | 671B | DeepSeek reasoning model | Math, logic, step-by-step |\n| | 671B | DeepSeek V3 general-purpose | General tasks, coding |\n| | 123B | Mistral Large 3 | Enterprise, multilingual |\n| | 24B | Mistral Small 3.1 | Fast, cost-effective |\n| | 27B | Google Gemma 3 instruction-tuned | General tasks, research |\n| | 12B | Google Gemma 3 mid-size | Balanced performance |\n| | 4B | Google Gemma 3 lightweight | Edge deployment, fast |\n| | 14B | Microsoft Phi-4 | Reasoning, STEM tasks |\n| | 3.8B | Microsoft Phi-4-mini | Lightweight, on-device |","hierarchy":{"lvl0":"Getting Started","lvl1":"Hugging Face Provider Guide","lvl2":"1. General Text Generation","lvl3":""}},
5753
- {"objectID":"2ed33a7debf4478aa4375a920a2a7fff96130d3809027b7f5506f1c7637f82ba","title":"2. Code Generation","url":"/docs/getting-started/providers/huggingface#2-code-generation","content":"| Model | Description | Best For |\n| ----------------------------------- | --------------------------------- | ---------------------- |\n| | Mistral Devstral 2 code model | Code generation, IDE |\n| | Qwen 2.5 code specialist | Complex coding tasks |\n| | DeepSeek V3 with strong code perf | Full-stack development |\n| | Llama 3.3 with code capabilities | Code review, refactor |","hierarchy":{"lvl0":"Getting Started","lvl1":"Hugging Face Provider Guide","lvl2":"2. Code Generation","lvl3":""}},
5753
+ {"objectID":"8d11d199a6f188ccade2c0c0354d64bae5832aa7f8ebb400adddd12c65c66391","title":"1. General Text Generation","url":"/docs/getting-started/providers/huggingface#1-general-text-generation","content":"| Model | Size | Description | Best For |\n| ------------------------------------------- | ------- | ------------------------------------ | ------------------------------- |\n| | 72B | Qwen 2.5 instruction-tuned (default) | General tasks, high quality |\n| | 235B | Latest Qwen 3 MoE flagship | Complex reasoning, multilingual |\n| | 32B | Qwen 3 dense model | Balanced quality and speed |\n| | 8B | Qwen 3 efficient model | Fast responses, low cost |\n| | 70B | Meta Llama 3.3 instruction-tuned | Conversational AI, reasoning |\n| | 17B MoE | Meta Llama 4 Scout | Efficient multimodal tasks |\n| | 671B | DeepSeek reasoning model | Math, logic, step-by-step |\n| | 671B | DeepSeek V3 general-purpose | General tasks, coding |\n| | 27B | Google Gemma 3 instruction-tuned | General tasks, research |\n| | 12B | Google Gemma 3 mid-size | Balanced performance |\n| | 4B | Google Gemma 3 lightweight | Edge deployment, fast |\n| | 14B | Microsoft Phi-4 | Reasoning, STEM tasks |","hierarchy":{"lvl0":"Getting Started","lvl1":"Hugging Face Provider Guide","lvl2":"1. General Text Generation","lvl3":""}},
5754
+ {"objectID":"2ed33a7debf4478aa4375a920a2a7fff96130d3809027b7f5506f1c7637f82ba","title":"2. Code Generation","url":"/docs/getting-started/providers/huggingface#2-code-generation","content":"| Model | Description | Best For |\n| ----------------------------------- | --------------------------------- | ---------------------- |\n| | Qwen 2.5 code specialist | Complex coding tasks |\n| | DeepSeek V3 with strong code perf | Full-stack development |\n| | Llama 3.3 with code capabilities | Code review, refactor |","hierarchy":{"lvl0":"Getting Started","lvl1":"Hugging Face Provider Guide","lvl2":"2. Code Generation","lvl3":""}},
5754
5755
  {"objectID":"80224b192cb527fa812447cd3396646b235b684262219a6b8e0a8aeb334aea6a","title":"3. Summarization","url":"/docs/getting-started/providers/huggingface#3-summarization","content":"| Model | Description | Best For |\n| ------------------------- | ------------------------- | -------------------- |\n| | News summarization | Articles, news |\n| | Qwen 3 with summarization | General summaries |\n| | Extreme summarization | Very brief summaries |","hierarchy":{"lvl0":"Getting Started","lvl1":"Hugging Face Provider Guide","lvl2":"3. Summarization","lvl3":""}},
5755
5756
  {"objectID":"076533ffa91fd4afccbcd703b43e4ebbb6a847985094e68517a9d0ab3a01223a","title":"4. Translation","url":"/docs/getting-started/providers/huggingface#4-translation","content":"| Model | Languages | Best For |\n| ------------------------------------------ | -------------- | -------------------------- |\n| | 50 languages | Multi-language translation |\n| | Language pairs | Specific language pairs |","hierarchy":{"lvl0":"Getting Started","lvl1":"Hugging Face Provider Guide","lvl2":"4. Translation","lvl3":""}},
5756
5757
  {"objectID":"f4d2cfd0932d165e62bfb64da9167def25b8dca05ed8fa8c2612e8f47064b8cd","title":"5. Question Answering","url":"/docs/getting-started/providers/huggingface#5-question-answering","content":"| Model | Description | Best For |\n| ----------------------------- | ------------------- | -------------- |\n| | SQuAD-trained | Factual Q&A |\n| | General QA via chat | Open-ended Q&A |","hierarchy":{"lvl0":"Getting Started","lvl1":"Hugging Face Provider Guide","lvl2":"5. Question Answering","lvl3":""}},
5757
- {"objectID":"6053679d453ed2df9e4387155140cd286640877390b3b2061b2c681cb314f5a1","title":"What's Included","url":"/docs/getting-started/providers/huggingface#whats-included","content":"✅ Unlimited requests to public models\n✅ No cost - completely free\n✅ No credit card required\n✅ Rate limits: 1,000 requests/day per model (generous)\n✅ Access to 100,000+ public models","hierarchy":{"lvl0":"Getting Started","lvl1":"Hugging Face Provider Guide","lvl2":"What's Included","lvl3":""}},
5758
- {"objectID":"996143ffa82427de6586df5fce6d7b475019a22e09208a48c6351426e3acd3af","title":"Rate Limits","url":"/docs/getting-started/providers/huggingface#rate-limits","content":"Per Model: ~1,000 requests/day\nStrategy: Use different models to scale\nBest Practice: Combine with other providers for production","hierarchy":{"lvl0":"Getting Started","lvl1":"Hugging Face Provider Guide","lvl2":"Rate Limits","lvl3":""}},
5758
+ {"objectID":"6053679d453ed2df9e4387155140cd286640877390b3b2061b2c681cb314f5a1","title":"What's Included","url":"/docs/getting-started/providers/huggingface#whats-included","content":"✅ Monthly credits for Inference Providers on a free account\n✅ No credit card required for the free credits\n⚠️ once the credits are spent — buy pre-paid credits or subscribe to PRO to continue\n\nSee Hugging Face's pricing page for the current allowance.","hierarchy":{"lvl0":"Getting Started","lvl1":"Hugging Face Provider Guide","lvl2":"What's Included","lvl3":""}},
5759
+ {"objectID":"38e1606ed1185a8b86d7dfc53fb8de561d8e08a5761caba52fe1197bc28baed1","title":"Spending the credits","url":"/docs/getting-started/providers/huggingface#spending-the-credits","content":"Best Practice: Combine with other providers so a spent allowance falls back instead of failing","hierarchy":{"lvl0":"Getting Started","lvl1":"Hugging Face Provider Guide","lvl2":"Spending the credits","lvl3":""}},
5759
5760
  {"objectID":"7daac646e85d818c28199cd00f6b09f1444f8f9960da484a7dad1c1a0854cfcb","title":"Limitations","url":"/docs/getting-started/providers/huggingface#limitations","content":"⚠️ Free Tier Constraints:\nModels load on-demand (first request may be slow)\nRate limits per model (use multiple models to scale)\nNo guaranteed uptime (community infrastructure)\nSome popular models may have queues\n\n💡 For Production:\nUse Hugging Face for experimentation\nConsider paid inference for critical workloads\nCombine with other providers for reliability","hierarchy":{"lvl0":"Getting Started","lvl1":"Hugging Face Provider Guide","lvl2":"Limitations","lvl3":""}},
5760
5761
  {"objectID":"d4714bef1962c63a0986dff017d6f3f2b5f10611c54e6bad08501909c17192f8","title":"Basic Commands","url":"/docs/getting-started/providers/huggingface#basic-commands","content":"`bash","hierarchy":{"lvl0":"Getting Started","lvl1":"Hugging Face Provider Guide","lvl2":"Basic Commands","lvl3":""}},
5761
5762
  {"objectID":"6faa84aa14c65d4f3e18552e8cbe84862da1f30415b5371d028dbc87ca2f821a","title":"Generate with default model","url":"/docs/getting-started/providers/huggingface#generate-with-default-model","content":"npx @juspay/neurolink generate \"Hello world\" --provider huggingface","hierarchy":{"lvl0":"Getting Started","lvl1":"Hugging Face Provider Guide","lvl2":"Generate with default model","lvl3":""}},
@@ -5773,7 +5774,7 @@
5773
5774
  {"objectID":"c8bed242b8dc9d39c4faba0cd9b5ac30502ad89c18edce76976db9027e4b82c4","title":"Optional","url":"/docs/getting-started/providers/huggingface#optional","content":"HUGGINGFACEBASEURL=https://api-inference.huggingface.co # Custom endpoint\nHUGGINGFACE_MODEL=Qwen/Qwen2.5-72B-Instruct # Default model\nHUGGINGFACE_TIMEOUT=60000 # Request timeout (ms)\n`","hierarchy":{"lvl0":"Getting Started","lvl1":"Hugging Face Provider Guide","lvl2":"Optional","lvl3":""}},
5774
5775
  {"objectID":"0c7c8b4331824fac971cf656bcd4461c4bd7c847f320990518b52367c8b13fff","title":"1. \"Model is currently loading\"","url":"/docs/getting-started/providers/huggingface#1-model-is-currently-loading","content":"Problem: Model hasn't been used recently and needs to load.\n\nSolution:\n\n`bash","hierarchy":{"lvl0":"Getting Started","lvl1":"Hugging Face Provider Guide","lvl2":"1. \"Model is currently loading\"","lvl3":""}},
5775
5776
  {"objectID":"ba47758f6823477832a27157519d88f01208147b5a61289a37b44aae5b59a9f6","title":"Or use a popular model that's always loaded","url":"/docs/getting-started/providers/huggingface#or-use-a-popular-model-thats-always-loaded","content":"npx @juspay/neurolink gen \"test\" \\\n --provider huggingface \\\n --model \"Qwen/Qwen2.5-72B-Instruct\"\n`","hierarchy":{"lvl0":"Getting Started","lvl1":"Hugging Face Provider Guide","lvl2":"Or use a popular model that's always loaded","lvl3":""}},
5776
- {"objectID":"f61d2d759b6546b436af5efa7532a9f27bf1e7e97a3ea7e55d881330753d18de","title":"2. \"Rate limit exceeded\"","url":"/docs/getting-started/providers/huggingface#2-rate-limit-exceeded","content":"Problem: Hit the ~1,000 requests/day limit for a model.\n\nSolution:","hierarchy":{"lvl0":"Getting Started","lvl1":"Hugging Face Provider Guide","lvl2":"2. \"Rate limit exceeded\"","lvl3":""}},
5777
+ {"objectID":"f61d2d759b6546b436af5efa7532a9f27bf1e7e97a3ea7e55d881330753d18de","title":"2. \"Rate limit exceeded\"","url":"/docs/getting-started/providers/huggingface#2-rate-limit-exceeded","content":"Problem: Too many requests in a short window. A instead means the monthly credits are spent — see Free credits.\n\nSolution:","hierarchy":{"lvl0":"Getting Started","lvl1":"Hugging Face Provider Guide","lvl2":"2. \"Rate limit exceeded\"","lvl3":""}},
5777
5778
  {"objectID":"01f04aad378dde52be217fdc59156db563895a2ae7f10ca8c61be9c83273488f","title":"3. \"Invalid API token\"","url":"/docs/getting-started/providers/huggingface#3-invalid-api-token","content":"Problem: Token is incorrect or expired.\n\nSolution:\nVerify token at https://huggingface.co/settings/tokens\nEnsure token has \"Read\" permissions\nCheck for typos in file\nToken should start with","hierarchy":{"lvl0":"Getting Started","lvl1":"Hugging Face Provider Guide","lvl2":"3. \"Invalid API token\"","lvl3":""}},
5778
5779
  {"objectID":"315d6ab62dd10392cef05eeea570be85c59491fd75bc0a1e32e3d8ffe3b13cd1","title":"4. \"Model not found\"","url":"/docs/getting-started/providers/huggingface#4-model-not-found","content":"Problem: Model name is incorrect or private.\n\nSolution:\n\n`bash","hierarchy":{"lvl0":"Getting Started","lvl1":"Hugging Face Provider Guide","lvl2":"4. \"Model not found\"","lvl3":""}},
5779
5780
  {"objectID":"4637726f641340ec3203ff72886bedbe807db7d8c36cf9e1e02813859e571ac2","title":"Use exact model ID: username/model-name","url":"/docs/getting-started/providers/huggingface#use-exact-model-id-usernamemodel-name","content":"npx @juspay/neurolink gen \"test\" \\\n --provider huggingface \\\n --model \"Qwen/Qwen2.5-72B-Instruct\" # ✅ Correct format\n`","hierarchy":{"lvl0":"Getting Started","lvl1":"Hugging Face Provider Guide","lvl2":"Use exact model ID: username/model-name","lvl3":""}},
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@juspay/neurolink",
3
- "version": "12.24.1",
3
+ "version": "12.25.1",
4
4
  "packageManager": "pnpm@10.15.1",
5
5
  "description": "The pipe layer of an AI nervous system: one interface connecting provider neurons to your application, across three inference types — generate, stream and decide. `decide` returns typed, calibrated judgements from a non-generative model (~400ms, ~$0.00002/call) for routing, tool selection and context budgeting. MCP-native (4 transports), voice TTS/STT/realtime, RAG, agents, memory, compaction, 9 observability exporters. OpenAI · Anthropic · Gemini · Bedrock · Azure · Ollama · TypeSafe Jev and more.",
6
6
  "author": {