gameforge-cli 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/README.md +81 -41
  2. package/dist/agents/base/BaseAgent.d.ts +31 -0
  3. package/dist/agents/base/BaseAgent.d.ts.map +1 -1
  4. package/dist/agents/base/BaseAgent.js +57 -0
  5. package/dist/agents/base/BaseAgent.js.map +1 -1
  6. package/dist/agents/core/Architect.d.ts +17 -5
  7. package/dist/agents/core/Architect.d.ts.map +1 -1
  8. package/dist/agents/core/Architect.js +263 -150
  9. package/dist/agents/core/Architect.js.map +1 -1
  10. package/dist/agents/core/Chaos.d.ts +4 -0
  11. package/dist/agents/core/Chaos.d.ts.map +1 -1
  12. package/dist/agents/core/Chaos.js +46 -11
  13. package/dist/agents/core/Chaos.js.map +1 -1
  14. package/dist/agents/core/Consistency.d.ts +1 -0
  15. package/dist/agents/core/Consistency.d.ts.map +1 -1
  16. package/dist/agents/core/Consistency.js +86 -11
  17. package/dist/agents/core/Consistency.js.map +1 -1
  18. package/dist/agents/core/Modifier.d.ts +13 -0
  19. package/dist/agents/core/Modifier.d.ts.map +1 -0
  20. package/dist/agents/core/Modifier.js +141 -0
  21. package/dist/agents/core/Modifier.js.map +1 -0
  22. package/dist/agents/core/Remediation.d.ts +3 -1
  23. package/dist/agents/core/Remediation.d.ts.map +1 -1
  24. package/dist/agents/core/Remediation.js +63 -3
  25. package/dist/agents/core/Remediation.js.map +1 -1
  26. package/dist/agents/specialists/CreativeSpecialist.d.ts.map +1 -1
  27. package/dist/agents/specialists/CreativeSpecialist.js +94 -25
  28. package/dist/agents/specialists/CreativeSpecialist.js.map +1 -1
  29. package/dist/agents/specialists/EntitySpecialist.d.ts.map +1 -1
  30. package/dist/agents/specialists/EntitySpecialist.js +63 -25
  31. package/dist/agents/specialists/EntitySpecialist.js.map +1 -1
  32. package/dist/agents/specialists/FeatureSpecialist.d.ts.map +1 -1
  33. package/dist/agents/specialists/FeatureSpecialist.js +53 -39
  34. package/dist/agents/specialists/FeatureSpecialist.js.map +1 -1
  35. package/dist/agents/specialists/TechSpecialist.d.ts.map +1 -1
  36. package/dist/agents/specialists/TechSpecialist.js +69 -32
  37. package/dist/agents/specialists/TechSpecialist.js.map +1 -1
  38. package/dist/config/schema.d.ts +1319 -709
  39. package/dist/config/schema.d.ts.map +1 -1
  40. package/dist/config/schema.js +142 -52
  41. package/dist/config/schema.js.map +1 -1
  42. package/dist/config/templates.d.ts.map +1 -1
  43. package/dist/config/templates.js +6 -66
  44. package/dist/config/templates.js.map +1 -1
  45. package/dist/core/Orchestrator.d.ts +17 -3
  46. package/dist/core/Orchestrator.d.ts.map +1 -1
  47. package/dist/core/Orchestrator.js +46 -16
  48. package/dist/core/Orchestrator.js.map +1 -1
  49. package/dist/index.js +335 -195
  50. package/dist/index.js.map +1 -1
  51. package/dist/types/issueReview.d.ts +19 -0
  52. package/dist/types/issueReview.d.ts.map +1 -0
  53. package/dist/types/issueReview.js +3 -0
  54. package/dist/types/issueReview.js.map +1 -0
  55. package/dist/utils/costTracker.d.ts +28 -0
  56. package/dist/utils/costTracker.d.ts.map +1 -1
  57. package/dist/utils/costTracker.js +71 -1
  58. package/dist/utils/costTracker.js.map +1 -1
  59. package/dist/utils/disambiguationHelper.d.ts +54 -0
  60. package/dist/utils/disambiguationHelper.d.ts.map +1 -0
  61. package/dist/utils/disambiguationHelper.js +252 -0
  62. package/dist/utils/disambiguationHelper.js.map +1 -0
  63. package/dist/utils/issueReviewer.d.ts +6 -0
  64. package/dist/utils/issueReviewer.d.ts.map +1 -0
  65. package/dist/utils/issueReviewer.js +159 -0
  66. package/dist/utils/issueReviewer.js.map +1 -0
  67. package/dist/utils/issueSelector.d.ts +26 -0
  68. package/dist/utils/issueSelector.d.ts.map +1 -0
  69. package/dist/utils/issueSelector.js +132 -0
  70. package/dist/utils/issueSelector.js.map +1 -0
  71. package/package.json +1 -1
  72. package/dist/core/CheckpointManager.d.ts +0 -16
  73. package/dist/core/CheckpointManager.d.ts.map +0 -1
  74. package/dist/core/CheckpointManager.js +0 -52
  75. package/dist/core/CheckpointManager.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GameBibleSchema = exports.TechnicalSchema = exports.CreativeSchema = exports.EntitySchema = exports.FeatureSchema = exports.ExternalDataSchema = exports.MathFormulaSchema = exports.EngineSchema = void 0;
3
+ exports.GameBibleSchema = exports.ScopeEnum = exports.TechnicalSchema = exports.CreativeSchema = exports.EntitySchema = exports.FeatureSchema = exports.ExternalDataSchema = exports.MathFormulaSchema = void 0;
4
4
  const zod_1 = require("zod");
5
- // Engine configuration (improved from rigid enum)
6
- exports.EngineSchema = zod_1.z.object({
7
- primary: zod_1.z.enum(['Unreal Engine 5', 'Unity', 'Godot', 'Custom']),
8
- version: zod_1.z.string(), // e.g., "5.4", "2023.2"
9
- plugins: zod_1.z.array(zod_1.z.string()).optional(), // ["Niagara", "Chaos Physics"]
10
- reasoning: zod_1.z.string().optional() // Why this engine was chosen
11
- });
12
- // Math formula with validation
5
+ // Simplified formula description (design-focused, not code-focused)
13
6
  exports.MathFormulaSchema = zod_1.z.object({
14
- expression: zod_1.z.string(), // "Time = BaseTime * (1.0 - SkillLvl * 0.1)"
15
- variables: zod_1.z.record(zod_1.z.object({
16
- type: zod_1.z.enum(['int', 'float', 'bool']),
17
- range: zod_1.z.string().optional() // "0.0-1.0"
18
- })),
19
- validated: zod_1.z.boolean().default(false),
7
+ expression: zod_1.z.string(), // "damage = base damage × multiplier"
20
8
  balanceNotes: zod_1.z.string().optional() // Design reasoning
21
9
  });
22
10
  // External data (structured, not fake links)
@@ -36,25 +24,51 @@ exports.FeatureSchema = zod_1.z.object({
36
24
  strategy: zod_1.z.enum(['None', 'IAP', 'Premium', 'Ads', 'Hybrid']),
37
25
  implementation: zod_1.z.string().optional()
38
26
  }).optional(),
39
- gameplayLoop: zod_1.z.array(zod_1.z.string()), // For Mermaid diagram
40
- uiRequirements: zod_1.z.array(zod_1.z.string()),
27
+ gameplayLoop: zod_1.z.array(zod_1.z.string()).optional(), // For Mermaid diagram - optional for non-gameplay features
28
+ uiRequirements: zod_1.z.array(zod_1.z.string()).default([]), // Optional, defaults to empty
41
29
  technical: zod_1.z.object({
42
- dataStructure: zod_1.z.string(), // Pseudo-code
43
- mathFormulas: zod_1.z.array(exports.MathFormulaSchema).optional(),
44
- fileLocation: zod_1.z.string(),
45
30
  estimatedComplexity: zod_1.z.enum(['Low', 'Medium', 'High', 'Very High'])
46
31
  }),
47
- agile: zod_1.z.object({
48
- epic: zod_1.z.string(),
49
- userStories: zod_1.z.array(zod_1.z.string()),
50
- acceptanceCriteria: zod_1.z.array(zod_1.z.string())
51
- })
32
+ // Genre-specific optional fields
33
+ multiplayer: zod_1.z.object({
34
+ playerCount: zod_1.z.string(), // "2-4" or "1-100"
35
+ networkModel: zod_1.z.string().optional(), // Flexible: "P2P", "Client-Server", "Dedicated Server", etc.
36
+ syncStrategy: zod_1.z.string().optional() // "Lockstep", "Client prediction", etc.
37
+ }).optional(),
38
+ narrative: zod_1.z.object({
39
+ storyBeats: zod_1.z.array(zod_1.z.string()).optional(),
40
+ characters: zod_1.z.array(zod_1.z.string()).optional(), // Character IDs involved
41
+ choices: zod_1.z.array(zod_1.z.object({
42
+ prompt: zod_1.z.string(),
43
+ consequences: zod_1.z.string()
44
+ })).optional()
45
+ }).optional(),
46
+ economy: zod_1.z.object({
47
+ currencies: zod_1.z.array(zod_1.z.string()).optional(), // ["Gold", "Gems"]
48
+ tradeable: zod_1.z.boolean().optional(),
49
+ balanceFactors: zod_1.z.array(zod_1.z.string()).optional()
50
+ }).optional(),
51
+ progression: zod_1.z.object({
52
+ unlockConditions: zod_1.z.array(zod_1.z.string()).optional(),
53
+ skillTrees: zod_1.z.boolean().optional(),
54
+ levelScaling: zod_1.z.string().optional()
55
+ }).optional(),
56
+ procedural: zod_1.z.object({
57
+ algorithm: zod_1.z.string().optional(), // "Wave Function Collapse", "BSP", etc.
58
+ seed: zod_1.z.string().optional(),
59
+ constraints: zod_1.z.array(zod_1.z.string()).optional()
60
+ }).optional(),
61
+ physics: zod_1.z.object({
62
+ engine: zod_1.z.string().optional(), // "PhysX", "Havok", "Custom"
63
+ interactions: zod_1.z.array(zod_1.z.string()).optional(),
64
+ realism: zod_1.z.string().optional() // Flexible: "Arcade", "Realistic", "Semi-realistic", etc.
65
+ }).optional()
52
66
  });
53
67
  // Entity (NPC, Item, Monster)
54
68
  exports.EntitySchema = zod_1.z.object({
55
69
  id: zod_1.z.string(),
56
70
  name: zod_1.z.string(),
57
- category: zod_1.z.enum(['NPC', 'Monster', 'Item', 'Interactable']),
71
+ category: zod_1.z.enum(['NPC', 'Monster', 'Item', 'Interactable', 'Vehicle', 'Card', 'Building', 'Ability']), // Expanded categories
58
72
  narrative: zod_1.z.object({
59
73
  backstory: zod_1.z.string(),
60
74
  dialogues: zod_1.z.array(zod_1.z.string()).optional(),
@@ -62,13 +76,48 @@ exports.EntitySchema = zod_1.z.object({
62
76
  }).optional(),
63
77
  stats: zod_1.z.object({
64
78
  attributes: zod_1.z.record(zod_1.z.union([zod_1.z.string(), zod_1.z.number()])),
65
- behaviors: zod_1.z.array(zod_1.z.string()),
66
- balanceFormulas: zod_1.z.array(exports.MathFormulaSchema).optional()
67
- }),
79
+ behaviors: zod_1.z.array(zod_1.z.string()).default([]) // Optional behaviors
80
+ }).optional(), // Stats entirely optional for some entity types
68
81
  references: zod_1.z.object({
69
82
  features: zod_1.z.array(zod_1.z.string()).default([]), // Which features use this?
70
83
  relatedEntities: zod_1.z.array(zod_1.z.string()).default([])
71
- })
84
+ }).optional(),
85
+ // Genre-specific optional fields
86
+ combat: zod_1.z.object({
87
+ health: zod_1.z.number().optional(),
88
+ damage: zod_1.z.number().optional(),
89
+ armor: zod_1.z.number().optional(),
90
+ abilities: zod_1.z.array(zod_1.z.string()).optional()
91
+ }).optional(),
92
+ social: zod_1.z.object({
93
+ relationship: zod_1.z.string().optional(), // Flexible: "Friendly", "Rival", "Mentor", etc.
94
+ affectionLevel: zod_1.z.number().optional(),
95
+ questGiver: zod_1.z.boolean().optional(),
96
+ dialogue_tree: zod_1.z.string().optional() // Reference to dialogue file
97
+ }).optional(),
98
+ crafting: zod_1.z.object({
99
+ recipe: zod_1.z.array(zod_1.z.object({
100
+ ingredient: zod_1.z.string(),
101
+ quantity: zod_1.z.number()
102
+ })).optional(),
103
+ craftingTime: zod_1.z.number().optional(),
104
+ requiredStation: zod_1.z.string().optional()
105
+ }).optional(),
106
+ collectible: zod_1.z.object({
107
+ rarity: zod_1.z.string().optional(), // Flexible: "Common", "Rare", "SSR", "★★★", etc.
108
+ set: zod_1.z.string().optional(), // Part of a collection set
109
+ unlockReward: zod_1.z.string().optional()
110
+ }).optional(),
111
+ cardGame: zod_1.z.object({
112
+ cost: zod_1.z.number().optional(),
113
+ attack: zod_1.z.number().optional(),
114
+ defense: zod_1.z.number().optional(),
115
+ effects: zod_1.z.array(zod_1.z.string()).optional(),
116
+ cardType: zod_1.z.string().optional() // Flexible: "Unit", "Spell", "Playing Card", etc.
117
+ }).optional(),
118
+ ai: zod_1.z.object({
119
+ aiType: zod_1.z.string().optional() // Flexible: "Passive", "Aggressive", "Patrol", etc.
120
+ }).optional()
72
121
  });
73
122
  // Creative specifications
