1865 lines
54 KiB
JSON
1865 lines
54 KiB
JSON
[
|
|
{
|
|
"description": "Copy text to the system clipboard.",
|
|
"detail": "bds.app.copy_to_clipboard(text: string) -> boolean",
|
|
"insert_text": "bds.app.copy_to_clipboard(\"Example content\")",
|
|
"label": "bds.app.copy_to_clipboard",
|
|
"parameters": [
|
|
{
|
|
"name": "text",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "boolean"
|
|
},
|
|
{
|
|
"description": "Return filesystem paths for the current application and project data.",
|
|
"detail": "bds.app.get_data_paths() -> table",
|
|
"insert_text": "bds.app.get_data_paths()",
|
|
"label": "bds.app.get_data_paths",
|
|
"parameters": [],
|
|
"returns": "table"
|
|
},
|
|
{
|
|
"description": "Return the Blogmark bookmarklet JavaScript source.",
|
|
"detail": "bds.app.get_blogmark_bookmarklet() -> string",
|
|
"insert_text": "bds.app.get_blogmark_bookmarklet()",
|
|
"label": "bds.app.get_blogmark_bookmarklet",
|
|
"parameters": [],
|
|
"returns": "string"
|
|
},
|
|
{
|
|
"description": "Return the current UI locale (the server-side UI language setting, falling back to the OS locale when unset).",
|
|
"detail": "bds.app.get_system_language() -> string | nil",
|
|
"insert_text": "bds.app.get_system_language()",
|
|
"label": "bds.app.get_system_language",
|
|
"parameters": [],
|
|
"returns": "string | nil"
|
|
},
|
|
{
|
|
"description": "Return the current project's filesystem path.",
|
|
"detail": "bds.app.get_default_project_path() -> string | nil",
|
|
"insert_text": "bds.app.get_default_project_path()",
|
|
"label": "bds.app.get_default_project_path",
|
|
"parameters": [],
|
|
"returns": "string | nil"
|
|
},
|
|
{
|
|
"description": "Return desktop title bar inset metrics when available.",
|
|
"detail": "bds.app.get_title_bar_metrics() -> table | nil",
|
|
"insert_text": "bds.app.get_title_bar_metrics()",
|
|
"label": "bds.app.get_title_bar_metrics",
|
|
"parameters": [],
|
|
"returns": "table | nil"
|
|
},
|
|
{
|
|
"description": "Append a line to the script output stream. Multiple arguments are joined with spaces. Output appears in the desktop app's Output panel (and on stdout in the CLI); Lua's global `print` is routed the same way.",
|
|
"detail": "bds.app.log(text: string) -> boolean",
|
|
"insert_text": "bds.app.log(\"Example content\")",
|
|
"label": "bds.app.log",
|
|
"parameters": [
|
|
{
|
|
"name": "text",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "boolean"
|
|
},
|
|
{
|
|
"description": "Notify the host application that the renderer is ready.",
|
|
"detail": "bds.app.notify_renderer_ready() -> boolean",
|
|
"insert_text": "bds.app.notify_renderer_ready()",
|
|
"label": "bds.app.notify_renderer_ready",
|
|
"parameters": [],
|
|
"returns": "boolean"
|
|
},
|
|
{
|
|
"description": "Open a folder in the system file manager.",
|
|
"detail": "bds.app.open_folder(folder_path: string) -> string",
|
|
"insert_text": "bds.app.open_folder(\"/path/to/item\")",
|
|
"label": "bds.app.open_folder",
|
|
"parameters": [
|
|
{
|
|
"name": "folder_path",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "string"
|
|
},
|
|
{
|
|
"description": "Read project metadata from a project folder path.",
|
|
"detail": "bds.app.read_project_metadata(folder_path: string) -> ProjectMetadata | nil",
|
|
"insert_text": "bds.app.read_project_metadata(\"/path/to/item\")",
|
|
"label": "bds.app.read_project_metadata",
|
|
"parameters": [
|
|
{
|
|
"name": "folder_path",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "ProjectMetadata | nil"
|
|
},
|
|
{
|
|
"description": "Show the native folder picker and return the chosen path.",
|
|
"detail": "bds.app.select_folder(title?: string) -> string | nil",
|
|
"insert_text": "bds.app.select_folder(\"Example post\")",
|
|
"label": "bds.app.select_folder",
|
|
"parameters": [
|
|
{
|
|
"name": "title",
|
|
"required": false,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "string | nil"
|
|
},
|
|
{
|
|
"description": "Set the current preview-post target used by desktop integrations.",
|
|
"detail": "bds.app.set_preview_post_target(post_id?: string) -> boolean",
|
|
"insert_text": "bds.app.set_preview_post_target(\"example-id\")",
|
|
"label": "bds.app.set_preview_post_target",
|
|
"parameters": [
|
|
{
|
|
"name": "post_id",
|
|
"required": false,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "boolean"
|
|
},
|
|
{
|
|
"description": "Reveal a file or folder in the system file manager.",
|
|
"detail": "bds.app.show_item_in_folder(item_path: string) -> nil",
|
|
"insert_text": "bds.app.show_item_in_folder(\"/path/to/item\")",
|
|
"label": "bds.app.show_item_in_folder",
|
|
"parameters": [
|
|
{
|
|
"name": "item_path",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "nil"
|
|
},
|
|
{
|
|
"description": "Trigger a native menu action by action id.",
|
|
"detail": "bds.app.trigger_menu_action(action: string) -> nil",
|
|
"insert_text": "bds.app.trigger_menu_action(\"new-post\")",
|
|
"label": "bds.app.trigger_menu_action",
|
|
"parameters": [
|
|
{
|
|
"name": "action",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "nil"
|
|
},
|
|
{
|
|
"description": "Report numeric progress for the current script execution, optionally including a total and a user-facing message.",
|
|
"detail": "bds.app.progress(current: number, total?: number, message?: string) -> boolean",
|
|
"insert_text": "bds.app.progress(1, 100, \"Working\")",
|
|
"label": "bds.app.progress",
|
|
"parameters": [
|
|
{
|
|
"name": "current",
|
|
"required": true,
|
|
"type": "number"
|
|
},
|
|
{
|
|
"name": "total",
|
|
"required": false,
|
|
"type": "number"
|
|
},
|
|
{
|
|
"name": "message",
|
|
"required": false,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "boolean"
|
|
},
|
|
{
|
|
"description": "Show bounded user feedback from a script. Transform scripts are subject to the runtime toast budget.",
|
|
"detail": "bds.app.toast(message: string) -> boolean",
|
|
"insert_text": "bds.app.toast(\"Working\")",
|
|
"label": "bds.app.toast",
|
|
"parameters": [
|
|
{
|
|
"name": "message",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "boolean"
|
|
},
|
|
{
|
|
"description": "Create a project.",
|
|
"detail": "bds.projects.create(data: table) -> ProjectData | nil",
|
|
"insert_text": "bds.projects.create({ title = \"Example\" })",
|
|
"label": "bds.projects.create",
|
|
"parameters": [
|
|
{
|
|
"name": "data",
|
|
"required": true,
|
|
"type": "table"
|
|
}
|
|
],
|
|
"returns": "ProjectData | nil"
|
|
},
|
|
{
|
|
"description": "Delete a project by id.",
|
|
"detail": "bds.projects.delete(id: string) -> boolean",
|
|
"insert_text": "bds.projects.delete(\"example-id\")",
|
|
"label": "bds.projects.delete",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "boolean"
|
|
},
|
|
{
|
|
"description": "Delete a project by id and remove its project directory.",
|
|
"detail": "bds.projects.delete_with_data(id: string) -> boolean",
|
|
"insert_text": "bds.projects.delete_with_data(\"example-id\")",
|
|
"label": "bds.projects.delete_with_data",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "boolean"
|
|
},
|
|
{
|
|
"description": "Fetch one project by id.",
|
|
"detail": "bds.projects.get(id: string) -> ProjectData | nil",
|
|
"insert_text": "bds.projects.get(\"example-id\")",
|
|
"label": "bds.projects.get",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "ProjectData | nil"
|
|
},
|
|
{
|
|
"description": "Fetch all projects.",
|
|
"detail": "bds.projects.get_all() -> ProjectData[]",
|
|
"insert_text": "bds.projects.get_all()",
|
|
"label": "bds.projects.get_all",
|
|
"parameters": [],
|
|
"returns": "ProjectData[]"
|
|
},
|
|
{
|
|
"description": "Fetch the active project.",
|
|
"detail": "bds.projects.get_active() -> ProjectData | nil",
|
|
"insert_text": "bds.projects.get_active()",
|
|
"label": "bds.projects.get_active",
|
|
"parameters": [],
|
|
"returns": "ProjectData | nil"
|
|
},
|
|
{
|
|
"description": "Set the active project by id.",
|
|
"detail": "bds.projects.set_active(id: string) -> ProjectData | nil",
|
|
"insert_text": "bds.projects.set_active(\"example-id\")",
|
|
"label": "bds.projects.set_active",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "ProjectData | nil"
|
|
},
|
|
{
|
|
"description": "Update a project by id.",
|
|
"detail": "bds.projects.update(id: string, data: table) -> ProjectData | nil",
|
|
"insert_text": "bds.projects.update(\"example-id\", { title = \"Example\" })",
|
|
"label": "bds.projects.update",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"required": true,
|
|
"type": "table"
|
|
}
|
|
],
|
|
"returns": "ProjectData | nil"
|
|
},
|
|
{
|
|
"description": "Read metadata for the current project.",
|
|
"detail": "bds.meta.get_project_metadata() -> ProjectMetadata",
|
|
"insert_text": "bds.meta.get_project_metadata()",
|
|
"label": "bds.meta.get_project_metadata",
|
|
"parameters": [],
|
|
"returns": "ProjectMetadata"
|
|
},
|
|
{
|
|
"description": "Update metadata for the current project. Keys omitted from updates keep their current values.",
|
|
"detail": "bds.meta.update_project_metadata(updates: table) -> ProjectMetadata | nil",
|
|
"insert_text": "bds.meta.update_project_metadata({ description = \"Updated description\" })",
|
|
"label": "bds.meta.update_project_metadata",
|
|
"parameters": [
|
|
{
|
|
"name": "updates",
|
|
"required": true,
|
|
"type": "table"
|
|
}
|
|
],
|
|
"returns": "ProjectMetadata | nil"
|
|
},
|
|
{
|
|
"description": "Replace project metadata fields for the current project.",
|
|
"detail": "bds.meta.set_project_metadata(updates: table) -> ProjectMetadata | nil",
|
|
"insert_text": "bds.meta.set_project_metadata({ description = \"Updated description\" })",
|
|
"label": "bds.meta.set_project_metadata",
|
|
"parameters": [
|
|
{
|
|
"name": "updates",
|
|
"required": true,
|
|
"type": "table"
|
|
}
|
|
],
|
|
"returns": "ProjectMetadata | nil"
|
|
},
|
|
{
|
|
"description": "Add a category to the current project.",
|
|
"detail": "bds.meta.add_category(name: string) -> ProjectMetadata | nil",
|
|
"insert_text": "bds.meta.add_category(\"Example\")",
|
|
"label": "bds.meta.add_category",
|
|
"parameters": [
|
|
{
|
|
"name": "name",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "ProjectMetadata | nil"
|
|
},
|
|
{
|
|
"description": "Remove a category from the current project.",
|
|
"detail": "bds.meta.remove_category(name: string) -> ProjectMetadata | nil",
|
|
"insert_text": "bds.meta.remove_category(\"Example\")",
|
|
"label": "bds.meta.remove_category",
|
|
"parameters": [
|
|
{
|
|
"name": "name",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "ProjectMetadata | nil"
|
|
},
|
|
{
|
|
"description": "Add a tag record to the current project if it does not already exist.",
|
|
"detail": "bds.meta.add_tag(name: string) -> string[]",
|
|
"insert_text": "bds.meta.add_tag(\"Example\")",
|
|
"label": "bds.meta.add_tag",
|
|
"parameters": [
|
|
{
|
|
"name": "name",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "string[]"
|
|
},
|
|
{
|
|
"description": "Remove a tag record from the current project by name.",
|
|
"detail": "bds.meta.remove_tag(name: string) -> string[]",
|
|
"insert_text": "bds.meta.remove_tag(\"Example\")",
|
|
"label": "bds.meta.remove_tag",
|
|
"parameters": [
|
|
{
|
|
"name": "name",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "string[]"
|
|
},
|
|
{
|
|
"description": "Get project categories.",
|
|
"detail": "bds.meta.get_categories() -> string[]",
|
|
"insert_text": "bds.meta.get_categories()",
|
|
"label": "bds.meta.get_categories",
|
|
"parameters": [],
|
|
"returns": "string[]"
|
|
},
|
|
{
|
|
"description": "Get tag names for the current project.",
|
|
"detail": "bds.meta.get_tags() -> string[]",
|
|
"insert_text": "bds.meta.get_tags()",
|
|
"label": "bds.meta.get_tags",
|
|
"parameters": [],
|
|
"returns": "string[]"
|
|
},
|
|
{
|
|
"description": "Get publishing preferences for the current project.",
|
|
"detail": "bds.meta.get_publishing_preferences() -> table | nil",
|
|
"insert_text": "bds.meta.get_publishing_preferences()",
|
|
"label": "bds.meta.get_publishing_preferences",
|
|
"parameters": [],
|
|
"returns": "table | nil"
|
|
},
|
|
{
|
|
"description": "Set publishing preferences for the current project.",
|
|
"detail": "bds.meta.set_publishing_preferences(prefs: table) -> table | nil",
|
|
"insert_text": "bds.meta.set_publishing_preferences({ publish_drafts = false })",
|
|
"label": "bds.meta.set_publishing_preferences",
|
|
"parameters": [
|
|
{
|
|
"name": "prefs",
|
|
"required": true,
|
|
"type": "table"
|
|
}
|
|
],
|
|
"returns": "table | nil"
|
|
},
|
|
{
|
|
"description": "Reset publishing preferences to defaults.",
|
|
"detail": "bds.meta.clear_publishing_preferences() -> table | nil",
|
|
"insert_text": "bds.meta.clear_publishing_preferences()",
|
|
"label": "bds.meta.clear_publishing_preferences",
|
|
"parameters": [],
|
|
"returns": "table | nil"
|
|
},
|
|
{
|
|
"description": "Synchronize startup metadata state and return tags, categories, and project metadata.",
|
|
"detail": "bds.meta.sync_on_startup() -> table",
|
|
"insert_text": "bds.meta.sync_on_startup()",
|
|
"label": "bds.meta.sync_on_startup",
|
|
"parameters": [],
|
|
"returns": "table"
|
|
},
|
|
{
|
|
"description": "Create a post in the current project.",
|
|
"detail": "bds.posts.create(data: table) -> PostData | nil",
|
|
"insert_text": "bds.posts.create({ title = \"Example\" })",
|
|
"label": "bds.posts.create",
|
|
"parameters": [
|
|
{
|
|
"name": "data",
|
|
"required": true,
|
|
"type": "table"
|
|
}
|
|
],
|
|
"returns": "PostData | nil"
|
|
},
|
|
{
|
|
"description": "Discard unpublished post changes and restore the last published version from disk.",
|
|
"detail": "bds.posts.discard(id: string) -> PostData | nil",
|
|
"insert_text": "bds.posts.discard(\"example-id\")",
|
|
"label": "bds.posts.discard",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "PostData | nil"
|
|
},
|
|
{
|
|
"description": "Filter posts using status, tags, categories, language, year, month, or date range fields.",
|
|
"detail": "bds.posts.filter(filters: table) -> PostData[] | nil",
|
|
"insert_text": "bds.posts.filter({ status = \"draft\" })",
|
|
"label": "bds.posts.filter",
|
|
"parameters": [
|
|
{
|
|
"name": "filters",
|
|
"required": true,
|
|
"type": "table"
|
|
}
|
|
],
|
|
"returns": "PostData[] | nil"
|
|
},
|
|
{
|
|
"description": "Generate a unique slug from a title, optionally excluding one post id.",
|
|
"detail": "bds.posts.generate_unique_slug(title: string, exclude_post_id?: string) -> string",
|
|
"insert_text": "bds.posts.generate_unique_slug(\"Example post\", \"example-id\")",
|
|
"label": "bds.posts.generate_unique_slug",
|
|
"parameters": [
|
|
{
|
|
"name": "title",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "exclude_post_id",
|
|
"required": false,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "string"
|
|
},
|
|
{
|
|
"description": "Fetch posts filtered by a specific status.",
|
|
"detail": "bds.posts.get_by_status(status: string) -> PostData[]",
|
|
"insert_text": "bds.posts.get_by_status(\"draft\")",
|
|
"label": "bds.posts.get_by_status",
|
|
"parameters": [
|
|
{
|
|
"name": "status",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "PostData[]"
|
|
},
|
|
{
|
|
"description": "Get post counts grouped by year and month.",
|
|
"detail": "bds.posts.get_by_year_month() -> table[]",
|
|
"insert_text": "bds.posts.get_by_year_month()",
|
|
"label": "bds.posts.get_by_year_month",
|
|
"parameters": [],
|
|
"returns": "table[]"
|
|
},
|
|
{
|
|
"description": "Return aggregate post dashboard counts for the current project.",
|
|
"detail": "bds.posts.get_dashboard_stats() -> table",
|
|
"insert_text": "bds.posts.get_dashboard_stats()",
|
|
"label": "bds.posts.get_dashboard_stats",
|
|
"parameters": [],
|
|
"returns": "table"
|
|
},
|
|
{
|
|
"description": "Return posts that link to the given post.",
|
|
"detail": "bds.posts.get_linked_by(post_id: string) -> table[]",
|
|
"insert_text": "bds.posts.get_linked_by(\"example-id\")",
|
|
"label": "bds.posts.get_linked_by",
|
|
"parameters": [
|
|
{
|
|
"name": "post_id",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "table[]"
|
|
},
|
|
{
|
|
"description": "Return posts linked from the given post.",
|
|
"detail": "bds.posts.get_links_to(post_id: string) -> table[]",
|
|
"insert_text": "bds.posts.get_links_to(\"example-id\")",
|
|
"label": "bds.posts.get_links_to",
|
|
"parameters": [
|
|
{
|
|
"name": "post_id",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "table[]"
|
|
},
|
|
{
|
|
"description": "Return the local preview URL for a post, optionally with draft and language query parameters.",
|
|
"detail": "bds.posts.get_preview_url(post_id: string, options?: table) -> string | nil",
|
|
"insert_text": "bds.posts.get_preview_url(\"example-id\", { language = \"en\" })",
|
|
"label": "bds.posts.get_preview_url",
|
|
"parameters": [
|
|
{
|
|
"name": "post_id",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "options",
|
|
"required": false,
|
|
"type": "table"
|
|
}
|
|
],
|
|
"returns": "string | nil"
|
|
},
|
|
{
|
|
"description": "Update a post by id.",
|
|
"detail": "bds.posts.update(id: string, data: table) -> PostData | nil",
|
|
"insert_text": "bds.posts.update(\"example-id\", { title = \"Example\" })",
|
|
"label": "bds.posts.update",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"required": true,
|
|
"type": "table"
|
|
}
|
|
],
|
|
"returns": "PostData | nil"
|
|
},
|
|
{
|
|
"description": "Delete a post by id.",
|
|
"detail": "bds.posts.delete(id: string) -> boolean",
|
|
"insert_text": "bds.posts.delete(\"example-id\")",
|
|
"label": "bds.posts.delete",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "boolean"
|
|
},
|
|
{
|
|
"description": "Fetch one post by id.",
|
|
"detail": "bds.posts.get(id: string) -> PostData | nil",
|
|
"insert_text": "bds.posts.get(\"example-id\")",
|
|
"label": "bds.posts.get",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "PostData | nil"
|
|
},
|
|
{
|
|
"description": "Fetch all posts in the current project.",
|
|
"detail": "bds.posts.get_all() -> PostData[]",
|
|
"insert_text": "bds.posts.get_all()",
|
|
"label": "bds.posts.get_all",
|
|
"parameters": [],
|
|
"returns": "PostData[]"
|
|
},
|
|
{
|
|
"description": "Fetch one post by slug.",
|
|
"detail": "bds.posts.get_by_slug(slug: string) -> PostData | nil",
|
|
"insert_text": "bds.posts.get_by_slug(\"example-post\")",
|
|
"label": "bds.posts.get_by_slug",
|
|
"parameters": [
|
|
{
|
|
"name": "slug",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "PostData | nil"
|
|
},
|
|
{
|
|
"description": "Get category names used by posts in the current project.",
|
|
"detail": "bds.posts.get_categories() -> string[]",
|
|
"insert_text": "bds.posts.get_categories()",
|
|
"label": "bds.posts.get_categories",
|
|
"parameters": [],
|
|
"returns": "string[]"
|
|
},
|
|
{
|
|
"description": "Get post categories with usage counts.",
|
|
"detail": "bds.posts.get_categories_with_counts() -> table[]",
|
|
"insert_text": "bds.posts.get_categories_with_counts()",
|
|
"label": "bds.posts.get_categories_with_counts",
|
|
"parameters": [],
|
|
"returns": "table[]"
|
|
},
|
|
{
|
|
"description": "Get tag names used by posts in the current project.",
|
|
"detail": "bds.posts.get_tags() -> string[]",
|
|
"insert_text": "bds.posts.get_tags()",
|
|
"label": "bds.posts.get_tags",
|
|
"parameters": [],
|
|
"returns": "string[]"
|
|
},
|
|
{
|
|
"description": "Get post tags with usage counts.",
|
|
"detail": "bds.posts.get_tags_with_counts() -> table[]",
|
|
"insert_text": "bds.posts.get_tags_with_counts()",
|
|
"label": "bds.posts.get_tags_with_counts",
|
|
"parameters": [],
|
|
"returns": "table[]"
|
|
},
|
|
{
|
|
"description": "Get a single translation for a post by language.",
|
|
"detail": "bds.posts.get_translation(post_id: string, language: string) -> table | nil",
|
|
"insert_text": "bds.posts.get_translation(\"example-id\", \"en\")",
|
|
"label": "bds.posts.get_translation",
|
|
"parameters": [
|
|
{
|
|
"name": "post_id",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "language",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "table | nil"
|
|
},
|
|
{
|
|
"description": "Get all translations for a post.",
|
|
"detail": "bds.posts.get_translations(post_id: string) -> table[]",
|
|
"insert_text": "bds.posts.get_translations(\"example-id\")",
|
|
"label": "bds.posts.get_translations",
|
|
"parameters": [
|
|
{
|
|
"name": "post_id",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "table[]"
|
|
},
|
|
{
|
|
"description": "Check whether a post has a published version.",
|
|
"detail": "bds.posts.has_published_version(post_id: string) -> boolean",
|
|
"insert_text": "bds.posts.has_published_version(\"example-id\")",
|
|
"label": "bds.posts.has_published_version",
|
|
"parameters": [
|
|
{
|
|
"name": "post_id",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "boolean"
|
|
},
|
|
{
|
|
"description": "Return whether a slug is available in the current project, optionally excluding one post id.",
|
|
"detail": "bds.posts.is_slug_available(slug: string, exclude_post_id?: string) -> boolean",
|
|
"insert_text": "bds.posts.is_slug_available(\"example-post\", \"example-id\")",
|
|
"label": "bds.posts.is_slug_available",
|
|
"parameters": [
|
|
{
|
|
"name": "slug",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "exclude_post_id",
|
|
"required": false,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "boolean"
|
|
},
|
|
{
|
|
"description": "Publish a post by id.",
|
|
"detail": "bds.posts.publish(id: string) -> PostData | nil",
|
|
"insert_text": "bds.posts.publish(\"example-id\")",
|
|
"label": "bds.posts.publish",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "PostData | nil"
|
|
},
|
|
{
|
|
"description": "Publish one translation of a post by language.",
|
|
"detail": "bds.posts.publish_translation(post_id: string, language: string) -> table | nil",
|
|
"insert_text": "bds.posts.publish_translation(\"example-id\", \"en\")",
|
|
"label": "bds.posts.publish_translation",
|
|
"parameters": [
|
|
{
|
|
"name": "post_id",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "language",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "table | nil"
|
|
},
|
|
{
|
|
"description": "Rebuild post records from published files.",
|
|
"detail": "bds.posts.rebuild_from_files() -> PostData[] | nil",
|
|
"insert_text": "bds.posts.rebuild_from_files()",
|
|
"label": "bds.posts.rebuild_from_files",
|
|
"parameters": [],
|
|
"returns": "PostData[] | nil"
|
|
},
|
|
{
|
|
"description": "Rebuild the post link graph for the current project.",
|
|
"detail": "bds.posts.rebuild_links() -> boolean",
|
|
"insert_text": "bds.posts.rebuild_links()",
|
|
"label": "bds.posts.rebuild_links",
|
|
"parameters": [],
|
|
"returns": "boolean"
|
|
},
|
|
{
|
|
"description": "Reindex post and media search text for the current project.",
|
|
"detail": "bds.posts.reindex_text() -> boolean",
|
|
"insert_text": "bds.posts.reindex_text()",
|
|
"label": "bds.posts.reindex_text",
|
|
"parameters": [],
|
|
"returns": "boolean"
|
|
},
|
|
{
|
|
"description": "Search posts by free-text query.",
|
|
"detail": "bds.posts.search(query: string) -> PostData[] | nil",
|
|
"insert_text": "bds.posts.search(\"rust\")",
|
|
"label": "bds.posts.search",
|
|
"parameters": [
|
|
{
|
|
"name": "query",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "PostData[] | nil"
|
|
},
|
|
{
|
|
"description": "Delete a media translation by language.",
|
|
"detail": "bds.media.delete_translation(media_id: string, language: string) -> boolean",
|
|
"insert_text": "bds.media.delete_translation(\"example-id\", \"en\")",
|
|
"label": "bds.media.delete_translation",
|
|
"parameters": [
|
|
{
|
|
"name": "media_id",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "language",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "boolean"
|
|
},
|
|
{
|
|
"description": "Filter media using year, month, tags, language, or date range fields.",
|
|
"detail": "bds.media.filter(filters: table) -> MediaData[]",
|
|
"insert_text": "bds.media.filter({ status = \"draft\" })",
|
|
"label": "bds.media.filter",
|
|
"parameters": [
|
|
{
|
|
"name": "filters",
|
|
"required": true,
|
|
"type": "table"
|
|
}
|
|
],
|
|
"returns": "MediaData[]"
|
|
},
|
|
{
|
|
"description": "Import media into the current project.",
|
|
"detail": "bds.media.import(data: table) -> MediaData | nil",
|
|
"insert_text": "bds.media.import({ title = \"Example\" })",
|
|
"label": "bds.media.import",
|
|
"parameters": [
|
|
{
|
|
"name": "data",
|
|
"required": true,
|
|
"type": "table"
|
|
}
|
|
],
|
|
"returns": "MediaData | nil"
|
|
},
|
|
{
|
|
"description": "Get media counts grouped by year and month.",
|
|
"detail": "bds.media.get_by_year_month() -> table[]",
|
|
"insert_text": "bds.media.get_by_year_month()",
|
|
"label": "bds.media.get_by_year_month",
|
|
"parameters": [],
|
|
"returns": "table[]"
|
|
},
|
|
{
|
|
"description": "Return the absolute file path for a media item.",
|
|
"detail": "bds.media.get_file_path(media_id: string) -> string | nil",
|
|
"insert_text": "bds.media.get_file_path(\"example-id\")",
|
|
"label": "bds.media.get_file_path",
|
|
"parameters": [
|
|
{
|
|
"name": "media_id",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "string | nil"
|
|
},
|
|
{
|
|
"description": "Update media metadata by id.",
|
|
"detail": "bds.media.update(id: string, data: table) -> MediaData | nil",
|
|
"insert_text": "bds.media.update(\"example-id\", { title = \"Example\" })",
|
|
"label": "bds.media.update",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"required": true,
|
|
"type": "table"
|
|
}
|
|
],
|
|
"returns": "MediaData | nil"
|
|
},
|
|
{
|
|
"description": "Delete a media item by id.",
|
|
"detail": "bds.media.delete(id: string) -> boolean",
|
|
"insert_text": "bds.media.delete(\"example-id\")",
|
|
"label": "bds.media.delete",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "boolean"
|
|
},
|
|
{
|
|
"description": "Fetch one media item by id.",
|
|
"detail": "bds.media.get(id: string) -> MediaData | nil",
|
|
"insert_text": "bds.media.get(\"example-id\")",
|
|
"label": "bds.media.get",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "MediaData | nil"
|
|
},
|
|
{
|
|
"description": "Fetch all media in the current project.",
|
|
"detail": "bds.media.get_all() -> MediaData[]",
|
|
"insert_text": "bds.media.get_all()",
|
|
"label": "bds.media.get_all",
|
|
"parameters": [],
|
|
"returns": "MediaData[]"
|
|
},
|
|
{
|
|
"description": "Return tag names used by media in the current project.",
|
|
"detail": "bds.media.get_tags() -> string[]",
|
|
"insert_text": "bds.media.get_tags()",
|
|
"label": "bds.media.get_tags",
|
|
"parameters": [],
|
|
"returns": "string[]"
|
|
},
|
|
{
|
|
"description": "Return media tags with usage counts.",
|
|
"detail": "bds.media.get_tags_with_counts() -> table[]",
|
|
"insert_text": "bds.media.get_tags_with_counts()",
|
|
"label": "bds.media.get_tags_with_counts",
|
|
"parameters": [],
|
|
"returns": "table[]"
|
|
},
|
|
{
|
|
"description": "Return a media thumbnail as a data URL for the requested size.",
|
|
"detail": "bds.media.get_thumbnail(media_id: string, size?: string) -> string | nil",
|
|
"insert_text": "bds.media.get_thumbnail(\"example-id\", \"small\")",
|
|
"label": "bds.media.get_thumbnail",
|
|
"parameters": [
|
|
{
|
|
"name": "media_id",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "size",
|
|
"required": false,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "string | nil"
|
|
},
|
|
{
|
|
"description": "Return one media translation by language.",
|
|
"detail": "bds.media.get_translation(media_id: string, language: string) -> table | nil",
|
|
"insert_text": "bds.media.get_translation(\"example-id\", \"en\")",
|
|
"label": "bds.media.get_translation",
|
|
"parameters": [
|
|
{
|
|
"name": "media_id",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "language",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "table | nil"
|
|
},
|
|
{
|
|
"description": "Return all translations for a media item.",
|
|
"detail": "bds.media.get_translations(media_id: string) -> table[]",
|
|
"insert_text": "bds.media.get_translations(\"example-id\")",
|
|
"label": "bds.media.get_translations",
|
|
"parameters": [
|
|
{
|
|
"name": "media_id",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "table[]"
|
|
},
|
|
{
|
|
"description": "Return the project-relative public URL path for a media item.",
|
|
"detail": "bds.media.get_url(media_id: string) -> string | nil",
|
|
"insert_text": "bds.media.get_url(\"example-id\")",
|
|
"label": "bds.media.get_url",
|
|
"parameters": [
|
|
{
|
|
"name": "media_id",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "string | nil"
|
|
},
|
|
{
|
|
"description": "Rebuild media records from sidecar files on disk.",
|
|
"detail": "bds.media.rebuild_from_files() -> MediaData[] | nil",
|
|
"insert_text": "bds.media.rebuild_from_files()",
|
|
"label": "bds.media.rebuild_from_files",
|
|
"parameters": [],
|
|
"returns": "MediaData[] | nil"
|
|
},
|
|
{
|
|
"description": "Generate thumbnails for media items that are missing them.",
|
|
"detail": "bds.media.regenerate_missing_thumbnails() -> table",
|
|
"insert_text": "bds.media.regenerate_missing_thumbnails()",
|
|
"label": "bds.media.regenerate_missing_thumbnails",
|
|
"parameters": [],
|
|
"returns": "table"
|
|
},
|
|
{
|
|
"description": "Regenerate all thumbnails for one media item.",
|
|
"detail": "bds.media.regenerate_thumbnails(media_id: string) -> table | nil",
|
|
"insert_text": "bds.media.regenerate_thumbnails(\"example-id\")",
|
|
"label": "bds.media.regenerate_thumbnails",
|
|
"parameters": [
|
|
{
|
|
"name": "media_id",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "table | nil"
|
|
},
|
|
{
|
|
"description": "Reindex post and media search text for the current project.",
|
|
"detail": "bds.media.reindex_text() -> boolean",
|
|
"insert_text": "bds.media.reindex_text()",
|
|
"label": "bds.media.reindex_text",
|
|
"parameters": [],
|
|
"returns": "boolean"
|
|
},
|
|
{
|
|
"description": "Replace the binary file behind an existing media item.",
|
|
"detail": "bds.media.replace_file(media_id: string, source_path: string) -> MediaData | nil",
|
|
"insert_text": "bds.media.replace_file(\"example-id\", \"/path/to/item\")",
|
|
"label": "bds.media.replace_file",
|
|
"parameters": [
|
|
{
|
|
"name": "media_id",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "source_path",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "MediaData | nil"
|
|
},
|
|
{
|
|
"description": "Search media by free-text query.",
|
|
"detail": "bds.media.search(query: string) -> MediaData[] | nil",
|
|
"insert_text": "bds.media.search(\"rust\")",
|
|
"label": "bds.media.search",
|
|
"parameters": [
|
|
{
|
|
"name": "query",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "MediaData[] | nil"
|
|
},
|
|
{
|
|
"description": "Create or update a media translation.",
|
|
"detail": "bds.media.upsert_translation(media_id: string, language: string, data: table) -> table | nil",
|
|
"insert_text": "bds.media.upsert_translation(\"example-id\", \"en\", { title = \"Example\" })",
|
|
"label": "bds.media.upsert_translation",
|
|
"parameters": [
|
|
{
|
|
"name": "media_id",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "language",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"required": true,
|
|
"type": "table"
|
|
}
|
|
],
|
|
"returns": "table | nil"
|
|
},
|
|
{
|
|
"description": "Create a script in the current project.",
|
|
"detail": "bds.scripts.create(data: table) -> ScriptData | nil",
|
|
"insert_text": "bds.scripts.create({ title = \"Example\" })",
|
|
"label": "bds.scripts.create",
|
|
"parameters": [
|
|
{
|
|
"name": "data",
|
|
"required": true,
|
|
"type": "table"
|
|
}
|
|
],
|
|
"returns": "ScriptData | nil"
|
|
},
|
|
{
|
|
"description": "Update a script by id.",
|
|
"detail": "bds.scripts.update(id: string, data: table) -> ScriptData | nil",
|
|
"insert_text": "bds.scripts.update(\"example-id\", { title = \"Example\" })",
|
|
"label": "bds.scripts.update",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"required": true,
|
|
"type": "table"
|
|
}
|
|
],
|
|
"returns": "ScriptData | nil"
|
|
},
|
|
{
|
|
"description": "Delete a script by id.",
|
|
"detail": "bds.scripts.delete(id: string) -> boolean",
|
|
"insert_text": "bds.scripts.delete(\"example-id\")",
|
|
"label": "bds.scripts.delete",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "boolean"
|
|
},
|
|
{
|
|
"description": "Fetch one script by id.",
|
|
"detail": "bds.scripts.get(id: string) -> ScriptData | nil",
|
|
"insert_text": "bds.scripts.get(\"example-id\")",
|
|
"label": "bds.scripts.get",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "ScriptData | nil"
|
|
},
|
|
{
|
|
"description": "Fetch all scripts in the current project.",
|
|
"detail": "bds.scripts.get_all() -> ScriptData[]",
|
|
"insert_text": "bds.scripts.get_all()",
|
|
"label": "bds.scripts.get_all",
|
|
"parameters": [],
|
|
"returns": "ScriptData[]"
|
|
},
|
|
{
|
|
"description": "Publish a script by id.",
|
|
"detail": "bds.scripts.publish(id: string) -> ScriptData | nil",
|
|
"insert_text": "bds.scripts.publish(\"example-id\")",
|
|
"label": "bds.scripts.publish",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "ScriptData | nil"
|
|
},
|
|
{
|
|
"description": "Rebuild script records from published files.",
|
|
"detail": "bds.scripts.rebuild_from_files() -> ScriptData[] | nil",
|
|
"insert_text": "bds.scripts.rebuild_from_files()",
|
|
"label": "bds.scripts.rebuild_from_files",
|
|
"parameters": [],
|
|
"returns": "ScriptData[] | nil"
|
|
},
|
|
{
|
|
"description": "Create a template in the current project.",
|
|
"detail": "bds.templates.create(data: table) -> TemplateData | nil",
|
|
"insert_text": "bds.templates.create({ title = \"Example\" })",
|
|
"label": "bds.templates.create",
|
|
"parameters": [
|
|
{
|
|
"name": "data",
|
|
"required": true,
|
|
"type": "table"
|
|
}
|
|
],
|
|
"returns": "TemplateData | nil"
|
|
},
|
|
{
|
|
"description": "Update a template by id.",
|
|
"detail": "bds.templates.update(id: string, data: table) -> TemplateData | nil",
|
|
"insert_text": "bds.templates.update(\"example-id\", { title = \"Example\" })",
|
|
"label": "bds.templates.update",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"required": true,
|
|
"type": "table"
|
|
}
|
|
],
|
|
"returns": "TemplateData | nil"
|
|
},
|
|
{
|
|
"description": "Delete a template by id.",
|
|
"detail": "bds.templates.delete(id: string) -> boolean",
|
|
"insert_text": "bds.templates.delete(\"example-id\")",
|
|
"label": "bds.templates.delete",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "boolean"
|
|
},
|
|
{
|
|
"description": "Fetch one template by id.",
|
|
"detail": "bds.templates.get(id: string) -> TemplateData | nil",
|
|
"insert_text": "bds.templates.get(\"example-id\")",
|
|
"label": "bds.templates.get",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "TemplateData | nil"
|
|
},
|
|
{
|
|
"description": "Fetch all templates in the current project.",
|
|
"detail": "bds.templates.get_all() -> TemplateData[]",
|
|
"insert_text": "bds.templates.get_all()",
|
|
"label": "bds.templates.get_all",
|
|
"parameters": [],
|
|
"returns": "TemplateData[]"
|
|
},
|
|
{
|
|
"description": "Publish a template by id.",
|
|
"detail": "bds.templates.publish(id: string) -> TemplateData | nil",
|
|
"insert_text": "bds.templates.publish(\"example-id\")",
|
|
"label": "bds.templates.publish",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "TemplateData | nil"
|
|
},
|
|
{
|
|
"description": "Fetch enabled templates filtered by kind.",
|
|
"detail": "bds.templates.get_enabled_by_kind(kind: string) -> TemplateData[]",
|
|
"insert_text": "bds.templates.get_enabled_by_kind(\"utility\")",
|
|
"label": "bds.templates.get_enabled_by_kind",
|
|
"parameters": [
|
|
{
|
|
"name": "kind",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "TemplateData[]"
|
|
},
|
|
{
|
|
"description": "Rebuild template records from published files.",
|
|
"detail": "bds.templates.rebuild_from_files() -> TemplateData[] | nil",
|
|
"insert_text": "bds.templates.rebuild_from_files()",
|
|
"label": "bds.templates.rebuild_from_files",
|
|
"parameters": [],
|
|
"returns": "TemplateData[] | nil"
|
|
},
|
|
{
|
|
"description": "Validate Liquid template syntax.",
|
|
"detail": "bds.templates.validate(content: string) -> ValidationResult | nil",
|
|
"insert_text": "bds.templates.validate(\"Example content\")",
|
|
"label": "bds.templates.validate",
|
|
"parameters": [
|
|
{
|
|
"name": "content",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "ValidationResult | nil"
|
|
},
|
|
{
|
|
"description": "Create a tag in the current project.",
|
|
"detail": "bds.tags.create(data: table) -> TagData | nil",
|
|
"insert_text": "bds.tags.create({ title = \"Example\" })",
|
|
"label": "bds.tags.create",
|
|
"parameters": [
|
|
{
|
|
"name": "data",
|
|
"required": true,
|
|
"type": "table"
|
|
}
|
|
],
|
|
"returns": "TagData | nil"
|
|
},
|
|
{
|
|
"description": "Update a tag by id.",
|
|
"detail": "bds.tags.update(id: string, data: table) -> TagData | nil",
|
|
"insert_text": "bds.tags.update(\"example-id\", { title = \"Example\" })",
|
|
"label": "bds.tags.update",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"required": true,
|
|
"type": "table"
|
|
}
|
|
],
|
|
"returns": "TagData | nil"
|
|
},
|
|
{
|
|
"description": "Delete a tag by id.",
|
|
"detail": "bds.tags.delete(id: string) -> boolean",
|
|
"insert_text": "bds.tags.delete(\"example-id\")",
|
|
"label": "bds.tags.delete",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "boolean"
|
|
},
|
|
{
|
|
"description": "Fetch one tag by id.",
|
|
"detail": "bds.tags.get(id: string) -> TagData | nil",
|
|
"insert_text": "bds.tags.get(\"example-id\")",
|
|
"label": "bds.tags.get",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "TagData | nil"
|
|
},
|
|
{
|
|
"description": "Fetch all tags in the current project.",
|
|
"detail": "bds.tags.get_all() -> TagData[]",
|
|
"insert_text": "bds.tags.get_all()",
|
|
"label": "bds.tags.get_all",
|
|
"parameters": [],
|
|
"returns": "TagData[]"
|
|
},
|
|
{
|
|
"description": "Fetch one tag by name.",
|
|
"detail": "bds.tags.get_by_name(name: string) -> TagData | nil",
|
|
"insert_text": "bds.tags.get_by_name(\"Example\")",
|
|
"label": "bds.tags.get_by_name",
|
|
"parameters": [
|
|
{
|
|
"name": "name",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "TagData | nil"
|
|
},
|
|
{
|
|
"description": "Get post ids using a specific tag.",
|
|
"detail": "bds.tags.get_posts_with_tag(tag_id: string) -> string[]",
|
|
"insert_text": "bds.tags.get_posts_with_tag(\"example-id\")",
|
|
"label": "bds.tags.get_posts_with_tag",
|
|
"parameters": [
|
|
{
|
|
"name": "tag_id",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "string[]"
|
|
},
|
|
{
|
|
"description": "Fetch tags with usage counts.",
|
|
"detail": "bds.tags.get_with_counts() -> table[]",
|
|
"insert_text": "bds.tags.get_with_counts()",
|
|
"label": "bds.tags.get_with_counts",
|
|
"parameters": [],
|
|
"returns": "table[]"
|
|
},
|
|
{
|
|
"description": "Merge source tags into a target tag.",
|
|
"detail": "bds.tags.merge(source_tag_ids: table, target_tag_id: string) -> boolean",
|
|
"insert_text": "bds.tags.merge({ \"tag-1\", \"tag-2\" }, \"example-id\")",
|
|
"label": "bds.tags.merge",
|
|
"parameters": [
|
|
{
|
|
"name": "source_tag_ids",
|
|
"required": true,
|
|
"type": "table"
|
|
},
|
|
{
|
|
"name": "target_tag_id",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "boolean"
|
|
},
|
|
{
|
|
"description": "Rename a tag by id.",
|
|
"detail": "bds.tags.rename(id: string, new_name: string) -> TagData | nil",
|
|
"insert_text": "bds.tags.rename(\"example-id\", \"Example\")",
|
|
"label": "bds.tags.rename",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "new_name",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "TagData | nil"
|
|
},
|
|
{
|
|
"description": "Sync tag records from post tags.",
|
|
"detail": "bds.tags.sync_from_posts() -> TagData[] | nil",
|
|
"insert_text": "bds.tags.sync_from_posts()",
|
|
"label": "bds.tags.sync_from_posts",
|
|
"parameters": [],
|
|
"returns": "TagData[] | nil"
|
|
},
|
|
{
|
|
"description": "Fetch one task by id.",
|
|
"detail": "bds.tasks.get(id: string) -> TaskData | nil",
|
|
"insert_text": "bds.tasks.get(\"example-id\")",
|
|
"label": "bds.tasks.get",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "TaskData | nil"
|
|
},
|
|
{
|
|
"description": "Fetch the current task status snapshot.",
|
|
"detail": "bds.tasks.status_snapshot() -> TaskStatus",
|
|
"insert_text": "bds.tasks.status_snapshot()",
|
|
"label": "bds.tasks.status_snapshot",
|
|
"parameters": [],
|
|
"returns": "TaskStatus"
|
|
},
|
|
{
|
|
"description": "Cancel a task by id.",
|
|
"detail": "bds.tasks.cancel(id: string) -> boolean",
|
|
"insert_text": "bds.tasks.cancel(\"example-id\")",
|
|
"label": "bds.tasks.cancel",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "boolean"
|
|
},
|
|
{
|
|
"description": "Fetch all tasks currently tracked by the task manager.",
|
|
"detail": "bds.tasks.get_all() -> TaskData[]",
|
|
"insert_text": "bds.tasks.get_all()",
|
|
"label": "bds.tasks.get_all",
|
|
"parameters": [],
|
|
"returns": "TaskData[]"
|
|
},
|
|
{
|
|
"description": "Fetch running tasks currently tracked by the task manager.",
|
|
"detail": "bds.tasks.get_running() -> TaskData[]",
|
|
"insert_text": "bds.tasks.get_running()",
|
|
"label": "bds.tasks.get_running",
|
|
"parameters": [],
|
|
"returns": "TaskData[]"
|
|
},
|
|
{
|
|
"description": "Clear completed tasks from the in-memory task list.",
|
|
"detail": "bds.tasks.clear_completed() -> boolean",
|
|
"insert_text": "bds.tasks.clear_completed()",
|
|
"label": "bds.tasks.clear_completed",
|
|
"parameters": [],
|
|
"returns": "boolean"
|
|
},
|
|
{
|
|
"description": "Return whether Git is available on the current machine.",
|
|
"detail": "bds.sync.check_availability() -> boolean",
|
|
"insert_text": "bds.sync.check_availability()",
|
|
"label": "bds.sync.check_availability",
|
|
"parameters": [],
|
|
"returns": "boolean"
|
|
},
|
|
{
|
|
"description": "Return repository state for the active project using the GitRepositoryState shape.",
|
|
"detail": "bds.sync.get_repo_state() -> table | nil",
|
|
"insert_text": "bds.sync.get_repo_state()",
|
|
"label": "bds.sync.get_repo_state",
|
|
"parameters": [],
|
|
"returns": "table | nil"
|
|
},
|
|
{
|
|
"description": "Return Git status for the active project using the GitStatusResult shape.",
|
|
"detail": "bds.sync.get_status() -> table | nil",
|
|
"insert_text": "bds.sync.get_status()",
|
|
"label": "bds.sync.get_status",
|
|
"parameters": [],
|
|
"returns": "table | nil"
|
|
},
|
|
{
|
|
"description": "Return commit history for the active project using the GitHistoryResult shape.",
|
|
"detail": "bds.sync.get_history() -> table | nil",
|
|
"insert_text": "bds.sync.get_history()",
|
|
"label": "bds.sync.get_history",
|
|
"parameters": [],
|
|
"returns": "table | nil"
|
|
},
|
|
{
|
|
"description": "Return the GitRepositoryState for the active project, matching the bDS2 remote-state alias.",
|
|
"detail": "bds.sync.get_remote_state() -> table | nil",
|
|
"insert_text": "bds.sync.get_remote_state()",
|
|
"label": "bds.sync.get_remote_state",
|
|
"parameters": [],
|
|
"returns": "table | nil"
|
|
},
|
|
{
|
|
"description": "Fetch and prune remote Git refs for the active project, returning GitNetworkResult; unavailable in airplane mode.",
|
|
"detail": "bds.sync.fetch() -> table | nil",
|
|
"insert_text": "bds.sync.fetch()",
|
|
"label": "bds.sync.fetch",
|
|
"parameters": [],
|
|
"returns": "table | nil"
|
|
},
|
|
{
|
|
"description": "Fast-forward pull the active project, reconcile its cache database, and return GitNetworkResult; unavailable in airplane mode.",
|
|
"detail": "bds.sync.pull() -> table | nil",
|
|
"insert_text": "bds.sync.pull()",
|
|
"label": "bds.sync.pull",
|
|
"parameters": [],
|
|
"returns": "table | nil"
|
|
},
|
|
{
|
|
"description": "Push the active project to its configured remote and return GitNetworkResult; unavailable in airplane mode.",
|
|
"detail": "bds.sync.push() -> table | nil",
|
|
"insert_text": "bds.sync.push()",
|
|
"label": "bds.sync.push",
|
|
"parameters": [],
|
|
"returns": "table | nil"
|
|
},
|
|
{
|
|
"description": "Stage and commit every pending change in the active project, returning GitCommitResult.",
|
|
"detail": "bds.sync.commit_all(message: string) -> table | nil",
|
|
"insert_text": "bds.sync.commit_all(\"Working\")",
|
|
"label": "bds.sync.commit_all",
|
|
"parameters": [
|
|
{
|
|
"name": "message",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "table | nil"
|
|
},
|
|
{
|
|
"description": "Upload the rendered site using the provided publishing credentials.",
|
|
"detail": "bds.publish.upload_site(credentials: table) -> TaskData | nil",
|
|
"insert_text": "bds.publish.upload_site({ host = \"example.com\", username = \"author\" })",
|
|
"label": "bds.publish.upload_site",
|
|
"parameters": [
|
|
{
|
|
"name": "credentials",
|
|
"required": true,
|
|
"type": "table"
|
|
}
|
|
],
|
|
"returns": "TaskData | nil"
|
|
},
|
|
{
|
|
"description": "Detect the language of post title and content.",
|
|
"detail": "bds.chat.detect_post_language(title: string, content: string) -> table",
|
|
"insert_text": "bds.chat.detect_post_language(\"Example post\", \"Example content\")",
|
|
"label": "bds.chat.detect_post_language",
|
|
"parameters": [
|
|
{
|
|
"name": "title",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "content",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "table"
|
|
},
|
|
{
|
|
"description": "Analyze a post using the configured AI runtime.",
|
|
"detail": "bds.chat.analyze_post(post_id: string) -> table | nil",
|
|
"insert_text": "bds.chat.analyze_post(\"example-id\")",
|
|
"label": "bds.chat.analyze_post",
|
|
"parameters": [
|
|
{
|
|
"name": "post_id",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "table | nil"
|
|
},
|
|
{
|
|
"description": "Translate a post and persist the translation.",
|
|
"detail": "bds.chat.translate_post(post_id: string, language: string) -> table | nil",
|
|
"insert_text": "bds.chat.translate_post(\"example-id\", \"en\")",
|
|
"label": "bds.chat.translate_post",
|
|
"parameters": [
|
|
{
|
|
"name": "post_id",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "language",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "table | nil"
|
|
},
|
|
{
|
|
"description": "Analyze a media image using the configured AI runtime.",
|
|
"detail": "bds.chat.analyze_media_image(media_id: string) -> table | nil",
|
|
"insert_text": "bds.chat.analyze_media_image(\"example-id\")",
|
|
"label": "bds.chat.analyze_media_image",
|
|
"parameters": [
|
|
{
|
|
"name": "media_id",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "table | nil"
|
|
},
|
|
{
|
|
"description": "Detect the language of media metadata.",
|
|
"detail": "bds.chat.detect_media_language(title: string, alt?: string, caption?: string) -> table",
|
|
"insert_text": "bds.chat.detect_media_language(\"Example post\", \"A descriptive alternative\", \"Example caption\")",
|
|
"label": "bds.chat.detect_media_language",
|
|
"parameters": [
|
|
{
|
|
"name": "title",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "alt",
|
|
"required": false,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "caption",
|
|
"required": false,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "table"
|
|
},
|
|
{
|
|
"description": "Translate media metadata and persist the translation.",
|
|
"detail": "bds.chat.translate_media_metadata(media_id: string, language: string) -> table | nil",
|
|
"insert_text": "bds.chat.translate_media_metadata(\"example-id\", \"en\")",
|
|
"label": "bds.chat.translate_media_metadata",
|
|
"parameters": [
|
|
{
|
|
"name": "media_id",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "language",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "table | nil"
|
|
},
|
|
{
|
|
"description": "Compute similarity scores from one source post to target posts.",
|
|
"detail": "bds.embeddings.compute_similarities(post_id: string, target_ids: table) -> table | nil",
|
|
"insert_text": "bds.embeddings.compute_similarities(\"example-id\", { title = \"Example\" })",
|
|
"label": "bds.embeddings.compute_similarities",
|
|
"parameters": [
|
|
{
|
|
"name": "post_id",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "target_ids",
|
|
"required": true,
|
|
"type": "table"
|
|
}
|
|
],
|
|
"returns": "table | nil"
|
|
},
|
|
{
|
|
"description": "Dismiss a duplicate candidate pair.",
|
|
"detail": "bds.embeddings.dismiss_pair(post_id_a: string, post_id_b: string) -> boolean",
|
|
"insert_text": "bds.embeddings.dismiss_pair(\"example\", \"example\")",
|
|
"label": "bds.embeddings.dismiss_pair",
|
|
"parameters": [
|
|
{
|
|
"name": "post_id_a",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "post_id_b",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"returns": "boolean"
|
|
},
|
|
{
|
|
"description": "Find duplicate post candidates for the current project.",
|
|
"detail": "bds.embeddings.find_duplicates() -> table | nil",
|
|
"insert_text": "bds.embeddings.find_duplicates()",
|
|
"label": "bds.embeddings.find_duplicates",
|
|
"parameters": [],
|
|
"returns": "table | nil"
|
|
},
|
|
{
|
|
"description": "Find posts similar to the given post id.",
|
|
"detail": "bds.embeddings.find_similar(post_id: string, limit?: integer) -> table | nil",
|
|
"insert_text": "bds.embeddings.find_similar(\"example-id\", nil)",
|
|
"label": "bds.embeddings.find_similar",
|
|
"parameters": [
|
|
{
|
|
"name": "post_id",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "limit",
|
|
"required": false,
|
|
"type": "integer"
|
|
}
|
|
],
|
|
"returns": "table | nil"
|
|
},
|
|
{
|
|
"description": "Get embedding index progress for the current project.",
|
|
"detail": "bds.embeddings.get_progress() -> table | nil",
|
|
"insert_text": "bds.embeddings.get_progress()",
|
|
"label": "bds.embeddings.get_progress",
|
|
"parameters": [],
|
|
"returns": "table | nil"
|
|
},
|
|
{
|
|
"description": "Index posts missing embeddings for the current project.",
|
|
"detail": "bds.embeddings.index_unindexed_posts() -> table | nil",
|
|
"insert_text": "bds.embeddings.index_unindexed_posts()",
|
|
"label": "bds.embeddings.index_unindexed_posts",
|
|
"parameters": [],
|
|
"returns": "table | nil"
|
|
},
|
|
{
|
|
"description": "Suggest tags for a post from semantic similarity.",
|
|
"detail": "bds.embeddings.suggest_tags(post_id: string, exclude_tags?: table) -> table | nil",
|
|
"insert_text": "bds.embeddings.suggest_tags(\"example-id\", { title = \"Example\" })",
|
|
"label": "bds.embeddings.suggest_tags",
|
|
"parameters": [
|
|
{
|
|
"name": "post_id",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "exclude_tags",
|
|
"required": false,
|
|
"type": "table"
|
|
}
|
|
],
|
|
"returns": "table | nil"
|
|
},
|
|
{
|
|
"description": "Report progress for the current managed job.",
|
|
"detail": "bds.report_progress(payload: table) -> boolean",
|
|
"insert_text": "bds.report_progress({ current = 1, total = 10, message = \"Working\" })",
|
|
"label": "bds.report_progress",
|
|
"parameters": [
|
|
{
|
|
"name": "payload",
|
|
"required": true,
|
|
"type": "table"
|
|
}
|
|
],
|
|
"returns": "boolean"
|
|
}
|
|
]
|