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,109 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReadmeDeducer = void 0;
4
+ class ReadmeDeducer {
5
+ /**
6
+ * Deduce a full README.md content from project context and/or snapshot
7
+ */
8
+ deduceFullReadme(context, snapshot) {
9
+ const projectName = context?.metadata?.projectConfig?.name || snapshot?.keyFiles?.find(f => f.path.endsWith('package.json'))
10
+ ? this.extractPackageName(snapshot?.keyFiles?.find(f => f.path.endsWith('package.json'))?.content)
11
+ : "The Project";
12
+ const description = context?.metadata?.projectConfig?.description || "A high-fidelity workspace built with MyContext.";
13
+ let content = `# ${projectName}\n\n`;
14
+ content += `${description}\n\n`;
15
+ // 1. Overview Section
16
+ content += `## 🎯 Project Overview\n`;
17
+ content += `${context?.prd?.problemStatement || "This project is built using a spec-driven development paradigm guided by a central 'Living Brain'."}\n\n`;
18
+ // 2. Key Features
19
+ const features = context?.features;
20
+ if (features && features.length > 0) {
21
+ content += `## ✨ Key Features\n`;
22
+ features.slice(0, 10).forEach(f => {
23
+ content += `- **${f.name}**: ${f.description}\n`;
24
+ });
25
+ content += `\n`;
26
+ }
27
+ // 3. Technical Stack
28
+ const techStack = context?.specs?.techStack;
29
+ if (techStack) {
30
+ content += `## 🛠️ Technical Stack\n`;
31
+ if (techStack.frontend?.length)
32
+ content += `- **Frontend**: ${techStack.frontend.join(", ")}\n`;
33
+ if (techStack.backend?.length)
34
+ content += `- **Backend**: ${techStack.backend.join(", ")}\n`;
35
+ if (techStack.database?.length)
36
+ content += `- **Database**: ${techStack.database.join(", ")}\n`;
37
+ if (techStack.other?.length)
38
+ content += `- **Tools**: ${techStack.other.join(", ")}\n`;
39
+ content += `\n`;
40
+ }
41
+ // 4. Project Structure (Deduce from Snapshot)
42
+ if (snapshot) {
43
+ content += `## 📂 Project Structure\n`;
44
+ content += `\`\`\`bash\n`;
45
+ // Filter for top-level directories and interesting files
46
+ const structure = snapshot.fileTree
47
+ .filter(f => f.path.split('/').length <= 2 && !f.path.includes('node_modules') && !f.path.includes('.git'))
48
+ .map(f => {
49
+ const parts = f.path.split('/');
50
+ const depth = parts.length;
51
+ const name = parts[parts.length - 1];
52
+ return `${' '.repeat(depth - 1)}${f.type === 'dir' ? '📁' : '📄'} ${name}`;
53
+ })
54
+ .slice(0, 30) // Cap it
55
+ .join('\n');
56
+ content += structure + "\n";
57
+ content += `\`\`\`\n\n`;
58
+ }
59
+ // 5. Quick Start
60
+ content += `## 🚀 Quick Start\n`;
61
+ content += `1. **Install Dependencies**:\n \`\`\`bash\n pnpm install\n \`\`\`\n`;
62
+ content += `2. **Run Dev Server**:\n \`\`\`bash\n npm run dev\n \`\`\`\n\n`;
63
+ // 6. MyContext Markers
64
+ content += `<!-- mycontext:start -->\n`;
65
+ content += `<!-- mycontext:end -->\n\n`;
66
+ content += `---\n*Generated by MyContext CLI - Living Brain JSON Source*\n`;
67
+ return content;
68
+ }
69
+ /**
70
+ * Update syncable sections in an existing README
71
+ */
72
+ generateSyncContent(context, extraContent) {
73
+ let content = "\n";
74
+ content += `### 🎯 Project Overview\n`;
75
+ content += `${context.prd?.problemStatement || "AI-driven development platform."}\n\n`;
76
+ if (context.features && context.features.length > 0) {
77
+ content += `### ✨ Key Features\n`;
78
+ context.features.slice(0, 5).forEach(f => {
79
+ content += `- ${f.name}\n`;
80
+ });
81
+ content += "\n";
82
+ }
83
+ if (context.specs?.techStack) {
84
+ content += `### 🛠️ Technical Stack\n`;
85
+ const stack = context.specs.techStack;
86
+ if (stack.frontend?.length)
87
+ content += `- **Frontend**: ${stack.frontend.slice(0, 3).join(", ")}\n`;
88
+ }
89
+ if (extraContent) {
90
+ content += `\n${extraContent}\n\n`;
91
+ }
92
+ content += `--- \n`;
93
+ content += `_Last synchronized with MyContext Living DB on ${new Date().toLocaleDateString() || "today"}_\n`;
94
+ return content;
95
+ }
96
+ extractPackageName(pkgJsonContent) {
97
+ if (!pkgJsonContent)
98
+ return "The Project";
99
+ try {
100
+ const pkg = JSON.parse(pkgJsonContent);
101
+ return pkg.name || "The Project";
102
+ }
103
+ catch {
104
+ return "The Project";
105
+ }
106
+ }
107
+ }
108
+ exports.ReadmeDeducer = ReadmeDeducer;
109
+ //# sourceMappingURL=ReadmeDeducer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReadmeDeducer.js","sourceRoot":"","sources":["../../src/services/ReadmeDeducer.ts"],"names":[],"mappings":"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"}
@@ -10,5 +10,7 @@ export declare class DashboardMode {
10
10
  start(context: LivingContext): Promise<void>;
11
11
  private renderHeader;
12
12
  private renderSummary;
13
+ private renderFeatures;
14
+ private calculateFeatureProgress;
13
15
  }