74
123
  exports.CreativeSchema = zod_1.z.object({
@@ -81,29 +130,70 @@ exports.CreativeSchema = zod_1.z.object({
81
130
  props: zod_1.z.number().default(0),
82
131
  ui: zod_1.z.number().default(0),
83
132
  sfx: zod_1.z.number().default(0),
84
- music: zod_1.z.number().default(0)
133
+ music: zod_1.z.number().default(0),
134
+ // Genre-specific asset types
135
+ vehicles: zod_1.z.number().optional(),
136
+ weapons: zod_1.z.number().optional(),
137
+ cards: zod_1.z.number().optional(),
138
+ animations: zod_1.z.number().optional(),
139
+ cinematics: zod_1.z.number().optional(),
140
+ particles: zod_1.z.number().optional()
85
141
  }),
86
- pipeline: zod_1.z.object({
87
- toolsRequired: zod_1.z.array(zod_1.z.string()),
88
- workflowNotes: zod_1.z.string().optional()
89
- })
142
+ // Genre-specific creative elements
143
+ visualNovel: zod_1.z.object({
144
+ artStyle2D: zod_1.z.string().optional(),
145
+ characterSprites: zod_1.z.number().optional(),
146
+ backgrounds: zod_1.z.number().optional(),
147
+ cg_count: zod_1.z.number().optional()
148
+ }).optional(),
149
+ rhythm: zod_1.z.object({
150
+ bpm_range: zod_1.z.string().optional(), // "120-180"
151
+ difficulty_levels: zod_1.z.array(zod_1.z.string()).optional(),
152
+ note_types: zod_1.z.array(zod_1.z.string()).optional()
153
+ }).optional(),
154
+ horror: zod_1.z.object({
155
+ atmosphere: zod_1.z.string().optional(),
156
+ scareTechniques: zod_1.z.array(zod_1.z.string()).optional(),
157
+ lighting: zod_1.z.string().optional()
158
+ }).optional()
90
159
  });
91
- // Technical infrastructure
160
+ // Technical infrastructure (high-level overview only)
92
161
  exports.TechnicalSchema = zod_1.z.object({
93
- engine: exports.EngineSchema,
94
- toolsRequired: zod_1.z.array(zod_1.z.object({
95
- name: zod_1.z.string(),
96
- purpose: zod_1.z.string(),
97
- required: zod_1.z.boolean()
98
- })),
162
+ engine: zod_1.z.object({
163
+ primary: zod_1.z.enum(['Unreal Engine 5', 'Unity', 'Godot', 'Custom']),
164
+ version: zod_1.z.string().optional(),
165
+ reasoning: zod_1.z.string().optional() // Why this engine was chosen
166
+ }),
167
+ buildTargets: zod_1.z.array(zod_1.z.enum([
168
+ 'Windows', 'Mac', 'Linux', 'iOS', 'Android',
169
+ 'Console', 'PlayStation', 'Xbox', 'Switch', 'Steam Deck'
170
+ ])),
99
171
  localization: zod_1.z.object({
100
172
  strategy: zod_1.z.enum(['None', 'English Only', 'EFIGS', 'Global']),
101
- languages: zod_1.z.array(zod_1.z.string()).optional(),
102
- stringCount: zod_1.z.number().optional()
103
- }),
104
- directoryStructure: zod_1.z.string(),
105
- buildTargets: zod_1.z.array(zod_1.z.enum(['Windows', 'Mac', 'Linux', 'iOS', 'Android', 'Console']))
173
+ languages: zod_1.z.array(zod_1.z.string()).optional()
174
+ }).optional(),
175
+ // Simplified multiplayer info
176
+ networking: zod_1.z.object({
177
+ architecture: zod_1.z.string().optional(), // "P2P", "Dedicated Server", "Client-Server"
178
+ maxPlayers: zod_1.z.number().optional()
179
+ }).optional(),
180
+ // Accessibility options (design decisions, not implementation)
181
+ accessibility: zod_1.z.object({
182
+ colorblindMode: zod_1.z.boolean().optional(),
183
+ subtitles: zod_1.z.boolean().optional(),
184
+ remappableControls: zod_1.z.boolean().optional(),
185
+ difficultyOptions: zod_1.z.boolean().optional()
186
+ }).optional()
106
187
  });
188
+ /**
189
+ * Scope Guidelines for Game Bible Generation:
190
+ * - Prototype: 1-3 core features, prove the concept works. Minimal assets, single platform.
191
+ * - Vertical Slice: 3-5 features, one complete gameplay loop polished. Limited assets.
192
+ * - MVP: 5-8 features, shippable product with core experience complete. Moderate assets.
193
+ * - Full Game: 8+ features, complete vision realized. Full asset production.
194
+ */
195
+ exports.ScopeEnum = zod_1.z.enum(['Prototype', 'Vertical Slice', 'MVP', 'Full Game'])
196
+ .describe('Prototype: 1-3 features, prove concept. Vertical Slice: 3-5 features, one complete loop. MVP: 5-8 features, shippable product. Full Game: 8+ features, complete vision.');
107
197
  // Master Game Bible
108
198
  exports.GameBibleSchema = zod_1.z.object({
109
199
  meta: zod_1.z.object({
@@ -113,14 +203,14 @@ exports.GameBibleSchema = zod_1.z.object({
113
203
  genre: zod_1.z.array(zod_1.z.string()), // ["Roguelike", "Deck-builder"]
114
204
  targetPlatform: zod_1.z.array(zod_1.z.string()),
115
205
  targetAudience: zod_1.z.string(),
116
- estimatedScope: zod_1.z.enum(['Prototype', 'Vertical Slice', 'MVP', 'Full Game']),
206
+ estimatedScope: exports.ScopeEnum,
117
207
  createdAt: zod_1.z.string(),
118
208
  version: zod_1.z.string().default('1.0.0')
119
209
  }),
120
- features: zod_1.z.array(exports.FeatureSchema),
121
- gameObjects: zod_1.z.array(exports.EntitySchema),
122
- creative: exports.CreativeSchema,
123
- technical: exports.TechnicalSchema,
210
+ features: zod_1.z.array(exports.FeatureSchema).default([]), // Optional features for simple games
211
+ gameObjects: zod_1.z.array(exports.EntitySchema).default([]), // Optional entities
212
+ creative: exports.CreativeSchema.optional(), // Optional for technical-only docs
213
+ technical: exports.TechnicalSchema.optional(), // Optional for creative-only docs
124
214
  // Consistency tracking
125
215
  validation: zod_1.z.object({
126
216
  lastValidated: zod_1.z.string().optional(),
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,kDAAkD;AACrC,QAAA,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IACnC,OAAO,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAChE,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,wBAAwB;IAC7C,OAAO,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,+BAA+B;IACxE,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,6BAA6B;CAC/D,CAAC,CAAC;AAEH,+BAA+B;AAClB,QAAA,iBAAiB,GAAG,OAAC,CAAC,MAAM,CAAC;IACxC,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,6CAA6C;IACrE,SAAS,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,CAAC;QAC3B,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACtC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,YAAY;KAC1C,CAAC,CAAC;IACH,SAAS,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACrC,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,mBAAmB;CACxD,CAAC,CAAC;AAEH,6CAA6C;AAChC,QAAA,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IACjD,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,2BAA2B;IAC/C,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACjC,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,iCAAiC;CACvE,CAAC,CAAC;AAEH,4CAA4C;AAC/B,QAAA,aAAa,GAAG,OAAC,CAAC,MAAM,CAAC;IACpC,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,aAAa;IAC7B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,YAAY;IAChC,YAAY,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,2BAA2B;IAE1E,YAAY,EAAE,OAAC,CAAC,MAAM,CAAC;QACrB,QAAQ,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC7D,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACtC,CAAC,CAAC,QAAQ,EAAE;IAEb,YAAY,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,EAAE,sBAAsB;IACzD,cAAc,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;IAEnC,SAAS,EAAE,OAAC,CAAC,MAAM,CAAC;QAClB,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,cAAc;QACzC,YAAY,EAAE,OAAC,CAAC,KAAK,CAAC,yBAAiB,CAAC,CAAC,QAAQ,EAAE;QACnD,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE;QACxB,mBAAmB,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;KACpE,CAAC;IAEF,KAAK,EAAE,OAAC,CAAC,MAAM,CAAC;QACd,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;QAChB,WAAW,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;QAChC,kBAAkB,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;KACxC,CAAC;CACH,CAAC,CAAC;AAEH,8BAA8B;AACjB,QAAA,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IACnC,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;IAE5D,SAAS,EAAE,OAAC,CAAC,MAAM,CAAC;QAClB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;QACrB,SAAS,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACzC,YAAY,EAAE,0BAAkB,CAAC,QAAQ,EAAE;KAC5C,CAAC,CAAC,QAAQ,EAAE;IAEb,KAAK,EAAE,OAAC,CAAC,MAAM,CAAC;QACd,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,KAAK,CAAC,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACvD,SAAS,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;QAC9B,eAAe,EAAE,OAAC,CAAC,KAAK,CAAC,yBAAiB,CAAC,CAAC,QAAQ,EAAE;KACvD,CAAC;IAEF,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC;QACnB,QAAQ,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,2BAA2B;QACtE,eAAe,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;KACjD,CAAC;CACH,CAAC,CAAC;AAEH,0BAA0B;AACb,QAAA,cAAc,GAAG,OAAC,CAAC,MAAM,CAAC;IACrC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;IACpB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;IACrB,cAAc,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAE9C,iBAAiB,EAAE,OAAC,CAAC,MAAM,CAAC;QAC1B,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QACjC,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QACnC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5B,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QACzB,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;KAC7B,CAAC;IAEF,QAAQ,EAAE,OAAC,CAAC,MAAM,CAAC;QACjB,aAAa,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;QAClC,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACrC,CAAC;CACH,CAAC,CAAC;AAEH,2BAA2B;AACd,QAAA,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC;IACtC,MAAM,EAAE,oBAAY;IAEpB,aAAa,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,CAAC;QAC9B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;QAChB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;QACnB,QAAQ,EAAE,OAAC,CAAC,OAAO,EAAE;KACtB,CAAC,CAAC;IAEH,YAAY,EAAE,OAAC,CAAC,MAAM,CAAC;QACrB,QAAQ,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC7D,SAAS,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACzC,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACnC,CAAC;IAEF,kBAAkB,EAAE,OAAC,CAAC,MAAM,EAAE;IAC9B,YAAY,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;CACxF,CAAC,CAAC;AAEH,oBAAoB;AACP,QAAA,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,OAAC,CAAC,MAAM,CAAC;QACb,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;QACd,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;QACjB,gBAAgB,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,iBAAiB;QAC/C,KAAK,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,EAAE,gCAAgC;QAC5D,cAAc,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;QACnC,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE;QAC1B,cAAc,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAC3E,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;QACrB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;KACrC,CAAC;IAEF,QAAQ,EAAE,OAAC,CAAC,KAAK,CAAC,qBAAa,CAAC;IAChC,WAAW,EAAE,OAAC,CAAC,KAAK,CAAC,oBAAY,CAAC;IAClC,QAAQ,EAAE,sBAAc;IACxB,SAAS,EAAE,uBAAe;IAE1B,uBAAuB;IACvB,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC;QACnB,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACpC,MAAM,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,CAAC;YACvB,QAAQ,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YAC9C,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;YACnB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,6BAA6B;SACnD,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;KAChB,CAAC,CAAC,QAAQ,EAAE;CACd,CAAC,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/config/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;CAClC;AAED,eAAO,MAAM,eAAe,EAAE,YAAY,EAqMzC,CAAC"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/config/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;CAClC;AAED,eAAO,MAAM,eAAe,EAAE,YAAY,EAyIzC,CAAC"}
@@ -21,17 +21,7 @@ exports.GENRE_TEMPLATES = [
21
21
  gameplayLoop: ['Generate level', 'Populate enemies', 'Place loot', 'Player explores'],
22
22
  uiRequirements: ['Minimap', 'Room transition effect'],
23
23
  technical: {
24
- dataStructure: 'struct Room { tiles: Grid<TileType>, enemies: List<Enemy>, loot: List<Item> }',
25
- estimatedComplexity: 'High',
26
- fileLocation: 'Source/Game/Generation/'
27
- },
28
- agile: {
29
- epic: 'EPIC-001: Procedural Content',
30
- userStories: [
31
- 'As a player, I want each run to feel unique',
32
- 'As a player, I want fair but challenging layouts'
33
- ],
34
- acceptanceCriteria: ['No two runs identical', 'All rooms reachable']
24
+ estimatedComplexity: 'High'
35
25
  }
36
26
  },
37
27
  {
@@ -42,17 +32,7 @@ exports.GENRE_TEMPLATES = [
42
32
  gameplayLoop: ['Player dies', 'Lose all items', 'Return to hub', 'Start new run'],
43
33
  uiRequirements: ['Death screen', 'Run statistics display'],
44
34
  technical: {
45
- dataStructure: 'struct RunData { deaths: int, furthestLevel: int, timePlayed: float }',
46
- estimatedComplexity: 'Medium',
47
- fileLocation: 'Source/Game/Core/'
48
- },
49
- agile: {
50
- epic: 'EPIC-001: Core Loop',
51
- userStories: [
52
- 'As a player, I want to see my progress across runs',
53
- 'As a player, I want to understand why I died'
54
- ],
55
- acceptanceCriteria: ['All progress resets on death', 'Stats saved between runs']
35
+ estimatedComplexity: 'Medium'
56
36
  }
57
37
  }
58
38
  ]
@@ -77,17 +57,7 @@ exports.GENRE_TEMPLATES = [
77
57
  gameplayLoop: ['Till soil', 'Plant seeds', 'Water daily', 'Harvest crops', 'Sell for profit'],
78
58
  uiRequirements: ['Crop info panel', 'Calendar widget', 'Inventory grid'],
79
59
  technical: {
80
- dataStructure: 'struct Crop { growthStage: int, waterLevel: float, daysToHarvest: int }',
81
- estimatedComplexity: 'Medium',
82
- fileLocation: 'Source/Game/Farming/'
83
- },
84
- agile: {
85
- epic: 'EPIC-001: Core Farming',
86
- userStories: [
87
- 'As a player, I want to plant and harvest crops',
88
- 'As a player, I want to see crop growth progress'
89
- ],
90
- acceptanceCriteria: ['Crops grow over time', 'Watering affects growth speed']
60
+ estimatedComplexity: 'Medium'
91
61
  }
92
62
  }
93
63
  ]
@@ -112,17 +82,7 @@ exports.GENRE_TEMPLATES = [
112
82
  gameplayLoop: ['Equip weapon', 'Aim at target', 'Fire', 'Reload', 'Switch weapons'],
113
83
  uiRequirements: ['Crosshair', 'Ammo counter', 'Weapon selector'],
114
84
  technical: {
115
- dataStructure: 'struct Weapon { damage: float, fireRate: float, ammo: int, reloadTime: float }',
116
- estimatedComplexity: 'High',
117
- fileLocation: 'Source/Game/Weapons/'
118
- },
119
- agile: {
120
- epic: 'EPIC-001: Core Combat',
121
- userStories: [
122
- 'As a player, I want responsive shooting mechanics',
123
- 'As a player, I want different weapons to feel unique'
124
- ],
125
- acceptanceCriteria: ['Hit detection is accurate', 'Recoil patterns are consistent']
85
+ estimatedComplexity: 'High'
126
86
  }
127
87
  }
128
88
  ]
@@ -147,17 +107,7 @@ exports.GENRE_TEMPLATES = [
147
107
  gameplayLoop: ['Attack (costs stamina)', 'Dodge (costs stamina)', 'Wait for regen', 'Repeat'],
148
108
  uiRequirements: ['Stamina bar', 'Enemy health bar', 'Lock-on indicator'],
149
109
  technical: {
150
- dataStructure: 'struct CombatStats { stamina: float, maxStamina: float, regenRate: float }',
151
- estimatedComplexity: 'High',
152
- fileLocation: 'Source/Game/Combat/'
153
- },
154
- agile: {
155
- epic: 'EPIC-001: Core Combat',
156
- userStories: [
157
- 'As a player, I want combat to feel weighty and deliberate',
158
- 'As a player, I want to be punished for spamming attacks'
159
- ],
160
- acceptanceCriteria: ['All actions consume stamina', 'Cannot act at 0 stamina']
110
+ estimatedComplexity: 'High'
161
111
  }
162
112
  }
163
113
  ]
@@ -182,17 +132,7 @@ exports.GENRE_TEMPLATES = [
182
132
  gameplayLoop: ['Explore area', 'Find blocked path', 'Acquire new ability', 'Unlock new areas'],
183
133
  uiRequirements: ['Map with ability markers', 'Ability icon display'],
184
134
  technical: {
185
- dataStructure: 'struct Ability { name: string, unlocked: bool, requiredFor: List<Area> }',
186
- estimatedComplexity: 'High',
187
- fileLocation: 'Source/Game/Abilities/'
188
- },
189
- agile: {
190
- epic: 'EPIC-001: Exploration',
191
- userStories: [
192
- 'As a player, I want to remember where I saw blocked paths',
193
- 'As a player, I want new abilities to open up the world'
194
- ],
195
- acceptanceCriteria: ['Map shows ability-locked areas', 'Abilities unlock new traversal']
135
+ estimatedComplexity: 'High'
196
136
  }
197
137
  }
198
138
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/config/templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/config/templates.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,25 @@
1
1
  import { GameBible } from '../config/schema';
2
+ export interface SpinnerControl {
3
+ pause: () => void;
4
+ resume: (text?: string) => void;
5
+ }
2
6
  export declare class SpecialistOrchestrator {
3
- private queue;
4
- constructor(concurrency?: number);
7
+ private spinner;
8
+ private spinnerPaused;
9
+ /**
10
+ * Pause the spinner for user interaction (e.g., clarification prompts)
11
+ */
12
+ private pauseSpinner;
13
+ /**
14
+ * Resume the spinner after user interaction completes
15
+ */
16
+ private resumeSpinner;
5
17
  runAllSpecialists(bible: GameBible, specialists: Array<{
6
18
  name: string;
7
19
  agent: any;
8
- }>): Promise<Map<string, string>>;
20
+ }>, options?: {
21
+ skipDisambiguation?: boolean;
22
+ }): Promise<Map<string, string>>;
9
23
  runSingle(name: string, agent: any, bible: GameBible): Promise<string>;
10
24
  }
