@cat-factory/app 0.30.6 → 0.32.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.
Files changed (32) hide show
  1. package/app/components/brainstorm/BrainstormWindow.vue +617 -0
  2. package/app/components/followUp/FollowUpWindow.vue +257 -0
  3. package/app/components/kaizen/KaizenPanel.vue +208 -0
  4. package/app/components/kaizen/KaizenStepStatus.vue +94 -0
  5. package/app/components/layout/NotificationsInbox.vue +13 -0
  6. package/app/components/layout/SideBar.vue +12 -0
  7. package/app/components/panels/AgentStepDetail.vue +6 -0
  8. package/app/components/panels/StepResultViewHost.vue +7 -0
  9. package/app/components/pipeline/PipelineBuilder.vue +21 -0
  10. package/app/components/pipeline/PipelineProgress.vue +59 -1
  11. package/app/components/settings/WorkspaceSettingsPanel.vue +20 -0
  12. package/app/components/slack/SlackPanel.vue +1 -0
  13. package/app/composables/api/followUps.ts +52 -0
  14. package/app/composables/api/kaizen.ts +16 -0
  15. package/app/composables/api/reviews.ts +68 -0
  16. package/app/composables/useApi.ts +4 -0
  17. package/app/composables/useResultView.ts +3 -1
  18. package/app/composables/useWorkspaceStream.ts +11 -0
  19. package/app/pages/index.vue +2 -0
  20. package/app/stores/brainstorm.ts +210 -0
  21. package/app/stores/followUps.ts +73 -0
  22. package/app/stores/kaizen.ts +101 -0
  23. package/app/stores/pipelines.ts +25 -0
  24. package/app/stores/ui.ts +64 -1
  25. package/app/stores/workspaceSettings.ts +1 -0
  26. package/app/types/brainstorm.ts +55 -0
  27. package/app/types/domain.ts +64 -0
  28. package/app/types/execution.ts +41 -0
  29. package/app/types/notifications.ts +1 -0
  30. package/app/utils/catalog.spec.ts +2 -0
  31. package/app/utils/catalog.ts +68 -3
  32. package/package.json +1 -1
@@ -71,6 +71,28 @@ export const AGENT_ARCHETYPES: AgentArchetype[] = [
71
71
  description:
72
72
  'Triages the task after requirements are clarified — rates Complexity, Risk and Impact (0..1). Used to gate consensus and conditional companion steps, and shown as ratings on the task.',
73
73
  },
74
+ {
75
+ kind: 'requirements-brainstorm',
76
+ label: 'Requirements Brainstorm',
77
+ icon: 'i-lucide-lightbulb',
78
+ color: '#f59e0b',
79
+ category: 'design',
80
+ description:
81
+ 'A structured dialogue that turns a rough idea into crisp requirements — proposing options with explicit trade-offs and letting you choose, before the requirements review.',
82
+ // Opens the shared dedicated brainstorm window (propose options → choose → incorporate →
83
+ // re-run loop) instead of the generic prose step-detail panel.
84
+ resultView: 'brainstorm',
85
+ },
86
+ {
87
+ kind: 'architecture-brainstorm',
88
+ label: 'Architecture Brainstorm',
89
+ icon: 'i-lucide-compass',
90
+ color: '#a78bfa',
91
+ category: 'design',
92
+ description:
93
+ 'A structured dialogue that explores and finalizes a technical approach from the refined requirements — proposing options with explicit trade-offs and letting you converge, before the architect.',
94
+ resultView: 'brainstorm',
95
+ },
74
96
  {
75
97
  kind: 'architect',
76
98
  label: 'Architect',
@@ -330,6 +352,17 @@ export const SYSTEM_AGENT_META: Record<string, AgentArchetype> = {
330
352
  color: '#a3e635',
331
353
  description: 'Scores the PR and auto-merges within the task thresholds, or asks for review.',
332
354
  },
355
+ // The Kaizen agent grades agent steps AFTER a run completes (continuous improvement).
356
+ // It is NOT a pipeline step (never in the palette — no `category`), but it runs an LLM,
357
+ // so it needs display metadata here and a per-workspace model in Model Configuration.
358
+ kaizen: {
359
+ kind: 'kaizen',
360
+ label: 'Kaizen',
361
+ icon: 'i-lucide-sparkles',
362
+ color: '#2dd4bf',
363
+ description:
364
+ 'Grades each completed agent step (smooth vs chaotic) after a run and recommends prompt/model improvements.',
365
+ },
333
366
  // A polling gate (no model of its own) that watches the released PR's observability
334
367
  // signals after merge and escalates to the on-call agent on a regression. NOT in any
335
368
  // default pipeline and NOT a standing palette archetype — the palette surfaces it
@@ -365,9 +398,15 @@ export const OBSERVABILITY_GATE_ARCHETYPE: AgentArchetype =
365
398
  * default model would do nothing for them.
366
399
  */
367
400
  export const MODEL_CONFIGURABLE_SYSTEM_KINDS: AgentArchetype[] = [
368
- ...['spec-writer', 'blueprints', 'conflict-resolver', 'ci-fixer', 'fixer', 'merger'].map(
369
- (kind) => SYSTEM_AGENT_META[kind]!,
370
- ),
401
+ ...[
402
+ 'spec-writer',
403
+ 'blueprints',
404
+ 'conflict-resolver',
405
+ 'ci-fixer',
406
+ 'fixer',
407
+ 'merger',
408
+ 'kaizen',
409
+ ].map((kind) => SYSTEM_AGENT_META[kind]!),
371
410
  // Companions run LLMs but aren't palette-addable (they're producer toggles), so include
372
411
  // them here to keep their per-workspace default model pinnable in the Model Defaults panel.
373
412
  ...COMPANION_ARCHETYPES,
@@ -479,3 +518,29 @@ export const STATUS_META: Record<
479
518
 
480
519
  /** Visual metadata for module sub-frames. */
481
520
  export const MODULE_META = { icon: 'i-lucide-package', color: '#a78bfa' }
521
+
522
+ /**
523
+ * Display metadata for the future-looking Follow-up companion — a per-`coder`-step toggle
524
+ * (NOT a separate agent kind), so it isn't a palette archetype. It surfaces as a blinking
525
+ * chip on the Coder step (its blinking is driven by `step.followUps` pending items) and as
526
+ * the header of its dedicated window. The builder shows a toggle for it on Coder steps,
527
+ * persisted on the pipeline's per-step `followUps` array.
528
+ */
529
+ export const FOLLOW_UP_COMPANION_META = {
530
+ label: 'Follow-up companion',
531
+ icon: 'i-lucide-compass',
532
+ color: '#f472b6',
533
+ }
534
+
535
+ /**
536
+ * Whether a Coder step has the Follow-up companion enabled, given the pipeline's per-step
537
+ * `followUps` toggle at index `i`. Enabled by default on a `coder` step (only `false`
538
+ * disables it); ignored on other kinds.
539
+ */
540
+ export function followUpCompanionEnabled(
541
+ kind: string,
542
+ followUps: (boolean | null)[] | undefined,
543
+ i: number,
544
+ ): boolean {
545
+ return kind === 'coder' && followUps?.[i] !== false
546
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/app",
3
- "version": "0.30.6",
3
+ "version": "0.32.0",
4
4
  "description": "Reusable Nuxt layer for the Agent Architecture Board SPA (components, stores, composables, pages). Consume it from a thin deployment app via `extends: ['@cat-factory/app']` and point it at your backend with NUXT_PUBLIC_API_BASE. See deploy/frontend for an example.",
5
5
  "repository": {
6
6
  "type": "git",