@kernel.chat/kbot 3.28.1 → 3.29.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.
package/dist/cli.js CHANGED
@@ -741,6 +741,31 @@ async function main() {
741
741
  const { generateComparison } = await import('./introspection.js');
742
742
  process.stderr.write(generateComparison());
743
743
  });
744
+ program
745
+ .command('growth')
746
+ .description('See how you\'ve evolved as a builder — milestones, efficiency gains, knowledge arc')
747
+ .action(async () => {
748
+ const { generateGrowthReport } = await import('./introspection.js');
749
+ process.stderr.write(generateGrowthReport());
750
+ });
751
+ program
752
+ .command('decisions')
753
+ .description('See WHY kbot made each decision today — agent routing, model selection, fallbacks')
754
+ .option('--date <date>', 'Show decisions for a specific date (YYYY-MM-DD)')
755
+ .action(async (opts) => {
756
+ const { getTodaysDecisions, getDecisions, formatDecisions } = await import('./decision-journal.js');
757
+ const decisions = opts.date ? getDecisions(opts.date) : getTodaysDecisions();
758
+ console.log(formatDecisions(decisions));
759
+ });
760
+ program
761
+ .command('episodes')
762
+ .description('Session history as stories — what happened, what was learned, emotional valence')
763
+ .option('--tag <tag>', 'Filter by tag (coding, finance, security, etc.)')
764
+ .action(async (opts) => {
765
+ const { listEpisodes, searchEpisodes, formatEpisodeList } = await import('./episodic-memory.js');
766
+ const episodes = opts.tag ? searchEpisodes(opts.tag) : listEpisodes(15);
767
+ console.log(formatEpisodeList(episodes));
768
+ });
744
769
  // ── Self-Defense ──
745
770
  const defenseCmd = program
746
771
  .command('defense')
@@ -3527,6 +3552,24 @@ async function handleSlashCommand(input, opts, rl) {
3527
3552
  process.stderr.write(generateComparison());
3528
3553
  break;
3529
3554
  }
3555
+ case 'growth': {
3556
+ const { generateGrowthReport } = await import('./introspection.js');
3557
+ process.stderr.write(generateGrowthReport());
3558
+ break;
3559
+ }
3560
+ case 'decisions': {
3561
+ const { getTodaysDecisions, formatDecisions } = await import('./decision-journal.js');
3562
+ const decisions = getTodaysDecisions();
3563
+ console.log(formatDecisions(decisions));
3564
+ break;
3565
+ }
3566
+ case 'episodes':
3567
+ case 'history': {
3568
+ const { listEpisodes, formatEpisodeList } = await import('./episodic-memory.js');
3569
+ const episodes = listEpisodes(15);
3570
+ console.log(formatEpisodeList(episodes));
3571
+ break;
3572
+ }
3530
3573
  case 'tutorial': {
3531
3574
  await runTutorial(rl);
3532
3575
  break;