@pyxmate/memory 1.10.0 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,7 +13,7 @@ import {
13
13
  buildAgentSnippet,
14
14
  buildDesignGuide,
15
15
  buildGraphStructuringPrompt
16
- } from "./chunk-AXH45N7T.mjs";
16
+ } from "./chunk-LJ7OORIM.mjs";
17
17
  export {
18
18
  AGENT_TARGETS,
19
19
  PERSISTENT_MEMORY_SECTION,
@@ -4,6 +4,7 @@ var DEFAULTS = {
4
4
  VECTOR_PROVIDER: "lancedb",
5
5
  MEMORY_SERVER_PORT: 7822
6
6
  };
7
+ var TAXONOMY_MAX_CATEGORIES = 10;
7
8
 
8
9
  // ../shared/src/graph/extraction.ts
9
10
  function normalizeGraphLabel(value, fallback) {
@@ -973,6 +974,7 @@ var MemoryClient = class {
973
974
 
974
975
  export {
975
976
  DEFAULTS,
977
+ TAXONOMY_MAX_CATEGORIES,
976
978
  normalizeGraphLabel,
977
979
  normalizeNameKey,
978
980
  mergeExtractedEntities,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  MemoryClient
3
- } from "./chunk-BS6K64SA.mjs";
3
+ } from "./chunk-5BLT7RSY.mjs";
4
4
 
5
5
  // ../dashboard/src/aggregations/consolidation-analytics.ts
6
6
  function analyzeConsolidationLog(entries) {
@@ -11,7 +11,7 @@ var PERSISTENT_MEMORY_SECTION = [
11
11
  "- Before suggesting an approach, search for prior decisions that might contradict it.",
12
12
  "- When the user references prior work, search for it.",
13
13
  "- When investigating a bug, search for prior occurrences and fixes.",
14
- '- When a question names a time \u2014 explicit or relative ("last year", "\uB450 \uB2EC \uC804") \u2014 resolve it to an absolute ISO-8601 timestamp and pass it as search `anchorTime`: results rank by proximity to that time, without excluding other results.',
14
+ '- When a question names a time \u2014 explicit or relative ("last year") \u2014 resolve it to an absolute ISO-8601 timestamp and pass it as search `anchorTime`: results rank by proximity to that time, without excluding other results.',
15
15
  "- Match search `effort` to risk: use `quick` for routine recall; use `deep` when quick returns nothing, when prior state may be archived/superseded, or when full history matters.",
16
16
  '- To trace how a fact changed ("what did X use before Y", how it evolved), call `lineage` with `subject` + `relation` or an `entryId` instead of stitching together searches.',
17
17
  "- Recalled memories reflect what was true when written \u2014 if one names a file, function, flag, or version, verify it still exists before acting on it.",
@@ -34,11 +34,12 @@ var PERSISTENT_MEMORY_SECTION = [
34
34
  "- Always include `topic` and `project`.",
35
35
  "- Store concise facts and decisions, not deliberation.",
36
36
  "- Keep one memory per concept; do not bundle unrelated facts.",
37
- "- Do not store ephemeral file contents, raw logs, or step-by-step progress as it happens. High-frequency streams (wearable/health samples, sensor readings, metrics) must be aggregated into the dated fact or summary they support (with `eventTime`), never stored as one memory or graph node per sample.",
38
- '- Pass `eventTime` (ISO-8601, when the fact happened or took effect) for facts that can change or go stale \u2014 job/status changes, decisions that supersede earlier ones, dated events. Recency ordering, dated ("as of") queries, and stale-vs-current resolution key off it.',
37
+ "- Do not store ephemeral file contents, raw logs, or step-by-step progress as it happens. High-frequency streams (sensor/wearable samples, metrics) must be aggregated into the dated fact or summary they support (with `eventTime`), never stored as one memory or graph node per sample.",
38
+ '- Pass `eventTime` (ISO-8601, when the fact happened or took effect) for facts that can change or go stale. Recency ordering, dated ("as of") queries, and stale-vs-current resolution key off it.',
39
39
  "- Graph is a retrieval structure. When content names people, organizations, tools, places, events, or key concepts, pass `entities` and `relationships` when you can (caller-wins). On a multi-entity store, include at least one relationship connecting them, or use `triples` so edges are explicit. Relationships matter as much as entities for traversal. Entity-free memories are valid.",
40
- '- Use specific durable entities ("sleep apnea", "morning run routine"). Never create a catch-all hub node ("me", "health", "work") linked to everything; mega-hubs degrade traversal. Bounded `IS_A` category nodes are the exception.',
41
- '- For countable categories the user may later enumerate ("fitness classes", "streaming services", "pets"), add a canonical category `CONCEPT` node and an `IS_A` edge from each member to it (`"yoga"` IS_A `"fitness classes"`).',
40
+ '- Use specific durable entities. Never create a catch-all hub node ("me", "health") linked to everything; mega-hubs degrade traversal. Bounded `IS_A` category nodes are the exception.',
41
+ '- For countable categories the user may later enumerate, add a canonical category `CONCEPT` node and an `IS_A` edge from each member to it (`"yoga"` IS_A `"fitness classes"`).',
42
+ "- Taxonomy: when a store response reports unnamed clusters, call get_taxonomy_state and name each cluster via name_cluster \u2014 short, domain-true names in the user's language; rename (previousName) only when composition clearly changed.",
42
43
  "- Ingest documents/images only when they are worth persisting; images require a short description so they are searchable."
43
44
  ].join("\n");
44
45
  function buildDesignGuide({ appName }) {
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  PERSISTENT_MEMORY_SECTION,
4
4
  buildDesignGuide
5
- } from "../chunk-AXH45N7T.mjs";
5
+ } from "../chunk-LJ7OORIM.mjs";
6
6
 
7
7
  // src/cli/exit-codes.ts
8
8
  var EXIT = {
@@ -798,7 +798,7 @@ function createProxyServer(client, version, uploadLocalFile) {
798
798
  return server;
799
799
  }
800
800
  async function runMcpProxyServer(opts) {
801
- const version = opts.version ?? (true ? "1.10.0" : "0.0.0-dev");
801
+ const version = opts.version ?? (true ? "1.11.0" : "0.0.0-dev");
802
802
  const read = await opts.readCredentials();
803
803
  if (!read.ok) {
804
804
  const text = read.result.content.map((c) => c.type === "text" ? c.text : "").join(" ").trim();
@@ -11,8 +11,8 @@ import {
11
11
  toGraphologyFormat,
12
12
  transformGraphData,
13
13
  unreachableHealth
14
- } from "./chunk-MZF55IUR.mjs";
15
- import "./chunk-BS6K64SA.mjs";
14
+ } from "./chunk-HOBDPIHO.mjs";
15
+ import "./chunk-5BLT7RSY.mjs";
16
16
  export {
17
17
  DashboardClient,
18
18
  Poller,
package/dist/index.d.ts CHANGED
@@ -486,6 +486,7 @@ declare const DEFAULTS: {
486
486
  readonly VECTOR_PROVIDER: "lancedb";
487
487
  readonly MEMORY_SERVER_PORT: 7822;
488
488
  };
489
+ declare const TAXONOMY_MAX_CATEGORIES = 10;
489
490
 
490
491
  /** ISO 8601 timestamp string */
491
492
  type Timestamp = string;
@@ -1046,6 +1047,10 @@ interface UsageHygieneSnapshot {
1046
1047
  searchesZeroResults: number;
1047
1048
  /** Total Memory.reinforce calls observed since boot. */
1048
1049
  reinforceTotal: number;
1050
+ /** Total get_taxonomy_state (Memory.getTaxonomyState) calls observed since boot. */
1051
+ taxonomyStateReadsTotal: number;
1052
+ /** Total name_cluster (Memory.nameCluster) calls observed since boot. */
1053
+ nameClusterCallsTotal: number;
1049
1054
  /** Reinforce calls by signal value. */
1050
1055
  reinforceBySignal: Record<string, number>;
1051
1056
  /** Sessions where at least one search happened before the first store. */
@@ -1513,4 +1518,4 @@ interface CreatePyxMemoryOptions {
1513
1518
  }
1514
1519
  declare function createPyxMemory(opts?: CreatePyxMemoryOptions): MemoryClient;
1515
1520
 
1516
- export { type AgentId, type ApiResponse, type ConsolidationRunResult, type CorrectionInput, type CorrectionRecord, type CreatePyxMemoryOptions, DEFAULTS, DEPRECATED_RAG_STRATEGIES, DisabledMemory, type DroppedGraphRelationship, EmbeddingProviderName, type EnrichmentCallbacks, type EntityExtractionResult, type ExtendedMemoryInterface, type FetchCorrectionsInput, type GraphEnrichment, type GraphEnrichmentStatus, type GraphFailureMode, type GraphNode, type GraphRelationship, type GraphRepairResult, type GraphTelemetrySnapshot, type GraphTraversalResult, type IngestEntity, type IngestErrorEvent, type IngestEvent, type IngestFileOptions, type IngestHeartbeatEvent, type IngestProgressEvent, type IngestRelationship, type IngestResultEvent, type IngestStage, type IngestionResult, type LineageParams, type LineageResult, type LineageVersion, MemoryClient, type MemoryClientOptions, type MemoryEntry, type MemoryIngestRequest, type MemoryInterface, type MemoryListParams, type MemoryListResult, type MemoryLogFilters, type MemorySearchParams, type MemorySearchResult, MemoryServerError, type MemoryStats, MemoryType, type MoveEntriesFilter, MoveFailureReason, type MoveResult, type MoveTarget, NamespaceIsolation, type PrincipalContext, RAGStrategy, type ReinforceParams, type ReinforceResult, type ReinforceSignal, SINGLE_TENANT_ID, SensitivityLevel, type SourceEvidence, type StoreInput, StoreTarget, type TemporalQueryFilters, type TenantScopeOptions, type Timestamp, type Topology, type TopologyExtractionProvider, type TopologyServiceVariant, type UsageHygieneSnapshot, VectorProvider, type VectorStatus, type WikiLintReport, createPyxMemory, mergeExtractedEntities, normalizeGraphLabel, normalizeNameKey };
1521
+ export { type AgentId, type ApiResponse, type ConsolidationRunResult, type CorrectionInput, type CorrectionRecord, type CreatePyxMemoryOptions, DEFAULTS, DEPRECATED_RAG_STRATEGIES, DisabledMemory, type DroppedGraphRelationship, EmbeddingProviderName, type EnrichmentCallbacks, type EntityExtractionResult, type ExtendedMemoryInterface, type FetchCorrectionsInput, type GraphEnrichment, type GraphEnrichmentStatus, type GraphFailureMode, type GraphNode, type GraphRelationship, type GraphRepairResult, type GraphTelemetrySnapshot, type GraphTraversalResult, type IngestEntity, type IngestErrorEvent, type IngestEvent, type IngestFileOptions, type IngestHeartbeatEvent, type IngestProgressEvent, type IngestRelationship, type IngestResultEvent, type IngestStage, type IngestionResult, type LineageParams, type LineageResult, type LineageVersion, MemoryClient, type MemoryClientOptions, type MemoryEntry, type MemoryIngestRequest, type MemoryInterface, type MemoryListParams, type MemoryListResult, type MemoryLogFilters, type MemorySearchParams, type MemorySearchResult, MemoryServerError, type MemoryStats, MemoryType, type MoveEntriesFilter, MoveFailureReason, type MoveResult, type MoveTarget, NamespaceIsolation, type PrincipalContext, RAGStrategy, type ReinforceParams, type ReinforceResult, type ReinforceSignal, SINGLE_TENANT_ID, SensitivityLevel, type SourceEvidence, type StoreInput, StoreTarget, TAXONOMY_MAX_CATEGORIES, type TemporalQueryFilters, type TenantScopeOptions, type Timestamp, type Topology, type TopologyExtractionProvider, type TopologyServiceVariant, type UsageHygieneSnapshot, VectorProvider, type VectorStatus, type WikiLintReport, createPyxMemory, mergeExtractedEntities, normalizeGraphLabel, normalizeNameKey };
package/dist/index.mjs CHANGED
@@ -12,11 +12,12 @@ import {
12
12
  SINGLE_TENANT_ID,
13
13
  SensitivityLevel,
14
14
  StoreTarget,
15
+ TAXONOMY_MAX_CATEGORIES,
15
16
  VectorProvider,
16
17
  mergeExtractedEntities,
17
18
  normalizeGraphLabel,
18
19
  normalizeNameKey
19
- } from "./chunk-BS6K64SA.mjs";
20
+ } from "./chunk-5BLT7RSY.mjs";
20
21
 
21
22
  // src/preset.ts
22
23
  var DEFAULT_MEMORY_URL = `http://localhost:${DEFAULTS.MEMORY_SERVER_PORT}`;
@@ -45,6 +46,7 @@ export {
45
46
  SINGLE_TENANT_ID,
46
47
  SensitivityLevel,
47
48
  StoreTarget,
49
+ TAXONOMY_MAX_CATEGORIES,
48
50
  VectorProvider,
49
51
  createPyxMemory,
50
52
  mergeExtractedEntities,
package/dist/react.mjs CHANGED
@@ -11,8 +11,8 @@ import {
11
11
  toGraphologyFormat,
12
12
  transformGraphData,
13
13
  unreachableHealth
14
- } from "./chunk-MZF55IUR.mjs";
15
- import "./chunk-BS6K64SA.mjs";
14
+ } from "./chunk-HOBDPIHO.mjs";
15
+ import "./chunk-5BLT7RSY.mjs";
16
16
 
17
17
  // ../dashboard/src/hooks/use-consolidation-log.ts
18
18
  import { useCallback as useCallback2, useMemo } from "react";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pyxmate/memory",
3
- "version": "1.10.0",
3
+ "version": "1.11.0",
4
4
  "type": "module",
5
5
  "description": "SDK for pyx-memory — Memory as a Service for AI agents",
6
6
  "license": "MIT",