@firfi/huly-mcp 0.47.0 → 0.49.0
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 +87 -7
- package/dist/index.cjs +8890 -3598
- package/package.json +14 -4
package/README.md
CHANGED
|
@@ -290,7 +290,7 @@ When resolved tool exposure is `proxy`, clients see the built-in tools plus thes
|
|
|
290
290
|
| `get_tool_schema` | Returns the exact input and output schema for one proxy-visible Huly tool. Use this before invoke_tool when you are not certain about required argument names or result shape. |
|
|
291
291
|
| `invoke_tool` | Invokes one proxy-visible Huly tool by exact name with its arguments. This tool can call read or write Huly operations; check get_tool_schema and the target tool annotations when safety matters. |
|
|
292
292
|
|
|
293
|
-
**`TOOLSETS` categories:** `projects`, `issues`, `comments`, `milestones`, `documents`, `storage`, `attachments`, `contacts`, `channels`, `calendar`, `time tracking`, `search`, `associations`, `activity`, `notifications`, `workspace`, `approvals`, `boards`, `cards`, `collaborators`, `custom-fields`, `drive`, `inventory`, `labels`, `leads`, `templates`, `planner`, `preferences`, `processes`, `recruiting`, `sdk-discovery`, `spaces`, `tag-categories`, `tags`, `task-management`, `test-management`, `user-statuses`, `views`, `virtual-office`
|
|
293
|
+
**`TOOLSETS` categories:** `projects`, `issues`, `comments`, `milestones`, `documents`, `storage`, `attachments`, `contacts`, `channels`, `calendar`, `time tracking`, `search`, `associations`, `activity`, `notifications`, `workspace`, `approvals`, `boards`, `cards`, `collaborators`, `custom-fields`, `drive`, `inventory`, `labels`, `leads`, `mail`, `templates`, `model-administration`, `planner`, `preferences`, `processes`, `recruiting`, `sdk-discovery`, `security-administration`, `sequence-administration`, `spaces`, `support`, `tag-categories`, `tags`, `task-management`, `test-management`, `user-statuses`, `views`, `virtual-office`, `workbench`, `workflow-statuses`
|
|
294
294
|
|
|
295
295
|
### Projects
|
|
296
296
|
|
|
@@ -378,6 +378,10 @@ When resolved tool exposure is `proxy`, clients see the built-in tools plus thes
|
|
|
378
378
|
| `edit_document` | Edit an existing Huly document. You may rename with title and/or edit the body. Body editing has two mutually exclusive modes: (1) content replaces the entire markdown body, (2) old_text + new_text performs exact targeted search-and-replace. Use markdown links to current-workspace Huly browse URLs for native references; Huly browse links returned in get_document content round-trip as native references. The URL identifies the object; link text is display text; plain issue keys stay text. External URLs stay normal markdown links. For targeted replace, multiple matches error unless replace_all is true; empty new_text deletes matched text. Content supports native Mermaid diagrams. Returns a 'url' field pointing to the document in the Huly web app. |
|
|
379
379
|
| `list_inline_comments` | List inline comment threads from a Huly document. Extracts comments embedded in document content as ProseMirror marks. Each comment includes the highlighted text and thread ID. Set includeReplies=true to also fetch thread reply messages with sender names. |
|
|
380
380
|
| `delete_document` | Permanently delete a Huly document. This action cannot be undone. |
|
|
381
|
+
| `list_document_label_definitions` | List label definitions available for ordinary Huly documents by optional title substring. Does not expose raw target-class or category mechanics. |
|
|
382
|
+
| `list_document_labels` | List labels attached to one ordinary Huly document. Resolves the teamspace by name or ID and the document by title or ID; no raw class, space, or collection values are needed. |
|
|
383
|
+
| `add_document_label` | Idempotently attach a label to an ordinary Huly document resolved by teamspace and title or ID. label accepts a definition ID or exact title; a missing title creates the document label definition first, while duplicate exact titles return candidate IDs. |
|
|
384
|
+
| `remove_document_label` | Detach a label from one ordinary Huly document without deleting the reusable label definition. Returns detached=false when the label exists but is not attached; duplicate exact titles return candidate IDs. |
|
|
381
385
|
|
|
382
386
|
### Storage
|
|
383
387
|
|
|
@@ -457,13 +461,17 @@ When resolved tool exposure is `proxy`, clients see the built-in tools plus thes
|
|
|
457
461
|
| `create_group_direct_message` | Open a group direct-message conversation with at least two other workspace members. The `people` array accepts exact emails or exact display names; the authenticated account is included automatically. Idempotent by exact sorted member set: returns an existing group DM with `created: false` when one already exists. For one other person, use create_direct_message. |
|
|
458
462
|
| `set_conversation_starred` | Set the authenticated user's starred state for exactly one conversation. Provide either `channel` (channel name or ID) or `dm` (DM ID, or one-to-one participant display name), plus `starred`. Creates the missing notification context when needed. |
|
|
459
463
|
| `set_conversation_closed` | Set the authenticated user's closed/visible state for exactly one conversation. Provide either `channel` or `dm`, plus `closed`. Closing only hides the current user's notification context; it does not leave channels or remove members. |
|
|
464
|
+
| `list_pinned_chat_messages` | List pinned top-level messages and pinned thread replies in exactly one Huly channel or direct-message conversation. Provide `channel` (name or ID) or `dm` (DM ID or one-to-one participant name), not both. Results are newest-first across both message kinds. |
|
|
465
|
+
| `set_chat_message_pinned` | Idempotently pin or unpin a top-level message or thread reply located inside exactly one Huly channel or direct-message conversation. Provide `channel` or `dm`, plus the messageId; the message must belong to the resolved conversation. |
|
|
466
|
+
| `request_channel_access` | Attempt the Huly private-channel request-access workflow by channel name or ID. The current Chunter SDK/model has no stable request-access record or server action, so this build returns supported=false with a stable reasonCode and performs no mutation. |
|
|
467
|
+
| `translate_chat_message` | Attempt to translate a located Huly channel/DM message to targetLanguage. Current Huly translation is browser-only, uses an optional AI endpoint, and stores results only in UI state; this build returns supported=false with a stable reasonCode and does not fabricate translated text. |
|
|
460
468
|
| `list_channels` | List all Huly channels. Returns channels sorted by name. Supports filtering by archived status. Supports searching by name substring (nameSearch) and topic substring (topicSearch). |
|
|
461
469
|
| `get_channel` | Retrieve full details for a Huly channel including topic and member list. |
|
|
462
470
|
| `create_channel` | Create a new channel in Huly. Returns the created channel ID and name. |
|
|
463
471
|
| `update_channel` | Update fields on an existing Huly channel. Only provided fields are modified. |
|
|
464
472
|
| `delete_channel` | Permanently delete a Huly channel. This action cannot be undone. For reversible channel lifecycle changes, use archive_channel and unarchive_channel instead. |
|
|
465
473
|
| `list_channel_messages` | List messages in a Huly channel. Returns messages sorted by date (newest first). |
|
|
466
|
-
| `list_external_channel_messages` |
|
|
474
|
+
| `list_external_channel_messages` | Read persisted Telegram contact-channel messages or assess why an external provider cannot be read safely. For provider=telegram, resolve channel by exact stored value or stable contact-channel ID and return newest contentMarkdown, direction, stored Huly sendOn timestamp, and attachment count; returns supported=false when the workspace model or channel is unavailable. Inbound attachment creation is asynchronous, so attachmentCount can temporarily lag the message; attachment bytes are not returned. This proves only Huly-stored records, not provider freshness, an active Telegram connection, or provider delivery/read status. Gmail returns supported=false because Huly does not expose the live deployment-wide v1/v2 writer version needed to distinguish current legacy records from stale data. The limit defaults to 50 and is capped at 200. This tool never sends, replies, deletes, or mutates. |
|
|
467
475
|
| `send_channel_message` | Send a message to a Huly channel. Message body 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. |
|
|
468
476
|
| `update_channel_message` | Update a channel message. Only the body can be modified; body 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. |
|
|
469
477
|
| `delete_channel_message` | Permanently delete a channel message. This action cannot be undone. |
|
|
@@ -747,6 +755,12 @@ When resolved tool exposure is `proxy`, clients see the built-in tools plus thes
|
|
|
747
755
|
| `get_lead` | Retrieve full details for a Huly lead including markdown description, customer name, funnel ID and funnel name, and status. Lead identifiers follow the upstream Huly format like 'LEAD-1'. |
|
|
748
756
|
| `create_lead` | Create one native Huly lead in an active funnel for an existing person or organization. Resolve the funnel by ID or exact name; identify the customer explicitly as person or organization; optionally choose an employee assignee, Lead-compatible task type, exact workflow status, and Markdown description. Automatically applies the Customer mixin when needed, preserves native Huly references, and returns both leadId and LEAD-<number>. This tool never creates a person or organization inline. |
|
|
749
757
|
|
|
758
|
+
### Mail
|
|
759
|
+
|
|
760
|
+
| Tool | Description |
|
|
761
|
+
|------|-------------|
|
|
762
|
+
| `list_mail_threads` | Discover read-only Huly Mail thread metadata in one call: outer channel titles, human-resolved spaces, timestamps, and up to 10 newest child subject summaries per channel. This does not return message bodies or attachments and never sends, replies, mutates, or reports mailbox/delivery capability. A channelTitle may resemble a replication-recipient email but does not prove a correspondent or configured mailbox. Omit filters to list recent channels; filter by exact space name/ID or case-insensitive channel-title substring. Empty threads is a supported result. |
|
|
763
|
+
|
|
750
764
|
### Templates
|
|
751
765
|
|
|
752
766
|
| Tool | Description |
|
|
@@ -757,10 +771,25 @@ When resolved tool exposure is `proxy`, clients see the built-in tools plus thes
|
|
|
757
771
|
| `render_message_template` | Render one global Huly message template by template ID or exact title. Substitutes only caller-provided values for matching dollar-brace placeholder field IDs from placeholderFieldIds; does not execute Huly TemplateField provider resources. Unresolved placeholders remain in renderedMessage and are reported in unresolvedFieldIds. |
|
|
758
772
|
| `list_message_template_fields` | List Huly message template fields/placeholders without executing provider resources or rendering templates. Optionally filter by field category ID or exact raw label string, and search raw field labels by substring. Returns field IDs, labels, category summaries, and provider resource IDs. |
|
|
759
773
|
|
|
774
|
+
### Model-Administration
|
|
775
|
+
|
|
776
|
+
| Tool | Description |
|
|
777
|
+
|------|-------------|
|
|
778
|
+
| `create_huly_enum` | Create a Huly model enum with ordered option values. An exact case-insensitive name is idempotent only when its ordered values match; otherwise the call returns a conflict. This changes workspace model metadata. confirm=true is required so an agent cannot mutate the model accidentally. |
|
|
779
|
+
| `update_huly_enum` | Update a Huly model enum resolved by exact ID or name. Renaming and adding options are safe; removing an option is refused while any attribute references the enum. This changes workspace model metadata. confirm=true is required so an agent cannot mutate the model accidentally. |
|
|
780
|
+
| `delete_huly_enum` | Permanently delete a Huly model enum resolved by exact ID or name. Refuses deletion while any attribute references it. This changes workspace model metadata. confirm=true is required so an agent cannot mutate the model accidentally. |
|
|
781
|
+
| `create_huly_attribute` | Create a custom Huly Attribute/property on a class resolved by exact ID, tail name, or label. Supports string, number, boolean, date, markup, enum, and reference types; enum and reference targets also resolve by name. Existing same-name attributes are idempotent only when their definition matches; otherwise the call returns a conflict. New records are always isCustom=true. This changes workspace model metadata. confirm=true is required so an agent cannot mutate the model accidentally. |
|
|
782
|
+
| `update_huly_attribute` | Update label, index, automation-only, or hidden state for a Huly Attribute resolved by ID or exact name. Pass class by ID/name to disambiguate. Built-in attributes permit hidden-only updates; all other built-in mutations are protected, and property keys/types cannot be changed here. Hide/unhide uses the SDK behavior exercised by Huly settings. This changes workspace model metadata. confirm=true is required so an agent cannot mutate the model accidentally. |
|
|
783
|
+
| `delete_huly_attribute` | Permanently delete an unused custom Huly Attribute resolved by ID or exact name. Pass class by ID/name to disambiguate. Built-in attributes and attributes present on any owning-class document are protected. This changes workspace model metadata. confirm=true is required so an agent cannot mutate the model accidentally. |
|
|
784
|
+
|
|
760
785
|
### Planner
|
|
761
786
|
|
|
762
787
|
| Tool | Description |
|
|
763
788
|
|------|-------------|
|
|
789
|
+
| `list_todo_label_definitions` | List label definitions available for Huly Planner ToDos by optional title substring. Does not expose raw target-class or category mechanics. |
|
|
790
|
+
| `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. |
|
|
791
|
+
| `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. |
|
|
792
|
+
| `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. |
|
|
764
793
|
| `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. |
|
|
765
794
|
| `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. |
|
|
766
795
|
| `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. |
|
|
@@ -851,6 +880,27 @@ When resolved tool exposure is `proxy`, clients see the built-in tools plus thes
|
|
|
851
880
|
| `list_huly_sequences` | List read-only Huly sequence counters from core.class.Sequence and core.class.CustomSequence. Returns sequence id, attached class id, current non-negative integer value, and custom prefix when present. |
|
|
852
881
|
| `describe_huly_space_type_capabilities` | Describe one Huly SpaceType by id or exact name in a single read-only call. Returns descriptor metadata, base/target classes, roles, role permissions, default members, autoJoin, and the stored role-assignment shape. |
|
|
853
882
|
|
|
883
|
+
### Security-Administration
|
|
884
|
+
|
|
885
|
+
| Tool | Description |
|
|
886
|
+
|------|-------------|
|
|
887
|
+
| `create_huly_permission` | Create a base Huly Permission with a clear human label and optional class/transaction constraints. Class accepts an exact class ID, tail name, or label. Exact labels are idempotent only when the full definition matches. This changes workspace access-control metadata. confirm=true is required so an agent cannot mutate security configuration accidentally. |
|
|
888
|
+
| `update_huly_permission` | Update a custom Huly Permission resolved by exact ID or exact label. Namespaced built-in permissions are protected. Label/description changes are allowed on unreferenced custom permissions; semantic changes are refused while referenced by a role or SpaceType descriptor. Null clears optional constraints. This changes workspace access-control metadata. confirm=true is required so an agent cannot mutate security configuration accidentally. |
|
|
889
|
+
| `delete_huly_permission` | Permanently delete a custom Huly Permission resolved by exact ID or exact label. Namespaced built-ins are protected, and referenced permissions are refused loudly. This changes workspace access-control metadata. confirm=true is required so an agent cannot mutate security configuration accidentally. |
|
|
890
|
+
| `create_space_role` | Create a Huly role definition using a SpaceType ID or exact name and permission ID or exact label values. The call creates both the attached Role and required typed-space assignment attribute, compensating if the second write fails. Workspace-scoped permissions are restricted to the stable all-spaces SpaceType. Existing exact role names are idempotent only when permission sets match. This changes workspace access-control metadata. confirm=true is required so an agent cannot mutate security configuration accidentally. |
|
|
891
|
+
| `set_space_role_permissions` | Replace one existing role definition's permission set. SpaceType accepts an ID or exact name, role accepts an ID or exact name scoped to that SpaceType, and each permission accepts an ID or exact label. Pass permissions=[] to clear the role. This changes workspace access-control metadata. confirm=true is required so an agent cannot mutate security configuration accidentally. |
|
|
892
|
+
| `get_class_collaborator_metadata` | Get the direct core ClassCollaborators metadata for a Huly class resolved by class ID, tail name, or label. Returns configured=false when the class inherits defaults or has no direct record. |
|
|
893
|
+
| `set_class_collaborator_metadata` | Create or replace direct core ClassCollaborators metadata for a class resolved by class ID, tail name, or label. fieldSelection supports all person-like fields, no fields, or exact property names validated against the class and its ancestors. Security propagation flags are normalized explicitly. This changes workspace access-control metadata. confirm=true is required so an agent cannot mutate security configuration accidentally. |
|
|
894
|
+
| `delete_class_collaborator_metadata` | Permanently delete the direct core ClassCollaborators metadata record for a class resolved by ID, tail name, or label. Inherited metadata is never selected or deleted. This changes workspace access-control metadata. confirm=true is required so an agent cannot mutate security configuration accidentally. |
|
|
895
|
+
|
|
896
|
+
### Sequence-Administration
|
|
897
|
+
|
|
898
|
+
| Tool | Description |
|
|
899
|
+
|------|-------------|
|
|
900
|
+
| `create_huly_sequence` | Create a zero-valued standard Sequence or prefixed CustomSequence for a class resolved by exact ID, tail name, or label. Retrying returns the matching existing definition and never resets or increments its counter; a different kind or prefix returns a conflict. This changes a workspace sequence definition. confirm=true is required so an agent cannot mutate sequence metadata accidentally. |
|
|
901
|
+
| `update_huly_custom_sequence` | Set only the prefix of a CustomSequence resolved by exact sequence ID or attached class ID/name. The compare-and-set guard does not change the counter and refuses a concurrent change; standard Sequence records are protected. This changes a workspace sequence definition. confirm=true is required so an agent cannot mutate sequence metadata accidentally. |
|
|
902
|
+
| `delete_huly_sequence` | Permanently delete a never-used Sequence or CustomSequence resolved by exact sequence ID or attached class ID/name. expectedCurrentValue must be 0 and is an atomic compare-and-delete guard, so an active or advanced counter cannot be removed; referenced CustomSequence records are protected. This changes a workspace sequence definition. confirm=true is required so an agent cannot mutate sequence metadata accidentally. |
|
|
903
|
+
|
|
854
904
|
### Spaces
|
|
855
905
|
|
|
856
906
|
| Tool | Description |
|
|
@@ -860,6 +910,9 @@ When resolved tool exposure is `proxy`, clients see the built-in tools plus thes
|
|
|
860
910
|
| `list_space_types` | List configured Huly SpaceType records. Returns descriptor id, base class, target class, default members, autoJoin, and role count for discovering typed-space configuration. |
|
|
861
911
|
| `get_space_type` | Get one Huly SpaceType by raw SpaceType _id or exact name, including descriptor metadata, role definitions, role permission ids/labels, and available permissions. |
|
|
862
912
|
| `list_space_permissions` | List core Huly Permission records for space/workspace access control discovery. Filter by scope, objectClass, or search text. This is read-only and does not assign permissions. |
|
|
913
|
+
| `create_space` | Create a generic Huly typed space by SpaceType _id or exact name. This single call resolves member, owner, and role locators; applies SpaceType default members; and creates role assignments. For safety, only non-system types whose SDK descriptor base class is exactly core:class:TypedSpace are supported. Specialized project, teamspace, drive, funnel, vacancy, and similar types fail with a typed error directing callers to their purpose-built tools. Defaults: private=false, autoJoin=false, restricted=false, owners=[calling account]. |
|
|
914
|
+
| `get_global_space_admins` | Get the workspace-wide Huly space administrators from the stable core Admin role on the all-spaces typed space. Returns account UUIDs and requires no raw space, role, or mixin refs. |
|
|
915
|
+
| `set_global_space_admins` | Replace the workspace-wide Huly space-admin list. Admins accept account UUIDs, exact emails, or exact person display names; pass admins=[] to clear the role. The tool resolves the stable core all-spaces space and Admin role internally. |
|
|
863
916
|
| `update_space` | Update safe common metadata on an existing Huly space: name, description, private, archived, and autoJoin. Does not create/delete spaces or mutate module-specific required fields. |
|
|
864
917
|
| `add_space_members` | Idempotently add members to an existing Huly space. Members accept account UUID, exact email, or exact person display name and resolve to Huly account UUIDs before replacing the full members array. |
|
|
865
918
|
| `remove_space_members` | Idempotently remove members from an existing Huly space. Members accept account UUID, exact email, or exact person display name and resolve to Huly account UUIDs before replacing the full members array. |
|
|
@@ -868,6 +921,12 @@ When resolved tool exposure is `proxy`, clients see the built-in tools plus thes
|
|
|
868
921
|
| `add_space_role_members` | Idempotently add members to one role on a typed Huly space while preserving all other role assignments. Role accepts a raw role _id or exact role name from the space's SpaceType. Members accept account UUID, exact email, or exact person display name. |
|
|
869
922
|
| `remove_space_role_members` | Idempotently remove members from one role on a typed Huly space while preserving all other role assignments. Role accepts a raw role _id or exact role name from the space's SpaceType. Members accept account UUID, exact email, or exact person display name. |
|
|
870
923
|
|
|
924
|
+
### Support
|
|
925
|
+
|
|
926
|
+
| Tool | Description |
|
|
927
|
+
|------|-------------|
|
|
928
|
+
| `get_support_status` | Discover Huly support-widget model/setup and the authenticated account's private stored status rows in one read-only call. Returns supported=false when either required workspace classifier is unavailable; otherwise setup is missing when no SupportSystem exists, configured for exactly one, or ambiguous with every candidate instead of choosing nondeterministically. providerConversationId is opaque and storedHasUnreadMessages is only a persisted fallback with no provider-freshness guarantee. Malformed private rows are skipped with an agent warning that never includes provider IDs. Huly exposes no support message bodies, participants, attachments, transcripts, live unread count, delivery/read status, or safe send/reply/widget-control API; this tool never loads the executable widget factory or mutates data. |
|
|
929
|
+
|
|
871
930
|
### Tag-Categories
|
|
872
931
|
|
|
873
932
|
| Tool | Description |
|
|
@@ -881,13 +940,13 @@ When resolved tool exposure is `proxy`, clients see the built-in tools plus thes
|
|
|
881
940
|
|
|
882
941
|
| Tool | Description |
|
|
883
942
|
|------|-------------|
|
|
884
|
-
| `list_tags` | List generic Huly tag definitions for one SDK target class.
|
|
885
|
-
| `create_tag` | Create a generic Huly tag definition for one targetClass. Idempotent by targetClass + title.
|
|
943
|
+
| `list_tags` | List generic Huly tag definitions for one SDK target class. Prefer module tools for issue labels, document labels, Planner ToDo labels, board labels, and recruiting skills; use this as the raw SDK fallback for other tag-backed domains or category administration. |
|
|
944
|
+
| `create_tag` | Create a generic Huly tag definition for one targetClass. Idempotent by targetClass + title. Prefer module label or skill tools when attaching to a supported object; use this raw fallback for definition administration and unsupported tag-backed domains. |
|
|
886
945
|
| `update_tag` | Update a generic Huly tag definition. The tag argument accepts a tag ID or exact title, resolved within targetClass. |
|
|
887
946
|
| `delete_tag` | Delete a generic Huly tag definition by ID or exact title, resolved within targetClass. This deletes the tag definition, not only one object's tag reference. |
|
|
888
|
-
| `list_attached_tags` | List generic Huly TagReference rows attached to one raw object collection.
|
|
889
|
-
| `attach_tag` | Attach a generic Huly tag to one raw object collection.
|
|
890
|
-
| `detach_tag` | Detach a generic Huly tag from one raw object collection.
|
|
947
|
+
| `list_attached_tags` | List generic Huly TagReference rows attached to one raw object collection. Prefer module tools for issues, documents, Planner ToDos, board cards, and recruiting candidates; this SDK fallback requires objectId, objectClass, space, and collection. |
|
|
948
|
+
| `attach_tag` | Attach a generic Huly tag to one raw object collection. Prefer module tools for supported issue, document, Planner, board, and recruiting objects; this SDK fallback requires targetClass plus objectId/objectClass/space/collection and is idempotent for the same object, collection, and tag. |
|
|
949
|
+
| `detach_tag` | Detach a generic Huly tag from one raw object collection. Prefer module tools for supported issue, document, Planner, board, and recruiting objects; this SDK fallback requires targetClass and objectId/objectClass/space/collection. |
|
|
891
950
|
|
|
892
951
|
### Task-Management
|
|
893
952
|
|
|
@@ -964,6 +1023,27 @@ When resolved tool exposure is `proxy`, clients see the built-in tools plus thes
|
|
|
964
1023
|
| `list_device_preferences` | List readable virtual-office media device preferences. |
|
|
965
1024
|
| `list_office_defaults` | List room-level language, default recording, and default transcription settings. |
|
|
966
1025
|
|
|
1026
|
+
### Workbench
|
|
1027
|
+
|
|
1028
|
+
| Tool | Description |
|
|
1029
|
+
|------|-------------|
|
|
1030
|
+
| `list_workbench_applications` | List read-only Huly Workbench application model declarations by exact URL alias or case-insensitive alias substring. Returns untranslated labelId values, static model flags, the authenticated account's caller-scoped hiddenByPreference state, and summarized declarative space/special/group navigation without executing components, resource callbacks, or query builders. Legacy space-navigation entries without a stable id are omitted with an agent-visible warning. Application presence is not proof that a plugin, integration provider, worker, API, role, permission, or effective browser visibility is enabled. Personal tabs, active browser state, widgets, widget tabs/preferences, and all Workbench mutations are intentionally unsupported because they are private or browser-local and lack a reliable human-readable agent workflow. |
|
|
1031
|
+
|
|
1032
|
+
### Workflow-Statuses
|
|
1033
|
+
|
|
1034
|
+
| Tool | Description |
|
|
1035
|
+
|------|-------------|
|
|
1036
|
+
| `list_workflow_statuses` | List generic Huly workflow Status records across the workspace model. Filter by status attribute ID/exact name and category ID/exact label. Returns resolved attribute and category relationships. For one tracker project's issue statuses, use list_statuses instead. |
|
|
1037
|
+
| `get_workflow_status` | Get one generic Huly workflow Status by ID or exact case-insensitive name. Pass ofAttribute when a name exists for multiple status attributes; ambiguous names are rejected with matching IDs. |
|
|
1038
|
+
| `create_workflow_status` | Create a generic Huly workflow Status for an attribute resolved by ID or exact name. Optionally resolve a shared category by ID or exact label; pass a category ID when its label is ambiguous. Idempotently returns the existing normalized name in that attribute with created=false. Tracker project-type wiring remains owned by create_issue_status. |
|
|
1039
|
+
| `update_workflow_status` | Update a generic workflow Status by ID or exact name. Use currentOfAttribute to disambiguate the target. category, color, and description accept null to clear. Renaming is refused while a StatusCategory uses the status as its default; update that default first. Moving attributes is allowed only when the status is unreferenced and both attributes use the same concrete Status class. Categories may be shared across attributes. |
|
|
1040
|
+
| `delete_workflow_status` | Permanently delete an unreferenced generic workflow Status by ID or exact name. Refuses deletion while any StatusCategory default, ProjectType, TaskType, or task record references it. This tool never rewrites tracker workflow arrays; use tracker-specific workflow tools to remove those references first. |
|
|
1041
|
+
| `list_status_categories` | List generic Huly StatusCategory records, optionally filtered by status attribute ID or exact name. Returns each category's resolved attribute, default status, and number of statuses that reference it. |
|
|
1042
|
+
| `get_status_category` | Get one generic Huly StatusCategory by ID or exact case-insensitive label. Pass ofAttribute when a label exists for multiple status attributes; ambiguous labels are rejected with matching IDs. |
|
|
1043
|
+
| `create_status_category` | Create a generic Huly StatusCategory for an attribute resolved by ID or exact name. defaultStatus is resolved within the same attribute, preserving the category/default relationship. Idempotently returns an existing normalized label with created=false. |
|
|
1044
|
+
| `update_status_category` | Update a generic StatusCategory by ID or exact label. The resulting default status must belong to the resulting attribute. Statuses from other attributes may continue to reference the category because Huly categories can be shared. |
|
|
1045
|
+
| `delete_status_category` | Permanently delete an unreferenced generic StatusCategory by ID or exact label. Refuses deletion while any Status references the category, preventing dangling relationships. |
|
|
1046
|
+
|
|
967
1047
|
<!-- tools:end -->
|
|
968
1048
|
|
|
969
1049
|
## Troubleshooting
|