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.
- package/README.md +311 -197
- package/dist/__tests__/cli-regression.test.js +1 -1
- package/dist/__tests__/cli-regression.test.js.map +1 -1
- package/dist/__tests__/teach-context.test.d.ts +2 -0
- package/dist/__tests__/teach-context.test.d.ts.map +1 -0
- package/dist/__tests__/teach-context.test.js +44 -0
- package/dist/__tests__/teach-context.test.js.map +1 -0
- package/dist/__tests__/teach-parser.test.d.ts +2 -0
- package/dist/__tests__/teach-parser.test.d.ts.map +1 -0
- package/dist/__tests__/teach-parser.test.js +56 -0
- package/dist/__tests__/teach-parser.test.js.map +1 -0
- package/dist/__tests__/teach-store.test.d.ts +2 -0
- package/dist/__tests__/teach-store.test.d.ts.map +1 -0
- package/dist/__tests__/teach-store.test.js +68 -0
- package/dist/__tests__/teach-store.test.js.map +1 -0
- package/dist/__tests__/vibe-engine.test.d.ts +2 -0
- package/dist/__tests__/vibe-engine.test.d.ts.map +1 -0
- package/dist/__tests__/vibe-engine.test.js +132 -0
- package/dist/__tests__/vibe-engine.test.js.map +1 -0
- package/dist/walls/01-context/context/prompt-builder.d.ts +1 -0
- package/dist/walls/01-context/context/prompt-builder.d.ts.map +1 -1
- package/dist/walls/01-context/context/prompt-builder.js +15 -1
- package/dist/walls/01-context/context/prompt-builder.js.map +1 -1
- package/dist/walls/06-memory/archive/blob-vault.d.ts.map +1 -1
- package/dist/walls/06-memory/archive/blob-vault.js +8 -9
- package/dist/walls/06-memory/archive/blob-vault.js.map +1 -1
- package/dist/walls/06-memory/archive/memory-archive.d.ts.map +1 -1
- package/dist/walls/06-memory/archive/memory-archive.js +32 -22
- package/dist/walls/06-memory/archive/memory-archive.js.map +1 -1
- package/dist/walls/06-memory/privacy/key-provider.d.ts +19 -0
- package/dist/walls/06-memory/privacy/key-provider.d.ts.map +1 -1
- package/dist/walls/06-memory/privacy/key-provider.js +52 -0
- package/dist/walls/06-memory/privacy/key-provider.js.map +1 -1
- package/dist/walls/06-memory/retrieval/context-pipeline.d.ts.map +1 -1
- package/dist/walls/06-memory/retrieval/context-pipeline.js +9 -0
- package/dist/walls/06-memory/retrieval/context-pipeline.js.map +1 -1
- package/dist/walls/06-memory/stores/sync-engine.d.ts.map +1 -1
- package/dist/walls/06-memory/stores/sync-engine.js +56 -49
- package/dist/walls/06-memory/stores/sync-engine.js.map +1 -1
- package/dist/walls/06-memory/teach/teach-context.d.ts +8 -0
- package/dist/walls/06-memory/teach/teach-context.d.ts.map +1 -0
- package/dist/walls/06-memory/teach/teach-context.js +25 -0
- package/dist/walls/06-memory/teach/teach-context.js.map +1 -0
- package/dist/walls/06-memory/teach/teach-parser.d.ts +6 -0
- package/dist/walls/06-memory/teach/teach-parser.d.ts.map +1 -0
- package/dist/walls/06-memory/teach/teach-parser.js +42 -0
- package/dist/walls/06-memory/teach/teach-parser.js.map +1 -0
- package/dist/walls/06-memory/teach/teach-sections.d.ts +10 -0
- package/dist/walls/06-memory/teach/teach-sections.d.ts.map +1 -0
- package/dist/walls/06-memory/teach/teach-sections.js +67 -0
- package/dist/walls/06-memory/teach/teach-sections.js.map +1 -0
- package/dist/walls/06-memory/teach/teach-store.d.ts +25 -0
- package/dist/walls/06-memory/teach/teach-store.d.ts.map +1 -0
- package/dist/walls/06-memory/teach/teach-store.js +95 -0
- package/dist/walls/06-memory/teach/teach-store.js.map +1 -0
- package/dist/walls/06-memory/vibe/vibe-cli.d.ts +2 -0
- package/dist/walls/06-memory/vibe/vibe-cli.d.ts.map +1 -0
- package/dist/walls/06-memory/vibe/vibe-cli.js +217 -0
- package/dist/walls/06-memory/vibe/vibe-cli.js.map +1 -0
- package/dist/walls/06-memory/vibe/vibe-confidence.d.ts +24 -0
- package/dist/walls/06-memory/vibe/vibe-confidence.d.ts.map +1 -0
- package/dist/walls/06-memory/vibe/vibe-confidence.js +91 -0
- package/dist/walls/06-memory/vibe/vibe-confidence.js.map +1 -0
- package/dist/walls/06-memory/vibe/vibe-context.d.ts +8 -0
- package/dist/walls/06-memory/vibe/vibe-context.d.ts.map +1 -0
- package/dist/walls/06-memory/vibe/vibe-context.js +88 -0
- package/dist/walls/06-memory/vibe/vibe-context.js.map +1 -0
- package/dist/walls/06-memory/vibe/vibe-engine.d.ts +38 -0
- package/dist/walls/06-memory/vibe/vibe-engine.d.ts.map +1 -0
- package/dist/walls/06-memory/vibe/vibe-engine.js +587 -0
- package/dist/walls/06-memory/vibe/vibe-engine.js.map +1 -0
- package/dist/walls/06-memory/vibe/vibe-signals.d.ts +24 -0
- package/dist/walls/06-memory/vibe/vibe-signals.d.ts.map +1 -0
- package/dist/walls/06-memory/vibe/vibe-signals.js +138 -0
- package/dist/walls/06-memory/vibe/vibe-signals.js.map +1 -0
- package/dist/walls/07-runtime/cli/cli.js +17 -0
- package/dist/walls/07-runtime/cli/cli.js.map +1 -1
- package/dist/walls/07-runtime/cli/commands/branch.js +6 -6
- package/dist/walls/07-runtime/cli/commands/branch.js.map +1 -1
- package/dist/walls/07-runtime/cli/commands/help.d.ts.map +1 -1
- package/dist/walls/07-runtime/cli/commands/help.js +14 -14
- package/dist/walls/07-runtime/cli/commands/help.js.map +1 -1
- package/dist/walls/07-runtime/cli/commands/memory.js +5 -5
- package/dist/walls/07-runtime/cli/commands/memory.js.map +1 -1
- package/dist/walls/07-runtime/cli/commands/scan.d.ts.map +1 -1
- package/dist/walls/07-runtime/cli/commands/scan.js +39 -20
- package/dist/walls/07-runtime/cli/commands/scan.js.map +1 -1
- package/dist/walls/07-runtime/cli/commands/session.d.ts.map +1 -1
- package/dist/walls/07-runtime/cli/commands/session.js +2 -1
- package/dist/walls/07-runtime/cli/commands/session.js.map +1 -1
- package/dist/walls/07-runtime/cli/commands/setup.js +2 -2
- package/dist/walls/07-runtime/cli/commands/setup.js.map +1 -1
- package/dist/walls/07-runtime/cli/commands/status.js +7 -7
- package/dist/walls/07-runtime/cli/commands/status.js.map +1 -1
- package/dist/walls/07-runtime/cli/commands/sync.js +1 -1
- package/dist/walls/07-runtime/cli/commands/sync.js.map +1 -1
- package/dist/walls/07-runtime/cli/commands/teach.d.ts +3 -0
- package/dist/walls/07-runtime/cli/commands/teach.d.ts.map +1 -0
- package/dist/walls/07-runtime/cli/commands/teach.js +203 -0
- package/dist/walls/07-runtime/cli/commands/teach.js.map +1 -0
- package/dist/walls/07-runtime/daemon/routes/session.d.ts.map +1 -1
- package/dist/walls/07-runtime/daemon/routes/session.js +4 -3
- package/dist/walls/07-runtime/daemon/routes/session.js.map +1 -1
- package/dist/walls/07-runtime/daemon/server.d.ts.map +1 -1
- package/dist/walls/07-runtime/daemon/server.js +3 -0
- package/dist/walls/07-runtime/daemon/server.js.map +1 -1
- package/package.json +1 -1
- package/scripts/deep-audit.js +103 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================
|
|
3
|
+
// teach-context.ts — Profile → context injection logic
|
|
4
|
+
//
|
|
5
|
+
// Converts developer profile to context source for @cell injection.
|
|
6
|
+
// ============================================================
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.getProfileForContext = getProfileForContext;
|
|
9
|
+
const teach_store_1 = require("./teach-store");
|
|
10
|
+
const teach_parser_1 = require("./teach-parser");
|
|
11
|
+
function getProfileForContext() {
|
|
12
|
+
const profile = (0, teach_store_1.getFullProfile)();
|
|
13
|
+
if (Object.keys(profile).length === 0)
|
|
14
|
+
return null;
|
|
15
|
+
const contextString = (0, teach_parser_1.profileToContextString)(profile);
|
|
16
|
+
if (!contextString)
|
|
17
|
+
return null;
|
|
18
|
+
return {
|
|
19
|
+
type: 'developer_profile',
|
|
20
|
+
reason: 'developer identity and preferences',
|
|
21
|
+
data: contextString,
|
|
22
|
+
importance: 85, // High priority — identity is critical context
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=teach-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"teach-context.js","sourceRoot":"","sources":["../../../../src/walls/06-memory/teach/teach-context.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,uDAAuD;AACvD,EAAE;AACF,oEAAoE;AACpE,+DAA+D;;AAY/D,oDAaC;AAvBD,+CAA+C;AAC/C,iDAAwD;AASxD,SAAgB,oBAAoB;IAClC,MAAM,OAAO,GAAG,IAAA,4BAAc,GAAE,CAAC;IACjC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEnD,MAAM,aAAa,GAAG,IAAA,qCAAsB,EAAC,OAAO,CAAC,CAAC;IACtD,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IAEhC,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE,oCAAoC;QAC5C,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,EAAE,EAAE,+CAA+C;KAChE,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare function parseTeachInput(rawText: string, section: string): Record<string, string>;
|
|
2
|
+
export declare function profileToContextString(profile: Record<string, {
|
|
3
|
+
rawText: string;
|
|
4
|
+
structuredData: Record<string, string>;
|
|
5
|
+
}>): string;
|
|
6
|
+
//# sourceMappingURL=teach-parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"teach-parser.d.ts","sourceRoot":"","sources":["../../../../src/walls/06-memory/teach/teach-parser.ts"],"names":[],"mappings":"AAOA,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAoBxF;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC,GAAG,MAAM,CAcnI"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================
|
|
3
|
+
// teach-parser.ts — Free text → structured JSON parser
|
|
4
|
+
//
|
|
5
|
+
// Parses developer's free text input into structured data.
|
|
6
|
+
// Simple rule-based parsing — no ML needed.
|
|
7
|
+
// ============================================================
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.parseTeachInput = parseTeachInput;
|
|
10
|
+
exports.profileToContextString = profileToContextString;
|
|
11
|
+
function parseTeachInput(rawText, section) {
|
|
12
|
+
const lines = rawText.split('\n').filter(l => l.trim());
|
|
13
|
+
const result = {};
|
|
14
|
+
for (const line of lines) {
|
|
15
|
+
// Remove numbering: "1. Minimal changes" → "Minimal changes"
|
|
16
|
+
const cleaned = line.replace(/^\d+[\.\)]\s*/, '').replace(/^[-•]\s*/, '').trim();
|
|
17
|
+
if (!cleaned)
|
|
18
|
+
continue;
|
|
19
|
+
// Convert to snake_case key
|
|
20
|
+
const key = cleaned
|
|
21
|
+
.toLowerCase()
|
|
22
|
+
.replace(/[^a-z0-9]+/g, '_')
|
|
23
|
+
.replace(/^_|_$/g, '');
|
|
24
|
+
// Store both key and original text
|
|
25
|
+
result[key] = cleaned;
|
|
26
|
+
}
|
|
27
|
+
return result;
|
|
28
|
+
}
|
|
29
|
+
function profileToContextString(profile) {
|
|
30
|
+
if (Object.keys(profile).length === 0)
|
|
31
|
+
return '';
|
|
32
|
+
const lines = ['Developer Profile:'];
|
|
33
|
+
for (const [section, data] of Object.entries(profile)) {
|
|
34
|
+
const items = Object.values(data.structuredData);
|
|
35
|
+
if (items.length > 0) {
|
|
36
|
+
const sectionName = section.replace(/_/g, ' ').replace(/\b\w/g, c => c.toUpperCase());
|
|
37
|
+
lines.push(` ${sectionName}: ${items.join(', ')}`);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return lines.join('\n');
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=teach-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"teach-parser.js","sourceRoot":"","sources":["../../../../src/walls/06-memory/teach/teach-parser.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,uDAAuD;AACvD,EAAE;AACF,2DAA2D;AAC3D,4CAA4C;AAC5C,+DAA+D;;AAE/D,0CAoBC;AAED,wDAcC;AApCD,SAAgB,eAAe,CAAC,OAAe,EAAE,OAAe;IAC9D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACxD,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,6DAA6D;QAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACjF,IAAI,CAAC,OAAO;YAAE,SAAS;QAEvB,4BAA4B;QAC5B,MAAM,GAAG,GAAG,OAAO;aAChB,WAAW,EAAE;aACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;aAC3B,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAEzB,mCAAmC;QACnC,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;IACxB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,sBAAsB,CAAC,OAAoF;IACzH,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEjD,MAAM,KAAK,GAAa,CAAC,oBAAoB,CAAC,CAAC;IAE/C,KAAK,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACjD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YACtF,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface TeachSection {
|
|
2
|
+
key: string;
|
|
3
|
+
title: string;
|
|
4
|
+
prompt: string;
|
|
5
|
+
example: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const TEACH_SECTIONS: TeachSection[];
|
|
8
|
+
export declare function getSection(key: string): TeachSection | undefined;
|
|
9
|
+
export declare function getNextPending(doneSections: string[]): TeachSection | null;
|
|
10
|
+
//# sourceMappingURL=teach-sections.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"teach-sections.d.ts","sourceRoot":"","sources":["../../../../src/walls/06-memory/teach/teach-sections.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,cAAc,EAAE,YAAY,EAiDxC,CAAC;AAEF,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAEhE;AAED,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,YAAY,GAAG,IAAI,CAE1E"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================
|
|
3
|
+
// teach-sections.ts — Section definitions for cell teach
|
|
4
|
+
//
|
|
5
|
+
// 8 sections that define what developer profile contains.
|
|
6
|
+
// ============================================================
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.TEACH_SECTIONS = void 0;
|
|
9
|
+
exports.getSection = getSection;
|
|
10
|
+
exports.getNextPending = getNextPending;
|
|
11
|
+
exports.TEACH_SECTIONS = [
|
|
12
|
+
{
|
|
13
|
+
key: 'coding_style',
|
|
14
|
+
title: 'My Coding Style',
|
|
15
|
+
prompt: 'How do you code? What matters to you? (e.g., minimal changes, strong typing, readability first)',
|
|
16
|
+
example: '1. Minimal changes\n2. No large rewrites\n3. Strong typing\n4. Readability over cleverness',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
key: 'ai_expectations',
|
|
20
|
+
title: 'My AI Expectations',
|
|
21
|
+
prompt: 'What do you expect from AI tools? (e.g., explain first, ask before major changes)',
|
|
22
|
+
example: '1. Explain before coding\n2. Ask before major changes\n3. Show risks\n4. Be direct',
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
key: 'hates',
|
|
26
|
+
title: 'Things I Hate',
|
|
27
|
+
prompt: 'What drives you crazy in AI-generated code? (e.g., random refactors, new dependencies)',
|
|
28
|
+
example: '1. Random refactors\n2. New dependencies\n3. Huge responses\n4. Assumptions',
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
key: 'project_rules',
|
|
32
|
+
title: 'My Project Rules',
|
|
33
|
+
prompt: 'What rules should always be followed? (e.g., always run tests, security first)',
|
|
34
|
+
example: '1. Always run tests\n2. Never edit production configs\n3. Security first',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
key: 'workflow',
|
|
38
|
+
title: 'My Workflow',
|
|
39
|
+
prompt: 'How do you work? What order? (e.g., plan first, then code, then test)',
|
|
40
|
+
example: '1. Plan first\n2. Code second\n3. Test third\n4. Deploy last',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
key: 'communication',
|
|
44
|
+
title: 'My Communication Style',
|
|
45
|
+
prompt: 'How should AI talk to you? (e.g., direct, no fluff, bullet points)',
|
|
46
|
+
example: '1. Direct\n2. No fluff\n3. Bullet points\n4. Technical language',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
key: 'problems',
|
|
50
|
+
title: 'My Repeated Problems',
|
|
51
|
+
prompt: 'What mistakes do you make often? (e.g., scope creep, over-engineering)',
|
|
52
|
+
example: '1. Scope creep\n2. Over-engineering\n3. Missing tests\n4. Large PRs',
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
key: 'notes',
|
|
56
|
+
title: 'Anything Else',
|
|
57
|
+
prompt: 'Anything else you want Cell to know about you?',
|
|
58
|
+
example: '1. OSS focused\n2. CLI tools preferred\n3. Simplicity over cleverness',
|
|
59
|
+
},
|
|
60
|
+
];
|
|
61
|
+
function getSection(key) {
|
|
62
|
+
return exports.TEACH_SECTIONS.find(s => s.key === key);
|
|
63
|
+
}
|
|
64
|
+
function getNextPending(doneSections) {
|
|
65
|
+
return exports.TEACH_SECTIONS.find(s => !doneSections.includes(s.key)) || null;
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=teach-sections.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"teach-sections.js","sourceRoot":"","sources":["../../../../src/walls/06-memory/teach/teach-sections.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,yDAAyD;AACzD,EAAE;AACF,0DAA0D;AAC1D,+DAA+D;;;AA4D/D,gCAEC;AAED,wCAEC;AAzDY,QAAA,cAAc,GAAmB;IAC5C;QACE,GAAG,EAAE,cAAc;QACnB,KAAK,EAAE,iBAAiB;QACxB,MAAM,EAAE,iGAAiG;QACzG,OAAO,EAAE,4FAA4F;KACtG;IACD;QACE,GAAG,EAAE,iBAAiB;QACtB,KAAK,EAAE,oBAAoB;QAC3B,MAAM,EAAE,mFAAmF;QAC3F,OAAO,EAAE,oFAAoF;KAC9F;IACD;QACE,GAAG,EAAE,OAAO;QACZ,KAAK,EAAE,eAAe;QACtB,MAAM,EAAE,wFAAwF;QAChG,OAAO,EAAE,6EAA6E;KACvF;IACD;QACE,GAAG,EAAE,eAAe;QACpB,KAAK,EAAE,kBAAkB;QACzB,MAAM,EAAE,gFAAgF;QACxF,OAAO,EAAE,0EAA0E;KACpF;IACD;QACE,GAAG,EAAE,UAAU;QACf,KAAK,EAAE,aAAa;QACpB,MAAM,EAAE,uEAAuE;QAC/E,OAAO,EAAE,8DAA8D;KACxE;IACD;QACE,GAAG,EAAE,eAAe;QACpB,KAAK,EAAE,wBAAwB;QAC/B,MAAM,EAAE,oEAAoE;QAC5E,OAAO,EAAE,iEAAiE;KAC3E;IACD;QACE,GAAG,EAAE,UAAU;QACf,KAAK,EAAE,sBAAsB;QAC7B,MAAM,EAAE,wEAAwE;QAChF,OAAO,EAAE,qEAAqE;KAC/E;IACD;QACE,GAAG,EAAE,OAAO;QACZ,KAAK,EAAE,eAAe;QACtB,MAAM,EAAE,gDAAgD;QACxD,OAAO,EAAE,uEAAuE;KACjF;CACF,CAAC;AAEF,SAAgB,UAAU,CAAC,GAAW;IACpC,OAAO,sBAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;AACjD,CAAC;AAED,SAAgB,cAAc,CAAC,YAAsB;IACnD,OAAO,sBAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;AACzE,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export interface ProfileSection {
|
|
2
|
+
section: string;
|
|
3
|
+
rawText: string;
|
|
4
|
+
structuredData: Record<string, string>;
|
|
5
|
+
importance: number;
|
|
6
|
+
createdAt: string;
|
|
7
|
+
updatedAt: string;
|
|
8
|
+
}
|
|
9
|
+
export interface ProfileCompletionStatus {
|
|
10
|
+
done: string[];
|
|
11
|
+
pending: string[];
|
|
12
|
+
total: number;
|
|
13
|
+
completionPercent: number;
|
|
14
|
+
}
|
|
15
|
+
export declare function saveProfileSection(section: string, rawText: string, structuredData: Record<string, string>, importance?: number): void;
|
|
16
|
+
export declare function getProfileSection(section: string): ProfileSection | null;
|
|
17
|
+
export declare function getFullProfile(): Record<string, {
|
|
18
|
+
rawText: string;
|
|
19
|
+
structuredData: Record<string, string>;
|
|
20
|
+
}>;
|
|
21
|
+
export declare function deleteProfile(): void;
|
|
22
|
+
export declare function deleteSection(section: string): void;
|
|
23
|
+
export declare function profileExists(): boolean;
|
|
24
|
+
export declare function profileCompletionStatus(allSections: string[]): ProfileCompletionStatus;
|
|
25
|
+
//# sourceMappingURL=teach-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"teach-store.d.ts","sourceRoot":"","sources":["../../../../src/walls/06-memory/teach/teach-store.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAiBD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACtC,UAAU,GAAE,MAAW,GACtB,IAAI,CAaN;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAexE;AAED,wBAAgB,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC,CAe5G;AAED,wBAAgB,aAAa,IAAI,IAAI,CAIpC;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAInD;AAED,wBAAgB,aAAa,IAAI,OAAO,CAKvC;AAED,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,uBAAuB,CActF"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.saveProfileSection = saveProfileSection;
|
|
4
|
+
exports.getProfileSection = getProfileSection;
|
|
5
|
+
exports.getFullProfile = getFullProfile;
|
|
6
|
+
exports.deleteProfile = deleteProfile;
|
|
7
|
+
exports.deleteSection = deleteSection;
|
|
8
|
+
exports.profileExists = profileExists;
|
|
9
|
+
exports.profileCompletionStatus = profileCompletionStatus;
|
|
10
|
+
const database_1 = require("../database/database");
|
|
11
|
+
function ensureTable() {
|
|
12
|
+
const db = (0, database_1.getDb)();
|
|
13
|
+
db.exec(`
|
|
14
|
+
CREATE TABLE IF NOT EXISTS developer_profile (
|
|
15
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
16
|
+
section TEXT NOT NULL UNIQUE,
|
|
17
|
+
raw_text TEXT NOT NULL,
|
|
18
|
+
structured_data TEXT,
|
|
19
|
+
importance INTEGER DEFAULT 85,
|
|
20
|
+
created_at TEXT DEFAULT (datetime('now')),
|
|
21
|
+
updated_at TEXT DEFAULT (datetime('now'))
|
|
22
|
+
)
|
|
23
|
+
`);
|
|
24
|
+
}
|
|
25
|
+
function saveProfileSection(section, rawText, structuredData, importance = 85) {
|
|
26
|
+
const db = (0, database_1.getDb)();
|
|
27
|
+
ensureTable();
|
|
28
|
+
db.prepare(`
|
|
29
|
+
INSERT INTO developer_profile (section, raw_text, structured_data, importance, updated_at)
|
|
30
|
+
VALUES (?, ?, ?, ?, datetime('now'))
|
|
31
|
+
ON CONFLICT(section) DO UPDATE SET
|
|
32
|
+
raw_text = excluded.raw_text,
|
|
33
|
+
structured_data = excluded.structured_data,
|
|
34
|
+
importance = excluded.importance,
|
|
35
|
+
updated_at = datetime('now')
|
|
36
|
+
`).run(section, rawText, JSON.stringify(structuredData), importance);
|
|
37
|
+
}
|
|
38
|
+
function getProfileSection(section) {
|
|
39
|
+
const db = (0, database_1.getDb)();
|
|
40
|
+
ensureTable();
|
|
41
|
+
const row = db.prepare('SELECT * FROM developer_profile WHERE section = ?').get(section);
|
|
42
|
+
if (!row)
|
|
43
|
+
return null;
|
|
44
|
+
return {
|
|
45
|
+
section: row.section,
|
|
46
|
+
rawText: row.raw_text,
|
|
47
|
+
structuredData: JSON.parse(String(row.structured_data || '{}')),
|
|
48
|
+
importance: row.importance,
|
|
49
|
+
createdAt: row.created_at,
|
|
50
|
+
updatedAt: row.updated_at,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
function getFullProfile() {
|
|
54
|
+
const db = (0, database_1.getDb)();
|
|
55
|
+
ensureTable();
|
|
56
|
+
const rows = db.prepare('SELECT section, raw_text, structured_data FROM developer_profile ORDER BY id').all();
|
|
57
|
+
const profile = {};
|
|
58
|
+
for (const row of rows) {
|
|
59
|
+
profile[row.section] = {
|
|
60
|
+
rawText: row.raw_text,
|
|
61
|
+
structuredData: JSON.parse(String(row.structured_data || '{}')),
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
return profile;
|
|
65
|
+
}
|
|
66
|
+
function deleteProfile() {
|
|
67
|
+
const db = (0, database_1.getDb)();
|
|
68
|
+
ensureTable();
|
|
69
|
+
db.prepare('DELETE FROM developer_profile').run();
|
|
70
|
+
}
|
|
71
|
+
function deleteSection(section) {
|
|
72
|
+
const db = (0, database_1.getDb)();
|
|
73
|
+
ensureTable();
|
|
74
|
+
db.prepare('DELETE FROM developer_profile WHERE section = ?').run(section);
|
|
75
|
+
}
|
|
76
|
+
function profileExists() {
|
|
77
|
+
const db = (0, database_1.getDb)();
|
|
78
|
+
ensureTable();
|
|
79
|
+
const row = db.prepare('SELECT COUNT(*) as c FROM developer_profile').get();
|
|
80
|
+
return row.c > 0;
|
|
81
|
+
}
|
|
82
|
+
function profileCompletionStatus(allSections) {
|
|
83
|
+
const db = (0, database_1.getDb)();
|
|
84
|
+
ensureTable();
|
|
85
|
+
const rows = db.prepare('SELECT section FROM developer_profile').all();
|
|
86
|
+
const done = rows.map(r => r.section);
|
|
87
|
+
const pending = allSections.filter(s => !done.includes(s));
|
|
88
|
+
return {
|
|
89
|
+
done,
|
|
90
|
+
pending,
|
|
91
|
+
total: allSections.length,
|
|
92
|
+
completionPercent: Math.round((done.length / allSections.length) * 100),
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=teach-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"teach-store.js","sourceRoot":"","sources":["../../../../src/walls/06-memory/teach/teach-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vibe-cli.d.ts","sourceRoot":"","sources":["../../../../src/walls/06-memory/vibe/vibe-cli.ts"],"names":[],"mappings":"AA2BA,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAsB3C"}
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// vibe-cli.ts — CLI interface for Cell Vibe
|
|
3
|
+
// Commands: cell vibe, cell vibe show, cell vibe learn, cell vibe reset
|
|
4
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
5
|
+
if (k2 === undefined) k2 = k;
|
|
6
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
7
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
8
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
9
|
+
}
|
|
10
|
+
Object.defineProperty(o, k2, desc);
|
|
11
|
+
}) : (function(o, m, k, k2) {
|
|
12
|
+
if (k2 === undefined) k2 = k;
|
|
13
|
+
o[k2] = m[k];
|
|
14
|
+
}));
|
|
15
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
16
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
17
|
+
}) : function(o, v) {
|
|
18
|
+
o["default"] = v;
|
|
19
|
+
});
|
|
20
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
21
|
+
var ownKeys = function(o) {
|
|
22
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
23
|
+
var ar = [];
|
|
24
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
25
|
+
return ar;
|
|
26
|
+
};
|
|
27
|
+
return ownKeys(o);
|
|
28
|
+
};
|
|
29
|
+
return function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
36
|
+
})();
|
|
37
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
+
exports.doVibe = doVibe;
|
|
39
|
+
const path = __importStar(require("path"));
|
|
40
|
+
const vibe_engine_1 = require("./vibe-engine");
|
|
41
|
+
const C = {
|
|
42
|
+
bold: (s) => `\x1b[1m${s}\x1b[0m`,
|
|
43
|
+
dim: (s) => `\x1b[2m${s}\x1b[0m`,
|
|
44
|
+
warn: (s) => `\x1b[33m${s}\x1b[0m`,
|
|
45
|
+
success: (s) => `\x1b[32m${s}\x1b[0m`,
|
|
46
|
+
primary: (s) => `\x1b[36m${s}\x1b[0m`,
|
|
47
|
+
};
|
|
48
|
+
function printDim(s) { console.log(C.dim(s)); }
|
|
49
|
+
function printSuccess(s) { console.log(C.success(s)); }
|
|
50
|
+
function printWarning(s) { console.log(C.warn(s)); }
|
|
51
|
+
function getProjectName() {
|
|
52
|
+
try {
|
|
53
|
+
const pkg = require('../../../../../package.json');
|
|
54
|
+
return pkg.name || path.basename(process.cwd());
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
return path.basename(process.cwd());
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
function doVibe(args) {
|
|
61
|
+
const sub = args[1] || '';
|
|
62
|
+
const cwd = process.cwd();
|
|
63
|
+
switch (sub) {
|
|
64
|
+
case 'learn':
|
|
65
|
+
doVibeLearn(cwd);
|
|
66
|
+
break;
|
|
67
|
+
case 'reset':
|
|
68
|
+
doVibeReset(cwd);
|
|
69
|
+
break;
|
|
70
|
+
case 'show':
|
|
71
|
+
case 'view':
|
|
72
|
+
doVibeShow(cwd);
|
|
73
|
+
break;
|
|
74
|
+
case 'export':
|
|
75
|
+
doVibeExport(cwd);
|
|
76
|
+
break;
|
|
77
|
+
default:
|
|
78
|
+
doVibeSummary(cwd);
|
|
79
|
+
break;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
function doVibeSummary(cwd) {
|
|
83
|
+
console.log();
|
|
84
|
+
console.log(C.bold(' Cell Vibe'));
|
|
85
|
+
console.log(C.dim(' ─────────'));
|
|
86
|
+
console.log();
|
|
87
|
+
const summary = (0, vibe_engine_1.getVibeSummary)(cwd);
|
|
88
|
+
if (!summary || summary.totalRules === 0) {
|
|
89
|
+
printDim('No vibe data yet. Vibe learns automatically from your sessions.');
|
|
90
|
+
console.log();
|
|
91
|
+
console.log(C.dim(' Just keep working — Cell observes and learns your style.'));
|
|
92
|
+
console.log(C.dim(' Or force-learn now: cell vibe learn'));
|
|
93
|
+
console.log();
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
console.log(C.bold(` ${summary.summary}`));
|
|
97
|
+
console.log();
|
|
98
|
+
console.log(C.dim(` Learned ${summary.totalRules} rules (avg vibe: ${summary.averageVibe}/100)`));
|
|
99
|
+
console.log();
|
|
100
|
+
if (Object.keys(summary.coding).length > 0) {
|
|
101
|
+
const parts = [];
|
|
102
|
+
if (summary.coding.changeSize)
|
|
103
|
+
parts.push(`Changes: ${summary.coding.changeSize}`);
|
|
104
|
+
if (summary.coding.abstraction)
|
|
105
|
+
parts.push(`Abstraction: ${summary.coding.abstraction}`);
|
|
106
|
+
if (summary.coding.testing)
|
|
107
|
+
parts.push(`Testing: ${summary.coding.testing}`);
|
|
108
|
+
console.log(` Code: ${parts.join(', ') || 'learning...'}`);
|
|
109
|
+
}
|
|
110
|
+
if (Object.keys(summary.communication).length > 0) {
|
|
111
|
+
const parts = [];
|
|
112
|
+
if (summary.communication.language)
|
|
113
|
+
parts.push(summary.communication.language);
|
|
114
|
+
if (summary.communication.structure)
|
|
115
|
+
parts.push(summary.communication.structure);
|
|
116
|
+
if (summary.communication.tone)
|
|
117
|
+
parts.push(summary.communication.tone);
|
|
118
|
+
console.log(` Comm: ${parts.join(', ') || 'learning...'}`);
|
|
119
|
+
}
|
|
120
|
+
console.log(` Decisions: ${summary.decisionDriver}-driven`);
|
|
121
|
+
console.log(` Risk: ${summary.riskProfile}`);
|
|
122
|
+
console.log(` Ship: ${summary.shipStyle}`);
|
|
123
|
+
console.log(` AI Trust: ${summary.aiTrust}`);
|
|
124
|
+
console.log();
|
|
125
|
+
if (summary.strengths.length > 0 && summary.strengths[0] !== 'Still discovering strengths') {
|
|
126
|
+
console.log(C.success(' Strengths:'));
|
|
127
|
+
for (const s of summary.strengths)
|
|
128
|
+
console.log(C.dim(` • ${s}`));
|
|
129
|
+
console.log();
|
|
130
|
+
}
|
|
131
|
+
if (summary.risks.length > 0 && summary.risks[0] !== 'No risks detected yet') {
|
|
132
|
+
console.log(C.warn(' Watch out:'));
|
|
133
|
+
for (const r of summary.risks)
|
|
134
|
+
console.log(C.dim(` • ${r}`));
|
|
135
|
+
console.log();
|
|
136
|
+
}
|
|
137
|
+
if (summary.avoid.length > 0 && summary.avoid[0] !== 'Nothing specific yet') {
|
|
138
|
+
console.log(C.warn(' Avoid:'));
|
|
139
|
+
for (const a of summary.avoid)
|
|
140
|
+
console.log(C.dim(` • ${a}`));
|
|
141
|
+
console.log();
|
|
142
|
+
}
|
|
143
|
+
console.log(C.dim(' Commands: cell vibe show | cell vibe learn | cell vibe reset'));
|
|
144
|
+
console.log();
|
|
145
|
+
}
|
|
146
|
+
function doVibeShow(cwd) {
|
|
147
|
+
console.log();
|
|
148
|
+
console.log(C.bold(' Cell Vibe — Full Profile'));
|
|
149
|
+
console.log(C.dim(' ────────────────────────'));
|
|
150
|
+
console.log();
|
|
151
|
+
const md = (0, vibe_engine_1.getVibeMarkdown)(cwd);
|
|
152
|
+
const lines = md.split('\n');
|
|
153
|
+
for (const line of lines) {
|
|
154
|
+
if (line.startsWith('# ')) {
|
|
155
|
+
console.log(C.bold(`\n ${line.replace('# ', '')}`));
|
|
156
|
+
}
|
|
157
|
+
else if (line.startsWith('## ')) {
|
|
158
|
+
console.log(C.bold(`\n ${line.replace('## ', '')}`));
|
|
159
|
+
}
|
|
160
|
+
else if (line.startsWith('- ')) {
|
|
161
|
+
console.log(C.dim(` ${line}`));
|
|
162
|
+
}
|
|
163
|
+
else if (line.trim()) {
|
|
164
|
+
console.log(` ${line}`);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
console.log();
|
|
168
|
+
}
|
|
169
|
+
function doVibeLearn(cwd) {
|
|
170
|
+
console.log();
|
|
171
|
+
console.log(C.bold(' Cell Vibe — Learning'));
|
|
172
|
+
console.log(C.dim(' ────────────────────'));
|
|
173
|
+
console.log();
|
|
174
|
+
const project = getProjectName();
|
|
175
|
+
printDim(` Analyzing sessions for: ${project}...`);
|
|
176
|
+
try {
|
|
177
|
+
const { getDb } = require('../database/database');
|
|
178
|
+
const db = getDb();
|
|
179
|
+
const sessionCount = db.prepare('SELECT COUNT(*) as c FROM sessions WHERE project = ?').get(project);
|
|
180
|
+
printDim(` Found ${sessionCount.c} sessions.`);
|
|
181
|
+
const data = (0, vibe_engine_1.analyzeSession)(project, cwd, sessionCount.c);
|
|
182
|
+
printSuccess(`\n Vibe learned from ${sessionCount.c} sessions!`);
|
|
183
|
+
const cats = new Set(data.rules.map(r => r.category)).size;
|
|
184
|
+
console.log(C.dim(` ${data.rules.length} rules across ${cats} categories.`));
|
|
185
|
+
console.log();
|
|
186
|
+
console.log(C.dim(' View: cell vibe'));
|
|
187
|
+
console.log(C.dim(' Show: cell vibe show'));
|
|
188
|
+
console.log();
|
|
189
|
+
}
|
|
190
|
+
catch (e) {
|
|
191
|
+
const msg = e instanceof Error ? e.message : String(e);
|
|
192
|
+
printWarning(` Learn failed: ${msg}`);
|
|
193
|
+
console.log();
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
function doVibeExport(cwd) {
|
|
197
|
+
const summary = (0, vibe_engine_1.getVibeSummary)(cwd);
|
|
198
|
+
if (!summary) {
|
|
199
|
+
console.log(JSON.stringify({ error: 'No vibe data yet' }, null, 2));
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
console.log(JSON.stringify(summary, null, 2));
|
|
203
|
+
}
|
|
204
|
+
function doVibeReset(cwd) {
|
|
205
|
+
console.log();
|
|
206
|
+
console.log(C.warn(' Reset all vibe data?'));
|
|
207
|
+
const confirmed = process.argv.includes('--force') || process.argv.includes('-f');
|
|
208
|
+
if (!confirmed) {
|
|
209
|
+
console.log(C.dim(' Run: cell vibe reset --force to confirm'));
|
|
210
|
+
console.log();
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
(0, vibe_engine_1.resetVibe)(cwd);
|
|
214
|
+
printSuccess(' Vibe data cleared.');
|
|
215
|
+
console.log();
|
|
216
|
+
}
|
|
217
|
+
//# sourceMappingURL=vibe-cli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vibe-cli.js","sourceRoot":"","sources":["../../../../src/walls/06-memory/vibe/vibe-cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export type VibeLevel = 'uncertain' | 'learning' | 'strong' | 'very_strong' | 'certain';
|
|
2
|
+
export declare function calculateVibe(signalCount: number, totalSessions: number, multiplier?: number): number;
|
|
3
|
+
export declare function evolveVibe(oldVibe: number, newEvidence: boolean, existingCount: number, totalSessions: number, multiplier?: number): number;
|
|
4
|
+
export declare function getVibeLevel(vibe: number): VibeLevel;
|
|
5
|
+
export declare function getVibeDescription(vibe: number): string;
|
|
6
|
+
export declare function shouldShowInContext(vibe: number): boolean;
|
|
7
|
+
export declare function shouldWriteToFile(vibe: number): boolean;
|
|
8
|
+
export declare function categoryVibeAverage(signals: Array<{
|
|
9
|
+
vibe: number;
|
|
10
|
+
}>): number;
|
|
11
|
+
export declare function topVibeSignals(signals: Array<{
|
|
12
|
+
id: string;
|
|
13
|
+
vibe: number;
|
|
14
|
+
count: number;
|
|
15
|
+
}>, limit?: number): Array<{
|
|
16
|
+
id: string;
|
|
17
|
+
vibe: number;
|
|
18
|
+
count: number;
|
|
19
|
+
}>;
|
|
20
|
+
export declare function detectRisks(signals: Array<{
|
|
21
|
+
id: string;
|
|
22
|
+
vibe: number;
|
|
23
|
+
}>): string[];
|
|
24
|
+
//# sourceMappingURL=vibe-confidence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vibe-confidence.d.ts","sourceRoot":"","sources":["../../../../src/walls/06-memory/vibe/vibe-confidence.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,aAAa,GAAG,SAAS,CAAC;AAExF,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,GAAE,MAAY,GAAG,MAAM,CAW1G;AAED,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,OAAO,EACpB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,UAAU,GAAE,MAAY,GACvB,MAAM,CAQR;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAMpD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMvD;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,MAAM,CAI5E;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,EAC3D,KAAK,GAAE,MAAU,GAChB,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAIpD;AAGD,wBAAgB,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,MAAM,EAAE,CAmBlF"}
|