Skip to content

💡 [Feature]: Update spo_list_add Language Model Tool to follow standards #591

@Saurabh7019

Description

@Saurabh7019

🎯 Aim of the feature

Refactor the existing spo_list_add Language Model Tool to align with updated naming conventions, improve model descriptions, and add additional list creation options for enhanced SharePoint list management capabilities.

vscode-viva/package.json

Lines 127 to 222 in d0e5890

"name": "spo_list_add",
"tags": [
"sharepoint",
"list",
"spfx-toolkit"
],
"toolReferenceName": "SharePointListAdd",
"displayName": "Create a SharePoint list",
"modelDescription": "Creates list in the specified site. This tool may be used to create a SharePoint list in a site.",
"userDescription": "Creates list in the specified site.",
"canBeReferencedInPrompt": true,
"icon": "$(add)",
"inputSchema": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Title of the list to add. This option is required.",
"default": ""
},
"webUrl": {
"type": "string",
"description": "URL of the site where the list should be added. This option is required.",
"default": ""
},
"baseTemplate": {
"type": "string",
"description": "The list definition type on which the list is based. Allowed values Announcements, Contacts, CustomGrid, DataSources,DiscussionBoard, DocumentLibrary, Events, GanttTasks, GenericList, IssuesTracking, Links, NoCodeWorkflows,PictureLibrary, Survey, Tasks, WebPageLibrary, WorkflowHistory, WorkflowProcess, XmlForm. Default value is GenericList. This option is optional.",
"default": ""
},
"description": {
"type": "string",
"description": "The description for the list. This option is optional.",
"default": ""
}
}
}
},
{
"name": "spo_list_get",
"tags": [
"sharepoint",
"list",
"spfx-toolkit"
],
"toolReferenceName": "SharePointListGet",
"displayName": "Get a SharePoint list",
"modelDescription": "Gets information about the specific list. This tool may be used to check if a list on a SharePoint site exists or to retrieve more information about it.",
"userDescription": "Gets information about the specific list.",
"canBeReferencedInPrompt": true,
"icon": "$(search)",
"inputSchema": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Title of the list to retrieve information for. This option is required.",
"default": ""
},
"webUrl": {
"type": "string",
"description": "URL of the site where the list to retrieve is located. This option is required.",
"default": ""
}
}
}
},
{
"name": "spo_list_remove",
"tags": [
"sharepoint",
"list",
"spfx-toolkit"
],
"toolReferenceName": "SharePointListRemove",
"displayName": "Remove a SharePoint list",
"modelDescription": "Removes the specified list. This tool may be used to remove a SharePoint list from a site.",
"userDescription": "Removes the specified list.",
"canBeReferencedInPrompt": true,
"icon": "$(trash)",
"inputSchema": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Title of the list to remove. This option is required.",
"default": ""
},
"webUrl": {
"type": "string",
"description": "URL of the site where the list to remove is located. This option is required.",
"default": ""
}
}
}
},

Issues to address:

  • Rename the tool to add_spo_list following the naming convention {verb}_{noun} as established in the codebase
  • Improve modelDescription:
    • What exactly does the tool do? - describe the specific functionality and capabilities
    • What kind of information does it return? - detail the expected response format
    • When should and shouldn't it be used? - provide clear use cases and scenarios to avoid
    • Describe important limitations or constraints of the tool - identify technical and permission limitations
  • Refactor ListAdd
    • Missing Properties: lets add support for the following options: allowDeletion, contentTypesEnabled, disableCommenting, disableGridEditing, draftVersionVisibility, enableFolderCreation, enableMinorVersions, enableVersioning, forceCheckout, hidden, noCrawl

Under the hood use: spo list add

The issue #586 has been implemented and can be used as a reference to ensure consistency with the correct standards.

📷 Images (if possible) with expected result

No response

🤔 Additional remarks or comments

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions