@starascendin/lifeos-mcp 0.7.73 → 0.7.75

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 CHANGED
@@ -95,9 +95,10 @@ Add to your `.mcp.json` (project root or `~/.claude/mcp.json`):
95
95
  - **get_tasks** - Get tasks with filters (project, status, priority)
96
96
  - **get_todays_tasks** - Get today's tasks and top priorities
97
97
  - **get_overdue_tasks** - Get open tasks that are already overdue
98
- - **create_issue** - Create a new task/issue, optionally with a calendar start/end time
99
- - **update_issue** - Update an existing task, including estimate/story points and scheduled calendar time
98
+ - **create_issue** - Create a new task/issue, optionally with an initial issue calendar block
99
+ - **update_issue** - Update an existing task, including estimate/story points and due date
100
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
101
102
 
102
103
  ### Phases
103
104
  - **get_phases** - Get all phases for a project
@@ -112,10 +113,10 @@ Add to your `.mcp.json` (project root or `~/.claude/mcp.json`):
112
113
  - **assign_issue_to_cycle** - Add task to a cycle
113
114
 
114
115
  ### Agenda
115
- - **get_daily_agenda** - Today's tasks, events, priorities
116
- - **get_weekly_agenda** - Week's tasks and events
116
+ - **get_daily_agenda** - Today's tasks, events, protected blocks, priorities
117
+ - **get_weekly_agenda** - Week's tasks, events, and protected blocks
117
118
  - **get_planning_context** - Full day/week/current-cycle planning context for agents
118
- - **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
119
120
 
120
121
  ### Habits
121
122
  - **get_habits** - List active habits with streaks and completion stats
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.7.73";
2
- export declare const BUILD_TIME = "2026-05-18T15:43:15.303Z";
1
+ export declare const VERSION = "0.7.75";
2
+ export declare const BUILD_TIME = "2026-05-19T19:39:48.444Z";
@@ -1,3 +1,3 @@
1
1
  // AUTO-GENERATED — do not edit. Regenerated on every build.
2
- export const VERSION = "0.7.73";
3
- export const BUILD_TIME = "2026-05-18T15:43:15.303Z";
2
+ export const VERSION = "0.7.75";
3
+ export const BUILD_TIME = "2026-05-19T19:39:48.444Z";
package/dist/index.js CHANGED
@@ -326,15 +326,15 @@ const TOOLS = [
326
326
  },
327
327
  scheduledStartAt: {
328
328
  type: "string",
329
- description: "Calendar start datetime in ISO format like '2026-05-18T09:00:00-07:00' (optional)",
329
+ description: "First issue calendar block start datetime in ISO format like '2026-05-18T09:00:00-07:00' (optional, separate from dueDate)",
330
330
  },
331
331
  scheduledEndAt: {
332
332
  type: "string",
333
- description: "Calendar end datetime in ISO format like '2026-05-18T10:30:00-07:00' (optional, required when scheduledStartAt is provided)",
333
+ description: "First issue calendar block end datetime in ISO format like '2026-05-18T10:30:00-07:00' (optional, required when scheduledStartAt is provided)",
334
334
  },
335
335
  scheduledTimezone: {
336
336
  type: "string",
337
- description: "IANA timezone for the scheduled block, e.g. 'America/Los_Angeles' (optional)",
337
+ description: "IANA timezone for the issue calendar block, e.g. 'America/Los_Angeles' (optional)",
338
338
  },
339
339
  cycleId: {
340
340
  type: "string",
@@ -437,11 +437,11 @@ const TOOLS = [
437
437
  },
438
438
  scheduledStartAt: {
439
439
  type: "string",
440
- description: "Calendar start datetime in ISO format like '2026-05-18T09:00:00-07:00' (optional)",
440
+ description: "Legacy calendar start datetime. Prefer apply_planning_patch schedule_issue to add issue calendar blocks.",
441
441
  },
442
442
  scheduledEndAt: {
443
443
  type: "string",
444
- description: "Calendar end datetime in ISO format like '2026-05-18T10:30:00-07:00' (optional)",
444
+ description: "Legacy calendar end datetime. Prefer apply_planning_patch schedule_issue to add issue calendar blocks.",
445
445
  },
446
446
  scheduledTimezone: {
447
447
  type: "string",
@@ -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, issue calendar blocks, 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. dueDate is the issue deadline/day assignment. schedule_issue adds one issue calendar block and can be repeated for multiple blocks.",
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 ISO datetimes or startTime/endTime with scheduledDate for calendar time blocks, userNote for notes, body/source for comments, goals for cycle goals.",
1063
+ description: "Operation-specific payload. Use issueIdOrIdentifier for existing tasks, dueDate for day assignment/deadlines, and schedule_issue with scheduledStartAt/scheduledEndAt or date plus startTime/endTime to add an issue calendar block. 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.",
@@ -5379,7 +5456,7 @@ const PROMPT_MESSAGES = {
5379
5456
  type: "text",
5380
5457
  text: `Get my daily standup briefing. Use the LifeOS MCP tools to gather:
5381
5458
 
5382
- 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)
5383
5460
  2. Call get_todays_tasks for today's task list
5384
5461
  3. Call get_overdue_tasks to surface anything already slipping
5385
5462
  4. Call get_current_cycle for current sprint progress and stats
@@ -5391,7 +5468,7 @@ Summarize in a concise standup format:
5391
5468
  - **Tasks Due**: List tasks due today with priority
5392
5469
  - **Overdue**: Anything already late that needs immediate triage
5393
5470
  - **Sprint Progress**: Cycle completion % and key stats
5394
- - **Calendar**: Any meetings or events today
5471
+ - **Calendar**: Any meetings, events, or protected blocks today
5395
5472
 
5396
5473
  Keep it short and actionable.`,
5397
5474
  },
@@ -5415,10 +5492,12 @@ ${notesClause}
5415
5492
 
5416
5493
  Workflow:
5417
5494
  1. Call get_planning_context with daily=true, weekly=true, currentCycle=true, backlog=true, habits=true, dailyFields=true, calendar=true, voiceMemos=true.
5418
- 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 or deadline via dueDate, issue calendar blocks to add with schedule_issue, protected non-ticket calendar blocks to create with create_calendar_block, backlog items to pull into the current cycle, and any cycle goal updates.
5419
5496
  3. Call apply_planning_patch with mode "day" and dryRun=false. Use operations as needed:
5420
5497
  - create_issue for new tasks
5421
- - schedule_issue/update_issue for dueDate, scheduledStartAt/scheduledEndAt, status, priority, and estimate changes
5498
+ - create_calendar_block for protected non-ticket time like errands, meals, dog walking, appointments, or holds; this must not create a PM issue
5499
+ - update_issue for dueDate, status, priority, and estimate changes
5500
+ - schedule_issue for each issue calendar block using issueIdOrIdentifier plus scheduledStartAt/scheduledEndAt, or date plus startTime/endTime; repeat for multiple blocks
5422
5501
  - assign_issue_to_current_cycle for current cycle work
5423
5502
  - set_top_priority for today's top 3
5424
5503
  - update_cycle_goals when the current cycle goal should change
@@ -5543,10 +5622,12 @@ ${notesClause}
5543
5622
 
5544
5623
  Workflow:
5545
5624
  1. Call get_planning_context with daily=true, weekly=true, currentCycle=true, backlog=true, habits=true, dailyFields=true, calendar=true, voiceMemos=true.
5546
- 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.
5625
+ 2. Shape the week around the current cycle: update cycle goals, pull/assign tasks, assign tasks to days or deadlines with dueDate, add issue calendar blocks with schedule_issue, create protected non-ticket calendar blocks with create_calendar_block, and set near-term priorities.
5547
5626
  3. Call apply_planning_patch with mode "week" and dryRun=false. Use operations as needed:
5548
5627
  - create_issue for new tasks
5549
- - schedule_issue/update_issue for dueDate, scheduledStartAt/scheduledEndAt, status, priority, and estimate changes
5628
+ - create_calendar_block for protected non-ticket time like errands, meals, dog walking, appointments, or holds
5629
+ - update_issue for dueDate, status, priority, and estimate changes
5630
+ - schedule_issue for each issue calendar block using issueIdOrIdentifier plus scheduledStartAt/scheduledEndAt, or date plus startTime/endTime; repeat for multiple blocks
5550
5631
  - assign_issue_to_current_cycle for current cycle work
5551
5632
  - set_top_priority for immediate focus
5552
5633
  - update_cycle_goals for the active cycle
@@ -5570,11 +5651,13 @@ Do not ask for confirmation; the user intends this planning workflow to mutate L
5570
5651
  text: `Help me plan my current cycle/sprint in LifeOS and apply the resulting mutations.
5571
5652
 
5572
5653
  1. Call get_planning_context with currentCycle=true, backlog=true, weekly=true, daily=true.
5573
- 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.
5654
+ 2. Shape the current cycle: update cycle goals, pull/assign tasks, assign near-term tasks to days or deadlines with dueDate, add issue calendar blocks with schedule_issue, create protected non-ticket calendar blocks with create_calendar_block, and set near-term priorities.
5574
5655
  3. Call apply_planning_patch with mode "cycle" and dryRun=false. Use operations as needed:
5575
5656
  - create_issue for new tasks
5657
+ - create_calendar_block for protected non-ticket time that should appear on the calendar without creating a PM issue
5576
5658
  - assign_issue_to_current_cycle for current cycle work
5577
- - schedule_issue/update_issue for dueDate, scheduledStartAt/scheduledEndAt, status, priority, and estimate changes
5659
+ - update_issue for dueDate, status, priority, and estimate changes
5660
+ - schedule_issue for each issue calendar block using issueIdOrIdentifier plus scheduledStartAt/scheduledEndAt, or date plus startTime/endTime; repeat for multiple blocks
5578
5661
  - update_cycle_goals for active cycle goals
5579
5662
  - save_daily_note or save_weekly_note when useful as the readable plan artifact
5580
5663
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@starascendin/lifeos-mcp",
3
- "version": "0.7.73",
3
+ "version": "0.7.75",
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",