@sunilp-org/jam-cli 0.1.2 → 0.3.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.
@@ -94,7 +94,7 @@ export async function loadProjectContext(workspaceRoot) {
94
94
  */
95
95
  export function buildSystemPrompt(jamContext, workspaceCtx, options = { mode: 'readonly' }) {
96
96
  const modeDesc = options.mode === 'readwrite'
97
- ? 'You are an expert developer assistant with full read/write access to the local codebase via tools.'
97
+ ? 'You are an expert developer assistant with full read/write access to the local codebase via tools. Your job is to ACTUALLY WRITE CODE using tools, not just describe it. You MUST use write_file to create and modify files.'
98
98
  : 'You are an expert code assistant. You help developers understand their codebase by reading and searching source files.';
99
99
  return [
100
100
  modeDesc,
@@ -127,8 +127,16 @@ export function buildSystemPrompt(jamContext, workspaceCtx, options = { mode: 'r
127
127
  '- ALWAYS relate your findings back to the user\'s original question.',
128
128
  '- When you have gathered enough context, provide a clear, well-structured Markdown answer with code snippets.',
129
129
  ...(options.mode === 'readwrite' ? [
130
- '- For write operations, explain what you are changing and why BEFORE making the change.',
131
- '- Always validate changes after making them (e.g. read the file back to confirm).',
130
+ '',
131
+ '## Write Operations MANDATORY RULES',
132
+ '',
133
+ '- YOU MUST USE `write_file` TOOL to create or modify files. This is the ONLY way to make changes.',
134
+ '- NEVER output code blocks in your final answer as a substitute for writing files. Code blocks are for explanation only.',
135
+ '- NEVER describe what a file "would look like" — write it with `write_file`.',
136
+ '- If asked to create a file, call `write_file` with the full, complete file content.',
137
+ '- If asked to modify an existing file, FIRST call `read_file` to get current content, THEN call `write_file` with the complete updated content.',
138
+ '- After every `write_file` call, call `read_file` on the same path to verify the write succeeded.',
139
+ '- When you have finished all writes, provide a short summary of what was changed (file paths only).',
132
140
  ] : []),
133
141
  ].filter(Boolean).join('\n');
134
142
  }
@@ -194,7 +202,359 @@ export async function generateSearchPlan(provider, question, projectContext, opt
194
202
  return null;
195
203
  }
196
204
  }
197
- // ── Query expansion / prompt enrichment ───────────────────────────────────────
205
+ const STRUCTURED_PLANNER_SYSTEM_PROMPT = `You are an execution planner for a code assistant. Produce a precise, ordered JSON plan for answering a question about a codebase.
206
+
207
+ Output a JSON object with EXACTLY this structure (no prose, no markdown, just JSON):
208
+ {
209
+ "intent": "one sentence: what the user actually wants",
210
+ "steps": [
211
+ {
212
+ "id": 1,
213
+ "action": "Search for createProvider function definition",
214
+ "tool": "search_text",
215
+ "args": { "query": "createProvider", "glob": "*.ts", "max_results": 10 },
216
+ "successCriteria": "Found the file and line where createProvider is defined"
217
+ }
218
+ ],
219
+ "minStepsBeforeAnswer": 2,
220
+ "expectedFiles": ["src/providers/factory.ts"]
221
+ }
222
+
223
+ RULES:
224
+ - steps must only use tools: search_text, read_file, list_dir
225
+ - search_text args: { "query": "...", "glob": "*.ts" } (query MUST be a specific code identifier — function name, class name, import path, variable name — NEVER a generic English word)
226
+ - read_file args: { "path": "src/some/file.ts" }
227
+ - list_dir args: { "path": "src/some/" }
228
+ - 2 to 6 steps only
229
+ - Output ONLY the raw JSON object. No markdown fences, no explanation.`;
230
+ const STRUCTURED_WRITE_PLANNER_SYSTEM_PROMPT = `You are an execution planner for a developer assistant that reads AND writes code. Produce a precise, ordered JSON plan.
231
+
232
+ Output a JSON object with EXACTLY this structure (no prose, no markdown, just JSON):
233
+ {
234
+ "intent": "one sentence: what the user actually wants",
235
+ "steps": [
236
+ {
237
+ "id": 1,
238
+ "action": "Read an existing command (e.g. src/commands/ask.ts) to understand the command registration pattern",
239
+ "tool": "read_file",
240
+ "args": { "path": "src/commands/ask.ts" },
241
+ "successCriteria": "Understand the exact import structure and export pattern used by other commands"
242
+ },
243
+ {
244
+ "id": 2,
245
+ "action": "Read src/index.ts to see how commands are registered",
246
+ "tool": "read_file",
247
+ "args": { "path": "src/index.ts" },
248
+ "successCriteria": "Know exactly which lines to insert the import and registration"
249
+ },
250
+ {
251
+ "id": 3,
252
+ "action": "Create new file src/commands/version.ts using the pattern from step 1",
253
+ "tool": "write_file",
254
+ "args": { "path": "src/commands/version.ts", "content": "placeholder" },
255
+ "successCriteria": "File written with correct TypeScript matching the project pattern"
256
+ },
257
+ {
258
+ "id": 4,
259
+ "action": "Update src/index.ts to import and register the new version command",
260
+ "tool": "write_file",
261
+ "args": { "path": "src/index.ts", "content": "placeholder" },
262
+ "successCriteria": "src/index.ts updated with the new command fully integrated"
263
+ }
264
+ ],
265
+ "minStepsBeforeAnswer": 4,
266
+ "expectedFiles": ["src/commands/ask.ts", "src/index.ts", "src/commands/version.ts"]
267
+ }
268
+
269
+ RULES:
270
+ - Steps MUST follow this order: (1) read reference files to understand patterns, (2) read files to be modified, (3) write/create new files, (4) update existing files with complete new content
271
+ - ALWAYS include at least one read step of an EXISTING similar file to understand the pattern before writing anything
272
+ - NEVER read a file you are about to create (it doesn't exist yet)
273
+ - ALWAYS include a read step for every EXISTING file you will modify
274
+ - When writing an existing file, the content must be the COMPLETE file (not stubs like "// existing code...") based on what you read
275
+ - When creating a new file, the content must match the patterns found in the reference files you read
276
+ - Allowed tools: search_text, read_file, list_dir, write_file, apply_patch
277
+ - search_text args: { "query": "actual_code_identifier", "glob": "*.ts" }
278
+ - read_file args: { "path": "src/some/file.ts" }
279
+ - write_file args: { "path": "src/some/file.ts", "content": "placeholder" } (executor will fill real content based on reads)
280
+ - 3 to 8 steps
281
+ - Output ONLY the raw JSON object. No markdown fences, no explanation.`;
282
+ /**
283
+ * Generate a structured, typed execution plan.
284
+ * Falls back to null on parse failure — callers should fall back to generateSearchPlan.
285
+ */
286
+ export async function generateExecutionPlan(provider, question, projectContext, options) {
287
+ try {
288
+ const request = {
289
+ messages: [{
290
+ role: 'user',
291
+ content: [
292
+ `Question: "${question}"`,
293
+ '',
294
+ 'Project context:',
295
+ projectContext,
296
+ '',
297
+ 'Produce a precise execution plan as a JSON object.',
298
+ ].join('\n'),
299
+ }],
300
+ model: options.model,
301
+ temperature: 0.1,
302
+ maxTokens: 600,
303
+ systemPrompt: options.mode === 'readwrite'
304
+ ? STRUCTURED_WRITE_PLANNER_SYSTEM_PROMPT
305
+ : STRUCTURED_PLANNER_SYSTEM_PROMPT,
306
+ };
307
+ let raw = '';
308
+ const stream = provider.streamCompletion(request);
309
+ for await (const chunk of stream) {
310
+ if (!chunk.done)
311
+ raw += chunk.delta;
312
+ }
313
+ return parseExecutionPlan(raw.trim());
314
+ }
315
+ catch {
316
+ return null;
317
+ }
318
+ }
319
+ /**
320
+ * Parse a JSON execution plan from the model's response.
321
+ * Handles markdown code-block wrappers and leading/trailing prose.
322
+ */
323
+ export function parseExecutionPlan(text) {
324
+ // Strip markdown code block wrappers if present
325
+ let cleaned = text
326
+ .replace(/^```(?:json)?\s*/m, '')
327
+ .replace(/\s*```\s*$/m, '')
328
+ .trim();
329
+ // Find the outermost JSON object
330
+ const start = cleaned.indexOf('{');
331
+ const end = cleaned.lastIndexOf('}');
332
+ if (start === -1 || end === -1)
333
+ return null;
334
+ cleaned = cleaned.slice(start, end + 1);
335
+ try {
336
+ const parsed = JSON.parse(cleaned);
337
+ return isValidExecutionPlan(parsed) ? parsed : null;
338
+ }
339
+ catch {
340
+ return null;
341
+ }
342
+ }
343
+ function isValidExecutionPlan(obj) {
344
+ if (typeof obj !== 'object' || obj === null)
345
+ return false;
346
+ const p = obj;
347
+ if (typeof p['intent'] !== 'string')
348
+ return false;
349
+ if (!Array.isArray(p['steps']) || p['steps'].length === 0)
350
+ return false;
351
+ if (typeof p['minStepsBeforeAnswer'] !== 'number')
352
+ return false;
353
+ if (!Array.isArray(p['expectedFiles']))
354
+ return false;
355
+ for (const step of p['steps']) {
356
+ if (typeof step !== 'object' || step === null)
357
+ return false;
358
+ const s = step;
359
+ if (typeof s['id'] !== 'number')
360
+ return false;
361
+ if (typeof s['action'] !== 'string')
362
+ return false;
363
+ if (typeof s['tool'] !== 'string')
364
+ return false;
365
+ if (typeof s['args'] !== 'object' || s['args'] === null)
366
+ return false;
367
+ if (typeof s['successCriteria'] !== 'string')
368
+ return false;
369
+ }
370
+ return true;
371
+ }
372
+ /**
373
+ * Format an ExecutionPlan as a visual block for stderr display.
374
+ */
375
+ export function formatExecutionPlanBlock(plan, noColor) {
376
+ const lines = [
377
+ `Intent: ${plan.intent}`,
378
+ '',
379
+ ...plan.steps.flatMap(s => [
380
+ `Step ${s.id}: [${s.tool}] ${s.action}`,
381
+ ` args: ${JSON.stringify(s.args)}`,
382
+ ` ✓ ${s.successCriteria}`,
383
+ '',
384
+ ]),
385
+ `Min steps before answering: ${plan.minStepsBeforeAnswer}`,
386
+ ...(plan.expectedFiles.length > 0
387
+ ? [`Expected files: ${plan.expectedFiles.join(', ')}`]
388
+ : []),
389
+ ].filter(l => l !== undefined);
390
+ if (noColor) {
391
+ return lines.map(l => ` │ ${l}`).join('\n');
392
+ }
393
+ return lines
394
+ .map(l => ` ${ansi(ANSI.dimBlue, '│')} ${ansi(ANSI.dimBlue, l)}`)
395
+ .join('\n');
396
+ }
397
+ /**
398
+ * Enrich the user's prompt with a structured execution plan.
399
+ * Gives the model explicit, ordered steps with exact tool args so it does not meander.
400
+ */
401
+ export function enrichUserPromptWithPlan(prompt, plan) {
402
+ const stepLines = plan.steps
403
+ .map(s => [
404
+ `**Step ${s.id}:** ${s.action}`,
405
+ ` - Tool: \`${s.tool}\` — args: \`${JSON.stringify(s.args)}\``,
406
+ ` - Done when: ${s.successCriteria}`,
407
+ ].join('\n'))
408
+ .join('\n\n');
409
+ const hasWriteSteps = plan.steps.some(s => s.tool === 'write_file' || s.tool === 'apply_patch');
410
+ return [
411
+ prompt,
412
+ '',
413
+ '---',
414
+ '',
415
+ '## Execution Plan',
416
+ '',
417
+ `**Goal:** ${plan.intent}`,
418
+ '',
419
+ stepLines,
420
+ '',
421
+ `**Minimum ${plan.minStepsBeforeAnswer} step(s) required before answering.**`,
422
+ plan.expectedFiles.length > 0
423
+ ? `**Likely relevant files:** ${plan.expectedFiles.join(', ')}`
424
+ : '',
425
+ '',
426
+ '## Instructions',
427
+ '- Execute the steps above **in order**, using the exact tool and args listed.',
428
+ '- Do not repeat a step you already completed.',
429
+ ...(hasWriteSteps ? [
430
+ '- **WRITE STEPS ARE MANDATORY**: For every step that uses `write_file` or `apply_patch`, you MUST call that tool with the complete file content.',
431
+ '- NEVER output code blocks as a substitute for calling `write_file`. Code blocks do nothing — only tool calls create files.',
432
+ '- After writing each file, call `read_file` on the same path to confirm the write succeeded.',
433
+ `- After completing all steps, output a short summary of what was written.`,
434
+ ] : [
435
+ `- After completing at least ${plan.minStepsBeforeAnswer} steps, synthesize your final answer.`,
436
+ '- Final answer must be clean Markdown with specific file paths, line numbers, and code snippets.',
437
+ ]),
438
+ '- Do NOT output raw JSON. Do NOT ask clarifying questions — the plan tells you what to find.',
439
+ ].filter(Boolean).join('\n');
440
+ }
441
+ const VERIFIER_SYSTEM_PROMPT = `You are a progress verifier for a code search agent.
442
+
443
+ You receive: the user's question, the execution plan, and a summary of tool results collected so far.
444
+
445
+ Determine the agent's status — output EXACTLY this format, nothing else:
446
+
447
+ STATUS: ready-to-answer
448
+ STEP: 0
449
+ REASON: Found the factory in src/providers/factory.ts with all provider cases covered.
450
+
451
+ or:
452
+
453
+ STATUS: need-more
454
+ STEP: 2
455
+ REASON: Found function signature but haven't read the file body yet.
456
+
457
+ or:
458
+
459
+ STATUS: stuck
460
+ STEP: 1
461
+ REASON: All searches returned no results — the queries used generic words instead of code identifiers.
462
+
463
+ Definitions:
464
+ - ready-to-answer: tool results contain specific file paths, code snippets, or data that directly answers the question
465
+ - need-more: some relevant info found but critical details still missing
466
+ - stuck: 3+ rounds of tool calls with no relevant results found`;
467
+ /**
468
+ * Mid-process verifier: checks every N rounds whether the agent has enough
469
+ * context to answer or is stuck. Enables early termination and targeted recovery.
470
+ */
471
+ export class StepVerifier {
472
+ /**
473
+ * Run a cheap verifier LLM call against the current tool results.
474
+ * Non-fatal — returns 'need-more' on any failure.
475
+ */
476
+ async verify(provider, question, plan, toolResultsSummary, options) {
477
+ const fallback = { status: 'need-more', nextStepId: 1, reason: 'Verifier unavailable.' };
478
+ try {
479
+ const planText = plan
480
+ ? plan.steps.map(s => `Step ${s.id}: [${s.tool}] ${s.action}`).join('\n')
481
+ : '(no structured plan)';
482
+ const request = {
483
+ messages: [{
484
+ role: 'user',
485
+ content: [
486
+ '## Question',
487
+ question,
488
+ '',
489
+ '## Execution Plan',
490
+ planText,
491
+ '',
492
+ '## Tool Results So Far',
493
+ toolResultsSummary || '(no results yet)',
494
+ ].join('\n'),
495
+ }],
496
+ model: options.model,
497
+ temperature: 0.1,
498
+ maxTokens: 80,
499
+ systemPrompt: VERIFIER_SYSTEM_PROMPT,
500
+ };
501
+ let raw = '';
502
+ const stream = provider.streamCompletion(request);
503
+ for await (const chunk of stream) {
504
+ if (!chunk.done)
505
+ raw += chunk.delta;
506
+ }
507
+ return this.parseVerifierResponse(raw.trim()) ?? fallback;
508
+ }
509
+ catch {
510
+ return fallback;
511
+ }
512
+ }
513
+ /** Parse the verifier's structured response. Exported for testing. */
514
+ parseVerifierResponse(text) {
515
+ const lines = text.split('\n').map(l => l.trim()).filter(Boolean);
516
+ if (lines.length === 0)
517
+ return null;
518
+ const statusLine = lines.find(l => /^STATUS:/i.test(l));
519
+ const stepLine = lines.find(l => /^STEP:/i.test(l));
520
+ const reasonLine = lines.find(l => /^REASON:/i.test(l));
521
+ if (!statusLine)
522
+ return null;
523
+ const raw = statusLine.replace(/^STATUS:\s*/i, '').trim().toLowerCase();
524
+ let status;
525
+ if (raw.includes('ready'))
526
+ status = 'ready-to-answer';
527
+ else if (raw.includes('stuck'))
528
+ status = 'stuck';
529
+ else
530
+ status = 'need-more';
531
+ const nextStepId = stepLine
532
+ ? (parseInt(stepLine.replace(/^STEP:\s*/i, '').trim(), 10) || 0)
533
+ : 0;
534
+ const reason = reasonLine
535
+ ? reasonLine.replace(/^REASON:\s*/i, '').trim()
536
+ : 'No reason provided.';
537
+ return { status, nextStepId, reason };
538
+ }
539
+ }
540
+ /**
541
+ * Extract a summary of the most recent tool results from the message history.
542
+ * Fed to the StepVerifier so it can assess progress without the full context.
543
+ */
544
+ export function buildToolResultsSummary(messages) {
545
+ const toolMsgs = messages
546
+ .filter(m => m.role === 'user' && m.content.startsWith('[Tool result:'))
547
+ .slice(-6);
548
+ if (toolMsgs.length === 0)
549
+ return '';
550
+ return toolMsgs
551
+ .map(m => {
552
+ const content = m.content;
553
+ return content.length > 300 ? content.slice(0, 300) + '…' : content;
554
+ })
555
+ .join('\n\n');
556
+ }
557
+ // ── Query expansion / prompt enrichment ────────────────────────────────────────
198
558
  /**
199
559
  * Enrich the user's prompt with search strategy guidance.
200
560
  * If a search plan is provided, integrates it for focused searching.
@@ -280,6 +640,10 @@ export class ToolCallTracker {
280
640
  return null;
281
641
  }
282
642
  get totalCalls() { return this.history.length; }
643
+ /** Check if a specific tool was ever called in this session. */
644
+ wasToolCalled(name) {
645
+ return this.history.some(h => h.name === name);
646
+ }
283
647
  /** Reset for a new turn (useful in multi-turn chat). */
284
648
  reset() {
285
649
  this.history = [];
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/utils/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/utils/agent.ts"],"names":[],"mappings":"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"}
@@ -47,4 +47,5 @@ export class Logger {
47
47
  }
48
48
  // Singleton logger — configured at startup in src/index.ts
49
49
  export const logger = new Logger();
50
+ // test small change
50
51
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAA6B;IAC3C,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACT,CAAC;AAEF,MAAM,OAAO,MAAM;IACT,KAAK,CAAW;IAChB,QAAQ,CAAW;IAE3B,YAAY,QAAkB,MAAM,EAAE,iBAA2B,EAAE;QACjE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACjE,CAAC;IAEO,MAAM,CAAC,OAAe;QAC5B,IAAI,MAAM,GAAG,OAAO,CAAC;QACrB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,SAAS,CAAC,KAAe;QAC/B,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAEO,KAAK,CAAC,KAAe,EAAE,MAAc,EAAE,OAAe,EAAE,GAAG,IAAe;QAChF,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAAE,OAAO;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC9F,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,GAAG,IAAe;QACvC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,GAAG,IAAe;QACtC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,GAAG,IAAe;QACtC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,GAAG,IAAe;QACvC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,QAAQ,CAAC,KAAe;QACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAED,2DAA2D;AAC3D,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAA6B;IAC3C,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACT,CAAC;AAEF,MAAM,OAAO,MAAM;IACT,KAAK,CAAW;IAChB,QAAQ,CAAW;IAE3B,YAAY,QAAkB,MAAM,EAAE,iBAA2B,EAAE;QACjE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACjE,CAAC;IAEO,MAAM,CAAC,OAAe;QAC5B,IAAI,MAAM,GAAG,OAAO,CAAC;QACrB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,SAAS,CAAC,KAAe;QAC/B,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAEO,KAAK,CAAC,KAAe,EAAE,MAAc,EAAE,OAAe,EAAE,GAAG,IAAe;QAChF,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAAE,OAAO;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC9F,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,GAAG,IAAe;QACvC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,GAAG,IAAe;QACtC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,GAAG,IAAe;QACtC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,GAAG,IAAe;QACvC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,QAAQ,CAAC,KAAe;QACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAED,2DAA2D;AAC3D,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;AAEnC,oBAAoB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sunilp-org/jam-cli",
3
- "version": "0.1.2",
3
+ "version": "0.3.0",
4
4
  "description": "Jam — developer-first AI assistant CLI for the terminal. Ask questions, explain code, review diffs, generate patches, and run agentic tasks powered by Ollama.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -11,7 +11,7 @@
11
11
  },
12
12
  "repository": {
13
13
  "type": "git",
14
- "url": "https://github.com/sunilp/jam-cli.git"
14
+ "url": "git+https://github.com/sunilp/jam-cli.git"
15
15
  },
16
16
  "bugs": {
17
17
  "url": "https://github.com/sunilp/jam-cli/issues"
@@ -36,7 +36,7 @@
36
36
  "node": ">=20"
37
37
  },
38
38
  "bin": {
39
- "jam": "./dist/index.js"
39
+ "jam": "dist/index.js"
40
40
  },
41
41
  "files": [
42
42
  "dist",