Skip to content

✨ Feat: add ASSET_OWNER role, enforce asset visibility, and refine no…#3042

Open
Lifeng-Chen wants to merge 2 commits into
developfrom
clf/lianyong_asset_owner
Open

✨ Feat: add ASSET_OWNER role, enforce asset visibility, and refine no…#3042
Lifeng-Chen wants to merge 2 commits into
developfrom
clf/lianyong_asset_owner

Conversation

@Lifeng-Chen
Copy link
Copy Markdown

…rthbound knowledge APIs

  • Introduce ASSET_OWNER role with virtual tenant scope (asset_owner_tenant_id) and invitation bootstrap flow
  • Add/adjust role permissions and tenant migrations for ASSET_OWNER-scoped resources (agents, skills, models, tools, invitations)
  • Enforce visibility rules: hide ASSET_OWNER agent prompts for non-ASSET_OWNER callers (prompts_hidden) and restrict ASSET_OWNER skills/docs/files to asset-owner scope
  • Tighten attachment access control for attachments/asset_owner/{user_id} while keeping knowledge_base files readable for authenticated users
  • Refine /nb/v1/knowledge endpoints and parameters for index and file operations (list/create/delete indices, list files, delete documents, upload/download)

…rthbound knowledge APIs

* Introduce ASSET_OWNER role with virtual tenant scope (asset_owner_tenant_id) and invitation bootstrap flow
* Add/adjust role permissions and tenant migrations for ASSET_OWNER-scoped resources (agents, skills, models, tools, invitations)
* Enforce visibility rules: hide ASSET_OWNER agent prompts for non-ASSET_OWNER callers (prompts_hidden) and restrict ASSET_OWNER skills/docs/files to asset-owner scope
* Tighten attachment access control for attachments/asset_owner/{user_id} while keeping knowledge_base files readable for authenticated users
* Refine /nb/v1/knowledge endpoints and parameters for index and file operations (list/create/delete indices, list files, delete documents, upload/download)
Merge develop's effectiveIndexName fallback for chunk CRUD/search APIs
while keeping embedding model mismatch validation before hybrid search.
Comment on lines +152 to +154
return await ElasticSearchService.full_delete_knowledge_base(
index_name, vdb_core, ctx.user_id
)
Comment on lines +353 to +361
content={
"message": (
"Files uploaded and processing triggered successfully"
),
"uploaded_filenames": uploaded_filenames,
"uploaded_file_paths": uploaded_file_paths,
"errors": errors,
"process_tasks": process_result,
},
if download == "redirect":
result = await get_file_url_impl(
object_name=object_name, expires=expires)
return RedirectResponse(url=result["url"])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants