@prmichaelsen/remember-mcp 3.15.6 → 3.15.7
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.
- package/CHANGELOG.md +8 -0
- package/dist/server-factory.js +60 -18
- package/package.json +1 -1
- package/src/tools/search-by.ts +15 -4
- package/src/tools/search-ghost-memory-by.ts +23 -3
- package/src/tools/search-space-by.ts +22 -11
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [3.15.7] - 2026-03-07
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
|
|
12
|
+
- Expand tool descriptions for `remember_search_by`, `remember_search_ghost_memory_by`, and `remember_search_space_by` with full mode explanations and complete property reference for byProperty mode
|
|
13
|
+
- Add inline mode descriptions to `mode` enum field so agents see them in schema-only views
|
|
14
|
+
- Document all sortable properties: 21 emotions, 10 functional signals, 3 composite scores, core fields, ratings, and REM metadata
|
|
15
|
+
|
|
8
16
|
## [3.15.5] - 2026-03-07
|
|
9
17
|
|
|
10
18
|
### Changed
|
package/dist/server-factory.js
CHANGED
|
@@ -8177,14 +8177,25 @@ var searchByTool = {
|
|
|
8177
8177
|
Use remember_find_similar for vector similarity.
|
|
8178
8178
|
Use this tool for structured browsing, sorting, and discovery.
|
|
8179
8179
|
|
|
8180
|
+
byBroad returns truncated content (content_head/mid/tail ~100 chars each) instead of full content.
|
|
8181
|
+
Use it to scan large collections, then drill into specific memories with other search tools.
|
|
8182
|
+
|
|
8183
|
+
Available sort_field values for byProperty:
|
|
8184
|
+
Emotions (0-1): feel_emotional_significance, feel_vulnerability, feel_trauma, feel_humor, feel_happiness, feel_sadness, feel_fear, feel_anger, feel_surprise, feel_disgust, feel_contempt, feel_embarrassment, feel_shame, feel_guilt, feel_excitement, feel_pride, feel_intensity, feel_coherence_tension
|
|
8185
|
+
Affect dimensions: feel_valence (-1 to 1), feel_arousal (0-1), feel_dominance (0-1)
|
|
8186
|
+
Functional signals (0-1): functional_salience, functional_urgency, functional_social_weight, functional_agency, functional_novelty, functional_retrieval_utility, functional_narrative_importance, functional_aesthetic_quality, functional_valence, functional_coherence_tension
|
|
8187
|
+
Composite scores: feel_significance, functional_significance, total_significance
|
|
8188
|
+
Core: weight, trust_score, confidence, strength, relationship_count, version, access_count
|
|
8189
|
+
Ratings: rating_sum, rating_count, rating_bayesian
|
|
8190
|
+
REM metadata: rem_visits (times scored by REM)
|
|
8191
|
+
|
|
8180
8192
|
byProperty examples:
|
|
8181
8193
|
- { mode: "byProperty", sort_field: "feel_trauma", sort_order: "desc" } \u2014 most traumatic
|
|
8182
8194
|
- { mode: "byProperty", sort_field: "feel_humor", sort_order: "desc" } \u2014 funniest
|
|
8183
|
-
- { mode: "byProperty", sort_field: "
|
|
8195
|
+
- { mode: "byProperty", sort_field: "functional_retrieval_utility", sort_order: "desc" } \u2014 most useful
|
|
8184
8196
|
- { mode: "byProperty", sort_field: "rem_visits", sort_order: "asc" } \u2014 least scored by REM
|
|
8185
|
-
|
|
8186
|
-
|
|
8187
|
-
Use it to scan large collections, then drill into specific memories with other search tools.`,
|
|
8197
|
+
- { mode: "byProperty", sort_field: "total_significance", sort_order: "desc" } \u2014 most significant overall
|
|
8198
|
+
- { mode: "byProperty", sort_field: "functional_novelty", sort_order: "desc" } \u2014 most novel`,
|
|
8188
8199
|
inputSchema: {
|
|
8189
8200
|
type: "object",
|
|
8190
8201
|
properties: {
|
|
@@ -8612,15 +8623,35 @@ async function handleQueryGhostMemory(args, userId, authContext) {
|
|
|
8612
8623
|
// src/tools/search-ghost-memory-by.ts
|
|
8613
8624
|
var searchGhostMemoryByTool = {
|
|
8614
8625
|
name: "remember_search_ghost_memory_by",
|
|
8615
|
-
description: `Search ghost memories using specialized modes
|
|
8616
|
-
|
|
8626
|
+
description: `Search ghost memories using specialized sort/discovery modes. Automatically filters to content_type: ghost.
|
|
8627
|
+
|
|
8628
|
+
Modes:
|
|
8629
|
+
- byTime: Chronological sort (newest/oldest first)
|
|
8630
|
+
- byDensity: Sort by relationship count (most connected ghost memories)
|
|
8631
|
+
- byRating: Sort by Bayesian rating average (social ratings from spaces)
|
|
8632
|
+
- byDiscovery: Interleaved rated + unrated content for exploration (4:1 ratio)
|
|
8633
|
+
- byProperty: Sort by any memory property (e.g., feel_trauma, weight, feel_salience). Requires sort_field.
|
|
8634
|
+
- bySignificance: Sort by total_significance (combined emotional + functional score from REM)
|
|
8635
|
+
- byBroad: Massive results with truncated content (content_head/mid/tail ~100 chars each) for scan-and-drill-in workflow
|
|
8636
|
+
- byRandom: Random sampling for serendipitous rediscovery
|
|
8637
|
+
|
|
8638
|
+
Use remember_search_ghost_memory for hybrid semantic+keyword search.
|
|
8639
|
+
Use this tool for structured browsing, sorting, and discovery of ghost interaction records.
|
|
8640
|
+
|
|
8641
|
+
Available sort_field values for byProperty:
|
|
8642
|
+
Emotions (0-1): feel_emotional_significance, feel_vulnerability, feel_trauma, feel_humor, feel_happiness, feel_sadness, feel_fear, feel_anger, feel_surprise, feel_disgust, feel_contempt, feel_embarrassment, feel_shame, feel_guilt, feel_excitement, feel_pride, feel_intensity, feel_coherence_tension
|
|
8643
|
+
Affect dimensions: feel_valence (-1 to 1), feel_arousal (0-1), feel_dominance (0-1)
|
|
8644
|
+
Functional signals (0-1): functional_salience, functional_urgency, functional_social_weight, functional_agency, functional_novelty, functional_retrieval_utility, functional_narrative_importance, functional_aesthetic_quality, functional_valence, functional_coherence_tension
|
|
8645
|
+
Composite scores: feel_significance, functional_significance, total_significance
|
|
8646
|
+
Core: weight, trust_score, relationship_count, version
|
|
8647
|
+
REM metadata: rem_visits`,
|
|
8617
8648
|
inputSchema: {
|
|
8618
8649
|
type: "object",
|
|
8619
8650
|
properties: {
|
|
8620
8651
|
mode: {
|
|
8621
8652
|
type: "string",
|
|
8622
8653
|
enum: ["byTime", "byDensity", "byRating", "byDiscovery", "byProperty", "bySignificance", "byRandom", "byBroad"],
|
|
8623
|
-
description: "Search mode"
|
|
8654
|
+
description: "Search mode: byTime (chronological), byDensity (most connected), byRating (highest rated), byDiscovery (explore mix), byProperty (sort by field), bySignificance (emotional+functional score), byRandom (random sample), byBroad (scan many truncated)"
|
|
8624
8655
|
},
|
|
8625
8656
|
query: { type: "string", description: "Optional search query" },
|
|
8626
8657
|
sort_order: { type: "string", enum: ["asc", "desc"] },
|
|
@@ -8746,25 +8777,36 @@ async function handleGetCore(args, userId, _authContext) {
|
|
|
8746
8777
|
// src/tools/search-space-by.ts
|
|
8747
8778
|
var searchSpaceByTool = {
|
|
8748
8779
|
name: "remember_search_space_by",
|
|
8749
|
-
description: `Search shared spaces using specialized modes.
|
|
8750
|
-
but operates on published memories in spaces and groups.
|
|
8780
|
+
description: `Search published memories in shared spaces/groups using specialized sort/discovery modes.
|
|
8751
8781
|
|
|
8752
8782
|
Modes:
|
|
8753
|
-
- byTime: Chronological sort
|
|
8754
|
-
- byRating: Sort by Bayesian rating average (social ratings)
|
|
8755
|
-
- byDiscovery: Interleaved rated + unrated for exploration
|
|
8756
|
-
- byProperty: Sort by any property (e.g., feel_trauma, total_significance)
|
|
8757
|
-
- byBroad: Massive results with truncated content
|
|
8758
|
-
- byRandom: Random sampling
|
|
8759
|
-
|
|
8760
|
-
At least one of 'spaces' or 'groups' must be provided
|
|
8783
|
+
- byTime: Chronological sort (newest/oldest first)
|
|
8784
|
+
- byRating: Sort by Bayesian rating average (social ratings from other users)
|
|
8785
|
+
- byDiscovery: Interleaved rated + unrated content for exploration (4:1 ratio). Good for finding hidden gems.
|
|
8786
|
+
- byProperty: Sort by any memory property (e.g., feel_trauma, total_significance, weight). Requires sort_field.
|
|
8787
|
+
- byBroad: Massive results with truncated content (content_head/mid/tail ~100 chars each) for scan-and-drill-in workflow
|
|
8788
|
+
- byRandom: Random sampling for serendipitous discovery
|
|
8789
|
+
|
|
8790
|
+
At least one of 'spaces' or 'groups' must be provided.
|
|
8791
|
+
|
|
8792
|
+
Use remember_search_space for hybrid semantic+keyword search of space memories.
|
|
8793
|
+
Use this tool for structured browsing, sorting, and discovery of published content.
|
|
8794
|
+
|
|
8795
|
+
Available sort_field values for byProperty:
|
|
8796
|
+
Emotions (0-1): feel_emotional_significance, feel_vulnerability, feel_trauma, feel_humor, feel_happiness, feel_sadness, feel_fear, feel_anger, feel_surprise, feel_disgust, feel_contempt, feel_embarrassment, feel_shame, feel_guilt, feel_excitement, feel_pride, feel_intensity, feel_coherence_tension
|
|
8797
|
+
Affect dimensions: feel_valence (-1 to 1), feel_arousal (0-1), feel_dominance (0-1)
|
|
8798
|
+
Functional signals (0-1): functional_salience, functional_urgency, functional_social_weight, functional_agency, functional_novelty, functional_retrieval_utility, functional_narrative_importance, functional_aesthetic_quality, functional_valence, functional_coherence_tension
|
|
8799
|
+
Composite scores: feel_significance, functional_significance, total_significance
|
|
8800
|
+
Core: weight, trust_score, relationship_count, version
|
|
8801
|
+
Ratings: rating_sum, rating_count, rating_bayesian
|
|
8802
|
+
Published: discovery_count, revision_count`,
|
|
8761
8803
|
inputSchema: {
|
|
8762
8804
|
type: "object",
|
|
8763
8805
|
properties: {
|
|
8764
8806
|
mode: {
|
|
8765
8807
|
type: "string",
|
|
8766
8808
|
enum: ["byTime", "byRating", "byDiscovery", "byProperty", "byBroad", "byRandom"],
|
|
8767
|
-
description: "Search mode"
|
|
8809
|
+
description: "Search mode: byTime (chronological), byRating (highest rated), byDiscovery (explore mix), byProperty (sort by field), byBroad (scan many truncated), byRandom (random sample)"
|
|
8768
8810
|
},
|
|
8769
8811
|
spaces: {
|
|
8770
8812
|
type: "array",
|
package/package.json
CHANGED
package/src/tools/search-by.ts
CHANGED
|
@@ -34,14 +34,25 @@ export const searchByTool = {
|
|
|
34
34
|
Use remember_find_similar for vector similarity.
|
|
35
35
|
Use this tool for structured browsing, sorting, and discovery.
|
|
36
36
|
|
|
37
|
+
byBroad returns truncated content (content_head/mid/tail ~100 chars each) instead of full content.
|
|
38
|
+
Use it to scan large collections, then drill into specific memories with other search tools.
|
|
39
|
+
|
|
40
|
+
Available sort_field values for byProperty:
|
|
41
|
+
Emotions (0-1): feel_emotional_significance, feel_vulnerability, feel_trauma, feel_humor, feel_happiness, feel_sadness, feel_fear, feel_anger, feel_surprise, feel_disgust, feel_contempt, feel_embarrassment, feel_shame, feel_guilt, feel_excitement, feel_pride, feel_intensity, feel_coherence_tension
|
|
42
|
+
Affect dimensions: feel_valence (-1 to 1), feel_arousal (0-1), feel_dominance (0-1)
|
|
43
|
+
Functional signals (0-1): functional_salience, functional_urgency, functional_social_weight, functional_agency, functional_novelty, functional_retrieval_utility, functional_narrative_importance, functional_aesthetic_quality, functional_valence, functional_coherence_tension
|
|
44
|
+
Composite scores: feel_significance, functional_significance, total_significance
|
|
45
|
+
Core: weight, trust_score, confidence, strength, relationship_count, version, access_count
|
|
46
|
+
Ratings: rating_sum, rating_count, rating_bayesian
|
|
47
|
+
REM metadata: rem_visits (times scored by REM)
|
|
48
|
+
|
|
37
49
|
byProperty examples:
|
|
38
50
|
- { mode: "byProperty", sort_field: "feel_trauma", sort_order: "desc" } — most traumatic
|
|
39
51
|
- { mode: "byProperty", sort_field: "feel_humor", sort_order: "desc" } — funniest
|
|
40
|
-
- { mode: "byProperty", sort_field: "
|
|
52
|
+
- { mode: "byProperty", sort_field: "functional_retrieval_utility", sort_order: "desc" } — most useful
|
|
41
53
|
- { mode: "byProperty", sort_field: "rem_visits", sort_order: "asc" } — least scored by REM
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
Use it to scan large collections, then drill into specific memories with other search tools.`,
|
|
54
|
+
- { mode: "byProperty", sort_field: "total_significance", sort_order: "desc" } — most significant overall
|
|
55
|
+
- { mode: "byProperty", sort_field: "functional_novelty", sort_order: "desc" } — most novel`,
|
|
45
56
|
inputSchema: {
|
|
46
57
|
type: 'object',
|
|
47
58
|
properties: {
|
|
@@ -11,15 +11,35 @@ import type { SearchByMode } from './search-by.js';
|
|
|
11
11
|
|
|
12
12
|
export const searchGhostMemoryByTool = {
|
|
13
13
|
name: 'remember_search_ghost_memory_by',
|
|
14
|
-
description: `Search ghost memories using specialized modes
|
|
15
|
-
|
|
14
|
+
description: `Search ghost memories using specialized sort/discovery modes. Automatically filters to content_type: ghost.
|
|
15
|
+
|
|
16
|
+
Modes:
|
|
17
|
+
- byTime: Chronological sort (newest/oldest first)
|
|
18
|
+
- byDensity: Sort by relationship count (most connected ghost memories)
|
|
19
|
+
- byRating: Sort by Bayesian rating average (social ratings from spaces)
|
|
20
|
+
- byDiscovery: Interleaved rated + unrated content for exploration (4:1 ratio)
|
|
21
|
+
- byProperty: Sort by any memory property (e.g., feel_trauma, weight, feel_salience). Requires sort_field.
|
|
22
|
+
- bySignificance: Sort by total_significance (combined emotional + functional score from REM)
|
|
23
|
+
- byBroad: Massive results with truncated content (content_head/mid/tail ~100 chars each) for scan-and-drill-in workflow
|
|
24
|
+
- byRandom: Random sampling for serendipitous rediscovery
|
|
25
|
+
|
|
26
|
+
Use remember_search_ghost_memory for hybrid semantic+keyword search.
|
|
27
|
+
Use this tool for structured browsing, sorting, and discovery of ghost interaction records.
|
|
28
|
+
|
|
29
|
+
Available sort_field values for byProperty:
|
|
30
|
+
Emotions (0-1): feel_emotional_significance, feel_vulnerability, feel_trauma, feel_humor, feel_happiness, feel_sadness, feel_fear, feel_anger, feel_surprise, feel_disgust, feel_contempt, feel_embarrassment, feel_shame, feel_guilt, feel_excitement, feel_pride, feel_intensity, feel_coherence_tension
|
|
31
|
+
Affect dimensions: feel_valence (-1 to 1), feel_arousal (0-1), feel_dominance (0-1)
|
|
32
|
+
Functional signals (0-1): functional_salience, functional_urgency, functional_social_weight, functional_agency, functional_novelty, functional_retrieval_utility, functional_narrative_importance, functional_aesthetic_quality, functional_valence, functional_coherence_tension
|
|
33
|
+
Composite scores: feel_significance, functional_significance, total_significance
|
|
34
|
+
Core: weight, trust_score, relationship_count, version
|
|
35
|
+
REM metadata: rem_visits`,
|
|
16
36
|
inputSchema: {
|
|
17
37
|
type: 'object',
|
|
18
38
|
properties: {
|
|
19
39
|
mode: {
|
|
20
40
|
type: 'string',
|
|
21
41
|
enum: ['byTime', 'byDensity', 'byRating', 'byDiscovery', 'byProperty', 'bySignificance', 'byRandom', 'byBroad'],
|
|
22
|
-
description: 'Search mode',
|
|
42
|
+
description: 'Search mode: byTime (chronological), byDensity (most connected), byRating (highest rated), byDiscovery (explore mix), byProperty (sort by field), bySignificance (emotional+functional score), byRandom (random sample), byBroad (scan many truncated)',
|
|
23
43
|
},
|
|
24
44
|
query: { type: 'string', description: 'Optional search query' },
|
|
25
45
|
sort_order: { type: 'string', enum: ['asc', 'desc'] },
|
|
@@ -12,25 +12,36 @@ export type SearchSpaceByMode = 'byTime' | 'byRating' | 'byDiscovery' | 'byPrope
|
|
|
12
12
|
|
|
13
13
|
export const searchSpaceByTool = {
|
|
14
14
|
name: 'remember_search_space_by',
|
|
15
|
-
description: `Search shared spaces using specialized modes.
|
|
16
|
-
but operates on published memories in spaces and groups.
|
|
15
|
+
description: `Search published memories in shared spaces/groups using specialized sort/discovery modes.
|
|
17
16
|
|
|
18
17
|
Modes:
|
|
19
|
-
- byTime: Chronological sort
|
|
20
|
-
- byRating: Sort by Bayesian rating average (social ratings)
|
|
21
|
-
- byDiscovery: Interleaved rated + unrated for exploration
|
|
22
|
-
- byProperty: Sort by any property (e.g., feel_trauma, total_significance)
|
|
23
|
-
- byBroad: Massive results with truncated content
|
|
24
|
-
- byRandom: Random sampling
|
|
25
|
-
|
|
26
|
-
At least one of 'spaces' or 'groups' must be provided
|
|
18
|
+
- byTime: Chronological sort (newest/oldest first)
|
|
19
|
+
- byRating: Sort by Bayesian rating average (social ratings from other users)
|
|
20
|
+
- byDiscovery: Interleaved rated + unrated content for exploration (4:1 ratio). Good for finding hidden gems.
|
|
21
|
+
- byProperty: Sort by any memory property (e.g., feel_trauma, total_significance, weight). Requires sort_field.
|
|
22
|
+
- byBroad: Massive results with truncated content (content_head/mid/tail ~100 chars each) for scan-and-drill-in workflow
|
|
23
|
+
- byRandom: Random sampling for serendipitous discovery
|
|
24
|
+
|
|
25
|
+
At least one of 'spaces' or 'groups' must be provided.
|
|
26
|
+
|
|
27
|
+
Use remember_search_space for hybrid semantic+keyword search of space memories.
|
|
28
|
+
Use this tool for structured browsing, sorting, and discovery of published content.
|
|
29
|
+
|
|
30
|
+
Available sort_field values for byProperty:
|
|
31
|
+
Emotions (0-1): feel_emotional_significance, feel_vulnerability, feel_trauma, feel_humor, feel_happiness, feel_sadness, feel_fear, feel_anger, feel_surprise, feel_disgust, feel_contempt, feel_embarrassment, feel_shame, feel_guilt, feel_excitement, feel_pride, feel_intensity, feel_coherence_tension
|
|
32
|
+
Affect dimensions: feel_valence (-1 to 1), feel_arousal (0-1), feel_dominance (0-1)
|
|
33
|
+
Functional signals (0-1): functional_salience, functional_urgency, functional_social_weight, functional_agency, functional_novelty, functional_retrieval_utility, functional_narrative_importance, functional_aesthetic_quality, functional_valence, functional_coherence_tension
|
|
34
|
+
Composite scores: feel_significance, functional_significance, total_significance
|
|
35
|
+
Core: weight, trust_score, relationship_count, version
|
|
36
|
+
Ratings: rating_sum, rating_count, rating_bayesian
|
|
37
|
+
Published: discovery_count, revision_count`,
|
|
27
38
|
inputSchema: {
|
|
28
39
|
type: 'object',
|
|
29
40
|
properties: {
|
|
30
41
|
mode: {
|
|
31
42
|
type: 'string',
|
|
32
43
|
enum: ['byTime', 'byRating', 'byDiscovery', 'byProperty', 'byBroad', 'byRandom'],
|
|
33
|
-
description: 'Search mode',
|
|
44
|
+
description: 'Search mode: byTime (chronological), byRating (highest rated), byDiscovery (explore mix), byProperty (sort by field), byBroad (scan many truncated), byRandom (random sample)',
|
|
34
45
|
},
|
|
35
46
|
spaces: {
|
|
36
47
|
type: 'array',
|