@cat-factory/app 0.36.0 → 0.37.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/app/components/auth/UserMenu.vue +11 -1
- package/app/components/brainstorm/BrainstormWindow.vue +2 -1
- package/app/components/clarity/ClarityReviewWindow.vue +2 -1
- package/app/components/layout/IntegrationBackTitle.vue +12 -7
- package/app/components/layout/IntegrationsHub.vue +191 -43
- package/app/components/layout/PersonalSetupModal.vue +141 -0
- package/app/components/pipeline/PipelineBuilder.vue +1 -1
- package/app/components/providers/VendorCredentialsModal.vue +7 -2
- package/app/composables/api/accounts.ts +36 -51
- package/app/composables/api/auth.ts +20 -19
- package/app/composables/api/board.ts +60 -40
- package/app/composables/api/bootstrap.ts +25 -22
- package/app/composables/api/client.ts +102 -0
- package/app/composables/api/context.ts +25 -6
- package/app/composables/api/documents.ts +36 -34
- package/app/composables/api/execution.ts +65 -48
- package/app/composables/api/followUps.ts +26 -26
- package/app/composables/api/fragments.ts +47 -34
- package/app/composables/api/github.ts +65 -45
- package/app/composables/api/humanReview.ts +7 -6
- package/app/composables/api/humanTest.ts +15 -11
- package/app/composables/api/kaizen.ts +8 -6
- package/app/composables/api/localSettings.ts +5 -4
- package/app/composables/api/models.ts +58 -51
- package/app/composables/api/notifications.ts +13 -7
- package/app/composables/api/presets.ts +34 -28
- package/app/composables/api/providerConnections.ts +68 -26
- package/app/composables/api/recurring.ts +40 -30
- package/app/composables/api/releaseHealth.ts +28 -26
- package/app/composables/api/reviews.ts +136 -114
- package/app/composables/api/sandbox.ts +52 -34
- package/app/composables/api/slack.ts +22 -25
- package/app/composables/api/spec.ts +3 -3
- package/app/composables/api/tasks.ts +42 -41
- package/app/composables/api/userSecrets.ts +12 -17
- package/app/composables/api/workspaces.ts +21 -15
- package/app/composables/useApi.ts +9 -1
- package/app/composables/useIntegrationBack.ts +9 -3
- package/app/pages/index.vue +2 -0
- package/app/stores/auth.ts +2 -1
- package/app/stores/board.ts +2 -1
- package/app/stores/brainstorm.ts +2 -2
- package/app/stores/clarity.ts +6 -2
- package/app/stores/execution.ts +3 -2
- package/app/stores/github.ts +1 -2
- package/app/stores/mergePresets.ts +2 -6
- package/app/stores/pipelines.ts +1 -1
- package/app/stores/recurringPipelines.ts +2 -7
- package/app/stores/sandbox.ts +1 -2
- package/app/stores/ui.ts +62 -19
- package/app/types/accountSettings.ts +11 -36
- package/app/types/accounts.ts +16 -71
- package/app/types/bootstrap.ts +13 -75
- package/app/types/brainstorm.ts +13 -38
- package/app/types/clarity.ts +12 -43
- package/app/types/consensus.ts +16 -89
- package/app/types/documents.ts +19 -94
- package/app/types/domain.ts +54 -586
- package/app/types/execution.ts +48 -515
- package/app/types/fragments.ts +15 -83
- package/app/types/github.ts +25 -161
- package/app/types/incidentEnrichment.ts +10 -25
- package/app/types/localModels.ts +11 -61
- package/app/types/localSettings.ts +9 -26
- package/app/types/merge.ts +10 -68
- package/app/types/model-presets.ts +7 -28
- package/app/types/models.ts +16 -164
- package/app/types/notifications.ts +18 -77
- package/app/types/openrouter.ts +8 -34
- package/app/types/providerConnections.ts +21 -41
- package/app/types/provisioningLogs.ts +9 -29
- package/app/types/recurring.ts +10 -63
- package/app/types/releaseHealth.ts +15 -39
- package/app/types/requirements.ts +14 -84
- package/app/types/sandbox.ts +45 -161
- package/app/types/services.ts +3 -22
- package/app/types/slack.ts +10 -47
- package/app/types/spec.ts +15 -68
- package/app/types/tasks.ts +15 -111
- package/app/types/tracker.ts +9 -24
- package/app/types/userSecrets.ts +12 -47
- package/package.json +9 -2
package/app/types/consensus.ts
CHANGED
|
@@ -1,91 +1,18 @@
|
|
|
1
1
|
// Frontend mirror of the consensus + task-estimate wire contracts in
|
|
2
2
|
// `@cat-factory/contracts` (src/consensus.ts). Hand-synced, like the other type mirrors.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Estimate-based gating of whether a pipeline STEP runs at all (the same three axes as
|
|
23
|
-
* {@link ConsensusGating}). When enabled the step runs only if ANY supplied axis is met or
|
|
24
|
-
* exceeded; otherwise it is skipped at runtime. Used to make a companion conditional on how
|
|
25
|
-
* heavy the task is. A step with enabled gating requires a `task-estimator` earlier in the
|
|
26
|
-
* pipeline.
|
|
27
|
-
*/
|
|
28
|
-
export interface StepGating {
|
|
29
|
-
enabled: boolean
|
|
30
|
-
minComplexity?: number
|
|
31
|
-
minRisk?: number
|
|
32
|
-
minImpact?: number
|
|
33
|
-
onMissingEstimate?: 'run' | 'skip'
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
export interface ConsensusStepConfig {
|
|
37
|
-
enabled: boolean
|
|
38
|
-
strategy: ConsensusStrategy
|
|
39
|
-
participants: ConsensusParticipant[]
|
|
40
|
-
synthesizerModelId?: string
|
|
41
|
-
rounds?: number
|
|
42
|
-
gating?: ConsensusGating
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/** The task-estimator's triage of a task (each axis 0..1). */
|
|
46
|
-
export interface TaskEstimate {
|
|
47
|
-
complexity: number
|
|
48
|
-
risk: number
|
|
49
|
-
impact: number
|
|
50
|
-
rationale: string
|
|
51
|
-
model?: string | null
|
|
52
|
-
createdAt: number
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
export interface ConsensusScore {
|
|
56
|
-
dimension: string
|
|
57
|
-
value: number
|
|
58
|
-
rationale?: string
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
export interface ConsensusContribution {
|
|
62
|
-
participantId: string
|
|
63
|
-
text: string
|
|
64
|
-
scores?: ConsensusScore[]
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
export interface ConsensusRound {
|
|
68
|
-
index: number
|
|
69
|
-
kind?: 'draft' | 'critique' | 'score'
|
|
70
|
-
contributions: ConsensusContribution[]
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
export type ConsensusSessionStatus = 'running' | 'synthesizing' | 'done' | 'failed'
|
|
74
|
-
|
|
75
|
-
export interface ConsensusSession {
|
|
76
|
-
id: string
|
|
77
|
-
blockId: string
|
|
78
|
-
executionId: string | null
|
|
79
|
-
stepIndex: number
|
|
80
|
-
agentKind: string
|
|
81
|
-
strategy: ConsensusStrategy
|
|
82
|
-
status: ConsensusSessionStatus
|
|
83
|
-
participants: ConsensusParticipant[]
|
|
84
|
-
rounds: ConsensusRound[]
|
|
85
|
-
synthesis: string | null
|
|
86
|
-
confidence?: number | null
|
|
87
|
-
dissent?: string[]
|
|
88
|
-
error?: string | null
|
|
89
|
-
createdAt: number
|
|
90
|
-
updatedAt: number
|
|
91
|
-
}
|
|
3
|
+
//
|
|
4
|
+
// All wire shapes are sourced from @cat-factory/contracts (single source of truth).
|
|
5
|
+
|
|
6
|
+
export type {
|
|
7
|
+
ConsensusStrategy,
|
|
8
|
+
ConsensusParticipant,
|
|
9
|
+
ConsensusGating,
|
|
10
|
+
StepGating,
|
|
11
|
+
ConsensusStepConfig,
|
|
12
|
+
TaskEstimate,
|
|
13
|
+
ConsensusScore,
|
|
14
|
+
ConsensusContribution,
|
|
15
|
+
ConsensusRound,
|
|
16
|
+
ConsensusSessionStatus,
|
|
17
|
+
ConsensusSession,
|
|
18
|
+
} from '@cat-factory/contracts'
|
package/app/types/documents.ts
CHANGED
|
@@ -1,102 +1,27 @@
|
|
|
1
1
|
// ---------------------------------------------------------------------------
|
|
2
2
|
// Document-source integration. Requirements / RFCs / PRDs imported from external
|
|
3
3
|
// sources (Confluence, Notion, …) can be expanded into board structure or
|
|
4
|
-
// attached to a task as agent context.
|
|
5
|
-
//
|
|
4
|
+
// attached to a task as agent context.
|
|
5
|
+
//
|
|
6
|
+
// All wire shapes are sourced from @cat-factory/contracts (single source of
|
|
7
|
+
// truth). `SpawnResult` has no exported contract type (the contract models it
|
|
8
|
+
// inline), so it stays frontend-only below.
|
|
6
9
|
// ---------------------------------------------------------------------------
|
|
7
10
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
/** A source's self-description: drives the generic connect + import UI. */
|
|
23
|
-
export interface DocumentSourceDescriptor {
|
|
24
|
-
source: DocumentSourceKind
|
|
25
|
-
label: string
|
|
26
|
-
/** Lucide icon name for the source. */
|
|
27
|
-
icon: string
|
|
28
|
-
credentialFields: CredentialField[]
|
|
29
|
-
refLabel: string
|
|
30
|
-
refPlaceholder: string
|
|
31
|
-
/** Whether the source supports searching its catalogue by title/content. */
|
|
32
|
-
searchable?: boolean
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/** A workspace's connection to a document source (never carries credentials). */
|
|
36
|
-
export interface DocumentConnection {
|
|
37
|
-
source: DocumentSourceKind
|
|
38
|
-
/** Human-friendly label for what we're connected to (site URL, workspace name). */
|
|
39
|
-
label: string
|
|
40
|
-
/** When the connection was established (epoch ms). */
|
|
41
|
-
connectedAt: number
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/** A page imported from a source into the workspace. */
|
|
45
|
-
export interface SourceDocument {
|
|
46
|
-
source: DocumentSourceKind
|
|
47
|
-
/** The source's stable id for the page. */
|
|
48
|
-
externalId: string
|
|
49
|
-
title: string
|
|
50
|
-
url: string
|
|
51
|
-
/** Short plain-text preview of the page body. */
|
|
52
|
-
excerpt: string
|
|
53
|
-
/** The board block this document is attached to as context, if any. */
|
|
54
|
-
linkedBlockId: string | null
|
|
55
|
-
syncedAt: number
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
/** A lean hit from searching a document source's catalogue (not yet imported). */
|
|
59
|
-
export interface DocumentSearchResult {
|
|
60
|
-
source: DocumentSourceKind
|
|
61
|
-
/** The source's stable id for the page (re-usable as an import ref). */
|
|
62
|
-
externalId: string
|
|
63
|
-
title: string
|
|
64
|
-
url: string
|
|
65
|
-
/** Short plain-text preview (may be empty). */
|
|
66
|
-
excerpt: string
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
/** A proposed task within a planned frame/module. */
|
|
70
|
-
export interface PlanTask {
|
|
71
|
-
title: string
|
|
72
|
-
description?: string
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
/** A proposed module grouping tasks within a planned frame. */
|
|
76
|
-
export interface PlanModule {
|
|
77
|
-
name: string
|
|
78
|
-
tasks: PlanTask[]
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
/** A proposed top-level frame with its modules and loose tasks. */
|
|
82
|
-
export interface PlanFrame {
|
|
83
|
-
type: BlockType
|
|
84
|
-
title: string
|
|
85
|
-
description?: string
|
|
86
|
-
modules: PlanModule[]
|
|
87
|
-
tasks: PlanTask[]
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
/** A board structure extracted from an imported document. */
|
|
91
|
-
export interface DocumentBoardPlan {
|
|
92
|
-
source: DocumentSourceKind
|
|
93
|
-
externalId: string
|
|
94
|
-
/** Whether an LLM produced the plan or the deterministic heading parser did. */
|
|
95
|
-
planner: 'llm' | 'headings'
|
|
96
|
-
frames: PlanFrame[]
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
/** Counts of blocks created by spawning a plan onto the board. */
|
|
11
|
+
export type {
|
|
12
|
+
DocumentSourceKind,
|
|
13
|
+
CredentialField,
|
|
14
|
+
DocumentSourceDescriptor,
|
|
15
|
+
DocumentConnection,
|
|
16
|
+
SourceDocument,
|
|
17
|
+
DocumentSearchResult,
|
|
18
|
+
PlanTask,
|
|
19
|
+
PlanModule,
|
|
20
|
+
PlanFrame,
|
|
21
|
+
DocumentBoardPlan,
|
|
22
|
+
} from '@cat-factory/contracts'
|
|
23
|
+
|
|
24
|
+
/** Counts of blocks created by spawning a plan onto the board. Frontend-only. */
|
|
100
25
|
export interface SpawnResult {
|
|
101
26
|
frames: number
|
|
102
27
|
modules: number
|