@swarmify/agents-cli 1.7.1 → 1.8.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.
@@ -0,0 +1,170 @@
1
+ import { summarizeToolUse } from './parse.js';
2
+ /**
3
+ * Render session as a conversation transcript.
4
+ * Shows user messages, assistant text, and tool calls as one-liners.
5
+ */
6
+ export function renderTranscript(events) {
7
+ const lines = [];
8
+ let lastRole = null;
9
+ for (const event of events) {
10
+ if (event.type === 'message') {
11
+ // Add separator between turns
12
+ if (lastRole && lastRole !== event.role) {
13
+ lines.push('');
14
+ }
15
+ if (event.role === 'user') {
16
+ lines.push(`> ${event.content}`);
17
+ lines.push('');
18
+ }
19
+ else {
20
+ lines.push(event.content || '');
21
+ }
22
+ lastRole = event.role || null;
23
+ }
24
+ else if (event.type === 'tool_use') {
25
+ const summary = summarizeToolUse(event.tool || 'unknown', event.args);
26
+ lines.push(` [${summary}]`);
27
+ lastRole = 'tool';
28
+ }
29
+ else if (event.type === 'error') {
30
+ lines.push(` [ERROR: ${event.content || event.tool || 'unknown'}]`);
31
+ lastRole = 'error';
32
+ }
33
+ // Skip: thinking, tool_result, init, result (too noisy for transcript)
34
+ }
35
+ return lines.join('\n');
36
+ }
37
+ /**
38
+ * Render session as an activity summary (fingerprint).
39
+ * Shows files touched, commands run, and the final message.
40
+ */
41
+ export function renderSummary(events) {
42
+ const filesRead = new Set();
43
+ const filesModified = new Set();
44
+ const commands = [];
45
+ let firstUserMessage = '';
46
+ let lastAssistantMessage = '';
47
+ for (const event of events) {
48
+ if (event.type === 'message') {
49
+ if (event.role === 'user' && !firstUserMessage) {
50
+ firstUserMessage = event.content || '';
51
+ }
52
+ if (event.role === 'assistant' && event.content) {
53
+ lastAssistantMessage = event.content;
54
+ }
55
+ }
56
+ else if (event.type === 'tool_use') {
57
+ const tool = event.tool || '';
58
+ const p = event.path || event.args?.file_path || event.args?.path || '';
59
+ // Classify file operations
60
+ if (['Read', 'read_file', 'view_file', 'cat_file', 'get_file'].includes(tool)) {
61
+ if (p)
62
+ filesRead.add(shortenPath(p));
63
+ }
64
+ else if (['Write', 'Edit', 'write_file', 'edit_file', 'create_file', 'replace', 'patch'].includes(tool)) {
65
+ if (p)
66
+ filesModified.add(shortenPath(p));
67
+ }
68
+ // Collect commands
69
+ if (event.command) {
70
+ const cmd = event.command.replace(/\n/g, ' ').trim();
71
+ if (cmd.length <= 120) {
72
+ commands.push(cmd);
73
+ }
74
+ else {
75
+ commands.push(cmd.slice(0, 117) + '...');
76
+ }
77
+ }
78
+ }
79
+ }
80
+ const sections = [];
81
+ if (firstUserMessage) {
82
+ const truncated = firstUserMessage.length > 200
83
+ ? firstUserMessage.slice(0, 197) + '...'
84
+ : firstUserMessage;
85
+ sections.push(`Prompt: ${truncated}`);
86
+ }
87
+ if (filesRead.size > 0) {
88
+ sections.push(`\nFiles read: ${filesRead.size}`);
89
+ for (const f of filesRead) {
90
+ sections.push(` ${f}`);
91
+ }
92
+ }
93
+ if (filesModified.size > 0) {
94
+ sections.push(`\nFiles modified: ${filesModified.size}`);
95
+ for (const f of filesModified) {
96
+ sections.push(` ${f}`);
97
+ }
98
+ }
99
+ if (commands.length > 0) {
100
+ sections.push(`\nCommands: ${commands.length}`);
101
+ for (const cmd of commands) {
102
+ sections.push(` ${cmd}`);
103
+ }
104
+ }
105
+ if (lastAssistantMessage) {
106
+ const truncated = lastAssistantMessage.length > 300
107
+ ? lastAssistantMessage.slice(0, 297) + '...'
108
+ : lastAssistantMessage;
109
+ sections.push(`\nFinal message:\n${truncated}`);
110
+ }
111
+ return sections.join('\n');
112
+ }
113
+ /**
114
+ * Render session as a markdown trace (for GitHub gist uploads).
115
+ * Structure: Agent Reasoning section + Full Conversation section.
116
+ */
117
+ export function renderTrace(events) {
118
+ const reasoning = [];
119
+ const conversation = [];
120
+ for (const event of events) {
121
+ if (event.type === 'thinking' && event.content) {
122
+ reasoning.push(event.content);
123
+ }
124
+ if (event.type === 'message') {
125
+ if (event.role === 'user') {
126
+ conversation.push(`## User\n\n${event.content}`);
127
+ }
128
+ else if (event.role === 'assistant' && event.content) {
129
+ conversation.push(`## Agent\n\n${event.content}`);
130
+ }
131
+ }
132
+ else if (event.type === 'tool_use') {
133
+ const tool = event.tool || 'unknown';
134
+ if (event.command) {
135
+ conversation.push(`## Tool: ${tool}\n\n\`\`\`bash\n${event.command}\n\`\`\``);
136
+ }
137
+ else if (event.path) {
138
+ conversation.push(`## Tool: ${tool}\n\n\`${shortenPath(event.path)}\``);
139
+ }
140
+ else {
141
+ const summary = summarizeToolUse(tool, event.args);
142
+ conversation.push(`## Tool: ${tool}\n\n${summary}`);
143
+ }
144
+ }
145
+ else if (event.type === 'error') {
146
+ conversation.push(`## Error\n\n${event.content || 'Unknown error'}`);
147
+ }
148
+ }
149
+ const parts = [];
150
+ if (reasoning.length > 0) {
151
+ parts.push('# Agent Reasoning\n');
152
+ parts.push(reasoning.join('\n\n---\n\n'));
153
+ }
154
+ parts.push('\n\n# Full Conversation\n');
155
+ parts.push(conversation.join('\n\n'));
156
+ return parts.join('\n');
157
+ }
158
+ /**
159
+ * Render session as JSON (normalized events).
160
+ */
161
+ export function renderJson(events) {
162
+ return JSON.stringify(events, null, 2);
163
+ }
164
+ function shortenPath(p) {
165
+ const home = process.env.HOME || '';
166
+ if (home && p.startsWith(home))
167
+ return '~' + p.slice(home.length);
168
+ return p;
169
+ }
170
+ //# sourceMappingURL=render.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/lib/session/render.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ export type SessionAgentId = 'claude' | 'codex' | 'gemini';
2
+ export declare const SESSION_AGENTS: SessionAgentId[];
3
+ export interface SessionEvent {
4
+ type: 'message' | 'tool_use' | 'tool_result' | 'thinking' | 'error' | 'init' | 'result';
5
+ agent: SessionAgentId;
6
+ timestamp: string;
7
+ role?: 'user' | 'assistant';
8
+ content?: string;
9
+ tool?: string;
10
+ args?: Record<string, any>;
11
+ path?: string;
12
+ command?: string;
13
+ success?: boolean;
14
+ output?: string;
15
+ }
16
+ export interface SessionMeta {
17
+ id: string;
18
+ shortId: string;
19
+ agent: SessionAgentId;
20
+ timestamp: string;
21
+ project?: string;
22
+ cwd?: string;
23
+ filePath: string;
24
+ gitBranch?: string;
25
+ messageCount?: number;
26
+ }
27
+ export type ViewMode = 'transcript' | 'summary' | 'trace' | 'json';
28
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/session/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE3D,eAAO,MAAM,cAAc,EAAE,cAAc,EAAkC,CAAC;AAE9E,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,GAAG,UAAU,GAAG,aAAa,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IACxF,KAAK,EAAE,cAAc,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,cAAc,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC"}
@@ -0,0 +1,2 @@
1
+ export const SESSION_AGENTS = ['claude', 'codex', 'gemini'];
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/session/types.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@swarmify/agents-cli",
3
- "version": "1.7.1",
3
+ "version": "1.8.0",
4
4
  "description": "One CLI for all your AI coding agents - versions, skills, MCP servers, rules, hooks, and permissions",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",