@anuma/sdk 3.11.4 → 3.11.6

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.
@@ -2400,6 +2400,7 @@ type HandlersNonceResponse = {
2400
2400
  type HandlersNotificationDeviceResponse = {
2401
2401
  app_version?: string;
2402
2402
  id?: number;
2403
+ locale?: string;
2403
2404
  platform?: string;
2404
2405
  token?: string;
2405
2406
  };
@@ -2572,6 +2573,11 @@ type HandlersRefreshRequest = {
2572
2573
  };
2573
2574
  type HandlersRegisterDeviceRequest = {
2574
2575
  app_version?: string;
2576
+ /**
2577
+ * Locale is the optional BCP-47 language tag of the device (e.g.
2578
+ * "en-US"); used for announcement-campaign locale segmentation.
2579
+ */
2580
+ locale?: string;
2575
2581
  platform?: string;
2576
2582
  token?: string;
2577
2583
  };
@@ -8106,10 +8112,6 @@ type PostApiV1NotificationsDevicesErrors = {
8106
8112
  * Forbidden
8107
8113
  */
8108
8114
  403: ResponseErrorResponse;
8109
- /**
8110
- * Conflict
8111
- */
8112
- 409: ResponseErrorResponse;
8113
8115
  /**
8114
8116
  * Internal Server Error
8115
8117
  */
@@ -10736,7 +10738,7 @@ declare const postApiV1Moderate: <ThrowOnError extends boolean = false>(options:
10736
10738
  /**
10737
10739
  * Register push-notification device
10738
10740
  *
10739
- * Stores an Expo push token so the portal can later deliver push notifications to this device. Idempotent — re-posting the same token refreshes the row.
10741
+ * Stores an Expo push token so the portal can later deliver push notifications to this device. Idempotent — re-posting the same token refreshes the row and bumps its last-seen timestamp. A token previously registered by a different account is reassigned to the caller (an Expo token identifies a physical device). Accounts keep at most 10 devices; the least recently seen are evicted.
10740
10742
  */
10741
10743
  declare const postApiV1NotificationsDevices: <ThrowOnError extends boolean = false>(options: Options<PostApiV1NotificationsDevicesData, ThrowOnError>) => RequestResult<PostApiV1NotificationsDevicesResponses, PostApiV1NotificationsDevicesErrors, ThrowOnError>;
10742
10744
  /**
@@ -2400,6 +2400,7 @@ type HandlersNonceResponse = {
2400
2400
  type HandlersNotificationDeviceResponse = {
2401
2401
  app_version?: string;
2402
2402
  id?: number;
2403
+ locale?: string;
2403
2404
  platform?: string;
2404
2405
  token?: string;
2405
2406
  };
@@ -2572,6 +2573,11 @@ type HandlersRefreshRequest = {
2572
2573
  };
2573
2574
  type HandlersRegisterDeviceRequest = {
2574
2575
  app_version?: string;
2576
+ /**
2577
+ * Locale is the optional BCP-47 language tag of the device (e.g.
2578
+ * "en-US"); used for announcement-campaign locale segmentation.
2579
+ */
2580
+ locale?: string;
2575
2581
  platform?: string;
2576
2582
  token?: string;
2577
2583
  };
@@ -8106,10 +8112,6 @@ type PostApiV1NotificationsDevicesErrors = {
8106
8112
  * Forbidden
8107
8113
  */
8108
8114
  403: ResponseErrorResponse;
8109
- /**
8110
- * Conflict
8111
- */
8112
- 409: ResponseErrorResponse;
8113
8115
  /**
8114
8116
  * Internal Server Error
8115
8117
  */
@@ -10736,7 +10738,7 @@ declare const postApiV1Moderate: <ThrowOnError extends boolean = false>(options:
10736
10738
  /**
10737
10739
  * Register push-notification device
10738
10740
  *
10739
- * Stores an Expo push token so the portal can later deliver push notifications to this device. Idempotent — re-posting the same token refreshes the row.
10741
+ * Stores an Expo push token so the portal can later deliver push notifications to this device. Idempotent — re-posting the same token refreshes the row and bumps its last-seen timestamp. A token previously registered by a different account is reassigned to the caller (an Expo token identifies a physical device). Accounts keep at most 10 devices; the least recently seen are evicted.
10740
10742
  */
10741
10743
  declare const postApiV1NotificationsDevices: <ThrowOnError extends boolean = false>(options: Options<PostApiV1NotificationsDevicesData, ThrowOnError>) => RequestResult<PostApiV1NotificationsDevicesResponses, PostApiV1NotificationsDevicesErrors, ThrowOnError>;
10742
10744
  /**
@@ -5668,7 +5668,13 @@ async function rankPreparedVaultCandidates(query, prepared, embeddingOptions, se
5668
5668
  );
5669
5669
  subEmbeddings = [];
5670
5670
  }
5671
- if (subEmbeddings.length > 0) {
5671
+ const subEmbeddingsUsable = decomp.subQueries.length > 0 && subEmbeddings.length === decomp.subQueries.length && subEmbeddings.every((v) => v.length > 0 && v.length === queryEmbedding.length);
5672
+ if (subEmbeddings.length > 0 && !subEmbeddingsUsable) {
5673
+ getLogger().warn(
5674
+ `memoryVault: sub-query embedding returned ${subEmbeddings.length} vectors (dims ${subEmbeddings.map((v) => v.length).join(",")}) for ${decomp.subQueries.length} sub-queries against a ${queryEmbedding.length}-dim query \u2014 falling back to single-query ranking`
5675
+ );
5676
+ }
5677
+ if (subEmbeddingsUsable) {
5672
5678
  const subQueries = decomp.subQueries.map((sq, i) => ({
5673
5679
  query: sq,
5674
5680
  embedding: subEmbeddings[i]
@@ -5884,7 +5890,7 @@ function createMemoryVaultSearchTool(vaultCtx, embeddingOptions, cache, searchOp
5884
5890
  legacy.map((r) => ({ id: r.uniqueId, content: r.content, score: r.similarity }))
5885
5891
  );
5886
5892
  }
5887
- const { recall: recall2 } = await import("./recall-JWQ4IJX6.mjs");
5893
+ const { recall: recall2 } = await import("./recall-A4WZELH5.mjs");
5888
5894
  let recallDegraded = [];
5889
5895
  const result = await recall2(
5890
5896
  query,
@@ -7875,7 +7875,13 @@ async function rankPreparedVaultCandidates(query, prepared, embeddingOptions, se
7875
7875
  );
7876
7876
  subEmbeddings = [];
7877
7877
  }
7878
- if (subEmbeddings.length > 0) {
7878
+ const subEmbeddingsUsable = decomp.subQueries.length > 0 && subEmbeddings.length === decomp.subQueries.length && subEmbeddings.every((v) => v.length > 0 && v.length === queryEmbedding.length);
7879
+ if (subEmbeddings.length > 0 && !subEmbeddingsUsable) {
7880
+ getLogger().warn(
7881
+ `memoryVault: sub-query embedding returned ${subEmbeddings.length} vectors (dims ${subEmbeddings.map((v) => v.length).join(",")}) for ${decomp.subQueries.length} sub-queries against a ${queryEmbedding.length}-dim query \u2014 falling back to single-query ranking`
7882
+ );
7883
+ }
7884
+ if (subEmbeddingsUsable) {
7879
7885
  const subQueries = decomp.subQueries.map((sq, i) => ({
7880
7886
  query: sq,
7881
7887
  embedding: subEmbeddings[i]
@@ -114,7 +114,7 @@ import {
114
114
  upsertMessageOp,
115
115
  useEncryption,
116
116
  vaultMemoryToStored
117
- } from "./chunk-7AW2VD5W.mjs";
117
+ } from "./chunk-ORVYPS3R.mjs";
118
118
  import {
119
119
  PII_PATTERNS,
120
120
  PiiRedactor,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  recall
3
- } from "./chunk-7AW2VD5W.mjs";
3
+ } from "./chunk-ORVYPS3R.mjs";
4
4
  import "./chunk-ILAWDQDE.mjs";
5
5
  import "./chunk-GYKJOWEO.mjs";
6
6
  export {
@@ -5969,7 +5969,13 @@ async function rankPreparedVaultCandidates(query, prepared, embeddingOptions, se
5969
5969
  );
5970
5970
  subEmbeddings = [];
5971
5971
  }
5972
- if (subEmbeddings.length > 0) {
5972
+ const subEmbeddingsUsable = decomp.subQueries.length > 0 && subEmbeddings.length === decomp.subQueries.length && subEmbeddings.every((v) => v.length > 0 && v.length === queryEmbedding.length);
5973
+ if (subEmbeddings.length > 0 && !subEmbeddingsUsable) {
5974
+ getLogger().warn(
5975
+ `memoryVault: sub-query embedding returned ${subEmbeddings.length} vectors (dims ${subEmbeddings.map((v) => v.length).join(",")}) for ${decomp.subQueries.length} sub-queries against a ${queryEmbedding.length}-dim query \u2014 falling back to single-query ranking`
5976
+ );
5977
+ }
5978
+ if (subEmbeddingsUsable) {
5973
5979
  const subQueries = decomp.subQueries.map((sq, i) => ({
5974
5980
  query: sq,
5975
5981
  embedding: subEmbeddings[i]
@@ -6185,7 +6191,7 @@ function createMemoryVaultSearchTool(vaultCtx, embeddingOptions, cache, searchOp
6185
6191
  legacy.map((r) => ({ id: r.uniqueId, content: r.content, score: r.similarity }))
6186
6192
  );
6187
6193
  }
6188
- const { recall: recall2 } = await import("./recall-DOFCEH2I.mjs");
6194
+ const { recall: recall2 } = await import("./recall-NQNZDPNU.mjs");
6189
6195
  let recallDegraded = [];
6190
6196
  const result = await recall2(
6191
6197
  query,
@@ -8176,7 +8176,13 @@ async function rankPreparedVaultCandidates(query, prepared, embeddingOptions, se
8176
8176
  );
8177
8177
  subEmbeddings = [];
8178
8178
  }
8179
- if (subEmbeddings.length > 0) {
8179
+ const subEmbeddingsUsable = decomp.subQueries.length > 0 && subEmbeddings.length === decomp.subQueries.length && subEmbeddings.every((v) => v.length > 0 && v.length === queryEmbedding.length);
8180
+ if (subEmbeddings.length > 0 && !subEmbeddingsUsable) {
8181
+ getLogger().warn(
8182
+ `memoryVault: sub-query embedding returned ${subEmbeddings.length} vectors (dims ${subEmbeddings.map((v) => v.length).join(",")}) for ${decomp.subQueries.length} sub-queries against a ${queryEmbedding.length}-dim query \u2014 falling back to single-query ranking`
8183
+ );
8184
+ }
8185
+ if (subEmbeddingsUsable) {
8180
8186
  const subQueries = decomp.subQueries.map((sq, i) => ({
8181
8187
  query: sq,
8182
8188
  embedding: subEmbeddings[i]
@@ -159,7 +159,7 @@ import {
159
159
  updateVaultMemoryOp,
160
160
  useEncryption,
161
161
  vaultMemoryToStored
162
- } from "./chunk-L2QRTJII.mjs";
162
+ } from "./chunk-QURYPMCE.mjs";
163
163
  import {
164
164
  PiiRedactor,
165
165
  createStreamingDeAnonymizer,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  recall
3
- } from "./chunk-L2QRTJII.mjs";
3
+ } from "./chunk-QURYPMCE.mjs";
4
4
  import "./chunk-ILAWDQDE.mjs";
5
5
  import "./chunk-GYKJOWEO.mjs";
6
6
  export {
@@ -19859,7 +19859,13 @@ async function rankPreparedVaultCandidates(query, prepared, embeddingOptions, se
19859
19859
  );
19860
19860
  subEmbeddings = [];
19861
19861
  }
19862
- if (subEmbeddings.length > 0) {
19862
+ const subEmbeddingsUsable = decomp.subQueries.length > 0 && subEmbeddings.length === decomp.subQueries.length && subEmbeddings.every((v) => v.length > 0 && v.length === queryEmbedding.length);
19863
+ if (subEmbeddings.length > 0 && !subEmbeddingsUsable) {
19864
+ getLogger().warn(
19865
+ `memoryVault: sub-query embedding returned ${subEmbeddings.length} vectors (dims ${subEmbeddings.map((v) => v.length).join(",")}) for ${decomp.subQueries.length} sub-queries against a ${queryEmbedding.length}-dim query \u2014 falling back to single-query ranking`
19866
+ );
19867
+ }
19868
+ if (subEmbeddingsUsable) {
19863
19869
  const subQueries = decomp.subQueries.map((sq, i) => ({
19864
19870
  query: sq,
19865
19871
  embedding: subEmbeddings[i]
@@ -20075,7 +20081,7 @@ function createMemoryVaultSearchTool(vaultCtx, embeddingOptions, cache, searchOp
20075
20081
  legacy.map((r) => ({ id: r.uniqueId, content: r.content, score: r.similarity }))
20076
20082
  );
20077
20083
  }
20078
- const { recall: recall2 } = await import("./recall-QH3YX6T4.mjs");
20084
+ const { recall: recall2 } = await import("./recall-SLMMIFHM.mjs");
20079
20085
  let recallDegraded = [];
20080
20086
  const result = await recall2(
20081
20087
  query,
@@ -22048,7 +22048,13 @@ async function rankPreparedVaultCandidates(query, prepared, embeddingOptions, se
22048
22048
  );
22049
22049
  subEmbeddings = [];
22050
22050
  }
22051
- if (subEmbeddings.length > 0) {
22051
+ const subEmbeddingsUsable = decomp.subQueries.length > 0 && subEmbeddings.length === decomp.subQueries.length && subEmbeddings.every((v) => v.length > 0 && v.length === queryEmbedding.length);
22052
+ if (subEmbeddings.length > 0 && !subEmbeddingsUsable) {
22053
+ getLogger().warn(
22054
+ `memoryVault: sub-query embedding returned ${subEmbeddings.length} vectors (dims ${subEmbeddings.map((v) => v.length).join(",")}) for ${decomp.subQueries.length} sub-queries against a ${queryEmbedding.length}-dim query \u2014 falling back to single-query ranking`
22055
+ );
22056
+ }
22057
+ if (subEmbeddingsUsable) {
22052
22058
  const subQueries = decomp.subQueries.map((sq, i) => ({
22053
22059
  query: sq,
22054
22060
  embedding: subEmbeddings[i]
@@ -131,7 +131,7 @@ import {
131
131
  updateVaultMemoryOp,
132
132
  upsertMessageOp,
133
133
  vaultMemoryToStored
134
- } from "./chunk-FZZCEZL2.mjs";
134
+ } from "./chunk-FXGG7JA5.mjs";
135
135
  import {
136
136
  createStreamingDeAnonymizer,
137
137
  resolvePiiRedactor
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  recall
3
- } from "./chunk-FZZCEZL2.mjs";
3
+ } from "./chunk-FXGG7JA5.mjs";
4
4
  import "./chunk-OBDRKQQI.mjs";
5
5
  import "./chunk-3RPGXXPZ.mjs";
6
6
  export {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anuma/sdk",
3
- "version": "3.11.4",
3
+ "version": "3.11.6",
4
4
  "description": "",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.mjs",
@@ -157,7 +157,7 @@
157
157
  "homepage": "https://github.com/anuma-ai/sdk#readme",
158
158
  "packageManager": "pnpm@10.23.0",
159
159
  "dependencies": {
160
- "@anuma/portal": "1.0.0-next.20260726011521",
160
+ "@anuma/portal": "1.0.0-next.20260727223242",
161
161
  "@babel/parser": "^7.29.2",
162
162
  "@babel/types": "^7.29.0",
163
163
  "ai": "6.0.202",