Skip to content

Implement canvas importers (codex) - #2513

Merged
numnx merged 3 commits into
feature/CODUX-161-integrations-adds-project-management-toolsfrom
task/feature-codux-161-integrations-adds-project-mana-t03-codex-mra8sqsn
Jul 7, 2026
Merged

Implement canvas importers (codex)#2513
numnx merged 3 commits into
feature/CODUX-161-integrations-adds-project-management-toolsfrom
task/feature-codux-161-integrations-adds-project-mana-t03-codex-mra8sqsn

Conversation

@numnx

@numnx numnx commented Jul 7, 2026

Copy link
Copy Markdown
Collaborator

🧩 Task: Implement canvas importers

Automated task PR opened by Code UX for T03.

📋 Summary

Sprint: Sprint 161 · Integrations - Adds Project management Tools · Task: T03

Add configurable project-management and collaborative-canvas integrations for Jira, Notion, Asana, Linear, Miro, Lucid, Figma/FigJam, and Mural, with API-backed sprint importers where supported and dashboard settings/import UI that follows the existing Git/Jira importer patterns.

📝 Full Task Prompt
## Objective
Implement API-backed sprint importers for collaborative canvas providers so boards, documents, files, murals, and their readable items/comments can be attached as sprint linked scope.

## Scope
- `src/services/sprint-issue-service.ts`
- `src/services/miro-api-client.ts`
- `src/services/lucid-api-client.ts`
- `src/services/figma-api-client.ts`
- `src/services/mural-api-client.ts`
- `src/contracts/project-management-types.ts`
- `src/contracts/mcp-tool-definitions.ts`
- `src/mcp/management/sprint-actions.ts`
- `src/server/sprint-routes.ts`
- `src/server/request-parsers.ts`
- `tests/backend/services/sprint-issue-service.test.ts`
- `tests/backend/server/sprint-issue-search-routes.test.ts`
- `tests/backend/mcp/management-sprint-actions.test.ts`
- `docs/mcp/tools-and-contracts.md`
- `docs/dashboard/sprint-imports.md`
- `docs-web/content/docs/developer-mcp-tools.mdx`
- `docs-web/content/docs/user-dashboard-sprints.mdx`

## Implementation Requirements
1. Consume the T01 settings and T02 importer dispatch patterns for `miro`, `lucid`, `figma`, and `mural`; reject missing required board/document/file/workspace ids with clear validation errors.
2. Add Miro support with `GET https://api.miro.com/v2/boards` and `GET https://api.miro.com/v2/boards/{boardId}/items`, mapping board/item ids, titles, types, URLs, modified timestamps, and text/data fields into normalized import results and prompt context.
3. Add Lucid support with `POST https://api.lucid.co/documents/search` for document search and `GET https://api.lucid.co/v1/documents/{id}/contents` for readable Lucidchart/Lucidspark document contents, using `Authorization: Bearer` and `Lucid-Api-Version: 1` headers.
4. Add Figma/FigJam support with `GET https://api.figma.com/v1/files/{fileKey}` and `GET https://api.figma.com/v1/files/{fileKey}/comments`, using `X-Figma-Token`, including file name, last modified timestamp, top-level pages/nodes, and comments when conversation context is requested.
5. Add Mural support with base URL `https://app.mural.co/api/public/v1`, `GET /workspaces/{workspaceId}/murals` for listing, and `GET /murals/{muralId}` for retrieving mural metadata/content available to the token, while documenting that Mural API support is beta/limited.
6. Extend route and MCP parsing for canvas-specific fields `boardId`, `documentId`, `fileKey`, `workspaceId`, `muralId`, `itemTypes`, `externalIds`, `search`, `includeConversation`, `limit`, `sprintId`, `attachToSprint`, and `planAfterImport`.
7. Add mock-backed tests for each canvas provider covering successful search/import, missing credentials, missing required ids, context loading, Mural limited metadata behavior, and preservation of GitHub/GitLab/Jira/PM provider behavior.
8. Document canvas provider settings, exact accepted identifiers, searchable surfaces, Mural beta limitations, and read-only import behavior in canonical docs and docs-web.

## Constraints
- Build on T02 dispatch/normalization rather than creating a second importer service.
- Do not implement write-back, status transitions, auto-close, or canvas mutation behavior.
- Keep provider API base URLs configurable where official enterprise/beta endpoints require it.
- Do not store raw board/file/document payloads in linked issue rows; persist normalized metadata and prompt markdown only.
- Do not add external SDK dependencies.

## Verification
- Run `pnpm exec vitest run tests/backend/services/sprint-issue-service.test.ts tests/backend/server/sprint-issue-search-routes.test.ts tests/backend/mcp/management-sprint-actions.test.ts`.
- Run `pnpm run lint`.
- Success means Miro, Lucid, Figma/FigJam, and Mural can be searched/imported through backend routes and MCP with fully mocked external APIs.

✅ QA Review

⏳ QA review runs after this PR is opened. Check the task card in the dashboard for the outcome once it lands.

🤖 Model & Provider

Provider Codex CLI
Model gpt-5.5

⏱️ Timing

Started 2026-07-07 06:02:51 UTC
Finished 2026-07-07 06:17:50 UTC
Duration 14m 59s

📊 Token Usage

Metric Value
Input tokens 306,014
Cached input tokens 5,203,840
Output tokens 34,674
Total tokens 5,544,528
Invocations 1
Tool calls 71
Active time 14m 20s

Included usage estimate (subscription/local login): $5.17

🌿 Branch Info

Base: feature/CODUX-161-integrations-adds-project-management-tools
Head: task/feature-codux-161-integrations-adds-project-mana-t03-codex-mra8sqsn


🤖 Generated by Code UX

Code UX added 3 commits July 7, 2026 06:17
…ement-tools into task/feature-codux-161-integrations-adds-project-mana-t03-codex-mra8sqsn
@numnx
numnx merged commit f4aa783 into feature/CODUX-161-integrations-adds-project-management-tools Jul 7, 2026
6 checks passed
@numnx
numnx deleted the task/feature-codux-161-integrations-adds-project-mana-t03-codex-mra8sqsn branch July 7, 2026 06:29
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.

1 participant