mycontext-cli 4.2.17 → 4.2.19

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 (123) hide show
  1. package/README.md +423 -60
  2. package/dist/agents/implementations/SolverAgent.d.ts +42 -0
  3. package/dist/agents/implementations/SolverAgent.d.ts.map +1 -0
  4. package/dist/agents/implementations/SolverAgent.js +543 -0
  5. package/dist/agents/implementations/SolverAgent.js.map +1 -0
  6. package/dist/cli.js +129 -0
  7. package/dist/cli.js.map +1 -1
  8. package/dist/clients/ClaudeSDKClient.d.ts +1 -0
  9. package/dist/clients/ClaudeSDKClient.d.ts.map +1 -1
  10. package/dist/clients/ClaudeSDKClient.js +3 -0
  11. package/dist/clients/ClaudeSDKClient.js.map +1 -1
  12. package/dist/clients/MyContextAIClient.d.ts +4 -0
  13. package/dist/clients/MyContextAIClient.d.ts.map +1 -1
  14. package/dist/clients/MyContextAIClient.js +6 -0
  15. package/dist/clients/MyContextAIClient.js.map +1 -1
  16. package/dist/clients/ProviderChain.d.ts +1 -0
  17. package/dist/clients/ProviderChain.d.ts.map +1 -1
  18. package/dist/clients/ProviderChain.js +3 -0
  19. package/dist/clients/ProviderChain.js.map +1 -1
  20. package/dist/clients/XAIClient.d.ts +4 -0
  21. package/dist/clients/XAIClient.d.ts.map +1 -1
  22. package/dist/clients/XAIClient.js +6 -0
  23. package/dist/clients/XAIClient.js.map +1 -1
  24. package/dist/commands/add.d.ts +17 -0
  25. package/dist/commands/add.d.ts.map +1 -0
  26. package/dist/commands/add.js +164 -0
  27. package/dist/commands/add.js.map +1 -0
  28. package/dist/commands/build.d.ts +10 -0
  29. package/dist/commands/build.d.ts.map +1 -0
  30. package/dist/commands/build.js +37 -0
  31. package/dist/commands/build.js.map +1 -0
  32. package/dist/commands/generate-assets.d.ts +11 -0
  33. package/dist/commands/generate-assets.d.ts.map +1 -0
  34. package/dist/commands/generate-assets.js +131 -0
  35. package/dist/commands/generate-assets.js.map +1 -0
  36. package/dist/commands/generate-screens.d.ts +5 -0
  37. package/dist/commands/generate-screens.d.ts.map +1 -1
  38. package/dist/commands/generate-screens.js +160 -12
  39. package/dist/commands/generate-screens.js.map +1 -1
  40. package/dist/commands/generate.d.ts.map +1 -1
  41. package/dist/commands/generate.js +43 -9
  42. package/dist/commands/generate.js.map +1 -1
  43. package/dist/commands/ideate.d.ts +14 -0
  44. package/dist/commands/ideate.d.ts.map +1 -0
  45. package/dist/commands/ideate.js +153 -0
  46. package/dist/commands/ideate.js.map +1 -0
  47. package/dist/commands/init.d.ts +1 -0
  48. package/dist/commands/init.d.ts.map +1 -1
  49. package/dist/commands/init.js +27 -2
  50. package/dist/commands/init.js.map +1 -1
  51. package/dist/commands/migrate-transform.d.ts +16 -0
  52. package/dist/commands/migrate-transform.d.ts.map +1 -0
  53. package/dist/commands/migrate-transform.js +135 -0
  54. package/dist/commands/migrate-transform.js.map +1 -0
  55. package/dist/commands/sync-readme.d.ts +3 -1
  56. package/dist/commands/sync-readme.d.ts.map +1 -1
  57. package/dist/commands/sync-readme.js +57 -59
  58. package/dist/commands/sync-readme.js.map +1 -1
  59. package/dist/commands/vision-test.d.ts.map +1 -1
  60. package/dist/commands/vision-test.js +8 -0
  61. package/dist/commands/vision-test.js.map +1 -1
  62. package/dist/constants/subAgentPersonalities.d.ts.map +1 -1
  63. package/dist/constants/subAgentPersonalities.js +29 -0
  64. package/dist/constants/subAgentPersonalities.js.map +1 -1
  65. package/dist/core/ai/AICore.d.ts +8 -0
  66. package/dist/core/ai/AICore.d.ts.map +1 -1
  67. package/dist/core/ai/AICore.js +50 -1
  68. package/dist/core/ai/AICore.js.map +1 -1
  69. package/dist/core/ai/TokenCostModel.d.ts +37 -0
  70. package/dist/core/ai/TokenCostModel.d.ts.map +1 -0
  71. package/dist/core/ai/TokenCostModel.js +132 -0
  72. package/dist/core/ai/TokenCostModel.js.map +1 -0
  73. package/dist/core/brain/BrainClient.d.ts +13 -1
  74. package/dist/core/brain/BrainClient.d.ts.map +1 -1
  75. package/dist/core/brain/BrainClient.js +49 -0
  76. package/dist/core/brain/BrainClient.js.map +1 -1
  77. package/dist/interfaces/AIClient.d.ts +4 -0
  78. package/dist/interfaces/AIClient.d.ts.map +1 -1
  79. package/dist/interfaces/AIClient.js.map +1 -1
  80. package/dist/services/MonorepoScanner.d.ts +18 -0
  81. package/dist/services/MonorepoScanner.d.ts.map +1 -0
  82. package/dist/services/MonorepoScanner.js +101 -0
  83. package/dist/services/MonorepoScanner.js.map +1 -0
  84. package/dist/services/ProjectScanner.d.ts.map +1 -1
  85. package/dist/services/ProjectScanner.js +7 -0
  86. package/dist/services/ProjectScanner.js.map +1 -1
  87. package/dist/services/ReadmeDeducer.d.ts +14 -0
  88. package/dist/services/ReadmeDeducer.d.ts.map +1 -0
  89. package/dist/services/ReadmeDeducer.js +109 -0
  90. package/dist/services/ReadmeDeducer.js.map +1 -0
  91. package/dist/tui/DashboardMode.d.ts +2 -0
  92. package/dist/tui/DashboardMode.d.ts.map +1 -1
  93. package/dist/tui/DashboardMode.js +116 -1
  94. package/dist/tui/DashboardMode.js.map +1 -1
  95. package/dist/types/constraint.d.ts +123 -0
  96. package/dist/types/constraint.d.ts.map +1 -0
  97. package/dist/types/constraint.js +13 -0
  98. package/dist/types/constraint.js.map +1 -0
  99. package/dist/types/living-context.d.ts +6 -0
  100. package/dist/types/living-context.d.ts.map +1 -1
  101. package/dist/utils/claudeAgentClient.d.ts +4 -0
  102. package/dist/utils/claudeAgentClient.d.ts.map +1 -1
  103. package/dist/utils/claudeAgentClient.js +6 -0
  104. package/dist/utils/claudeAgentClient.js.map +1 -1
  105. package/dist/utils/contextRenderer.d.ts.map +1 -1
  106. package/dist/utils/contextRenderer.js +40 -30
  107. package/dist/utils/contextRenderer.js.map +1 -1
  108. package/dist/utils/geminiClient.d.ts +11 -1
  109. package/dist/utils/geminiClient.d.ts.map +1 -1
  110. package/dist/utils/geminiClient.js +106 -58
  111. package/dist/utils/geminiClient.js.map +1 -1
  112. package/dist/utils/githubModelsClient.d.ts +4 -0
  113. package/dist/utils/githubModelsClient.d.ts.map +1 -1
  114. package/dist/utils/githubModelsClient.js +6 -0
  115. package/dist/utils/githubModelsClient.js.map +1 -1
  116. package/dist/utils/openRouterClient.d.ts +1 -0
  117. package/dist/utils/openRouterClient.d.ts.map +1 -1
  118. package/dist/utils/openRouterClient.js +3 -0
  119. package/dist/utils/openRouterClient.js.map +1 -1
  120. package/package.json +4 -2
  121. package/dist/templates/playbooks/instantdb-integration.md +0 -851
  122. package/dist/templates/playbooks/mpesa-integration.md +0 -652
  123. package/dist/templates/ui-spec-examples.md +0 -318
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.AddCommand = void 0;
40
+ const chalk_1 = __importDefault(require("chalk"));
41
+ const fileSystem_1 = require("../utils/fileSystem");
42
+ const spinner_1 = require("../utils/spinner");
43
+ const CodeGenSubAgent_1 = require("../agents/implementations/CodeGenSubAgent");
44
+ const AICore_1 = require("../core/ai/AICore");
45
+ const child_process_1 = require("child_process");
46
+ const path = __importStar(require("path"));
47
+ const fs = __importStar(require("fs-extra"));
48
+ class AddCommand {
49
+ constructor() {
50
+ this.fs = new fileSystem_1.FileSystemManager();
51
+ this.spinner = new spinner_1.EnhancedSpinner("Adding component...");
52
+ }
53
+ async execute(componentName, options) {
54
+ const { group = "elements", shadcn = false } = options;
55
+ console.log(chalk_1.default.blue.bold(`šŸš€ Adding component: ${chalk_1.default.white(componentName)}\n`));
56
+ try {
57
+ this.spinner.start();
58
+ // 1. Detect if it's a shadcn primitive
59
+ const isShadcnPrimitive = await this.isShadcnPrimitive(componentName);
60
+ if (isShadcnPrimitive || shadcn) {
61
+ this.spinner.updateText(`Installing shadcn primitive: ${componentName}...`);
62
+ await this.installShadcnComponent(componentName);
63
+ this.spinner.succeed(`Shadcn component ${componentName} installed.`);
64
+ this.spinner.start().updateText(`Contextualizing ${componentName}...`);
65
+ }
66
+ // 2. Generate/Contextualize the component
67
+ const codeGen = new CodeGenSubAgent_1.CodeGenSubAgent();
68
+ const aiCore = AICore_1.AICore.getInstance();
69
+ const livingContext = await aiCore.getLivingContext();
70
+ if (!livingContext) {
71
+ throw new Error("Living Brain (context.json) not found. Run 'mycontext init' first.");
72
+ }
73
+ const result = await codeGen.run({
74
+ component: {
75
+ name: componentName,
76
+ description: `A ${componentName} component for the ${livingContext.prd.title} project.`,
77
+ type: "interactive",
78
+ dependencies: isShadcnPrimitive ? [componentName] : [],
79
+ tags: ["added-via-cli"]
80
+ },
81
+ group: group,
82
+ context: livingContext,
83
+ options: {
84
+ projectPath: process.cwd()
85
+ }
86
+ });
87
+ // 3. Write the file
88
+ const componentsDir = path.join(process.cwd(), "src", "components", group);
89
+ await fs.ensureDir(componentsDir);
90
+ const filePath = path.join(componentsDir, `${this.toPascalCase(componentName)}.tsx`);
91
+ await fs.writeFile(filePath, result.code);
92
+ // 4. Update Registry (Brain)
93
+ await this.updateRegistry(componentName, group, filePath);
94
+ this.spinner.succeed(`Component ${chalk_1.default.white(componentName)} added and contextualized!`);
95
+ console.log(chalk_1.default.gray(`\nLocation: ${filePath}`));
96
+ }
97
+ catch (error) {
98
+ this.spinner.fail("Failed to add component");
99
+ throw error;
100
+ }
101
+ }
102
+ async isShadcnPrimitive(name) {
103
+ // Basic list of common shadcn primitives. In a real app, we might fetch this from the shadcn registry.
104
+ const primitives = [
105
+ "accordion", "alert", "alert-dialog", "aspect-ratio", "avatar", "badge", "button",
106
+ "calendar", "card", "carousel", "checkbox", "collapsible", "combobox", "command",
107
+ "context-menu", "dialog", "drawer", "dropdown-menu", "form", "hover-card", "input",
108
+ "label", "menubar", "navigation-menu", "pagination", "popover", "progress",
109
+ "radio-group", "resizable", "scroll-area", "select", "separator", "sheet",
110
+ "skeleton", "slider", "switch", "table", "tabs", "textarea", "toast", "toggle",
111
+ "tooltip"
112
+ ];
113
+ return primitives.includes(name.toLowerCase());
114
+ }
115
+ async installShadcnComponent(name) {
116
+ try {
117
+ const packageManager = this.detectPackageManager();
118
+ const cmd = `${packageManager === 'npm' ? 'npx' : packageManager} shadcn@latest add ${name} --yes`;
119
+ (0, child_process_1.execSync)(cmd, { stdio: "ignore" });
120
+ }
121
+ catch (error) {
122
+ console.warn(chalk_1.default.yellow(`\nāš ļø Could not install shadcn component via CLI. Ensure shadcn is initialized.`));
123
+ }
124
+ }
125
+ detectPackageManager() {
126
+ if (fs.existsSync(path.join(process.cwd(), "pnpm-lock.yaml")))
127
+ return "pnpm";
128
+ if (fs.existsSync(path.join(process.cwd(), "yarn.lock")))
129
+ return "yarn";
130
+ return "npm";
131
+ }
132
+ toPascalCase(str) {
133
+ return str
134
+ .replace(/[-_]+/g, " ")
135
+ .split(" ")
136
+ .map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
137
+ .join("");
138
+ }
139
+ async updateRegistry(name, group, filePath) {
140
+ const contextPath = path.join(process.cwd(), ".mycontext", "context.json");
141
+ if (!(await fs.pathExists(contextPath)))
142
+ return;
143
+ const context = await fs.readJson(contextPath);
144
+ if (!context.components)
145
+ context.components = [];
146
+ const existingIndex = context.components.findIndex((c) => c.name.toLowerCase() === name.toLowerCase());
147
+ const componentData = {
148
+ name: this.toPascalCase(name),
149
+ path: path.relative(process.cwd(), filePath),
150
+ group,
151
+ status: "generated",
152
+ generatedAt: new Date().toISOString()
153
+ };
154
+ if (existingIndex > -1) {
155
+ context.components[existingIndex] = { ...context.components[existingIndex], ...componentData };
156
+ }
157
+ else {
158
+ context.components.push(componentData);
159
+ }
160
+ await fs.writeJson(contextPath, context, { spaces: 2 });
161
+ }
162
+ }
163
+ exports.AddCommand = AddCommand;
164
+ //# sourceMappingURL=add.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { CommandOptions } from "../types";
2
+ interface BuildOptions extends CommandOptions {
3
+ force?: boolean;
4
+ }
5
+ export declare class BuildCommand {
6
+ private spinner;
7
+ execute(options: BuildOptions): Promise<void>;
8
+ }
9
+ export {};
10
+ //# sourceMappingURL=build.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAI1C,UAAU,YAAa,SAAQ,cAAc;IAC3C,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAkD;IAE3D,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;CAyBpD"}
@@ -0,0 +1,37 @@
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.BuildCommand = void 0;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const generate_components_1 = require("./generate-components");
9
+ const spinner_1 = require("../utils/spinner");
10
+ class BuildCommand {
11
+ constructor() {
12
+ this.spinner = new spinner_1.EnhancedSpinner("Building application...");
13
+ }
14
+ async execute(options) {
15
+ console.log(chalk_1.default.blue.bold("šŸ—ļø Building your application from Living Brain...\n"));
16
+ try {
17
+ this.spinner.start();
18
+ const generateCommand = new generate_components_1.GenerateComponentsCommand();
19
+ // Build is an alias for generating all components with complete architecture
20
+ await generateCommand.execute("all", {
21
+ ...options,
22
+ completeArchitecture: true,
23
+ updatePreview: true,
24
+ withTests: true,
25
+ finalCanvas: true
26
+ });
27
+ this.spinner.succeed("Application build completed successfully!");
28
+ console.log(chalk_1.default.green("\nšŸš€ Your application is ready. Run 'npm run dev' to see it in action."));
29
+ }
30
+ catch (error) {
31
+ this.spinner.fail("Build failed");
32
+ throw error;
33
+ }
34
+ }
35
+ }
36
+ exports.BuildCommand = BuildCommand;
37
+ //# sourceMappingURL=build.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,+DAAkE;AAClE,8CAAmD;AAMnD,MAAa,YAAY;IAAzB;QACU,YAAO,GAAG,IAAI,yBAAe,CAAC,yBAAyB,CAAC,CAAC;IA2BnE,CAAC;IAzBC,KAAK,CAAC,OAAO,CAAC,OAAqB;QACjC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC,CAAC;QAEtF,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAErB,MAAM,eAAe,GAAG,IAAI,+CAAyB,EAAE,CAAC;YAExD,6EAA6E;YAC7E,MAAM,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE;gBACnC,GAAG,OAAO;gBACV,oBAAoB,EAAE,IAAI;gBAC1B,aAAa,EAAE,IAAI;gBACnB,SAAS,EAAE,IAAI;gBACf,WAAW,EAAE,IAAI;aAClB,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAC,CAAC;QAErG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAClC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF;AA5BD,oCA4BC"}
@@ -0,0 +1,11 @@
1
+ import { Command } from "commander";
2
+ export declare class GenerateAssetsCommand {
3
+ private spinner;
4
+ private brain;
5
+ constructor();
6
+ execute(options: {
7
+ output?: string;
8
+ }): Promise<void>;
9
+ }
10
+ export declare function registerGenerateAssetsCommand(program: Command): void;
11
+ //# sourceMappingURL=generate-assets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-assets.d.ts","sourceRoot":"","sources":["../../src/commands/generate-assets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBpC,qBAAa,qBAAqB;IAChC,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,KAAK,CAAc;;IAOrB,OAAO,CAAC,OAAO,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CA+F3D;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAUpE"}
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.GenerateAssetsCommand = void 0;
40
+ exports.registerGenerateAssetsCommand = registerGenerateAssetsCommand;
41
+ const chalk_1 = __importDefault(require("chalk"));
42
+ const fs = __importStar(require("fs-extra"));
43
+ const path_1 = __importDefault(require("path"));
44
+ const AICore_1 = require("../core/ai/AICore");
45
+ const spinner_1 = require("../utils/spinner");
46
+ const logger_1 = require("../utils/logger");
47
+ const BrainClient_1 = require("../core/brain/BrainClient");
48
+ class GenerateAssetsCommand {
49
+ constructor() {
50
+ this.spinner = new spinner_1.EnhancedSpinner("Preparing asset generation...");
51
+ this.brain = BrainClient_1.BrainClient.getInstance();
52
+ }
53
+ async execute(options) {
54
+ const projectPath = process.cwd();
55
+ const contextDir = path_1.default.join(projectPath, ".mycontext");
56
+ const manifestPath = path_1.default.join(contextDir, "images-manifest.json");
57
+ const assetsDir = options.output ? path_1.default.resolve(projectPath, options.output) : path_1.default.join(projectPath, "public", "assets", "images");
58
+ this.spinner.start();
59
+ if (!fs.existsSync(manifestPath)) {
60
+ this.spinner.fail("No images-manifest.json found");
61
+ console.log(chalk_1.default.red("\nāŒ Run 'mycontext ideate' first to generate a visual asset plan."));
62
+ return;
63
+ }
64
+ try {
65
+ const manifest = await fs.readJson(manifestPath);
66
+ let assets = [];
67
+ if (Array.isArray(manifest)) {
68
+ assets = manifest;
69
+ }
70
+ else if (manifest.visualAssets && Array.isArray(manifest.visualAssets)) {
71
+ assets = manifest.visualAssets;
72
+ }
73
+ else if (manifest.assets && Array.isArray(manifest.assets)) {
74
+ assets = manifest.assets;
75
+ }
76
+ if (assets.length === 0) {
77
+ this.spinner.fail("Invalid manifest format or no assets found");
78
+ return;
79
+ }
80
+ await fs.ensureDir(assetsDir);
81
+ const ai = AICore_1.AICore.getInstance({
82
+ workingDirectory: projectPath,
83
+ fallbackEnabled: true
84
+ });
85
+ console.log(chalk_1.default.blue(`\nšŸŽØ Generating assets in ${assetsDir}...\n`));
86
+ for (const asset of assets) {
87
+ console.log(chalk_1.default.gray(` [PLAN] ${asset.id} (${asset.type}): ${asset.description}`));
88
+ const assetPath = path_1.default.join(assetsDir, `${asset.id}.png`);
89
+ // Check if asset already exists
90
+ if (fs.existsSync(assetPath)) {
91
+ console.log(chalk_1.default.yellow(` ā© Asset ${asset.id} already exists, skipping.`));
92
+ await this.brain.addUpdate("AssetGenerator", "builder", "action", `Skipped existing visual asset: ${asset.id}`, { id: asset.id, type: asset.type, path: assetPath });
93
+ continue;
94
+ }
95
+ // Active generation
96
+ this.spinner.updateText(`Generating ${asset.id}...`);
97
+ console.log(chalk_1.default.blue(` šŸ¤– Requesting AI Generation for ${asset.id}...`));
98
+ try {
99
+ await ai.generateImage(asset.description, assetPath);
100
+ console.log(chalk_1.default.green(` āœ… Asset ${asset.id} generated successfully.`));
101
+ await this.brain.addUpdate("AssetGenerator", "builder", "action", `Generated visual asset: ${asset.id}`, { id: asset.id, type: asset.type, path: assetPath });
102
+ }
103
+ catch (err) {
104
+ console.log(chalk_1.default.red(` āŒ Failed to generate ${asset.id}: ${err.message}`));
105
+ // For agentic guidance, we still log the failure for Brain visibility
106
+ await this.brain.addUpdate("AssetGenerator", "builder", "error", `Failed to generate visual asset: ${asset.id}`, { id: asset.id, error: err.message });
107
+ }
108
+ }
109
+ console.log(chalk_1.default.green(`\nāœ… Asset generation pass complete.`));
110
+ console.log(chalk_1.default.gray(` Run 'mycontext generate:screens' to use these assets.\n`));
111
+ }
112
+ catch (error) {
113
+ this.spinner.fail("Asset generation failed");
114
+ logger_1.logger.error("Asset generation error:", error.message);
115
+ throw error;
116
+ }
117
+ }
118
+ }
119
+ exports.GenerateAssetsCommand = GenerateAssetsCommand;
120
+ function registerGenerateAssetsCommand(program) {
121
+ program
122
+ .command("generate:assets")
123
+ .alias("ga")
124
+ .description("Generate visual assets planned in images-manifest.json")
125
+ .option("-o, --output <path>", "Output directory for assets (default: public/assets/images)")
126
+ .action(async (options) => {
127
+ const command = new GenerateAssetsCommand();
128
+ await command.execute(options);
129
+ });
130
+ }
131
+ //# sourceMappingURL=generate-assets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-assets.js","sourceRoot":"","sources":["../../src/commands/generate-assets.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ interface ScreenGenerationOptions {
17
17
  export declare class GenerateScreensCommand {
18
18
  private spinner;
19
19
  private ai;
20
+ private brain;
20
21
  constructor();
21
22
  execute(screenName?: string, options?: ScreenGenerationOptions): Promise<void>;
22
23
  /**
@@ -46,6 +47,10 @@ export declare class GenerateScreensCommand {
46
47
  * Open generated screen in browser
47
48
  */
48
49
  private openInBrowser;
50
+ /**
51
+ * Sync generated screens back to the Living Brain (context.json)
52
+ */
53
+ private syncWithLivingBrain;
49
54
  }
