@kodus/cli 0.4.5 → 0.4.8

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.
Files changed (55) hide show
  1. package/dist/agents/claude-code.agent.d.ts.map +1 -1
  2. package/dist/agents/claude-code.agent.js +4 -1
  3. package/dist/agents/claude-code.agent.js.map +1 -1
  4. package/dist/agents/codex.agent.d.ts +14 -0
  5. package/dist/agents/codex.agent.d.ts.map +1 -0
  6. package/dist/agents/codex.agent.js +77 -0
  7. package/dist/agents/codex.agent.js.map +1 -0
  8. package/dist/agents/cursor.agent.d.ts +29 -0
  9. package/dist/agents/cursor.agent.d.ts.map +1 -0
  10. package/dist/agents/cursor.agent.js +85 -0
  11. package/dist/agents/cursor.agent.js.map +1 -0
  12. package/dist/commands/memory/disable.d.ts.map +1 -1
  13. package/dist/commands/memory/disable.js +10 -5
  14. package/dist/commands/memory/disable.js.map +1 -1
  15. package/dist/commands/memory/enable.d.ts.map +1 -1
  16. package/dist/commands/memory/enable.js +24 -7
  17. package/dist/commands/memory/enable.js.map +1 -1
  18. package/dist/commands/memory/session-hooks/claude-code.d.ts.map +1 -1
  19. package/dist/commands/memory/session-hooks/claude-code.js +4 -1
  20. package/dist/commands/memory/session-hooks/claude-code.js.map +1 -1
  21. package/dist/commands/memory/session-hooks/codex.d.ts +2 -0
  22. package/dist/commands/memory/session-hooks/codex.d.ts.map +1 -0
  23. package/dist/commands/memory/session-hooks/codex.js +16 -0
  24. package/dist/commands/memory/session-hooks/codex.js.map +1 -0
  25. package/dist/commands/memory/session-hooks/cursor.d.ts.map +1 -1
  26. package/dist/commands/memory/session-hooks/cursor.js +7 -12
  27. package/dist/commands/memory/session-hooks/cursor.js.map +1 -1
  28. package/dist/commands/memory/session-hooks/index.d.ts.map +1 -1
  29. package/dist/commands/memory/session-hooks/index.js +7 -1
  30. package/dist/commands/memory/session-hooks/index.js.map +1 -1
  31. package/dist/commands/memory/session-hooks-install-codex.d.ts +19 -0
  32. package/dist/commands/memory/session-hooks-install-codex.d.ts.map +1 -0
  33. package/dist/commands/memory/session-hooks-install-codex.js +91 -0
  34. package/dist/commands/memory/session-hooks-install-codex.js.map +1 -0
  35. package/dist/commands/memory/session-hooks-install-cursor.d.ts +9 -0
  36. package/dist/commands/memory/session-hooks-install-cursor.d.ts.map +1 -0
  37. package/dist/commands/memory/session-hooks-install-cursor.js +119 -0
  38. package/dist/commands/memory/session-hooks-install-cursor.js.map +1 -0
  39. package/dist/commands/memory/session-hooks-install.d.ts.map +1 -1
  40. package/dist/commands/memory/session-hooks-install.js +3 -2
  41. package/dist/commands/memory/session-hooks-install.js.map +1 -1
  42. package/dist/services/lifecycle.service.d.ts +1 -0
  43. package/dist/services/lifecycle.service.d.ts.map +1 -1
  44. package/dist/services/lifecycle.service.js +76 -2
  45. package/dist/services/lifecycle.service.js.map +1 -1
  46. package/dist/services/session-local.service.d.ts +16 -0
  47. package/dist/services/session-local.service.d.ts.map +1 -1
  48. package/dist/services/session-local.service.js +49 -0
  49. package/dist/services/session-local.service.js.map +1 -1
  50. package/dist/types/session.d.ts +3 -1
  51. package/dist/types/session.d.ts.map +1 -1
  52. package/dist/utils/skills-sync.d.ts.map +1 -1
  53. package/dist/utils/skills-sync.js +12 -0
  54. package/dist/utils/skills-sync.js.map +1 -1
  55. package/package.json +2 -2
