{"id":"u:f0bfc8d7e2ff","type":"page","watchlistOrder":{"type":"function","tool_id":"456","function":{"name":"watchlistOrder","description":"Used to sort a user-specified watchlist group by a given column in ascending or descending order. It requires both the column ID and the watchlist group ID, which must be retrieved beforehand via `getWatchlistColumn` and `getWatchlistGroups`, respectively. If the user does not specify a group to operate on, the default value should be used. If not found, the default value must be used for the watchlist group ID. Hence, the function must be called in the correct logical sequence to ensure proper execution.","parameters":{"type":"object","properties":{"indexId":{"type":"string","description":"column ID used for sorting, e.g., 'changePercent' for percentage change."},"direction":{"type":"string","description":"Sort order: 'asc' for ascending, 'desc' for descending.","enum":["asc","desc"]},"groupId":{"type":"string","description":"The ID of the watchlist group to be sorted; if not found, the default value of '0' must be returned."}},"required":["indexId","direction","groupId"]}}},"watchlistUpdate":{"type":"function","tool_id":"456","function":{"name":"watchlistUpdate","description":"Used to address the user's need to update the constituents of a specified watchlist group. To update successfully, the function requires information about the tickers to be added or removed (including ticker code and market code), as well as the target watchlist group ID, which should be obtained via `getTickerInfo` and `getWatchlistGroups`, respectively. If the user does not specify a group to operate on, the default value should be used. If not found, the default value must be used for the watchlist group ID. Hence, the function must be called in the correct logical sequence to ensure proper execution.","parameters":{"type":"object","properties":{"symbolList":{"type":"array","items":{"type":"object","properties":{"symbol":{"type":"string","description":"ticker code, e.g., AAPL"},"market":{"type":"string","description":"market code of ticker listing market obtained from `getTickerInfo`, e.g., '185'"},"groupId":{"type":"string","description":"The ID of the watchlist group for which the user intends to update constituents. if not found, the default value of '0' must be returned.","default":"0"},"operationType":{"type":"string","description":"The operation type for updating the watchlist: `add` indicates adding constituents, and `delete` indicates removing constituents.","enum":["add","delete"]}},"required":["symbol","market","groupId","operationType"]},"maxItems":100}}}}},"watchlistColumnUpdate":{"type":"function","tool_id":"456","function":{"name":"watchlistColumnUpdate","description":"Used to update the column list of a specified watchlist group based on user requirements, specifically for adding, removing, modifying column names, or rearranging the column sequential order. One of relevant parameters (namely `columns`) needs to be reasoned based on the existing column information and the user's instructions. If columns need to be added, the information about the columns to be added must be obtained via `RecommendColumn`. If columns are to be removed, modified, or rearranged, the current state of the watchlist columns must first be retrieved using `getWatchlistColumn`. Besides, during the call, a summary of the updates compared to the current version must be provided, to facilitate future review and tracking. Hence, the function must be called in the correct logical sequence to ensure proper execution.","type":"function","parameters":{"type":"object","properties":{"columns":{"type":"array","description":"List of updated column information in sequential order.","items":{"type":"object","properties":{"id":{"type":"string","description":"unique column ID retrieved from `getWatchlistColumn` or `recommendColumn`"},"display_name":{"type":"string","description":"display name on the frontend"},"replace_display_name":{"type":"boolean","description":"used to indicate whether the `display_name` from this update should overwrite the system's record. It is set to `true` only when the user specifies renaming a column.","default":false}},"required":["id","display_name","replace_display_name"],"additionalProperties":false},"minItems":1},"updateSummary":{"type":"string","description":"A brief summary of the changes made to the watchlist columns in this update. This should clearly state the differences compared to the previous configuration, such as which columns were added, removed, renamed, or reordered. The language must be English.","maxLength":300,"example":"Added columns: Turnover Rate; Removed column: Trading Volume; Reordered: Moved Price Change to position 2."}},"required":["columns","updateSummary"],"additionalProperties":false}}},"watchlistColumnRollback":{"type":"function","tool_id":"456","function":{"name":"watchlistColumnRollback","description":"Used to roll back the entire watchlist column to a specified version. The prerequisite for performing a rollback is that there must be an existing update record for the current watchlist column, and the target version for rollback must not be the current version. To access historical version records, you must first query the update history and corresponding version numbers via `watchlistColumnUpdaterTracker`. Hence, the function must be called in the correct logical sequence to ensure proper execution.","parameters":{"type":"object","properties":{"version_id":{"type":"integer","description":"target version ID for rollback"},"updateSummary":{"type":"string","description":"A brief summary of the changes made to the watchlist columns in this update. The language must be English. For example: 'Rolled back to version 203.'","maxLength":50}},"required":["version_id","updateSummary"],"additionalProperties":false}}},"meta":{"id":19506,"systemId":252},"watchlistGroupUpdate":{"type":"function","tool_id":"456","function":{"name":"watchlistGroupUpdate","description":"Used to manage watchlist groups, such as adding (creating) a custom watchlist group, renaming a group, sorting groups, and deleting groups. Before calling this tool, you should first call `getWatchlistGroups` to obtain the current user’s watchlist group information (e.g., existing group names and group IDs), in order to determine whether a group already exists and to make informed subsequent operations. Therefore, this function must be called in the correct logical sequence to ensure proper execution.","parameters":{"type":"object","properties":{"payload":{"type":"object","oneOf":[{"properties":{"operationType":{"enum":["add"]},"name":{"type":"string","minLength":1,"maxLength":24}},"required":["operationType","name"],"additionalProperties":false},{"properties":{"operationType":{"enum":["delete"]},"groupId":{"type":"array","items":{"type":"string"},"minItems":1}},"required":["operationType","groupId"],"additionalProperties":false},{"properties":{"operationType":{"enum":["order"]},"groupId":{"type":"array","description":"full list of re-ordered watchlist group get from `getWatchlistGroups`","items":{"type":"string"}}},"required":["operationType","groupId"],"additionalProperties":false},{"description":"For modifyName, the lengths of `groupId` and `name` arrays must match, and are mapped by index.","properties":{"operationType":{"enum":["modifyName"]},"updates":{"type":"array","items":{"type":"object","properties":{"groupId":{"type":"string"},"name":{"type":"string","minLength":1,"maxLength":24}},"required":["groupId","name"],"additionalProperties":false},"minItems":1}},"required":["operationType","groupId","name"],"additionalProperties":false}]}},"required":["payload"],"additionalProperties":false}}}}