@starascendin/lifeos-mcp 0.7.6 → 0.7.7
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 +551 -18
- 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-02-
|
|
1
|
+
export declare const VERSION = "0.7.7";
|
|
2
|
+
export declare const BUILD_TIME = "2026-02-19T22:08:02.253Z";
|
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-02-
|
|
2
|
+
export const VERSION = "0.7.7";
|
|
3
|
+
export const BUILD_TIME = "2026-02-19T22:08:02.253Z";
|
package/dist/index.js
CHANGED
|
@@ -2656,7 +2656,14 @@ const TOOLS = [
|
|
|
2656
2656
|
description: "Emoji icon (optional)",
|
|
2657
2657
|
},
|
|
2658
2658
|
},
|
|
2659
|
-
required: [
|
|
2659
|
+
required: [
|
|
2660
|
+
"name",
|
|
2661
|
+
"slug",
|
|
2662
|
+
"instructions",
|
|
2663
|
+
"focusAreas",
|
|
2664
|
+
"enabledTools",
|
|
2665
|
+
"model",
|
|
2666
|
+
],
|
|
2660
2667
|
},
|
|
2661
2668
|
},
|
|
2662
2669
|
{
|
|
@@ -2897,6 +2904,463 @@ const TOOLS = [
|
|
|
2897
2904
|
required: ["actionItemId"],
|
|
2898
2905
|
},
|
|
2899
2906
|
},
|
|
2907
|
+
// ==================== LIFE DIRECTION: PILLARS ====================
|
|
2908
|
+
{
|
|
2909
|
+
name: "get_pillars",
|
|
2910
|
+
description: "Get all life pillars. Pillars are the core areas of life (Social, Body, Work, Growth, Money, Joy, etc.) with feeling-driven vision narratives — not KPIs. Each pillar has a currentReality (honest assessment), desiredFeeling (target emotional state), and visionNarrative (vivid description of thriving).",
|
|
2911
|
+
inputSchema: {
|
|
2912
|
+
type: "object",
|
|
2913
|
+
properties: {
|
|
2914
|
+
userId: {
|
|
2915
|
+
type: "string",
|
|
2916
|
+
description: "Override the default user ID (optional)",
|
|
2917
|
+
},
|
|
2918
|
+
status: {
|
|
2919
|
+
type: "string",
|
|
2920
|
+
enum: ["active", "paused", "archived"],
|
|
2921
|
+
description: "Filter by status (optional, default returns all)",
|
|
2922
|
+
},
|
|
2923
|
+
},
|
|
2924
|
+
},
|
|
2925
|
+
},
|
|
2926
|
+
{
|
|
2927
|
+
name: "get_pillar",
|
|
2928
|
+
description: "Get a single life pillar by ID or slug with full details including vision narrative, current reality, and desired feeling.",
|
|
2929
|
+
inputSchema: {
|
|
2930
|
+
type: "object",
|
|
2931
|
+
properties: {
|
|
2932
|
+
userId: {
|
|
2933
|
+
type: "string",
|
|
2934
|
+
description: "Override the default user ID (optional)",
|
|
2935
|
+
},
|
|
2936
|
+
pillarIdOrSlug: {
|
|
2937
|
+
type: "string",
|
|
2938
|
+
description: "Pillar ID or slug like 'social' or 'body' (required)",
|
|
2939
|
+
},
|
|
2940
|
+
},
|
|
2941
|
+
required: ["pillarIdOrSlug"],
|
|
2942
|
+
},
|
|
2943
|
+
},
|
|
2944
|
+
{
|
|
2945
|
+
name: "create_pillar",
|
|
2946
|
+
description: "Create a new life pillar. Pillars represent core life areas with feeling-driven visions. Use desiredFeeling for the target emotional state (e.g., 'I feel connected and energized') and visionNarrative for a vivid description of what life looks like when this area is thriving.",
|
|
2947
|
+
inputSchema: {
|
|
2948
|
+
type: "object",
|
|
2949
|
+
properties: {
|
|
2950
|
+
userId: {
|
|
2951
|
+
type: "string",
|
|
2952
|
+
description: "Override the default user ID (optional)",
|
|
2953
|
+
},
|
|
2954
|
+
name: {
|
|
2955
|
+
type: "string",
|
|
2956
|
+
description: "Pillar name, e.g. 'Social', 'Body', 'Work' (required)",
|
|
2957
|
+
},
|
|
2958
|
+
slug: {
|
|
2959
|
+
type: "string",
|
|
2960
|
+
description: "URL-safe slug, e.g. 'social', 'body' (required)",
|
|
2961
|
+
},
|
|
2962
|
+
description: {
|
|
2963
|
+
type: "string",
|
|
2964
|
+
description: "What this pillar means to you personally (optional)",
|
|
2965
|
+
},
|
|
2966
|
+
currentReality: {
|
|
2967
|
+
type: "string",
|
|
2968
|
+
description: "Honest assessment of where you are now, e.g. 'I have no friends, I am isolated' (optional)",
|
|
2969
|
+
},
|
|
2970
|
+
desiredFeeling: {
|
|
2971
|
+
type: "string",
|
|
2972
|
+
description: "Target emotional state, e.g. 'I feel connected and energized after spending time with people I respect' (optional)",
|
|
2973
|
+
},
|
|
2974
|
+
visionNarrative: {
|
|
2975
|
+
type: "string",
|
|
2976
|
+
description: "Vivid, detailed description of what life feels like when this pillar is thriving (optional)",
|
|
2977
|
+
},
|
|
2978
|
+
color: {
|
|
2979
|
+
type: "string",
|
|
2980
|
+
description: "Hex color for UI (optional)",
|
|
2981
|
+
},
|
|
2982
|
+
icon: {
|
|
2983
|
+
type: "string",
|
|
2984
|
+
description: "Emoji icon (optional)",
|
|
2985
|
+
},
|
|
2986
|
+
},
|
|
2987
|
+
required: ["name", "slug"],
|
|
2988
|
+
},
|
|
2989
|
+
},
|
|
2990
|
+
{
|
|
2991
|
+
name: "update_pillar",
|
|
2992
|
+
description: "Update a life pillar's details, vision narrative, current reality, desired feeling, or status. The coach should use this to help the user evolve their pillar visions over time through conversation.",
|
|
2993
|
+
inputSchema: {
|
|
2994
|
+
type: "object",
|
|
2995
|
+
properties: {
|
|
2996
|
+
userId: {
|
|
2997
|
+
type: "string",
|
|
2998
|
+
description: "Override the default user ID (optional)",
|
|
2999
|
+
},
|
|
3000
|
+
pillarId: {
|
|
3001
|
+
type: "string",
|
|
3002
|
+
description: "Pillar ID (required)",
|
|
3003
|
+
},
|
|
3004
|
+
name: {
|
|
3005
|
+
type: "string",
|
|
3006
|
+
description: "Updated name (optional)",
|
|
3007
|
+
},
|
|
3008
|
+
description: {
|
|
3009
|
+
type: "string",
|
|
3010
|
+
description: "Updated description (optional)",
|
|
3011
|
+
},
|
|
3012
|
+
currentReality: {
|
|
3013
|
+
type: "string",
|
|
3014
|
+
description: "Updated honest assessment of current state (optional)",
|
|
3015
|
+
},
|
|
3016
|
+
desiredFeeling: {
|
|
3017
|
+
type: "string",
|
|
3018
|
+
description: "Updated target emotional state (optional)",
|
|
3019
|
+
},
|
|
3020
|
+
visionNarrative: {
|
|
3021
|
+
type: "string",
|
|
3022
|
+
description: "Updated vision narrative (optional)",
|
|
3023
|
+
},
|
|
3024
|
+
color: {
|
|
3025
|
+
type: "string",
|
|
3026
|
+
description: "Updated hex color (optional)",
|
|
3027
|
+
},
|
|
3028
|
+
icon: {
|
|
3029
|
+
type: "string",
|
|
3030
|
+
description: "Updated emoji icon (optional)",
|
|
3031
|
+
},
|
|
3032
|
+
status: {
|
|
3033
|
+
type: "string",
|
|
3034
|
+
enum: ["active", "paused", "archived"],
|
|
3035
|
+
description: "Updated status (optional)",
|
|
3036
|
+
},
|
|
3037
|
+
},
|
|
3038
|
+
required: ["pillarId"],
|
|
3039
|
+
},
|
|
3040
|
+
},
|
|
3041
|
+
{
|
|
3042
|
+
name: "delete_pillar",
|
|
3043
|
+
description: "Delete a life pillar and cascade-delete all associated pulse ratings. Curiosities linked to this pillar will be unlinked (not deleted).",
|
|
3044
|
+
inputSchema: {
|
|
3045
|
+
type: "object",
|
|
3046
|
+
properties: {
|
|
3047
|
+
userId: {
|
|
3048
|
+
type: "string",
|
|
3049
|
+
description: "Override the default user ID (optional)",
|
|
3050
|
+
},
|
|
3051
|
+
pillarId: {
|
|
3052
|
+
type: "string",
|
|
3053
|
+
description: "Pillar ID to delete (required)",
|
|
3054
|
+
},
|
|
3055
|
+
},
|
|
3056
|
+
required: ["pillarId"],
|
|
3057
|
+
},
|
|
3058
|
+
},
|
|
3059
|
+
// ==================== LIFE DIRECTION: PILLAR PULSE ====================
|
|
3060
|
+
{
|
|
3061
|
+
name: "record_pillar_pulse",
|
|
3062
|
+
description: "Record a pillar pulse — a periodic self-rating of how alive a life area feels. Scale: 1 (dead/neglected) to 5 (thriving/alive). Not for optimization, but for making the invisible visible. The coach should prompt the user to rate periodically.",
|
|
3063
|
+
inputSchema: {
|
|
3064
|
+
type: "object",
|
|
3065
|
+
properties: {
|
|
3066
|
+
userId: {
|
|
3067
|
+
type: "string",
|
|
3068
|
+
description: "Override the default user ID (optional)",
|
|
3069
|
+
},
|
|
3070
|
+
pillarId: {
|
|
3071
|
+
type: "string",
|
|
3072
|
+
description: "Pillar ID to rate (required)",
|
|
3073
|
+
},
|
|
3074
|
+
rating: {
|
|
3075
|
+
type: "number",
|
|
3076
|
+
description: "1-5 scale: 1=dead/neglected, 5=thriving/alive (required)",
|
|
3077
|
+
},
|
|
3078
|
+
note: {
|
|
3079
|
+
type: "string",
|
|
3080
|
+
description: "Optional reflection note (optional)",
|
|
3081
|
+
},
|
|
3082
|
+
},
|
|
3083
|
+
required: ["pillarId", "rating"],
|
|
3084
|
+
},
|
|
3085
|
+
},
|
|
3086
|
+
{
|
|
3087
|
+
name: "get_pillar_pulse",
|
|
3088
|
+
description: "Get pillar pulse history — self-ratings over time. Can filter by specific pillar or get all. Useful for spotting trends and patterns.",
|
|
3089
|
+
inputSchema: {
|
|
3090
|
+
type: "object",
|
|
3091
|
+
properties: {
|
|
3092
|
+
userId: {
|
|
3093
|
+
type: "string",
|
|
3094
|
+
description: "Override the default user ID (optional)",
|
|
3095
|
+
},
|
|
3096
|
+
pillarId: {
|
|
3097
|
+
type: "string",
|
|
3098
|
+
description: "Filter by specific pillar ID (optional, returns all if omitted)",
|
|
3099
|
+
},
|
|
3100
|
+
days: {
|
|
3101
|
+
type: "number",
|
|
3102
|
+
description: "Number of days to look back (default 30)",
|
|
3103
|
+
},
|
|
3104
|
+
},
|
|
3105
|
+
},
|
|
3106
|
+
},
|
|
3107
|
+
{
|
|
3108
|
+
name: "get_pillar_pulse_latest",
|
|
3109
|
+
description: "Get the latest pulse rating for ALL active pillars. Returns a dashboard view showing each pillar's name, current reality, desired feeling, and most recent rating. Perfect for a weekly check-in overview.",
|
|
3110
|
+
inputSchema: {
|
|
3111
|
+
type: "object",
|
|
3112
|
+
properties: {
|
|
3113
|
+
userId: {
|
|
3114
|
+
type: "string",
|
|
3115
|
+
description: "Override the default user ID (optional)",
|
|
3116
|
+
},
|
|
3117
|
+
},
|
|
3118
|
+
},
|
|
3119
|
+
},
|
|
3120
|
+
// ==================== LIFE DIRECTION: CURIOSITIES ====================
|
|
3121
|
+
{
|
|
3122
|
+
name: "get_curiosities",
|
|
3123
|
+
description: "Get the curiosity queue — ideas, interests, dreams, what-ifs, skills to learn, places to go, people to meet, experiences to have. Most won't become projects and that's fine. The coach should periodically surface items from here.",
|
|
3124
|
+
inputSchema: {
|
|
3125
|
+
type: "object",
|
|
3126
|
+
properties: {
|
|
3127
|
+
userId: {
|
|
3128
|
+
type: "string",
|
|
3129
|
+
description: "Override the default user ID (optional)",
|
|
3130
|
+
},
|
|
3131
|
+
status: {
|
|
3132
|
+
type: "string",
|
|
3133
|
+
enum: ["captured", "exploring", "promoted", "parked", "released"],
|
|
3134
|
+
description: "Filter by status (optional)",
|
|
3135
|
+
},
|
|
3136
|
+
type: {
|
|
3137
|
+
type: "string",
|
|
3138
|
+
enum: [
|
|
3139
|
+
"curiosity",
|
|
3140
|
+
"hobby",
|
|
3141
|
+
"dream",
|
|
3142
|
+
"what_if",
|
|
3143
|
+
"person",
|
|
3144
|
+
"place",
|
|
3145
|
+
"skill",
|
|
3146
|
+
"experience",
|
|
3147
|
+
],
|
|
3148
|
+
description: "Filter by type (optional)",
|
|
3149
|
+
},
|
|
3150
|
+
pillarId: {
|
|
3151
|
+
type: "string",
|
|
3152
|
+
description: "Filter by linked pillar ID (optional)",
|
|
3153
|
+
},
|
|
3154
|
+
limit: {
|
|
3155
|
+
type: "number",
|
|
3156
|
+
description: "Max results (default 50, max 100)",
|
|
3157
|
+
},
|
|
3158
|
+
},
|
|
3159
|
+
},
|
|
3160
|
+
},
|
|
3161
|
+
{
|
|
3162
|
+
name: "create_curiosity",
|
|
3163
|
+
description: "Capture a curiosity — dead simple, low-friction. Just dump it in with a title. Type, description, pillar link, and tags are all optional. The coach can help categorize later.",
|
|
3164
|
+
inputSchema: {
|
|
3165
|
+
type: "object",
|
|
3166
|
+
properties: {
|
|
3167
|
+
userId: {
|
|
3168
|
+
type: "string",
|
|
3169
|
+
description: "Override the default user ID (optional)",
|
|
3170
|
+
},
|
|
3171
|
+
title: {
|
|
3172
|
+
type: "string",
|
|
3173
|
+
description: "What are you curious about? (required)",
|
|
3174
|
+
},
|
|
3175
|
+
description: {
|
|
3176
|
+
type: "string",
|
|
3177
|
+
description: "More details (optional)",
|
|
3178
|
+
},
|
|
3179
|
+
type: {
|
|
3180
|
+
type: "string",
|
|
3181
|
+
enum: [
|
|
3182
|
+
"curiosity",
|
|
3183
|
+
"hobby",
|
|
3184
|
+
"dream",
|
|
3185
|
+
"what_if",
|
|
3186
|
+
"person",
|
|
3187
|
+
"place",
|
|
3188
|
+
"skill",
|
|
3189
|
+
"experience",
|
|
3190
|
+
],
|
|
3191
|
+
description: "What kind of curiosity (default: 'curiosity')",
|
|
3192
|
+
},
|
|
3193
|
+
pillarId: {
|
|
3194
|
+
type: "string",
|
|
3195
|
+
description: "Link to a life pillar (optional)",
|
|
3196
|
+
},
|
|
3197
|
+
tags: {
|
|
3198
|
+
type: "array",
|
|
3199
|
+
items: { type: "string" },
|
|
3200
|
+
description: "Tags for filtering (optional)",
|
|
3201
|
+
},
|
|
3202
|
+
},
|
|
3203
|
+
required: ["title"],
|
|
3204
|
+
},
|
|
3205
|
+
},
|
|
3206
|
+
{
|
|
3207
|
+
name: "update_curiosity",
|
|
3208
|
+
description: "Update a curiosity's details, type, status, pillar link, or tags. Use status 'exploring' when actively looking into it, 'promoted' when it becomes an initiative/project, 'parked' for not-now, 'released' for no-longer-interested.",
|
|
3209
|
+
inputSchema: {
|
|
3210
|
+
type: "object",
|
|
3211
|
+
properties: {
|
|
3212
|
+
userId: {
|
|
3213
|
+
type: "string",
|
|
3214
|
+
description: "Override the default user ID (optional)",
|
|
3215
|
+
},
|
|
3216
|
+
curiosityId: {
|
|
3217
|
+
type: "string",
|
|
3218
|
+
description: "Curiosity ID (required)",
|
|
3219
|
+
},
|
|
3220
|
+
title: {
|
|
3221
|
+
type: "string",
|
|
3222
|
+
description: "Updated title (optional)",
|
|
3223
|
+
},
|
|
3224
|
+
description: {
|
|
3225
|
+
type: "string",
|
|
3226
|
+
description: "Updated description (optional)",
|
|
3227
|
+
},
|
|
3228
|
+
type: {
|
|
3229
|
+
type: "string",
|
|
3230
|
+
enum: [
|
|
3231
|
+
"curiosity",
|
|
3232
|
+
"hobby",
|
|
3233
|
+
"dream",
|
|
3234
|
+
"what_if",
|
|
3235
|
+
"person",
|
|
3236
|
+
"place",
|
|
3237
|
+
"skill",
|
|
3238
|
+
"experience",
|
|
3239
|
+
],
|
|
3240
|
+
description: "Updated type (optional)",
|
|
3241
|
+
},
|
|
3242
|
+
status: {
|
|
3243
|
+
type: "string",
|
|
3244
|
+
enum: ["captured", "exploring", "promoted", "parked", "released"],
|
|
3245
|
+
description: "Updated status (optional)",
|
|
3246
|
+
},
|
|
3247
|
+
pillarId: {
|
|
3248
|
+
type: "string",
|
|
3249
|
+
description: "Updated pillar link (optional, pass empty string to unlink)",
|
|
3250
|
+
},
|
|
3251
|
+
tags: {
|
|
3252
|
+
type: "array",
|
|
3253
|
+
items: { type: "string" },
|
|
3254
|
+
description: "Updated tags (optional)",
|
|
3255
|
+
},
|
|
3256
|
+
},
|
|
3257
|
+
required: ["curiosityId"],
|
|
3258
|
+
},
|
|
3259
|
+
},
|
|
3260
|
+
{
|
|
3261
|
+
name: "delete_curiosity",
|
|
3262
|
+
description: "Delete a curiosity from the queue.",
|
|
3263
|
+
inputSchema: {
|
|
3264
|
+
type: "object",
|
|
3265
|
+
properties: {
|
|
3266
|
+
userId: {
|
|
3267
|
+
type: "string",
|
|
3268
|
+
description: "Override the default user ID (optional)",
|
|
3269
|
+
},
|
|
3270
|
+
curiosityId: {
|
|
3271
|
+
type: "string",
|
|
3272
|
+
description: "Curiosity ID to delete (required)",
|
|
3273
|
+
},
|
|
3274
|
+
},
|
|
3275
|
+
required: ["curiosityId"],
|
|
3276
|
+
},
|
|
3277
|
+
},
|
|
3278
|
+
{
|
|
3279
|
+
name: "surface_curiosity",
|
|
3280
|
+
description: "Mark a curiosity as surfaced by the coach. Increments the surface count and updates the last-surfaced timestamp. The coach should use this when bringing up a curiosity during a session to track engagement.",
|
|
3281
|
+
inputSchema: {
|
|
3282
|
+
type: "object",
|
|
3283
|
+
properties: {
|
|
3284
|
+
userId: {
|
|
3285
|
+
type: "string",
|
|
3286
|
+
description: "Override the default user ID (optional)",
|
|
3287
|
+
},
|
|
3288
|
+
curiosityId: {
|
|
3289
|
+
type: "string",
|
|
3290
|
+
description: "Curiosity ID to surface (required)",
|
|
3291
|
+
},
|
|
3292
|
+
},
|
|
3293
|
+
required: ["curiosityId"],
|
|
3294
|
+
},
|
|
3295
|
+
},
|
|
3296
|
+
// ==================== LIFE DIRECTION: COACH WORKING MEMORY ====================
|
|
3297
|
+
{
|
|
3298
|
+
name: "get_working_memory",
|
|
3299
|
+
description: "Get the coach's persistent working memory about the user. This is accumulated knowledge organized by sections: core_struggles, values, triggers, breakthroughs, personality, communication_style, patterns, energy_sources, relationships, context. The coach should read this at the start of every session.",
|
|
3300
|
+
inputSchema: {
|
|
3301
|
+
type: "object",
|
|
3302
|
+
properties: {
|
|
3303
|
+
userId: {
|
|
3304
|
+
type: "string",
|
|
3305
|
+
description: "Override the default user ID (optional)",
|
|
3306
|
+
},
|
|
3307
|
+
section: {
|
|
3308
|
+
type: "string",
|
|
3309
|
+
enum: [
|
|
3310
|
+
"core_struggles",
|
|
3311
|
+
"values",
|
|
3312
|
+
"triggers",
|
|
3313
|
+
"breakthroughs",
|
|
3314
|
+
"personality",
|
|
3315
|
+
"communication_style",
|
|
3316
|
+
"patterns",
|
|
3317
|
+
"energy_sources",
|
|
3318
|
+
"relationships",
|
|
3319
|
+
"context",
|
|
3320
|
+
],
|
|
3321
|
+
description: "Get a specific section only (optional, returns all if omitted)",
|
|
3322
|
+
},
|
|
3323
|
+
},
|
|
3324
|
+
},
|
|
3325
|
+
},
|
|
3326
|
+
{
|
|
3327
|
+
name: "update_working_memory",
|
|
3328
|
+
description: "Update a section of the coach's working memory. This is an upsert — creates the section if it doesn't exist, updates it if it does. The coach should update this when it learns something meaningful about the user during a session. Content should be markdown. Only update sections where you have genuine new insight.",
|
|
3329
|
+
inputSchema: {
|
|
3330
|
+
type: "object",
|
|
3331
|
+
properties: {
|
|
3332
|
+
userId: {
|
|
3333
|
+
type: "string",
|
|
3334
|
+
description: "Override the default user ID (optional)",
|
|
3335
|
+
},
|
|
3336
|
+
section: {
|
|
3337
|
+
type: "string",
|
|
3338
|
+
enum: [
|
|
3339
|
+
"core_struggles",
|
|
3340
|
+
"values",
|
|
3341
|
+
"triggers",
|
|
3342
|
+
"breakthroughs",
|
|
3343
|
+
"personality",
|
|
3344
|
+
"communication_style",
|
|
3345
|
+
"patterns",
|
|
3346
|
+
"energy_sources",
|
|
3347
|
+
"relationships",
|
|
3348
|
+
"context",
|
|
3349
|
+
],
|
|
3350
|
+
description: "Which section to update (required)",
|
|
3351
|
+
},
|
|
3352
|
+
content: {
|
|
3353
|
+
type: "string",
|
|
3354
|
+
description: "The updated content for this section in markdown. Should be cumulative — include previous knowledge plus new insights (required)",
|
|
3355
|
+
},
|
|
3356
|
+
confidence: {
|
|
3357
|
+
type: "number",
|
|
3358
|
+
description: "How confident the coach is in this assessment, 0-100 (optional)",
|
|
3359
|
+
},
|
|
3360
|
+
},
|
|
3361
|
+
required: ["section", "content"],
|
|
3362
|
+
},
|
|
3363
|
+
},
|
|
2900
3364
|
// ==================== HABIT TRACKER ====================
|
|
2901
3365
|
{
|
|
2902
3366
|
name: "get_habits",
|
|
@@ -2905,7 +3369,10 @@ const TOOLS = [
|
|
|
2905
3369
|
type: "object",
|
|
2906
3370
|
properties: {
|
|
2907
3371
|
categoryId: { type: "string", description: "Filter by category ID" },
|
|
2908
|
-
includeArchived: {
|
|
3372
|
+
includeArchived: {
|
|
3373
|
+
type: "boolean",
|
|
3374
|
+
description: "Include archived habits (default false)",
|
|
3375
|
+
},
|
|
2909
3376
|
},
|
|
2910
3377
|
},
|
|
2911
3378
|
},
|
|
@@ -2937,15 +3404,39 @@ const TOOLS = [
|
|
|
2937
3404
|
inputSchema: {
|
|
2938
3405
|
type: "object",
|
|
2939
3406
|
properties: {
|
|
2940
|
-
name: {
|
|
3407
|
+
name: {
|
|
3408
|
+
type: "string",
|
|
3409
|
+
description: "Habit name (e.g., 'Meditate', 'Read 30 min', 'No social media')",
|
|
3410
|
+
},
|
|
2941
3411
|
description: { type: "string", description: "Habit description" },
|
|
2942
3412
|
icon: { type: "string", description: "Emoji icon for the habit" },
|
|
2943
|
-
categoryId: {
|
|
2944
|
-
|
|
2945
|
-
|
|
3413
|
+
categoryId: {
|
|
3414
|
+
type: "string",
|
|
3415
|
+
description: "Category ID to group under",
|
|
3416
|
+
},
|
|
3417
|
+
initiativeId: {
|
|
3418
|
+
type: "string",
|
|
3419
|
+
description: "Link to a yearly initiative",
|
|
3420
|
+
},
|
|
3421
|
+
frequency: {
|
|
3422
|
+
type: "string",
|
|
3423
|
+
enum: ["daily", "weekly"],
|
|
3424
|
+
description: "How often the habit should be tracked",
|
|
3425
|
+
},
|
|
2946
3426
|
targetDays: {
|
|
2947
3427
|
type: "array",
|
|
2948
|
-
items: {
|
|
3428
|
+
items: {
|
|
3429
|
+
type: "string",
|
|
3430
|
+
enum: [
|
|
3431
|
+
"sunday",
|
|
3432
|
+
"monday",
|
|
3433
|
+
"tuesday",
|
|
3434
|
+
"wednesday",
|
|
3435
|
+
"thursday",
|
|
3436
|
+
"friday",
|
|
3437
|
+
"saturday",
|
|
3438
|
+
],
|
|
3439
|
+
},
|
|
2949
3440
|
description: "For weekly habits: which days to track",
|
|
2950
3441
|
},
|
|
2951
3442
|
},
|
|
@@ -2962,15 +3453,39 @@ const TOOLS = [
|
|
|
2962
3453
|
name: { type: "string", description: "Updated name" },
|
|
2963
3454
|
description: { type: "string", description: "Updated description" },
|
|
2964
3455
|
icon: { type: "string", description: "Updated emoji icon" },
|
|
2965
|
-
categoryId: {
|
|
2966
|
-
|
|
2967
|
-
|
|
3456
|
+
categoryId: {
|
|
3457
|
+
type: "string",
|
|
3458
|
+
description: "Move to different category (use 'null' to uncategorize)",
|
|
3459
|
+
},
|
|
3460
|
+
initiativeId: {
|
|
3461
|
+
type: "string",
|
|
3462
|
+
description: "Link/unlink initiative (use 'null' to unlink)",
|
|
3463
|
+
},
|
|
3464
|
+
frequency: {
|
|
3465
|
+
type: "string",
|
|
3466
|
+
enum: ["daily", "weekly"],
|
|
3467
|
+
description: "Updated frequency",
|
|
3468
|
+
},
|
|
2968
3469
|
targetDays: {
|
|
2969
3470
|
type: "array",
|
|
2970
|
-
items: {
|
|
3471
|
+
items: {
|
|
3472
|
+
type: "string",
|
|
3473
|
+
enum: [
|
|
3474
|
+
"sunday",
|
|
3475
|
+
"monday",
|
|
3476
|
+
"tuesday",
|
|
3477
|
+
"wednesday",
|
|
3478
|
+
"thursday",
|
|
3479
|
+
"friday",
|
|
3480
|
+
"saturday",
|
|
3481
|
+
],
|
|
3482
|
+
},
|
|
2971
3483
|
description: "For weekly habits: updated target days",
|
|
2972
3484
|
},
|
|
2973
|
-
isActive: {
|
|
3485
|
+
isActive: {
|
|
3486
|
+
type: "boolean",
|
|
3487
|
+
description: "Activate or deactivate the habit",
|
|
3488
|
+
},
|
|
2974
3489
|
},
|
|
2975
3490
|
required: ["habitId"],
|
|
2976
3491
|
},
|
|
@@ -2994,9 +3509,18 @@ const TOOLS = [
|
|
|
2994
3509
|
properties: {
|
|
2995
3510
|
habitId: { type: "string", description: "The habit ID" },
|
|
2996
3511
|
date: { type: "string", description: "Date in YYYY-MM-DD format" },
|
|
2997
|
-
completed: {
|
|
2998
|
-
|
|
2999
|
-
|
|
3512
|
+
completed: {
|
|
3513
|
+
type: "boolean",
|
|
3514
|
+
description: "true = completed, false = incomplete",
|
|
3515
|
+
},
|
|
3516
|
+
skipped: {
|
|
3517
|
+
type: "boolean",
|
|
3518
|
+
description: "true = intentionally skipped (not a failure)",
|
|
3519
|
+
},
|
|
3520
|
+
note: {
|
|
3521
|
+
type: "string",
|
|
3522
|
+
description: "Optional note or reason (especially useful for skips)",
|
|
3523
|
+
},
|
|
3000
3524
|
},
|
|
3001
3525
|
required: ["habitId", "date", "completed"],
|
|
3002
3526
|
},
|
|
@@ -3008,7 +3532,10 @@ const TOOLS = [
|
|
|
3008
3532
|
type: "object",
|
|
3009
3533
|
properties: {
|
|
3010
3534
|
habitId: { type: "string", description: "The habit ID" },
|
|
3011
|
-
limit: {
|
|
3535
|
+
limit: {
|
|
3536
|
+
type: "number",
|
|
3537
|
+
description: "Max results (default 30, max 100)",
|
|
3538
|
+
},
|
|
3012
3539
|
},
|
|
3013
3540
|
required: ["habitId"],
|
|
3014
3541
|
},
|
|
@@ -3019,7 +3546,10 @@ const TOOLS = [
|
|
|
3019
3546
|
inputSchema: {
|
|
3020
3547
|
type: "object",
|
|
3021
3548
|
properties: {
|
|
3022
|
-
includeArchived: {
|
|
3549
|
+
includeArchived: {
|
|
3550
|
+
type: "boolean",
|
|
3551
|
+
description: "Include archived categories (default false)",
|
|
3552
|
+
},
|
|
3023
3553
|
},
|
|
3024
3554
|
},
|
|
3025
3555
|
},
|
|
@@ -3029,7 +3559,10 @@ const TOOLS = [
|
|
|
3029
3559
|
inputSchema: {
|
|
3030
3560
|
type: "object",
|
|
3031
3561
|
properties: {
|
|
3032
|
-
name: {
|
|
3562
|
+
name: {
|
|
3563
|
+
type: "string",
|
|
3564
|
+
description: "Category name (e.g., 'Morning Routine', 'Health', 'Mindset')",
|
|
3565
|
+
},
|
|
3033
3566
|
icon: { type: "string", description: "Emoji icon (default: 📋)" },
|
|
3034
3567
|
color: { type: "string", description: "Hex color (default: #6366f1)" },
|
|
3035
3568
|
},
|
package/package.json
CHANGED