@firfi/huly-mcp 0.51.0 → 0.52.2

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.
Files changed (3) hide show
  1. package/README.md +25 -16
  2. package/dist/index.cjs +16886 -12946
  3. package/package.json +2 -1
package/README.md CHANGED
@@ -558,16 +558,19 @@ When resolved tool exposure is `proxy`, clients see the built-in tools plus thes
558
558
 
559
559
  | Tool | Description |
560
560
  |------|-------------|
561
- | `list_events` | List calendar events. Returns events sorted by date. Supports filtering by date range. |
561
+ | `list_events` | List calendar events sorted by date, with meetingRoom identity when an Event has the native Meeting composition. Supports filtering by date range. |
562
562
  | `list_calendars` | List writable, non-hidden calendars that can be used as create_event or create_recurring_event targets. Use this before creating events when you need to choose a target calendarId explicitly. |
563
- | `get_event` | Retrieve full details for a calendar event including description. Use this to view event content and metadata. |
564
- | `create_event` | Create a new calendar event. Description supports markdown formatting. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links. Optional calendarId targets a specific calendar; when omitted, the event uses the authenticated user's primary personal calendar. Returns the created event ID. |
565
- | `update_event` | Update fields on an existing calendar event. Only provided fields are modified. Description updates support markdown. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links. |
563
+ | `list_calendar_settings` | List the authenticated caller's Calendar settings, including caller-owned hidden and read-only calendars. Returns each calendar's stable ID, name, kind, hidden state, visibility, access, and computed primary state. Provider identifiers and defaults are omitted. Use list_calendars for writable, non-hidden event targets. |
564
+ | `set_primary_calendar` | Set the authenticated caller's primary personal calendar by calendarId or an unambiguous exact calendarName. The target must be caller-owned, visible, and Writer or Owner. Creates or updates the single PrimaryCalendar preference and never changes provider defaults. |
565
+ | `update_calendar_settings` | Update local visibility and/or hidden settings on one authenticated caller-owned calendar. Visibility accepts public, freeBusy, or private. Hidden changes are allowed only for ExternalCalendar rows and require Writer or Owner access; internal-calendar hiding and provider-owned fields are rejected. |
566
+ | `get_event` | Retrieve full details for a calendar event, including description and meetingRoom identity when it has the native Meeting composition. |
567
+ | `create_event` | Create a new calendar event. Description supports markdown formatting. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links. Optional calendarId targets a specific calendar; when omitted, the event uses the authenticated user's primary personal calendar. Optional meetingRoom.room resolves an ID first, then an exact unambiguous name; meetingRoom.floor disambiguates names only. It creates the native Meeting assignment for every eventId sibling without replacing location. Returns the created event ID. |
568
+ | `update_event` | Update fields on an existing calendar event. Only provided fields are modified. Description updates support markdown. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links. meetingRoom changes an existing native Meeting only (ordinary Events are rejected), resolves room ID first then exact name with optional floor disambiguation, and updates every eventId sibling without replacing location. Room removal is not supported. |
566
569
  | `delete_event` | Permanently delete a calendar event. This action cannot be undone. |
567
570
  | `list_schedules` | List calendar scheduling links/availability schedules. Optional owner accepts an employee/person ID, exact name, or email. |
568
571
  | `get_schedule` | Retrieve one calendar schedule including owner, availability, calendar target, time zone, and room information when it is a meeting schedule. |
569
- | `create_schedule` | Create a calendar schedule. Owner accepts an employee/person ID, exact name, or email; calendar can be targeted by calendarId or calendarName. |
570
- | `update_schedule` | Update a calendar schedule. Supports owner, title, description, duration, interval, availability, timeZone, and calendar move by calendarId or calendarName. |
572
+ | `create_schedule` | Create a calendar schedule. Owner accepts an employee/person ID, exact name, or email; calendar can be targeted by calendarId or calendarName. Optional meetingRoom.room resolves an ID first, then an exact unambiguous name; meetingRoom.floor disambiguates names only and creates the native MeetingSchedule composition. Meeting-room schedules must be owned by the authenticated caller. |
573
+ | `update_schedule` | Update a calendar schedule. Supports owner, title, description, duration, interval, availability, timeZone, and calendar move by calendarId or calendarName. meetingRoom changes an existing caller-owned native MeetingSchedule only, using ID-first then exact-name resolution with optional floor disambiguation; room removal is not supported. |
571
574
  | `delete_schedule` | Delete a calendar schedule by scheduleId. |
572
575
  | `list_recurring_events` | List recurring event definitions. Returns recurring events sorted by modification date (newest first). |
573
576
  | `create_recurring_event` | Create a new recurring calendar event with RFC5545 RRULE rules. Description supports markdown. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links. Optional calendarId targets a specific calendar; when omitted, the event uses the authenticated user's primary personal calendar. Returns the created event ID. |
