@anuma/sdk 6.3.0 → 6.3.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.
@@ -16207,6 +16207,9 @@ async function extractFacts(messages, options) {
16207
16207
  ...options.apiKey !== void 0 && { apiKey: options.apiKey },
16208
16208
  ...options.getToken !== void 0 && { getToken: options.getToken },
16209
16209
  ...options.baseUrl !== void 0 && { baseUrl: options.baseUrl },
16210
+ ...options.endpointOverride !== void 0 && {
16211
+ endpointOverride: options.endpointOverride
16212
+ },
16210
16213
  model: options.model ?? DEFAULT_EXTRACTION_MODEL,
16211
16214
  systemPrompt: SYSTEM_PROMPT4,
16212
16215
  userMessage: `Today's date is ${today}. Resolve any relative dates ("yesterday", "next week") against it.
@@ -5820,6 +5820,31 @@ interface QuarantinedMemoryInfo {
5820
5820
  interface ExtractFactsOptions extends PortalLlmAuth {
5821
5821
  baseUrl?: string;
5822
5822
  model?: string;
5823
+ /**
5824
+ * Optional per-call request path override, forwarded to
5825
+ * {@link callPortalJsonCompletion}. When set, the extraction call POSTs to
5826
+ * `baseUrl + endpointOverride` instead of the default
5827
+ * `/api/v1/chat/completions` — path only, body unchanged. Lets callers route
5828
+ * this internal-utility pass to a dedicated endpoint. Invalid values throw at
5829
+ * call time (see {@link validateEndpointOverride}).
5830
+ *
5831
+ * Why this exists (anuma-ai/ai-memoryless-client#5536): auto-extraction is the
5832
+ * highest-volume first-party background call in the product — one per
5833
+ * extracting turn, on every platform — and it carries no flow fingerprint, so
5834
+ * the portal's freeloader detector classifies it as scripted abuse. In reject
5835
+ * mode that 403s every basic-tier extraction, which surfaces here as
5836
+ * `onExhaustedEmpty` → `empty-after-retry` and leaves free-tier vaults empty.
5837
+ * {@link TopicExtractOptions.endpointOverride} already exists for the same
5838
+ * reason on the topic pass; this is the fact pass catching up.
5839
+ *
5840
+ * IMPORTANT — the utility endpoint clamps to a PRICE CEILING and never
5841
+ * rejects, so pointing this at `/api/v1/utility/chat/completions` while the
5842
+ * portal's ceiling prices below {@link DEFAULT_EXTRACTION_MODEL} silently
5843
+ * rewrites the model instead of 403-ing. That trades a visible failure for an
5844
+ * invisible quality regression: raise `PORTAL_UTILITY_CEILING_MODEL` to at
5845
+ * least the extraction model's rate BEFORE setting this in a client.
5846
+ */
5847
+ endpointOverride?: string;
5823
5848
  /** Override the global fetch implementation (useful for tests). */
5824
5849
  fetchFn?: typeof fetch;
5825
5850
  /**
@@ -5820,6 +5820,31 @@ interface QuarantinedMemoryInfo {
5820
5820
  interface ExtractFactsOptions extends PortalLlmAuth {
5821
5821
  baseUrl?: string;
5822
5822
  model?: string;
5823
+ /**
5824
+ * Optional per-call request path override, forwarded to
5825
+ * {@link callPortalJsonCompletion}. When set, the extraction call POSTs to
5826
+ * `baseUrl + endpointOverride` instead of the default
5827
+ * `/api/v1/chat/completions` — path only, body unchanged. Lets callers route
5828
+ * this internal-utility pass to a dedicated endpoint. Invalid values throw at
5829
+ * call time (see {@link validateEndpointOverride}).
5830
+ *
5831
+ * Why this exists (anuma-ai/ai-memoryless-client#5536): auto-extraction is the
5832
+ * highest-volume first-party background call in the product — one per
5833
+ * extracting turn, on every platform — and it carries no flow fingerprint, so
5834
+ * the portal's freeloader detector classifies it as scripted abuse. In reject
5835
+ * mode that 403s every basic-tier extraction, which surfaces here as
5836
+ * `onExhaustedEmpty` → `empty-after-retry` and leaves free-tier vaults empty.
5837
+ * {@link TopicExtractOptions.endpointOverride} already exists for the same
5838
+ * reason on the topic pass; this is the fact pass catching up.
5839
+ *
5840
+ * IMPORTANT — the utility endpoint clamps to a PRICE CEILING and never
5841
+ * rejects, so pointing this at `/api/v1/utility/chat/completions` while the
5842
+ * portal's ceiling prices below {@link DEFAULT_EXTRACTION_MODEL} silently
5843
+ * rewrites the model instead of 403-ing. That trades a visible failure for an
5844
+ * invisible quality regression: raise `PORTAL_UTILITY_CEILING_MODEL` to at
5845
+ * least the extraction model's rate BEFORE setting this in a client.
5846
+ */
5847
+ endpointOverride?: string;
5823
5848
  /** Override the global fetch implementation (useful for tests). */
5824
5849
  fetchFn?: typeof fetch;
5825
5850
  /**
@@ -7061,6 +7061,9 @@ async function extractFacts(messages, options) {
7061
7061
  ...options.apiKey !== void 0 && { apiKey: options.apiKey },
7062
7062
  ...options.getToken !== void 0 && { getToken: options.getToken },
7063
7063
  ...options.baseUrl !== void 0 && { baseUrl: options.baseUrl },
7064
+ ...options.endpointOverride !== void 0 && {
7065
+ endpointOverride: options.endpointOverride
7066
+ },
7064
7067
  model: options.model ?? DEFAULT_EXTRACTION_MODEL,
7065
7068
  systemPrompt: SYSTEM_PROMPT2,
7066
7069
  userMessage: `Today's date is ${today}. Resolve any relative dates ("yesterday", "next week") against it.
@@ -17543,6 +17543,9 @@ async function extractFacts(messages, options) {
17543
17543
  ...options.apiKey !== void 0 && { apiKey: options.apiKey },
17544
17544
  ...options.getToken !== void 0 && { getToken: options.getToken },
17545
17545
  ...options.baseUrl !== void 0 && { baseUrl: options.baseUrl },
17546
+ ...options.endpointOverride !== void 0 && {
17547
+ endpointOverride: options.endpointOverride
17548
+ },
17546
17549
  model: options.model ?? DEFAULT_EXTRACTION_MODEL,
17547
17550
  systemPrompt: SYSTEM_PROMPT4,
17548
17551
  userMessage: `Today's date is ${today}. Resolve any relative dates ("yesterday", "next week") against it.
@@ -7094,6 +7094,31 @@ interface QuarantinedMemoryInfo {
7094
7094
  interface ExtractFactsOptions extends PortalLlmAuth {
7095
7095
  baseUrl?: string;
7096
7096
  model?: string;
7097
+ /**
7098
+ * Optional per-call request path override, forwarded to
7099
+ * {@link callPortalJsonCompletion}. When set, the extraction call POSTs to
7100
+ * `baseUrl + endpointOverride` instead of the default
7101
+ * `/api/v1/chat/completions` — path only, body unchanged. Lets callers route
7102
+ * this internal-utility pass to a dedicated endpoint. Invalid values throw at
7103
+ * call time (see {@link validateEndpointOverride}).
7104
+ *
7105
+ * Why this exists (anuma-ai/ai-memoryless-client#5536): auto-extraction is the
7106
+ * highest-volume first-party background call in the product — one per
7107
+ * extracting turn, on every platform — and it carries no flow fingerprint, so
7108
+ * the portal's freeloader detector classifies it as scripted abuse. In reject
7109
+ * mode that 403s every basic-tier extraction, which surfaces here as
7110
+ * `onExhaustedEmpty` → `empty-after-retry` and leaves free-tier vaults empty.
7111
+ * {@link TopicExtractOptions.endpointOverride} already exists for the same
7112
+ * reason on the topic pass; this is the fact pass catching up.
7113
+ *
7114
+ * IMPORTANT — the utility endpoint clamps to a PRICE CEILING and never
7115
+ * rejects, so pointing this at `/api/v1/utility/chat/completions` while the
7116
+ * portal's ceiling prices below {@link DEFAULT_EXTRACTION_MODEL} silently
7117
+ * rewrites the model instead of 403-ing. That trades a visible failure for an
7118
+ * invisible quality regression: raise `PORTAL_UTILITY_CEILING_MODEL` to at
7119
+ * least the extraction model's rate BEFORE setting this in a client.
7120
+ */
7121
+ endpointOverride?: string;
7097
7122
  /** Override the global fetch implementation (useful for tests). */
7098
7123
  fetchFn?: typeof fetch;
7099
7124
  /**
@@ -7094,6 +7094,31 @@ interface QuarantinedMemoryInfo {
7094
7094
  interface ExtractFactsOptions extends PortalLlmAuth {
7095
7095
  baseUrl?: string;
7096
7096
  model?: string;
7097
+ /**
7098
+ * Optional per-call request path override, forwarded to
7099
+ * {@link callPortalJsonCompletion}. When set, the extraction call POSTs to
7100
+ * `baseUrl + endpointOverride` instead of the default
7101
+ * `/api/v1/chat/completions` — path only, body unchanged. Lets callers route
7102
+ * this internal-utility pass to a dedicated endpoint. Invalid values throw at
7103
+ * call time (see {@link validateEndpointOverride}).
7104
+ *
7105
+ * Why this exists (anuma-ai/ai-memoryless-client#5536): auto-extraction is the
7106
+ * highest-volume first-party background call in the product — one per
7107
+ * extracting turn, on every platform — and it carries no flow fingerprint, so
7108
+ * the portal's freeloader detector classifies it as scripted abuse. In reject
7109
+ * mode that 403s every basic-tier extraction, which surfaces here as
7110
+ * `onExhaustedEmpty` → `empty-after-retry` and leaves free-tier vaults empty.
7111
+ * {@link TopicExtractOptions.endpointOverride} already exists for the same
7112
+ * reason on the topic pass; this is the fact pass catching up.
7113
+ *
7114
+ * IMPORTANT — the utility endpoint clamps to a PRICE CEILING and never
7115
+ * rejects, so pointing this at `/api/v1/utility/chat/completions` while the
7116
+ * portal's ceiling prices below {@link DEFAULT_EXTRACTION_MODEL} silently
7117
+ * rewrites the model instead of 403-ing. That trades a visible failure for an
7118
+ * invisible quality regression: raise `PORTAL_UTILITY_CEILING_MODEL` to at
7119
+ * least the extraction model's rate BEFORE setting this in a client.
7120
+ */
7121
+ endpointOverride?: string;
7097
7122
  /** Override the global fetch implementation (useful for tests). */
7098
7123
  fetchFn?: typeof fetch;
7099
7124
  /**
@@ -7915,6 +7915,9 @@ async function extractFacts(messages, options) {
7915
7915
  ...options.apiKey !== void 0 && { apiKey: options.apiKey },
7916
7916
  ...options.getToken !== void 0 && { getToken: options.getToken },
7917
7917
  ...options.baseUrl !== void 0 && { baseUrl: options.baseUrl },
7918
+ ...options.endpointOverride !== void 0 && {
7919
+ endpointOverride: options.endpointOverride
7920
+ },
7918
7921
  model: options.model ?? DEFAULT_EXTRACTION_MODEL,
7919
7922
  systemPrompt: SYSTEM_PROMPT2,
7920
7923
  userMessage: `Today's date is ${today}. Resolve any relative dates ("yesterday", "next week") against it.
@@ -29293,6 +29293,9 @@ async function extractFacts(messages, options) {
29293
29293
  ...options.apiKey !== void 0 && { apiKey: options.apiKey },
29294
29294
  ...options.getToken !== void 0 && { getToken: options.getToken },
29295
29295
  ...options.baseUrl !== void 0 && { baseUrl: options.baseUrl },
29296
+ ...options.endpointOverride !== void 0 && {
29297
+ endpointOverride: options.endpointOverride
29298
+ },
29296
29299
  model: options.model ?? DEFAULT_EXTRACTION_MODEL,
29297
29300
  systemPrompt: SYSTEM_PROMPT4,
29298
29301
  userMessage: `Today's date is ${today}. Resolve any relative dates ("yesterday", "next week") against it.
@@ -5777,6 +5777,31 @@ interface QuarantinedMemoryInfo {
5777
5777
  interface ExtractFactsOptions extends PortalLlmAuth {
5778
5778
  baseUrl?: string;
5779
5779
  model?: string;
5780
+ /**
5781
+ * Optional per-call request path override, forwarded to
5782
+ * {@link callPortalJsonCompletion}. When set, the extraction call POSTs to
5783
+ * `baseUrl + endpointOverride` instead of the default
5784
+ * `/api/v1/chat/completions` — path only, body unchanged. Lets callers route
5785
+ * this internal-utility pass to a dedicated endpoint. Invalid values throw at
5786
+ * call time (see {@link validateEndpointOverride}).
5787
+ *
5788
+ * Why this exists (anuma-ai/ai-memoryless-client#5536): auto-extraction is the
5789
+ * highest-volume first-party background call in the product — one per
5790
+ * extracting turn, on every platform — and it carries no flow fingerprint, so
5791
+ * the portal's freeloader detector classifies it as scripted abuse. In reject
5792
+ * mode that 403s every basic-tier extraction, which surfaces here as
5793
+ * `onExhaustedEmpty` → `empty-after-retry` and leaves free-tier vaults empty.
5794
+ * {@link TopicExtractOptions.endpointOverride} already exists for the same
5795
+ * reason on the topic pass; this is the fact pass catching up.
5796
+ *
5797
+ * IMPORTANT — the utility endpoint clamps to a PRICE CEILING and never
5798
+ * rejects, so pointing this at `/api/v1/utility/chat/completions` while the
5799
+ * portal's ceiling prices below {@link DEFAULT_EXTRACTION_MODEL} silently
5800
+ * rewrites the model instead of 403-ing. That trades a visible failure for an
5801
+ * invisible quality regression: raise `PORTAL_UTILITY_CEILING_MODEL` to at
5802
+ * least the extraction model's rate BEFORE setting this in a client.
5803
+ */
5804
+ endpointOverride?: string;
5780
5805
  /** Override the global fetch implementation (useful for tests). */
5781
5806
  fetchFn?: typeof fetch;
5782
5807
  /**
@@ -5777,6 +5777,31 @@ interface QuarantinedMemoryInfo {
5777
5777
  interface ExtractFactsOptions extends PortalLlmAuth {
5778
5778
  baseUrl?: string;
5779
5779
  model?: string;
5780
+ /**
5781
+ * Optional per-call request path override, forwarded to
5782
+ * {@link callPortalJsonCompletion}. When set, the extraction call POSTs to
5783
+ * `baseUrl + endpointOverride` instead of the default
5784
+ * `/api/v1/chat/completions` — path only, body unchanged. Lets callers route
5785
+ * this internal-utility pass to a dedicated endpoint. Invalid values throw at
5786
+ * call time (see {@link validateEndpointOverride}).
5787
+ *
5788
+ * Why this exists (anuma-ai/ai-memoryless-client#5536): auto-extraction is the
5789
+ * highest-volume first-party background call in the product — one per
5790
+ * extracting turn, on every platform — and it carries no flow fingerprint, so
5791
+ * the portal's freeloader detector classifies it as scripted abuse. In reject
5792
+ * mode that 403s every basic-tier extraction, which surfaces here as
5793
+ * `onExhaustedEmpty` → `empty-after-retry` and leaves free-tier vaults empty.
5794
+ * {@link TopicExtractOptions.endpointOverride} already exists for the same
5795
+ * reason on the topic pass; this is the fact pass catching up.
5796
+ *
5797
+ * IMPORTANT — the utility endpoint clamps to a PRICE CEILING and never
5798
+ * rejects, so pointing this at `/api/v1/utility/chat/completions` while the
5799
+ * portal's ceiling prices below {@link DEFAULT_EXTRACTION_MODEL} silently
5800
+ * rewrites the model instead of 403-ing. That trades a visible failure for an
5801
+ * invisible quality regression: raise `PORTAL_UTILITY_CEILING_MODEL` to at
5802
+ * least the extraction model's rate BEFORE setting this in a client.
5803
+ */
5804
+ endpointOverride?: string;
5780
5805
  /** Override the global fetch implementation (useful for tests). */
5781
5806
  fetchFn?: typeof fetch;
5782
5807
  /**
@@ -5900,6 +5900,9 @@ async function extractFacts(messages, options) {
5900
5900
  ...options.apiKey !== void 0 && { apiKey: options.apiKey },
5901
5901
  ...options.getToken !== void 0 && { getToken: options.getToken },
5902
5902
  ...options.baseUrl !== void 0 && { baseUrl: options.baseUrl },
5903
+ ...options.endpointOverride !== void 0 && {
5904
+ endpointOverride: options.endpointOverride
5905
+ },
5903
5906
  model: options.model ?? DEFAULT_EXTRACTION_MODEL,
5904
5907
  systemPrompt: SYSTEM_PROMPT2,
5905
5908
  userMessage: `Today's date is ${today}. Resolve any relative dates ("yesterday", "next week") against it.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anuma/sdk",
3
- "version": "6.3.0",
3
+ "version": "6.3.1",
4
4
  "description": "",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.mjs",