fivocell 6.3.0 → 7.0.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 (108) hide show
  1. package/README.md +311 -197
  2. package/dist/__tests__/cli-regression.test.js +1 -1
  3. package/dist/__tests__/cli-regression.test.js.map +1 -1
  4. package/dist/__tests__/teach-context.test.d.ts +2 -0
  5. package/dist/__tests__/teach-context.test.d.ts.map +1 -0
  6. package/dist/__tests__/teach-context.test.js +44 -0
  7. package/dist/__tests__/teach-context.test.js.map +1 -0
  8. package/dist/__tests__/teach-parser.test.d.ts +2 -0
  9. package/dist/__tests__/teach-parser.test.d.ts.map +1 -0
  10. package/dist/__tests__/teach-parser.test.js +56 -0
  11. package/dist/__tests__/teach-parser.test.js.map +1 -0
  12. package/dist/__tests__/teach-store.test.d.ts +2 -0
  13. package/dist/__tests__/teach-store.test.d.ts.map +1 -0
  14. package/dist/__tests__/teach-store.test.js +68 -0
  15. package/dist/__tests__/teach-store.test.js.map +1 -0
  16. package/dist/__tests__/vibe-engine.test.d.ts +2 -0
  17. package/dist/__tests__/vibe-engine.test.d.ts.map +1 -0
  18. package/dist/__tests__/vibe-engine.test.js +132 -0
  19. package/dist/__tests__/vibe-engine.test.js.map +1 -0
  20. package/dist/walls/01-context/context/prompt-builder.d.ts +1 -0
  21. package/dist/walls/01-context/context/prompt-builder.d.ts.map +1 -1
  22. package/dist/walls/01-context/context/prompt-builder.js +15 -1
  23. package/dist/walls/01-context/context/prompt-builder.js.map +1 -1
  24. package/dist/walls/06-memory/archive/blob-vault.d.ts.map +1 -1
  25. package/dist/walls/06-memory/archive/blob-vault.js +8 -9
  26. package/dist/walls/06-memory/archive/blob-vault.js.map +1 -1
  27. package/dist/walls/06-memory/archive/memory-archive.d.ts.map +1 -1
  28. package/dist/walls/06-memory/archive/memory-archive.js +32 -22
  29. package/dist/walls/06-memory/archive/memory-archive.js.map +1 -1
  30. package/dist/walls/06-memory/privacy/key-provider.d.ts +19 -0
  31. package/dist/walls/06-memory/privacy/key-provider.d.ts.map +1 -1
  32. package/dist/walls/06-memory/privacy/key-provider.js +52 -0
  33. package/dist/walls/06-memory/privacy/key-provider.js.map +1 -1
  34. package/dist/walls/06-memory/retrieval/context-pipeline.d.ts.map +1 -1
  35. package/dist/walls/06-memory/retrieval/context-pipeline.js +9 -0
  36. package/dist/walls/06-memory/retrieval/context-pipeline.js.map +1 -1
  37. package/dist/walls/06-memory/stores/sync-engine.d.ts.map +1 -1
  38. package/dist/walls/06-memory/stores/sync-engine.js +56 -49
  39. package/dist/walls/06-memory/stores/sync-engine.js.map +1 -1
  40. package/dist/walls/06-memory/teach/teach-context.d.ts +8 -0
  41. package/dist/walls/06-memory/teach/teach-context.d.ts.map +1 -0
  42. package/dist/walls/06-memory/teach/teach-context.js +25 -0
  43. package/dist/walls/06-memory/teach/teach-context.js.map +1 -0
  44. package/dist/walls/06-memory/teach/teach-parser.d.ts +6 -0
  45. package/dist/walls/06-memory/teach/teach-parser.d.ts.map +1 -0
  46. package/dist/walls/06-memory/teach/teach-parser.js +42 -0
  47. package/dist/walls/06-memory/teach/teach-parser.js.map +1 -0
  48. package/dist/walls/06-memory/teach/teach-sections.d.ts +10 -0
  49. package/dist/walls/06-memory/teach/teach-sections.d.ts.map +1 -0
  50. package/dist/walls/06-memory/teach/teach-sections.js +67 -0
  51. package/dist/walls/06-memory/teach/teach-sections.js.map +1 -0
  52. package/dist/walls/06-memory/teach/teach-store.d.ts +25 -0
  53. package/dist/walls/06-memory/teach/teach-store.d.ts.map +1 -0
  54. package/dist/walls/06-memory/teach/teach-store.js +95 -0
  55. package/dist/walls/06-memory/teach/teach-store.js.map +1 -0
  56. package/dist/walls/06-memory/vibe/vibe-cli.d.ts +2 -0
  57. package/dist/walls/06-memory/vibe/vibe-cli.d.ts.map +1 -0
  58. package/dist/walls/06-memory/vibe/vibe-cli.js +217 -0
  59. package/dist/walls/06-memory/vibe/vibe-cli.js.map +1 -0
  60. package/dist/walls/06-memory/vibe/vibe-confidence.d.ts +24 -0
  61. package/dist/walls/06-memory/vibe/vibe-confidence.d.ts.map +1 -0
  62. package/dist/walls/06-memory/vibe/vibe-confidence.js +91 -0
  63. package/dist/walls/06-memory/vibe/vibe-confidence.js.map +1 -0
  64. package/dist/walls/06-memory/vibe/vibe-context.d.ts +8 -0
  65. package/dist/walls/06-memory/vibe/vibe-context.d.ts.map +1 -0
  66. package/dist/walls/06-memory/vibe/vibe-context.js +88 -0
  67. package/dist/walls/06-memory/vibe/vibe-context.js.map +1 -0
  68. package/dist/walls/06-memory/vibe/vibe-engine.d.ts +38 -0
  69. package/dist/walls/06-memory/vibe/vibe-engine.d.ts.map +1 -0
  70. package/dist/walls/06-memory/vibe/vibe-engine.js +587 -0
  71. package/dist/walls/06-memory/vibe/vibe-engine.js.map +1 -0
  72. package/dist/walls/06-memory/vibe/vibe-signals.d.ts +24 -0
  73. package/dist/walls/06-memory/vibe/vibe-signals.d.ts.map +1 -0
  74. package/dist/walls/06-memory/vibe/vibe-signals.js +138 -0
  75. package/dist/walls/06-memory/vibe/vibe-signals.js.map +1 -0
  76. package/dist/walls/07-runtime/cli/cli.js +17 -0
  77. package/dist/walls/07-runtime/cli/cli.js.map +1 -1
  78. package/dist/walls/07-runtime/cli/commands/branch.js +6 -6
  79. package/dist/walls/07-runtime/cli/commands/branch.js.map +1 -1
  80. package/dist/walls/07-runtime/cli/commands/help.d.ts.map +1 -1
  81. package/dist/walls/07-runtime/cli/commands/help.js +14 -14
  82. package/dist/walls/07-runtime/cli/commands/help.js.map +1 -1
  83. package/dist/walls/07-runtime/cli/commands/memory.js +5 -5
  84. package/dist/walls/07-runtime/cli/commands/memory.js.map +1 -1
  85. package/dist/walls/07-runtime/cli/commands/scan.d.ts.map +1 -1
  86. package/dist/walls/07-runtime/cli/commands/scan.js +39 -20
  87. package/dist/walls/07-runtime/cli/commands/scan.js.map +1 -1
  88. package/dist/walls/07-runtime/cli/commands/session.d.ts.map +1 -1
  89. package/dist/walls/07-runtime/cli/commands/session.js +2 -1
  90. package/dist/walls/07-runtime/cli/commands/session.js.map +1 -1
  91. package/dist/walls/07-runtime/cli/commands/setup.js +2 -2
  92. package/dist/walls/07-runtime/cli/commands/setup.js.map +1 -1
  93. package/dist/walls/07-runtime/cli/commands/status.js +7 -7
  94. package/dist/walls/07-runtime/cli/commands/status.js.map +1 -1
  95. package/dist/walls/07-runtime/cli/commands/sync.js +1 -1
  96. package/dist/walls/07-runtime/cli/commands/sync.js.map +1 -1
  97. package/dist/walls/07-runtime/cli/commands/teach.d.ts +3 -0
  98. package/dist/walls/07-runtime/cli/commands/teach.d.ts.map +1 -0
  99. package/dist/walls/07-runtime/cli/commands/teach.js +203 -0
  100. package/dist/walls/07-runtime/cli/commands/teach.js.map +1 -0
  101. package/dist/walls/07-runtime/daemon/routes/session.d.ts.map +1 -1
  102. package/dist/walls/07-runtime/daemon/routes/session.js +4 -3
  103. package/dist/walls/07-runtime/daemon/routes/session.js.map +1 -1
  104. package/dist/walls/07-runtime/daemon/server.d.ts.map +1 -1
  105. package/dist/walls/07-runtime/daemon/server.js +3 -0
  106. package/dist/walls/07-runtime/daemon/server.js.map +1 -1
  107. package/package.json +1 -1
  108. package/scripts/deep-audit.js +103 -0
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ // vibe-confidence.ts — Vibe score engine (0-100 scale)
3
+ // Evolves confidence based on signal frequency and session count
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.calculateVibe = calculateVibe;
6
+ exports.evolveVibe = evolveVibe;
7
+ exports.getVibeLevel = getVibeLevel;
8
+ exports.getVibeDescription = getVibeDescription;
9
+ exports.shouldShowInContext = shouldShowInContext;
10
+ exports.shouldWriteToFile = shouldWriteToFile;
11
+ exports.categoryVibeAverage = categoryVibeAverage;
12
+ exports.topVibeSignals = topVibeSignals;
13
+ exports.detectRisks = detectRisks;
14
+ function calculateVibe(signalCount, totalSessions, multiplier = 1.0) {
15
+ if (signalCount === 0)
16
+ return 0;
17
+ // Base: logarithmic curve — fast initial growth, slows down at high counts
18
+ // Formula: min(95, 30 + 40 * log10(count) + session_bonus) * multiplier
19
+ const logBonus = Math.log10(Math.max(signalCount, 1)) * 25;
20
+ const sessionBonus = Math.min(Math.log10(Math.max(totalSessions, 1)) * 15, 20);
21
+ const base = Math.min(95, Math.round(25 + logBonus + sessionBonus));
22
+ // Apply signal multiplier (1.0-1.3)
23
+ return Math.min(100, Math.round(base * multiplier));
24
+ }
25
+ function evolveVibe(oldVibe, newEvidence, existingCount, totalSessions, multiplier = 1.0) {
26
+ if (newEvidence) {
27
+ const fresh = calculateVibe(existingCount + 1, totalSessions, multiplier);
28
+ // Weighted blend: 70% new calculation, 30% old value (prevents jumps)
29
+ return Math.min(100, Math.round(oldVibe * 0.3 + fresh * 0.7));
30
+ }
31
+ // No new evidence — slight decay (max 3 points) to keep stale patterns from staying high
32
+ return Math.max(0, oldVibe - 1);
33
+ }
34
+ function getVibeLevel(vibe) {
35
+ if (vibe >= 95)
36
+ return 'certain';
37
+ if (vibe >= 80)
38
+ return 'very_strong';
39
+ if (vibe >= 65)
40
+ return 'strong';
41
+ if (vibe >= 50)
42
+ return 'learning';
43
+ return 'uncertain';
44
+ }
45
+ function getVibeDescription(vibe) {
46
+ if (vibe >= 95)
47
+ return 'Identity-level — verified across many sessions';
48
+ if (vibe >= 80)
49
+ return 'Very strong pattern — reliable for context injection';
50
+ if (vibe >= 65)
51
+ return 'Strong pattern — consistently observed';
52
+ if (vibe >= 50)
53
+ return 'Emerging pattern — needs more sessions to confirm';
54
+ return 'Uncertain — not enough data yet';
55
+ }
56
+ function shouldShowInContext(vibe) {
57
+ return vibe >= 65; // Only show strong+ patterns in @cell context
58
+ }
59
+ function shouldWriteToFile(vibe) {
60
+ return vibe >= 50; // Only write learning+ patterns to vibe.md
61
+ }
62
+ function categoryVibeAverage(signals) {
63
+ if (signals.length === 0)
64
+ return 0;
65
+ const sum = signals.reduce((acc, s) => acc + s.vibe, 0);
66
+ return Math.round(sum / signals.length);
67
+ }
68
+ function topVibeSignals(signals, limit = 5) {
69
+ return [...signals]
70
+ .sort((a, b) => b.vibe - a.vibe || b.count - a.count)
71
+ .slice(0, limit);
72
+ }
73
+ // Combined risk assessment based on low-vibe signals that matter
74
+ function detectRisks(signals) {
75
+ const risks = [];
76
+ const riskSignals = {
77
+ exploration_bias: { minVibe: 65, message: 'Exploration bias — starts more projects than finishes' },
78
+ scope_creep: { minVibe: 60, message: 'Scope creep risk — task boundaries expand during work' },
79
+ trust_low: { minVibe: 70, message: 'Low AI trust — spends extra time verifying everything' },
80
+ commit_large: { minVibe: 55, message: 'Large commits — harder to review and roll back' },
81
+ speed_over_quality: { minVibe: 65, message: 'Speed priority — may accumulate technical debt' },
82
+ };
83
+ for (const s of signals) {
84
+ const risk = riskSignals[s.id];
85
+ if (risk && s.vibe >= risk.minVibe) {
86
+ risks.push(risk.message);
87
+ }
88
+ }
89
+ return risks;
90
+ }
91
+ //# sourceMappingURL=vibe-confidence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vibe-confidence.js","sourceRoot":"","sources":["../../../../src/walls/06-memory/vibe/vibe-confidence.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export interface VibeContextSource {
2
+ type: string;
3
+ reason: string;
4
+ data: string;
5
+ importance: number;
6
+ }
7
+ export declare function getVibeForContext(projectDir?: string): VibeContextSource | null;
8
+ //# sourceMappingURL=vibe-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vibe-context.d.ts","sourceRoot":"","sources":["../../../../src/walls/06-memory/vibe/vibe-context.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAID,wBAAgB,iBAAiB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAY/E"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ // vibe-context.ts — Vibe injection into @cell context
3
+ // Reads .cell/vibe/vibe-summary.json and formats for AI consumption
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.getVibeForContext = getVibeForContext;
6
+ const vibe_engine_1 = require("./vibe-engine");
7
+ const VIBE_DIR_RELATIVE = '.cell/vibe';
8
+ function getVibeForContext(projectDir) {
9
+ const dir = projectDir || process.cwd();
10
+ const summary = (0, vibe_engine_1.getVibeSummary)(dir);
11
+ if (!summary || summary.totalRules === 0)
12
+ return null;
13
+ return {
14
+ type: 'vibe',
15
+ reason: 'developer personality and working style',
16
+ data: formatVibeBlock(summary),
17
+ importance: 90,
18
+ };
19
+ }
20
+ function formatVibeBlock(summary) {
21
+ const lines = [];
22
+ lines.push('━━━ YOUR VIBE ━━━');
23
+ // One-line summary
24
+ lines.push(` ${summary.summary}`);
25
+ lines.push('');
26
+ // Coding section
27
+ if (Object.keys(summary.coding).length > 0) {
28
+ const parts = [];
29
+ if (summary.coding.changeSize)
30
+ parts.push(`Changes: ${summary.coding.changeSize}`);
31
+ if (summary.coding.abstraction)
32
+ parts.push(`Abstraction: ${summary.coding.abstraction}`);
33
+ if (summary.coding.testing)
34
+ parts.push(`Testing: ${summary.coding.testing}`);
35
+ if (summary.coding.typescript)
36
+ parts.push(`TS: ${summary.coding.typescript}`);
37
+ if (parts.length > 0)
38
+ lines.push(` CODE: ${parts.join(' | ')}`);
39
+ }
40
+ // Communication
41
+ if (Object.keys(summary.communication).length > 0) {
42
+ const parts = [];
43
+ if (summary.communication.language)
44
+ parts.push(summary.communication.language);
45
+ if (summary.communication.structure)
46
+ parts.push(summary.communication.structure);
47
+ if (summary.communication.tone)
48
+ parts.push(summary.communication.tone);
49
+ if (summary.communication.verbosity)
50
+ parts.push(summary.communication.verbosity);
51
+ if (parts.length > 0)
52
+ lines.push(` COMMUNICATION: ${parts.join(', ')}`);
53
+ }
54
+ // Decision driver
55
+ if (summary.decisionDriver && summary.decisionDriver !== 'balanced') {
56
+ lines.push(` DECISIONS: ${summary.decisionDriver}-first`);
57
+ }
58
+ // Ship style
59
+ if (summary.shipStyle && summary.shipStyle !== 'balanced') {
60
+ lines.push(` SHIPPING: ${summary.shipStyle}`);
61
+ }
62
+ // AI trust
63
+ if (summary.aiTrust && summary.aiTrust !== 'balanced') {
64
+ lines.push(` AI TRUST: ${summary.aiTrust}`);
65
+ }
66
+ // Risk profile
67
+ if (summary.riskProfile) {
68
+ lines.push(` RISK: ${summary.riskProfile} tolerance`);
69
+ }
70
+ // Best workflow
71
+ if (summary.bestWorkflow && summary.bestWorkflow !== 'Standard workflow') {
72
+ lines.push(` WORKFLOW: ${summary.bestWorkflow}`);
73
+ }
74
+ // Strengths
75
+ if (summary.strengths.length > 0 && summary.strengths[0] !== 'Still discovering strengths') {
76
+ lines.push(`\n STRENGTHS: ${summary.strengths.join(' | ')}`);
77
+ }
78
+ // Risks
79
+ if (summary.risks.length > 0 && summary.risks[0] !== 'No risks detected yet') {
80
+ lines.push(` RISKS: ${summary.risks.join(' | ')}`);
81
+ }
82
+ // Avoid
83
+ if (summary.avoid.length > 0 && summary.avoid[0] !== 'Nothing specific yet') {
84
+ lines.push(` AVOID: ${summary.avoid.join(', ')}`);
85
+ }
86
+ return lines.join('\n');
87
+ }
88
+ //# sourceMappingURL=vibe-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vibe-context.js","sourceRoot":"","sources":["../../../../src/walls/06-memory/vibe/vibe-context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { DetectedSignal } from './vibe-signals';
2
+ export interface VibeRule {
3
+ text: string;
4
+ category: string;
5
+ vibe: number;
6
+ count: number;
7
+ level: string;
8
+ }
9
+ export interface VibeData {
10
+ sessionsAnalyzed: number;
11
+ lastUpdated: string;
12
+ signals: DetectedSignal[];
13
+ rules: VibeRule[];
14
+ }
15
+ export interface VibeSummary {
16
+ summary: string;
17
+ strengths: string[];
18
+ risks: string[];
19
+ bestWorkflow: string;
20
+ avoid: string[];
21
+ communication: Record<string, string>;
22
+ coding: Record<string, string>;
23
+ decisionDriver: string;
24
+ riskProfile: string;
25
+ uiPreference: string;
26
+ shipStyle: string;
27
+ aiTrust: string;
28
+ totalRules: number;
29
+ averageVibe: number;
30
+ topCategories: string[];
31
+ }
32
+ export declare function analyzeSession(project: string, projectDir: string, totalSessions: number): VibeData;
33
+ export declare function buildVibeSummary(signals: DetectedSignal[], rules: VibeRule[]): VibeSummary;
34
+ export declare function getVibeData(projectDir: string): VibeData | null;
35
+ export declare function getVibeSummary(projectDir: string): VibeSummary | null;
36
+ export declare function getVibeMarkdown(projectDir: string): string;
37
+ export declare function resetVibe(projectDir: string): void;
38
+ //# sourceMappingURL=vibe-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vibe-engine.d.ts","sourceRoot":"","sources":["../../../../src/walls/06-memory/vibe/vibe-engine.ts"],"names":[],"mappings":"AAOA,OAAO,EAAgB,cAAc,EAAuC,MAAM,gBAAgB,CAAC;AAMnG,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAgBD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,QAAQ,CAgEnG;AA6SD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,WAAW,CAiH1F;AAiED,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAQ/D;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAQrE;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAQ1D;AAED,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAOlD"}