@@ -915,15 +918,15 @@ When resolved tool exposure is `proxy`, clients see the built-in tools plus thes
915
918
  | `list_todo_labels` | List labels attached to one Planner ToDo. Resolves the ToDo by raw ID or the same human-oriented issue, title, owner, and completion locators used by get_todo. |
916
919
  | `add_todo_label` | Idempotently attach a label to a Planner ToDo resolved by raw ID or human locator. label accepts a definition ID or exact title; a missing title creates the ToDo label definition first, while duplicate exact titles return candidate IDs. |
917
920
  | `remove_todo_label` | Detach a label from one Planner ToDo without deleting the reusable label definition. Returns detached=false when the label exists but is not attached; duplicate exact titles return candidate IDs. |
918
- | `list_todos` | List Huly Planner ToDos. Empty input returns up to 50 ToDos in planner order with all completion states. Use owner, issue, title, due date, priority, visibility, or completion filters to narrow results. |
919
- | `get_todo` | Get one Planner ToDo by raw todoId or by human locator such as issue + title + owner. Returns stable ToDo fields, owner, attachment context, description, labels count, and work slot count. |
920
- | `create_todo` | Create a Planner ToDo. Omit attachedTo for a personal ToDo, or pass attachedTo.type=issue with project and identifier for an issue action item. Omit owner to use the authenticated user. Description supports markdown. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links. |
921
- | `update_todo` | Update a Planner ToDo by human locator or raw todoId. Supports title, markdown description, owner, dueDate including null to clear, priority, and visibility. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links. |
922
- | `complete_todo` | Complete a Planner ToDo by setting doneOn. Huly may trim future work slots and run issue automation when the ToDo is attached to an issue. |
923
- | `reopen_todo` | Reopen a completed Planner ToDo by clearing doneOn. Human locators search completed ToDos by default; raw todoId locators target that exact ToDo. |
924
- | `delete_todo` | Delete a Planner ToDo. This is destructive; deleting the last open issue ToDo can cause Huly classic issue status automation. |
925
- | `schedule_todo` | Schedule a Planner ToDo by raw todoId or human locator. Creates a Planner-visible blocking work slot on the authenticated user's personal calendar, owned by their primary social identity and including them as a participant. Fails actionably when the identity, employee, or writable calendar prerequisite is unavailable. |
926
- | `unschedule_todo` | Remove ToDo work slots. Pass either workSlotId to remove one slot, locator with scope=all, or locator with scope=future and optional from. |
921
+ | `list_todos` | List Huly Planner ToDos. Empty input returns up to 50 ToDos in planner order with all completion states. Use owner, issue, document, title, due date, priority, visibility, or completion filters to narrow results. Issue and document filters cannot be combined. |
922
+ | `get_todo` | Get one Planner ToDo by raw todoId or by a human locator such as issue + title + owner or attachedTo.type=document with teamspace/document + title. Returns stable ToDo fields, owner, attachment context, description, labels count, and work slot count. |
923
+ | `create_todo` | Create a Planner ToDo. Omit attachedTo for a personal ToDo, pass attachedTo.type=issue with project and identifier for an issue action item, or pass attachedTo.type=document with teamspace and document names or IDs for a document action item. Document ToDos are private by default. Omit owner to use the authenticated user. Description supports markdown. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links. |
924
+ | `update_todo` | Update a Planner ToDo by human locator or raw todoId. Human locators can target an issue or document attachment. Supports title, markdown description, owner, dueDate including null to clear, priority, and visibility. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links. |
925
+ | `complete_todo` | Complete a Planner ToDo by raw todoId or human locator, including a document attachment locator, by setting doneOn. Huly may trim future work slots and run issue automation when the ToDo is attached to an issue. |
926
+ | `reopen_todo` | Reopen a completed Planner ToDo by raw todoId or human locator, including a document attachment locator, by clearing doneOn. Human locators search completed ToDos by default; raw todoId locators target that exact ToDo. |
927
+ | `delete_todo` | Delete a Planner ToDo by raw todoId or human locator, including a document attachment locator. This is destructive; deleting the last open issue ToDo can cause Huly classic issue status automation, while document ToDos do not change issue counters. |
928
+ | `schedule_todo` | Schedule a Planner ToDo by raw todoId or human locator, including a document attachment locator. Creates a Planner-visible blocking work slot on the authenticated user's personal calendar, owned by their primary social identity and including them as a participant. Fails actionably when the identity, employee, or writable calendar prerequisite is unavailable. |
929
+ | `unschedule_todo` | Remove ToDo work slots. Pass either workSlotId to remove one slot, or a raw ToDo ID/human locator (including a document attachment locator) with scope=all or scope=future and optional from. |
927
930
 
928
931
  ### Preferences
929
932
 
