@kodus/cli 0.3.0 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents/agent.interface.d.ts +41 -0
- package/dist/agents/agent.interface.d.ts.map +1 -0
- package/dist/agents/agent.interface.js +2 -0
- package/dist/agents/agent.interface.js.map +1 -0
- package/dist/agents/claude-code.agent.d.ts +14 -0
- package/dist/agents/claude-code.agent.d.ts.map +1 -0
- package/dist/agents/claude-code.agent.js +79 -0
- package/dist/agents/claude-code.agent.js.map +1 -0
- package/dist/commands/memory/capture.d.ts.map +1 -1
- package/dist/commands/memory/capture.js +16 -46
- package/dist/commands/memory/capture.js.map +1 -1
- package/dist/commands/memory/disable.d.ts.map +1 -1
- package/dist/commands/memory/disable.js +7 -5
- package/dist/commands/memory/disable.js.map +1 -1
- package/dist/commands/memory/enable.d.ts +0 -1
- package/dist/commands/memory/enable.d.ts.map +1 -1
- package/dist/commands/memory/enable.js +14 -42
- package/dist/commands/memory/enable.js.map +1 -1
- package/dist/commands/memory/hooks.d.ts +0 -15
- package/dist/commands/memory/hooks.d.ts.map +1 -1
- package/dist/commands/memory/hooks.js +0 -92
- package/dist/commands/memory/hooks.js.map +1 -1
- package/dist/commands/memory/index.d.ts.map +1 -1
- package/dist/commands/memory/index.js +6 -23
- package/dist/commands/memory/index.js.map +1 -1
- package/dist/commands/memory/session-hooks/claude-code.d.ts +2 -0
- package/dist/commands/memory/session-hooks/claude-code.d.ts.map +1 -0
- package/dist/commands/memory/session-hooks/claude-code.js +21 -0
- package/dist/commands/memory/session-hooks/claude-code.js.map +1 -0
- package/dist/commands/memory/session-hooks/cursor.d.ts +2 -0
- package/dist/commands/memory/session-hooks/cursor.d.ts.map +1 -0
- package/dist/commands/memory/session-hooks/cursor.js +25 -0
- package/dist/commands/memory/session-hooks/cursor.js.map +1 -0
- package/dist/commands/memory/session-hooks/index.d.ts +3 -0
- package/dist/commands/memory/session-hooks/index.d.ts.map +1 -0
- package/dist/commands/memory/session-hooks/index.js +16 -0
- package/dist/commands/memory/session-hooks/index.js.map +1 -0
- package/dist/commands/memory/session-hooks/shared.d.ts +7 -0
- package/dist/commands/memory/session-hooks/shared.d.ts.map +1 -0
- package/dist/commands/memory/session-hooks/shared.js +76 -0
- package/dist/commands/memory/session-hooks/shared.js.map +1 -0
- package/dist/commands/memory/session-hooks-install.d.ts +9 -0
- package/dist/commands/memory/session-hooks-install.d.ts.map +1 -0
- package/dist/commands/memory/session-hooks-install.js +139 -0
- package/dist/commands/memory/session-hooks-install.js.map +1 -0
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +0 -10
- package/dist/commands/status.js.map +1 -1
- package/dist/services/api/api.interface.d.ts +5 -0
- package/dist/services/api/api.interface.d.ts.map +1 -1
- package/dist/services/api/api.real.d.ts +3 -1
- package/dist/services/api/api.real.d.ts.map +1 -1
- package/dist/services/api/api.real.js +3 -1
- package/dist/services/api/api.real.js.map +1 -1
- package/dist/services/api/index.d.ts +1 -1
- package/dist/services/api/index.d.ts.map +1 -1
- package/dist/services/api/sessions.api.d.ts +6 -0
- package/dist/services/api/sessions.api.d.ts.map +1 -0
- package/dist/services/api/sessions.api.js +119 -0
- package/dist/services/api/sessions.api.js.map +1 -0
- package/dist/services/git-hooks.service.d.ts +20 -0
- package/dist/services/git-hooks.service.d.ts.map +1 -0
- package/dist/services/git-hooks.service.js +118 -0
- package/dist/services/git-hooks.service.js.map +1 -0
- package/dist/services/hook-logger.service.d.ts +18 -0
- package/dist/services/hook-logger.service.d.ts.map +1 -0
- package/dist/services/hook-logger.service.js +47 -0
- package/dist/services/hook-logger.service.js.map +1 -0
- package/dist/services/lifecycle.service.d.ts +13 -0
- package/dist/services/lifecycle.service.d.ts.map +1 -0
- package/dist/services/lifecycle.service.js +257 -0
- package/dist/services/lifecycle.service.js.map +1 -0
- package/dist/services/session-local.service.d.ts +9 -0
- package/dist/services/session-local.service.d.ts.map +1 -0
- package/dist/services/session-local.service.js +33 -0
- package/dist/services/session-local.service.js.map +1 -0
- package/dist/services/transcript.service.d.ts +33 -0
- package/dist/services/transcript.service.d.ts.map +1 -0
- package/dist/services/transcript.service.js +233 -0
- package/dist/services/transcript.service.js.map +1 -0
- package/dist/types/memory.d.ts +0 -46
- package/dist/types/memory.d.ts.map +1 -1
- package/dist/types/session-events.d.ts +47 -0
- package/dist/types/session-events.d.ts.map +1 -0
- package/dist/types/session-events.js +2 -0
- package/dist/types/session-events.js.map +1 -0
- package/dist/types/session.d.ts +148 -0
- package/dist/types/session.d.ts.map +1 -0
- package/dist/types/session.js +5 -0
- package/dist/types/session.js.map +1 -0
- package/package.json +1 -1
- package/dist/commands/memory/promote.d.ts +0 -7
- package/dist/commands/memory/promote.d.ts.map +0 -1
- package/dist/commands/memory/promote.js +0 -42
- package/dist/commands/memory/promote.js.map +0 -1
- package/dist/commands/memory/show.d.ts +0 -2
- package/dist/commands/memory/show.d.ts.map +0 -1
- package/dist/commands/memory/show.js +0 -45
- package/dist/commands/memory/show.js.map +0 -1
- package/dist/commands/memory/status.d.ts +0 -2
- package/dist/commands/memory/status.d.ts.map +0 -1
- package/dist/commands/memory/status.js +0 -56
- package/dist/commands/memory/status.js.map +0 -1
- package/dist/services/memory.service.d.ts +0 -49
- package/dist/services/memory.service.d.ts.map +0 -1
- package/dist/services/memory.service.js +0 -508
- package/dist/services/memory.service.js.map +0 -1
- package/dist/utils/module-matcher.d.ts +0 -6
- package/dist/utils/module-matcher.d.ts.map +0 -1
- package/dist/utils/module-matcher.js +0 -99
- package/dist/utils/module-matcher.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/types/memory.ts"],"names":[],"mappings":"AAAA,MAAM,
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/types/memory.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,uBAAuB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE;QACL,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,QAAQ,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC1E,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,wBAAwB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,OAAO,CAAC;CACrB"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { AgentType, ToolCall, FileChange, TokenUsage } from './session.js';
|
|
2
|
+
export type SessionApiEventType = 'session_start' | 'turn_start' | 'turn_end' | 'subagent_start' | 'subagent_end' | 'session_end';
|
|
3
|
+
interface BaseEvent {
|
|
4
|
+
type: SessionApiEventType;
|
|
5
|
+
sessionId: string;
|
|
6
|
+
branch: string;
|
|
7
|
+
timestamp: string;
|
|
8
|
+
}
|
|
9
|
+
export interface SessionStartEvent extends BaseEvent {
|
|
10
|
+
type: 'session_start';
|
|
11
|
+
agentType: AgentType;
|
|
12
|
+
gitRemote: string;
|
|
13
|
+
baseCommit: string;
|
|
14
|
+
cliVersion: string;
|
|
15
|
+
}
|
|
16
|
+
export interface TurnStartEvent extends BaseEvent {
|
|
17
|
+
type: 'turn_start';
|
|
18
|
+
turnId: string;
|
|
19
|
+
prompt: string;
|
|
20
|
+
commitBefore: string;
|
|
21
|
+
}
|
|
22
|
+
export interface TurnEndEvent extends BaseEvent {
|
|
23
|
+
type: 'turn_end';
|
|
24
|
+
turnId: string;
|
|
25
|
+
toolCalls: ToolCall[];
|
|
26
|
+
filesModified: FileChange[];
|
|
27
|
+
filesRead: string[];
|
|
28
|
+
commands: string[];
|
|
29
|
+
tokenUsage: TokenUsage;
|
|
30
|
+
commitAfter: string;
|
|
31
|
+
}
|
|
32
|
+
export interface SubagentStartEvent extends BaseEvent {
|
|
33
|
+
type: 'subagent_start';
|
|
34
|
+
toolUseId: string;
|
|
35
|
+
subagentType: string;
|
|
36
|
+
taskDescription: string;
|
|
37
|
+
}
|
|
38
|
+
export interface SubagentEndEvent extends BaseEvent {
|
|
39
|
+
type: 'subagent_end';
|
|
40
|
+
toolUseId: string;
|
|
41
|
+
}
|
|
42
|
+
export interface SessionEndEvent extends BaseEvent {
|
|
43
|
+
type: 'session_end';
|
|
44
|
+
}
|
|
45
|
+
export type SessionApiEvent = SessionStartEvent | TurnStartEvent | TurnEndEvent | SubagentStartEvent | SubagentEndEvent | SessionEndEvent;
|
|
46
|
+
export {};
|
|
47
|
+
//# sourceMappingURL=session-events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-events.d.ts","sourceRoot":"","sources":["../../src/types/session-events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAMhF,MAAM,MAAM,mBAAmB,GAC3B,eAAe,GACf,YAAY,GACZ,UAAU,GACV,gBAAgB,GAChB,cAAc,GACd,aAAa,CAAC;AAElB,UAAU,SAAS;IACjB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD,IAAI,EAAE,eAAe,CAAC;IACtB,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAe,SAAQ,SAAS;IAC/C,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC7C,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,aAAa,EAAE,UAAU,EAAE,CAAC;IAC5B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAmB,SAAQ,SAAS;IACnD,IAAI,EAAE,gBAAgB,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IACjD,IAAI,EAAE,cAAc,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAChD,IAAI,EAAE,aAAa,CAAC;CACrB;AAED,MAAM,MAAM,eAAe,GACvB,iBAAiB,GACjB,cAAc,GACd,YAAY,GACZ,kBAAkB,GAClB,gBAAgB,GAChB,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-events.js","sourceRoot":"","sources":["../../src/types/session-events.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
export type EventType = 'SessionStart' | 'TurnStart' | 'TurnEnd' | 'SessionEnd' | 'SubagentStart' | 'SubagentEnd';
|
|
2
|
+
export interface LifecycleEvent {
|
|
3
|
+
type: EventType;
|
|
4
|
+
sessionId: string;
|
|
5
|
+
sessionRef: string;
|
|
6
|
+
prompt?: string;
|
|
7
|
+
timestamp: string;
|
|
8
|
+
toolUseId?: string;
|
|
9
|
+
subagentId?: string;
|
|
10
|
+
subagentType?: string;
|
|
11
|
+
taskDescription?: string;
|
|
12
|
+
toolInput?: unknown;
|
|
13
|
+
}
|
|
14
|
+
export interface Turn {
|
|
15
|
+
turnId: string;
|
|
16
|
+
timestamp: string;
|
|
17
|
+
prompt: string;
|
|
18
|
+
toolCalls: ToolCall[];
|
|
19
|
+
filesModified: FileChange[];
|
|
20
|
+
filesRead: string[];
|
|
21
|
+
commands: string[];
|
|
22
|
+
commitBefore: string;
|
|
23
|
+
commitAfter?: string;
|
|
24
|
+
tokenUsage: TokenUsage;
|
|
25
|
+
}
|
|
26
|
+
export interface ToolCall {
|
|
27
|
+
toolName: string;
|
|
28
|
+
toolUseId: string;
|
|
29
|
+
timestamp: string;
|
|
30
|
+
input: Record<string, unknown>;
|
|
31
|
+
output?: string;
|
|
32
|
+
/** True if this is a call to an MCP server tool */
|
|
33
|
+
isMcp: boolean;
|
|
34
|
+
mcpServer?: string;
|
|
35
|
+
fileAffected?: string;
|
|
36
|
+
}
|
|
37
|
+
export interface FileChange {
|
|
38
|
+
path: string;
|
|
39
|
+
action: 'created' | 'modified' | 'deleted';
|
|
40
|
+
}
|
|
41
|
+
export interface SessionTrace {
|
|
42
|
+
sessionId: string;
|
|
43
|
+
agentType: AgentType;
|
|
44
|
+
branch: string;
|
|
45
|
+
baseCommit: string;
|
|
46
|
+
startedAt: string;
|
|
47
|
+
endedAt?: string;
|
|
48
|
+
turns: Turn[];
|
|
49
|
+
totalTokenUsage: TokenUsage;
|
|
50
|
+
}
|
|
51
|
+
export type DecisionCategory = 'architecture' | 'business_rule' | 'pattern' | 'dependency';
|
|
52
|
+
export type DecisionOrigin = 'user' | 'agent' | 'corrected';
|
|
53
|
+
export type DecisionStatus = 'active' | 'superseded' | 'promoted';
|
|
54
|
+
export interface Decision {
|
|
55
|
+
id: string;
|
|
56
|
+
sessionId: string;
|
|
57
|
+
turnId: string;
|
|
58
|
+
timestamp: string;
|
|
59
|
+
category: DecisionCategory;
|
|
60
|
+
what: string;
|
|
61
|
+
why: string;
|
|
62
|
+
origin: DecisionOrigin;
|
|
63
|
+
userPrompt?: string;
|
|
64
|
+
agentReasoning?: string;
|
|
65
|
+
files: string[];
|
|
66
|
+
hasTradeoff: boolean;
|
|
67
|
+
tradeoffDescription?: string;
|
|
68
|
+
confidence: number;
|
|
69
|
+
status: DecisionStatus;
|
|
70
|
+
supersededBy?: string;
|
|
71
|
+
/** Set when decision is promoted to team memory */
|
|
72
|
+
memoryId?: string;
|
|
73
|
+
}
|
|
74
|
+
export interface TokenUsage {
|
|
75
|
+
inputTokens: number;
|
|
76
|
+
cacheCreationTokens: number;
|
|
77
|
+
cacheReadTokens: number;
|
|
78
|
+
outputTokens: number;
|
|
79
|
+
apiCallCount: number;
|
|
80
|
+
subagentTokens?: TokenUsage;
|
|
81
|
+
}
|
|
82
|
+
export type LogLevel = 'DEBUG' | 'INFO' | 'WARN' | 'ERROR';
|
|
83
|
+
export type LogComponent = 'hooks' | 'session' | 'checkpoint' | 'lifecycle' | 'transcript';
|
|
84
|
+
export interface LogEntry {
|
|
85
|
+
time: string;
|
|
86
|
+
level: LogLevel;
|
|
87
|
+
msg: string;
|
|
88
|
+
component: LogComponent;
|
|
89
|
+
agent?: string;
|
|
90
|
+
hook?: string;
|
|
91
|
+
hook_type?: string;
|
|
92
|
+
model_session_id?: string;
|
|
93
|
+
transcript_path?: string;
|
|
94
|
+
session_id?: string;
|
|
95
|
+
checkpoint_id?: string;
|
|
96
|
+
phase?: string;
|
|
97
|
+
error?: string;
|
|
98
|
+
duration_ms?: number;
|
|
99
|
+
[key: string]: unknown;
|
|
100
|
+
}
|
|
101
|
+
export type AgentType = 'claude-code' | 'cursor' | 'codex';
|
|
102
|
+
export declare const SUPPORTED_SESSION_AGENTS: Set<AgentType>;
|
|
103
|
+
export type ClaudeCodeHookEvent = 'session-start' | 'session-end' | 'stop' | 'user-prompt-submit' | 'pre-task' | 'post-task' | 'post-todo';
|
|
104
|
+
export interface TranscriptEntry {
|
|
105
|
+
type: string;
|
|
106
|
+
timestamp?: string;
|
|
107
|
+
message?: TranscriptMessage;
|
|
108
|
+
tool_use_id?: string;
|
|
109
|
+
tool_name?: string;
|
|
110
|
+
content?: unknown;
|
|
111
|
+
usage?: TranscriptUsage;
|
|
112
|
+
subagent_id?: string;
|
|
113
|
+
session_id?: string;
|
|
114
|
+
}
|
|
115
|
+
export interface TranscriptMessage {
|
|
116
|
+
role: string;
|
|
117
|
+
content: TranscriptContentBlock[] | string;
|
|
118
|
+
usage?: TranscriptUsage;
|
|
119
|
+
}
|
|
120
|
+
export interface TranscriptContentBlock {
|
|
121
|
+
type: string;
|
|
122
|
+
text?: string;
|
|
123
|
+
name?: string;
|
|
124
|
+
id?: string;
|
|
125
|
+
input?: Record<string, unknown>;
|
|
126
|
+
}
|
|
127
|
+
export interface TranscriptUsage {
|
|
128
|
+
input_tokens?: number;
|
|
129
|
+
output_tokens?: number;
|
|
130
|
+
cache_creation_input_tokens?: number;
|
|
131
|
+
cache_read_input_tokens?: number;
|
|
132
|
+
}
|
|
133
|
+
export interface TranscriptParseResult {
|
|
134
|
+
prompts: string[];
|
|
135
|
+
assistantMessages: string[];
|
|
136
|
+
modifiedFiles: string[];
|
|
137
|
+
tokenUsage: TokenUsage;
|
|
138
|
+
summary: string;
|
|
139
|
+
subagentIds: string[];
|
|
140
|
+
entryCount: number;
|
|
141
|
+
/** Structured tool calls extracted from assistant messages */
|
|
142
|
+
toolCalls: ToolCall[];
|
|
143
|
+
/** Files that were read (via Read tool) */
|
|
144
|
+
filesRead: string[];
|
|
145
|
+
/** Bash commands executed */
|
|
146
|
+
commands: string[];
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/types/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// Lifecycle Events (normalized from any agent)
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
export const SUPPORTED_SESSION_AGENTS = new Set(['claude-code', 'cursor', 'codex']);
|
|
5
|
+
//# sourceMappingURL=session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/types/session.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,+CAA+C;AAC/C,8EAA8E;AAoJ9E,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAY,CAAC,aAAa,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"promote.d.ts","sourceRoot":"","sources":["../../../src/commands/memory/promote.ts"],"names":[],"mappings":"AAMA,UAAU,cAAc;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAwD1E"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
|
-
import { gitService } from '../../services/git.service.js';
|
|
3
|
-
import { memoryService } from '../../services/memory.service.js';
|
|
4
|
-
import { exitWithCode } from '../../utils/cli-exit.js';
|
|
5
|
-
import { cliError, cliInfo } from '../../utils/logger.js';
|
|
6
|
-
export async function promoteAction(options) {
|
|
7
|
-
const isRepo = await gitService.isGitRepository();
|
|
8
|
-
if (!isRepo) {
|
|
9
|
-
cliError(chalk.red('Error: Not a git repository.'));
|
|
10
|
-
exitWithCode(1);
|
|
11
|
-
}
|
|
12
|
-
const repoRoot = (await gitService.getGitRoot()).trim();
|
|
13
|
-
let branch = options.branch;
|
|
14
|
-
if (!branch) {
|
|
15
|
-
try {
|
|
16
|
-
branch = (await gitService.getCurrentBranch()).trim();
|
|
17
|
-
}
|
|
18
|
-
catch {
|
|
19
|
-
cliError(chalk.red('Error: Could not determine current branch. Use --branch to specify.'));
|
|
20
|
-
exitWithCode(1);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
const moduleIds = options.modules
|
|
24
|
-
? options.modules
|
|
25
|
-
.split(',')
|
|
26
|
-
.map((m) => m.trim())
|
|
27
|
-
.filter(Boolean)
|
|
28
|
-
: undefined;
|
|
29
|
-
const result = await memoryService.promoteToModuleMemory(repoRoot, branch, moduleIds);
|
|
30
|
-
if (result.promoted === 0) {
|
|
31
|
-
cliInfo(chalk.dim('No decisions to promote.'));
|
|
32
|
-
if (result.modules.length === 0) {
|
|
33
|
-
cliInfo(chalk.dim('Check that modules.yml exists and PR memory has decisions with matching files.'));
|
|
34
|
-
}
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
cliInfo(chalk.green(`✓ Promoted ${result.promoted} decision(s) to ${result.modules.length} module(s):`));
|
|
38
|
-
for (const modId of result.modules) {
|
|
39
|
-
cliInfo(chalk.dim(` - .kody/memory/${modId}.md`));
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=promote.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"promote.js","sourceRoot":"","sources":["../../../src/commands/memory/promote.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAO1D,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAuB;IACvD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,eAAe,EAAE,CAAC;IAClD,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACpD,YAAY,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAExD,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,IAAI,CAAC;YACD,MAAM,GAAG,CAAC,MAAM,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACL,QAAQ,CACJ,KAAK,CAAC,GAAG,CACL,qEAAqE,CACxE,CACJ,CAAC;YACF,YAAY,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACL,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO;QAC7B,CAAC,CAAC,OAAO,CAAC,OAAO;aACV,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,OAAO,CAAC;QACtB,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,qBAAqB,CACpD,QAAQ,EACR,MAAM,EACN,SAAS,CACZ,CAAC;IAEF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC;QAC/C,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,CACH,KAAK,CAAC,GAAG,CACL,gFAAgF,CACnF,CACJ,CAAC;QACN,CAAC;QACD,OAAO;IACX,CAAC;IAED,OAAO,CACH,KAAK,CAAC,KAAK,CACP,cAAc,MAAM,CAAC,QAAQ,mBAAmB,MAAM,CAAC,OAAO,CAAC,MAAM,aAAa,CACrF,CACJ,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACjC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,KAAK,KAAK,CAAC,CAAC,CAAC;IACvD,CAAC;AACL,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"show.d.ts","sourceRoot":"","sources":["../../../src/commands/memory/show.ts"],"names":[],"mappings":"AAMA,wBAAsB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA4C7D"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
|
-
import { gitService } from '../../services/git.service.js';
|
|
3
|
-
import { memoryService } from '../../services/memory.service.js';
|
|
4
|
-
import { exitWithCode } from '../../utils/cli-exit.js';
|
|
5
|
-
import { cliError, cliInfo } from '../../utils/logger.js';
|
|
6
|
-
export async function showAction(name) {
|
|
7
|
-
const isRepo = await gitService.isGitRepository();
|
|
8
|
-
if (!isRepo) {
|
|
9
|
-
cliError(chalk.red('Error: Not a git repository.'));
|
|
10
|
-
exitWithCode(1);
|
|
11
|
-
}
|
|
12
|
-
const repoRoot = (await gitService.getGitRoot()).trim();
|
|
13
|
-
if (!name) {
|
|
14
|
-
// Show current branch PR memory
|
|
15
|
-
let branch;
|
|
16
|
-
try {
|
|
17
|
-
branch = (await gitService.getCurrentBranch()).trim();
|
|
18
|
-
}
|
|
19
|
-
catch {
|
|
20
|
-
cliError(chalk.red('Error: Could not determine current branch.'));
|
|
21
|
-
exitWithCode(1);
|
|
22
|
-
}
|
|
23
|
-
const prMemory = await memoryService.readPrMemory(repoRoot, branch);
|
|
24
|
-
if (!prMemory) {
|
|
25
|
-
cliInfo(chalk.dim(`No PR memory found for branch: ${branch}`));
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
cliInfo(prMemory.content);
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
// Try as module name first
|
|
32
|
-
const moduleContent = await memoryService.readModuleMemory(repoRoot, name);
|
|
33
|
-
if (moduleContent) {
|
|
34
|
-
cliInfo(moduleContent);
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
// Try as branch name
|
|
38
|
-
const branchMemory = await memoryService.readPrMemory(repoRoot, name);
|
|
39
|
-
if (branchMemory) {
|
|
40
|
-
cliInfo(branchMemory.content);
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
cliInfo(chalk.dim(`No memory found for: ${name}`));
|
|
44
|
-
}
|
|
45
|
-
//# sourceMappingURL=show.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"show.js","sourceRoot":"","sources":["../../../src/commands/memory/show.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAE1D,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAa;IAC1C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,eAAe,EAAE,CAAC;IAClD,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACpD,YAAY,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAExD,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,gCAAgC;QAChC,IAAI,MAAc,CAAC;QACnB,IAAI,CAAC;YACD,MAAM,GAAG,CAAC,MAAM,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACL,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC,CAAC;YAClE,YAAY,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACpE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,kCAAkC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC/D,OAAO;QACX,CAAC;QAED,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC1B,OAAO;IACX,CAAC;IAED,2BAA2B;IAC3B,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3E,IAAI,aAAa,EAAE,CAAC;QAChB,OAAO,CAAC,aAAa,CAAC,CAAC;QACvB,OAAO;IACX,CAAC;IAED,qBAAqB;IACrB,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACtE,IAAI,YAAY,EAAE,CAAC;QACf,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC9B,OAAO;IACX,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAC,CAAC;AACvD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/commands/memory/status.ts"],"names":[],"mappings":"AAOA,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CA4DlD"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
|
-
import { gitService } from '../../services/git.service.js';
|
|
3
|
-
import { memoryService } from '../../services/memory.service.js';
|
|
4
|
-
import { loadConfig } from '../../utils/module-matcher.js';
|
|
5
|
-
import { exitWithCode } from '../../utils/cli-exit.js';
|
|
6
|
-
import { cliError, cliInfo } from '../../utils/logger.js';
|
|
7
|
-
export async function statusAction() {
|
|
8
|
-
const isRepo = await gitService.isGitRepository();
|
|
9
|
-
if (!isRepo) {
|
|
10
|
-
cliError(chalk.red('Error: Not a git repository.'));
|
|
11
|
-
exitWithCode(1);
|
|
12
|
-
}
|
|
13
|
-
const repoRoot = (await gitService.getGitRoot()).trim();
|
|
14
|
-
let branch;
|
|
15
|
-
try {
|
|
16
|
-
branch = (await gitService.getCurrentBranch()).trim();
|
|
17
|
-
}
|
|
18
|
-
catch {
|
|
19
|
-
cliError(chalk.red('Error: Could not determine current branch.'));
|
|
20
|
-
exitWithCode(1);
|
|
21
|
-
}
|
|
22
|
-
cliInfo(chalk.bold(`Branch: ${branch}`));
|
|
23
|
-
cliInfo('');
|
|
24
|
-
// PR memory status
|
|
25
|
-
const prMemory = await memoryService.readPrMemory(repoRoot, branch);
|
|
26
|
-
if (prMemory && prMemory.meta) {
|
|
27
|
-
const meta = prMemory.meta;
|
|
28
|
-
cliInfo(chalk.green('PR Memory:'));
|
|
29
|
-
cliInfo(` Sessions: ${meta.sessionCount}`);
|
|
30
|
-
cliInfo(` Last SHA: ${meta.lastSha}`);
|
|
31
|
-
cliInfo(` Agent: ${meta.agent}`);
|
|
32
|
-
cliInfo(` Updated: ${meta.updatedAt}`);
|
|
33
|
-
// Count decisions in content
|
|
34
|
-
const decisionCount = (prMemory.content.match(/^### \[\w+\]/gm) || [])
|
|
35
|
-
.length;
|
|
36
|
-
const captureCount = (prMemory.content.match(/^### \d{4}-\d{2}-\d{2}T/gm) || []).length;
|
|
37
|
-
cliInfo(` Decisions: ${decisionCount}`);
|
|
38
|
-
cliInfo(` Captures: ${captureCount}`);
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
cliInfo(chalk.dim('No PR memory for this branch yet.'));
|
|
42
|
-
}
|
|
43
|
-
cliInfo('');
|
|
44
|
-
// Module config status
|
|
45
|
-
const config = await loadConfig(repoRoot);
|
|
46
|
-
if (config) {
|
|
47
|
-
cliInfo(chalk.green(`Module config: ${config.modules.length} module(s)`));
|
|
48
|
-
for (const mod of config.modules) {
|
|
49
|
-
cliInfo(chalk.dim(` - ${mod.id}: ${mod.paths.join(', ')}`));
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
cliInfo(chalk.dim('No module config found. Run `kodus decisions enable` to create one.'));
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
//# sourceMappingURL=status.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/commands/memory/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import type { MemoryCaptureInput, TranscriptSignals, DecisionEntry, PrMemoryMeta } from '../types/memory.js';
|
|
2
|
-
/** @deprecated Use MemoryCaptureInput from types/memory.ts */
|
|
3
|
-
export interface LegacyMemoryCaptureInput {
|
|
4
|
-
repoRoot: string;
|
|
5
|
-
headSha: string | null;
|
|
6
|
-
agent: string;
|
|
7
|
-
event: string;
|
|
8
|
-
payload?: unknown;
|
|
9
|
-
summary?: string;
|
|
10
|
-
}
|
|
11
|
-
declare class MemoryService {
|
|
12
|
-
/** @deprecated Use saveBranchCapture instead */
|
|
13
|
-
saveCapture(input: LegacyMemoryCaptureInput): Promise<string>;
|
|
14
|
-
private getLegacyMemoryFilePath;
|
|
15
|
-
getBranchMemoryPath(repoRoot: string, branch: string): string;
|
|
16
|
-
saveBranchCapture(input: MemoryCaptureInput, signals: TranscriptSignals): Promise<string>;
|
|
17
|
-
readPrMemory(repoRoot: string, branch: string): Promise<{
|
|
18
|
-
meta: PrMemoryMeta | null;
|
|
19
|
-
content: string;
|
|
20
|
-
} | null>;
|
|
21
|
-
classifyDecisions(signals: TranscriptSignals, input: MemoryCaptureInput): DecisionEntry[];
|
|
22
|
-
promoteToModuleMemory(repoRoot: string, branch: string, filterModuleIds?: string[]): Promise<{
|
|
23
|
-
promoted: number;
|
|
24
|
-
modules: string[];
|
|
25
|
-
}>;
|
|
26
|
-
readModuleMemory(repoRoot: string, moduleId: string): Promise<string | null>;
|
|
27
|
-
sanitizeBranchName(branch: string): string;
|
|
28
|
-
private getSafeSha;
|
|
29
|
-
private normalizePayload;
|
|
30
|
-
private extractLegacySignals;
|
|
31
|
-
private pickString;
|
|
32
|
-
private pickStringArray;
|
|
33
|
-
private sanitizeLine;
|
|
34
|
-
private formatLegacyEntry;
|
|
35
|
-
private formatJson;
|
|
36
|
-
private buildNewBranchFile;
|
|
37
|
-
private updateFrontmatter;
|
|
38
|
-
private parseFrontmatter;
|
|
39
|
-
private formatCaptureBlock;
|
|
40
|
-
private formatDecisionBlock;
|
|
41
|
-
private insertDecisions;
|
|
42
|
-
private generateDecisionId;
|
|
43
|
-
private extractDecisionsFromContent;
|
|
44
|
-
private ensureModuleMemoryHeader;
|
|
45
|
-
private exists;
|
|
46
|
-
}
|
|
47
|
-
export declare const memoryService: MemoryService;
|
|
48
|
-
export {};
|
|
49
|
-
//# sourceMappingURL=memory.service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"memory.service.d.ts","sourceRoot":"","sources":["../../src/services/memory.service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACR,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EAEb,YAAY,EACf,MAAM,oBAAoB,CAAC;AAG5B,8DAA8D;AAC9D,MAAM,WAAW,wBAAwB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAkCD,cAAM,aAAa;IAGf,gDAAgD;IAC1C,WAAW,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC;IA6BnE,OAAO,CAAC,uBAAuB;IAU/B,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAKvD,iBAAiB,CACnB,KAAK,EAAE,kBAAkB,EACzB,OAAO,EAAE,iBAAiB,GAC3B,OAAO,CAAC,MAAM,CAAC;IA8CZ,YAAY,CACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAWjE,iBAAiB,CACb,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,kBAAkB,GAC1B,aAAa,EAAE;IAyDZ,qBAAqB,CACvB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,eAAe,CAAC,EAAE,MAAM,EAAE,GAC3B,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAwE7C,gBAAgB,CAClB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAuBzB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAW1C,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,oBAAoB;IA2C5B,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,eAAe;IAmBvB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,iBAAiB;IAgEzB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,kBAAkB;YAeZ,iBAAiB;IA0B/B,OAAO,CAAC,gBAAgB;IA4BxB,OAAO,CAAC,kBAAkB;IA0B1B,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,2BAA2B;YA8CrB,wBAAwB;YAYxB,MAAM;CAQvB;AAED,eAAO,MAAM,aAAa,eAAsB,CAAC"}
|