FN-6779: add artifacts gallery to Documents

Adds a Documents-view artifact gallery backed by dashboard artifact registry APIs.

- Add artifact listing and media-serving endpoints with project scoping, validation, and safe artifact path resolution.
- Add client artifact API helpers, SWR caching, and a useArtifacts hook for background-refresh gallery data.
- Extend Documents view with an Artifacts tab, media previews, localized labels, documentation, tests, and a published package changeset.

Files changed:
 .changeset/fn-6779-artifacts-gallery.md            |   5 +
 docs/dashboard-guide.md                            |   6 +-
 packages/dashboard/app/api/legacy.ts               |  34 ++++
 .../dashboard/app/components/DocumentsView.css     | 142 ++++++++++++++++
 .../dashboard/app/components/DocumentsView.tsx     | 178 ++++++++++++++++++--
 .../components/__tests__/DocumentsView.test.tsx    | 163 +++++++++++++++++-
 .../app/hooks/__tests__/useArtifacts.test.ts       | 136 +++++++++++++++
 packages/dashboard/app/hooks/useArtifacts.ts       | 145 ++++++++++++++++
 packages/dashboard/app/utils/swrCache.ts           |   1 +
 .../src/routes/__tests__/artifacts-routes.test.ts  | 182 +++++++++++++++++++++
 .../src/routes/register-task-workflow-routes.ts    | 125 ++++++++++++++
 packages/i18n/locales/en/app.json                  |  22 ++-
 packages/i18n/locales/es/app.json                  |  27 ++-
 packages/i18n/locales/fr/app.json                  |  27 ++-
 packages/i18n/locales/ko/app.json                  |  27 ++-
 packages/i18n/locales/zh-CN/app.json               |  27 ++-
 packages/i18n/locales/zh-TW/app.json               |  27 ++-
 scripts/line-count-baseline.json                   |  16 +-
 18 files changed, 1255 insertions(+), 35 deletions(-)

Fusion-Task-Id: FN-6779

Fusion-Task-Lineage: 1d71e4be-4bfc-4706-9cbf-7214f91a79d1
This commit is contained in:
gsxdsm
2026-06-21 16:01:07 -07:00
parent 7ee1fec22c
commit ef4889585f
18 changed files with 1255 additions and 35 deletions

View File

@@ -17,10 +17,10 @@
"packages/core/src/central-core.ts": 3854,
"packages/core/src/db.ts": 5840,
"packages/core/src/mission-store.ts": 4382,
"packages/core/src/store.ts": 16755,
"packages/core/src/store.ts": 16776,
"packages/core/src/types.ts": 7256,
"packages/dashboard/app/App.tsx": 2298,
"packages/dashboard/app/api/legacy.ts": 10568,
"packages/dashboard/app/App.tsx": 2303,
"packages/dashboard/app/api/legacy.ts": 10612,
"packages/dashboard/app/components/AgentDetailView.tsx": 5400,
"packages/dashboard/app/components/AgentsView.tsx": 2101,
"packages/dashboard/app/components/ChatView.tsx": 3964,
@@ -31,7 +31,7 @@
"packages/dashboard/app/components/PlanningModeModal.tsx": 3319,
"packages/dashboard/app/components/QuickChatFAB.tsx": 3560,
"packages/dashboard/app/components/QuickEntryBox.tsx": 2207,
"packages/dashboard/app/components/SettingsModal.tsx": 3254,
"packages/dashboard/app/components/SettingsModal.tsx": 3251,
"packages/dashboard/app/components/TaskCard.tsx": 2528,
"packages/dashboard/app/components/TaskDetailModal.tsx": 4569,
"packages/dashboard/app/components/WorkflowNodeEditor.tsx": 4457,
@@ -47,7 +47,7 @@
"packages/dashboard/app/components/__tests__/QuickEntryBox.test.tsx": 4526,
"packages/dashboard/app/components/__tests__/SettingsModal.test.tsx": 5414,
"packages/dashboard/app/components/__tests__/TaskCard.test.tsx": 5121,
"packages/dashboard/app/components/__tests__/TaskChatTab.test.tsx": 2366,
"packages/dashboard/app/components/__tests__/TaskChatTab.test.tsx": 2407,
"packages/dashboard/app/components/__tests__/TaskDetailModal.inline-editing-and-integrations.test.tsx": 2917,
"packages/dashboard/app/components/__tests__/TaskDetailModal.rendering.test.tsx": 2297,
"packages/dashboard/app/components/__tests__/TerminalModal.test.tsx": 5578,
@@ -75,10 +75,10 @@
"packages/dashboard/src/github.ts": 4178,
"packages/dashboard/src/mission-routes.ts": 3948,
"packages/dashboard/src/planning.ts": 2696,
"packages/dashboard/src/routes.ts": 5251,
"packages/dashboard/src/routes.ts": 5296,
"packages/dashboard/src/routes/register-git-github.ts": 5637,
"packages/dashboard/src/routes/register-settings-memory-routes.ts": 2421,
"packages/dashboard/src/routes/register-task-workflow-routes.ts": 3738,
"packages/dashboard/src/routes/register-task-workflow-routes.ts": 3863,
"packages/dashboard/src/server.ts": 2378,
"packages/engine/src/__tests__/executor-pause.test.ts": 2974,
"packages/engine/src/__tests__/executor-prompt.test.ts": 2572,
@@ -97,7 +97,7 @@
"packages/engine/src/__tests__/triage.test.ts": 4511,
"packages/engine/src/agent-heartbeat.ts": 4553,
"packages/engine/src/agent-tools.ts": 3584,
"packages/engine/src/executor.ts": 16018,
"packages/engine/src/executor.ts": 16034,
"packages/engine/src/merger.ts": 12643,
"packages/engine/src/pi.ts": 2435,
"packages/engine/src/project-engine.ts": 3663,