@anuma/sdk 1.3.1 → 1.4.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.
@@ -3833,7 +3833,16 @@ var ENTITY_KINDS;
3833
3833
  var init_types3 = __esm({
3834
3834
  "src/lib/db/entities/types.ts"() {
3835
3835
  "use strict";
3836
- ENTITY_KINDS = ["person", "place", "thing", "concept", "other"];
3836
+ ENTITY_KINDS = [
3837
+ "person",
3838
+ "organization",
3839
+ "place",
3840
+ "event",
3841
+ "product",
3842
+ "thing",
3843
+ "concept",
3844
+ "other"
3845
+ ];
3837
3846
  }
3838
3847
  });
3839
3848
 
@@ -12809,7 +12818,18 @@ For each durable fact, output:
12809
12818
  - type: one of identity | preference | relationship | plan | ongoing_context | constraint | other
12810
12819
  - confidence: 0.0-1.0; how sure you are this is durable AND true. Only include facts >= 0.7.
12811
12820
  - sourceMessageIds: which message IDs from the conversation contained the evidence
12812
- - entities: named entities mentioned, each as an object { "name": string, "kind": one of "person" | "place" | "thing" | "concept" | "other" }. Optional. Skip generic nouns. Pick the best-fitting kind: a company/product/physical object is "thing"; a topic, skill, or idea is "concept"; use "other" only when none fit.
12821
+ - entities: named entities mentioned, each as an object { "name": string, "kind": one of "person" | "organization" | "place" | "event" | "product" | "thing" | "concept" | "other" }. Optional \u2014 include only NAMED entities, skip generic/common nouns. Choose the MOST SPECIFIC kind:
12822
+ - person: a named individual ("Sara", "Dr. Lee")
12823
+ - organization: a company, team, school, or group ("Google", "the Warriors", "Stanford")
12824
+ - place: a geographic location or venue ("San Francisco", "Blue Bottle on Valencia")
12825
+ - event: a dated or nameable occurrence ("Chicago Marathon", "the Japan trip", "their wedding")
12826
+ - product: a named app, tool, brand, device, book, film, or other media title ("Linear", "iPhone", "Dune", "Ableton")
12827
+ - thing: a concrete physical object that isn't a branded product ("road bike", "sourdough starter")
12828
+ - concept: a topic, skill, field, language, or idea ("machine learning", "Spanish", "async communication")
12829
+ - other: a named entity that genuinely fits none of the above \u2014 use sparingly
12830
+ Prefer organization / product / event / place over the generic "thing"; fall back to "thing" or "other" only when no specific kind fits. Examples:
12831
+ - "started a new job at Hollowpoint Labs and I'm learning Haskell for it" \u2192 entities: [{ "name": "Hollowpoint Labs", "kind": "organization" }, { "name": "Haskell", "kind": "concept" }]
12832
+ - "running the Berlin Half in May and I track workouts in Whoop" \u2192 entities: [{ "name": "Berlin Half", "kind": "event" }, { "name": "Whoop", "kind": "product" }]
12813
12833
  - eventTime: when the event in this fact occurs/occurred. Resolve relative phrases ("yesterday", "next week") against the current date given in the user message. Output one of:
12814
12834
  - { "kind": "point", "start": "YYYY-MM-DD" } for a single date ("met Sara on March 14, 2026")
12815
12835
  - { "kind": "range", "start": "YYYY-MM-DD", "end": "YYYY-MM-DD" } for a span ("Japan trip May 4\u201315, 2026")
