mycontext-cli 2.0.27 → 2.0.29
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/README.md +71 -342
- package/dist/agents/implementations/CodeGenSubAgent.d.ts.map +1 -1
- package/dist/agents/implementations/CodeGenSubAgent.js +67 -14
- package/dist/agents/implementations/CodeGenSubAgent.js.map +1 -1
- package/dist/agents/implementations/DesignPipelineAgent.d.ts +80 -0
- package/dist/agents/implementations/DesignPipelineAgent.d.ts.map +1 -0
- package/dist/agents/implementations/DesignPipelineAgent.js +1406 -0
- package/dist/agents/implementations/DesignPipelineAgent.js.map +1 -0
- package/dist/agents/implementations/FeatureAssemblyAgent.d.ts +67 -0
- package/dist/agents/implementations/FeatureAssemblyAgent.d.ts.map +1 -0
- package/dist/agents/implementations/FeatureAssemblyAgent.js +564 -0
- package/dist/agents/implementations/FeatureAssemblyAgent.js.map +1 -0
- package/dist/agents/implementations/PromptConstructorAgent.d.ts +10 -0
- package/dist/agents/implementations/PromptConstructorAgent.d.ts.map +1 -1
- package/dist/agents/implementations/PromptConstructorAgent.js +172 -12
- package/dist/agents/implementations/PromptConstructorAgent.js.map +1 -1
- package/dist/agents/implementations/RoleBasedGenerator.d.ts +52 -0
- package/dist/agents/implementations/RoleBasedGenerator.d.ts.map +1 -0
- package/dist/agents/implementations/RoleBasedGenerator.js +370 -0
- package/dist/agents/implementations/RoleBasedGenerator.js.map +1 -0
- package/dist/cli.js +111 -56
- package/dist/cli.js.map +1 -1
- package/dist/clients/ClaudeSDKClient.d.ts +48 -0
- package/dist/clients/ClaudeSDKClient.d.ts.map +1 -0
- package/dist/clients/ClaudeSDKClient.js +158 -0
- package/dist/clients/ClaudeSDKClient.js.map +1 -0
- package/dist/clients/MyContextAIClient.d.ts +73 -0
- package/dist/clients/MyContextAIClient.d.ts.map +1 -0
- package/dist/clients/MyContextAIClient.js +280 -0
- package/dist/clients/MyContextAIClient.js.map +1 -0
- package/dist/clients/ProviderChain.d.ts +87 -0
- package/dist/clients/ProviderChain.d.ts.map +1 -0
- package/dist/clients/ProviderChain.js +246 -0
- package/dist/clients/ProviderChain.js.map +1 -0
- package/dist/clients/XAIClient.d.ts +48 -0
- package/dist/clients/XAIClient.d.ts.map +1 -0
- package/dist/clients/XAIClient.js +152 -0
- package/dist/clients/XAIClient.js.map +1 -0
- package/dist/commands/assemble-features.d.ts +40 -0
- package/dist/commands/assemble-features.d.ts.map +1 -0
- package/dist/commands/assemble-features.js +383 -0
- package/dist/commands/assemble-features.js.map +1 -0
- package/dist/commands/clone-starter.d.ts +32 -0
- package/dist/commands/clone-starter.d.ts.map +1 -0
- package/dist/commands/clone-starter.js +218 -0
- package/dist/commands/clone-starter.js.map +1 -0
- package/dist/commands/design-analyze.d.ts +46 -0
- package/dist/commands/design-analyze.d.ts.map +1 -0
- package/dist/commands/design-analyze.js +232 -0
- package/dist/commands/design-analyze.js.map +1 -0
- package/dist/commands/generate-components.d.ts +11 -0
- package/dist/commands/generate-components.d.ts.map +1 -1
- package/dist/commands/generate-components.js +342 -12
- package/dist/commands/generate-components.js.map +1 -1
- package/dist/commands/generate-context-files.d.ts +9 -0
- package/dist/commands/generate-context-files.d.ts.map +1 -1
- package/dist/commands/generate-context-files.js +57 -0
- package/dist/commands/generate-context-files.js.map +1 -1
- package/dist/commands/generate.d.ts +5 -0
- package/dist/commands/generate.d.ts.map +1 -1
- package/dist/commands/generate.js +109 -2
- package/dist/commands/generate.js.map +1 -1
- package/dist/commands/init.d.ts +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +32 -10
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/preview-components.d.ts +12 -0
- package/dist/commands/preview-components.d.ts.map +1 -0
- package/dist/commands/preview-components.js +122 -0
- package/dist/commands/preview-components.js.map +1 -0
- package/dist/commands/refine-component.d.ts +43 -0
- package/dist/commands/refine-component.d.ts.map +1 -0
- package/dist/commands/refine-component.js +313 -0
- package/dist/commands/refine-component.js.map +1 -0
- package/dist/commands/review-context.d.ts +47 -0
- package/dist/commands/review-context.d.ts.map +1 -0
- package/dist/commands/review-context.js +335 -0
- package/dist/commands/review-context.js.map +1 -0
- package/dist/commands/setup-complete.d.ts.map +1 -1
- package/dist/commands/setup-complete.js +38 -2
- package/dist/commands/setup-complete.js.map +1 -1
- package/dist/commands/workflow.d.ts.map +1 -1
- package/dist/commands/workflow.js +86 -7
- package/dist/commands/workflow.js.map +1 -1
- package/dist/config/intent-dictionary.json +3700 -0
- package/dist/package.json +12 -1
- package/dist/services/ContextValidator.d.ts +99 -0
- package/dist/services/ContextValidator.d.ts.map +1 -0
- package/dist/services/ContextValidator.js +433 -0
- package/dist/services/ContextValidator.js.map +1 -0
- package/dist/services/IntentEnricher.d.ts +61 -0
- package/dist/services/IntentEnricher.d.ts.map +1 -0
- package/dist/services/IntentEnricher.js +318 -0
- package/dist/services/IntentEnricher.js.map +1 -0
- package/dist/services/IntentValidator.d.ts +114 -0
- package/dist/services/IntentValidator.d.ts.map +1 -0
- package/dist/services/IntentValidator.js +680 -0
- package/dist/services/IntentValidator.js.map +1 -0
- package/dist/services/MutationLogger.d.ts +54 -0
- package/dist/services/MutationLogger.d.ts.map +1 -0
- package/dist/services/MutationLogger.js +164 -0
- package/dist/services/MutationLogger.js.map +1 -0
- package/dist/services/RegressionRunner.d.ts +49 -0
- package/dist/services/RegressionRunner.d.ts.map +1 -0
- package/dist/services/RegressionRunner.js +285 -0
- package/dist/services/RegressionRunner.js.map +1 -0
- package/dist/services/TriggerLogger.d.ts +101 -0
- package/dist/services/TriggerLogger.d.ts.map +1 -0
- package/dist/services/TriggerLogger.js +263 -0
- package/dist/services/TriggerLogger.js.map +1 -0
- package/dist/types/design-pipeline.d.ts +300 -0
- package/dist/types/design-pipeline.d.ts.map +1 -0
- package/dist/types/design-pipeline.js +9 -0
- package/dist/types/design-pipeline.js.map +1 -0
- package/dist/types/feature-bundle.d.ts +239 -0
- package/dist/types/feature-bundle.d.ts.map +1 -0
- package/dist/types/feature-bundle.js +9 -0
- package/dist/types/feature-bundle.js.map +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/intent-dictionary.d.ts +525 -0
- package/dist/types/intent-dictionary.d.ts.map +1 -0
- package/dist/types/intent-dictionary.js +11 -0
- package/dist/types/intent-dictionary.js.map +1 -0
- package/dist/types/role-permissions.d.ts +167 -0
- package/dist/types/role-permissions.d.ts.map +1 -0
- package/dist/types/role-permissions.js +9 -0
- package/dist/types/role-permissions.js.map +1 -0
- package/dist/utils/contextEnricher.d.ts +41 -0
- package/dist/utils/contextEnricher.d.ts.map +1 -0
- package/dist/utils/contextEnricher.js +327 -0
- package/dist/utils/contextEnricher.js.map +1 -0
- package/dist/utils/designFallbacks.d.ts +48 -0
- package/dist/utils/designFallbacks.d.ts.map +1 -0
- package/dist/utils/designFallbacks.js +885 -0
- package/dist/utils/designFallbacks.js.map +1 -0
- package/dist/utils/designManifestManager.d.ts +89 -0
- package/dist/utils/designManifestManager.d.ts.map +1 -0
- package/dist/utils/designManifestManager.js +533 -0
- package/dist/utils/designManifestManager.js.map +1 -0
- package/dist/utils/designPipelineStateManager.d.ts +63 -0
- package/dist/utils/designPipelineStateManager.d.ts.map +1 -0
- package/dist/utils/designPipelineStateManager.js +174 -0
- package/dist/utils/designPipelineStateManager.js.map +1 -0
- package/dist/utils/envExampleGenerator.d.ts.map +1 -1
- package/dist/utils/envExampleGenerator.js +41 -171
- package/dist/utils/envExampleGenerator.js.map +1 -1
- package/dist/utils/featureBundleManager.d.ts +90 -0
- package/dist/utils/featureBundleManager.d.ts.map +1 -0
- package/dist/utils/featureBundleManager.js +340 -0
- package/dist/utils/featureBundleManager.js.map +1 -0
- package/dist/utils/githubCloner.d.ts +93 -0
- package/dist/utils/githubCloner.d.ts.map +1 -0
- package/dist/utils/githubCloner.js +305 -0
- package/dist/utils/githubCloner.js.map +1 -0
- package/dist/utils/hybridAIClient.d.ts.map +1 -1
- package/dist/utils/hybridAIClient.js +21 -0
- package/dist/utils/hybridAIClient.js.map +1 -1
- package/dist/utils/openRouterClient.d.ts +10 -0
- package/dist/utils/openRouterClient.d.ts.map +1 -0
- package/dist/utils/openRouterClient.js +61 -0
- package/dist/utils/openRouterClient.js.map +1 -0
- package/dist/utils/rolePermissionMapper.d.ts +89 -0
- package/dist/utils/rolePermissionMapper.d.ts.map +1 -0
- package/dist/utils/rolePermissionMapper.js +337 -0
- package/dist/utils/rolePermissionMapper.js.map +1 -0
- package/dist/utils/unifiedDesignContextLoader.d.ts +76 -0
- package/dist/utils/unifiedDesignContextLoader.d.ts.map +1 -0
- package/dist/utils/unifiedDesignContextLoader.js +344 -0
- package/dist/utils/unifiedDesignContextLoader.js.map +1 -0
- package/package.json +12 -1
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Role-Based Permission Types
|
|
3
|
+
*
|
|
4
|
+
* Defines the permission system for role-based access control
|
|
5
|
+
* in the Feature Assembly system.
|
|
6
|
+
*/
|
|
7
|
+
export type Role = "admin" | "user" | "guest" | "moderator" | "editor";
|
|
8
|
+
export type Resource = "users" | "posts" | "comments" | "settings" | "analytics" | "files" | "notifications" | "reports" | "audit-logs" | "all" | "public";
|
|
9
|
+
export type Action = "create" | "read" | "update" | "delete" | "manage" | "approve" | "reject" | "export" | "import";
|
|
10
|
+
export interface Permission {
|
|
11
|
+
id: string;
|
|
12
|
+
resource: Resource;
|
|
13
|
+
action: Action;
|
|
14
|
+
conditions?: PermissionCondition[];
|
|
15
|
+
description?: string;
|
|
16
|
+
metadata?: Record<string, any>;
|
|
17
|
+
}
|
|
18
|
+
export interface PermissionCondition {
|
|
19
|
+
field: string;
|
|
20
|
+
operator: PermissionOperator;
|
|
21
|
+
value: any;
|
|
22
|
+
description?: string;
|
|
23
|
+
}
|
|
24
|
+
export type PermissionOperator = "equals" | "notEquals" | "in" | "notIn" | "contains" | "startsWith" | "endsWith" | "greaterThan" | "lessThan" | "between" | "isNull" | "isNotNull";
|
|
25
|
+
export interface RoleDefinition {
|
|
26
|
+
name: Role;
|
|
27
|
+
displayName: string;
|
|
28
|
+
description: string;
|
|
29
|
+
level: number;
|
|
30
|
+
permissions: Permission[];
|
|
31
|
+
inherits?: Role[];
|
|
32
|
+
restrictions?: PermissionRestriction[];
|
|
33
|
+
metadata?: {
|
|
34
|
+
color?: string;
|
|
35
|
+
icon?: string;
|
|
36
|
+
badge?: string;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
export interface PermissionRestriction {
|
|
40
|
+
resource: Resource;
|
|
41
|
+
action: Action;
|
|
42
|
+
reason: string;
|
|
43
|
+
conditions?: PermissionCondition[];
|
|
44
|
+
}
|
|
45
|
+
export interface RoleHierarchy {
|
|
46
|
+
roles: RoleDefinition[];
|
|
47
|
+
inheritance: RoleInheritance[];
|
|
48
|
+
defaultRole: Role;
|
|
49
|
+
fallbackRole: Role;
|
|
50
|
+
}
|
|
51
|
+
export interface RoleInheritance {
|
|
52
|
+
child: Role;
|
|
53
|
+
parent: Role;
|
|
54
|
+
type: "full" | "partial" | "conditional";
|
|
55
|
+
conditions?: PermissionCondition[];
|
|
56
|
+
}
|
|
57
|
+
export interface PermissionCheck {
|
|
58
|
+
role: Role;
|
|
59
|
+
resource: Resource;
|
|
60
|
+
action: Action;
|
|
61
|
+
context?: PermissionContext;
|
|
62
|
+
result: boolean;
|
|
63
|
+
reason?: string;
|
|
64
|
+
conditions?: PermissionCondition[];
|
|
65
|
+
}
|
|
66
|
+
export interface PermissionContext {
|
|
67
|
+
userId?: string;
|
|
68
|
+
resourceId?: string;
|
|
69
|
+
metadata?: Record<string, any>;
|
|
70
|
+
timestamp?: string;
|
|
71
|
+
ipAddress?: string;
|
|
72
|
+
userAgent?: string;
|
|
73
|
+
}
|
|
74
|
+
export interface RolePermissionMatrix {
|
|
75
|
+
[role: string]: {
|
|
76
|
+
[resource: string]: Action[];
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
export interface FeaturePermission {
|
|
80
|
+
feature: string;
|
|
81
|
+
role: Role;
|
|
82
|
+
access: "full" | "read-only" | "none";
|
|
83
|
+
restrictions?: string[];
|
|
84
|
+
customPermissions?: Permission[];
|
|
85
|
+
}
|
|
86
|
+
export interface PermissionPolicy {
|
|
87
|
+
name: string;
|
|
88
|
+
description: string;
|
|
89
|
+
rules: PermissionRule[];
|
|
90
|
+
exceptions?: PermissionException[];
|
|
91
|
+
metadata?: Record<string, any>;
|
|
92
|
+
}
|
|
93
|
+
export interface PermissionRule {
|
|
94
|
+
id: string;
|
|
95
|
+
name: string;
|
|
96
|
+
description: string;
|
|
97
|
+
conditions: PermissionCondition[];
|
|
98
|
+
actions: PermissionAction[];
|
|
99
|
+
priority: number;
|
|
100
|
+
enabled: boolean;
|
|
101
|
+
}
|
|
102
|
+
export interface PermissionAction {
|
|
103
|
+
type: "allow" | "deny" | "require-approval";
|
|
104
|
+
resource: Resource;
|
|
105
|
+
action: Action;
|
|
106
|
+
conditions?: PermissionCondition[];
|
|
107
|
+
}
|
|
108
|
+
export interface PermissionException {
|
|
109
|
+
id: string;
|
|
110
|
+
ruleId: string;
|
|
111
|
+
conditions: PermissionCondition[];
|
|
112
|
+
action: "allow" | "deny";
|
|
113
|
+
reason: string;
|
|
114
|
+
expiresAt?: string;
|
|
115
|
+
}
|
|
116
|
+
export interface RoleAssignment {
|
|
117
|
+
userId: string;
|
|
118
|
+
role: Role;
|
|
119
|
+
assignedBy: string;
|
|
120
|
+
assignedAt: string;
|
|
121
|
+
expiresAt?: string;
|
|
122
|
+
conditions?: PermissionCondition[];
|
|
123
|
+
metadata?: Record<string, any>;
|
|
124
|
+
}
|
|
125
|
+
export interface PermissionAudit {
|
|
126
|
+
id: string;
|
|
127
|
+
userId: string;
|
|
128
|
+
action: string;
|
|
129
|
+
resource: Resource;
|
|
130
|
+
result: "allowed" | "denied";
|
|
131
|
+
reason?: string;
|
|
132
|
+
timestamp: string;
|
|
133
|
+
context?: PermissionContext;
|
|
134
|
+
metadata?: Record<string, any>;
|
|
135
|
+
}
|
|
136
|
+
export interface RoleBasedFeatureConfig {
|
|
137
|
+
feature: string;
|
|
138
|
+
roles: {
|
|
139
|
+
[role in Role]?: {
|
|
140
|
+
enabled: boolean;
|
|
141
|
+
permissions: Permission[];
|
|
142
|
+
restrictions?: string[];
|
|
143
|
+
customizations?: Record<string, any>;
|
|
144
|
+
};
|
|
145
|
+
};
|
|
146
|
+
defaultRole: Role;
|
|
147
|
+
fallbackRole: Role;
|
|
148
|
+
}
|
|
149
|
+
export interface PermissionManager {
|
|
150
|
+
checkPermission(role: Role, resource: Resource, action: Action, context?: PermissionContext): Promise<PermissionCheck>;
|
|
151
|
+
getUserRoles(userId: string): Promise<Role[]>;
|
|
152
|
+
assignRole(userId: string, role: Role, assignedBy: string): Promise<void>;
|
|
153
|
+
revokeRole(userId: string, role: Role, revokedBy: string): Promise<void>;
|
|
154
|
+
getRolePermissions(role: Role): Promise<Permission[]>;
|
|
155
|
+
createRole(role: RoleDefinition): Promise<void>;
|
|
156
|
+
updateRole(role: RoleDefinition): Promise<void>;
|
|
157
|
+
deleteRole(role: Role): Promise<void>;
|
|
158
|
+
auditPermission(userId: string, resource: Resource, action: Action, result: "allowed" | "denied", context?: PermissionContext): Promise<void>;
|
|
159
|
+
}
|
|
160
|
+
export interface RolePermissionMapper {
|
|
161
|
+
mapFeatureToRoles(feature: string): RoleBasedFeatureConfig;
|
|
162
|
+
mapComponentToPermissions(component: string, role: Role): Permission[];
|
|
163
|
+
mapActionToPermissions(action: string, role: Role): Permission[];
|
|
164
|
+
mapRouteToPermissions(route: string, role: Role): Permission[];
|
|
165
|
+
generateRoleBasedCode(feature: string, role: Role, config: RoleBasedFeatureConfig): string;
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=role-permissions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"role-permissions.d.ts","sourceRoot":"","sources":["../../src/types/role-permissions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Role-Based Permission Types
|
|
4
|
+
*
|
|
5
|
+
* Defines the permission system for role-based access control
|
|
6
|
+
* in the Feature Assembly system.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
//# sourceMappingURL=role-permissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"role-permissions.js","sourceRoot":"","sources":["../../src/types/role-permissions.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { EnrichedContext } from "../types/design-pipeline";
|
|
2
|
+
/**
|
|
3
|
+
* Context Enricher
|
|
4
|
+
*
|
|
5
|
+
* Merges all context files (PRD, types, brand, design manifest) into a unified
|
|
6
|
+
* enriched context for optimal component generation.
|
|
7
|
+
*/
|
|
8
|
+
export declare class ContextEnricher {
|
|
9
|
+
private manifestManager;
|
|
10
|
+
constructor(projectPath?: string);
|
|
11
|
+
/**
|
|
12
|
+
* Merge all context files with design manifest
|
|
13
|
+
*/
|
|
14
|
+
mergeAllContext(prd: string, types?: string, brand?: string, componentList?: string): Promise<EnrichedContext>;
|
|
15
|
+
/**
|
|
16
|
+
* Format context for optimal model consumption
|
|
17
|
+
*/
|
|
18
|
+
formatContextForModel(context: EnrichedContext): string;
|
|
19
|
+
/**
|
|
20
|
+
* Compress context for token efficiency
|
|
21
|
+
*/
|
|
22
|
+
compressContext(context: EnrichedContext): EnrichedContext;
|
|
23
|
+
/**
|
|
24
|
+
* Get context summary for display
|
|
25
|
+
*/
|
|
26
|
+
getContextSummary(context: EnrichedContext): string;
|
|
27
|
+
private formatProjectSummary;
|
|
28
|
+
private formatDesignSystem;
|
|
29
|
+
private formatDesignIntent;
|
|
30
|
+
private formatComponentArchitecture;
|
|
31
|
+
private formatTechnicalContext;
|
|
32
|
+
private formatImplementationGuidelines;
|
|
33
|
+
private formatDesignPrinciples;
|
|
34
|
+
private formatVisualTokens;
|
|
35
|
+
private formatInteractionPatterns;
|
|
36
|
+
private formatAccessibilityRequirements;
|
|
37
|
+
private mergeComponentList;
|
|
38
|
+
private generateDesignReasoning;
|
|
39
|
+
private compressVisualTokens;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=contextEnricher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contextEnricher.d.ts","sourceRoot":"","sources":["../../src/utils/contextEnricher.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EAOhB,MAAM,0BAA0B,CAAC;AAGlC;;;;;GAKG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,eAAe,CAAwB;gBAEnC,WAAW,GAAE,MAAsB;IAI/C;;OAEG;IACG,eAAe,CACnB,GAAG,EAAE,MAAM,EACX,KAAK,GAAE,MAAW,EAClB,KAAK,GAAE,MAAW,EAClB,aAAa,GAAE,MAAW,GACzB,OAAO,CAAC,eAAe,CAAC;IAuD3B;;OAEG;IACH,qBAAqB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM;IAiBvD;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,eAAe;IAU1D;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM;IAmBnD,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,kBAAkB;IA4C1B,OAAO,CAAC,kBAAkB;IAwB1B,OAAO,CAAC,2BAA2B;IAkCnC,OAAO,CAAC,sBAAsB;IA4B9B,OAAO,CAAC,8BAA8B;IAsBtC,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,yBAAyB;IAQjC,OAAO,CAAC,+BAA+B;IAQvC,OAAO,CAAC,kBAAkB;IAwB1B,OAAO,CAAC,uBAAuB;IAuB/B,OAAO,CAAC,oBAAoB;CAuB7B"}
|
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ContextEnricher = void 0;
|
|
7
|
+
const designManifestManager_1 = require("./designManifestManager");
|
|
8
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
9
|
+
/**
|
|
10
|
+
* Context Enricher
|
|
11
|
+
*
|
|
12
|
+
* Merges all context files (PRD, types, brand, design manifest) into a unified
|
|
13
|
+
* enriched context for optimal component generation.
|
|
14
|
+
*/
|
|
15
|
+
class ContextEnricher {
|
|
16
|
+
constructor(projectPath = process.cwd()) {
|
|
17
|
+
this.manifestManager = new designManifestManager_1.DesignManifestManager(projectPath);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Merge all context files with design manifest
|
|
21
|
+
*/
|
|
22
|
+
async mergeAllContext(prd, types = "", brand = "", componentList = "") {
|
|
23
|
+
console.log(chalk_1.default.blue("🔄 Enriching context with design manifest..."));
|
|
24
|
+
try {
|
|
25
|
+
// Load design manifest
|
|
26
|
+
const manifest = await this.manifestManager.loadDesignManifest();
|
|
27
|
+
if (!manifest) {
|
|
28
|
+
throw new Error("No design manifest found. Run design pipeline first with: mycontext design analyze");
|
|
29
|
+
}
|
|
30
|
+
// Create enriched context
|
|
31
|
+
const enrichedContext = await this.manifestManager.enrichContextWithDesign(prd, types, brand);
|
|
32
|
+
// Add additional context from component list
|
|
33
|
+
if (componentList) {
|
|
34
|
+
enrichedContext.component_architecture = this.mergeComponentList(enrichedContext.component_architecture, componentList);
|
|
35
|
+
}
|
|
36
|
+
// Add design reasoning context (extend the interface)
|
|
37
|
+
enrichedContext.design_reasoning =
|
|
38
|
+
this.generateDesignReasoning(manifest);
|
|
39
|
+
console.log(chalk_1.default.green("✅ Context enriched successfully"));
|
|
40
|
+
console.log(chalk_1.default.gray(` Design system: ${enrichedContext.design_system.colors.primary} primary color`));
|
|
41
|
+
console.log(chalk_1.default.gray(` Components: ${enrichedContext.component_architecture.components.length} defined`));
|
|
42
|
+
console.log(chalk_1.default.gray(` Design anchors: ${enrichedContext.design_intent.design_anchors.join(", ")}`));
|
|
43
|
+
return enrichedContext;
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
console.error(chalk_1.default.red("❌ Context enrichment failed:"), error);
|
|
47
|
+
throw error;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Format context for optimal model consumption
|
|
52
|
+
*/
|
|
53
|
+
formatContextForModel(context) {
|
|
54
|
+
const sections = [
|
|
55
|
+
this.formatProjectSummary(context.project_summary),
|
|
56
|
+
this.formatDesignSystem(context.design_system),
|
|
57
|
+
this.formatDesignIntent(context.design_intent),
|
|
58
|
+
this.formatComponentArchitecture(context.component_architecture),
|
|
59
|
+
this.formatTechnicalContext(context.technical_context),
|
|
60
|
+
this.formatImplementationGuidelines(context.implementation_guidelines),
|
|
61
|
+
this.formatDesignPrinciples(context.design_principles),
|
|
62
|
+
this.formatVisualTokens(context.visual_tokens),
|
|
63
|
+
this.formatInteractionPatterns(context.interaction_patterns),
|
|
64
|
+
this.formatAccessibilityRequirements(context.accessibility_requirements),
|
|
65
|
+
];
|
|
66
|
+
return sections.filter((section) => section.trim().length > 0).join("\n\n");
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Compress context for token efficiency
|
|
70
|
+
*/
|
|
71
|
+
compressContext(context) {
|
|
72
|
+
return {
|
|
73
|
+
...context,
|
|
74
|
+
// Keep essential design tokens, remove verbose descriptions
|
|
75
|
+
visual_tokens: this.compressVisualTokens(context.visual_tokens),
|
|
76
|
+
design_principles: context.design_principles.slice(0, 5), // Top 5 principles
|
|
77
|
+
interaction_patterns: context.interaction_patterns.slice(0, 3), // Top 3 patterns
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Get context summary for display
|
|
82
|
+
*/
|
|
83
|
+
getContextSummary(context) {
|
|
84
|
+
return [
|
|
85
|
+
`📱 Project: ${context.project_summary.app_name}`,
|
|
86
|
+
`🎯 Purpose: ${context.project_summary.core_purpose}`,
|
|
87
|
+
`🎨 Theme: ${context.design_system.colors.background === "#FFFFFF" ? "Light" : "Dark"}`,
|
|
88
|
+
`🎨 Primary: ${context.design_system.colors.primary}`,
|
|
89
|
+
`📐 Components: ${context.component_architecture.components.length}`,
|
|
90
|
+
`📱 Screens: ${context.component_architecture.screens.length}`,
|
|
91
|
+
`⚡ Framework: ${context.implementation_guidelines.framework}`,
|
|
92
|
+
`🎯 Anchors: ${context.design_intent.design_anchors.join(", ")}`,
|
|
93
|
+
].join("\n");
|
|
94
|
+
}
|
|
95
|
+
// ============================================================================
|
|
96
|
+
// PRIVATE HELPER METHODS
|
|
97
|
+
// ============================================================================
|
|
98
|
+
formatProjectSummary(summary) {
|
|
99
|
+
return `## PROJECT SUMMARY
|
|
100
|
+
**App Name:** ${summary.app_name}
|
|
101
|
+
**Core Purpose:** ${summary.core_purpose}
|
|
102
|
+
**Platform:** ${summary.platform}
|
|
103
|
+
**Complexity:** ${summary.complexity_level}
|
|
104
|
+
|
|
105
|
+
**Key Features:**
|
|
106
|
+
${summary.key_features.map((f) => `- ${f}`).join("\n")}
|
|
107
|
+
|
|
108
|
+
**Primary User Actions:**
|
|
109
|
+
${summary.primary_user_actions.map((a) => `- ${a}`).join("\n")}
|
|
110
|
+
|
|
111
|
+
**Technical Requirements:**
|
|
112
|
+
${summary.technical_requirements.map((r) => `- ${r}`).join("\n")}`;
|
|
113
|
+
}
|
|
114
|
+
formatDesignSystem(system) {
|
|
115
|
+
return `## DESIGN SYSTEM
|
|
116
|
+
|
|
117
|
+
**Colors:**
|
|
118
|
+
- Primary: ${system.colors.primary}
|
|
119
|
+
- Background: ${system.colors.background}
|
|
120
|
+
- Surface: ${system.colors.surface}
|
|
121
|
+
- Text: ${system.colors.text}
|
|
122
|
+
- Text Muted: ${system.colors.text_muted}
|
|
123
|
+
${system.colors.success ? `- Success: ${system.colors.success}` : ""}
|
|
124
|
+
${system.colors.warning ? `- Warning: ${system.colors.warning}` : ""}
|
|
125
|
+
${system.colors.error ? `- Error: ${system.colors.error}` : ""}
|
|
126
|
+
|
|
127
|
+
**Typography:**
|
|
128
|
+
- Heading: ${system.typography.font_families.heading}
|
|
129
|
+
- Body: ${system.typography.font_families.body}
|
|
130
|
+
- Scale: ${Object.entries(system.typography.scale)
|
|
131
|
+
.map(([size, value]) => `${size}: ${value}`)
|
|
132
|
+
.join(", ")}
|
|
133
|
+
|
|
134
|
+
**Spacing Scale:**
|
|
135
|
+
${Object.entries(system.spacing)
|
|
136
|
+
.map(([size, value]) => `- ${size}: ${value}`)
|
|
137
|
+
.join("\n")}
|
|
138
|
+
|
|
139
|
+
**Border Radius:**
|
|
140
|
+
${Object.entries(system.radii)
|
|
141
|
+
.map(([size, value]) => `- ${size}: ${value}`)
|
|
142
|
+
.join("\n")}
|
|
143
|
+
|
|
144
|
+
**Shadows:**
|
|
145
|
+
${Object.entries(system.shadows)
|
|
146
|
+
.map(([size, value]) => `- ${size}: ${value}`)
|
|
147
|
+
.join("\n")}
|
|
148
|
+
|
|
149
|
+
**Motion:**
|
|
150
|
+
- Duration: ${Object.entries(system.motion.duration)
|
|
151
|
+
.map(([type, value]) => `${type}: ${value}`)
|
|
152
|
+
.join(", ")}
|
|
153
|
+
- Easing: ${Object.entries(system.motion.easing)
|
|
154
|
+
.map(([type, value]) => `${type}: ${value}`)
|
|
155
|
+
.join(", ")}`;
|
|
156
|
+
}
|
|
157
|
+
formatDesignIntent(intent) {
|
|
158
|
+
return `## DESIGN INTENT
|
|
159
|
+
|
|
160
|
+
**Visual Philosophy:**
|
|
161
|
+
${intent.visual_philosophy}
|
|
162
|
+
|
|
163
|
+
**Design Anchors:**
|
|
164
|
+
${intent.design_anchors.map((anchor) => `- ${anchor}`).join("\n")}
|
|
165
|
+
|
|
166
|
+
**User Experience Goals:**
|
|
167
|
+
${intent.user_experience_goals.map((goal) => `- ${goal}`).join("\n")}
|
|
168
|
+
|
|
169
|
+
**Brand Alignment:**
|
|
170
|
+
${intent.brand_alignment}
|
|
171
|
+
|
|
172
|
+
**Technical Constraints:**
|
|
173
|
+
${intent.technical_constraints
|
|
174
|
+
.map((constraint) => `- ${constraint}`)
|
|
175
|
+
.join("\n")}
|
|
176
|
+
|
|
177
|
+
**Success Criteria:**
|
|
178
|
+
${intent.success_criteria.map((criteria) => `- ${criteria}`).join("\n")}`;
|
|
179
|
+
}
|
|
180
|
+
formatComponentArchitecture(architecture) {
|
|
181
|
+
return `## COMPONENT ARCHITECTURE
|
|
182
|
+
|
|
183
|
+
**Screens:**
|
|
184
|
+
${architecture.screens
|
|
185
|
+
.map((screen) => `- **${screen.name}**: ${screen.description} (${screen.layout_type})`)
|
|
186
|
+
.join("\n")}
|
|
187
|
+
|
|
188
|
+
**Components:**
|
|
189
|
+
${architecture.components
|
|
190
|
+
.map((component) => `- **${component.name}**: ${component.description} (${component.type})`)
|
|
191
|
+
.join("\n")}
|
|
192
|
+
|
|
193
|
+
**Design Patterns:**
|
|
194
|
+
${architecture.design_patterns.map((pattern) => `- ${pattern}`).join("\n")}
|
|
195
|
+
|
|
196
|
+
**Interaction Flows:**
|
|
197
|
+
${architecture.interaction_flows.map((flow) => `- ${flow}`).join("\n")}
|
|
198
|
+
|
|
199
|
+
**State Management:**
|
|
200
|
+
${architecture.state_management.map((state) => `- ${state}`).join("\n")}
|
|
201
|
+
|
|
202
|
+
**Data Flow:**
|
|
203
|
+
${architecture.data_flow}`;
|
|
204
|
+
}
|
|
205
|
+
formatTechnicalContext(technical) {
|
|
206
|
+
const sections = [];
|
|
207
|
+
if (technical.prd) {
|
|
208
|
+
sections.push(`**PRD Context:**\n${technical.prd.slice(0, 500)}...`);
|
|
209
|
+
}
|
|
210
|
+
if (technical.types) {
|
|
211
|
+
sections.push(`**Type Definitions:**\n${technical.types.slice(0, 300)}...`);
|
|
212
|
+
}
|
|
213
|
+
if (technical.brand) {
|
|
214
|
+
sections.push(`**Brand Guidelines:**\n${technical.brand.slice(0, 300)}...`);
|
|
215
|
+
}
|
|
216
|
+
return sections.length > 0
|
|
217
|
+
? `## TECHNICAL CONTEXT\n\n${sections.join("\n\n")}`
|
|
218
|
+
: "";
|
|
219
|
+
}
|
|
220
|
+
formatImplementationGuidelines(guidelines) {
|
|
221
|
+
return `## IMPLEMENTATION GUIDELINES
|
|
222
|
+
|
|
223
|
+
**Framework:** ${guidelines.framework}
|
|
224
|
+
**State Management:** ${guidelines.state_management}
|
|
225
|
+
**Data Persistence:** ${guidelines.data_persistence}
|
|
226
|
+
|
|
227
|
+
**Build Requirements:**
|
|
228
|
+
${guidelines.build_requirements.map((req) => `- ${req}`).join("\n")}
|
|
229
|
+
|
|
230
|
+
**Performance Optimizations:**
|
|
231
|
+
${guidelines.performance_optimizations.map((opt) => `- ${opt}`).join("\n")}
|
|
232
|
+
|
|
233
|
+
**Accessibility Implementation:**
|
|
234
|
+
${guidelines.accessibility_implementation.map((acc) => `- ${acc}`).join("\n")}
|
|
235
|
+
|
|
236
|
+
**Testing Strategy:**
|
|
237
|
+
${guidelines.testing_strategy.map((test) => `- ${test}`).join("\n")}`;
|
|
238
|
+
}
|
|
239
|
+
formatDesignPrinciples(principles) {
|
|
240
|
+
return `## DESIGN PRINCIPLES
|
|
241
|
+
|
|
242
|
+
${principles.map((principle) => `- ${principle}`).join("\n")}`;
|
|
243
|
+
}
|
|
244
|
+
formatVisualTokens(tokens) {
|
|
245
|
+
return `## VISUAL TOKENS
|
|
246
|
+
|
|
247
|
+
**Available for component styling:**
|
|
248
|
+
- Colors: Use CSS variables or Tailwind classes
|
|
249
|
+
- Spacing: Use consistent spacing scale
|
|
250
|
+
- Typography: Follow font family and scale
|
|
251
|
+
- Shadows: Apply appropriate elevation
|
|
252
|
+
- Motion: Use defined timing and easing`;
|
|
253
|
+
}
|
|
254
|
+
formatInteractionPatterns(patterns) {
|
|
255
|
+
return patterns.length > 0
|
|
256
|
+
? `## INTERACTION PATTERNS
|
|
257
|
+
|
|
258
|
+
${patterns.map((pattern) => `- ${pattern}`).join("\n")}`
|
|
259
|
+
: "";
|
|
260
|
+
}
|
|
261
|
+
formatAccessibilityRequirements(requirements) {
|
|
262
|
+
return requirements.length > 0
|
|
263
|
+
? `## ACCESSIBILITY REQUIREMENTS
|
|
264
|
+
|
|
265
|
+
${requirements.map((req) => `- ${req}`).join("\n")}`
|
|
266
|
+
: "";
|
|
267
|
+
}
|
|
268
|
+
mergeComponentList(existing, componentList) {
|
|
269
|
+
try {
|
|
270
|
+
const parsedList = JSON.parse(componentList);
|
|
271
|
+
if (parsedList.components && Array.isArray(parsedList.components)) {
|
|
272
|
+
return {
|
|
273
|
+
...existing,
|
|
274
|
+
components: [...existing.components, ...parsedList.components],
|
|
275
|
+
};
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
catch (error) {
|
|
279
|
+
console.warn(chalk_1.default.yellow("⚠️ Failed to parse component list, using existing architecture"));
|
|
280
|
+
}
|
|
281
|
+
return existing;
|
|
282
|
+
}
|
|
283
|
+
generateDesignReasoning(manifest) {
|
|
284
|
+
const { phases } = manifest;
|
|
285
|
+
return `## DESIGN REASONING
|
|
286
|
+
|
|
287
|
+
**Why this design direction?**
|
|
288
|
+
${phases.design_brief.blended_style}
|
|
289
|
+
|
|
290
|
+
**Inspiration sources:**
|
|
291
|
+
${phases.design_brief.inspiration_sources
|
|
292
|
+
.map((source) => `- ${source.name}: ${source.style}`)
|
|
293
|
+
.join("\n")}
|
|
294
|
+
|
|
295
|
+
**Personality keywords:**
|
|
296
|
+
${phases.design_brief.personality_keywords.join(", ")}
|
|
297
|
+
|
|
298
|
+
**Emotional tone:**
|
|
299
|
+
${phases.design_brief.emotional_tone}
|
|
300
|
+
|
|
301
|
+
**Target audience:**
|
|
302
|
+
${phases.design_brief.target_audience}`;
|
|
303
|
+
}
|
|
304
|
+
compressVisualTokens(tokens) {
|
|
305
|
+
// Keep only essential tokens for token efficiency
|
|
306
|
+
return {
|
|
307
|
+
colors: {
|
|
308
|
+
primary: tokens.colors?.primary,
|
|
309
|
+
background: tokens.colors?.background,
|
|
310
|
+
surface: tokens.colors?.surface,
|
|
311
|
+
text: tokens.colors?.text,
|
|
312
|
+
text_muted: tokens.colors?.text_muted,
|
|
313
|
+
},
|
|
314
|
+
spacing: {
|
|
315
|
+
sm: tokens.spacing?.sm,
|
|
316
|
+
md: tokens.spacing?.md,
|
|
317
|
+
lg: tokens.spacing?.lg,
|
|
318
|
+
},
|
|
319
|
+
typography: {
|
|
320
|
+
heading: tokens.typography?.font_families?.heading,
|
|
321
|
+
body: tokens.typography?.font_families?.body,
|
|
322
|
+
},
|
|
323
|
+
};
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
exports.ContextEnricher = ContextEnricher;
|
|
327
|
+
//# sourceMappingURL=contextEnricher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contextEnricher.js","sourceRoot":"","sources":["../../src/utils/contextEnricher.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { FunctionalSummary, FallbackResult, DesignTemplate } from "../types/design-pipeline";
|
|
2
|
+
/**
|
|
3
|
+
* Design Fallbacks
|
|
4
|
+
*
|
|
5
|
+
* Rule-based extractors and templates for when AI generation fails.
|
|
6
|
+
* Ensures the design pipeline always produces usable output.
|
|
7
|
+
*/
|
|
8
|
+
export declare class DesignFallbacks {
|
|
9
|
+
private templates;
|
|
10
|
+
constructor();
|
|
11
|
+
/**
|
|
12
|
+
* Extract colors from brand context
|
|
13
|
+
*/
|
|
14
|
+
extractColorsFromBrand(brand: string): FallbackResult;
|
|
15
|
+
/**
|
|
16
|
+
* Infer typography from project context
|
|
17
|
+
*/
|
|
18
|
+
inferTypography(summary: FunctionalSummary): FallbackResult;
|
|
19
|
+
/**
|
|
20
|
+
* Generate default design tokens
|
|
21
|
+
*/
|
|
22
|
+
generateDefaultTokens(projectType?: string): FallbackResult;
|
|
23
|
+
/**
|
|
24
|
+
* Map common design patterns
|
|
25
|
+
*/
|
|
26
|
+
mapCommonPatterns(summary: FunctionalSummary): FallbackResult;
|
|
27
|
+
/**
|
|
28
|
+
* Get template by project type
|
|
29
|
+
*/
|
|
30
|
+
getTemplate(projectType: string): DesignTemplate | null;
|
|
31
|
+
/**
|
|
32
|
+
* List available templates
|
|
33
|
+
*/
|
|
34
|
+
getAvailableTemplates(): string[];
|
|
35
|
+
private initializeTemplates;
|
|
36
|
+
private createComponent;
|
|
37
|
+
private generateComplementaryColor;
|
|
38
|
+
private getDefaultColors;
|
|
39
|
+
private getDefaultTypography;
|
|
40
|
+
private getDefaultSpacing;
|
|
41
|
+
private getDefaultRadii;
|
|
42
|
+
private getDefaultShadows;
|
|
43
|
+
private getDefaultMotion;
|
|
44
|
+
private getDefaultBreakpoints;
|
|
45
|
+
private getDefaultTokens;
|
|
46
|
+
private getDefaultHierarchy;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=designFallbacks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"designFallbacks.d.ts","sourceRoot":"","sources":["../../src/utils/designFallbacks.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAQjB,cAAc,EACd,cAAc,EACf,MAAM,0BAA0B,CAAC;AAGlC;;;;;GAKG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,SAAS,CAA0C;;IAM3D;;OAEG;IACH,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc;IA8DrD;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,iBAAiB,GAAG,cAAc;IAyE3D;;OAEG;IACH,qBAAqB,CAAC,WAAW,GAAE,MAAc,GAAG,cAAc;IA4ClE;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,cAAc;IA0I7D;;OAEG;IACH,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAIvD;;OAEG;IACH,qBAAqB,IAAI,MAAM,EAAE;IAQjC,OAAO,CAAC,mBAAmB;IAgc3B,OAAO,CAAC,eAAe;IAyBvB,OAAO,CAAC,0BAA0B;IAclC,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,oBAAoB;IAqB5B,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,mBAAmB;CAgC5B"}
|