@starascendin/lifeos-mcp 0.7.72 → 0.7.74
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 +4 -6
- package/dist/build-info.d.ts +2 -2
- package/dist/build-info.js +2 -2
- package/dist/index.js +89 -102
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -89,9 +89,6 @@ Add to your `.mcp.json` (project root or `~/.claude/mcp.json`):
|
|
|
89
89
|
|
|
90
90
|
### Council
|
|
91
91
|
- **run_council** - Run the shared LifeOS council engine used by AI Panel and ZeroClaw skills
|
|
92
|
-
- **llm_council_deliberate** - Run the separate long-running LLM Council workflow
|
|
93
|
-
- **llm_council_list_conversations** - List saved LLM Council conversations
|
|
94
|
-
- **llm_council_get_deliberation** - Get a saved LLM Council deliberation
|
|
95
92
|
|
|
96
93
|
### Project Management
|
|
97
94
|
- **get_projects** - List all projects with stats
|
|
@@ -101,6 +98,7 @@ Add to your `.mcp.json` (project root or `~/.claude/mcp.json`):
|
|
|
101
98
|
- **create_issue** - Create a new task/issue, optionally with a calendar start/end time
|
|
102
99
|
- **update_issue** - Update an existing task, including estimate/story points and scheduled calendar time
|
|
103
100
|
- **mark_issue_complete** - Mark a task as done
|
|
101
|
+
- **create_calendar_block** - Create protected calendar-only time without creating a PM issue or Google event
|
|
104
102
|
|
|
105
103
|
### Phases
|
|
106
104
|
- **get_phases** - Get all phases for a project
|
|
@@ -115,10 +113,10 @@ Add to your `.mcp.json` (project root or `~/.claude/mcp.json`):
|
|
|
115
113
|
- **assign_issue_to_cycle** - Add task to a cycle
|
|
116
114
|
|
|
117
115
|
### Agenda
|
|
118
|
-
- **get_daily_agenda** - Today's tasks, events, priorities
|
|
119
|
-
- **get_weekly_agenda** - Week's tasks and
|
|
116
|
+
- **get_daily_agenda** - Today's tasks, events, protected blocks, priorities
|
|
117
|
+
- **get_weekly_agenda** - Week's tasks, events, and protected blocks
|
|
120
118
|
- **get_planning_context** - Full day/week/current-cycle planning context for agents
|
|
121
|
-
- **apply_planning_patch** - Mutating planning patch for due dates, priorities, current cycle, and notes
|
|
119
|
+
- **apply_planning_patch** - Mutating planning patch for due dates, priorities, protected calendar-only blocks, current cycle, and notes
|
|
122
120
|
|
|
123
121
|
### Habits
|
|
124
122
|
- **get_habits** - List active habits with streaks and completion stats
|
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.74";
|
|
2
|
+
export declare const BUILD_TIME = "2026-05-18T17:40:32.368Z";
|
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.74";
|
|
3
|
+
export const BUILD_TIME = "2026-05-18T17:40:32.368Z";
|
package/dist/index.js
CHANGED
|
@@ -973,7 +973,7 @@ const TOOLS = [
|
|
|
973
973
|
},
|
|
974
974
|
{
|
|
975
975
|
name: "get_planning_context",
|
|
976
|
-
description: "Get full planning context for day/week/current cycle. Mirrors the LifeOS Agenda daily tab plus current cycle, backlog, habits, daily fields, calendar, and notes.",
|
|
976
|
+
description: "Get full planning context for day/week/current cycle. Mirrors the LifeOS Agenda daily tab plus current cycle, backlog, habits, daily fields, calendar, protected non-ticket calendar blocks, and notes.",
|
|
977
977
|
inputSchema: {
|
|
978
978
|
type: "object",
|
|
979
979
|
properties: {
|
|
@@ -1008,7 +1008,7 @@ const TOOLS = [
|
|
|
1008
1008
|
},
|
|
1009
1009
|
{
|
|
1010
1010
|
name: "apply_planning_patch",
|
|
1011
|
-
description: "Apply an agent-generated day/week/cycle planning patch. Mutates tasks, due dates, scheduled start/end times, top priorities, current cycle goals/assignments, daily fields, issue comments, Daily AI Comments, Weekly AI Comments, and daily/weekly notes.",
|
|
1011
|
+
description: "Apply an agent-generated day/week/cycle planning patch. Mutates tasks, due dates, scheduled start/end times, protected non-ticket calendar blocks, top priorities, current cycle goals/assignments, daily fields, issue comments, Daily AI Comments, Weekly AI Comments, and daily/weekly notes.",
|
|
1012
1012
|
inputSchema: {
|
|
1013
1013
|
type: "object",
|
|
1014
1014
|
properties: {
|
|
@@ -1035,7 +1035,7 @@ const TOOLS = [
|
|
|
1035
1035
|
},
|
|
1036
1036
|
operations: {
|
|
1037
1037
|
type: "array",
|
|
1038
|
-
description: "Operations to apply. Supported types: create_issue, update_issue, schedule_issue, assign_issue_to_current_cycle, set_top_priority, mark_issue_status, save_daily_note, save_weekly_note, set_daily_field, update_cycle_goals, add_issue_comment, add_daily_ai_comment, add_weekly_ai_comment.",
|
|
1038
|
+
description: "Operations to apply. Supported types: create_issue, create_calendar_block, update_issue, schedule_issue, assign_issue_to_current_cycle, set_top_priority, mark_issue_status, save_daily_note, save_weekly_note, set_daily_field, update_cycle_goals, add_issue_comment, add_daily_ai_comment, add_weekly_ai_comment.",
|
|
1039
1039
|
items: {
|
|
1040
1040
|
type: "object",
|
|
1041
1041
|
properties: {
|
|
@@ -1043,6 +1043,7 @@ const TOOLS = [
|
|
|
1043
1043
|
type: "string",
|
|
1044
1044
|
enum: [
|
|
1045
1045
|
"create_issue",
|
|
1046
|
+
"create_calendar_block",
|
|
1046
1047
|
"update_issue",
|
|
1047
1048
|
"schedule_issue",
|
|
1048
1049
|
"assign_issue_to_current_cycle",
|
|
@@ -1059,7 +1060,7 @@ const TOOLS = [
|
|
|
1059
1060
|
},
|
|
1060
1061
|
payload: {
|
|
1061
1062
|
type: "object",
|
|
1062
|
-
description: "Operation-specific payload. Use issueIdOrIdentifier for existing tasks, dueDate for day assignment/deadlines, scheduledStartAt/scheduledEndAt
|
|
1063
|
+
description: "Operation-specific payload. Use issueIdOrIdentifier for existing tasks, dueDate for day assignment/deadlines, scheduledStartAt/scheduledEndAt for PM issue time blocks. Use create_calendar_block with title, timezone, and either startAt/endAt ISO datetimes or date plus startTime/endTime for protected calendar-only blocks that must not create an issue.",
|
|
1063
1064
|
},
|
|
1064
1065
|
},
|
|
1065
1066
|
required: ["type", "payload"],
|
|
@@ -1069,6 +1070,82 @@ const TOOLS = [
|
|
|
1069
1070
|
required: ["mode", "operations"],
|
|
1070
1071
|
},
|
|
1071
1072
|
},
|
|
1073
|
+
{
|
|
1074
|
+
name: "create_calendar_block",
|
|
1075
|
+
description: "Create a protected LifeOS calendar-only block without creating a PM issue or Google-synced event. Use this for non-ticket time like dog walking, meals, errands, personal appointments, or holds.",
|
|
1076
|
+
inputSchema: {
|
|
1077
|
+
type: "object",
|
|
1078
|
+
properties: {
|
|
1079
|
+
userId: {
|
|
1080
|
+
type: "string",
|
|
1081
|
+
description: "Override the default user ID (optional)",
|
|
1082
|
+
},
|
|
1083
|
+
title: {
|
|
1084
|
+
type: "string",
|
|
1085
|
+
description: "Block title, e.g. Dog walking",
|
|
1086
|
+
},
|
|
1087
|
+
description: {
|
|
1088
|
+
type: "string",
|
|
1089
|
+
description: "Optional description",
|
|
1090
|
+
},
|
|
1091
|
+
location: {
|
|
1092
|
+
type: "string",
|
|
1093
|
+
description: "Optional location",
|
|
1094
|
+
},
|
|
1095
|
+
startAt: {
|
|
1096
|
+
type: "string",
|
|
1097
|
+
description: "ISO datetime start, e.g. 2026-05-18T16:00:00-06:00. Alternative to date/startTime.",
|
|
1098
|
+
},
|
|
1099
|
+
endAt: {
|
|
1100
|
+
type: "string",
|
|
1101
|
+
description: "ISO datetime end, e.g. 2026-05-18T18:00:00-06:00. Alternative to date/endTime.",
|
|
1102
|
+
},
|
|
1103
|
+
date: {
|
|
1104
|
+
type: "string",
|
|
1105
|
+
description: "YYYY-MM-DD date when using local clock startTime/endTime",
|
|
1106
|
+
},
|
|
1107
|
+
startTime: {
|
|
1108
|
+
type: "string",
|
|
1109
|
+
description: "Local HH:mm start time, e.g. 16:00",
|
|
1110
|
+
},
|
|
1111
|
+
endTime: {
|
|
1112
|
+
type: "string",
|
|
1113
|
+
description: "Local HH:mm end time, e.g. 18:00",
|
|
1114
|
+
},
|
|
1115
|
+
timezone: {
|
|
1116
|
+
type: "string",
|
|
1117
|
+
description: "IANA timezone, e.g. America/Denver",
|
|
1118
|
+
},
|
|
1119
|
+
blockType: {
|
|
1120
|
+
type: "string",
|
|
1121
|
+
enum: [
|
|
1122
|
+
"protected_time",
|
|
1123
|
+
"personal",
|
|
1124
|
+
"focus",
|
|
1125
|
+
"appointment",
|
|
1126
|
+
"travel",
|
|
1127
|
+
"hold",
|
|
1128
|
+
"other",
|
|
1129
|
+
],
|
|
1130
|
+
description: "Block type metadata (optional, default protected_time)",
|
|
1131
|
+
},
|
|
1132
|
+
source: {
|
|
1133
|
+
type: "string",
|
|
1134
|
+
enum: ["agent", "manual", "system", "import"],
|
|
1135
|
+
description: "Source metadata (optional, default agent)",
|
|
1136
|
+
},
|
|
1137
|
+
sourceDetail: {
|
|
1138
|
+
type: "string",
|
|
1139
|
+
description: "Optional agent/workflow name or source note",
|
|
1140
|
+
},
|
|
1141
|
+
isProtected: {
|
|
1142
|
+
type: "boolean",
|
|
1143
|
+
description: "Whether agents should protect this time (default true)",
|
|
1144
|
+
},
|
|
1145
|
+
},
|
|
1146
|
+
required: ["title", "timezone"],
|
|
1147
|
+
},
|
|
1148
|
+
},
|
|
1072
1149
|
{
|
|
1073
1150
|
name: "regenerate_daily_summary",
|
|
1074
1151
|
description: "Regenerate the AI summary for a specific day.",
|
|
@@ -3536,78 +3613,6 @@ const TOOLS = [
|
|
|
3536
3613
|
},
|
|
3537
3614
|
},
|
|
3538
3615
|
},
|
|
3539
|
-
// ==================== LLM Council Tools ====================
|
|
3540
|
-
{
|
|
3541
|
-
name: "llm_council_deliberate",
|
|
3542
|
-
description: "Run a full LLM Council deliberation (Karpathy's 3-stage process). Stage 1: Multiple models answer your query in parallel. Stage 2: Each model anonymously peer-reviews and ranks the others' responses. Stage 3: A chairman model synthesizes the best answer from all responses and rankings. Returns the complete deliberation with all 3 stages. This is a long-running operation (2-10 minutes depending on tier).",
|
|
3543
|
-
inputSchema: {
|
|
3544
|
-
type: "object",
|
|
3545
|
-
properties: {
|
|
3546
|
-
query: {
|
|
3547
|
-
type: "string",
|
|
3548
|
-
description: "The question or prompt to deliberate on",
|
|
3549
|
-
},
|
|
3550
|
-
tier: {
|
|
3551
|
-
type: "string",
|
|
3552
|
-
enum: ["normal", "pro"],
|
|
3553
|
-
description: "Model tier. 'normal' uses GPT-4o, Claude Sonnet 4, Gemini 2.5 Pro, Grok 3. 'pro' uses GPT-5.2 Pro, Claude Opus 4.5, Gemini 3 Pro, Grok 4. Default: normal",
|
|
3554
|
-
},
|
|
3555
|
-
title: {
|
|
3556
|
-
type: "string",
|
|
3557
|
-
description: "Optional title for the conversation (auto-generated from query if not provided)",
|
|
3558
|
-
},
|
|
3559
|
-
councilModels: {
|
|
3560
|
-
type: "array",
|
|
3561
|
-
items: {
|
|
3562
|
-
type: "object",
|
|
3563
|
-
properties: {
|
|
3564
|
-
modelId: { type: "string" },
|
|
3565
|
-
modelName: { type: "string" },
|
|
3566
|
-
},
|
|
3567
|
-
required: ["modelId", "modelName"],
|
|
3568
|
-
},
|
|
3569
|
-
description: "Optional custom council models (overrides tier selection)",
|
|
3570
|
-
},
|
|
3571
|
-
chairmanModel: {
|
|
3572
|
-
type: "object",
|
|
3573
|
-
properties: {
|
|
3574
|
-
modelId: { type: "string" },
|
|
3575
|
-
modelName: { type: "string" },
|
|
3576
|
-
},
|
|
3577
|
-
required: ["modelId", "modelName"],
|
|
3578
|
-
description: "Optional custom chairman model (overrides tier selection)",
|
|
3579
|
-
},
|
|
3580
|
-
},
|
|
3581
|
-
required: ["query"],
|
|
3582
|
-
},
|
|
3583
|
-
},
|
|
3584
|
-
{
|
|
3585
|
-
name: "llm_council_list_conversations",
|
|
3586
|
-
description: "List past LLM Council conversations. Returns conversation IDs, titles, models used, and timestamps.",
|
|
3587
|
-
inputSchema: {
|
|
3588
|
-
type: "object",
|
|
3589
|
-
properties: {
|
|
3590
|
-
limit: {
|
|
3591
|
-
type: "number",
|
|
3592
|
-
description: "Max conversations to return (default: 20)",
|
|
3593
|
-
},
|
|
3594
|
-
},
|
|
3595
|
-
},
|
|
3596
|
-
},
|
|
3597
|
-
{
|
|
3598
|
-
name: "llm_council_get_deliberation",
|
|
3599
|
-
description: "Get the full details of a past LLM Council deliberation, including all 3 stages: individual responses, peer evaluations with rankings, and chairman synthesis.",
|
|
3600
|
-
inputSchema: {
|
|
3601
|
-
type: "object",
|
|
3602
|
-
properties: {
|
|
3603
|
-
conversationId: {
|
|
3604
|
-
type: "string",
|
|
3605
|
-
description: "The conversation ID to retrieve",
|
|
3606
|
-
},
|
|
3607
|
-
},
|
|
3608
|
-
required: ["conversationId"],
|
|
3609
|
-
},
|
|
3610
|
-
},
|
|
3611
3616
|
{
|
|
3612
3617
|
name: "run_council",
|
|
3613
3618
|
description: "Run the shared LifeOS council deliberation engine and return the synthesized final answer plus council stage details. This is the same council used by the AI panel and claw council skill.",
|
|
@@ -5451,7 +5456,7 @@ const PROMPT_MESSAGES = {
|
|
|
5451
5456
|
type: "text",
|
|
5452
5457
|
text: `Get my daily standup briefing. Use the LifeOS MCP tools to gather:
|
|
5453
5458
|
|
|
5454
|
-
1. Call get_daily_agenda for today's agenda (tasks due today, calendar events, top priorities)
|
|
5459
|
+
1. Call get_daily_agenda for today's agenda (tasks due today, calendar events, protected calendar blocks, top priorities)
|
|
5455
5460
|
2. Call get_todays_tasks for today's task list
|
|
5456
5461
|
3. Call get_overdue_tasks to surface anything already slipping
|
|
5457
5462
|
4. Call get_current_cycle for current sprint progress and stats
|
|
@@ -5463,7 +5468,7 @@ Summarize in a concise standup format:
|
|
|
5463
5468
|
- **Tasks Due**: List tasks due today with priority
|
|
5464
5469
|
- **Overdue**: Anything already late that needs immediate triage
|
|
5465
5470
|
- **Sprint Progress**: Cycle completion % and key stats
|
|
5466
|
-
- **Calendar**: Any meetings or
|
|
5471
|
+
- **Calendar**: Any meetings, events, or protected blocks today
|
|
5467
5472
|
|
|
5468
5473
|
Keep it short and actionable.`,
|
|
5469
5474
|
},
|
|
@@ -5487,9 +5492,10 @@ ${notesClause}
|
|
|
5487
5492
|
|
|
5488
5493
|
Workflow:
|
|
5489
5494
|
1. Call get_planning_context with daily=true, weekly=true, currentCycle=true, backlog=true, habits=true, dailyFields=true, calendar=true, voiceMemos=true.
|
|
5490
|
-
2. Decide today's top 3, tasks to assign to the day via dueDate, tasks to time-block via scheduledStartAt/scheduledEndAt, backlog items to pull into the current cycle, and any cycle goal updates.
|
|
5495
|
+
2. Decide today's top 3, tasks to assign to the day via dueDate, tasks to time-block via scheduledStartAt/scheduledEndAt, protected non-ticket calendar blocks to create with create_calendar_block, backlog items to pull into the current cycle, and any cycle goal updates.
|
|
5491
5496
|
3. Call apply_planning_patch with mode "day" and dryRun=false. Use operations as needed:
|
|
5492
5497
|
- create_issue for new tasks
|
|
5498
|
+
- create_calendar_block for protected non-ticket time like errands, meals, dog walking, appointments, or holds; this must not create a PM issue
|
|
5493
5499
|
- schedule_issue/update_issue for dueDate, scheduledStartAt/scheduledEndAt, status, priority, and estimate changes
|
|
5494
5500
|
- assign_issue_to_current_cycle for current cycle work
|
|
5495
5501
|
- set_top_priority for today's top 3
|
|
@@ -5615,9 +5621,10 @@ ${notesClause}
|
|
|
5615
5621
|
|
|
5616
5622
|
Workflow:
|
|
5617
5623
|
1. Call get_planning_context with daily=true, weekly=true, currentCycle=true, backlog=true, habits=true, dailyFields=true, calendar=true, voiceMemos=true.
|
|
5618
|
-
2. Shape the week around the current cycle: update cycle goals, pull/assign tasks, assign tasks to days with dueDate, time-block tasks with scheduledStartAt/scheduledEndAt, and set near-term priorities.
|
|
5624
|
+
2. Shape the week around the current cycle: update cycle goals, pull/assign tasks, assign tasks to days with dueDate, time-block tasks with scheduledStartAt/scheduledEndAt, create protected non-ticket calendar blocks with create_calendar_block, and set near-term priorities.
|
|
5619
5625
|
3. Call apply_planning_patch with mode "week" and dryRun=false. Use operations as needed:
|
|
5620
5626
|
- create_issue for new tasks
|
|
5627
|
+
- create_calendar_block for protected non-ticket time like errands, meals, dog walking, appointments, or holds
|
|
5621
5628
|
- schedule_issue/update_issue for dueDate, scheduledStartAt/scheduledEndAt, status, priority, and estimate changes
|
|
5622
5629
|
- assign_issue_to_current_cycle for current cycle work
|
|
5623
5630
|
- set_top_priority for immediate focus
|
|
@@ -5642,9 +5649,10 @@ Do not ask for confirmation; the user intends this planning workflow to mutate L
|
|
|
5642
5649
|
text: `Help me plan my current cycle/sprint in LifeOS and apply the resulting mutations.
|
|
5643
5650
|
|
|
5644
5651
|
1. Call get_planning_context with currentCycle=true, backlog=true, weekly=true, daily=true.
|
|
5645
|
-
2. Shape the current cycle: update cycle goals, pull/assign tasks, assign near-term tasks with dueDate, time-block tasks with scheduledStartAt/scheduledEndAt, and set near-term priorities.
|
|
5652
|
+
2. Shape the current cycle: update cycle goals, pull/assign tasks, assign near-term tasks with dueDate, time-block tasks with scheduledStartAt/scheduledEndAt, create protected non-ticket calendar blocks with create_calendar_block, and set near-term priorities.
|
|
5646
5653
|
3. Call apply_planning_patch with mode "cycle" and dryRun=false. Use operations as needed:
|
|
5647
5654
|
- create_issue for new tasks
|
|
5655
|
+
- create_calendar_block for protected non-ticket time that should appear on the calendar without creating a PM issue
|
|
5648
5656
|
- assign_issue_to_current_cycle for current cycle work
|
|
5649
5657
|
- schedule_issue/update_issue for dueDate, scheduledStartAt/scheduledEndAt, status, priority, and estimate changes
|
|
5650
5658
|
- update_cycle_goals for active cycle goals
|
|
@@ -7445,27 +7453,6 @@ server.setRequestHandler(GetPromptRequestSchema, async (request) => {
|
|
|
7445
7453
|
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
7446
7454
|
const { name, arguments: args } = request.params;
|
|
7447
7455
|
try {
|
|
7448
|
-
// Handle LLM Council deliberation (special endpoint, long-running)
|
|
7449
|
-
if (name === "llm_council_deliberate") {
|
|
7450
|
-
const params = args || {};
|
|
7451
|
-
const { userId: overrideUserId } = params;
|
|
7452
|
-
const result = await callConvexJsonEndpoint("/llm-council/mcp-deliberate", {
|
|
7453
|
-
userId: overrideUserId || USER_ID,
|
|
7454
|
-
query: params.query,
|
|
7455
|
-
tier: params.tier,
|
|
7456
|
-
title: params.title,
|
|
7457
|
-
councilModels: params.councilModels,
|
|
7458
|
-
chairmanModel: params.chairmanModel,
|
|
7459
|
-
});
|
|
7460
|
-
return {
|
|
7461
|
-
content: [
|
|
7462
|
-
{
|
|
7463
|
-
type: "text",
|
|
7464
|
-
text: JSON.stringify(result, null, 2),
|
|
7465
|
-
},
|
|
7466
|
-
],
|
|
7467
|
-
};
|
|
7468
|
-
}
|
|
7469
7456
|
if (name === "run_council") {
|
|
7470
7457
|
const params = args || {};
|
|
7471
7458
|
const { userId: overrideUserId } = params;
|
package/package.json
CHANGED