@@ -4329,7 +4329,7 @@ declare class MemoryEntity extends Model {
4329
4329
  * can't drift apart.
4330
4330
  * @public
4331
4331
  */
4332
- declare const ENTITY_KINDS: readonly ["person", "place", "thing", "concept", "other"];
4332
+ declare const ENTITY_KINDS: readonly ["person", "organization", "place", "event", "product", "thing", "concept", "other"];
4333
4333
  /** @public */
4334
4334
  type EntityKind = (typeof ENTITY_KINDS)[number];
4335
4335
 
@@ -4329,7 +4329,7 @@ declare class MemoryEntity extends Model {
4329
4329
  * can't drift apart.
4330
4330
  * @public
4331
4331
  */
4332
- declare const ENTITY_KINDS: readonly ["person", "place", "thing", "concept", "other"];
4332
+ declare const ENTITY_KINDS: readonly ["person", "organization", "place", "event", "product", "thing", "concept", "other"];
4333
4333
  /** @public */
4334
4334
  type EntityKind = (typeof ENTITY_KINDS)[number];
4335
4335
 
@@ -79,7 +79,7 @@ import {
79
79
  updateVaultMemoryOp,
80
80
  upsertMessageOp,
81
81
  useEncryption
82
- } from "./chunk-IKPPX3GY.mjs";
82
+ } from "./chunk-RMZ4QAQV.mjs";
83
83
  import {
84
84
  PII_PATTERNS,
85
85
  PiiRedactor,
@@ -6094,7 +6094,18 @@ For each durable fact, output:
6094
6094
  - type: one of identity | preference | relationship | plan | ongoing_context | constraint | other
6095
6095
  - confidence: 0.0-1.0; how sure you are this is durable AND true. Only include facts >= 0.7.
6096
6096
  - sourceMessageIds: which message IDs from the conversation contained the evidence
6097
- - entities: named entities mentioned, each as an object { "name": string, "kind": one of "person" | "place" | "thing" | "concept" | "other" }. Optional. Skip generic nouns. Pick the best-fitting kind: a company/product/physical object is "thing"; a topic, skill, or idea is "concept"; use "other" only when none fit.
6097
+ - entities: named entities mentioned, each as an object { "name": string, "kind": one of "person" | "organization" | "place" | "event" | "product" | "thing" | "concept" | "other" }. Optional \u2014 include only NAMED entities, skip generic/common nouns. Choose the MOST SPECIFIC kind:
6098
+ - person: a named individual ("Sara", "Dr. Lee")
6099
+ - organization: a company, team, school, or group ("Google", "the Warriors", "Stanford")
6100
+ - place: a geographic location or venue ("San Francisco", "Blue Bottle on Valencia")
6101
+ - event: a dated or nameable occurrence ("Chicago Marathon", "the Japan trip", "their wedding")
6102
+ - product: a named app, tool, brand, device, book, film, or other media title ("Linear", "iPhone", "Dune", "Ableton")
6103
+ - thing: a concrete physical object that isn't a branded product ("road bike", "sourdough starter")
6104
+ - concept: a topic, skill, field, language, or idea ("machine learning", "Spanish", "async communication")
6105
+ - other: a named entity that genuinely fits none of the above \u2014 use sparingly
6106
+ Prefer organization / product / event / place over the generic "thing"; fall back to "thing" or "other" only when no specific kind fits. Examples:
6107
+ - "started a new job at Hollowpoint Labs and I'm learning Haskell for it" \u2192 entities: [{ "name": "Hollowpoint Labs", "kind": "organization" }, { "name": "Haskell", "kind": "concept" }]
6108
+ - "running the Berlin Half in May and I track workouts in Whoop" \u2192 entities: [{ "name": "Berlin Half", "kind": "event" }, { "name": "Whoop", "kind": "product" }]
6098
6109
  - eventTime: when the event in this fact occurs/occurred. Resolve relative phrases ("yesterday", "next week") against the current date given in the user message. Output one of:
6099
6110
  - { "kind": "point", "start": "YYYY-MM-DD" } for a single date ("met Sara on March 14, 2026")
6100
6111
  - { "kind": "range", "start": "YYYY-MM-DD", "end": "YYYY-MM-DD" } for a span ("Japan trip May 4\u201315, 2026")
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  recall
3
- } from "./chunk-IKPPX3GY.mjs";
3
+ } from "./chunk-RMZ4QAQV.mjs";
4
4
  import "./chunk-DFVCS3QQ.mjs";
5
5
  import "./chunk-GYKJOWEO.mjs";
6
6
  export {
package/dist/index.d.mts CHANGED
@@ -1253,6 +1253,7 @@ type HandlersConfigResponse = {
1253
1253
  * Apps is the list of active apps
1254
1254
  */
1255
1255
  apps?: Array<HandlersAppConfig>;
1256
+ mobile_app?: HandlersMobileAppVersions;
1256
1257
  /**
1257
1258
  * PhoneCallsEnabled indicates whether Bland phone calling is available
1258
1259
  */
@@ -1640,6 +1641,28 @@ type HandlersListUsersResponse = {
1640
1641
  pagination: HandlersPaginationResponse;
1641
1642
  users: Array<HandlersDeveloperUserResponse>;
1642
1643
  };
1644
+ /**
1645
+ * MobileApp is the mobile app version info; absent when not configured
1646
+ */
1647
+ type HandlersMobileAppVersions = {
1648
+ android?: HandlersMobilePlatformVersions;
1649
+ ios?: HandlersMobilePlatformVersions;
1650
+ };
1651
+ /**
1652
+ * Android versions for the Play Store build
1653
+ */
1654
+ type HandlersMobilePlatformVersions = {
1655
+ /**
1656
+ * LatestVersion is the newest version live in the platform's store;
1657
+ * older clients show a dismissible update nudge
1658
+ */
1659
+ latest_version?: string;
1660
+ /**
1661
+ * MinSupportedVersion is the oldest version still supported; older
1662
+ * clients are blocked behind an update-required wall
1663
+ */
1664
+ min_supported_version?: string;
1665
+ };
1643
1666
  type HandlersModelToolUsageItem = {
1644
1667
  call_count: number;
1645
1668
  cost_usd: number;
package/dist/index.d.ts CHANGED
@@ -1253,6 +1253,7 @@ type HandlersConfigResponse = {
1253
1253
  * Apps is the list of active apps
1254
1254
  */
1255
1255
  apps?: Array<HandlersAppConfig>;
1256
+ mobile_app?: HandlersMobileAppVersions;
1256
1257
  /**
1257
1258
  * PhoneCallsEnabled indicates whether Bland phone calling is available
1258
1259
  */
@@ -1640,6 +1641,28 @@ type HandlersListUsersResponse = {
1640
1641
  pagination: HandlersPaginationResponse;
1641
1642
  users: Array<HandlersDeveloperUserResponse>;
1642
1643
  };
1644
+ /**
1645
+ * MobileApp is the mobile app version info; absent when not configured
1646
+ */
1647
+ type HandlersMobileAppVersions = {
1648
+ android?: HandlersMobilePlatformVersions;
1649
+ ios?: HandlersMobilePlatformVersions;
1650
+ };
1651
+ /**
1652
+ * Android versions for the Play Store build
1653
+ */
1654
+ type HandlersMobilePlatformVersions = {
1655
+ /**
1656
+ * LatestVersion is the newest version live in the platform's store;
1657
+ * older clients show a dismissible update nudge
1658
+ */
1659
+ latest_version?: string;
1660
+ /**
1661
+ * MinSupportedVersion is the oldest version still supported; older
1662
+ * clients are blocked behind an update-required wall
1663
+ */
1664
+ min_supported_version?: string;
1665
+ };
1643
1666
  type HandlersModelToolUsageItem = {
1644
1667
  call_count: number;
1645
1668
  cost_usd: number;
@@ -1730,7 +1730,16 @@ function makeSyntheticStoredConversation(opts, defaultTitle) {
1730
1730
  import { Q as Q2 } from "@nozbe/watermelondb";
1731
1731
 
1732
1732
  // src/lib/db/entities/types.ts
1733
- var ENTITY_KINDS = ["person", "place", "thing", "concept", "other"];
1733
+ var ENTITY_KINDS = [
1734
+ "person",
1735
+ "organization",
1736
+ "place",
1737
+ "event",
1738
+ "product",
1739
+ "thing",
1740
+ "concept",
1741
+ "other"
1742
+ ];
1734
1743
  function normalizeEntityName(name) {
1735
1744
  return name.trim().toLowerCase();
1736
1745
  }
@@ -5011,7 +5020,7 @@ function createMemoryVaultSearchTool(vaultCtx, embeddingOptions, cache, searchOp
5011
5020
  legacy.map((r) => ({ id: r.uniqueId, content: r.content, score: r.similarity }))
5012
5021
  );
5013
5022
  }
5014
- const { recall: recall2 } = await import("./recall-Z2HUBS2Y.mjs");
5023
+ const { recall: recall2 } = await import("./recall-L3QROVGM.mjs");
5015
5024
  const result = await recall2(
5016
5025
  query,
5017
5026
  { vaultCtx, embeddingOptions, vaultCache: cache },
@@ -4089,7 +4089,16 @@ var ENTITY_KINDS;
4089
4089
  var init_types3 = __esm({
4090
4090
  "src/lib/db/entities/types.ts"() {
4091
4091
  "use strict";
4092
- ENTITY_KINDS = ["person", "place", "thing", "concept", "other"];
4092
+ ENTITY_KINDS = [
4093
+ "person",
4094
+ "organization",
4095
+ "place",
4096
+ "event",
4097
+ "product",
4098
+ "thing",
4099
+ "concept",
4100
+ "other"
4101
+ ];
4093
4102
  }
4094
4103
  });
4095
4104
 
@@ -14158,7 +14167,18 @@ For each durable fact, output:
14158
14167
  - type: one of identity | preference | relationship | plan | ongoing_context | constraint | other
14159
14168
  - confidence: 0.0-1.0; how sure you are this is durable AND true. Only include facts >= 0.7.
14160
14169
  - sourceMessageIds: which message IDs from the conversation contained the evidence
14161
- - entities: named entities mentioned, each as an object { "name": string, "kind": one of "person" | "place" | "thing" | "concept" | "other" }. Optional. Skip generic nouns. Pick the best-fitting kind: a company/product/physical object is "thing"; a topic, skill, or idea is "concept"; use "other" only when none fit.
14170
+ - entities: named entities mentioned, each as an object { "name": string, "kind": one of "person" | "organization" | "place" | "event" | "product" | "thing" | "concept" | "other" }. Optional \u2014 include only NAMED entities, skip generic/common nouns. Choose the MOST SPECIFIC kind:
14171
+ - person: a named individual ("Sara", "Dr. Lee")
14172
+ - organization: a company, team, school, or group ("Google", "the Warriors", "Stanford")
14173
+ - place: a geographic location or venue ("San Francisco", "Blue Bottle on Valencia")
14174
+ - event: a dated or nameable occurrence ("Chicago Marathon", "the Japan trip", "their wedding")
14175
+ - product: a named app, tool, brand, device, book, film, or other media title ("Linear", "iPhone", "Dune", "Ableton")
14176
+ - thing: a concrete physical object that isn't a branded product ("road bike", "sourdough starter")
14177
+ - concept: a topic, skill, field, language, or idea ("machine learning", "Spanish", "async communication")
14178
+ - other: a named entity that genuinely fits none of the above \u2014 use sparingly
14179
+ Prefer organization / product / event / place over the generic "thing"; fall back to "thing" or "other" only when no specific kind fits. Examples:
14180
+ - "started a new job at Hollowpoint Labs and I'm learning Haskell for it" \u2192 entities: [{ "name": "Hollowpoint Labs", "kind": "organization" }, { "name": "Haskell", "kind": "concept" }]
14181
+ - "running the Berlin Half in May and I track workouts in Whoop" \u2192 entities: [{ "name": "Berlin Half", "kind": "event" }, { "name": "Whoop", "kind": "product" }]
14162
14182
  - eventTime: when the event in this fact occurs/occurred. Resolve relative phrases ("yesterday", "next week") against the current date given in the user message. Output one of:
14163
14183
  - { "kind": "point", "start": "YYYY-MM-DD" } for a single date ("met Sara on March 14, 2026")
14164
14184
  - { "kind": "range", "start": "YYYY-MM-DD", "end": "YYYY-MM-DD" } for a span ("Japan trip May 4\u201315, 2026")
@@ -5552,7 +5552,7 @@ declare class MemoryEntity extends Model {
5552
5552
  * can't drift apart.
5553
5553
  * @public
5554
5554
  */
5555
- declare const ENTITY_KINDS: readonly ["person", "place", "thing", "concept", "other"];
5555
+ declare const ENTITY_KINDS: readonly ["person", "organization", "place", "event", "product", "thing", "concept", "other"];
5556
5556
  /** @public */
5557
5557
  type EntityKind = (typeof ENTITY_KINDS)[number];
5558
5558
  interface StoredEntity {
@@ -5552,7 +5552,7 @@ declare class MemoryEntity extends Model {
5552
5552
  * can't drift apart.
5553
5553
  * @public
5554
5554
  */
5555
- declare const ENTITY_KINDS: readonly ["person", "place", "thing", "concept", "other"];
5555
+ declare const ENTITY_KINDS: readonly ["person", "organization", "place", "event", "product", "thing", "concept", "other"];
5556
5556
  /** @public */
5557
5557
  type EntityKind = (typeof ENTITY_KINDS)[number];
5558
5558
  interface StoredEntity {
@@ -121,7 +121,7 @@ import {
121
121
  updateVaultMemoryEmbeddingOp,
122
122
  updateVaultMemoryOp,
123
123
  useEncryption
124
- } from "./chunk-KQZ4KVYY.mjs";
124
+ } from "./chunk-4FNDAPTF.mjs";
125
125
  import {
126
126
  PiiRedactor,
127
127
  createStreamingDeAnonymizer,
@@ -6916,7 +6916,18 @@ For each durable fact, output:
6916
6916
  - type: one of identity | preference | relationship | plan | ongoing_context | constraint | other
6917
6917
  - confidence: 0.0-1.0; how sure you are this is durable AND true. Only include facts >= 0.7.
6918
6918
  - sourceMessageIds: which message IDs from the conversation contained the evidence
6919
- - entities: named entities mentioned, each as an object { "name": string, "kind": one of "person" | "place" | "thing" | "concept" | "other" }. Optional. Skip generic nouns. Pick the best-fitting kind: a company/product/physical object is "thing"; a topic, skill, or idea is "concept"; use "other" only when none fit.
6919
+ - entities: named entities mentioned, each as an object { "name": string, "kind": one of "person" | "organization" | "place" | "event" | "product" | "thing" | "concept" | "other" }. Optional \u2014 include only NAMED entities, skip generic/common nouns. Choose the MOST SPECIFIC kind:
6920
+ - person: a named individual ("Sara", "Dr. Lee")
6921
+ - organization: a company, team, school, or group ("Google", "the Warriors", "Stanford")
6922
+ - place: a geographic location or venue ("San Francisco", "Blue Bottle on Valencia")
6923
+ - event: a dated or nameable occurrence ("Chicago Marathon", "the Japan trip", "their wedding")
6924
+ - product: a named app, tool, brand, device, book, film, or other media title ("Linear", "iPhone", "Dune", "Ableton")
6925
+ - thing: a concrete physical object that isn't a branded product ("road bike", "sourdough starter")
6926
+ - concept: a topic, skill, field, language, or idea ("machine learning", "Spanish", "async communication")
6927
+ - other: a named entity that genuinely fits none of the above \u2014 use sparingly
6928
+ Prefer organization / product / event / place over the generic "thing"; fall back to "thing" or "other" only when no specific kind fits. Examples:
6929
+ - "started a new job at Hollowpoint Labs and I'm learning Haskell for it" \u2192 entities: [{ "name": "Hollowpoint Labs", "kind": "organization" }, { "name": "Haskell", "kind": "concept" }]
6930
+ - "running the Berlin Half in May and I track workouts in Whoop" \u2192 entities: [{ "name": "Berlin Half", "kind": "event" }, { "name": "Whoop", "kind": "product" }]
6920
6931
  - eventTime: when the event in this fact occurs/occurred. Resolve relative phrases ("yesterday", "next week") against the current date given in the user message. Output one of:
6921
6932
  - { "kind": "point", "start": "YYYY-MM-DD" } for a single date ("met Sara on March 14, 2026")
6922
6933
  - { "kind": "range", "start": "YYYY-MM-DD", "end": "YYYY-MM-DD" } for a span ("Japan trip May 4\u201315, 2026")
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  recall
3
- } from "./chunk-KQZ4KVYY.mjs";
3
+ } from "./chunk-4FNDAPTF.mjs";
4
4
  import "./chunk-DFVCS3QQ.mjs";
5
5
  import "./chunk-GYKJOWEO.mjs";
6
6
  export {
@@ -15782,7 +15782,16 @@ function makeSyntheticStoredConversation(opts, defaultTitle) {
15782
15782
  var import_watermelondb2 = __toESM(require_watermelondb());
15783
15783
 
15784
15784
  // src/lib/db/entities/types.ts
15785
- var ENTITY_KINDS = ["person", "place", "thing", "concept", "other"];
15785
+ var ENTITY_KINDS = [
15786
+ "person",
15787
+ "organization",
15788
+ "place",
15789
+ "event",
15790
+ "product",
15791
+ "thing",
15792
+ "concept",
15793
+ "other"
15794
+ ];
15786
15795
  function normalizeEntityName(name) {
15787
15796
  return name.trim().toLowerCase();
15788
15797
  }
@@ -18838,7 +18847,7 @@ function createMemoryVaultSearchTool(vaultCtx, embeddingOptions, cache, searchOp
18838
18847
  legacy.map((r) => ({ id: r.uniqueId, content: r.content, score: r.similarity }))
18839
18848
  );
18840
18849
  }
18841
- const { recall: recall2 } = await import("./recall-IF2HX7ZA.mjs");
18850
+ const { recall: recall2 } = await import("./recall-UHJN6H5V.mjs");
18842
18851
  const result = await recall2(
18843
18852
  query,
18844
18853
  { vaultCtx, embeddingOptions, vaultCache: cache },
@@ -16568,7 +16568,16 @@ var ENTITY_KINDS;
16568
16568
  var init_types3 = __esm({
16569
16569
  "src/lib/db/entities/types.ts"() {
16570
16570
  "use strict";
16571
- ENTITY_KINDS = ["person", "place", "thing", "concept", "other"];
16571
+ ENTITY_KINDS = [
16572
+ "person",
16573
+ "organization",
16574
+ "place",
16575
+ "event",
16576
+ "product",
16577
+ "thing",
16578
+ "concept",
16579
+ "other"
16580
+ ];
16572
16581
  }
16573
16582
  });
16574
16583
 
@@ -25814,7 +25823,18 @@ For each durable fact, output:
25814
25823
  - type: one of identity | preference | relationship | plan | ongoing_context | constraint | other
25815
25824
  - confidence: 0.0-1.0; how sure you are this is durable AND true. Only include facts >= 0.7.
25816
25825
  - sourceMessageIds: which message IDs from the conversation contained the evidence
25817
- - entities: named entities mentioned, each as an object { "name": string, "kind": one of "person" | "place" | "thing" | "concept" | "other" }. Optional. Skip generic nouns. Pick the best-fitting kind: a company/product/physical object is "thing"; a topic, skill, or idea is "concept"; use "other" only when none fit.
25826
+ - entities: named entities mentioned, each as an object { "name": string, "kind": one of "person" | "organization" | "place" | "event" | "product" | "thing" | "concept" | "other" }. Optional \u2014 include only NAMED entities, skip generic/common nouns. Choose the MOST SPECIFIC kind:
25827
+ - person: a named individual ("Sara", "Dr. Lee")
25828
+ - organization: a company, team, school, or group ("Google", "the Warriors", "Stanford")
25829
+ - place: a geographic location or venue ("San Francisco", "Blue Bottle on Valencia")
25830
+ - event: a dated or nameable occurrence ("Chicago Marathon", "the Japan trip", "their wedding")
25831
+ - product: a named app, tool, brand, device, book, film, or other media title ("Linear", "iPhone", "Dune", "Ableton")
25832
+ - thing: a concrete physical object that isn't a branded product ("road bike", "sourdough starter")
25833
+ - concept: a topic, skill, field, language, or idea ("machine learning", "Spanish", "async communication")
25834
+ - other: a named entity that genuinely fits none of the above \u2014 use sparingly
25835
+ Prefer organization / product / event / place over the generic "thing"; fall back to "thing" or "other" only when no specific kind fits. Examples:
25836
+ - "started a new job at Hollowpoint Labs and I'm learning Haskell for it" \u2192 entities: [{ "name": "Hollowpoint Labs", "kind": "organization" }, { "name": "Haskell", "kind": "concept" }]
25837
+ - "running the Berlin Half in May and I track workouts in Whoop" \u2192 entities: [{ "name": "Berlin Half", "kind": "event" }, { "name": "Whoop", "kind": "product" }]
25818
25838
  - eventTime: when the event in this fact occurs/occurred. Resolve relative phrases ("yesterday", "next week") against the current date given in the user message. Output one of:
25819
25839
  - { "kind": "point", "start": "YYYY-MM-DD" } for a single date ("met Sara on March 14, 2026")
25820
25840
  - { "kind": "range", "start": "YYYY-MM-DD", "end": "YYYY-MM-DD" } for a span ("Japan trip May 4\u201315, 2026")
@@ -4143,7 +4143,7 @@ declare class MemoryEntity extends Model$1 {
4143
4143
  * can't drift apart.
4144
4144
  * @public
4145
4145
  */
4146
- declare const ENTITY_KINDS: readonly ["person", "place", "thing", "concept", "other"];
4146
+ declare const ENTITY_KINDS: readonly ["person", "organization", "place", "event", "product", "thing", "concept", "other"];
4147
4147
  /** @public */
4148
4148
  type EntityKind = (typeof ENTITY_KINDS)[number];
4149
4149
 
@@ -4143,7 +4143,7 @@ declare class MemoryEntity extends Model$1 {
4143
4143
  * can't drift apart.
4144
4144
  * @public
4145
4145
  */
4146
- declare const ENTITY_KINDS: readonly ["person", "place", "thing", "concept", "other"];
4146
+ declare const ENTITY_KINDS: readonly ["person", "organization", "place", "event", "product", "thing", "concept", "other"];
4147
4147
  /** @public */
4148
4148
  type EntityKind = (typeof ENTITY_KINDS)[number];
4149
4149
 
@@ -95,7 +95,7 @@ import {
95
95
  updateVaultMemoryEmbeddingOp,
96
96
  updateVaultMemoryOp,
97
97
  upsertMessageOp
98
- } from "./chunk-KLJBJWWI.mjs";
98
+ } from "./chunk-SJLYHCMG.mjs";
99
99
  import {
100
100
  createStreamingDeAnonymizer,
101
101
  resolvePiiRedactor
@@ -4882,7 +4882,18 @@ For each durable fact, output:
4882
4882
  - type: one of identity | preference | relationship | plan | ongoing_context | constraint | other
4883
4883
  - confidence: 0.0-1.0; how sure you are this is durable AND true. Only include facts >= 0.7.
4884
4884
  - sourceMessageIds: which message IDs from the conversation contained the evidence
4885
- - entities: named entities mentioned, each as an object { "name": string, "kind": one of "person" | "place" | "thing" | "concept" | "other" }. Optional. Skip generic nouns. Pick the best-fitting kind: a company/product/physical object is "thing"; a topic, skill, or idea is "concept"; use "other" only when none fit.
4885
+ - entities: named entities mentioned, each as an object { "name": string, "kind": one of "person" | "organization" | "place" | "event" | "product" | "thing" | "concept" | "other" }. Optional \u2014 include only NAMED entities, skip generic/common nouns. Choose the MOST SPECIFIC kind:
4886
+ - person: a named individual ("Sara", "Dr. Lee")
4887
+ - organization: a company, team, school, or group ("Google", "the Warriors", "Stanford")
4888
+ - place: a geographic location or venue ("San Francisco", "Blue Bottle on Valencia")
4889
+ - event: a dated or nameable occurrence ("Chicago Marathon", "the Japan trip", "their wedding")
4890
+ - product: a named app, tool, brand, device, book, film, or other media title ("Linear", "iPhone", "Dune", "Ableton")
4891
+ - thing: a concrete physical object that isn't a branded product ("road bike", "sourdough starter")
4892
+ - concept: a topic, skill, field, language, or idea ("machine learning", "Spanish", "async communication")
4893
+ - other: a named entity that genuinely fits none of the above \u2014 use sparingly
4894
+ Prefer organization / product / event / place over the generic "thing"; fall back to "thing" or "other" only when no specific kind fits. Examples:
4895
+ - "started a new job at Hollowpoint Labs and I'm learning Haskell for it" \u2192 entities: [{ "name": "Hollowpoint Labs", "kind": "organization" }, { "name": "Haskell", "kind": "concept" }]
4896
+ - "running the Berlin Half in May and I track workouts in Whoop" \u2192 entities: [{ "name": "Berlin Half", "kind": "event" }, { "name": "Whoop", "kind": "product" }]
4886
4897
  - eventTime: when the event in this fact occurs/occurred. Resolve relative phrases ("yesterday", "next week") against the current date given in the user message. Output one of:
4887
4898
  - { "kind": "point", "start": "YYYY-MM-DD" } for a single date ("met Sara on March 14, 2026")
4888
4899
  - { "kind": "range", "start": "YYYY-MM-DD", "end": "YYYY-MM-DD" } for a span ("Japan trip May 4\u201315, 2026")
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  recall
3
- } from "./chunk-KLJBJWWI.mjs";
3
+ } from "./chunk-SJLYHCMG.mjs";
4
4
  import "./chunk-RCCKRTBI.mjs";
5
5
  import "./chunk-FMGZTVXQ.mjs";
6
6
  export {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anuma/sdk",
3
- "version": "1.3.1",
3
+ "version": "1.4.1",
4
4
  "description": "",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.mjs",
@@ -145,7 +145,7 @@
145
145
  "homepage": "https://github.com/anuma-ai/sdk#readme",
146
146
  "packageManager": "pnpm@10.23.0",
147
147
  "dependencies": {
148
- "@anuma/portal": "1.0.0-next.20260709030454",
148
+ "@anuma/portal": "1.0.0-next.20260715224031",
149
149
  "@babel/parser": "^7.29.2",
150
150
  "@babel/types": "^7.29.0",
151
151
  "ai": "6.0.202",