@@ -981,7 +984,10 @@ When resolved tool exposure is `proxy`, clients see the built-in tools plus thes
981
984
  | `unarchive_recruiting_vacancy` | Unarchive a Recruiting vacancy by raw _id, VCN-<number>, bare number, or exact name. |
982
985
  | `list_recruiting_candidates` | List persons that already have the Recruiting Candidate mixin. Use set_recruiting_candidate_profile, add_recruiting_candidate_skill, or create_recruiting_applicant to recruit-enable an existing person. |
983
986
  | `get_recruiting_candidate` | Get one Recruiting candidate by person _id, email, or exact display name. Returns profile fields, skills, application/review counts, and primary email when available. |
984
- | `set_recruiting_candidate_profile` | Create or update the Recruiting Candidate profile mixin on an existing person. candidate accepts person _id, email, or exact display name. Provide at least one of title, source, onsite, remote. |
987
+ | `set_recruiting_candidate_profile` | Create or update the Recruiting Candidate profile mixin on an existing person. For a new candidate, call create_person first, then call this tool with the returned Person ID (or exact email/name). candidate accepts person _id, email, or exact display name. Provide at least one of title, source, onsite, remote. |
988
+ | `list_recruiting_candidate_custom_fields` | List custom field definitions applicable to an existing Recruiting Candidate. candidate accepts a person _id, exact email, or exact display name. Fields owned by undefined or undefined are returned with IDs, labels, types, and owner metadata. This read never enables Recruiting; for a new person, call create_person first, then set_recruiting_candidate_profile. |
989
+ | `get_recruiting_candidate_custom_field_values` | Read all applicable custom field values for an existing Recruiting Candidate, including definitions that are currently unset. candidate accepts a person _id, exact email, or exact display name. Candidate and Person-owned fields are projected with their Huly type metadata; this read never enables Recruiting. For a new person, call create_person first, then set_recruiting_candidate_profile. |
990
+ | `set_recruiting_candidate_custom_field` | Set one custom field on an existing Recruiting Candidate by field ID from list_recruiting_candidate_custom_fields. candidate accepts a person _id, exact email, or exact display name. Only isCustom fields owned by undefined or undefined are writable; array, ref, and unknown fields are rejected. Values use the documented field type wire format (numbers as numeric strings, booleans as true/false, dates as YYYY-MM-DD or canonical epoch milliseconds). This write never enables Recruiting; for a new person, call create_person first, then set_recruiting_candidate_profile. |
985
991
  | `list_recruiting_skills` | List Recruiting skill tag definitions. Skills are Huly tags scoped to targetClass recruit:mixin:Candidate; use returned titles or IDs with candidate skill tools. |
986
992
  | `list_recruiting_candidate_skills` | List skill tag references attached to one Recruiting candidate by person _id, email, or exact name. |
987
993
  | `add_recruiting_candidate_skill` | Attach a skill to a candidate. candidate accepts person _id, email, or exact name. skill accepts title or tag ID; missing skill titles are created. Optional category/color apply only to newly created skill tags. |
@@ -1137,8 +1143,11 @@ When resolved tool exposure is `proxy`, clients see the built-in tools plus thes
1137
1143
  |------|-------------|
1138
1144
  | `list_office_floors` | List virtual office floors. |
1139
1145
  | `get_office_floor` | Get one virtual office floor by floorId. |
1146
+ | `create_office_floor` | Create one durable virtual-office Floor with a nonblank name. Returns the generated floorId immediately. Floor rename and deletion are intentionally unavailable. |
1140
1147
  | `list_office_rooms` | List virtual office rooms, including access mode, type, floor, floor-plan position/size, language, and recording/transcription defaults. |
1141
1148
  | `get_office_room` | Get one virtual office room by roomId, including description when readable. |
1149
+ | `create_office_room` | Create one durable video, audio, reception, or personal office on a Floor resolved from an exact ID or unambiguous exact name. Video/audio/reception require a nonblank name; office uses Huly's native empty name and person=null. Huly class, access, language, 2x1 free floor-plan position, and recording/transcription defaults are derived internally; video inherits workspace OfficeSettings while other kinds default both flags to false. This does not create participants or start recording/transcription. |
1150
+ | `update_office_room` | Update one durable Room or Office by roomId. Accepts only name, Markdown description, access, startWithTranscription, and startWithRecording. Personal offices reject open access; Huly's protected Reception cannot be renamed. Floor, geometry, person assignment, language, ACLs, occupancy, and active provider state are preserved. Default flags affect future sessions and do not start or stop recording/transcription. |
1142
1151
  | `list_offices` | List personal office rooms and their assigned people when readable. |
1143
1152
  | `get_office` | Get one personal office room by roomId, including assigned person and description when readable. |
1144
1153
  | `list_active_room_info` | List transient active room occupancy summaries. |