@@ -15,6 +15,8 @@ declare module 'vue-router' {
1515 requiresShell ?: boolean
1616 automationSurface ?: string
1717 requiresFlag ?: keyof FeatureFlags
18+ /** Human-readable breadcrumb label for the Paper TopBar. */
19+ breadcrumb ?: string
1820 }
1921}
2022
@@ -96,52 +98,52 @@ const router = createRouter({
9698 path : '/workspace/home' ,
9799 name : 'workspace-home' ,
98100 component : HomeView ,
99- meta : { requiresShell : true } ,
101+ meta : { requiresShell : true , breadcrumb : 'Home' } ,
100102 } ,
101103 {
102104 path : '/workspace/today' ,
103105 name : 'workspace-today' ,
104106 component : TodayView ,
105- meta : { requiresShell : true } ,
107+ meta : { requiresShell : true , breadcrumb : 'Today' } ,
106108 } ,
107109 {
108110 path : '/workspace/boards' ,
109111 name : 'workspace-boards' ,
110112 component : BoardsListView ,
111- meta : { requiresShell : true } ,
113+ meta : { requiresShell : true , breadcrumb : 'Boards' } ,
112114 } ,
113115 {
114116 path : '/workspace/boards/:id' ,
115117 name : 'workspace-board' ,
116118 component : BoardView ,
117119 props : true ,
118- meta : { requiresShell : true } ,
120+ meta : { requiresShell : true , breadcrumb : 'Board' } ,
119121 } ,
120122
121123 // Activity routes
122124 {
123125 path : '/workspace/activity' ,
124126 name : 'workspace-activity' ,
125127 component : ActivityView ,
126- meta : { requiresShell : true , requiresFlag : 'newActivity' } ,
128+ meta : { requiresShell : true , requiresFlag : 'newActivity' , breadcrumb : 'Activity' } ,
127129 } ,
128130 {
129131 path : '/workspace/activity/board/:boardId' ,
130132 name : 'workspace-activity-board' ,
131133 component : ActivityView ,
132- meta : { requiresShell : true , requiresFlag : 'newActivity' } ,
134+ meta : { requiresShell : true , requiresFlag : 'newActivity' , breadcrumb : 'Activity' } ,
133135 } ,
134136 {
135137 path : '/workspace/activity/entity/:entityType/:entityId' ,
136138 name : 'workspace-activity-entity' ,
137139 component : ActivityView ,
138- meta : { requiresShell : true , requiresFlag : 'newActivity' } ,
140+ meta : { requiresShell : true , requiresFlag : 'newActivity' , breadcrumb : 'Activity' } ,
139141 } ,
140142 {
141143 path : '/workspace/activity/user' ,
142144 name : 'workspace-activity-user' ,
143145 component : ActivityView ,
144- meta : { requiresShell : true , requiresFlag : 'newActivity' } ,
146+ meta : { requiresShell : true , requiresFlag : 'newActivity' , breadcrumb : 'Activity' } ,
145147 } ,
146148 {
147149 path : '/workspace/activity/user/:userId' ,
@@ -153,23 +155,23 @@ const router = createRouter({
153155 path : '/workspace/metrics' ,
154156 name : 'workspace-metrics' ,
155157 component : MetricsView ,
156- meta : { requiresShell : true } ,
158+ meta : { requiresShell : true , breadcrumb : 'Metrics' } ,
157159 } ,
158160
159161 // Integrations route
160162 {
161163 path : '/workspace/integrations' ,
162164 name : 'workspace-integrations' ,
163165 component : IntegrationsView ,
164- meta : { requiresShell : true } ,
166+ meta : { requiresShell : true , breadcrumb : 'Integrations' } ,
165167 } ,
166168
167169 // Calendar/timeline planning route
168170 {
169171 path : '/workspace/calendar' ,
170172 name : 'workspace-calendar' ,
171173 component : CalendarView ,
172- meta : { requiresShell : true } ,
174+ meta : { requiresShell : true , breadcrumb : 'Calendar' } ,
173175 } ,
174176
175177 // Automation routes
@@ -185,13 +187,13 @@ const router = createRouter({
185187 path : '/workspace/automations/queue' ,
186188 name : 'workspace-automations-queue' ,
187189 component : AutomationQueueView ,
188- meta : { requiresShell : true , automationSurface : 'queue' , requiresFlag : 'newAutomation' } ,
190+ meta : { requiresShell : true , automationSurface : 'queue' , requiresFlag : 'newAutomation' , breadcrumb : 'Queue' } ,
189191 } ,
190192 {
191193 path : '/workspace/review' ,
192194 name : 'workspace-review' ,
193195 component : ReviewView ,
194- meta : { requiresShell : true , automationSurface : 'review' , requiresFlag : 'newAutomation' } ,
196+ meta : { requiresShell : true , automationSurface : 'review' , requiresFlag : 'newAutomation' , breadcrumb : 'Review' } ,
195197 } ,
196198 {
197199 path : '/workspace/automations/proposals' ,
@@ -205,35 +207,35 @@ const router = createRouter({
205207 path : '/workspace/automations/chat' ,
206208 name : 'workspace-automations-chat' ,
207209 component : AutomationChatView ,
208- meta : { requiresShell : true , requiresFlag : 'newAutomation' } ,
210+ meta : { requiresShell : true , requiresFlag : 'newAutomation' , breadcrumb : 'Chat' } ,
209211 } ,
210212
211213 // Ops routes
212214 {
213215 path : '/workspace/ops/cli' ,
214216 name : 'workspace-ops-cli' ,
215217 component : OpsConsoleView ,
216- meta : { requiresShell : true , requiresFlag : 'newOps' } ,
218+ meta : { requiresShell : true , requiresFlag : 'newOps' , breadcrumb : 'Ops' } ,
217219 } ,
218220 {
219221 path : '/workspace/ops/endpoints' ,
220222 name : 'workspace-ops-endpoints' ,
221223 component : OpsConsoleView ,
222- meta : { requiresShell : true , requiresFlag : 'newOps' } ,
224+ meta : { requiresShell : true , requiresFlag : 'newOps' , breadcrumb : 'Endpoints' } ,
223225 } ,
224226 {
225227 path : '/workspace/ops/logs' ,
226228 name : 'workspace-ops-logs' ,
227229 component : OpsConsoleView ,
228- meta : { requiresShell : true , requiresFlag : 'newOps' } ,
230+ meta : { requiresShell : true , requiresFlag : 'newOps' , breadcrumb : 'Logs' } ,
229231 } ,
230232
231233 // Settings routes
232234 {
233235 path : '/workspace/settings/profile' ,
234236 name : 'workspace-settings-profile' ,
235237 component : ProfileSettingsView ,
236- meta : { requiresShell : true , requiresFlag : 'newAuth' } ,
238+ meta : { requiresShell : true , requiresFlag : 'newAuth' , breadcrumb : 'Profile' } ,
237239 } ,
238240 {
239241 path : '/workspace/settings/access/:boardId?' ,
@@ -242,85 +244,85 @@ const router = createRouter({
242244 props : ( route ) => ( {
243245 boardId : typeof route . params . boardId === 'string' ? route . params . boardId : null ,
244246 } ) ,
245- meta : { requiresShell : true , requiresFlag : 'newAccess' } ,
247+ meta : { requiresShell : true , requiresFlag : 'newAccess' , breadcrumb : 'Access' } ,
246248 } ,
247249 {
248250 path : '/workspace/settings/export-import' ,
249251 name : 'workspace-settings-export-import' ,
250252 component : ExportImportView ,
251- meta : { requiresShell : true } ,
253+ meta : { requiresShell : true , breadcrumb : 'Export & Import' } ,
252254 } ,
253255 {
254256 path : '/workspace/settings/preferences' ,
255257 name : 'workspace-settings-preferences' ,
256258 component : NotificationPreferencesView ,
257- meta : { requiresShell : true } ,
259+ meta : { requiresShell : true , breadcrumb : 'Preferences' } ,
258260 } ,
259261 {
260262 path : '/workspace/settings/api-keys' ,
261263 name : 'workspace-settings-api-keys' ,
262264 component : ApiKeySettingsView ,
263- meta : { requiresShell : true } ,
265+ meta : { requiresShell : true , breadcrumb : 'API Keys' } ,
264266 } ,
265267
266268 // Archive route
267269 {
268270 path : '/workspace/archive' ,
269271 name : 'workspace-archive' ,
270272 component : ArchiveView ,
271- meta : { requiresShell : true , requiresFlag : 'newArchive' } ,
273+ meta : { requiresShell : true , requiresFlag : 'newArchive' , breadcrumb : 'Archive' } ,
272274 } ,
273275 {
274276 path : '/workspace/views' ,
275277 name : 'workspace-views' ,
276278 component : SavedViewsView ,
277- meta : { requiresShell : true } ,
279+ meta : { requiresShell : true , breadcrumb : 'Views' } ,
278280 } ,
279281 {
280282 path : '/workspace/views/:viewId' ,
281283 name : 'workspace-views-detail' ,
282284 component : SavedViewsView ,
283- meta : { requiresShell : true } ,
285+ meta : { requiresShell : true , breadcrumb : 'Views' } ,
284286 } ,
285287 {
286288 path : '/workspace/inbox' ,
287289 name : 'workspace-inbox' ,
288290 component : InboxView ,
289- meta : { requiresShell : true } ,
291+ meta : { requiresShell : true , breadcrumb : 'Inbox' } ,
290292 } ,
291293 {
292294 path : '/workspace/notifications' ,
293295 name : 'workspace-notifications' ,
294296 component : NotificationInboxView ,
295- meta : { requiresShell : true } ,
297+ meta : { requiresShell : true , breadcrumb : 'Notifications' } ,
296298 } ,
297299
298300 // Agent surfaces (visible in agent workspace mode)
299301 {
300302 path : '/workspace/agents' ,
301303 name : 'workspace-agents' ,
302304 component : AgentsView ,
303- meta : { requiresShell : true } ,
305+ meta : { requiresShell : true , breadcrumb : 'Agents' } ,
304306 } ,
305307 {
306308 path : '/workspace/agents/:agentId/runs' ,
307309 name : 'workspace-agent-runs' ,
308310 component : AgentRunsView ,
309- meta : { requiresShell : true } ,
311+ meta : { requiresShell : true , breadcrumb : 'Runs' } ,
310312 } ,
311313 {
312314 path : '/workspace/agents/:agentId/runs/:runId' ,
313315 name : 'workspace-agent-run-detail' ,
314316 component : AgentRunDetailView ,
315- meta : { requiresShell : true } ,
317+ meta : { requiresShell : true , breadcrumb : 'Run Detail' } ,
316318 } ,
317319
318320 // Internal dev tooling (trace replay + scenario editor)
319321 {
320322 path : '/workspace/dev-tools' ,
321323 name : 'workspace-dev-tools' ,
322324 component : DevToolsView ,
323- meta : { requiresShell : true , requiresFlag : 'devTools' } ,
325+ meta : { requiresShell : true , requiresFlag : 'devTools' , breadcrumb : 'Dev Tools' } ,
324326 } ,
325327 ] ,
326328} )
0 commit comments