@starascendin/lifeos-mcp 0.7.64 → 0.7.66
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/dist/build-info.d.ts +2 -2
- package/dist/build-info.js +2 -2
- package/dist/index.js +96 -29
- package/package.json +1 -1
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.66";
|
|
2
|
+
export declare const BUILD_TIME = "2026-05-17T15:34:44.520Z";
|
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.66";
|
|
3
|
+
export const BUILD_TIME = "2026-05-17T15:34:44.520Z";
|
package/dist/index.js
CHANGED
|
@@ -4590,8 +4590,14 @@ const TOOLS = [
|
|
|
4590
4590
|
type: "object",
|
|
4591
4591
|
properties: {
|
|
4592
4592
|
userId: { type: "string", description: "Override user ID" },
|
|
4593
|
-
projectIdOrKey: {
|
|
4594
|
-
|
|
4593
|
+
projectIdOrKey: {
|
|
4594
|
+
type: "string",
|
|
4595
|
+
description: "Project ID or key like ACME",
|
|
4596
|
+
},
|
|
4597
|
+
maxHops: {
|
|
4598
|
+
type: "number",
|
|
4599
|
+
description: "Neighborhood radius (default 2)",
|
|
4600
|
+
},
|
|
4595
4601
|
},
|
|
4596
4602
|
required: ["projectIdOrKey"],
|
|
4597
4603
|
},
|
|
@@ -4604,7 +4610,10 @@ const TOOLS = [
|
|
|
4604
4610
|
properties: {
|
|
4605
4611
|
userId: { type: "string", description: "Override user ID" },
|
|
4606
4612
|
initiativeId: { type: "string", description: "Initiative ID" },
|
|
4607
|
-
maxHops: {
|
|
4613
|
+
maxHops: {
|
|
4614
|
+
type: "number",
|
|
4615
|
+
description: "Neighborhood radius (default 2)",
|
|
4616
|
+
},
|
|
4608
4617
|
},
|
|
4609
4618
|
required: ["initiativeId"],
|
|
4610
4619
|
},
|
|
@@ -4617,7 +4626,10 @@ const TOOLS = [
|
|
|
4617
4626
|
properties: {
|
|
4618
4627
|
userId: { type: "string", description: "Override user ID" },
|
|
4619
4628
|
personId: { type: "string", description: "Person ID" },
|
|
4620
|
-
maxHops: {
|
|
4629
|
+
maxHops: {
|
|
4630
|
+
type: "number",
|
|
4631
|
+
description: "Neighborhood radius (default 2)",
|
|
4632
|
+
},
|
|
4621
4633
|
},
|
|
4622
4634
|
required: ["personId"],
|
|
4623
4635
|
},
|
|
@@ -4630,7 +4642,10 @@ const TOOLS = [
|
|
|
4630
4642
|
properties: {
|
|
4631
4643
|
userId: { type: "string", description: "Override user ID" },
|
|
4632
4644
|
memoId: { type: "string", description: "Voice memo ID" },
|
|
4633
|
-
maxHops: {
|
|
4645
|
+
maxHops: {
|
|
4646
|
+
type: "number",
|
|
4647
|
+
description: "Neighborhood radius (default 2)",
|
|
4648
|
+
},
|
|
4634
4649
|
},
|
|
4635
4650
|
required: ["memoId"],
|
|
4636
4651
|
},
|
|
@@ -4666,7 +4681,13 @@ const TOOLS = [
|
|
|
4666
4681
|
toNodeId: { type: "string", description: "Destination node ID" },
|
|
4667
4682
|
kind: {
|
|
4668
4683
|
type: "string",
|
|
4669
|
-
enum: [
|
|
4684
|
+
enum: [
|
|
4685
|
+
"contains",
|
|
4686
|
+
"references",
|
|
4687
|
+
"derived_from",
|
|
4688
|
+
"supports",
|
|
4689
|
+
"related_to",
|
|
4690
|
+
],
|
|
4670
4691
|
description: "Edge kind",
|
|
4671
4692
|
},
|
|
4672
4693
|
status: {
|
|
@@ -4676,7 +4697,10 @@ const TOOLS = [
|
|
|
4676
4697
|
},
|
|
4677
4698
|
weight: { type: "number", description: "Optional confidence/weight" },
|
|
4678
4699
|
evidence: { type: "string", description: "Why this link exists" },
|
|
4679
|
-
metadataJson: {
|
|
4700
|
+
metadataJson: {
|
|
4701
|
+
type: "string",
|
|
4702
|
+
description: "Optional JSON metadata string",
|
|
4703
|
+
},
|
|
4680
4704
|
},
|
|
4681
4705
|
required: ["fromNodeId", "toNodeId", "kind"],
|
|
4682
4706
|
},
|
|
@@ -4692,7 +4716,13 @@ const TOOLS = [
|
|
|
4692
4716
|
toNodeId: { type: "string", description: "Destination node ID" },
|
|
4693
4717
|
kind: {
|
|
4694
4718
|
type: "string",
|
|
4695
|
-
enum: [
|
|
4719
|
+
enum: [
|
|
4720
|
+
"contains",
|
|
4721
|
+
"references",
|
|
4722
|
+
"derived_from",
|
|
4723
|
+
"supports",
|
|
4724
|
+
"related_to",
|
|
4725
|
+
],
|
|
4696
4726
|
description: "Edge kind",
|
|
4697
4727
|
},
|
|
4698
4728
|
},
|
|
@@ -4779,10 +4809,19 @@ const TOOLS = [
|
|
|
4779
4809
|
type: "object",
|
|
4780
4810
|
properties: {
|
|
4781
4811
|
fromTable: { type: "string", description: "Source Surreal table." },
|
|
4782
|
-
fromId: {
|
|
4812
|
+
fromId: {
|
|
4813
|
+
type: "string",
|
|
4814
|
+
description: "Source record id without table prefix.",
|
|
4815
|
+
},
|
|
4783
4816
|
toTable: { type: "string", description: "Target Surreal table." },
|
|
4784
|
-
toId: {
|
|
4785
|
-
|
|
4817
|
+
toId: {
|
|
4818
|
+
type: "string",
|
|
4819
|
+
description: "Target record id without table prefix.",
|
|
4820
|
+
},
|
|
4821
|
+
kind: {
|
|
4822
|
+
type: "string",
|
|
4823
|
+
description: "Relationship kind used when linking.",
|
|
4824
|
+
},
|
|
4786
4825
|
},
|
|
4787
4826
|
required: ["fromTable", "fromId", "toTable", "toId", "kind"],
|
|
4788
4827
|
},
|
|
@@ -4861,6 +4900,30 @@ const TOOLS = [
|
|
|
4861
4900
|
required: ["visionId"],
|
|
4862
4901
|
},
|
|
4863
4902
|
},
|
|
4903
|
+
{
|
|
4904
|
+
name: "archive_ppv_vision",
|
|
4905
|
+
description: "Archive a PPV vision and automatically move active status to another remaining vision if needed.",
|
|
4906
|
+
inputSchema: {
|
|
4907
|
+
type: "object",
|
|
4908
|
+
properties: {
|
|
4909
|
+
userId: { type: "string", description: "Override user ID" },
|
|
4910
|
+
visionId: { type: "string", description: "PPV vision ID to archive" },
|
|
4911
|
+
},
|
|
4912
|
+
required: ["visionId"],
|
|
4913
|
+
},
|
|
4914
|
+
},
|
|
4915
|
+
{
|
|
4916
|
+
name: "delete_ppv_vision",
|
|
4917
|
+
description: "Delete a PPV vision and cascade-delete its identity, pillars, weekly actions, reflections, and adjustments.",
|
|
4918
|
+
inputSchema: {
|
|
4919
|
+
type: "object",
|
|
4920
|
+
properties: {
|
|
4921
|
+
userId: { type: "string", description: "Override user ID" },
|
|
4922
|
+
visionId: { type: "string", description: "PPV vision ID to delete" },
|
|
4923
|
+
},
|
|
4924
|
+
required: ["visionId"],
|
|
4925
|
+
},
|
|
4926
|
+
},
|
|
4864
4927
|
{
|
|
4865
4928
|
name: "upsert_ppv_identity",
|
|
4866
4929
|
description: "Create or update the identity that naturally lives a PPV vision.",
|
|
@@ -5551,14 +5614,17 @@ Do not ask for confirmation; the user intends this planning workflow to mutate L
|
|
|
5551
5614
|
${intentClause}
|
|
5552
5615
|
|
|
5553
5616
|
Use the LifeOS MCP PPV tools:
|
|
5554
|
-
1. Call get_ppv_workspace first to inspect all owned visions, the selected/
|
|
5617
|
+
1. Call get_ppv_workspace first to inspect all owned visions, the selected/current vision, identity, pillars, linked projects, weekly actions, reflections, adjustments, and available LifeOS projects.
|
|
5555
5618
|
2. If there is no vision and the user wants the example, call seed_ppv_beijing_workspace.
|
|
5556
5619
|
3. For vision changes, call upsert_ppv_vision.
|
|
5557
|
-
4. If the user wants to
|
|
5558
|
-
5.
|
|
5559
|
-
6.
|
|
5560
|
-
7.
|
|
5561
|
-
8. For
|
|
5620
|
+
4. If the user wants to change a vision lifecycle without editing content, call set_ppv_vision_status.
|
|
5621
|
+
5. If the user wants to switch between existing visions without editing content, call set_active_ppv_vision.
|
|
5622
|
+
6. If the user wants to hide a vision but preserve its record, call archive_ppv_vision.
|
|
5623
|
+
7. If the user wants to permanently remove a vision and its PPV subcomponents, call delete_ppv_vision.
|
|
5624
|
+
8. For identity work, call upsert_ppv_identity.
|
|
5625
|
+
9. For pillars, call create_ppv_pillar or update_ppv_pillar. Link only existing LifeOS project IDs from get_ppv_workspace.projects.
|
|
5626
|
+
10. For execution, call create_ppv_weekly_action or update_ppv_weekly_action.
|
|
5627
|
+
11. For learning loops, call create_ppv_reflection and create_ppv_adjustment.
|
|
5562
5628
|
|
|
5563
5629
|
Keep the system simple:
|
|
5564
5630
|
- Vision is directional and experiential, not a task list.
|
|
@@ -6594,6 +6660,8 @@ async function runDirectCliCommand(command) {
|
|
|
6594
6660
|
"set-status": "set_ppv_vision_status",
|
|
6595
6661
|
"activate-vision": "set_active_ppv_vision",
|
|
6596
6662
|
"set-active-vision": "set_active_ppv_vision",
|
|
6663
|
+
"archive-vision": "archive_ppv_vision",
|
|
6664
|
+
"delete-vision": "delete_ppv_vision",
|
|
6597
6665
|
identity: "upsert_ppv_identity",
|
|
6598
6666
|
pillar: "create_ppv_pillar",
|
|
6599
6667
|
"update-pillar": "update_ppv_pillar",
|
|
@@ -6719,7 +6787,8 @@ function stripSqlCommentsAndStrings(sql) {
|
|
|
6719
6787
|
if (current === "/" && next === "*") {
|
|
6720
6788
|
output += " ";
|
|
6721
6789
|
index += 2;
|
|
6722
|
-
while (index < sql.length &&
|
|
6790
|
+
while (index < sql.length &&
|
|
6791
|
+
!(sql[index] === "*" && sql[index + 1] === "/")) {
|
|
6723
6792
|
output += " ";
|
|
6724
6793
|
index += 1;
|
|
6725
6794
|
}
|
|
@@ -6729,7 +6798,7 @@ function stripSqlCommentsAndStrings(sql) {
|
|
|
6729
6798
|
}
|
|
6730
6799
|
continue;
|
|
6731
6800
|
}
|
|
6732
|
-
if (current === "'" || current === "
|
|
6801
|
+
if (current === "'" || current === '"' || current === "`") {
|
|
6733
6802
|
quote = current;
|
|
6734
6803
|
output += " ";
|
|
6735
6804
|
index += 1;
|
|
@@ -6768,7 +6837,9 @@ function assertReadOnlySurrealSql(sql) {
|
|
|
6768
6837
|
}
|
|
6769
6838
|
}
|
|
6770
6839
|
const isAggregateCount = /\bCOUNT\s*\(/i.test(statement);
|
|
6771
|
-
if (upper.startsWith("SELECT ") &&
|
|
6840
|
+
if (upper.startsWith("SELECT ") &&
|
|
6841
|
+
!/\bLIMIT\b/i.test(statement) &&
|
|
6842
|
+
!isAggregateCount) {
|
|
6772
6843
|
throw new Error("SELECT queries must include LIMIT unless they are aggregate count queries.");
|
|
6773
6844
|
}
|
|
6774
6845
|
}
|
|
@@ -6828,13 +6899,7 @@ function surrealThing(table, id) {
|
|
|
6828
6899
|
return `${table}:\`${escapeSurrealRecordId(id)}\``;
|
|
6829
6900
|
}
|
|
6830
6901
|
function agentLinkId(parts) {
|
|
6831
|
-
return [
|
|
6832
|
-
parts.kind,
|
|
6833
|
-
parts.fromTable,
|
|
6834
|
-
parts.fromId,
|
|
6835
|
-
parts.toTable,
|
|
6836
|
-
parts.toId,
|
|
6837
|
-
]
|
|
6902
|
+
return [parts.kind, parts.fromTable, parts.fromId, parts.toTable, parts.toId]
|
|
6838
6903
|
.join("__")
|
|
6839
6904
|
.replace(/[^A-Za-z0-9_:-]/g, "_")
|
|
6840
6905
|
.slice(0, 512);
|
|
@@ -6881,7 +6946,7 @@ function surrealGraphSchema() {
|
|
|
6881
6946
|
"Every agent link must include a reason and confidence.",
|
|
6882
6947
|
],
|
|
6883
6948
|
examples: {
|
|
6884
|
-
activePpvProjects:
|
|
6949
|
+
activePpvProjects: 'SELECT id, title, ->ppv_has_pillar->ppv1_pillars.{id, name, ->ppv_pillar_supports_project->lifeos_pmProjects.{id, name, status}} AS pillars FROM ppv1_visions WHERE status = "in_progress" LIMIT 1;',
|
|
6885
6950
|
projectInboundLinks: "SELECT <-ppv_pillar_supports_project<-ppv1_pillars.{id, name, purpose} AS supportedByPillars FROM lifeos_pmProjects:`PROJECT_ID` LIMIT 1;",
|
|
6886
6951
|
agentLinks: "SELECT id, in, out, kind, reason, confidence, createdBy, createdAt FROM lifeos_agent_links LIMIT 25;",
|
|
6887
6952
|
},
|
|
@@ -6909,7 +6974,9 @@ async function surrealGraphLink(args) {
|
|
|
6909
6974
|
const confidence = typeof args.confidence === "number" && Number.isFinite(args.confidence)
|
|
6910
6975
|
? Math.max(0, Math.min(1, args.confidence))
|
|
6911
6976
|
: 0.7;
|
|
6912
|
-
const metadata = args.metadata &&
|
|
6977
|
+
const metadata = args.metadata &&
|
|
6978
|
+
typeof args.metadata === "object" &&
|
|
6979
|
+
!Array.isArray(args.metadata)
|
|
6913
6980
|
? args.metadata
|
|
6914
6981
|
: {};
|
|
6915
6982
|
const now = new Date().toISOString();
|
package/package.json
CHANGED