@su-record/vibe 2.7.20 → 2.7.21
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 +156 -57
- package/agents/qa/qa-coordinator.md +131 -0
- package/commands/vibe.review.md +79 -0
- package/commands/vibe.run.md +68 -9
- package/commands/vibe.spec.review.md +48 -8
- package/commands/vibe.verify.md +26 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +4 -12
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/postinstall/claude-agents.d.ts.map +1 -1
- package/dist/cli/postinstall/claude-agents.js +1 -0
- package/dist/cli/postinstall/claude-agents.js.map +1 -1
- package/dist/cli/postinstall/codex-agents.d.ts +18 -6
- package/dist/cli/postinstall/codex-agents.d.ts.map +1 -1
- package/dist/cli/postinstall/codex-agents.js +78 -16
- package/dist/cli/postinstall/codex-agents.js.map +1 -1
- package/dist/cli/postinstall/constants.d.ts.map +1 -1
- package/dist/cli/postinstall/constants.js +17 -14
- package/dist/cli/postinstall/constants.js.map +1 -1
- package/dist/cli/postinstall/index.d.ts +1 -1
- package/dist/cli/postinstall/index.d.ts.map +1 -1
- package/dist/cli/postinstall/index.js +1 -1
- package/dist/cli/postinstall/index.js.map +1 -1
- package/dist/cli/postinstall/main.d.ts.map +1 -1
- package/dist/cli/postinstall/main.js +4 -8
- package/dist/cli/postinstall/main.js.map +1 -1
- package/dist/cli/postinstall.d.ts +1 -1
- package/dist/cli/postinstall.d.ts.map +1 -1
- package/dist/cli/postinstall.js +1 -1
- package/dist/cli/postinstall.js.map +1 -1
- package/dist/cli/types.d.ts +1 -0
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/cli/utils/cli-detector.d.ts +1 -0
- package/dist/cli/utils/cli-detector.d.ts.map +1 -1
- package/dist/cli/utils/cli-detector.js +1 -0
- package/dist/cli/utils/cli-detector.js.map +1 -1
- package/dist/infra/lib/ComponentRegistry.d.ts +35 -0
- package/dist/infra/lib/ComponentRegistry.d.ts.map +1 -0
- package/dist/infra/lib/ComponentRegistry.js +59 -0
- package/dist/infra/lib/ComponentRegistry.js.map +1 -0
- package/dist/infra/lib/ReviewRace.d.ts.map +1 -1
- package/dist/infra/lib/ReviewRace.js +11 -7
- package/dist/infra/lib/ReviewRace.js.map +1 -1
- package/dist/infra/lib/__tests__/ComponentRegistry.test.d.ts +2 -0
- package/dist/infra/lib/__tests__/ComponentRegistry.test.d.ts.map +1 -0
- package/dist/infra/lib/__tests__/ComponentRegistry.test.js +99 -0
- package/dist/infra/lib/__tests__/ComponentRegistry.test.js.map +1 -0
- package/dist/infra/lib/evolution/DescriptionOptimizer.d.ts +45 -0
- package/dist/infra/lib/evolution/DescriptionOptimizer.d.ts.map +1 -1
- package/dist/infra/lib/evolution/DescriptionOptimizer.js +151 -0
- package/dist/infra/lib/evolution/DescriptionOptimizer.js.map +1 -1
- package/dist/infra/lib/evolution/__tests__/eval.test.js +64 -0
- package/dist/infra/lib/evolution/__tests__/eval.test.js.map +1 -1
- package/dist/infra/lib/gpt/chat.d.ts.map +1 -1
- package/dist/infra/lib/gpt/chat.js +8 -0
- package/dist/infra/lib/gpt/chat.js.map +1 -1
- package/dist/infra/lib/gpt/specializations.d.ts.map +1 -1
- package/dist/infra/lib/gpt/specializations.js +5 -0
- package/dist/infra/lib/gpt/specializations.js.map +1 -1
- package/dist/infra/lib/llm-availability.d.ts +21 -0
- package/dist/infra/lib/llm-availability.d.ts.map +1 -0
- package/dist/infra/lib/llm-availability.js +57 -0
- package/dist/infra/lib/llm-availability.js.map +1 -0
- package/dist/infra/lib/memory/IMemoryStorage.d.ts +16 -0
- package/dist/infra/lib/memory/IMemoryStorage.d.ts.map +1 -0
- package/dist/infra/lib/memory/IMemoryStorage.js +7 -0
- package/dist/infra/lib/memory/IMemoryStorage.js.map +1 -0
- package/dist/infra/lib/memory/InMemoryStorage.d.ts +13 -0
- package/dist/infra/lib/memory/InMemoryStorage.d.ts.map +1 -0
- package/dist/infra/lib/memory/InMemoryStorage.js +44 -0
- package/dist/infra/lib/memory/InMemoryStorage.js.map +1 -0
- package/dist/infra/lib/memory/MemoryStorage.d.ts +2 -1
- package/dist/infra/lib/memory/MemoryStorage.d.ts.map +1 -1
- package/dist/infra/lib/memory/MemoryStorage.js.map +1 -1
- package/dist/infra/lib/memory/__tests__/InMemoryStorage.test.d.ts +2 -0
- package/dist/infra/lib/memory/__tests__/InMemoryStorage.test.d.ts.map +1 -0
- package/dist/infra/lib/memory/__tests__/InMemoryStorage.test.js +114 -0
- package/dist/infra/lib/memory/__tests__/InMemoryStorage.test.js.map +1 -0
- package/dist/infra/lib/memory/index.d.ts +2 -0
- package/dist/infra/lib/memory/index.d.ts.map +1 -1
- package/dist/infra/lib/memory/index.js +1 -0
- package/dist/infra/lib/memory/index.js.map +1 -1
- package/dist/infra/lib/telemetry/SkillTelemetry.d.ts +8 -0
- package/dist/infra/lib/telemetry/SkillTelemetry.d.ts.map +1 -1
- package/dist/infra/lib/telemetry/SkillTelemetry.js +40 -0
- package/dist/infra/lib/telemetry/SkillTelemetry.js.map +1 -1
- package/dist/infra/lib/telemetry/SkillTelemetry.test.js +33 -0
- package/dist/infra/lib/telemetry/SkillTelemetry.test.js.map +1 -1
- package/dist/infra/lib/telemetry/VibeSpan.d.ts +20 -0
- package/dist/infra/lib/telemetry/VibeSpan.d.ts.map +1 -0
- package/dist/infra/lib/telemetry/VibeSpan.js +26 -0
- package/dist/infra/lib/telemetry/VibeSpan.js.map +1 -0
- package/dist/infra/orchestrator/MultiLlmResearch.d.ts.map +1 -1
- package/dist/infra/orchestrator/MultiLlmResearch.js +49 -40
- package/dist/infra/orchestrator/MultiLlmResearch.js.map +1 -1
- package/dist/infra/orchestrator/SmartRouter.d.ts.map +1 -1
- package/dist/infra/orchestrator/SmartRouter.js +4 -3
- package/dist/infra/orchestrator/SmartRouter.js.map +1 -1
- package/dist/infra/orchestrator/types.d.ts +8 -0
- package/dist/infra/orchestrator/types.d.ts.map +1 -1
- package/dist/infra/orchestrator/types.js +36 -0
- package/dist/infra/orchestrator/types.js.map +1 -1
- package/dist/tools/index.d.ts +6 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +5 -0
- package/dist/tools/index.js.map +1 -1
- package/hooks/hooks.json +4 -0
- package/hooks/scripts/codex-detect.js +46 -0
- package/hooks/scripts/codex-review-gate.js +80 -0
- package/hooks/scripts/llm-orchestrate.js +9 -5
- package/package.json +1 -1
- package/skills/arch-guard/SKILL.md +1 -1
- package/skills/brand-assets/SKILL.md +1 -1
- package/skills/capability-loop/SKILL.md +1 -1
- package/skills/characterization-test/SKILL.md +1 -1
- package/skills/commerce-patterns/SKILL.md +1 -1
- package/skills/e2e-commerce/SKILL.md +1 -1
- package/skills/exec-plan/SKILL.md +1 -1
- package/skills/parallel-research/SKILL.md +1 -1
- package/skills/seo-checklist/SKILL.md +1 -1
- package/skills/ui-ux-pro-max/SKILL.md +1 -1
- package/skills/video-production/SKILL.md +1 -1
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LLM 가용성 감지 유틸
|
|
3
|
+
*
|
|
4
|
+
* Codex/Gemini CLI 활성화 여부를 런타임에 판단.
|
|
5
|
+
* 결과는 프로세스당 1회 캐시.
|
|
6
|
+
*/
|
|
7
|
+
export interface LlmAvailability {
|
|
8
|
+
codex: boolean;
|
|
9
|
+
gemini: boolean;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Codex/Gemini CLI 가용성 감지 (캐시)
|
|
13
|
+
*/
|
|
14
|
+
export declare function detectLlmAvailability(): LlmAvailability;
|
|
15
|
+
/** Codex CLI 활성화 여부 */
|
|
16
|
+
export declare function isCodexAvailable(): boolean;
|
|
17
|
+
/** Gemini CLI 활성화 여부 */
|
|
18
|
+
export declare function isGeminiAvailable(): boolean;
|
|
19
|
+
/** 캐시 초기화 (테스트용) */
|
|
20
|
+
export declare function resetLlmAvailabilityCache(): void;
|
|
21
|
+
//# sourceMappingURL=llm-availability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llm-availability.d.ts","sourceRoot":"","sources":["../../../src/infra/lib/llm-availability.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;CACjB;AAqBD;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,eAAe,CAkBvD;AAED,uBAAuB;AACvB,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED,wBAAwB;AACxB,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED,oBAAoB;AACpB,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LLM 가용성 감지 유틸
|
|
3
|
+
*
|
|
4
|
+
* Codex/Gemini CLI 활성화 여부를 런타임에 판단.
|
|
5
|
+
* 결과는 프로세스당 1회 캐시.
|
|
6
|
+
*/
|
|
7
|
+
import { execSync } from 'child_process';
|
|
8
|
+
import path from 'path';
|
|
9
|
+
import fs from 'fs';
|
|
10
|
+
import os from 'os';
|
|
11
|
+
let cached = null;
|
|
12
|
+
function checkCliInstalled(binName, configDir) {
|
|
13
|
+
const hasDir = fs.existsSync(configDir);
|
|
14
|
+
let hasBin = false;
|
|
15
|
+
try {
|
|
16
|
+
execSync(`which ${binName}`, { stdio: 'ignore' });
|
|
17
|
+
hasBin = true;
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
// not found
|
|
21
|
+
}
|
|
22
|
+
return hasBin || hasDir;
|
|
23
|
+
}
|
|
24
|
+
function checkAuthExists(configDir, authFileName) {
|
|
25
|
+
const authPath = path.join(configDir, authFileName);
|
|
26
|
+
return fs.existsSync(authPath);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Codex/Gemini CLI 가용성 감지 (캐시)
|
|
30
|
+
*/
|
|
31
|
+
export function detectLlmAvailability() {
|
|
32
|
+
if (cached)
|
|
33
|
+
return cached;
|
|
34
|
+
const codexDir = process.env.CODEX_HOME || path.join(os.homedir(), '.codex');
|
|
35
|
+
const geminiDir = path.join(os.homedir(), '.gemini');
|
|
36
|
+
const codexInstalled = checkCliInstalled('codex', codexDir);
|
|
37
|
+
const geminiInstalled = checkCliInstalled('gemini', geminiDir);
|
|
38
|
+
// 설치 + 인증 파일 존재 시 활성화로 판단
|
|
39
|
+
const codex = codexInstalled && checkAuthExists(codexDir, 'auth.json');
|
|
40
|
+
const gemini = geminiInstalled && (checkAuthExists(geminiDir, 'auth.json') ||
|
|
41
|
+
!!process.env.GEMINI_API_KEY);
|
|
42
|
+
cached = { codex, gemini };
|
|
43
|
+
return cached;
|
|
44
|
+
}
|
|
45
|
+
/** Codex CLI 활성화 여부 */
|
|
46
|
+
export function isCodexAvailable() {
|
|
47
|
+
return detectLlmAvailability().codex;
|
|
48
|
+
}
|
|
49
|
+
/** Gemini CLI 활성화 여부 */
|
|
50
|
+
export function isGeminiAvailable() {
|
|
51
|
+
return detectLlmAvailability().gemini;
|
|
52
|
+
}
|
|
53
|
+
/** 캐시 초기화 (테스트용) */
|
|
54
|
+
export function resetLlmAvailabilityCache() {
|
|
55
|
+
cached = null;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=llm-availability.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llm-availability.js","sourceRoot":"","sources":["../../../src/infra/lib/llm-availability.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,IAAI,CAAC;AAOpB,IAAI,MAAM,GAA2B,IAAI,CAAC;AAE1C,SAAS,iBAAiB,CAAC,OAAe,EAAE,SAAiB;IAC3D,MAAM,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACxC,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,CAAC;QACH,QAAQ,CAAC,SAAS,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAClD,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,YAAY;IACd,CAAC;IACD,OAAO,MAAM,IAAI,MAAM,CAAC;AAC1B,CAAC;AAED,SAAS,eAAe,CAAC,SAAiB,EAAE,YAAoB;IAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACpD,OAAO,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACnC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC7E,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IAErD,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC5D,MAAM,eAAe,GAAG,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAE/D,0BAA0B;IAC1B,MAAM,KAAK,GAAG,cAAc,IAAI,eAAe,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,eAAe,IAAI,CAChC,eAAe,CAAC,SAAS,EAAE,WAAW,CAAC;QACvC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAC7B,CAAC;IAEF,MAAM,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAC3B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,uBAAuB;AACvB,MAAM,UAAU,gBAAgB;IAC9B,OAAO,qBAAqB,EAAE,CAAC,KAAK,CAAC;AACvC,CAAC;AAED,wBAAwB;AACxB,MAAM,UAAU,iBAAiB;IAC/B,OAAO,qBAAqB,EAAE,CAAC,MAAM,CAAC;AACxC,CAAC;AAED,oBAAoB;AACpB,MAAM,UAAU,yBAAyB;IACvC,MAAM,GAAG,IAAI,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IMemoryStorage — Store interface abstraction
|
|
3
|
+
* Inspired by Agent-Lightning's LightningStore pattern.
|
|
4
|
+
* Enables in-memory implementations for testing.
|
|
5
|
+
*/
|
|
6
|
+
import type { MemoryItem } from './MemoryStorage.js';
|
|
7
|
+
export interface IMemoryStorage {
|
|
8
|
+
save(key: string, value: string, category?: string, priority?: number): void;
|
|
9
|
+
recall(key: string): MemoryItem | null;
|
|
10
|
+
update(key: string, value: string): boolean;
|
|
11
|
+
delete(key: string): boolean;
|
|
12
|
+
list(category?: string): MemoryItem[];
|
|
13
|
+
search(query: string): MemoryItem[];
|
|
14
|
+
close(): void;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=IMemoryStorage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IMemoryStorage.d.ts","sourceRoot":"","sources":["../../../../src/infra/lib/memory/IMemoryStorage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7E,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IACvC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,UAAU,EAAE,CAAC;IACtC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE,CAAC;IACpC,KAAK,IAAI,IAAI,CAAC;CACf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IMemoryStorage.js","sourceRoot":"","sources":["../../../../src/infra/lib/memory/IMemoryStorage.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { MemoryItem } from './MemoryStorage.js';
|
|
2
|
+
import type { IMemoryStorage } from './IMemoryStorage.js';
|
|
3
|
+
export declare class InMemoryStorage implements IMemoryStorage {
|
|
4
|
+
private readonly store;
|
|
5
|
+
save(key: string, value: string, category?: string, priority?: number): void;
|
|
6
|
+
recall(key: string): MemoryItem | null;
|
|
7
|
+
update(key: string, value: string): boolean;
|
|
8
|
+
delete(key: string): boolean;
|
|
9
|
+
list(category?: string): MemoryItem[];
|
|
10
|
+
search(query: string): MemoryItem[];
|
|
11
|
+
close(): void;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=InMemoryStorage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InMemoryStorage.d.ts","sourceRoot":"","sources":["../../../../src/infra/lib/memory/InMemoryStorage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,qBAAa,eAAgB,YAAW,cAAc;IACpD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiC;IAEhD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAkB,EAAE,QAAQ,GAAE,MAAU,GAAG,IAAI;IAK1F,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAQtC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAQ3C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI5B,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,UAAU,EAAE;IAUrC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE;IAOnC,KAAK,IAAI,IAAI;CAGrB"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export class InMemoryStorage {
|
|
2
|
+
store = new Map();
|
|
3
|
+
save(key, value, category = 'general', priority = 0) {
|
|
4
|
+
const timestamp = new Date().toISOString();
|
|
5
|
+
this.store.set(key, { key, value, category, timestamp, lastAccessed: timestamp, priority });
|
|
6
|
+
}
|
|
7
|
+
recall(key) {
|
|
8
|
+
const item = this.store.get(key);
|
|
9
|
+
if (!item)
|
|
10
|
+
return null;
|
|
11
|
+
const updated = { ...item, lastAccessed: new Date().toISOString() };
|
|
12
|
+
this.store.set(key, updated);
|
|
13
|
+
return updated;
|
|
14
|
+
}
|
|
15
|
+
update(key, value) {
|
|
16
|
+
const item = this.store.get(key);
|
|
17
|
+
if (!item)
|
|
18
|
+
return false;
|
|
19
|
+
const timestamp = new Date().toISOString();
|
|
20
|
+
this.store.set(key, { ...item, value, timestamp, lastAccessed: timestamp });
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
delete(key) {
|
|
24
|
+
return this.store.delete(key);
|
|
25
|
+
}
|
|
26
|
+
list(category) {
|
|
27
|
+
const items = Array.from(this.store.values());
|
|
28
|
+
const filtered = category ? items.filter(i => i.category === category) : items;
|
|
29
|
+
return filtered.sort((a, b) => {
|
|
30
|
+
const priorityDiff = (b.priority ?? 0) - (a.priority ?? 0);
|
|
31
|
+
if (priorityDiff !== 0)
|
|
32
|
+
return priorityDiff;
|
|
33
|
+
return b.timestamp.localeCompare(a.timestamp);
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
search(query) {
|
|
37
|
+
const lower = query.toLowerCase();
|
|
38
|
+
return Array.from(this.store.values()).filter(item => item.key.toLowerCase().includes(lower) || item.value.toLowerCase().includes(lower));
|
|
39
|
+
}
|
|
40
|
+
close() {
|
|
41
|
+
this.store.clear();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=InMemoryStorage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InMemoryStorage.js","sourceRoot":"","sources":["../../../../src/infra/lib/memory/InMemoryStorage.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,eAAe;IACT,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;IAEhD,IAAI,CAAC,GAAW,EAAE,KAAa,EAAE,WAAmB,SAAS,EAAE,WAAmB,CAAC;QACxF,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9F,CAAC;IAEM,MAAM,CAAC,GAAW;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,MAAM,OAAO,GAAe,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;QAChF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC7B,OAAO,OAAO,CAAC;IACjB,CAAC;IAEM,MAAM,CAAC,GAAW,EAAE,KAAa;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACxB,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,GAAW;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAEM,IAAI,CAAC,QAAiB;QAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC/E,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC5B,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;YAC3D,IAAI,YAAY,KAAK,CAAC;gBAAE,OAAO,YAAY,CAAC;YAC5C,OAAO,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,KAAa;QACzB,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAC3C,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC3F,CAAC;IACJ,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { IMemoryStorage } from './IMemoryStorage.js';
|
|
1
2
|
import Database from 'better-sqlite3';
|
|
2
3
|
import { VectorStore } from '../embedding/VectorStore.js';
|
|
3
4
|
import { EmbeddingProvider } from '../embedding/EmbeddingProvider.js';
|
|
@@ -10,7 +11,7 @@ export interface MemoryItem {
|
|
|
10
11
|
lastAccessed: string;
|
|
11
12
|
priority?: number;
|
|
12
13
|
}
|
|
13
|
-
export declare class MemoryStorage {
|
|
14
|
+
export declare class MemoryStorage implements IMemoryStorage {
|
|
14
15
|
protected db: Database.Database;
|
|
15
16
|
protected readonly dbPath: string;
|
|
16
17
|
private recallStmt;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryStorage.d.ts","sourceRoot":"","sources":["../../../../src/infra/lib/memory/MemoryStorage.ts"],"names":[],"mappings":"AAGA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAGtC,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,
|
|
1
|
+
{"version":3,"file":"MemoryStorage.d.ts","sourceRoot":"","sources":["../../../../src/infra/lib/memory/MemoryStorage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryStorage.js","sourceRoot":"","sources":["../../../../src/infra/lib/memory/MemoryStorage.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MemoryStorage.js","sourceRoot":"","sources":["../../../../src/infra/lib/memory/MemoryStorage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InMemoryStorage.test.d.ts","sourceRoot":"","sources":["../../../../../src/infra/lib/memory/__tests__/InMemoryStorage.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { describe, it, expect, beforeEach } from 'vitest';
|
|
2
|
+
import { InMemoryStorage } from '../InMemoryStorage.js';
|
|
3
|
+
describe('InMemoryStorage', () => {
|
|
4
|
+
let storage;
|
|
5
|
+
beforeEach(() => {
|
|
6
|
+
storage = new InMemoryStorage();
|
|
7
|
+
});
|
|
8
|
+
describe('save + recall round trip', () => {
|
|
9
|
+
it('saves and recalls a simple item', () => {
|
|
10
|
+
storage.save('myKey', 'myValue');
|
|
11
|
+
const item = storage.recall('myKey');
|
|
12
|
+
expect(item).not.toBeNull();
|
|
13
|
+
expect(item?.key).toBe('myKey');
|
|
14
|
+
expect(item?.value).toBe('myValue');
|
|
15
|
+
expect(item?.category).toBe('general');
|
|
16
|
+
expect(item?.priority).toBe(0);
|
|
17
|
+
});
|
|
18
|
+
it('saves with custom category and priority', () => {
|
|
19
|
+
storage.save('k', 'v', 'work', 5);
|
|
20
|
+
const item = storage.recall('k');
|
|
21
|
+
expect(item?.category).toBe('work');
|
|
22
|
+
expect(item?.priority).toBe(5);
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
describe('recall', () => {
|
|
26
|
+
it('returns null for missing key', () => {
|
|
27
|
+
expect(storage.recall('does-not-exist')).toBeNull();
|
|
28
|
+
});
|
|
29
|
+
it('updates lastAccessed on recall', () => {
|
|
30
|
+
storage.save('k', 'v');
|
|
31
|
+
const first = storage.recall('k');
|
|
32
|
+
const second = storage.recall('k');
|
|
33
|
+
expect(first?.lastAccessed).toBeDefined();
|
|
34
|
+
expect(second?.lastAccessed).toBeDefined();
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
describe('update', () => {
|
|
38
|
+
it('returns true and updates value for existing key', () => {
|
|
39
|
+
storage.save('k', 'old');
|
|
40
|
+
const result = storage.update('k', 'new');
|
|
41
|
+
expect(result).toBe(true);
|
|
42
|
+
expect(storage.recall('k')?.value).toBe('new');
|
|
43
|
+
});
|
|
44
|
+
it('returns false for missing key', () => {
|
|
45
|
+
expect(storage.update('missing', 'value')).toBe(false);
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
describe('delete', () => {
|
|
49
|
+
it('returns true and removes existing key', () => {
|
|
50
|
+
storage.save('k', 'v');
|
|
51
|
+
expect(storage.delete('k')).toBe(true);
|
|
52
|
+
expect(storage.recall('k')).toBeNull();
|
|
53
|
+
});
|
|
54
|
+
it('returns false for missing key', () => {
|
|
55
|
+
expect(storage.delete('missing')).toBe(false);
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
describe('list', () => {
|
|
59
|
+
it('returns all items when no category given', () => {
|
|
60
|
+
storage.save('a', '1', 'catA');
|
|
61
|
+
storage.save('b', '2', 'catB');
|
|
62
|
+
expect(storage.list()).toHaveLength(2);
|
|
63
|
+
});
|
|
64
|
+
it('filters by category', () => {
|
|
65
|
+
storage.save('a', '1', 'catA');
|
|
66
|
+
storage.save('b', '2', 'catB');
|
|
67
|
+
const result = storage.list('catA');
|
|
68
|
+
expect(result).toHaveLength(1);
|
|
69
|
+
expect(result[0].key).toBe('a');
|
|
70
|
+
});
|
|
71
|
+
it('sorts by priority DESC then timestamp DESC', () => {
|
|
72
|
+
storage.save('low', 'v', 'general', 1);
|
|
73
|
+
storage.save('high', 'v', 'general', 10);
|
|
74
|
+
const result = storage.list();
|
|
75
|
+
expect(result[0].key).toBe('high');
|
|
76
|
+
expect(result[1].key).toBe('low');
|
|
77
|
+
});
|
|
78
|
+
it('returns empty array when no items match category', () => {
|
|
79
|
+
storage.save('a', '1', 'catA');
|
|
80
|
+
expect(storage.list('catZ')).toHaveLength(0);
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
describe('search', () => {
|
|
84
|
+
it('finds match in key', () => {
|
|
85
|
+
storage.save('typescript-guide', 'some content');
|
|
86
|
+
const results = storage.search('typescript');
|
|
87
|
+
expect(results.some(i => i.key === 'typescript-guide')).toBe(true);
|
|
88
|
+
});
|
|
89
|
+
it('finds match in value', () => {
|
|
90
|
+
storage.save('note', 'important refactoring needed');
|
|
91
|
+
const results = storage.search('refactoring');
|
|
92
|
+
expect(results.some(i => i.key === 'note')).toBe(true);
|
|
93
|
+
});
|
|
94
|
+
it('is case-insensitive', () => {
|
|
95
|
+
storage.save('Hello', 'World');
|
|
96
|
+
expect(storage.search('hello')).toHaveLength(1);
|
|
97
|
+
expect(storage.search('WORLD')).toHaveLength(1);
|
|
98
|
+
});
|
|
99
|
+
it('returns empty array for no matches', () => {
|
|
100
|
+
storage.save('foo', 'bar');
|
|
101
|
+
expect(storage.search('zzz')).toHaveLength(0);
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
describe('close', () => {
|
|
105
|
+
it('clears all data', () => {
|
|
106
|
+
storage.save('a', '1');
|
|
107
|
+
storage.save('b', '2');
|
|
108
|
+
storage.close();
|
|
109
|
+
expect(storage.list()).toHaveLength(0);
|
|
110
|
+
expect(storage.recall('a')).toBeNull();
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
//# sourceMappingURL=InMemoryStorage.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InMemoryStorage.test.js","sourceRoot":"","sources":["../../../../../src/infra/lib/memory/__tests__/InMemoryStorage.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export { MemoryStorage, MemoryItem } from './MemoryStorage.js';
|
|
2
|
+
export type { IMemoryStorage } from './IMemoryStorage.js';
|
|
3
|
+
export { InMemoryStorage } from './InMemoryStorage.js';
|
|
2
4
|
export { KnowledgeGraph } from './KnowledgeGraph.js';
|
|
3
5
|
export { MemorySearch, SearchStrategy, SearchOptions } from './MemorySearch.js';
|
|
4
6
|
export { ObservationStore, Observation, ObservationInput, ObservationType } from './ObservationStore.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/infra/lib/memory/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGzG,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D,YAAY,EACV,QAAQ,EACR,aAAa,EACb,cAAc,EACd,UAAU,EACV,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,IAAI,EACJ,SAAS,EACT,UAAU,EACV,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,cAAc,EACd,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACV,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAElC,YAAY,EACV,cAAc,GACf,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EACV,YAAY,EACZ,eAAe,EACf,wBAAwB,EACxB,sBAAsB,EACtB,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,YAAY,EACV,WAAW,EACX,cAAc,EACd,cAAc,EACd,cAAc,GACf,MAAM,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/infra/lib/memory/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC/D,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGzG,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D,YAAY,EACV,QAAQ,EACR,aAAa,EACb,cAAc,EACd,UAAU,EACV,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,IAAI,EACJ,SAAS,EACT,UAAU,EACV,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,cAAc,EACd,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACV,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAElC,YAAY,EACV,cAAc,GACf,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EACV,YAAY,EACZ,eAAe,EACf,wBAAwB,EACxB,sBAAsB,EACtB,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,YAAY,EACV,WAAW,EACX,cAAc,EACd,cAAc,EACd,cAAc,GACf,MAAM,0BAA0B,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// Memory module exports
|
|
2
2
|
// Provides both modular components and legacy MemoryManager facade
|
|
3
3
|
export { MemoryStorage } from './MemoryStorage.js';
|
|
4
|
+
export { InMemoryStorage } from './InMemoryStorage.js';
|
|
4
5
|
export { KnowledgeGraph } from './KnowledgeGraph.js';
|
|
5
6
|
export { MemorySearch } from './MemorySearch.js';
|
|
6
7
|
export { ObservationStore } from './ObservationStore.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/infra/lib/memory/index.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,mEAAmE;AAEnE,OAAO,EAAE,aAAa,EAAc,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/infra/lib/memory/index.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,mEAAmE;AAEnE,OAAO,EAAE,aAAa,EAAc,MAAM,oBAAoB,CAAC;AAE/D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAiC,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAkD,MAAM,uBAAuB,CAAC;AAEzG,cAAc;AACd,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AA8B3D,cAAc;AACd,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAShD,qBAAqB;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAQ9D,wEAAwE;AACxE,mEAAmE"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* 원격 전송 기능 없음 — 프라이버시 우선.
|
|
8
8
|
*/
|
|
9
9
|
import { DecisionTracer, DecisionInput, DecisionRecord } from '../DecisionTracer.js';
|
|
10
|
+
import type { VibeSpan } from './VibeSpan.js';
|
|
10
11
|
export interface SkillEvent {
|
|
11
12
|
/** Schema version */
|
|
12
13
|
v: 1;
|
|
@@ -37,6 +38,7 @@ export declare class SkillTelemetry {
|
|
|
37
38
|
private readonly logPath;
|
|
38
39
|
private readonly enabled;
|
|
39
40
|
readonly decisions: DecisionTracer;
|
|
41
|
+
private readonly spanLogPath;
|
|
40
42
|
constructor(analyticsDir: string, enabled?: boolean);
|
|
41
43
|
/** 스킬 실행 이벤트 기록 */
|
|
42
44
|
log(event: Omit<SkillEvent, 'v' | 'ts' | 'os'>): void;
|
|
@@ -52,6 +54,12 @@ export declare class SkillTelemetry {
|
|
|
52
54
|
logDecision(input: DecisionInput): DecisionRecord;
|
|
53
55
|
/** Retrieve all recorded decisions */
|
|
54
56
|
getDecisions(): DecisionRecord[];
|
|
57
|
+
/** Log a structured span (v2) */
|
|
58
|
+
logSpan(span: VibeSpan): void;
|
|
59
|
+
/** Read all spans */
|
|
60
|
+
readSpans(): VibeSpan[];
|
|
61
|
+
/** Get span log file path */
|
|
62
|
+
getSpanLogPath(): string;
|
|
55
63
|
/** 로그 파일 경로 */
|
|
56
64
|
getLogPath(): string;
|
|
57
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkillTelemetry.d.ts","sourceRoot":"","sources":["../../../../src/infra/lib/telemetry/SkillTelemetry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"SkillTelemetry.d.ts","sourceRoot":"","sources":["../../../../src/infra/lib/telemetry/SkillTelemetry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAI9C,MAAM,WAAW,UAAU;IACzB,qBAAqB;IACrB,CAAC,EAAE,CAAC,CAAC;IACL,yBAAyB;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,iBAAiB;IACjB,UAAU,EAAE,WAAW,GAAG,aAAa,GAAG,WAAW,CAAC;IACtD,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc;IACd,OAAO,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;IACvC,mBAAmB;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB;IAClB,EAAE,EAAE,MAAM,CAAC;CACZ;AAID,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAID,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAEzB,YAAY,EAAE,MAAM,EAAE,OAAO,UAAO;IAWhD,mBAAmB;IACnB,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI;IAiBrD,0BAA0B;IAC1B,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAU9E,0BAA0B;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAU5E,gBAAgB;IAChB,OAAO,IAAI,UAAU,EAAE;IAevB,gBAAgB;IAChB,SAAS,IAAI,YAAY,EAAE;IA6C3B,sDAAsD;IACtD,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,cAAc;IAIjD,sCAAsC;IACtC,YAAY,IAAI,cAAc,EAAE;IAIhC,iCAAiC;IACjC,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAU7B,qBAAqB;IACrB,SAAS,IAAI,QAAQ,EAAE;IAqBvB,6BAA6B;IAC7B,cAAc,IAAI,MAAM;IAIxB,eAAe;IACf,UAAU,IAAI,MAAM;CAGrB"}
|
|
@@ -14,10 +14,12 @@ export class SkillTelemetry {
|
|
|
14
14
|
logPath;
|
|
15
15
|
enabled;
|
|
16
16
|
decisions;
|
|
17
|
+
spanLogPath;
|
|
17
18
|
constructor(analyticsDir, enabled = true) {
|
|
18
19
|
this.logPath = path.join(analyticsDir, 'skill-usage.jsonl');
|
|
19
20
|
this.enabled = enabled;
|
|
20
21
|
this.decisions = new DecisionTracer(analyticsDir, enabled);
|
|
22
|
+
this.spanLogPath = path.join(analyticsDir, 'spans.jsonl');
|
|
21
23
|
if (enabled) {
|
|
22
24
|
fs.mkdirSync(analyticsDir, { recursive: true });
|
|
23
25
|
}
|
|
@@ -120,6 +122,44 @@ export class SkillTelemetry {
|
|
|
120
122
|
getDecisions() {
|
|
121
123
|
return this.decisions.readAll();
|
|
122
124
|
}
|
|
125
|
+
/** Log a structured span (v2) */
|
|
126
|
+
logSpan(span) {
|
|
127
|
+
if (!this.enabled)
|
|
128
|
+
return;
|
|
129
|
+
try {
|
|
130
|
+
fs.appendFileSync(this.spanLogPath, JSON.stringify(span) + '\n');
|
|
131
|
+
}
|
|
132
|
+
catch {
|
|
133
|
+
// Silent fail
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
/** Read all spans */
|
|
137
|
+
readSpans() {
|
|
138
|
+
if (!fs.existsSync(this.spanLogPath))
|
|
139
|
+
return [];
|
|
140
|
+
try {
|
|
141
|
+
const content = fs.readFileSync(this.spanLogPath, 'utf-8');
|
|
142
|
+
return content
|
|
143
|
+
.trim()
|
|
144
|
+
.split('\n')
|
|
145
|
+
.filter(line => line.trim().length > 0)
|
|
146
|
+
.flatMap(line => {
|
|
147
|
+
try {
|
|
148
|
+
return [JSON.parse(line)];
|
|
149
|
+
}
|
|
150
|
+
catch {
|
|
151
|
+
return [];
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
catch {
|
|
156
|
+
return [];
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
/** Get span log file path */
|
|
160
|
+
getSpanLogPath() {
|
|
161
|
+
return this.spanLogPath;
|
|
162
|
+
}
|
|
123
163
|
/** 로그 파일 경로 */
|
|
124
164
|
getLogPath() {
|
|
125
165
|
return this.logPath;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkillTelemetry.js","sourceRoot":"","sources":["../../../../src/infra/lib/telemetry/SkillTelemetry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,cAAc,EAAiC,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"SkillTelemetry.js","sourceRoot":"","sources":["../../../../src/infra/lib/telemetry/SkillTelemetry.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { describe, it, expect, beforeEach, afterEach } from 'vitest';
|
|
|
2
2
|
import { existsSync, readFileSync } from 'fs';
|
|
3
3
|
import { createTempDir, cleanupTempDir, parseJsonl } from '../../../test-helpers/index.js';
|
|
4
4
|
import { SkillTelemetry } from './SkillTelemetry.js';
|
|
5
|
+
import { createSpan, completeSpan } from './VibeSpan.js';
|
|
5
6
|
describe('SkillTelemetry', () => {
|
|
6
7
|
let telemetry;
|
|
7
8
|
let testDir;
|
|
@@ -87,5 +88,37 @@ describe('SkillTelemetry', () => {
|
|
|
87
88
|
expect(existsSync(disabled.getLogPath())).toBe(false);
|
|
88
89
|
});
|
|
89
90
|
});
|
|
91
|
+
describe('spans', () => {
|
|
92
|
+
it('should log and read spans', () => {
|
|
93
|
+
const span = createSpan('skill_run', 'vibe.run', { skill: 'vibe.run' });
|
|
94
|
+
const completed = completeSpan(span, 'ok', 1500);
|
|
95
|
+
telemetry.logSpan(completed);
|
|
96
|
+
const spans = telemetry.readSpans();
|
|
97
|
+
expect(spans).toHaveLength(1);
|
|
98
|
+
expect(spans[0].v).toBe(2);
|
|
99
|
+
expect(spans[0].type).toBe('skill_run');
|
|
100
|
+
expect(spans[0].name).toBe('vibe.run');
|
|
101
|
+
expect(spans[0].duration_ms).toBe(1500);
|
|
102
|
+
expect(spans[0].status).toBe('ok');
|
|
103
|
+
});
|
|
104
|
+
it('should support parent spans', () => {
|
|
105
|
+
const parent = createSpan('agent_run', 'explorer');
|
|
106
|
+
const child = createSpan('llm_call', 'claude-haiku', {}, parent.id);
|
|
107
|
+
telemetry.logSpan(parent);
|
|
108
|
+
telemetry.logSpan(child);
|
|
109
|
+
const spans = telemetry.readSpans();
|
|
110
|
+
expect(spans).toHaveLength(2);
|
|
111
|
+
expect(spans[1].parent_id).toBe(spans[0].id);
|
|
112
|
+
});
|
|
113
|
+
it('should return empty array for missing span file', () => {
|
|
114
|
+
expect(telemetry.readSpans()).toEqual([]);
|
|
115
|
+
});
|
|
116
|
+
it('should not write spans when disabled', () => {
|
|
117
|
+
const disabled = new SkillTelemetry(testDir, false);
|
|
118
|
+
const span = createSpan('build', 'tsc');
|
|
119
|
+
disabled.logSpan(span);
|
|
120
|
+
expect(disabled.readSpans()).toEqual([]);
|
|
121
|
+
});
|
|
122
|
+
});
|
|
90
123
|
});
|
|
91
124
|
//# sourceMappingURL=SkillTelemetry.test.js.map
|