50
55
  /**
51
56
  * Register the generate:screens command
@@ -1 +1 @@
1
- {"version":3,"file":"generate-screens.d.ts","sourceRoot":"","sources":["../../src/commands/generate-screens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,UAAU,uBAAuB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAkBD;;;GAGG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,EAAE,CAAiB;;IAOrB,OAAO,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,IAAI,CAAC;IA8FxF;;OAEG;YACW,WAAW;IAgDzB;;OAEG;YACW,gBAAgB;IAoC9B;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAqBnC;;OAEG;YACW,cAAc;IAyE5B,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,gBAAgB;IAMxB;;OAEG;YACW,qBAAqB;IAsCnC;;OAEG;YACW,aAAa;CA8B5B;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4BrE"}
1
+ {"version":3,"file":"generate-screens.d.ts","sourceRoot":"","sources":["../../src/commands/generate-screens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkBpC,UAAU,uBAAuB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAkBD;;;GAGG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,KAAK,CAAc;;IAQrB,OAAO,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,IAAI,CAAC;IAmGxF;;OAEG;YACW,WAAW;IA6DzB;;OAEG;YACW,gBAAgB;IA6C9B;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAqBnC;;OAEG;YACW,cAAc;IAmI5B,OAAO,CAAC,qBAAqB;IA8B7B,OAAO,CAAC,oBAAoB;IA6B5B,OAAO,CAAC,gBAAgB;IAMxB;;OAEG;YACW,qBAAqB;IAsCnC;;OAEG;YACW,aAAa;IA+B3B;;OAEG;YACW,mBAAmB;CA0BlC;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4BrE"}