11
25
  //# sourceMappingURL=Orchestrator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Orchestrator.d.ts","sourceRoot":"","sources":["../../src/core/Orchestrator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,qBAAa,sBAAsB;IACjC,OAAO,CAAC,KAAK,CAAS;gBAEV,WAAW,GAAE,MAAU;IAI7B,iBAAiB,CACrB,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC,GAC/C,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IA0BzB,SAAS,CACb,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,GAAG,EACV,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,MAAM,CAAC;CAYnB"}
1
+ {"version":3,"file":"Orchestrator.d.ts","sourceRoot":"","sources":["../../src/core/Orchestrator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED,qBAAa,sBAAsB;IACjC,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,aAAa,CAAkB;IAEvC;;OAEG;IACH,OAAO,CAAC,YAAY;IAOpB;;OAEG;IACH,OAAO,CAAC,aAAa;IAOf,iBAAiB,CACrB,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC,EAChD,OAAO,CAAC,EAAE;QAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;KAAE,GACzC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAyCzB,SAAS,CACb,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,GAAG,EACV,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,MAAM,CAAC;CAYnB"}
@@ -4,29 +4,59 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.SpecialistOrchestrator = void 0;
7
- const p_queue_1 = __importDefault(require("p-queue"));
8
7
  const ora_1 = __importDefault(require("ora"));
9
8
  class SpecialistOrchestrator {
10
- queue;
11
- constructor(concurrency = 3) {
12
- this.queue = new p_queue_1.default({ concurrency });
9
+ spinner = null;
10
+ spinnerPaused = false;
11
+ /**
12
+ * Pause the spinner for user interaction (e.g., clarification prompts)
13
+ */
14
+ pauseSpinner() {
15
+ if (this.spinner && !this.spinnerPaused) {
16
+ this.spinner.stop();
17
+ this.spinnerPaused = true;
18
+ }
19
+ }
20
+ /**
21
+ * Resume the spinner after user interaction completes
22
+ */
23
+ resumeSpinner(text) {
24
+ if (this.spinner && this.spinnerPaused) {
25
+ this.spinner.start(text);
26
+ this.spinnerPaused = false;
27
+ }
13
28
  }
14
- async runAllSpecialists(bible, specialists) {
29
+ async runAllSpecialists(bible, specialists, options) {
15
30
  const results = new Map();
16
- const spinner = (0, ora_1.default)('Running specialists...').start();
17
- const tasks = specialists.map(s => this.queue.add(async () => {
18
- spinner.text = `${s.name}: Starting...`;
19
- // Pass progress callback to specialist
31
+ this.spinner = (0, ora_1.default)('Running specialists...').start();
32
+ this.spinnerPaused = false;
33
+ // Create spinner control object for agents to use during disambiguation
34
+ const spinnerControl = {
35
+ pause: () => this.pauseSpinner(),
36
+ resume: (text) => this.resumeSpinner(text)
37
+ };
38
+ // Run specialists sequentially
39
+ for (const s of specialists) {
40
+ this.spinner.text = `${s.name}: Starting...`;
41
+ // Configure agent options
42
+ if (typeof s.agent.setSkipDisambiguation === 'function') {
43
+ s.agent.setSkipDisambiguation(options?.skipDisambiguation ?? false);
44
+ }
45
+ if (typeof s.agent.setSpinnerControl === 'function') {
46
+ s.agent.setSpinnerControl(spinnerControl);
47
+ }
48
+ // Pass progress callback for status updates
20
49
  const output = await s.agent.execute(bible, (message) => {
21
- spinner.text = `${s.name}: ${message}`;
50
+ if (!this.spinnerPaused) {
51
+ this.spinner.text = `${s.name}: ${message}`;
52
+ }
22
53
  });
23
54
  results.set(s.name, output);
24
- spinner.succeed(`${s.name} complete`);
25
- spinner.start(); // Restart for next specialist
26
- return output;
27
- }));
28
- await Promise.all(tasks);
29
- spinner.stop();
55
+ this.spinner.succeed(`${s.name} complete`);
56
+ this.spinner.start(); // Restart for next specialist
57
+ }
58
+ this.spinner.stop();
59
+ this.spinner = null;
30
60
  return results;
31
61
  }
32
62
  async runSingle(name, agent, bible) {
@@ -1 +1 @@
1
- {"version":3,"file":"Orchestrator.js","sourceRoot":"","sources":["../../src/core/Orchestrator.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA6B;AAC7B,8CAAsB;AAGtB,MAAa,sBAAsB;IACzB,KAAK,CAAS;IAEtB,YAAY,cAAsB,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,IAAI,iBAAM,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,KAAgB,EAChB,WAAgD;QAEhD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC;QAEtD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAChC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;YACxB,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,eAAe,CAAC;YAExC,uCAAuC;YACvC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,OAAe,EAAE,EAAE;gBAC9D,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACzC,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC5B,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC;YACtC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,8BAA8B;YAC/C,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CACH,CAAC;QAEF,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzB,OAAO,CAAC,IAAI,EAAE,CAAC;QAEf,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,SAAS,CACb,IAAY,EACZ,KAAU,EACV,KAAgB;QAEhB,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,WAAW,IAAI,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;QAElD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC1C,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,WAAW,CAAC,CAAC;YACpC,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,SAAS,CAAC,CAAC;YAC/B,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF;AApDD,wDAoDC"}
1
+ {"version":3,"file":"Orchestrator.js","sourceRoot":"","sources":["../../src/core/Orchestrator.ts"],"names":[],"mappings":"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"}