@qontinui/navigation 0.1.6 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +26 -1
- package/dist/index.d.cts +23 -2
- package/dist/index.d.ts +23 -2
- package/dist/index.js +26 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -244,7 +244,13 @@ var REVIEW_ITEMS = [
|
|
|
244
244
|
icon: "History",
|
|
245
245
|
description: "Browse and manage all runs",
|
|
246
246
|
hasChildren: true,
|
|
247
|
+
// Runs is a parent WITH a page of its own (/runs — the run browser).
|
|
248
|
+
// `selectsFirstChild: false` alone means "expand only, activate nothing",
|
|
249
|
+
// which left the item inert: clicking Runs opened the flyout but never
|
|
250
|
+
// dispatched a tab change. It must activate its OWN id, not its first
|
|
251
|
+
// child's ("run-recap"), so `selectsFirstChild` cannot express this.
|
|
247
252
|
selectsFirstChild: false,
|
|
253
|
+
hasOwnPage: true,
|
|
248
254
|
route: "/runs",
|
|
249
255
|
color: "#4A90D9",
|
|
250
256
|
productMode: "ai"
|
|
@@ -259,12 +265,21 @@ var REVIEW_ITEMS = [
|
|
|
259
265
|
productMode: "ai"
|
|
260
266
|
},
|
|
261
267
|
{
|
|
262
|
-
|
|
268
|
+
// Id is "observations" (NOT "memory"): it must match the runner's
|
|
269
|
+
// `MainTabId` union member / `TabContent` case that actually renders this
|
|
270
|
+
// page. The old "memory" id was in no consumer's tab union, so clicking
|
|
271
|
+
// the item activated a tab that did not exist.
|
|
272
|
+
id: "observations",
|
|
263
273
|
label: "Memory",
|
|
264
274
|
icon: "Brain",
|
|
265
275
|
description: "Cross-session observation memory from past runs",
|
|
266
276
|
route: "/observe/memory",
|
|
267
277
|
color: "#8B5CF6",
|
|
278
|
+
// Runner-only: qontinui-web has no `observe/` route tree at all, so this
|
|
279
|
+
// item's route 404s there — and because qontinui-web derives its co-pilot
|
|
280
|
+
// page map from getWebNavigation(), an un-gated item also advertises that
|
|
281
|
+
// 404 as a navigable target to the planner. Gate it at the source.
|
|
282
|
+
platforms: ["runner"],
|
|
268
283
|
productMode: "ai"
|
|
269
284
|
},
|
|
270
285
|
{
|
|
@@ -276,6 +291,16 @@ var REVIEW_ITEMS = [
|
|
|
276
291
|
color: "#F97316",
|
|
277
292
|
platforms: ["runner"],
|
|
278
293
|
productMode: "ai"
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
id: "helper-tasks",
|
|
297
|
+
label: "Helper Tasks",
|
|
298
|
+
icon: "MessageSquare",
|
|
299
|
+
description: "Helper Task Queue \u2014 emit human spot-check tasks, review helper verdicts, invite helpers",
|
|
300
|
+
route: "/review/helper-tasks",
|
|
301
|
+
color: "#10B981",
|
|
302
|
+
platforms: ["runner"],
|
|
303
|
+
productMode: "ai"
|
|
279
304
|
}
|
|
280
305
|
];
|
|
281
306
|
var REVIEW_GROUP = {
|
package/dist/index.d.cts
CHANGED
|
@@ -30,6 +30,25 @@ interface NavigationItem {
|
|
|
30
30
|
hasChildren?: boolean;
|
|
31
31
|
/** If true, clicking this item selects its first child instead of itself */
|
|
32
32
|
selectsFirstChild?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* If true, this item is a parent (`hasChildren: true`) that ALSO has a page
|
|
35
|
+
* of its own: clicking it must activate the item's own id (in addition to
|
|
36
|
+
* opening its children flyout/submenu), not just expand.
|
|
37
|
+
*
|
|
38
|
+
* This is the third case in the parent-click contract, and it exists because
|
|
39
|
+
* the other two cannot express it:
|
|
40
|
+
* - `selectsFirstChild: true` — activates the FIRST CHILD's id (e.g.
|
|
41
|
+
* "settings" → "settings-account"). The parent has no page of its own.
|
|
42
|
+
* - `selectsFirstChild: false` — activates NOTHING; the click only
|
|
43
|
+
* expands. Correct for a pure container.
|
|
44
|
+
* - `hasOwnPage: true` — activates the PARENT's own id (e.g.
|
|
45
|
+
* "runs" → the Runs page). Use when the parent is a real destination.
|
|
46
|
+
*
|
|
47
|
+
* Consumers implementing item-click MUST honour this: when a parent has
|
|
48
|
+
* `hasOwnPage`, dispatch the tab/route change for `item.id` itself.
|
|
49
|
+
* Ignored for items without children.
|
|
50
|
+
*/
|
|
51
|
+
hasOwnPage?: boolean;
|
|
33
52
|
/** Platform availability - if not set, available on all platforms */
|
|
34
53
|
platforms?: Platform[];
|
|
35
54
|
/** Badge count or status to show on this item */
|
|
@@ -192,8 +211,10 @@ type NavigationAction = {
|
|
|
192
211
|
* Both platforms share this structure; per-item `platforms`/`productMode`
|
|
193
212
|
* filters yield the right view for each (web has no Terminal; runner has no
|
|
194
213
|
* Dashboard/Runners, etc.). qontinui-web additionally demotes a few items the
|
|
195
|
-
* runner keeps (runs/active/findings
|
|
196
|
-
*
|
|
214
|
+
* runner keeps (runs/active/findings — task_run-scoped, not session-scoped)
|
|
215
|
+
* via its own local list; those stay un-`hidden` here. The observation-memory
|
|
216
|
+
* item is no longer among them: it is `platforms: ["runner"]` now, since web
|
|
217
|
+
* has no `observe/` route tree (its route 404s there).
|
|
197
218
|
*/
|
|
198
219
|
|
|
199
220
|
declare const WORKSPACE_ITEMS: NavigationItem[];
|
package/dist/index.d.ts
CHANGED
|
@@ -30,6 +30,25 @@ interface NavigationItem {
|
|
|
30
30
|
hasChildren?: boolean;
|
|
31
31
|
/** If true, clicking this item selects its first child instead of itself */
|
|
32
32
|
selectsFirstChild?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* If true, this item is a parent (`hasChildren: true`) that ALSO has a page
|
|
35
|
+
* of its own: clicking it must activate the item's own id (in addition to
|
|
36
|
+
* opening its children flyout/submenu), not just expand.
|
|
37
|
+
*
|
|
38
|
+
* This is the third case in the parent-click contract, and it exists because
|
|
39
|
+
* the other two cannot express it:
|
|
40
|
+
* - `selectsFirstChild: true` — activates the FIRST CHILD's id (e.g.
|
|
41
|
+
* "settings" → "settings-account"). The parent has no page of its own.
|
|
42
|
+
* - `selectsFirstChild: false` — activates NOTHING; the click only
|
|
43
|
+
* expands. Correct for a pure container.
|
|
44
|
+
* - `hasOwnPage: true` — activates the PARENT's own id (e.g.
|
|
45
|
+
* "runs" → the Runs page). Use when the parent is a real destination.
|
|
46
|
+
*
|
|
47
|
+
* Consumers implementing item-click MUST honour this: when a parent has
|
|
48
|
+
* `hasOwnPage`, dispatch the tab/route change for `item.id` itself.
|
|
49
|
+
* Ignored for items without children.
|
|
50
|
+
*/
|
|
51
|
+
hasOwnPage?: boolean;
|
|
33
52
|
/** Platform availability - if not set, available on all platforms */
|
|
34
53
|
platforms?: Platform[];
|
|
35
54
|
/** Badge count or status to show on this item */
|
|
@@ -192,8 +211,10 @@ type NavigationAction = {
|
|
|
192
211
|
* Both platforms share this structure; per-item `platforms`/`productMode`
|
|
193
212
|
* filters yield the right view for each (web has no Terminal; runner has no
|
|
194
213
|
* Dashboard/Runners, etc.). qontinui-web additionally demotes a few items the
|
|
195
|
-
* runner keeps (runs/active/findings
|
|
196
|
-
*
|
|
214
|
+
* runner keeps (runs/active/findings — task_run-scoped, not session-scoped)
|
|
215
|
+
* via its own local list; those stay un-`hidden` here. The observation-memory
|
|
216
|
+
* item is no longer among them: it is `platforms: ["runner"]` now, since web
|
|
217
|
+
* has no `observe/` route tree (its route 404s there).
|
|
197
218
|
*/
|
|
198
219
|
|
|
199
220
|
declare const WORKSPACE_ITEMS: NavigationItem[];
|
package/dist/index.js
CHANGED
|
@@ -154,7 +154,13 @@ var REVIEW_ITEMS = [
|
|
|
154
154
|
icon: "History",
|
|
155
155
|
description: "Browse and manage all runs",
|
|
156
156
|
hasChildren: true,
|
|
157
|
+
// Runs is a parent WITH a page of its own (/runs — the run browser).
|
|
158
|
+
// `selectsFirstChild: false` alone means "expand only, activate nothing",
|
|
159
|
+
// which left the item inert: clicking Runs opened the flyout but never
|
|
160
|
+
// dispatched a tab change. It must activate its OWN id, not its first
|
|
161
|
+
// child's ("run-recap"), so `selectsFirstChild` cannot express this.
|
|
157
162
|
selectsFirstChild: false,
|
|
163
|
+
hasOwnPage: true,
|
|
158
164
|
route: "/runs",
|
|
159
165
|
color: "#4A90D9",
|
|
160
166
|
productMode: "ai"
|
|
@@ -169,12 +175,21 @@ var REVIEW_ITEMS = [
|
|
|
169
175
|
productMode: "ai"
|
|
170
176
|
},
|
|
171
177
|
{
|
|
172
|
-
|
|
178
|
+
// Id is "observations" (NOT "memory"): it must match the runner's
|
|
179
|
+
// `MainTabId` union member / `TabContent` case that actually renders this
|
|
180
|
+
// page. The old "memory" id was in no consumer's tab union, so clicking
|
|
181
|
+
// the item activated a tab that did not exist.
|
|
182
|
+
id: "observations",
|
|
173
183
|
label: "Memory",
|
|
174
184
|
icon: "Brain",
|
|
175
185
|
description: "Cross-session observation memory from past runs",
|
|
176
186
|
route: "/observe/memory",
|
|
177
187
|
color: "#8B5CF6",
|
|
188
|
+
// Runner-only: qontinui-web has no `observe/` route tree at all, so this
|
|
189
|
+
// item's route 404s there — and because qontinui-web derives its co-pilot
|
|
190
|
+
// page map from getWebNavigation(), an un-gated item also advertises that
|
|
191
|
+
// 404 as a navigable target to the planner. Gate it at the source.
|
|
192
|
+
platforms: ["runner"],
|
|
178
193
|
productMode: "ai"
|
|
179
194
|
},
|
|
180
195
|
{
|
|
@@ -186,6 +201,16 @@ var REVIEW_ITEMS = [
|
|
|
186
201
|
color: "#F97316",
|
|
187
202
|
platforms: ["runner"],
|
|
188
203
|
productMode: "ai"
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
id: "helper-tasks",
|
|
207
|
+
label: "Helper Tasks",
|
|
208
|
+
icon: "MessageSquare",
|
|
209
|
+
description: "Helper Task Queue \u2014 emit human spot-check tasks, review helper verdicts, invite helpers",
|
|
210
|
+
route: "/review/helper-tasks",
|
|
211
|
+
color: "#10B981",
|
|
212
|
+
platforms: ["runner"],
|
|
213
|
+
productMode: "ai"
|
|
189
214
|
}
|
|
190
215
|
];
|
|
191
216
|
var REVIEW_GROUP = {
|