How to use GitHub
- Please use the 馃憤 reaction to show that you are interested into the same feature.
- Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
- Subscribe to receive notifications on status change and new comments.
Feature request
Which Nextcloud Version are you currently using: 34.0.4 (Context Agent 2.8.0, Collectives 4.6.1)
Is your feature request related to a problem? Please describe.
The Context Agent can't create a Deck board or a list (stack) inside a board. It can only list the boards that already existed.
The Deck tools in ex_app/lib/all_tools/deck.py cover reading boards and cards (list_boards, list_board_cards, list_card_comments) and working with cards (add_card, add_card_label, assign_card_to_user, delete_card, and the card comment tools). All of the card tools need an existing board_id and stack_id.
An AI agent should be able work with a simple request like "set up a Kanban board for project X with To Do / In Progress / Done and add these tasks". At the moment, the Board and the Lists must be created manually by a human user.
Describe the solution you'd like
Add tools to deck.py that wrap the existing Deck REST API (/index.php/apps/deck/api/v1.0, the same base the current Deck tools use):
- create_board(title, color): wraps POST /boards (title, color). It returns the new board's id, labels and stacks so the agent can go straight on to add_card.
- create_stack(board_id, title, order): wraps POST /boards/{boardId}/stacks (title, order). It returns the new stack's id.
Both should probably be marked as dangerous tools (needing user confirmation), like add_card.
Nice to have, maybe as a follow-up:
- create_board could take an optional list of stack titles (e.g. ["To Do", "In Progress", "Done"]) so a ready-to-use board takes one tool call.
- update_stack(board_id, stack_id, title, order): wraps PUT /boards/{boardId}/stacks/{stackId} to rename or reorder a list.
- delete_stack(board_id, stack_id): wraps DELETE /boards/{boardId}/stacks/{stackId}, with confirmation.
- share_board(board_id, participant, type, permission_edit, permission_share, permission_manage): wraps POST /boards/{boardId}/acl (type: 0 user, 1 group, 7 circle). It should default to the least permissions (no share or manage). This matches the existing share_with_user / share_with_group / share_with_circle tools for files.
Describe alternatives you've considered
- Creating the board and its lists by hand in the Deck UI and letting the agent add the cards. This works, and it's what I do now, but it breaks the flow and the agent has to stop and ask each time.
Additional context
How to use GitHub
Feature request
Which Nextcloud Version are you currently using: 34.0.4 (Context Agent 2.8.0, Collectives 4.6.1)
Is your feature request related to a problem? Please describe.
The Context Agent can't create a Deck board or a list (stack) inside a board. It can only list the boards that already existed.
The Deck tools in ex_app/lib/all_tools/deck.py cover reading boards and cards (list_boards, list_board_cards, list_card_comments) and working with cards (add_card, add_card_label, assign_card_to_user, delete_card, and the card comment tools). All of the card tools need an existing board_id and stack_id.
An AI agent should be able work with a simple request like "set up a Kanban board for project X with To Do / In Progress / Done and add these tasks". At the moment, the Board and the Lists must be created manually by a human user.
Describe the solution you'd like
Add tools to deck.py that wrap the existing Deck REST API (/index.php/apps/deck/api/v1.0, the same base the current Deck tools use):
Both should probably be marked as dangerous tools (needing user confirmation), like add_card.
Nice to have, maybe as a follow-up:
Describe alternatives you've considered
Additional context