sessionlog 0.0.3 → 0.0.4

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 CHANGED
@@ -120,6 +120,7 @@ All commands are exposed as async functions that return structured results:
120
120
  | `reset(options)` | Clear shadow branch and session state |
121
121
  | `explainCommit(ref, options)` | Get session details for a commit |
122
122
  | `discoverResumeInfo(branch)` | Find resumable sessions on a branch |
123
+ | `setupCcweb(options)` | Configure for Claude Code Web sessions |
123
124
 
124
125
  ### Enable
125
126
 
@@ -200,6 +201,70 @@ if (info.success && info.info) {
200
201
  }
201
202
  ```
202
203
 
204
+ ### Claude Code Web
205
+
206
+ Configure a repository for automatic sessionlog setup in [Claude Code Web](https://claude.ai/code) sessions.
207
+
208
+ **The problem:** Claude Code Web (ccweb) sessions start with a fresh environment — sessionlog isn't installed, and the ccweb proxy restricts git pushes to only the current working branch, preventing sessionlog from pushing to its `sessionlog/checkpoints/v1` shadow branch.
209
+
210
+ **The solution:** `setup-ccweb` creates a `SessionStart` hook that automatically installs and configures sessionlog on every ccweb session.
211
+
212
+ **CLI usage:**
213
+
214
+ ```bash
215
+ # Run locally in your repository
216
+ sessionlog setup-ccweb
217
+
218
+ # Commit and push the generated .claude/ directory
219
+ git add .claude/
220
+ git commit -m "Add sessionlog ccweb integration"
221
+ git push
222
+ ```
223
+
224
+ This creates two files:
225
+
226
+ - `.claude/settings.json` — registers a `SessionStart` hook that runs on every ccweb session
227
+ - `.claude/scripts/setup-env.sh` — installs sessionlog, enables it, configures GitHub direct-push access, and installs a branch push filter
228
+
229
+ **Options:**
230
+
231
+ ```bash
232
+ # Force overwrite existing setup
233
+ sessionlog setup-ccweb --force
234
+
235
+ # Customize allowed push branch prefixes
236
+ sessionlog setup-ccweb --push-prefixes "sessionlog/ my-prefix/"
237
+ ```
238
+
239
+ **Programmatic usage:**
240
+
241
+ ```typescript
242
+ import { setupCcweb } from 'sessionlog';
243
+
244
+ const result = await setupCcweb({
245
+ cwd: '/path/to/repo',
246
+ force: true,
247
+ pushPrefixes: 'sessionlog/ claude/',
248
+ });
249
+ // result: { success, settingsCreated, scriptCreated, errors }
250
+ ```
251
+
252
+ **Requirements:**
253
+
254
+ - Set `GITHUB_TOKEN` as an environment variable in your ccweb settings (needed for pushing session data to GitHub)
255
+ - Enable **Trusted** network access level in ccweb (needed to download the sessionlog npm package)
256
+
257
+ **What the SessionStart hook does on each ccweb session:**
258
+
259
+ 1. Installs sessionlog via `npm install -g sessionlog`
260
+ 2. Runs `sessionlog enable --agent claude-code --local`
261
+ 3. Configures git to push directly to GitHub using `GITHUB_TOKEN` (bypassing the ccweb proxy)
262
+ 4. Installs a `pre-push` filter that only allows pushes to `sessionlog/` and `claude/` prefixed branches (safety guardrail)
263
+
264
+ **Customizing push prefixes:**
265
+
266
+ The setup script restricts direct pushes to branches matching allowed prefixes. To modify which prefixes are allowed, either pass `--push-prefixes` during setup or edit `ALLOWED_PUSH_PREFIXES` in `.claude/scripts/setup-env.sh` directly.
267
+
203
268
  ## Agent System
204
269
 
205
270
  Register and use AI agent integrations:
package/dist/cli.js CHANGED
@@ -13,6 +13,7 @@ import './agent/agents/gemini-cli.js';
13
13
  import './agent/agents/opencode.js';
14
14
  import { enable } from './commands/enable.js';
15
15
  import { disable } from './commands/disable.js';
16
+ import { setupCcweb } from './commands/setup-ccweb.js';
16
17
  import { status, formatStatusJSON, formatTokens } from './commands/status.js';
17
18
  import { listRewindPoints, rewindTo, listRewindPointsJSON } from './commands/rewind.js';
18
19
  import { doctor, diagnose } from './commands/doctor.js';
@@ -272,6 +273,28 @@ async function cmdResume(args) {
272
273
  console.log(`\nNote: branch has advanced past checkpoint. Reset target: ${result.info.resetTargetSHA?.slice(0, 8)}`);
273
274
  }
274
275
  }
276
+ async function cmdSetupCcweb(args) {
277
+ const result = await setupCcweb({
278
+ force: hasFlag(args, '--force', '-f'),
279
+ pushPrefixes: getFlagValue(args, '--push-prefixes'),
280
+ });
281
+ if (!result.success) {
282
+ console.error('Failed to set up ccweb integration:');
283
+ for (const err of result.errors)
284
+ console.error(` ${err}`);
285
+ process.exit(1);
286
+ }
287
+ console.log('Claude Code Web integration configured.');
288
+ console.log(` Settings: ${result.settingsCreated ? 'created' : 'already exists'}`);
289
+ console.log(` Script: ${result.scriptCreated ? 'created' : 'already exists'}`);
290
+ console.log('\nNext steps:');
291
+ console.log(' 1. Commit the .claude/ directory');
292
+ console.log(' 2. Push to your repository');
293
+ console.log(' 3. Open the repo in Claude Code Web');
294
+ console.log('\nRequirements:');
295
+ console.log(' - Set GITHUB_TOKEN in your ccweb environment variables');
296
+ console.log(' - Enable "Trusted" network access level in ccweb settings');
297
+ }
275
298
  // ============================================================================
276
299
  // Git Hook Dispatch
277
300
  // ============================================================================
@@ -352,16 +375,17 @@ function printHelp() {
352
375
  Usage: sessionlog <command> [options]
353
376
 
354
377
  Commands:
355
- enable Activate Sessionlog in a repository
356
- disable Deactivate Sessionlog hooks
357
- status Show current session information
358
- rewind Browse and restore checkpoints
359
- doctor Diagnose and fix stuck sessions
360
- clean Remove orphaned data artifacts
361
- reset Clear shadow branch and session state
362
- explain Show session or commit details
363
- resume Switch branches and restore sessions
364
- version Show version
378
+ enable Activate Sessionlog in a repository
379
+ disable Deactivate Sessionlog hooks
380
+ status Show current session information
381
+ rewind Browse and restore checkpoints
382
+ doctor Diagnose and fix stuck sessions
383
+ clean Remove orphaned data artifacts
384
+ reset Clear shadow branch and session state
385
+ explain Show session or commit details
386
+ resume Switch branches and restore sessions
387
+ setup-ccweb Configure for Claude Code Web sessions
388
+ version Show version
365
389
 
366
390
  Options:
367
391
  enable --session-repo <path> Store sessions in a separate repository
@@ -398,6 +422,8 @@ async function main() {
398
422
  return cmdExplain(commandArgs);
399
423
  case 'resume':
400
424
  return cmdResume(commandArgs);
425
+ case 'setup-ccweb':
426
+ return cmdSetupCcweb(commandArgs);
401
427
  case 'hooks': {
402
428
  // `sessionlog hooks git <hook-name> [args...]`
403
429
  const subcommand = commandArgs[0];
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Setup ccweb Command
3
+ *
4
+ * Configures a repository for Sessionlog integration with Claude Code Web.
5
+ * Creates .claude/settings.json SessionStart hook and .claude/scripts/setup-env.sh
6
+ * so that sessionlog is automatically installed and enabled on every ccweb session.
7
+ *
8
+ * Inspired by the entire-setup-ccweb pattern:
9
+ * https://github.com/aromarious/entire-setup-ccweb
10
+ */
11
+ export interface SetupCcwebOptions {
12
+ /** Working directory */
13
+ cwd?: string;
14
+ /** Allowed push prefixes (space-separated, overrides template default) */
15
+ pushPrefixes?: string;
16
+ /** Force overwrite existing setup */
17
+ force?: boolean;
18
+ }
19
+ export interface SetupCcwebResult {
20
+ success: boolean;
21
+ settingsCreated: boolean;
22
+ scriptCreated: boolean;
23
+ errors: string[];
24
+ }
25
+ /**
26
+ * Set up a repository for Sessionlog on Claude Code Web.
27
+ *
28
+ * This creates:
29
+ * 1. `.claude/settings.json` — adds a SessionStart hook that runs the setup script
30
+ * 2. `.claude/scripts/setup-env.sh` — installs sessionlog, enables it, configures push access
31
+ *
32
+ * After running this command, commit the `.claude/` directory and push. When the
33
+ * repository is opened in ccweb, sessionlog will be automatically installed and
34
+ * configured on every session start.
35
+ */
36
+ export declare function setupCcweb(options?: SetupCcwebOptions): Promise<SetupCcwebResult>;
37
+ //# sourceMappingURL=setup-ccweb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-ccweb.d.ts","sourceRoot":"","sources":["../../src/commands/setup-ccweb.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAoBH,MAAM,WAAW,iBAAiB;IAChC,wBAAwB;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,qCAAqC;IACrC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAgCD;;;;;;;;;;GAUG;AACH,wBAAsB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA0C3F"}
@@ -0,0 +1,192 @@
1
+ /**
2
+ * Setup ccweb Command
3
+ *
4
+ * Configures a repository for Sessionlog integration with Claude Code Web.
5
+ * Creates .claude/settings.json SessionStart hook and .claude/scripts/setup-env.sh
6
+ * so that sessionlog is automatically installed and enabled on every ccweb session.
7
+ *
8
+ * Inspired by the entire-setup-ccweb pattern:
9
+ * https://github.com/aromarious/entire-setup-ccweb
10
+ */
11
+ import * as fs from 'node:fs';
12
+ import * as path from 'node:path';
13
+ import { createRequire } from 'node:module';
14
+ import { isGitRepository, getWorktreeRoot } from '../git-operations.js';
15
+ // ============================================================================
16
+ // Constants
17
+ // ============================================================================
18
+ const CLAUDE_SCRIPTS_DIR = '.claude/scripts';
19
+ const CLAUDE_SETTINGS_FILE = '.claude/settings.json';
20
+ const SETUP_SCRIPT_FILE = '.claude/scripts/setup-env.sh';
21
+ const SETUP_HOOK_COMMAND = 'sh .claude/scripts/setup-env.sh';
22
+ // ============================================================================
23
+ // Implementation
24
+ // ============================================================================
25
+ /**
26
+ * Set up a repository for Sessionlog on Claude Code Web.
27
+ *
28
+ * This creates:
29
+ * 1. `.claude/settings.json` — adds a SessionStart hook that runs the setup script
30
+ * 2. `.claude/scripts/setup-env.sh` — installs sessionlog, enables it, configures push access
31
+ *
32
+ * After running this command, commit the `.claude/` directory and push. When the
33
+ * repository is opened in ccweb, sessionlog will be automatically installed and
34
+ * configured on every session start.
35
+ */
36
+ export async function setupCcweb(options = {}) {
37
+ const cwd = options.cwd ?? process.cwd();
38
+ const errors = [];
39
+ // Validate git repository
40
+ if (!(await isGitRepository(cwd))) {
41
+ return {
42
+ success: false,
43
+ settingsCreated: false,
44
+ scriptCreated: false,
45
+ errors: ['Not a git repository'],
46
+ };
47
+ }
48
+ const root = await getWorktreeRoot(cwd);
49
+ // Create directories
50
+ const scriptsDir = path.join(root, CLAUDE_SCRIPTS_DIR);
51
+ await fs.promises.mkdir(scriptsDir, { recursive: true });
52
+ // Update .claude/settings.json
53
+ let settingsCreated = false;
54
+ try {
55
+ settingsCreated = await updateClaudeSettings(root, options.force);
56
+ }
57
+ catch (e) {
58
+ errors.push(`Failed to update settings: ${e instanceof Error ? e.message : String(e)}`);
59
+ }
60
+ // Create/update setup script
61
+ let scriptCreated = false;
62
+ try {
63
+ scriptCreated = await writeSetupScript(root, options);
64
+ }
65
+ catch (e) {
66
+ errors.push(`Failed to write setup script: ${e instanceof Error ? e.message : String(e)}`);
67
+ }
68
+ return {
69
+ success: errors.length === 0,
70
+ settingsCreated,
71
+ scriptCreated,
72
+ errors,
73
+ };
74
+ }
75
+ // ============================================================================
76
+ // Settings Management
77
+ // ============================================================================
78
+ /**
79
+ * Add the SessionStart hook to .claude/settings.json
80
+ */
81
+ async function updateClaudeSettings(root, force = false) {
82
+ const settingsPath = path.join(root, CLAUDE_SETTINGS_FILE);
83
+ let settings = {};
84
+ // Read existing settings
85
+ try {
86
+ const content = await fs.promises.readFile(settingsPath, 'utf-8');
87
+ settings = JSON.parse(content);
88
+ }
89
+ catch {
90
+ // No existing settings — start fresh
91
+ }
92
+ if (!settings.hooks)
93
+ settings.hooks = {};
94
+ // Check if our hook is already installed
95
+ const sessionStartHooks = settings.hooks.SessionStart ?? [];
96
+ const hasOurHook = sessionStartHooks.some((m) => m.hooks.some((h) => h.command.includes('setup-env.sh')));
97
+ if (hasOurHook && !force) {
98
+ return false; // Already installed
99
+ }
100
+ if (hasOurHook && force) {
101
+ // Remove existing hook for reinstall
102
+ settings.hooks.SessionStart = sessionStartHooks.filter((m) => !m.hooks.some((h) => h.command.includes('setup-env.sh')));
103
+ }
104
+ // Add SessionStart hook
105
+ const matchers = settings.hooks.SessionStart ?? [];
106
+ matchers.push({
107
+ matcher: '',
108
+ hooks: [
109
+ {
110
+ type: 'command',
111
+ command: SETUP_HOOK_COMMAND,
112
+ },
113
+ ],
114
+ });
115
+ settings.hooks.SessionStart = matchers;
116
+ // Add bash permission for the setup script
117
+ if (!settings.permissions)
118
+ settings.permissions = {};
119
+ if (!settings.permissions.allow)
120
+ settings.permissions.allow = [];
121
+ const allowEntry = `Bash(sh .claude/scripts/setup-env.sh)`;
122
+ if (!settings.permissions.allow.includes(allowEntry)) {
123
+ settings.permissions.allow.push(allowEntry);
124
+ }
125
+ // Write settings
126
+ const dir = path.dirname(settingsPath);
127
+ await fs.promises.mkdir(dir, { recursive: true });
128
+ await fs.promises.writeFile(settingsPath, JSON.stringify(settings, null, 2) + '\n');
129
+ return true;
130
+ }
131
+ // ============================================================================
132
+ // Setup Script
133
+ // ============================================================================
134
+ /**
135
+ * Write the setup-env.sh script from the bundled template.
136
+ * Preserves user-customized ALLOWED_PUSH_PREFIXES on update.
137
+ */
138
+ async function writeSetupScript(root, options) {
139
+ const scriptPath = path.join(root, SETUP_SCRIPT_FILE);
140
+ // Check if script already exists
141
+ let existingContent = '';
142
+ try {
143
+ existingContent = await fs.promises.readFile(scriptPath, 'utf-8');
144
+ }
145
+ catch {
146
+ // File doesn't exist
147
+ }
148
+ if (existingContent && !options.force) {
149
+ // Preserve existing script unless --force
150
+ return false;
151
+ }
152
+ // Preserve user-customized ALLOWED_PUSH_PREFIXES from existing script
153
+ let pushPrefixes = options.pushPrefixes ?? 'sessionlog/ claude/';
154
+ if (existingContent && !options.pushPrefixes) {
155
+ const match = existingContent.match(/^ALLOWED_PUSH_PREFIXES="([^"]*)"$/m);
156
+ if (match) {
157
+ pushPrefixes = match[1];
158
+ }
159
+ }
160
+ // Load the template
161
+ const template = loadTemplate();
162
+ // Apply push prefixes customization
163
+ const content = template.replace(/^ALLOWED_PUSH_PREFIXES="[^"]*"$/m, `ALLOWED_PUSH_PREFIXES="${pushPrefixes}"`);
164
+ await fs.promises.writeFile(scriptPath, content, { mode: 0o755 });
165
+ return true;
166
+ }
167
+ /**
168
+ * Load the setup-env.sh template.
169
+ * Tries the bundled template first (from package dist), then falls back to
170
+ * the source template for development.
171
+ */
172
+ function loadTemplate() {
173
+ const require = createRequire(import.meta.url);
174
+ // Try relative paths from the compiled output location (dist/commands/)
175
+ const thisDir = path.dirname(new URL(import.meta.url).pathname);
176
+ const candidates = [
177
+ // Installed via npm: template is in templates/ relative to package root
178
+ path.resolve(path.dirname(require.resolve('../../package.json')), 'templates', 'setup-env.sh'),
179
+ // Development: template is in templates/ at repo root (from dist/commands/ or src/commands/)
180
+ path.resolve(thisDir, '..', '..', 'templates', 'setup-env.sh'),
181
+ ];
182
+ for (const candidate of candidates) {
183
+ try {
184
+ return fs.readFileSync(candidate, 'utf-8');
185
+ }
186
+ catch {
187
+ // Try next candidate
188
+ }
189
+ }
190
+ throw new Error('Could not find setup-env.sh template. Ensure the templates/ directory is included in the package.');
191
+ }
192
+ //# sourceMappingURL=setup-ccweb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-ccweb.js","sourceRoot":"","sources":["../../src/commands/setup-ccweb.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Event Log
3
+ *
4
+ * Appends checkpoint events to a JSONL file (.sessionlog/events.jsonl)
5
+ * for consumption by external systems (e.g., MAP session sync).
6
+ *
7
+ * Sessionlog runs as standalone git hooks (separate processes), so
8
+ * in-process callbacks don't work across process boundaries. This
9
+ * file-based event log bridges that gap.
10
+ */
11
+ import type { TokenUsage } from '../types.js';
12
+ /** Event written to the JSONL log after a checkpoint is committed. */
13
+ export interface CheckpointEvent {
14
+ type: 'checkpoint_committed';
15
+ timestamp: string;
16
+ checkpointID: string;
17
+ sessionID: string;
18
+ agent: string;
19
+ branch?: string;
20
+ filesTouched: string[];
21
+ checkpointsCount: number;
22
+ tokenUsage?: TokenUsage;
23
+ }
24
+ export interface EventLogOptions {
25
+ /** Keep only the last N events. 0 or undefined means keep all. */
26
+ maxEvents?: number;
27
+ }
28
+ /**
29
+ * Append a checkpoint event to the event log file and optionally prune.
30
+ *
31
+ * @param cwd - Repository root directory
32
+ * @param event - The checkpoint event to record
33
+ * @param opts - Optional retention settings
34
+ */
35
+ export declare function appendCheckpointEvent(cwd: string, event: CheckpointEvent, opts?: EventLogOptions): Promise<void>;
36
+ /**
37
+ * Read all checkpoint events from the event log file.
38
+ *
39
+ * @param cwd - Repository root directory
40
+ * @returns Array of events in chronological order (oldest first)
41
+ */
42
+ export declare function readCheckpointEvents(cwd: string): CheckpointEvent[];
43
+ //# sourceMappingURL=event-log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-log.d.ts","sourceRoot":"","sources":["../../src/events/event-log.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAO9C,sEAAsE;AACtE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,sBAAsB,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,eAAe,EACtB,IAAI,CAAC,EAAE,eAAe,GACrB,OAAO,CAAC,IAAI,CAAC,CAgBf;AAMD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,EAAE,CAqBnE"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Event Log
3
+ *
4
+ * Appends checkpoint events to a JSONL file (.sessionlog/events.jsonl)
5
+ * for consumption by external systems (e.g., MAP session sync).
6
+ *
7
+ * Sessionlog runs as standalone git hooks (separate processes), so
8
+ * in-process callbacks don't work across process boundaries. This
9
+ * file-based event log bridges that gap.
10
+ */
11
+ import * as fs from 'node:fs';
12
+ import * as path from 'node:path';
13
+ import { SESSIONLOG_EVENTS_FILE } from '../types.js';
14
+ import { atomicWriteFile } from '../git-operations.js';
15
+ // ============================================================================
16
+ // Write
17
+ // ============================================================================
18
+ /**
19
+ * Append a checkpoint event to the event log file and optionally prune.
20
+ *
21
+ * @param cwd - Repository root directory
22
+ * @param event - The checkpoint event to record
23
+ * @param opts - Optional retention settings
24
+ */
25
+ export async function appendCheckpointEvent(cwd, event, opts) {
26
+ const filePath = path.join(cwd, SESSIONLOG_EVENTS_FILE);
27
+ const line = JSON.stringify(event) + '\n';
28
+ // Ensure directory exists
29
+ const dir = path.dirname(filePath);
30
+ await fs.promises.mkdir(dir, { recursive: true });
31
+ // Append the new event
32
+ await fs.promises.appendFile(filePath, line, 'utf-8');
33
+ // Prune if maxEvents is configured
34
+ const maxEvents = opts?.maxEvents;
35
+ if (maxEvents && maxEvents > 0) {
36
+ await pruneEventLog(filePath, maxEvents);
37
+ }
38
+ }
39
+ // ============================================================================
40
+ // Read
41
+ // ============================================================================
42
+ /**
43
+ * Read all checkpoint events from the event log file.
44
+ *
45
+ * @param cwd - Repository root directory
46
+ * @returns Array of events in chronological order (oldest first)
47
+ */
48
+ export function readCheckpointEvents(cwd) {
49
+ const filePath = path.join(cwd, SESSIONLOG_EVENTS_FILE);
50
+ let content;
51
+ try {
52
+ content = fs.readFileSync(filePath, 'utf-8');
53
+ }
54
+ catch {
55
+ return [];
56
+ }
57
+ const events = [];
58
+ for (const line of content.split('\n')) {
59
+ const trimmed = line.trim();
60
+ if (!trimmed)
61
+ continue;
62
+ try {
63
+ events.push(JSON.parse(trimmed));
64
+ }
65
+ catch {
66
+ // Skip malformed lines
67
+ }
68
+ }
69
+ return events;
70
+ }
71
+ // ============================================================================
72
+ // Prune
73
+ // ============================================================================
74
+ /**
75
+ * Trim the event log to the last N entries.
76
+ */
77
+ async function pruneEventLog(filePath, maxEvents) {
78
+ let content;
79
+ try {
80
+ content = await fs.promises.readFile(filePath, 'utf-8');
81
+ }
82
+ catch {
83
+ return;
84
+ }
85
+ const lines = content.split('\n').filter((l) => l.trim().length > 0);
86
+ if (lines.length <= maxEvents)
87
+ return;
88
+ const kept = lines.slice(-maxEvents);
89
+ await atomicWriteFile(filePath, kept.join('\n') + '\n');
90
+ }
91
+ //# sourceMappingURL=event-log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-log.js","sourceRoot":"","sources":["../../src/events/event-log.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -15,7 +15,7 @@ export { VERSION };
15
15
  */
16
16
  export declare function getVersion(): string;
17
17
  export type { AgentName, AgentType, HookType, HookInput, Event, SessionPhase, SessionState, PromptAttribution, TokenUsage, CheckpointID, Checkpoint, CheckpointSummary, CommittedMetadata, SessionFilePaths, Summary, LearningsSummary, CodeLearning, InitialAttribution, RewindPoint, WriteTemporaryOptions, WriteTemporaryResult, WriteCommittedOptions, UpdateCommittedOptions, SessionChange, SessionlogSettings, } from './types.js';
18
- export { AGENT_NAMES, AGENT_TYPES, DEFAULT_AGENT_NAME, EventType, CheckpointType, CHECKPOINT_ID_LENGTH, CHECKPOINT_ID_PATTERN, CHECKPOINTS_BRANCH, SHADOW_BRANCH_PREFIX, SESSIONLOG_DIR, SESSIONLOG_METADATA_DIR, SESSIONLOG_TMP_DIR, SESSIONLOG_SETTINGS_FILE, SESSIONLOG_SETTINGS_LOCAL_FILE, SESSION_DIR_NAME, MAX_CHUNK_SIZE, DEFAULT_SETTINGS, validateCheckpointID, checkpointIDPath, emptyTokenUsage, addTokenUsage, } from './types.js';
18
+ export { AGENT_NAMES, AGENT_TYPES, DEFAULT_AGENT_NAME, EventType, CheckpointType, CHECKPOINT_ID_LENGTH, CHECKPOINT_ID_PATTERN, CHECKPOINTS_BRANCH, SHADOW_BRANCH_PREFIX, SESSIONLOG_DIR, SESSIONLOG_METADATA_DIR, SESSIONLOG_TMP_DIR, SESSIONLOG_SETTINGS_FILE, SESSIONLOG_SETTINGS_LOCAL_FILE, SESSIONLOG_EVENTS_FILE, SESSION_DIR_NAME, MAX_CHUNK_SIZE, DEFAULT_SETTINGS, validateCheckpointID, checkpointIDPath, emptyTokenUsage, addTokenUsage, } from './types.js';
19
19
  export { git, gitSafe, getGitDir, getGitCommonDir, getWorktreeRoot, isGitRepository, getSessionsDir, getHead, getShortHash, getCurrentBranch, refExists, getTreeHash, listBranches, hashObject, mktree, commitTree, lsTree, catFile, showFile, log, diffNameOnly, diffStat, hasUncommittedChanges, getUntrackedFiles, isOnDefaultBranch, pushBranch, getGitAuthor, resolveGitDirSync, atomicWriteFile, initSessionRepo, resolveSessionRepoPath, getProjectID, GitError, type GitAuthor, type GitExecOptions, } from './git-operations.js';
20
20
  export { createSessionStore, normalizeSessionState, type SessionStore, } from './store/session-store.js';
21
21
  export { createCheckpointStore, type CheckpointStore } from './store/checkpoint-store.js';
@@ -39,11 +39,14 @@ export { listRewindPoints, rewindTo, listRewindPointsJSON, type RewindOptions, t
39
39
  export { diagnose, discardSession, doctor, type StuckSession, type DoctorResult, type DoctorOptions, } from './commands/doctor.js';
40
40
  export { findOrphaned, clean, type CleanupItem, type CleanResult, type CleanOptions, } from './commands/clean.js';
41
41
  export { reset, type ResetOptions, type ResetResult } from './commands/reset.js';
42
+ export { setupCcweb, type SetupCcwebOptions, type SetupCcwebResult, } from './commands/setup-ccweb.js';
42
43
  export { listCheckpoints, getCheckpointDetail, getCheckpointTranscript, explainCommit, findCheckpointByPrefix, type CheckpointDetail, type CheckpointListItem, type ExplainOptions, type CommitExplainResult, } from './commands/explain.js';
43
44
  export { discoverResumeInfo, listResumableBranches, type ResumeInfo, type ResumeOptions, type ResumeResult, } from './commands/resume.js';
44
45
  export { createManualCommitStrategy, hasUserContent, stripCheckpointTrailer, type ManualCommitStrategyConfig, } from './strategy/manual-commit.js';
45
46
  export type { Strategy, OrphanedItem, OrphanedItemType } from './strategy/types.js';
47
+ export { appendCheckpointEvent, readCheckpointEvents, type CheckpointEvent, type EventLogOptions, } from './events/event-log.js';
46
48
  export { STRATEGY_NAME_MANUAL_COMMIT, MAX_COMMIT_TRAVERSAL_DEPTH } from './strategy/types.js';
49
+ export type { SessionSyncCheckpoint, SessionSyncTokenUsage, SessionSyncSummary, SessionSyncAttribution, } from './wire-types.js';
47
50
  export { parseStrategy, parseMetadata, parseTaskMetadata, parseBaseCommit, parseCondensation, parseSession, parseCheckpoint as parseCheckpointTrailer, parseAllSessions, formatStrategy, formatMetadata, formatShadowCommit, formatShadowTaskCommit, formatCheckpoint as formatCheckpointTrailer, formatSourceRef, MetadataTrailerKey, StrategyTrailerKey, SessionTrailerKey, CheckpointTrailerKey, BaseCommitTrailerKey, } from './utils/trailers.js';
48
51
  export { stripIDEContextTags } from './utils/ide-tags.js';
49
52
  export { truncateRunes, collapseWhitespace, capitalizeFirst, countLines, } from './utils/string-utils.js';