Skip to content

Add endpoint to create new Deck Board and Lists within a Deck聽#241

Description

@Martin-1997

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions