fivocell 4.7.0 → 4.9.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 (65) hide show
  1. package/dist/__tests__/ai-memory-summarizer.test.d.ts +2 -0
  2. package/dist/__tests__/ai-memory-summarizer.test.d.ts.map +1 -0
  3. package/dist/__tests__/ai-memory-summarizer.test.js +40 -0
  4. package/dist/__tests__/ai-memory-summarizer.test.js.map +1 -0
  5. package/dist/__tests__/auto-handoff.test.d.ts +2 -0
  6. package/dist/__tests__/auto-handoff.test.d.ts.map +1 -0
  7. package/dist/__tests__/auto-handoff.test.js +65 -0
  8. package/dist/__tests__/auto-handoff.test.js.map +1 -0
  9. package/dist/__tests__/memory-digest.test.d.ts +2 -0
  10. package/dist/__tests__/memory-digest.test.d.ts.map +1 -0
  11. package/dist/__tests__/memory-digest.test.js +20 -0
  12. package/dist/__tests__/memory-digest.test.js.map +1 -0
  13. package/dist/__tests__/memory-search.test.d.ts +2 -0
  14. package/dist/__tests__/memory-search.test.d.ts.map +1 -0
  15. package/dist/__tests__/memory-search.test.js +48 -0
  16. package/dist/__tests__/memory-search.test.js.map +1 -0
  17. package/dist/__tests__/proactive-insights.test.d.ts +2 -0
  18. package/dist/__tests__/proactive-insights.test.d.ts.map +1 -0
  19. package/dist/__tests__/proactive-insights.test.js +50 -0
  20. package/dist/__tests__/proactive-insights.test.js.map +1 -0
  21. package/dist/__tests__/semantic-memory.test.d.ts +2 -0
  22. package/dist/__tests__/semantic-memory.test.d.ts.map +1 -0
  23. package/dist/__tests__/semantic-memory.test.js +31 -0
  24. package/dist/__tests__/semantic-memory.test.js.map +1 -0
  25. package/dist/__tests__/weekly-report.test.d.ts +2 -0
  26. package/dist/__tests__/weekly-report.test.d.ts.map +1 -0
  27. package/dist/__tests__/weekly-report.test.js +83 -0
  28. package/dist/__tests__/weekly-report.test.js.map +1 -0
  29. package/dist/walls/06-memory/database/database.d.ts.map +1 -1
  30. package/dist/walls/06-memory/database/database.js +28 -1
  31. package/dist/walls/06-memory/database/database.js.map +1 -1
  32. package/dist/walls/06-memory/stores/ai-memory-summarizer.d.ts +22 -0
  33. package/dist/walls/06-memory/stores/ai-memory-summarizer.d.ts.map +1 -0
  34. package/dist/walls/06-memory/stores/ai-memory-summarizer.js +144 -0
  35. package/dist/walls/06-memory/stores/ai-memory-summarizer.js.map +1 -0
  36. package/dist/walls/06-memory/stores/auto-handoff.d.ts +13 -0
  37. package/dist/walls/06-memory/stores/auto-handoff.d.ts.map +1 -0
  38. package/dist/walls/06-memory/stores/auto-handoff.js +149 -0
  39. package/dist/walls/06-memory/stores/auto-handoff.js.map +1 -0
  40. package/dist/walls/06-memory/stores/memory-digest.d.ts +13 -0
  41. package/dist/walls/06-memory/stores/memory-digest.d.ts.map +1 -0
  42. package/dist/walls/06-memory/stores/memory-digest.js +44 -0
  43. package/dist/walls/06-memory/stores/memory-digest.js.map +1 -0
  44. package/dist/walls/06-memory/stores/memory-search.d.ts +26 -0
  45. package/dist/walls/06-memory/stores/memory-search.d.ts.map +1 -0
  46. package/dist/walls/06-memory/stores/memory-search.js +129 -0
  47. package/dist/walls/06-memory/stores/memory-search.js.map +1 -0
  48. package/dist/walls/06-memory/stores/proactive-insights.d.ts +19 -0
  49. package/dist/walls/06-memory/stores/proactive-insights.d.ts.map +1 -0
  50. package/dist/walls/06-memory/stores/proactive-insights.js +142 -0
  51. package/dist/walls/06-memory/stores/proactive-insights.js.map +1 -0
  52. package/dist/walls/06-memory/stores/semantic-memory.d.ts +23 -0
  53. package/dist/walls/06-memory/stores/semantic-memory.d.ts.map +1 -0
  54. package/dist/walls/06-memory/stores/semantic-memory.js +119 -0
  55. package/dist/walls/06-memory/stores/semantic-memory.js.map +1 -0
  56. package/dist/walls/06-memory/stores/weekly-report.d.ts +19 -0
  57. package/dist/walls/06-memory/stores/weekly-report.d.ts.map +1 -0
  58. package/dist/walls/06-memory/stores/weekly-report.js +206 -0
  59. package/dist/walls/06-memory/stores/weekly-report.js.map +1 -0
  60. package/dist/walls/07-runtime/cli/cli.js +163 -0
  61. package/dist/walls/07-runtime/cli/cli.js.map +1 -1
  62. package/dist/walls/07-runtime/daemon/server.d.ts.map +1 -1
  63. package/dist/walls/07-runtime/daemon/server.js +73 -0
  64. package/dist/walls/07-runtime/daemon/server.js.map +1 -1
  65. package/package.json +1 -1
@@ -3787,9 +3787,167 @@ function doMemory() {
3787
3787
  console.log();
3788
3788
  return;
3789
3789
  }
3790
+ if (sub === 'alerts' || sub === 'a') {
3791
+ const days = parseInt(args[2] || '14', 10);
3792
+ console.log(C.bold(` ── Proactive Alerts (${days} days) ──\n`));
3793
+ try {
3794
+ const { getAlertSummary } = require('../../06-memory/stores/proactive-insights');
3795
+ const { detectProject } = require('../setup/setup');
3796
+ const project = detectProject(cwd).name;
3797
+ const summary = getAlertSummary(project, days);
3798
+ const sevIcon = { critical: '🔴', warning: '🟡', info: '🔵' };
3799
+ const sevColor = { critical: C.warn, warning: C.primary, info: C.dim };
3800
+ if (summary.total === 0) {
3801
+ console.log(C.success(' No alerts — all clear!'));
3802
+ }
3803
+ else {
3804
+ console.log(` ${C.warn(String(summary.critical))} critical | ${C.primary(String(summary.warnings))} warnings | ${C.dim(String(summary.info))} info\n`);
3805
+ for (const alert of summary.alerts) {
3806
+ const icon = sevIcon[alert.severity] || '⚪';
3807
+ const colorFn = sevColor[alert.severity] || C.dim;
3808
+ console.log(` ${icon} ${colorFn(alert.title)}`);
3809
+ console.log(C.dim(` ${alert.description}`));
3810
+ console.log(C.dim(` → ${alert.suggestion}`));
3811
+ console.log();
3812
+ }
3813
+ }
3814
+ }
3815
+ catch (e) {
3816
+ console.log(C.warn(` Alerts failed: ${e?.message || String(e)}`));
3817
+ }
3818
+ console.log();
3819
+ return;
3820
+ }
3821
+ if (sub === 'report' || sub === 'r') {
3822
+ console.log(C.bold(' ── Weekly Report ──\n'));
3823
+ try {
3824
+ const { generateWeeklyReport, saveWeeklyReport } = require('../../06-memory/stores/weekly-report');
3825
+ const { detectProject } = require('../setup/setup');
3826
+ const project = detectProject(cwd).name;
3827
+ const report = generateWeeklyReport(project, cwd);
3828
+ console.log(` Project: ${report.project}`);
3829
+ console.log(` Week: ${report.weekStart} → ${report.weekEnd}`);
3830
+ console.log(` Events: ${report.totalEvents} | Avg importance: ${report.avgImportance}`);
3831
+ console.log(` Productivity: ${report.productivityScore}/10`);
3832
+ if (report.keyDecisions.length > 0) {
3833
+ console.log(C.dim('\n Decisions:'));
3834
+ for (const d of report.keyDecisions.slice(0, 3))
3835
+ console.log(` ${C.primary('→')} ${d}`);
3836
+ }
3837
+ if (report.errors.length > 0) {
3838
+ console.log(C.dim(`\n Errors: ${report.errors.length}`));
3839
+ }
3840
+ const filePath = saveWeeklyReport(report, cwd);
3841
+ console.log(C.success(`\n Report saved: ${filePath}`));
3842
+ }
3843
+ catch (e) {
3844
+ console.log(C.warn(` Report failed: ${e?.message || String(e)}`));
3845
+ }
3846
+ console.log();
3847
+ return;
3848
+ }
3849
+ if (sub === 'enrich' || sub === 'en') {
3850
+ const period = args[2] || 'daily';
3851
+ console.log(C.bold(` ── Enriched Summary (${period}) ──\n`));
3852
+ try {
3853
+ const { generateEnrichedSummary, saveEnrichedSummary } = require('../../06-memory/stores/ai-memory-summarizer');
3854
+ const { detectProject } = require('../setup/setup');
3855
+ const project = detectProject(cwd).name;
3856
+ const summary = generateEnrichedSummary(project, period);
3857
+ console.log(` Project: ${summary.project}`);
3858
+ console.log(` Period: ${summary.period}`);
3859
+ console.log(` Events: ${summary.totalEvents} | Avg importance: ${summary.avgImportance}`);
3860
+ if (summary.topTopics.length > 0)
3861
+ console.log(` Topics: ${summary.topTopics.join(', ')}`);
3862
+ if (summary.keyDecisions.length > 0) {
3863
+ console.log(C.dim('\n Decisions:'));
3864
+ for (const d of summary.keyDecisions.slice(0, 3))
3865
+ console.log(` ${C.primary('→')} ${d}`);
3866
+ }
3867
+ saveEnrichedSummary(summary);
3868
+ console.log(C.success('\n Summary saved to ai_insights + memory_summaries'));
3869
+ console.log(C.dim(' Run the AI prompt with: cell analyze'));
3870
+ }
3871
+ catch (e) {
3872
+ console.log(C.warn(` Enrich failed: ${e?.message || String(e)}`));
3873
+ }
3874
+ console.log();
3875
+ return;
3876
+ }
3877
+ if (sub === 'semantic' || sub === 'sem') {
3878
+ const query = args.slice(2).join(' ').trim();
3879
+ if (!query) {
3880
+ console.log(C.warn(' Usage: cell memory semantic <query>'));
3881
+ console.log();
3882
+ return;
3883
+ }
3884
+ console.log(C.bold(` ── Semantic Memory Search: "${query}" ──\n`));
3885
+ try {
3886
+ const { semanticSearchMemories } = require('../../06-memory/stores/semantic-memory');
3887
+ const { detectProject } = require('../setup/setup');
3888
+ const project = detectProject(cwd).name;
3889
+ const results = semanticSearchMemories({ query, project, limit: 10 });
3890
+ if (results.length === 0) {
3891
+ console.log(C.dim(' No semantic matches found.'));
3892
+ }
3893
+ else {
3894
+ for (const r of results) {
3895
+ console.log(` ${C.primary('→')} [${r.semanticScore}] ${r.type}: ${r.summary}`);
3896
+ if (r.topic)
3897
+ console.log(C.dim(` topic: ${r.topic}`));
3898
+ if (r.matchedTerms.length > 0)
3899
+ console.log(C.dim(` matched: ${r.matchedTerms.join(', ')}`));
3900
+ }
3901
+ }
3902
+ }
3903
+ catch (e) {
3904
+ console.log(C.warn(` Semantic search failed: ${e?.message || String(e)}`));
3905
+ }
3906
+ console.log();
3907
+ return;
3908
+ }
3909
+ if (sub === 'handoff-auto' || sub === 'ha') {
3910
+ console.log(C.bold(' ── Auto Handoff ──\n'));
3911
+ try {
3912
+ const { generateAutoHandoff, saveAutoHandoff } = require('../../06-memory/stores/auto-handoff');
3913
+ const { detectProject } = require('../setup/setup');
3914
+ const project = detectProject(cwd).name;
3915
+ const handoff = generateAutoHandoff(project, cwd);
3916
+ console.log(` Title: ${handoff.title}`);
3917
+ console.log(` Status: ${handoff.status}`);
3918
+ console.log(` Files: ${handoff.files.length}`);
3919
+ console.log(C.dim(`\n ${handoff.summary}`));
3920
+ const saved = saveAutoHandoff(cwd, handoff);
3921
+ console.log(C.success(`\n Saved: ${saved}`));
3922
+ }
3923
+ catch (e) {
3924
+ console.log(C.warn(` Auto handoff failed: ${e?.message || String(e)}`));
3925
+ }
3926
+ console.log();
3927
+ return;
3928
+ }
3929
+ if (sub === 'digest' || sub === 'dg') {
3930
+ console.log(C.bold(' ── Memory Digest ──\n'));
3931
+ try {
3932
+ const { generateMemoryDigest } = require('../../06-memory/stores/memory-digest');
3933
+ const { detectProject } = require('../setup/setup');
3934
+ const project = detectProject(cwd).name;
3935
+ const digest = generateMemoryDigest(project);
3936
+ for (const line of digest.digestLines)
3937
+ console.log(` ${line}`);
3938
+ if (digest.mostActiveDay)
3939
+ console.log(C.dim(`\n Most active day: ${digest.mostActiveDay}`));
3940
+ }
3941
+ catch (e) {
3942
+ console.log(C.warn(` Digest failed: ${e?.message || String(e)}`));
3943
+ }
3944
+ console.log();
3945
+ return;
3946
+ }
3790
3947
  console.log(C.bold(' Cell Memory'));
3791
3948
  console.log(C.dim(' ──────────'));
3792
3949
  console.log(C.dim(' cell memory search <query> Search memory events'));
3950
+ console.log(C.dim(' cell memory semantic <query> Semantic memory retrieval'));
3793
3951
  console.log(C.dim(' cell memory timeline [days] Show activity timeline'));
3794
3952
  console.log(C.dim(' cell memory compact Compact & rotate'));
3795
3953
  console.log(C.dim(' cell memory verify Verify memory health'));
@@ -3797,6 +3955,11 @@ function doMemory() {
3797
3955
  console.log(C.dim(' cell memory summary [daily|weekly] Generate summary'));
3798
3956
  console.log(C.dim(' cell memory insights [days] Proactive insights'));
3799
3957
  console.log(C.dim(' cell memory chart [type] [days] Visual charts'));
3958
+ console.log(C.dim(' cell memory alerts [days] Proactive alerts'));
3959
+ console.log(C.dim(' cell memory report Weekly markdown report'));
3960
+ console.log(C.dim(' cell memory enrich [daily|weekly] AI enriched summary'));
3961
+ console.log(C.dim(' cell memory handoff-auto Auto-generate handoff'));
3962
+ console.log(C.dim(' cell memory digest Compact dashboard digest'));
3800
3963
  console.log(C.dim(' cell memory export Export to JSON'));
3801
3964
  console.log(C.dim(' cell memory stats Show memory stats'));
3802
3965
  console.log();