14
16
  //# sourceMappingURL=DashboardMode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DashboardMode.d.ts","sourceRoot":"","sources":["../../src/tui/DashboardMode.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,WAAW,CAAS;gBAEhB,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM;IAKlD;;OAEG;IACG,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA2ClD,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,aAAa;CAetB"}
1
+ {"version":3,"file":"DashboardMode.d.ts","sourceRoot":"","sources":["../../src/tui/DashboardMode.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,WAAW,CAAS;gBAEhB,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM;IAKlD;;OAEG;IACG,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA+FlD,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,cAAc;IA6BtB,OAAO,CAAC,wBAAwB;CAcjC"}
@@ -1,4 +1,37 @@
1
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
+ })();
2
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
37
  };
@@ -6,6 +39,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
39
  exports.DashboardMode = void 0;
7
40
  const chalk_1 = __importDefault(require("chalk"));
8
41
  const prompts_1 = __importDefault(require("prompts"));
42
+ const path_1 = __importDefault(require("path"));
9
43
  class DashboardMode {
10
44
  constructor(client, projectPath) {
11
45
  this.client = client;
@@ -18,6 +52,7 @@ class DashboardMode {
18
52
  console.clear();
19
53
  this.renderHeader(context);
20
54
  this.renderSummary(context);
55
+ this.renderFeatures(context);
21
56
  while (true) {
22
57
  const { action } = await (0, prompts_1.default)({
23
58
  type: "select",
@@ -26,6 +61,8 @@ class DashboardMode {
26
61
  choices: [
27
62
  { title: "🔄 Sync Brain (Scan & Refresh)", value: "sync" },
28
63
  { title: "🏗️ Generate Components (All)", value: "generate" },
64
+ { title: "🎨 Design Ideation (Concepts)", value: "ideate" },
65
+ { title: "🖼️ Recursive Enrichment (Screenshot)", value: "enrich" },
29
66
  { title: "📋 View Component Registry", value: "registry" },
30
67
  { title: "🎨 Edit Brand/Design", value: "brand" },
31
68
  { title: "🧠 Refine Requirements", value: "refine" },
@@ -37,10 +74,49 @@ class DashboardMode {
37
74
  if (action === "sync") {
38
75
  console.log(chalk_1.default.blue("\nTriggering Brain Sync..."));
39
76
  // Logic to trigger mycontext generate context --full
40
- // For now, we'll just log
41
77
  await new Promise(r => setTimeout(r, 1000));
42
78
  console.log(chalk_1.default.green("Brain synced successfully!"));
43
79
  }
80
+ if (action === "ideate") {
81
+ const { IdeateCommand } = await Promise.resolve().then(() => __importStar(require("../commands/ideate")));
82
+ const ideateCommand = new IdeateCommand();
83
+ await ideateCommand.execute({ industry: context.prd?.title });
84
+ await (0, prompts_1.default)({ type: "text", name: "any", message: "Press enter to continue..." });
85
+ }
86
+ if (action === "enrich") {
87
+ const { imagePath } = await (0, prompts_1.default)({
88
+ type: "text",
89
+ name: "imagePath",
90
+ message: "Provide path to screenshot/mockup for enrichment:"
91
+ });
92
+ if (imagePath) {
93
+ const { AnalyzeScreenshotCommand } = await Promise.resolve().then(() => __importStar(require("../commands/analyze-screenshot")));
94
+ // Use standard register and execute pattern
95
+ // For TUI, we might want to directly call the service
96
+ const { GeminiVisionService } = await Promise.resolve().then(() => __importStar(require("../services/gemini-vision")));
97
+ const service = new GeminiVisionService();
98
+ console.log(chalk_1.default.blue("\nEnriching Brain with Visual Intent..."));
99
+ const analysis = await service.analyzeScreenshot(imagePath);
100
+ // Feed analysis back into context.json
101
+ const contextPath = path_1.default.join(this.projectPath, ".mycontext", "context.json");
102
+ const fs = await Promise.resolve().then(() => __importStar(require("fs-extra")));
103
+ const currentContext = await fs.readJson(contextPath);
104
+ // Update context with analysis metadata
105
+ currentContext.aestheticPreference = analysis.designSystem?.colors?.primary || currentContext.aestheticPreference;
106
+ currentContext.metadata.lastEnrichedAt = new Date().toISOString();
107
+ // Add analysis to a dedicated visual history or just update requirements
108
+ if (!currentContext.visualReferences)
109
+ currentContext.visualReferences = [];
110
+ currentContext.visualReferences.push({
111
+ path: imagePath,
112
+ timestamp: new Date().toISOString(),
113
+ insights: analysis.fullAnalysis
114
+ });
115
+ await fs.writeJson(contextPath, currentContext, { spaces: 2 });
116
+ console.log(chalk_1.default.green("✓ Analysis complete! Brain enriched with new design tokens."));
117
+ await (0, prompts_1.default)({ type: "text", name: "any", message: "Press enter to continue..." });
118
+ }
119
+ }
44
120
  if (action === "refine") {
45
121
  // Switch back to planning mode for refinement
46
122
  await this.client.startPlanningMode();
@@ -50,6 +126,7 @@ class DashboardMode {
50
126
  console.clear();
51
127
  this.renderHeader(context);
52
128
  this.renderSummary(context);
129
+ this.renderFeatures(context);
53
130
  }
54
131
  }
55
132
  renderHeader(context) {
@@ -70,6 +147,44 @@ class DashboardMode {
70
147
  }
71
148
  console.log("");
72
149
  }
150
+ renderFeatures(context) {
151
+ if (!context.features || context.features.length === 0)
152
+ return;
153
+ console.log(chalk_1.default.bold("Feature Progress:"));
154
+ context.features.forEach(feature => {
155
+ const status = feature.status || "planned";
156
+ let statusColor = chalk_1.default.gray;
157
+ let icon = "○";
158
+ if (status === "completed") {
159
+ statusColor = chalk_1.default.green;
160
+ icon = "●";
161
+ }
162
+ else if (status === "in-progress") {
163
+ statusColor = chalk_1.default.yellow;
164
+ icon = "◐";
165
+ }
166
+ const barWidth = 20;
167
+ const progress = this.calculateFeatureProgress(feature, context);
168
+ const filledWidth = Math.round((progress / 100) * barWidth);
169
+ const bar = chalk_1.default.green("█".repeat(filledWidth)) + chalk_1.default.gray("░".repeat(barWidth - filledWidth));
170
+ console.log(`${statusColor(icon)} ${chalk_1.default.white(feature.name.padEnd(20))} ${bar} ${chalk_1.default.cyan(progress + "%")}`);
171
+ });
172
+ console.log("");
173
+ }
174
+ calculateFeatureProgress(feature, context) {
175
+ if (feature.status === "Completed")
176
+ return 100;
177
+ if (feature.status === "Planned")
178
+ return 0;
179
+ // Simple heuristic: ratio of generated components to total required components
180
+ const componentIds = feature.componentIds || [];
181
+ if (componentIds.length === 0)
182
+ return 30; // 30% if in progress but no specific components tracked
183
+ const generatedCount = componentIds.filter((id) => {
184
+ return context.components?.some(c => c.name === id && c.status === "generated");
185
+ }).length;
186
+ return Math.round((generatedCount / componentIds.length) * 100);
187
+ }
73
188
  }
74
189
  exports.DashboardMode = DashboardMode;
75
190
  //# sourceMappingURL=DashboardMode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DashboardMode.js","sourceRoot":"","sources":["../../src/tui/DashboardMode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DashboardMode.js","sourceRoot":"","sources":["../../src/tui/DashboardMode.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,sDAA8B;AAC9B,gDAAwB;AAIxB,MAAa,aAAa;IAIxB,YAAY,MAAiB,EAAE,WAAmB;QAChD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,OAAsB;QAChC,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC3B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAE7B,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,iBAAO,EAAC;gBAC/B,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,kBAAkB;gBAC3B,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,gCAAgC,EAAE,KAAK,EAAE,MAAM,EAAE;oBAC1D,EAAE,KAAK,EAAE,gCAAgC,EAAE,KAAK,EAAE,UAAU,EAAE;oBAC9D,EAAE,KAAK,EAAE,+BAA+B,EAAE,KAAK,EAAE,QAAQ,EAAE;oBAC3D,EAAE,KAAK,EAAE,wCAAwC,EAAE,KAAK,EAAE,QAAQ,EAAE;oBACpE,EAAE,KAAK,EAAE,4BAA4B,EAAE,KAAK,EAAE,UAAU,EAAE;oBAC1D,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,OAAO,EAAE;oBACjD,EAAE,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,QAAQ,EAAE;oBACpD,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE;iBACnC;aACF,CAAC,CAAC;YAEH,IAAI,MAAM,KAAK,MAAM;gBAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEvC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC;gBACtD,qDAAqD;gBACrD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;YAC3D,CAAC;YAED,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACtB,MAAM,EAAE,aAAa,EAAE,GAAG,wDAAa,oBAAoB,GAAC,CAAC;gBAC7D,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;gBAC1C,MAAM,aAAa,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;gBAE9D,MAAM,IAAA,iBAAO,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC;YACxF,CAAC;YAED,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACtB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAA,iBAAO,EAAC;oBAChC,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,mDAAmD;iBAC/D,CAAC,CAAC;gBAEH,IAAI,SAAS,EAAE,CAAC;oBACZ,MAAM,EAAE,wBAAwB,EAAE,GAAG,wDAAa,gCAAgC,GAAC,CAAC;oBACpF,4CAA4C;oBAC5C,sDAAsD;oBACtD,MAAM,EAAE,mBAAmB,EAAE,GAAG,wDAAa,2BAA2B,GAAC,CAAC;oBAC1E,MAAM,OAAO,GAAG,IAAI,mBAAmB,EAAE,CAAC;oBAE1C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC,CAAC;oBACnE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;oBAE5D,uCAAuC;oBACvC,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;oBAC9E,MAAM,EAAE,GAAG,wDAAa,UAAU,GAAC,CAAC;oBACpC,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;oBAEtD,wCAAwC;oBACxC,cAAc,CAAC,mBAAmB,GAAG,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,IAAI,cAAc,CAAC,mBAAmB,CAAC;oBAClH,cAAc,CAAC,QAAQ,CAAC,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;oBAElE,yEAAyE;oBACzE,IAAI,CAAC,cAAc,CAAC,gBAAgB;wBAAE,cAAc,CAAC,gBAAgB,GAAG,EAAE,CAAC;oBAC3E,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC;wBACnC,IAAI,EAAE,SAAS;wBACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBACnC,QAAQ,EAAE,QAAQ,CAAC,YAAY;qBAChC,CAAC,CAAC;oBAEH,MAAM,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;oBAE/D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC,CAAC;oBACxF,MAAM,IAAA,iBAAO,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC;gBACxF,CAAC;YACL,CAAC;YAED,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACtB,8CAA8C;gBAC9C,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBACtC,OAAO;YACX,CAAC;YAED,YAAY;YACZ,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAC3B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,OAAsB;QACzC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,0BAA0B,OAAO,CAAC,GAAG,EAAE,KAAK,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC;QAC3F,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC,CAAC;IACxE,CAAC;IAEO,aAAa,CAAC,OAAsB;QAC1C,MAAM,eAAe,GAAG,OAAO,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC,CAAC;QACxD,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC;QACpD,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC;QAEzE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,iBAAiB,eAAK,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,iBAAiB,eAAK,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,iBAAiB,eAAK,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;QAEzE,IAAI,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gBAAgB,eAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACrH,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAEO,cAAc,CAAC,OAAsB;QAC3C,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE/D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAE7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACjC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC;YAC3C,IAAI,WAAW,GAAG,eAAK,CAAC,IAAI,CAAC;YAC7B,IAAI,IAAI,GAAG,GAAG,CAAC;YAEf,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;gBAC3B,WAAW,GAAG,eAAK,CAAC,KAAK,CAAC;gBAC1B,IAAI,GAAG,GAAG,CAAC;YACb,CAAC;iBAAM,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;gBACpC,WAAW,GAAG,eAAK,CAAC,MAAM,CAAC;gBAC3B,IAAI,GAAG,GAAG,CAAC;YACb,CAAC;YAED,MAAM,QAAQ,GAAG,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACjE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC5D,MAAM,GAAG,GAAG,eAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC;YAElG,OAAO,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,eAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,IAAI,eAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;QACnH,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAEO,wBAAwB,CAAC,OAAY,EAAE,OAAsB;QACnE,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW;YAAE,OAAO,GAAG,CAAC;QAC/C,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC;QAE3C,+EAA+E;QAC/E,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;QAChD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC,CAAC,wDAAwD;QAElG,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,EAAU,EAAE,EAAE;YACxD,OAAO,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC,MAAM,CAAC;QAEV,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;IAClE,CAAC;CACF;AA5KD,sCA4KC"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Constraint System Types
3
+ *
4
+ * JSON-first representation of combinatorial and constraint satisfaction
5
+ * problems. Designed to sit between a natural-language LLM parser and a
6
+ * solver back-end (native TS, Z3, OR-Tools, MiniSat, …).
7
+ *
8
+ * Usage in the research pipeline:
9
+ * NL input → LLM → ConstraintSpec → SolverAgent → SolveResult + SolveTrace
10
+ */
11
+ export type ProblemType = "factorization" | "sat" | "csp" | "custom";
12
+ export interface ConstraintVariable {
13
+ /** Variable name (used inside constraint expressions). */
14
+ name: string;
15
+ /** Value domain. */
16
+ type: "integer" | "boolean" | "real";
17
+ domain?: {
18
+ /** Inclusive lower bound (integers / reals). */
19
+ min?: number;
20
+ /** Inclusive upper bound (integers / reals). */
21
+ max?: number;
22
+ /** Explicit set of allowed values (overrides min/max). */
23
+ values?: (number | boolean)[];
24
+ };
25
+ }
26
+ export interface ConstraintExpression {
27
+ /** The constraint expressed as a string, e.g. "a * b = 589" or "a <= b". */
28
+ expr: string;
29
+ /** Optional human-readable description of why this constraint exists. */
30
+ description?: string;
31
+ }
32
+ export interface ConstraintSpec {
33
+ problem: {
34
+ /** Unique run ID (use crypto.randomUUID or timestamp). */
35
+ id: string;
36
+ type: ProblemType;
37
+ /** Human-readable description of the problem. */
38
+ description: string;
39
+ /** Raw input data (e.g. { N: 589 } for factorization). */
40
+ input: Record<string, unknown>;
41
+ /** ISO timestamp when this spec was created. */
42
+ createdAt: string;
43
+ };
44
+ variables: ConstraintVariable[];
45
+ constraints: ConstraintExpression[];
46
+ objective?: {
47
+ type: "minimize" | "maximize" | "satisfy";
48
+ /** Expression to optimise (omit for "satisfy"). */
49
+ expr?: string;
50
+ };
51
+ /** Solver budget — lets the caller cap expensive searches. */
52
+ searchBounds?: {
53
+ /** Maximum number of candidate assignments to evaluate. */
54
+ maxIterations?: number;
55
+ /** Wall-clock timeout in milliseconds. */
56
+ timeoutMs?: number;
57
+ };
58
+ }
59
+ /** A concrete assignment of values to all variables. */
60
+ export type Assignment = Record<string, number | boolean>;
61
+ /** Per-step trace entry (kept compact — one entry per iteration). */
62
+ export interface TraceStep {
63
+ iteration: number;
64
+ candidate: Assignment;
65
+ /** Which constraint expression was violated (if any). */
66
+ violatedConstraint?: string;
67
+ passed: boolean;
68
+ }
69
+ export type SolverMethod = "brute-force" | "constraint-propagation" | "llm-guided";
70
+ /**
71
+ * Research metrics for a single solve run.
72
+ * These are the numbers that back the Phase 4 / Phase 5 measurements.
73
+ */
74
+ export interface SolveTrace {
75
+ method: SolverMethod;
76
+ /** Total candidate assignments that existed in the raw search space. */
77
+ searchSpaceSize: number;
78
+ /** Candidates actually evaluated (after propagation / pruning). */
79
+ exploredCount: number;
80
+ /** Candidates skipped because a constraint pruned the branch early. */
81
+ prunedCount: number;
82
+ /**
83
+ * exploredCount / searchSpaceSize — fraction of search space visited.
84
+ * A lower number means the solver worked smarter.
85
+ */
86
+ reductionRatio: number;
87
+ /** Wall-clock milliseconds from solver start to first solution (or timeout). */
88
+ runtimeMs: number;
89
+ /** Detailed per-iteration log (may be truncated for large runs). */
90
+ steps: TraceStep[];
91
+ }
92
+ export interface SolveResult {
93
+ satisfiable: boolean;
94
+ /** All solutions found (or just the first, depending on "stopAtFirst"). */
95
+ solutions: Assignment[];
96
+ trace: SolveTrace;
97
+ /** Human-readable summary, e.g. "explored 0.38% of search space". */
98
+ summary: string;
99
+ }
100
+ export interface SolverInput {
101
+ /**
102
+ * If provided, the agent translates this natural-language string into a
103
+ * ConstraintSpec using the LLM before solving.
104
+ */
105
+ naturalLanguage?: string;
106
+ /**
107
+ * If provided, skip the LLM translation phase and solve directly.
108
+ * Either naturalLanguage or spec must be supplied.
109
+ */
110
+ spec?: ConstraintSpec;
111
+ /** Solver strategy to use. Default: "constraint-propagation". */
112
+ method?: SolverMethod;
113
+ /** Return all solutions or stop at the first. Default: false (stop at first). */
114
+ findAll?: boolean;
115
+ }
116
+ export interface SolverOutput {
117
+ /** The constraint spec that was actually solved (LLM-translated or passed-in). */
118
+ spec: ConstraintSpec;
119
+ result: SolveResult;
120
+ /** True when the spec was produced by the LLM from naturalLanguage. */
121
+ translatedFromNL: boolean;
122
+ }
123
+ //# sourceMappingURL=constraint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constraint.d.ts","sourceRoot":"","sources":["../../src/types/constraint.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ /**
3
+ * Constraint System Types
4
+ *
5
+ * JSON-first representation of combinatorial and constraint satisfaction
6
+ * problems. Designed to sit between a natural-language LLM parser and a
7
+ * solver back-end (native TS, Z3, OR-Tools, MiniSat, …).
8
+ *
9
+ * Usage in the research pipeline:
10
+ * NL input → LLM → ConstraintSpec → SolverAgent → SolveResult + SolveTrace
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ //# sourceMappingURL=constraint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constraint.js","sourceRoot":"","sources":["../../src/types/constraint.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG"}
@@ -10,6 +10,8 @@ export interface LivingContext {
10
10
  lastUpdatedAt: string;
11
11
  projectConfig: ProjectConfig;
12
12
  };
13
+ projectType?: 'fullstack' | 'landing-page' | 'ui-only' | 'basic';
14
+ aestheticPreference?: string;
13
15
  prd: {
14
16
  title: string;
15
17
  problemStatement: string;
@@ -26,6 +28,10 @@ export interface LivingContext {
26
28
  userValue: string;
27
29
  acceptanceCriteria: string[];
28
30
  dependencies: string[];
31
+ componentIds?: string[];
32
+ actionIds?: string[];
33
+ routeIds?: string[];
34
+ status?: "planned" | "in-progress" | "completed";
29
35
  }>;
30
36
  flows: Array<{
31
37
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"living-context.d.ts","sourceRoot":"","sources":["../../src/types/living-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAEtF;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,aAAa,CAAC;KAC9B,CAAC;IAGF,GAAG,EAAE;QACH,KAAK,EAAE,MAAM,CAAC;QACd,gBAAgB,EAAE,MAAM,CAAC;QACzB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,EAAE,CAAC;KAC1B,CAAC;IAGF,QAAQ,EAAE,KAAK,CAAC;QACd,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;QACpC,SAAS,EAAE,MAAM,CAAC;QAClB,kBAAkB,EAAE,MAAM,EAAE,CAAC;QAC7B,YAAY,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC,CAAC;IAGH,KAAK,EAAE,KAAK,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC,CAAC;IAGH,SAAS,EAAE,KAAK,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IAGH,KAAK,EAAE;QACL,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE;YACT,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,OAAO,EAAE,MAAM,EAAE,CAAC;YAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,EAAE,MAAM,EAAE,CAAC;SACjB,CAAC;QACF,YAAY,EAAE,KAAK,CAAC;YAClB,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,MAAM,CAAC;YACf,WAAW,EAAE,MAAM,CAAC;YACpB,YAAY,EAAE,OAAO,CAAC;SACvB,CAAC,CAAC;QACH,cAAc,EAAE;YACd,MAAM,EAAE,KAAK,CAAC;gBACZ,IAAI,EAAE,MAAM,CAAC;gBACb,OAAO,EAAE,KAAK,CAAC;oBACb,IAAI,EAAE,MAAM,CAAC;oBACb,IAAI,EAAE,MAAM,CAAC;oBACb,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;iBACxB,CAAC,CAAC;aACJ,CAAC,CAAC;SACJ,CAAC;KACH,CAAC;IAGF,UAAU,EAAE,KAAK,CAAC,SAAS,GAAG;QAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,CAAC;KAC9C,CAAC,CAAC;IAGH,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAG5B,MAAM,EAAE,eAAe,EAAE,CAAC;IAG1B,KAAK,EAAE,OAAO,kBAAkB,EAAE,KAAK,CAAC;CACzC"}
1
+ {"version":3,"file":"living-context.d.ts","sourceRoot":"","sources":["../../src/types/living-context.ts"],"names":[],"mappings":"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"}
@@ -96,6 +96,10 @@ export declare class ClaudeAgentClient implements AgentAIClient {
96
96
  * Generate text from image using Claude Agent SDK (Multimodal)
97
97
  */
98
98
  generateVisionText(prompt: string, imagePath: string, options?: AIClientOptions): Promise<string>;
99
+ /**
100
+ * Generate image using Claude Agent (Agentic fulfillment)
101
+ */
102
+ generateImage(prompt: string, outputPath: string, options?: AIClientOptions): Promise<string>;
99
103
  /**
100
104
  * Run agent workflow with context management
101
105
  */
@@ -1 +1 @@
1
- {"version":3,"file":"claudeAgentClient.d.ts","sourceRoot":"","sources":["../../src/utils/claudeAgentClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claudeAgentClient.d.ts","sourceRoot":"","sources":["../../src/utils/claudeAgentClient.ts"],"names":[],"mappings":"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"}
@@ -505,6 +505,12 @@ class ClaudeAgentClient {
505
505
  // For now we'll throw an error to trigger fallback in AICore
506
506
  throw new Error("Claude Agent SDK vision generation not yet implemented in this client");
507
507
  }
508
+ /**
509
+ * Generate image using Claude Agent (Agentic fulfillment)
510
+ */
511
+ async generateImage(prompt, outputPath, options = {}) {
512
+ throw new Error("Claude Agent image generation not yet implemented in this client");
513
+ }
508
514
  /**
509
515
  * Run agent workflow with context management
510
516
  */