myuru 2.0.0-alpha.4 → 2.0.0-alpha.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/chat.ts"],"names":[],"mappings":"AAQA,KAAK,QAAQ,GAAG;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAsB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA+I/D"}
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/chat.ts"],"names":[],"mappings":"AAQA,KAAK,QAAQ,GAAG;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAgIF,wBAAsB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAoQ/D"}
@@ -4,25 +4,131 @@ import * as path from 'node:path';
4
4
  import { Agent } from '../../core/agent.js';
5
5
  import { builtinTools } from '../../tools/index.js';
6
6
  import { detectProviders, resolveModel, defaultModelName } from '../resolve-model.js';
7
+ // ── .myuru.md project context (like CLAUDE.md, .goosehints) ──
8
+ function findProjectContext(cwd) {
9
+ const found = [];
10
+ let dir = cwd;
11
+ while (true) {
12
+ const candidate = path.join(dir, '.myuru.md');
13
+ if (fs.existsSync(candidate)) {
14
+ try {
15
+ const content = fs.readFileSync(candidate, 'utf-8').trim();
16
+ if (content)
17
+ found.push({ file: candidate, content });
18
+ }
19
+ catch { /* permission errors */ }
20
+ }
21
+ const parent = path.dirname(dir);
22
+ if (parent === dir)
23
+ break;
24
+ dir = parent;
25
+ }
26
+ if (found.length === 0)
27
+ return undefined;
28
+ // Root-first ordering (reverse since we walked cwd → root)
29
+ found.reverse();
30
+ return {
31
+ content: found.map(f => f.content).join('\n\n---\n\n'),
32
+ files: found.map(f => f.file),
33
+ };
34
+ }
35
+ // ── Last session context ──
36
+ function loadLastSession(cwd) {
37
+ const sessionFile = path.join(cwd, '.myuru', 'last-session.md');
38
+ if (!fs.existsSync(sessionFile))
39
+ return undefined;
40
+ try {
41
+ const content = fs.readFileSync(sessionFile, 'utf-8').trim();
42
+ return content || undefined;
43
+ }
44
+ catch {
45
+ return undefined;
46
+ }
47
+ }
48
+ function saveLastSession(cwd, messages, usage) {
49
+ if (messages.length === 0)
50
+ return;
51
+ const dir = path.join(cwd, '.myuru');
52
+ fs.mkdirSync(dir, { recursive: true });
53
+ const userMessages = messages
54
+ .filter(m => m.role === 'user')
55
+ .map(m => typeof m.content === 'string' ? m.content : '');
56
+ const lines = [
57
+ '# Last Session',
58
+ `**Date**: ${new Date().toISOString()}`,
59
+ `**Tokens**: ${usage.totalTokens} | **Cost**: $${usage.estimatedCostUsd.toFixed(4)} | **Steps**: ${usage.stepCount}`,
60
+ '',
61
+ '## Topics Discussed',
62
+ ...userMessages.slice(-10).map((m, i) => `${i + 1}. ${m.length > 120 ? m.slice(0, 120) + '...' : m}`),
63
+ ];
64
+ fs.writeFileSync(path.join(dir, 'last-session.md'), lines.join('\n'), 'utf-8');
65
+ }
66
+ // ── System prompt builder ──
67
+ function buildSystemPrompt(cwd, fileTree, projectContext, lastSession) {
68
+ const parts = [
69
+ 'You are a helpful coding assistant with full access to the file system and shell.',
70
+ 'You can read, write, and edit files, search for files and content, and run shell commands.',
71
+ 'Always use your tools to accomplish tasks. Do not ask the user to do things you can do yourself.',
72
+ 'When editing files, read them first to understand the current content.',
73
+ 'Be concise in your responses. Show what you did, not lengthy explanations of what you plan to do.',
74
+ ];
75
+ if (projectContext) {
76
+ parts.push('', '--- Project Instructions ---', projectContext);
77
+ }
78
+ if (lastSession) {
79
+ parts.push('', '--- Previous Session ---', lastSession);
80
+ }
81
+ parts.push('', `Working directory: ${cwd}`, '', 'Project files:', fileTree);
82
+ return parts.join('\n');
83
+ }
84
+ // ── Directory scanner ──
85
+ function scanDirectory(dir, maxDepth, depth = 0, prefix = '') {
86
+ if (depth >= maxDepth)
87
+ return '';
88
+ const lines = [];
89
+ try {
90
+ const entries = fs.readdirSync(dir, { withFileTypes: true })
91
+ .filter(e => !e.name.startsWith('.') && e.name !== 'node_modules' && e.name !== 'dist')
92
+ .sort((a, b) => {
93
+ if (a.isDirectory() !== b.isDirectory())
94
+ return a.isDirectory() ? -1 : 1;
95
+ return a.name.localeCompare(b.name);
96
+ });
97
+ for (const entry of entries.slice(0, 30)) {
98
+ const name = entry.isDirectory() ? `${entry.name}/` : entry.name;
99
+ lines.push(`${prefix}${name}`);
100
+ if (entry.isDirectory()) {
101
+ const sub = scanDirectory(path.join(dir, entry.name), maxDepth, depth + 1, prefix + ' ');
102
+ if (sub)
103
+ lines.push(sub);
104
+ }
105
+ }
106
+ }
107
+ catch { /* permission errors */ }
108
+ return lines.filter(Boolean).join('\n');
109
+ }
110
+ // ── Session summary ──
111
+ function printSessionSummary(usage) {
112
+ console.log(`\n\x1b[90m Session: ${usage.totalTokens} tokens | ${usage.stepCount} steps | $${usage.estimatedCostUsd.toFixed(4)}\x1b[0m\n`);
113
+ }
114
+ // ── Main command ──
7
115
  export async function chatCommand(opts) {
8
- // Detect available providers
9
116
  const available = detectProviders();
10
117
  if (available.length === 0 && !opts.provider) {
11
118
  console.error('\n No API key found. Set one of:');
12
119
  console.error(' ANTHROPIC_API_KEY, OPENAI_API_KEY, GOOGLE_API_KEY\n');
13
120
  process.exit(1);
14
121
  }
15
- // Resolve which provider/model to use
16
122
  const provider = opts.provider ?? available[0].name;
17
123
  const modelName = opts.model ?? defaultModelName(provider);
18
124
  const model = await resolveModel(provider, opts.model);
19
125
  const maxSteps = parseInt(opts.maxSteps ?? '25', 10);
20
126
  const budget = opts.budget ? parseFloat(opts.budget) : undefined;
21
- // Build system prompt with working directory context
22
127
  const cwd = process.cwd();
23
128
  const fileTree = scanDirectory(cwd, 2);
24
- const systemPrompt = buildSystemPrompt(cwd, fileTree);
25
- // Create the agent with built-in tools
129
+ const projectCtx = findProjectContext(cwd);
130
+ const lastSession = loadLastSession(cwd);
131
+ const systemPrompt = buildSystemPrompt(cwd, fileTree, projectCtx?.content, lastSession);
26
132
  const agent = Agent.create({
27
133
  name: 'myuru',
28
134
  model,
@@ -31,7 +137,7 @@ export async function chatCommand(opts) {
31
137
  maxSteps,
32
138
  budgetPerRun: budget,
33
139
  });
34
- // Print banner
140
+ // ── Banner ──
35
141
  console.log('');
36
142
  console.log(' \x1b[36mmyuru\x1b[0m interactive agent');
37
143
  console.log(` Provider: ${provider} | Model: ${modelName}`);
@@ -39,9 +145,20 @@ export async function chatCommand(opts) {
39
145
  console.log(` Available: ${available.map(p => p.name).join(', ')}`);
40
146
  }
41
147
  console.log(` Directory: ${cwd}`);
148
+ if (projectCtx) {
149
+ console.log(` \x1b[32mLoaded .myuru.md\x1b[0m (${projectCtx.files.length} file${projectCtx.files.length > 1 ? 's' : ''})`);
150
+ }
151
+ if (lastSession) {
152
+ console.log(' \x1b[32mLoaded last session context\x1b[0m');
153
+ }
42
154
  console.log(` Tools: ${builtinTools.map(t => t.toolName).join(', ')}`);
43
- console.log(' Type /exit to quit, /cost for session totals\n');
44
- // Session state
155
+ console.log('');
156
+ console.log(' \x1b[90mTry: "list all TODO comments in this project"');
157
+ console.log(' "explain what src/index.ts does"');
158
+ console.log(' "find and fix any TypeScript errors"');
159
+ console.log(' Commands: /help /clear /compact /cost /exit\x1b[0m');
160
+ console.log('');
161
+ // ── Session state ──
45
162
  const messages = [];
46
163
  const sessionUsage = {
47
164
  totalInputTokens: 0,
@@ -50,42 +167,126 @@ export async function chatCommand(opts) {
50
167
  estimatedCostUsd: 0,
51
168
  stepCount: 0,
52
169
  };
53
- // REPL
170
+ // Streaming state for Ctrl+C cancellation
171
+ let currentAbort = null;
172
+ let isStreaming = false;
173
+ // ── REPL ──
54
174
  const rl = readline.createInterface({
55
175
  input: process.stdin,
56
176
  output: process.stdout,
57
177
  prompt: '\x1b[36m> \x1b[0m',
58
178
  });
59
- rl.prompt();
60
- rl.on('line', async (line) => {
61
- const input = line.trim();
62
- if (!input) {
179
+ // Ctrl+C: cancel streaming if active, otherwise exit
180
+ process.on('SIGINT', () => {
181
+ if (isStreaming && currentAbort) {
182
+ currentAbort.abort();
183
+ currentAbort = null;
184
+ isStreaming = false;
185
+ process.stdout.write('\n\x1b[33m (cancelled)\x1b[0m\n\n');
63
186
  rl.prompt();
64
- return;
65
187
  }
66
- // Slash commands
67
- if (input === '/exit' || input === '/quit') {
188
+ else {
189
+ saveLastSession(cwd, messages, sessionUsage);
68
190
  printSessionSummary(sessionUsage);
69
- rl.close();
70
- return;
191
+ process.exit(0);
71
192
  }
72
- if (input === '/cost') {
73
- printSessionSummary(sessionUsage);
193
+ });
194
+ rl.prompt();
195
+ rl.on('line', async (line) => {
196
+ const input = line.trim();
197
+ if (!input) {
74
198
  rl.prompt();
75
199
  return;
76
200
  }
77
- if (input === '/models') {
78
- console.log(`\n Current: ${provider}/${modelName}`);
79
- console.log(` Available providers: ${available.map(p => p.name).join(', ')}\n`);
201
+ // ── Slash commands ──
202
+ if (input.startsWith('/')) {
203
+ const cmd = input.toLowerCase();
204
+ if (cmd === '/exit' || cmd === '/quit') {
205
+ saveLastSession(cwd, messages, sessionUsage);
206
+ printSessionSummary(sessionUsage);
207
+ rl.close();
208
+ return;
209
+ }
210
+ if (cmd === '/cost') {
211
+ printSessionSummary(sessionUsage);
212
+ rl.prompt();
213
+ return;
214
+ }
215
+ if (cmd === '/models') {
216
+ console.log(`\n Current: ${provider}/${modelName}`);
217
+ console.log(` Available providers: ${available.map(p => p.name).join(', ')}\n`);
218
+ rl.prompt();
219
+ return;
220
+ }
221
+ if (cmd === '/clear') {
222
+ messages.length = 0;
223
+ console.log('\n \x1b[33mConversation cleared.\x1b[0m\n');
224
+ rl.prompt();
225
+ return;
226
+ }
227
+ if (cmd === '/help') {
228
+ console.log('');
229
+ console.log(' \x1b[36mCommands:\x1b[0m');
230
+ console.log(' /help Show this help');
231
+ console.log(' /clear Clear conversation history');
232
+ console.log(' /compact Summarize conversation to save context');
233
+ console.log(' /cost Show session cost and token usage');
234
+ console.log(' /models Show current model and available providers');
235
+ console.log(' /exit Exit (also: /quit, Ctrl+D)');
236
+ console.log('');
237
+ console.log(' \x1b[36mKeys:\x1b[0m');
238
+ console.log(' Ctrl+C Cancel current response');
239
+ console.log(' Ctrl+D Exit');
240
+ console.log('');
241
+ rl.prompt();
242
+ return;
243
+ }
244
+ if (cmd === '/compact') {
245
+ if (messages.length < 4) {
246
+ console.log('\n \x1b[90mNothing to compact yet.\x1b[0m\n');
247
+ rl.prompt();
248
+ return;
249
+ }
250
+ console.log('\n \x1b[33mCompacting conversation...\x1b[0m');
251
+ try {
252
+ const compactPrompt = 'Summarize our conversation so far in concise bullet points. ' +
253
+ 'Include: key topics, files modified, decisions made, and current state. ' +
254
+ 'This replaces the conversation history to save context.';
255
+ const prevCount = messages.length;
256
+ const summaryMessages = [
257
+ ...messages,
258
+ { role: 'user', content: compactPrompt },
259
+ ];
260
+ const result = await agent.chat(summaryMessages);
261
+ messages.length = 0;
262
+ messages.push({ role: 'user', content: 'Summary of our conversation so far:' }, { role: 'assistant', content: result.text });
263
+ if (result.usage) {
264
+ sessionUsage.totalInputTokens += result.usage.totalInputTokens;
265
+ sessionUsage.totalOutputTokens += result.usage.totalOutputTokens;
266
+ sessionUsage.totalTokens += result.usage.totalTokens;
267
+ sessionUsage.estimatedCostUsd += result.usage.estimatedCostUsd;
268
+ sessionUsage.stepCount += result.usage.stepCount;
269
+ }
270
+ console.log(` \x1b[32mCompacted: ${prevCount} messages → 2\x1b[0m\n`);
271
+ }
272
+ catch (err) {
273
+ console.error(`\n\x1b[31m Compact failed: ${err.message}\x1b[0m\n`);
274
+ }
275
+ rl.prompt();
276
+ return;
277
+ }
278
+ console.log(`\n \x1b[33mUnknown command: ${input}. Type /help for commands.\x1b[0m\n`);
80
279
  rl.prompt();
81
280
  return;
82
281
  }
83
- // Add user message to history
282
+ // ── User message ──
84
283
  messages.push({ role: 'user', content: input });
85
- // Stream the response
86
284
  try {
87
285
  process.stdout.write('\n');
286
+ currentAbort = new AbortController();
287
+ isStreaming = true;
88
288
  const stream = agent.chatStream(messages, {
289
+ signal: currentAbort.signal,
89
290
  onStep: (step) => {
90
291
  if (step.toolCalls?.length) {
91
292
  for (const tc of step.toolCalls) {
@@ -94,7 +295,6 @@ export async function chatCommand(opts) {
94
295
  }
95
296
  },
96
297
  });
97
- // Manual loop to capture the generator return value
98
298
  let chatResult;
99
299
  let next = await stream.next();
100
300
  while (!next.done) {
@@ -102,11 +302,11 @@ export async function chatCommand(opts) {
102
302
  next = await stream.next();
103
303
  }
104
304
  chatResult = next.value;
105
- // Append response messages to history
305
+ isStreaming = false;
306
+ currentAbort = null;
106
307
  if (chatResult?.responseMessages) {
107
308
  messages.push(...chatResult.responseMessages);
108
309
  }
109
- // Update session usage
110
310
  if (chatResult?.usage) {
111
311
  sessionUsage.totalInputTokens += chatResult.usage.totalInputTokens;
112
312
  sessionUsage.totalOutputTokens += chatResult.usage.totalOutputTokens;
@@ -114,66 +314,30 @@ export async function chatCommand(opts) {
114
314
  sessionUsage.estimatedCostUsd += chatResult.usage.estimatedCostUsd;
115
315
  sessionUsage.stepCount += chatResult.usage.stepCount;
116
316
  }
117
- // Print cost line
118
317
  const tokens = chatResult?.usage.totalTokens ?? 0;
119
318
  const cost = (chatResult?.usage.estimatedCostUsd ?? 0).toFixed(4);
120
319
  const session = sessionUsage.estimatedCostUsd.toFixed(4);
121
320
  process.stdout.write(`\n\n\x1b[90m ${tokens} tokens | $${cost} | session: $${session}\x1b[0m\n\n`);
122
321
  }
123
322
  catch (err) {
124
- console.error(`\n\x1b[31m Error: ${err.message}\x1b[0m\n`);
323
+ isStreaming = false;
324
+ currentAbort = null;
325
+ if (err.name === 'AbortError') {
326
+ // Ctrl+C cancelled — remove the unanswered user message
327
+ if (messages.length > 0 && messages[messages.length - 1].role === 'user') {
328
+ messages.pop();
329
+ }
330
+ }
331
+ else {
332
+ console.error(`\n\x1b[31m Error: ${err.message}\x1b[0m\n`);
333
+ }
125
334
  }
126
335
  rl.prompt();
127
336
  });
128
337
  rl.on('close', () => {
338
+ saveLastSession(cwd, messages, sessionUsage);
129
339
  printSessionSummary(sessionUsage);
130
340
  process.exit(0);
131
341
  });
132
- process.on('SIGINT', () => {
133
- printSessionSummary(sessionUsage);
134
- process.exit(0);
135
- });
136
- }
137
- function printSessionSummary(usage) {
138
- console.log(`\n\x1b[90m Session: ${usage.totalTokens} tokens | ${usage.stepCount} steps | $${usage.estimatedCostUsd.toFixed(4)}\x1b[0m\n`);
139
- }
140
- function buildSystemPrompt(cwd, fileTree) {
141
- return [
142
- 'You are a helpful coding assistant with full access to the file system and shell.',
143
- 'You can read, write, and edit files, search for files and content, and run shell commands.',
144
- 'Always use your tools to accomplish tasks. Do not ask the user to do things you can do yourself.',
145
- 'When editing files, read them first to understand the current content.',
146
- 'Be concise in your responses. Show what you did, not lengthy explanations of what you plan to do.',
147
- '',
148
- `Working directory: ${cwd}`,
149
- '',
150
- 'Project files:',
151
- fileTree,
152
- ].join('\n');
153
- }
154
- function scanDirectory(dir, maxDepth, depth = 0, prefix = '') {
155
- if (depth >= maxDepth)
156
- return '';
157
- const lines = [];
158
- try {
159
- const entries = fs.readdirSync(dir, { withFileTypes: true })
160
- .filter(e => !e.name.startsWith('.') && e.name !== 'node_modules' && e.name !== 'dist')
161
- .sort((a, b) => {
162
- if (a.isDirectory() !== b.isDirectory())
163
- return a.isDirectory() ? -1 : 1;
164
- return a.name.localeCompare(b.name);
165
- });
166
- for (const entry of entries.slice(0, 30)) {
167
- const name = entry.isDirectory() ? `${entry.name}/` : entry.name;
168
- lines.push(`${prefix}${name}`);
169
- if (entry.isDirectory()) {
170
- const sub = scanDirectory(path.join(dir, entry.name), maxDepth, depth + 1, prefix + ' ');
171
- if (sub)
172
- lines.push(sub);
173
- }
174
- }
175
- }
176
- catch { /* permission errors */ }
177
- return lines.filter(Boolean).join('\n');
178
342
  }
179
343
  //# sourceMappingURL=chat.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../src/cli/commands/chat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../src/cli/commands/chat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAUtF,gEAAgE;AAEhE,SAAS,kBAAkB,CAAC,GAAW;IACrC,MAAM,KAAK,GAAwC,EAAE,CAAC;IACtD,IAAI,GAAG,GAAG,GAAG,CAAC;IAEd,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAC9C,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC3D,IAAI,OAAO;oBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;YACxD,CAAC;YAAC,MAAM,CAAC,CAAC,uBAAuB,CAAC,CAAC;QACrC,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM;QAC1B,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAEzC,2DAA2D;IAC3D,KAAK,CAAC,OAAO,EAAE,CAAC;IAChB,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;QACtD,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;KAC9B,CAAC;AACJ,CAAC;AAED,6BAA6B;AAE7B,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAChE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,SAAS,CAAC;IAClD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7D,OAAO,OAAO,IAAI,SAAS,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;AAC/B,CAAC;AAED,SAAS,eAAe,CAAC,GAAW,EAAE,QAAmB,EAAE,KAAmB;IAC5E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAElC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACrC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEvC,MAAM,YAAY,GAAI,QAAsD;SACzE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;SAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAE5D,MAAM,KAAK,GAAG;QACZ,gBAAgB;QAChB,aAAa,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;QACvC,eAAe,KAAK,CAAC,WAAW,iBAAiB,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,KAAK,CAAC,SAAS,EAAE;QACpH,EAAE;QACF,qBAAqB;QACrB,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACtC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAC5D;KACF,CAAC;IAEF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,iBAAiB,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;AACjF,CAAC;AAED,8BAA8B;AAE9B,SAAS,iBAAiB,CACxB,GAAW,EACX,QAAgB,EAChB,cAAuB,EACvB,WAAoB;IAEpB,MAAM,KAAK,GAAG;QACZ,mFAAmF;QACnF,4FAA4F;QAC5F,kGAAkG;QAClG,wEAAwE;QACxE,mGAAmG;KACpG,CAAC;IAEF,IAAI,cAAc,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,8BAA8B,EAAE,cAAc,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,0BAA0B,EAAE,WAAW,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,sBAAsB,GAAG,EAAE,EAAE,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IAE5E,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,0BAA0B;AAE1B,SAAS,aAAa,CAAC,GAAW,EAAE,QAAgB,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,EAAE;IAC1E,IAAI,KAAK,IAAI,QAAQ;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;aACzD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;aACtF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACb,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE;gBAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzE,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEL,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;YACjE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC,CAAC;YAC/B,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;gBAC1F,IAAI,GAAG;oBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,uBAAuB,CAAC,CAAC;IACnC,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,wBAAwB;AAExB,SAAS,mBAAmB,CAAC,KAAmB;IAC9C,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,CAAC,WAAW,aAAa,KAAK,CAAC,SAAS,aAAa,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;AAC9I,CAAC;AAED,qBAAqB;AAErB,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAc;IAC9C,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;IACpC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC7C,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACnD,OAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEjE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,iBAAiB,CAAC,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAExF,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;QACzB,IAAI,EAAE,OAAO;QACb,KAAK;QACL,YAAY,EAAE,YAAY;QAC1B,KAAK,EAAE,YAAY;QACnB,QAAQ;QACR,YAAY,EAAE,MAAM;KACrB,CAAC,CAAC;IAEH,eAAe;IACf,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,eAAe,QAAQ,aAAa,SAAS,EAAE,CAAC,CAAC;IAC7D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,gBAAgB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAC;IACnC,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,sCAAsC,UAAU,CAAC,KAAK,CAAC,MAAM,QAAQ,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9H,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,YAAY,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,sBAAsB;IACtB,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,YAAY,GAAiB;QACjC,gBAAgB,EAAE,CAAC;QACnB,iBAAiB,EAAE,CAAC;QACpB,WAAW,EAAE,CAAC;QACd,gBAAgB,EAAE,CAAC;QACnB,SAAS,EAAE,CAAC;KACb,CAAC;IAEF,0CAA0C;IAC1C,IAAI,YAAY,GAA2B,IAAI,CAAC;IAChD,IAAI,WAAW,GAAG,KAAK,CAAC;IAExB,aAAa;IACb,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,mBAAmB;KAC5B,CAAC,CAAC;IAEH,qDAAqD;IACrD,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACxB,IAAI,WAAW,IAAI,YAAY,EAAE,CAAC;YAChC,YAAY,CAAC,KAAK,EAAE,CAAC;YACrB,YAAY,GAAG,IAAI,CAAC;YACpB,WAAW,GAAG,KAAK,CAAC;YACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YAC3D,EAAE,CAAC,MAAM,EAAE,CAAC;QACd,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;YAC7C,mBAAmB,CAAC,YAAY,CAAC,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,MAAM,EAAE,CAAC;IAEZ,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;YAAC,EAAE,CAAC,MAAM,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAEpC,uBAAuB;QACvB,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;YAEhC,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;gBACvC,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;gBAC7C,mBAAmB,CAAC,YAAY,CAAC,CAAC;gBAClC,EAAE,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO;YACT,CAAC;YAED,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;gBACpB,mBAAmB,CAAC,YAAY,CAAC,CAAC;gBAClC,EAAE,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO;YACT,CAAC;YAED,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,gBAAgB,QAAQ,IAAI,SAAS,EAAE,CAAC,CAAC;gBACrD,OAAO,CAAC,GAAG,CAAC,0BAA0B,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjF,EAAE,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO;YACT,CAAC;YAED,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACrB,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;gBAC1D,EAAE,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO;YACT,CAAC;YAED,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;gBACxD,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;gBACpE,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;gBAC/D,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;gBACxE,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;gBACxD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;gBACrD,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;gBAClC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChB,EAAE,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO;YACT,CAAC;YAED,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;gBACvB,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;oBAC5D,EAAE,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO;gBACT,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;gBAC7D,IAAI,CAAC;oBACH,MAAM,aAAa,GACjB,8DAA8D;wBAC9D,0EAA0E;wBAC1E,yDAAyD,CAAC;oBAE5D,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC;oBAClC,MAAM,eAAe,GAAG;wBACtB,GAAG,QAAQ;wBACX,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,aAAa,EAAE;qBAClD,CAAC;oBAEF,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,eAAsB,CAAC,CAAC;oBAExD,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;oBACpB,QAAQ,CAAC,IAAI,CACX,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,qCAAqC,EAAE,EACzE,EAAE,IAAI,EAAE,WAAoB,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,CACrD,CAAC;oBAEF,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;wBACjB,YAAY,CAAC,gBAAgB,IAAI,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC;wBAC/D,YAAY,CAAC,iBAAiB,IAAI,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC;wBACjE,YAAY,CAAC,WAAW,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;wBACrD,YAAY,CAAC,gBAAgB,IAAI,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC;wBAC/D,YAAY,CAAC,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;oBACnD,CAAC;oBAED,OAAO,CAAC,GAAG,CAAC,wBAAwB,SAAS,wBAAwB,CAAC,CAAC;gBACzE,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAClB,OAAO,CAAC,KAAK,CAAC,+BAA+B,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC;gBACvE,CAAC;gBAED,EAAE,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,gCAAgC,KAAK,qCAAqC,CAAC,CAAC;YACxF,EAAE,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,qBAAqB;QACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAEzD,IAAI,CAAC;YACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;YACrC,WAAW,GAAG,IAAI,CAAC;YAEnB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,QAAe,EAAE;gBAC/C,MAAM,EAAE,YAAY,CAAC,MAAM;gBAC3B,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;oBACf,IAAI,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;wBAC3B,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;4BAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,IAAI,YAAY,CAAC,CAAC;wBAC1D,CAAC;oBACH,CAAC;gBACH,CAAC;aACF,CAAC,CAAC;YAEH,IAAI,UAAU,CAAC;YACf,IAAI,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC7B,CAAC;YACD,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;YAExB,WAAW,GAAG,KAAK,CAAC;YACpB,YAAY,GAAG,IAAI,CAAC;YAEpB,IAAI,UAAU,EAAE,gBAAgB,EAAE,CAAC;gBACjC,QAAQ,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;YAChD,CAAC;YAED,IAAI,UAAU,EAAE,KAAK,EAAE,CAAC;gBACtB,YAAY,CAAC,gBAAgB,IAAI,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC;gBACnE,YAAY,CAAC,iBAAiB,IAAI,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC;gBACrE,YAAY,CAAC,WAAW,IAAI,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC;gBACzD,YAAY,CAAC,gBAAgB,IAAI,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC;gBACnE,YAAY,CAAC,SAAS,IAAI,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC;YACvD,CAAC;YAED,MAAM,MAAM,GAAG,UAAU,EAAE,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC;YAClD,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,gBAAgB,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAClE,MAAM,OAAO,GAAG,YAAY,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACzD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,MAAM,cAAc,IAAI,gBAAgB,OAAO,aAAa,CAAC,CAAC;QACtG,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,WAAW,GAAG,KAAK,CAAC;YACpB,YAAY,GAAG,IAAI,CAAC;YAEpB,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC9B,wDAAwD;gBACxD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAK,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAS,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAClF,QAAQ,CAAC,GAAG,EAAE,CAAC;gBACjB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,sBAAsB,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QAED,EAAE,CAAC,MAAM,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QAClB,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC7C,mBAAmB,CAAC,YAAY,CAAC,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAGA,wBAAsB,WAAW,CAAC,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA4CtE"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAGA,wBAAsB,WAAW,CAAC,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAqDtE"}
@@ -2,7 +2,20 @@ import * as fs from 'node:fs';
2
2
  import * as path from 'node:path';
3
3
  export async function initCommand(opts) {
4
4
  const dir = path.resolve(opts.dir);
5
- console.log(`\nMyUru v2 — Initializing project in ${dir}\n`);
5
+ console.log(`\nMyUru — Initializing project in ${dir}\n`);
6
+ // Create .myuru.md project context file
7
+ const contextPath = path.join(dir, '.myuru.md');
8
+ if (!fs.existsSync(contextPath)) {
9
+ fs.writeFileSync(contextPath, PROJECT_CONTEXT_TEMPLATE);
10
+ console.log(' Created .myuru.md (project context — loaded every session)');
11
+ }
12
+ else {
13
+ console.log(' .myuru.md already exists, skipping');
14
+ }
15
+ // Create .myuru/ state directory
16
+ const stateDir = path.join(dir, '.myuru');
17
+ fs.mkdirSync(stateDir, { recursive: true });
18
+ console.log(' Created .myuru/ (state directory)');
6
19
  // Create config file
7
20
  const configPath = path.join(dir, 'myuru.config.ts');
8
21
  if (!fs.existsSync(configPath)) {
@@ -19,24 +32,44 @@ export async function initCommand(opts) {
19
32
  fs.writeFileSync(path.join(agentsDir, 'researcher.ts'), AGENT_TEMPLATE);
20
33
  console.log(' Created agents/researcher.ts');
21
34
  }
22
- // Create .myuru directory for state
23
- const stateDir = path.join(dir, '.myuru');
24
- fs.mkdirSync(stateDir, { recursive: true });
25
- console.log(' Created .myuru/ (state directory)');
26
35
  // Add to .gitignore if it exists
27
36
  const gitignorePath = path.join(dir, '.gitignore');
28
37
  if (fs.existsSync(gitignorePath)) {
29
38
  const content = fs.readFileSync(gitignorePath, 'utf-8');
30
- if (!content.includes('.myuru')) {
39
+ if (!content.includes('.myuru/')) {
31
40
  fs.appendFileSync(gitignorePath, '\n# MyUru state\n.myuru/\n');
32
41
  console.log(' Added .myuru/ to .gitignore');
33
42
  }
34
43
  }
35
44
  console.log('\nDone! Next steps:');
36
- console.log(' 1. Set your API key: export ANTHROPIC_API_KEY=sk-ant-...');
37
- console.log(' 2. Edit myuru.config.ts to configure your agents');
38
- console.log(' 3. Run: myuru run --task "Your task here"\n');
45
+ console.log(' 1. Edit .myuru.md to describe your project');
46
+ console.log(' 2. Set your API key: export ANTHROPIC_API_KEY=sk-ant-...');
47
+ console.log(' 3. Run: myuru\n');
39
48
  }
49
+ const PROJECT_CONTEXT_TEMPLATE = `# Project Context
50
+
51
+ <!-- MyUru loads this file into every session automatically. -->
52
+ <!-- Describe your project so the agent understands your codebase. -->
53
+
54
+ ## About This Project
55
+
56
+ <!-- What is this project? What does it do? -->
57
+
58
+ ## Tech Stack
59
+
60
+ <!-- e.g. Next.js 15, Prisma, Tailwind CSS, PostgreSQL -->
61
+
62
+ ## Important Rules
63
+
64
+ <!-- Things the agent should always or never do. Examples: -->
65
+ <!-- - Never modify package.json without asking -->
66
+ <!-- - Use the existing logger in src/lib/logger.ts -->
67
+ <!-- - All API routes go in src/app/api/ -->
68
+
69
+ ## Key Files
70
+
71
+ <!-- Important files the agent should know about -->
72
+ `;
40
73
  const CONFIG_TEMPLATE = `import { type AgentConfig } from 'myuru';
41
74
 
42
75
  // MyUru Configuration
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAqB;IACrD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEnC,OAAO,CAAC,GAAG,CAAC,wCAAwC,GAAG,IAAI,CAAC,CAAC;IAE7D,qBAAqB;IACrB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IACrD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAC5D,CAAC;IAED,0BAA0B;IAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EACrC,cAAc,CACf,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAChD,CAAC;IAED,oCAAoC;IACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC1C,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IAEnD,iCAAiC;IACjC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IACnD,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,EAAE,CAAC,cAAc,CAAC,aAAa,EAAE,4BAA4B,CAAC,CAAC;YAC/D,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;IAC1E,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BvB,CAAC;AAEF,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;CAetB,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAqB;IACrD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEnC,OAAO,CAAC,GAAG,CAAC,qCAAqC,GAAG,IAAI,CAAC,CAAC;IAE1D,wCAAwC;IACxC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAChD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;IAC9E,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IACtD,CAAC;IAED,iCAAiC;IACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC1C,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IAEnD,qBAAqB;IACrB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IACrD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAC5D,CAAC;IAED,0BAA0B;IAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EACrC,cAAc,CACf,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAChD,CAAC;IAED,iCAAiC;IACjC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IACnD,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,EAAE,CAAC,cAAc,CAAC,aAAa,EAAE,4BAA4B,CAAC,CAAC;YAC/D,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;IAC1E,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;CAuBhC,CAAC;AAEF,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BvB,CAAC;AAEF,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;CAetB,CAAC"}
package/dist/cli/index.js CHANGED
@@ -7,7 +7,7 @@ const program = new Command();
7
7
  program
8
8
  .name('myuru')
9
9
  .description('AI agent with file system and shell access. Works with any provider.')
10
- .version('2.0.0-alpha.4');
10
+ .version('2.0.0-alpha.5');
11
11
  program
12
12
  .command('chat', { isDefault: true })
13
13
  .description('Start an interactive chat session (default)')
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "myuru",
3
- "version": "2.0.0-alpha.4",
3
+ "version": "2.0.0-alpha.5",
4
4
  "description": "AI agent for your terminal. Read files, run commands, write code — with any LLM provider. BYO API key.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",