@starascendin/lifeos-mcp 0.7.69 → 0.7.71
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/README.md +5 -8
- package/dist/build-info.d.ts +2 -2
- package/dist/build-info.js +2 -2
- package/dist/index.js +147 -7
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -173,15 +173,12 @@ Add to your `.mcp.json` (project root or `~/.claude/mcp.json`):
|
|
|
173
173
|
- **get_client_success_workspace** - Load one client's chats, meetings, notes, projects, and open work in one call
|
|
174
174
|
|
|
175
175
|
### PPV Life Design
|
|
176
|
-
- **get_ppv_workspace** - Get vision, identity, pillars, linked projects,
|
|
176
|
+
- **get_ppv_workspace** - Get vision, identity, pillars, linked projects, and available existing LifeOS projects
|
|
177
177
|
- **get_active_vision_graph** - Best default graph read for PPV/alignment questions; connects the active vision to projects, issues, and recent memos
|
|
178
178
|
- **seed_ppv_beijing_workspace** - Seed the Beijing Creative Salon example if no PPV vision exists
|
|
179
179
|
- **upsert_ppv_vision** - Create or update a PPV vision
|
|
180
180
|
- **upsert_ppv_identity** - Create or update identity components for a vision
|
|
181
181
|
- **create_ppv_pillar / update_ppv_pillar / delete_ppv_pillar** - Manage pillars and links to existing LifeOS projects
|
|
182
|
-
- **create_ppv_weekly_action / update_ppv_weekly_action / delete_ppv_weekly_action** - Manage weekly identity-aligned actions
|
|
183
|
-
- **create_ppv_reflection / delete_ppv_reflection** - Capture reflection loops
|
|
184
|
-
- **create_ppv_adjustment / delete_ppv_adjustment** - Record adjustments from lived evidence
|
|
185
182
|
|
|
186
183
|
### Unified Graph
|
|
187
184
|
- **get_unified_life_graph** - Build the user's full live unified graph across LifeOS domains
|
|
@@ -194,7 +191,7 @@ Add to your `.mcp.json` (project root or `~/.claude/mcp.json`):
|
|
|
194
191
|
- **upsert_unified_graph_link / delete_unified_graph_link** - Create or remove manual links between graph nodes
|
|
195
192
|
|
|
196
193
|
### FalkorDB Sidecar Graph
|
|
197
|
-
- **falkor_graph_schema** - Inspect the Falkor graph contract, configured graph, allowed labels, relationship types, and
|
|
194
|
+
- **falkor_graph_schema** - Inspect the Falkor graph contract, configured graph, allowed labels, relationship types, fields, query recipes, and agent link flow
|
|
198
195
|
- **falkor_graph_query** - Run guarded read-only Cypher against the Falkor PPV sidecar
|
|
199
196
|
- **falkor_graph_link** - Create/update an agent-owned `AGENT_LINK` relationship without mutating Convex-synced nodes or inferred PPV relationships
|
|
200
197
|
- **falkor_graph_unlink** - Remove a relationship previously created by `falkor_graph_link`
|
|
@@ -202,6 +199,8 @@ Add to your `.mcp.json` (project root or `~/.claude/mcp.json`):
|
|
|
202
199
|
Falkor graph rules:
|
|
203
200
|
- Convex remains canonical for entity data.
|
|
204
201
|
- FalkorDB is a graph query/read sidecar for the PPV experiment.
|
|
202
|
+
- `convexId` is the stable id shared between Convex and Falkor nodes.
|
|
203
|
+
- Agents should call `falkor_graph_schema` first and prefer its query recipes.
|
|
205
204
|
- Agents may query graph data and write only agent-owned `AGENT_LINK` relationships.
|
|
206
205
|
- Every agent-created link must include a reason and confidence.
|
|
207
206
|
- Raw read queries should include `LIMIT`.
|
|
@@ -227,12 +226,10 @@ lifeos-mcp ppv workspace
|
|
|
227
226
|
lifeos-mcp ppv graph
|
|
228
227
|
lifeos-mcp ppv seed
|
|
229
228
|
lifeos-mcp ppv vision --file ./ppv-vision.json
|
|
230
|
-
lifeos-mcp ppv action --file ./ppv-weekly-action.json
|
|
231
229
|
```
|
|
232
230
|
|
|
233
231
|
PPV CLI actions: `workspace`, `graph`, `vision-graph`, `seed`, `vision`, `identity`, `pillar`,
|
|
234
|
-
`update-pillar`, `delete-pillar
|
|
235
|
-
`reflection`, `delete-reflection`, `adjustment`, `delete-adjustment`.
|
|
232
|
+
`update-pillar`, `delete-pillar`.
|
|
236
233
|
|
|
237
234
|
For the broader graph family (`get_project_graph`, `get_initiative_graph`, `get_person_graph`,
|
|
238
235
|
`get_voice_memo_graph`, `get_unified_life_graph`, cache refresh, and manual link tools), invoke the
|
package/dist/build-info.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.7.
|
|
2
|
-
export declare const BUILD_TIME = "2026-05-
|
|
1
|
+
export declare const VERSION = "0.7.71";
|
|
2
|
+
export declare const BUILD_TIME = "2026-05-18T00:11:44.962Z";
|
package/dist/build-info.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// AUTO-GENERATED — do not edit. Regenerated on every build.
|
|
2
|
-
export const VERSION = "0.7.
|
|
3
|
-
export const BUILD_TIME = "2026-05-
|
|
2
|
+
export const VERSION = "0.7.71";
|
|
3
|
+
export const BUILD_TIME = "2026-05-18T00:11:44.962Z";
|
package/dist/index.js
CHANGED
|
@@ -6848,24 +6848,164 @@ function falkorLinkId(parts) {
|
|
|
6848
6848
|
}
|
|
6849
6849
|
function falkorGraphSchema() {
|
|
6850
6850
|
return {
|
|
6851
|
+
schemaVersion: 2,
|
|
6851
6852
|
configured: Boolean(FALKOR_TOKEN || FALKOR_PASS),
|
|
6852
6853
|
endpointConfigured: Boolean(FALKOR_BROWSER_ENDPOINT),
|
|
6853
6854
|
graph: FALKOR_GRAPH,
|
|
6854
6855
|
nodeLabels: FALKOR_NODE_LABELS,
|
|
6855
|
-
|
|
6856
|
+
inferredRelationshipTypes: FALKOR_INFERRED_RELATIONSHIPS,
|
|
6856
6857
|
agentWritableRelationshipType: FALKOR_AGENT_RELATIONSHIP,
|
|
6857
|
-
|
|
6858
|
+
purpose: "FalkorDB is the LifeOS PPV graph sidecar. Convex remains canonical for records; Falkor is optimized for graph traversal and agent-owned relationship memory.",
|
|
6859
|
+
identity: "Every mirrored node uses convexId as the stable canonical id. Use node.convexId for lookups and falkor_graph_link endpoint ids.",
|
|
6860
|
+
commonNodeProperties: [
|
|
6861
|
+
"convexId",
|
|
6862
|
+
"sourceSystem",
|
|
6863
|
+
"sourceTable",
|
|
6864
|
+
"sourceUserId",
|
|
6865
|
+
"syncedAt",
|
|
6866
|
+
"payloadJson",
|
|
6867
|
+
"title",
|
|
6868
|
+
"status",
|
|
6869
|
+
"visionId",
|
|
6870
|
+
"projectId",
|
|
6871
|
+
"pillarId",
|
|
6872
|
+
"updatedAt",
|
|
6873
|
+
"createdAt",
|
|
6874
|
+
],
|
|
6875
|
+
labels: [
|
|
6876
|
+
{
|
|
6877
|
+
label: "PpvVision",
|
|
6878
|
+
convexTable: "ppv1_visions",
|
|
6879
|
+
meaning: "Desired future / life direction record.",
|
|
6880
|
+
primaryFields: ["convexId", "title", "status", "visionId", "updatedAt"],
|
|
6881
|
+
statusValues: ["ideation", "todo", "planned", "in_progress", "done"],
|
|
6882
|
+
commonFilters: [
|
|
6883
|
+
"v.status = 'in_progress'",
|
|
6884
|
+
"v.convexId = 'VISION_ID'",
|
|
6885
|
+
],
|
|
6886
|
+
},
|
|
6887
|
+
{
|
|
6888
|
+
label: "PpvIdentity",
|
|
6889
|
+
convexTable: "ppv1_identities",
|
|
6890
|
+
meaning: "Identity, beliefs, and behavior components for a PPV vision.",
|
|
6891
|
+
primaryFields: ["convexId", "title", "visionId", "updatedAt"],
|
|
6892
|
+
commonFilters: ["identity.visionId = 'VISION_ID'"],
|
|
6893
|
+
},
|
|
6894
|
+
{
|
|
6895
|
+
label: "PpvPillar",
|
|
6896
|
+
convexTable: "ppv1_pillars",
|
|
6897
|
+
meaning: "Ongoing system or pillar that supports a PPV vision.",
|
|
6898
|
+
primaryFields: ["convexId", "title", "visionId", "updatedAt"],
|
|
6899
|
+
commonFilters: ["pillar.visionId = 'VISION_ID'"],
|
|
6900
|
+
},
|
|
6901
|
+
{
|
|
6902
|
+
label: "PpvProject",
|
|
6903
|
+
convexTable: "lifeos_pmProjects",
|
|
6904
|
+
meaning: "Existing LifeOS project mirrored into Falkor only when linked to PPV pillars.",
|
|
6905
|
+
primaryFields: [
|
|
6906
|
+
"convexId",
|
|
6907
|
+
"title",
|
|
6908
|
+
"status",
|
|
6909
|
+
"projectId",
|
|
6910
|
+
"updatedAt",
|
|
6911
|
+
],
|
|
6912
|
+
commonFilters: [
|
|
6913
|
+
"project.convexId = 'PROJECT_ID'",
|
|
6914
|
+
"project.title CONTAINS 'keyword'",
|
|
6915
|
+
],
|
|
6916
|
+
},
|
|
6917
|
+
],
|
|
6918
|
+
inferredRelationships: [
|
|
6919
|
+
{
|
|
6920
|
+
type: "HAS_IDENTITY",
|
|
6921
|
+
from: "PpvVision",
|
|
6922
|
+
to: "PpvIdentity",
|
|
6923
|
+
source: "Convex sync",
|
|
6924
|
+
meaning: "Vision owns an identity model.",
|
|
6925
|
+
mutableByAgent: false,
|
|
6926
|
+
},
|
|
6927
|
+
{
|
|
6928
|
+
type: "HAS_PILLAR",
|
|
6929
|
+
from: "PpvVision",
|
|
6930
|
+
to: "PpvPillar",
|
|
6931
|
+
source: "Convex sync",
|
|
6932
|
+
meaning: "Vision owns/supports a pillar.",
|
|
6933
|
+
mutableByAgent: false,
|
|
6934
|
+
},
|
|
6935
|
+
{
|
|
6936
|
+
type: "PILLAR_SUPPORTS_PROJECT",
|
|
6937
|
+
from: "PpvPillar",
|
|
6938
|
+
to: "PpvProject",
|
|
6939
|
+
source: "Convex sync",
|
|
6940
|
+
meaning: "Pillar is connected to an existing LifeOS project.",
|
|
6941
|
+
mutableByAgent: false,
|
|
6942
|
+
},
|
|
6943
|
+
],
|
|
6944
|
+
agentWritableRelationship: {
|
|
6945
|
+
type: FALKOR_AGENT_RELATIONSHIP,
|
|
6946
|
+
mutableByAgent: true,
|
|
6947
|
+
createWith: "falkor_graph_link",
|
|
6948
|
+
deleteWith: "falkor_graph_unlink",
|
|
6949
|
+
allowedEndpoints: FALKOR_NODE_LABELS,
|
|
6950
|
+
fields: [
|
|
6951
|
+
"convexId",
|
|
6952
|
+
"kind",
|
|
6953
|
+
"reason",
|
|
6954
|
+
"confidence",
|
|
6955
|
+
"createdBy",
|
|
6956
|
+
"createdAt",
|
|
6957
|
+
"updatedAt",
|
|
6958
|
+
"metadataJson",
|
|
6959
|
+
],
|
|
6960
|
+
guidance: "Use AGENT_LINK for durable interpretations, evidence, cross-cutting themes, or useful associations that are not Convex-canonical facts.",
|
|
6961
|
+
},
|
|
6962
|
+
queryRules: [
|
|
6858
6963
|
"Use falkor_graph_query for read-only Cypher only.",
|
|
6859
6964
|
"MATCH/WITH queries must include LIMIT unless they are aggregate count queries.",
|
|
6965
|
+
"Prefer projected fields such as convexId, title, status, visionId, kind, reason, and confidence over returning whole nodes.",
|
|
6860
6966
|
"Use falkor_graph_link for agent-created relationships; it writes only AGENT_LINK edges.",
|
|
6861
6967
|
"Do not mutate Convex-synced nodes or inferred PPV relationships from FalkorDB. Convex remains canonical.",
|
|
6862
6968
|
"Every agent link must include a reason and confidence.",
|
|
6863
6969
|
],
|
|
6864
|
-
|
|
6865
|
-
|
|
6866
|
-
|
|
6867
|
-
|
|
6868
|
-
|
|
6970
|
+
queryRecipes: [
|
|
6971
|
+
{
|
|
6972
|
+
name: "schemaCounts",
|
|
6973
|
+
when: "Check whether the sidecar has data before deeper traversal.",
|
|
6974
|
+
cypher: "MATCH (n) RETURN labels(n) AS labels, count(n) AS count ORDER BY count DESC",
|
|
6975
|
+
},
|
|
6976
|
+
{
|
|
6977
|
+
name: "currentVisionMap",
|
|
6978
|
+
when: "Show what the in-progress PPV vision is driving.",
|
|
6979
|
+
cypher: "MATCH (v:PpvVision {status: 'in_progress'}) OPTIONAL MATCH (v)-[:HAS_IDENTITY]->(identity:PpvIdentity) OPTIONAL MATCH (v)-[:HAS_PILLAR]->(pillar:PpvPillar) OPTIONAL MATCH (pillar)-[:PILLAR_SUPPORTS_PROJECT]->(project:PpvProject) RETURN v.convexId AS visionId, v.title AS vision, identity.convexId AS identityId, pillar.convexId AS pillarId, pillar.title AS pillar, project.convexId AS projectId, project.title AS project LIMIT 50",
|
|
6980
|
+
},
|
|
6981
|
+
{
|
|
6982
|
+
name: "visionToProjects",
|
|
6983
|
+
when: "Trace a specific vision into pillars and linked projects.",
|
|
6984
|
+
cypher: "MATCH (v:PpvVision {convexId: 'VISION_ID'})-[:HAS_PILLAR]->(pillar:PpvPillar)-[:PILLAR_SUPPORTS_PROJECT]->(project:PpvProject) RETURN v.convexId AS visionId, v.title AS vision, pillar.convexId AS pillarId, pillar.title AS pillar, project.convexId AS projectId, project.title AS project, project.status AS projectStatus LIMIT 50",
|
|
6985
|
+
},
|
|
6986
|
+
{
|
|
6987
|
+
name: "projectWhyItMatters",
|
|
6988
|
+
when: "Explain which PPV pillar or vision a project supports.",
|
|
6989
|
+
cypher: "MATCH (v:PpvVision)-[:HAS_PILLAR]->(pillar:PpvPillar)-[:PILLAR_SUPPORTS_PROJECT]->(project:PpvProject {convexId: 'PROJECT_ID'}) RETURN project.convexId AS projectId, project.title AS project, pillar.convexId AS pillarId, pillar.title AS pillar, v.convexId AS visionId, v.title AS vision LIMIT 10",
|
|
6990
|
+
},
|
|
6991
|
+
{
|
|
6992
|
+
name: "agentLinksAroundRecord",
|
|
6993
|
+
when: "Inspect agent-created memory around a node before adding or deleting links.",
|
|
6994
|
+
cypher: "MATCH (node {convexId: 'CONVEX_ID'})-[r:AGENT_LINK]-(other) RETURN labels(node) AS nodeLabels, node.convexId AS nodeId, type(r) AS relationshipType, r.kind AS kind, r.reason AS reason, r.confidence AS confidence, labels(other) AS otherLabels, other.convexId AS otherId, other.title AS otherTitle LIMIT 25",
|
|
6995
|
+
},
|
|
6996
|
+
{
|
|
6997
|
+
name: "allAgentLinks",
|
|
6998
|
+
when: "Audit agent-owned relationships.",
|
|
6999
|
+
cypher: "MATCH (a)-[r:AGENT_LINK]->(b) RETURN labels(a) AS fromLabels, a.convexId AS fromId, a.title AS fromTitle, r.kind AS kind, r.reason AS reason, r.confidence AS confidence, labels(b) AS toLabels, b.convexId AS toId, b.title AS toTitle LIMIT 50",
|
|
7000
|
+
},
|
|
7001
|
+
],
|
|
7002
|
+
linkFlow: [
|
|
7003
|
+
"Call falkor_graph_schema.",
|
|
7004
|
+
"Read candidate nodes with falkor_graph_query and capture exact label + convexId values.",
|
|
7005
|
+
"Check existing AGENT_LINK relationships around at least one endpoint.",
|
|
7006
|
+
"Call falkor_graph_link with fromLabel, fromId, toLabel, toId, kind, reason, and confidence.",
|
|
7007
|
+
"Report the created relationship id and why it exists.",
|
|
7008
|
+
],
|
|
6869
7009
|
};
|
|
6870
7010
|
}
|
|
6871
7011
|
async function falkorGraphQuery(args) {
|
package/package.json
CHANGED