@@ -0,0 +1,91 @@
1
+ import fs from 'fs/promises';
2
+ import path from 'path';
3
+ const SESSION_HOOK_MARKER = 'kodus decisions hooks codex';
4
+ /**
5
+ * Installs Codex session tracking hooks into ~/.codex/config.toml.
6
+ *
7
+ * Codex uses TOML [[hooks]] arrays:
8
+ * [[hooks]]
9
+ * event = "AfterAgent"
10
+ * command = "kodus decisions hooks codex AfterAgent"
11
+ *
12
+ * Currently only AfterAgent is useful (maps to TurnEnd).
13
+ */
14
+ export async function installCodexSessionHooks(configPath) {
15
+ let content = '';
16
+ try {
17
+ content = await fs.readFile(configPath, 'utf-8');
18
+ }
19
+ catch (error) {
20
+ if (error.code !== 'ENOENT') {
21
+ throw error;
22
+ }
23
+ }
24
+ // Check if already installed
25
+ if (content.includes(SESSION_HOOK_MARKER)) {
26
+ return { configPath, changed: false };
27
+ }
28
+ const hookBlock = [
29
+ '',
30
+ '[[hooks]]',
31
+ 'event = "AfterAgent"',
32
+ `command = "${SESSION_HOOK_MARKER} AfterAgent"`,
33
+ '',
34
+ ].join('\n');
35
+ const nextContent = content.trim().length === 0
36
+ ? hookBlock.trim() + '\n'
37
+ : content.replace(/\s*$/, '') + '\n' + hookBlock;
38
+ await fs.mkdir(path.dirname(configPath), { recursive: true });
39
+ await fs.writeFile(configPath, nextContent, 'utf-8');
40
+ return { configPath, changed: true };
41
+ }
42
+ export async function removeCodexSessionHooks(configPath) {
43
+ let content;
44
+ try {
45
+ content = await fs.readFile(configPath, 'utf-8');
46
+ }
47
+ catch {
48
+ return { configPath, removed: false };
49
+ }
50
+ if (!content.includes(SESSION_HOOK_MARKER)) {
51
+ return { configPath, removed: false };
52
+ }
53
+ // Remove [[hooks]] blocks that contain our marker command.
54
+ // A hook block starts with [[hooks]] and ends before the next
55
+ // [[something]] or end of file.
56
+ const lines = content.split('\n');
57
+ const resultLines = [];
58
+ let i = 0;
59
+ while (i < lines.length) {
60
+ const line = lines[i];
61
+ if (line.trim() === '[[hooks]]') {
62
+ // Peek ahead — if this block contains our marker, skip it
63
+ const blockLines = getTomlBlock(lines, i);
64
+ if (blockLines.some((l) => l.includes(SESSION_HOOK_MARKER))) {
65
+ i += blockLines.length;
66
+ continue;
67
+ }
68
+ }
69
+ resultLines.push(line);
70
+ i++;
71
+ }
72
+ const nextContent = resultLines
73
+ .join('\n')
74
+ .replace(/\n{3,}/g, '\n\n')
75
+ .replace(/^\n+/, '')
76
+ .replace(/\n*$/, '\n');
77
+ await fs.writeFile(configPath, nextContent === '\n' ? '' : nextContent, 'utf-8');
78
+ return { configPath, removed: true };
79
+ }
80
+ function getTomlBlock(lines, startIndex) {
81
+ const block = [lines[startIndex]];
82
+ for (let i = startIndex + 1; i < lines.length; i++) {
83
+ const trimmed = lines[i].trim();
84
+ if (trimmed.startsWith('[[') || trimmed.startsWith('[')) {
85
+ break;
86
+ }
87
+ block.push(lines[i]);
88
+ }
89
+ return block;
90
+ }
91
+ //# sourceMappingURL=session-hooks-install-codex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-hooks-install-codex.js","sourceRoot":"","sources":["../../../src/commands/memory/session-hooks-install-codex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,mBAAmB,GAAG,6BAA6B,CAAC;AAE1D;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC1C,UAAkB;IAElB,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,CAAC;QACD,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrD,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;IAED,6BAA6B;IAC7B,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACxC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC1C,CAAC;IAED,MAAM,SAAS,GAAG;QACd,EAAE;QACF,WAAW;QACX,sBAAsB;QACtB,cAAc,mBAAmB,cAAc;QAC/C,EAAE;KACL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,WAAW,GACb,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QACvB,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,IAAI;QACzB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IAEzD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAErD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CACzC,UAAkB;IAElB,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACD,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC1C,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACzC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC1C,CAAC;IAED,2DAA2D;IAC3D,8DAA8D;IAC9D,gCAAgC;IAChC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAEtB,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,WAAW,EAAE,CAAC;YAC9B,0DAA0D;YAC1D,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC1C,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC;gBAC1D,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC;gBACvB,SAAS;YACb,CAAC;QACL,CAAC;QAED,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC,EAAE,CAAC;IACR,CAAC;IAED,MAAM,WAAW,GAAG,WAAW;SAC1B,IAAI,CAAC,IAAI,CAAC;SACV,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC;SAC1B,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;SACnB,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE3B,MAAM,EAAE,CAAC,SAAS,CACd,UAAU,EACV,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EACvC,OAAO,CACV,CAAC;IAEF,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACzC,CAAC;AAED,SAAS,YAAY,CAAC,KAAe,EAAE,UAAkB;IACrD,MAAM,KAAK,GAAa,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IAC5C,KAAK,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACjD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACtD,MAAM;QACV,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC"}
@@ -0,0 +1,9 @@
1
+ export declare function installCursorSessionHooks(repoRoot: string): Promise<{
2
+ settingsPath: string;
3
+ changed: boolean;
4
+ }>;
5
+ export declare function removeCursorSessionHooks(repoRoot: string): Promise<{
6
+ settingsPath: string;
7
+ removed: boolean;
8
+ }>;
9
+ //# sourceMappingURL=session-hooks-install-cursor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-hooks-install-cursor.d.ts","sourceRoot":"","sources":["../../../src/commands/memory/session-hooks-install-cursor.ts"],"names":[],"mappings":"AAsFA,wBAAsB,yBAAyB,CAC3C,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAoCrD;AAED,wBAAsB,wBAAwB,CAC1C,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAiDrD"}
@@ -0,0 +1,119 @@
1
+ import fs from 'fs/promises';
2
+ import path from 'path';
3
+ const SESSIONS_HOOK_PREFIX = 'kodus decisions hooks cursor';
4
+ function isRecord(value) {
5
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
6
+ }
7
+ function isSessionsHookCommand(command) {
8
+ return command.includes('kodus decisions hooks');
9
+ }
10
+ async function readCursorHooksConfig(filePath) {
11
+ try {
12
+ const content = await fs.readFile(filePath, 'utf-8');
13
+ const parsed = JSON.parse(content);
14
+ if (!isRecord(parsed)) {
15
+ return { version: 1, hooks: {} };
16
+ }
17
+ const rawHooks = isRecord(parsed.hooks) ? parsed.hooks : {};
18
+ // Validate that each hook value is an array of objects with `command`
19
+ const hooks = {};
20
+ for (const [key, value] of Object.entries(rawHooks)) {
21
+ if (Array.isArray(value)) {
22
+ hooks[key] = value.filter((e) => isRecord(e) && typeof e.command === 'string');
23
+ }
24
+ }
25
+ return {
26
+ version: typeof parsed.version === 'number' ? parsed.version : 1,
27
+ hooks,
28
+ };
29
+ }
30
+ catch (error) {
31
+ if (error.code === 'ENOENT') {
32
+ return { version: 1, hooks: {} };
33
+ }
34
+ // Malformed JSON — start fresh rather than crashing
35
+ if (error instanceof SyntaxError) {
36
+ return { version: 1, hooks: {} };
37
+ }
38
+ throw error;
39
+ }
40
+ }
41
+ function upsertHook(hooks, eventName, command) {
42
+ const entries = hooks[eventName] ?? [];
43
+ hooks[eventName] = entries;
44
+ // Check if exact command already exists
45
+ if (entries.some((e) => e.command === command)) {
46
+ return false;
47
+ }
48
+ // Replace existing kodus sessions hook if present
49
+ for (const entry of entries) {
50
+ if (isSessionsHookCommand(entry.command)) {
51
+ entry.command = command;
52
+ return true;
53
+ }
54
+ }
55
+ entries.push({ command });
56
+ return true;
57
+ }
58
+ export async function installCursorSessionHooks(repoRoot) {
59
+ const settingsPath = path.join(repoRoot, '.cursor', 'hooks.json');
60
+ const config = await readCursorHooksConfig(settingsPath);
61
+ const cmd = (hookEvent) => `${SESSIONS_HOOK_PREFIX} ${hookEvent}`;
62
+ let changed = false;
63
+ changed =
64
+ upsertHook(config.hooks, 'sessionStart', cmd('sessionStart')) ||
65
+ changed;
66
+ changed =
67
+ upsertHook(config.hooks, 'sessionEnd', cmd('sessionEnd')) || changed;
68
+ changed = upsertHook(config.hooks, 'stop', cmd('stop')) || changed;
69
+ changed =
70
+ upsertHook(config.hooks, 'beforeSubmitPrompt', cmd('beforeSubmitPrompt')) || changed;
71
+ changed =
72
+ upsertHook(config.hooks, 'subagentStart', cmd('subagentStart')) ||
73
+ changed;
74
+ changed =
75
+ upsertHook(config.hooks, 'subagentStop', cmd('subagentStop')) ||
76
+ changed;
77
+ if (changed) {
78
+ await fs.mkdir(path.dirname(settingsPath), { recursive: true });
79
+ await fs.writeFile(settingsPath, `${JSON.stringify(config, null, 2)}\n`, 'utf-8');
80
+ }
81
+ return { settingsPath, changed };
82
+ }
83
+ export async function removeCursorSessionHooks(repoRoot) {
84
+ const settingsPath = path.join(repoRoot, '.cursor', 'hooks.json');
85
+ let config;
86
+ try {
87
+ config = await readCursorHooksConfig(settingsPath);
88
+ }
89
+ catch {
90
+ return { settingsPath, removed: false };
91
+ }
92
+ let removed = false;
93
+ for (const eventName of Object.keys(config.hooks)) {
94
+ const entries = config.hooks[eventName];
95
+ if (!Array.isArray(entries)) {
96
+ continue;
97
+ }
98
+ const filtered = entries.filter((e) => !isSessionsHookCommand(e.command));
99
+ if (filtered.length < entries.length) {
100
+ removed = true;
101
+ }
102
+ if (filtered.length === 0) {
103
+ delete config.hooks[eventName];
104
+ }
105
+ else {
106
+ config.hooks[eventName] = filtered;
107
+ }
108
+ }
109
+ if (removed) {
110
+ if (Object.keys(config.hooks).length === 0) {
111
+ await fs.writeFile(settingsPath, JSON.stringify({ version: 1, hooks: {} }, null, 2) + '\n', 'utf-8');
112
+ }
113
+ else {
114
+ await fs.writeFile(settingsPath, `${JSON.stringify(config, null, 2)}\n`, 'utf-8');
115
+ }
116
+ }
117
+ return { settingsPath, removed };
118
+ }
119
+ //# sourceMappingURL=session-hooks-install-cursor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-hooks-install-cursor.js","sourceRoot":"","sources":["../../../src/commands/memory/session-hooks-install-cursor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"session-hooks-install.d.ts","sourceRoot":"","sources":["../../../src/commands/memory/session-hooks-install.ts"],"names":[],"mappings":"AAyGA,wBAAsB,mBAAmB,CACrC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAmCrD;AAED,wBAAsB,kBAAkB,CACpC,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CA8ErD"}
1
+ {"version":3,"file":"session-hooks-install.d.ts","sourceRoot":"","sources":["../../../src/commands/memory/session-hooks-install.ts"],"names":[],"mappings":"AAyGA,wBAAsB,mBAAmB,CACrC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAoCrD;AAED,wBAAsB,kBAAkB,CACpC,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CA8ErD"}
@@ -94,9 +94,10 @@ export async function installSessionHooks(repoRoot, agentName) {
94
94
  upsertHook(hooks, 'UserPromptSubmit', '', cmd('user-prompt-submit')) ||
95
95
  changed;
96
96
  changed =
97
- upsertHook(hooks, 'PreToolUse', 'Task', cmd('pre-task')) || changed;
97
+ upsertHook(hooks, 'SubagentStart', '', cmd('subagent-start')) ||
98
+ changed;
98
99
  changed =
99
- upsertHook(hooks, 'PostToolUse', 'Task', cmd('post-task')) || changed;
100
+ upsertHook(hooks, 'SubagentStop', '', cmd('subagent-stop')) || changed;
100
101
  changed =
101
102
  upsertHook(hooks, 'PostToolUse', 'TodoWrite', cmd('post-todo')) ||
102
103
  changed;
@@ -1 +1 @@
1
- {"version":3,"file":"session-hooks-install.js","sourceRoot":"","sources":["../../../src/commands/memory/session-hooks-install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-hooks-install.js","sourceRoot":"","sources":["../../../src/commands/memory/session-hooks-install.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ declare class LifecycleService {
6
6
  private handleTurnEnd;
7
7
  private handleSessionEnd;
8
8
  private handleSubagentStart;
9
+ private cleanupStaleSessions;
9
10
  private handleSubagentEnd;
10
11
  }
11
12
  export declare const lifecycleService: LifecycleService;
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.service.d.ts","sourceRoot":"","sources":["../../src/services/lifecycle.service.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACR,cAAc,EACd,SAAS,EAIZ,MAAM,qBAAqB,CAAC;AA2B7B,cAAM,gBAAgB;IACZ,QAAQ,CACV,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,cAAc,GACtB,OAAO,CAAC,IAAI,CAAC;YA6BF,kBAAkB;YAoClB,eAAe;YAuDf,aAAa;YA6Fb,gBAAgB;YA8BhB,mBAAmB;YAyDnB,iBAAiB;CA4BlC;AAeD,eAAO,MAAM,gBAAgB,kBAAyB,CAAC"}
1
+ {"version":3,"file":"lifecycle.service.d.ts","sourceRoot":"","sources":["../../src/services/lifecycle.service.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACR,cAAc,EACd,SAAS,EAIZ,MAAM,qBAAqB,CAAC;AA2B7B,cAAM,gBAAgB;IACZ,QAAQ,CACV,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,cAAc,GACtB,OAAO,CAAC,IAAI,CAAC;YA6BF,kBAAkB;YAuClB,eAAe;YAuDf,aAAa;YAiJb,gBAAgB;YA8BhB,mBAAmB;YAyDnB,oBAAoB;YAwCpB,iBAAiB;CA4BlC;AAeD,eAAO,MAAM,gBAAgB,kBAAyB,CAAC"}
@@ -2,7 +2,7 @@ import { createRequire } from 'node:module';
2
2
  import { gitService } from './git.service.js';
3
3
  import { hookLogger } from './hook-logger.service.js';
4
4
  import { transcriptService } from './transcript.service.js';
5
- import { saveLocal, loadLocal, removeLocal } from './session-local.service.js';
5
+ import { saveLocal, loadLocal, removeLocal, listStaleSessions, } from './session-local.service.js';
6
6
  import { api } from './api/index.js';
7
7
  const require = createRequire(import.meta.url);
8
8
  const pkg = require('../../package.json');
@@ -57,6 +57,8 @@ class LifecycleService {
57
57
  model_session_id: event.sessionId,
58
58
  transcript_path: event.sessionRef,
59
59
  });
60
+ // Clean up stale sessions from previous crashes (> 30 min old)
61
+ await this.cleanupStaleSessions(repoRoot, agentType);
60
62
  const [branch, baseCommit, gitRemote] = await Promise.all([
61
63
  getBranch(),
62
64
  getHead(),
@@ -124,9 +126,42 @@ class LifecycleService {
124
126
  model_session_id: event.sessionId,
125
127
  });
126
128
  const local = await loadLocal(repoRoot, event.sessionId);
127
- const turnId = local?.turnId ?? '';
129
+ // Dedup: if this turn was already completed (e.g. Stop + PostToolUse
130
+ // both firing TurnEnd), skip the duplicate.
131
+ if (local?.turnCompleted) {
132
+ await hookLogger.info('turn-end-dedup-skipped', 'lifecycle', {
133
+ agent: agentType,
134
+ model_session_id: event.sessionId,
135
+ turn_id: local.turnId,
136
+ });
137
+ return;
138
+ }
128
139
  const transcriptPath = local?.transcriptPath ?? event.sessionRef ?? '';
129
140
  const transcriptOffset = local?.transcriptOffset ?? 0;
141
+ // When local state is missing it means turn_start never fired
142
+ // (e.g. UserPromptSubmit hook didn't trigger). Generate a synthetic
143
+ // turn_start so the backend always receives a matching pair.
144
+ const turnId = local?.turnId ?? `${Date.now()}`;
145
+ if (!local) {
146
+ await hookLogger.warn('turn-end-without-turn-start', 'lifecycle', {
147
+ agent: agentType,
148
+ model_session_id: event.sessionId,
149
+ synthetic_turn_id: turnId,
150
+ });
151
+ const [synthBranch, synthCommit] = await Promise.all([
152
+ getBranch(),
153
+ getHead(),
154
+ ]);
155
+ sendEvent({
156
+ type: 'turn_start',
157
+ sessionId: event.sessionId,
158
+ branch: synthBranch,
159
+ timestamp: new Date().toISOString(),
160
+ turnId,
161
+ prompt: '',
162
+ commitBefore: synthCommit,
163
+ }, repoRoot);
164
+ }
130
165
  const emptyTokenUsage = {
131
166
  inputTokens: 0,
132
167
  cacheCreationTokens: 0,
@@ -168,6 +203,16 @@ class LifecycleService {
168
203
  getBranch(),
169
204
  getHead(),
170
205
  ]);
206
+ // Mark turn as completed BEFORE sending the event to prevent
207
+ // duplicate turn_end from Stop + PostToolUse(TodoWrite) both firing.
208
+ // Save even for synthetic turns (when local was null) so subsequent
209
+ // TurnEnd calls for the same session are deduped.
210
+ await saveLocal(repoRoot, event.sessionId, {
211
+ turnId,
212
+ transcriptPath,
213
+ transcriptOffset,
214
+ turnCompleted: true,
215
+ });
171
216
  sendEvent({
172
217
  type: 'turn_end',
173
218
  sessionId: event.sessionId,
@@ -237,6 +282,35 @@ class LifecycleService {
237
282
  }, repoRoot);
238
283
  }
239
284
  // -------------------------------------------------------------------------
285
+ // Stale Session Cleanup
286
+ // -------------------------------------------------------------------------
287
+ async cleanupStaleSessions(repoRoot, agentType) {
288
+ const STALE_THRESHOLD_MS = 30 * 60 * 1000; // 30 minutes
289
+ try {
290
+ const stale = await listStaleSessions(repoRoot, STALE_THRESHOLD_MS);
291
+ if (stale.length === 0) {
292
+ return;
293
+ }
294
+ const branch = await getBranch();
295
+ for (const { sessionId } of stale) {
296
+ await hookLogger.info('stale-session-cleanup', 'lifecycle', {
297
+ agent: agentType,
298
+ stale_session_id: sessionId,
299
+ });
300
+ sendEvent({
301
+ type: 'session_end',
302
+ sessionId,
303
+ branch,
304
+ timestamp: new Date().toISOString(),
305
+ }, repoRoot);
306
+ await removeLocal(repoRoot, sessionId);
307
+ }
308
+ }
309
+ catch {
310
+ // Best-effort cleanup — never block the current session
311
+ }
312
+ }
313
+ // -------------------------------------------------------------------------
240
314
  // Subagent End (post-task)
241
315
  // -------------------------------------------------------------------------
242
316
  async handleSubagentEnd(repoRoot, agentType, event) {
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.service.js","sourceRoot":"","sources":["../../src/services/lifecycle.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle.service.js","sourceRoot":"","sources":["../../src/services/lifecycle.service.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,24 @@ export interface LocalSessionData {
2
2
  turnId: string;
3
3
  transcriptPath: string;
4
4
  transcriptOffset: number;
5
+ /** Set to true after turn_end is sent — prevents duplicate turn_end events */
6
+ turnCompleted?: boolean;
5
7
  }
6
8
  export declare function saveLocal(repoRoot: string, sessionId: string, data: LocalSessionData): Promise<void>;
7
9
  export declare function loadLocal(repoRoot: string, sessionId: string): Promise<LocalSessionData | null>;
8
10
  export declare function removeLocal(repoRoot: string, sessionId: string): Promise<void>;
11
+ /**
12
+ * Mark the current turn as completed to prevent duplicate turn_end events
13
+ * (e.g. Stop + PostToolUse(TodoWrite) both triggering TurnEnd).
14
+ */
15
+ export declare function markTurnCompleted(repoRoot: string, sessionId: string): Promise<void>;
16
+ export interface StaleSession {
17
+ sessionId: string;
18
+ ageMs: number;
19
+ }
20
+ /**
21
+ * List session files older than maxAgeMs.
22
+ * Used on SessionStart to detect orphaned sessions from previous crashes.
23
+ */
24
+ export declare function listStaleSessions(repoRoot: string, maxAgeMs: number): Promise<StaleSession[]>;
9
25
  //# sourceMappingURL=session-local.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-local.service.d.ts","sourceRoot":"","sources":["../../src/services/session-local.service.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;CAC5B;AAYD,wBAAsB,SAAS,CAC3B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,gBAAgB,GACvB,OAAO,CAAC,IAAI,CAAC,CAIf;AAED,wBAAsB,SAAS,CAC3B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAUlC;AAED,wBAAsB,WAAW,CAC7B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAMf"}
1
+ {"version":3,"file":"session-local.service.d.ts","sourceRoot":"","sources":["../../src/services/session-local.service.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,8EAA8E;IAC9E,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B;AAYD,wBAAsB,SAAS,CAC3B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,gBAAgB,GACvB,OAAO,CAAC,IAAI,CAAC,CAIf;AAED,wBAAsB,SAAS,CAC3B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAUlC;AAED,wBAAsB,WAAW,CAC7B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAMf;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACnC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAQf;AAED,MAAM,WAAW,YAAY;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACnC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,YAAY,EAAE,CAAC,CAgCzB"}
@@ -30,4 +30,53 @@ export async function removeLocal(repoRoot, sessionId) {
30
30
  // Ignore if file doesn't exist
31
31
  }
32
32
  }
33
+ /**
34
+ * Mark the current turn as completed to prevent duplicate turn_end events
35
+ * (e.g. Stop + PostToolUse(TodoWrite) both triggering TurnEnd).
36
+ */
37
+ export async function markTurnCompleted(repoRoot, sessionId) {
38
+ const data = await loadLocal(repoRoot, sessionId);
39
+ if (!data) {
40
+ return;
41
+ }
42
+ data.turnCompleted = true;
43
+ const filePath = sessionPath(repoRoot, sessionId);
44
+ await fs.writeFile(filePath, JSON.stringify(data) + '\n', 'utf-8');
45
+ }
46
+ /**
47
+ * List session files older than maxAgeMs.
48
+ * Used on SessionStart to detect orphaned sessions from previous crashes.
49
+ */
50
+ export async function listStaleSessions(repoRoot, maxAgeMs) {
51
+ const dir = path.join(repoRoot, SESSION_DIR);
52
+ let entries;
53
+ try {
54
+ entries = await fs.readdir(dir);
55
+ }
56
+ catch {
57
+ return [];
58
+ }
59
+ const now = Date.now();
60
+ const stale = [];
61
+ for (const entry of entries) {
62
+ if (!entry.endsWith('.json')) {
63
+ continue;
64
+ }
65
+ try {
66
+ const filePath = path.join(dir, entry);
67
+ const stat = await fs.stat(filePath);
68
+ const ageMs = now - stat.mtimeMs;
69
+ if (ageMs > maxAgeMs) {
70
+ stale.push({
71
+ sessionId: entry.replace(/\.json$/, ''),
72
+ ageMs,
73
+ });
74
+ }
75
+ }
76
+ catch {
77
+ // Skip files we can't stat
78
+ }
79
+ }
80
+ return stale;
81
+ }
33
82
  //# sourceMappingURL=session-local.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-local.service.js","sourceRoot":"","sources":["../../src/services/session-local.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AAQxB,MAAM,WAAW,GAAG,gBAAgB,CAAC;AAErC,SAAS,WAAW,CAAC,QAAgB,EAAE,SAAiB;IACpD,6EAA6E;IAC7E,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC3B,QAAgB,EAChB,SAAiB,EACjB,IAAsB;IAEtB,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAClD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC3B,QAAgB,EAChB,SAAiB;IAEjB,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAC7B,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,EAChC,OAAO,CACV,CAAC;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAqB,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC7B,QAAgB,EAChB,SAAiB;IAEjB,IAAI,CAAC;QACD,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACL,+BAA+B;IACnC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"session-local.service.js","sourceRoot":"","sources":["../../src/services/session-local.service.ts"],"names":[],"mappings":"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"}
@@ -100,7 +100,9 @@ export interface LogEntry {
100
100
  }
101
101
  export type AgentType = 'claude-code' | 'cursor' | 'codex';
102
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';
103
+ export type ClaudeCodeHookEvent = 'session-start' | 'session-end' | 'stop' | 'user-prompt-submit' | 'subagent-start' | 'subagent-stop' | 'post-todo' | 'pre-task' | 'post-task';
104
+ export type CursorHookEvent = 'sessionStart' | 'sessionEnd' | 'stop' | 'beforeSubmitPrompt' | 'subagentStart' | 'subagentStop';
105
+ export type CodexHookEvent = 'AfterAgent' | 'AfterToolUse';
104
106
  export interface TranscriptEntry {
105
107
  type: string;
106
108
  timestamp?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/types/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/types/session.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"skills-sync.d.ts","sourceRoot":"","sources":["../../src/utils/skills-sync.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,oBAAoB,EAAqB,MAAM,aAAa,CAAC;AAG3E,eAAO,MAAM,wBAAwB,+FAI3B,CAAC;AAKX,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,SAAS,CAAC;AAClD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,CAAC;AAE7D,MAAM,WAAW,eAAe;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,eAAe,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IAClC,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,gBAAgB;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,MAAM,CAAC,EAAE,oBAAoB,EAAE,CAAC;CACnC;AA4MD,wBAAgB,4BAA4B,CACxC,GAAG,SAAgB,EACnB,OAAO,SAAe,GACvB,eAAe,EAAE,CA+JnB;AAYD,wBAAsB,mBAAmB,CACrC,OAAO,EAAE,eAAe,EAAE,EAC1B,OAAO,GAAE,gBAAqB,GAC/B,OAAO,CAAC,eAAe,CAAC,CAiH1B"}
1
+ {"version":3,"file":"skills-sync.d.ts","sourceRoot":"","sources":["../../src/utils/skills-sync.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,oBAAoB,EAAqB,MAAM,aAAa,CAAC;AAG3E,eAAO,MAAM,wBAAwB,+FAI3B,CAAC;AAKX,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,SAAS,CAAC;AAClD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,CAAC;AAE7D,MAAM,WAAW,eAAe;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,eAAe,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IAClC,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,gBAAgB;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,MAAM,CAAC,EAAE,oBAAoB,EAAE,CAAC;CACnC;AA4MD,wBAAgB,4BAA4B,CACxC,GAAG,SAAgB,EACnB,OAAO,SAAe,GACvB,eAAe,EAAE,CA2KnB;AAYD,wBAAsB,mBAAmB,CACrC,OAAO,EAAE,eAAe,EAAE,EAC1B,OAAO,GAAE,gBAAqB,GAC/B,OAAO,CAAC,eAAe,CAAC,CAiH1B"}
@@ -310,6 +310,18 @@ export function buildDefaultSkillSyncTargets(cwd = process.cwd(), homeDir = os.h
310
310
  activationPath: path.join(cwd, '.gemini'),
311
311
  baseDir: path.join(cwd, '.gemini', 'skills'),
312
312
  },
313
+ {
314
+ label: 'Kiro project skills',
315
+ type: 'skill',
316
+ activationPath: path.join(cwd, '.kiro'),
317
+ baseDir: path.join(cwd, '.kiro', 'skills'),
318
+ },
319
+ {
320
+ label: 'Kiro user skills',
321
+ type: 'skill',
322
+ activationPath: path.join(homeDir, '.kiro'),
323
+ baseDir: path.join(homeDir, '.kiro', 'skills'),
324
+ },
313
325
  ];
314
326
  }
315
327
  async function loadSkillsForSync(skills) {