@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.
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.7.64";
2
- export declare const BUILD_TIME = "2026-05-17T14:08:51.738Z";
1
+ export declare const VERSION = "0.7.66";
2
+ export declare const BUILD_TIME = "2026-05-17T15:34:44.520Z";
@@ -1,3 +1,3 @@
1
1
  // AUTO-GENERATED — do not edit. Regenerated on every build.
2
- export const VERSION = "0.7.64";
3
- export const BUILD_TIME = "2026-05-17T14:08:51.738Z";
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: { type: "string", description: "Project ID or key like ACME" },
4594
- maxHops: { type: "number", description: "Neighborhood radius (default 2)" },
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: { type: "number", description: "Neighborhood radius (default 2)" },
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: { type: "number", description: "Neighborhood radius (default 2)" },
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: { type: "number", description: "Neighborhood radius (default 2)" },
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: ["contains", "references", "derived_from", "supports", "related_to"],
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: { type: "string", description: "Optional JSON metadata string" },
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: ["contains", "references", "derived_from", "supports", "related_to"],
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: { type: "string", description: "Source record id without table prefix." },
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: { type: "string", description: "Target record id without table prefix." },
4785
- kind: { type: "string", description: "Relationship kind used when linking." },
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/active vision, identity, pillars, linked projects, weekly actions, reflections, adjustments, and available LifeOS projects.
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 switch between existing visions without editing content, call set_active_ppv_vision.
5558
- 5. For identity changes, call upsert_ppv_identity.
5559
- 6. For pillars, call create_ppv_pillar or update_ppv_pillar. Link only existing LifeOS project IDs from get_ppv_workspace.projects.
5560
- 7. For execution, call create_ppv_weekly_action or update_ppv_weekly_action.
5561
- 8. For learning loops, call create_ppv_reflection and create_ppv_adjustment.
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 && !(sql[index] === "*" && sql[index + 1] === "/")) {
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 === "\"" || 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 ") && !/\bLIMIT\b/i.test(statement) && !isAggregateCount) {
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: "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 isActive = true LIMIT 1;",
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 && typeof args.metadata === "object" && !Array.isArray(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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@starascendin/lifeos-mcp",
3
- "version": "0.7.64",
3
+ "version": "0.7.66",
4
4
  "description": "MCP server for LifeOS Project Management - manage projects, tasks, notes, and contacts via AI assistants",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",