@cleocode/adapters 2026.4.0 → 2026.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/index.d.ts +9 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +724 -630
- package/dist/index.js.map +3 -3
- package/dist/providers/claude-code/adapter.d.ts +21 -1
- package/dist/providers/claude-code/adapter.d.ts.map +1 -1
- package/dist/providers/claude-code/context-monitor.d.ts +11 -0
- package/dist/providers/claude-code/context-monitor.d.ts.map +1 -1
- package/dist/providers/claude-code/hooks.d.ts +7 -0
- package/dist/providers/claude-code/hooks.d.ts.map +1 -1
- package/dist/providers/claude-code/index.d.ts +16 -1
- package/dist/providers/claude-code/index.d.ts.map +1 -1
- package/dist/providers/claude-code/install.d.ts +10 -18
- package/dist/providers/claude-code/install.d.ts.map +1 -1
- package/dist/providers/claude-code/paths.d.ts +8 -0
- package/dist/providers/claude-code/paths.d.ts.map +1 -1
- package/dist/providers/claude-code/spawn.d.ts +7 -0
- package/dist/providers/claude-code/spawn.d.ts.map +1 -1
- package/dist/providers/claude-code/statusline.d.ts +44 -0
- package/dist/providers/claude-code/statusline.d.ts.map +1 -1
- package/dist/providers/claude-code/task-sync.d.ts +8 -0
- package/dist/providers/claude-code/task-sync.d.ts.map +1 -1
- package/dist/providers/claude-code/transport.d.ts +11 -0
- package/dist/providers/claude-code/transport.d.ts.map +1 -1
- package/dist/providers/codex/adapter.d.ts +14 -1
- package/dist/providers/codex/adapter.d.ts.map +1 -1
- package/dist/providers/codex/hooks.d.ts +6 -0
- package/dist/providers/codex/hooks.d.ts.map +1 -1
- package/dist/providers/codex/index.d.ts +16 -1
- package/dist/providers/codex/index.d.ts.map +1 -1
- package/dist/providers/codex/install.d.ts +8 -17
- package/dist/providers/codex/install.d.ts.map +1 -1
- package/dist/providers/cursor/adapter.d.ts +15 -1
- package/dist/providers/cursor/adapter.d.ts.map +1 -1
- package/dist/providers/cursor/hooks.d.ts +7 -0
- package/dist/providers/cursor/hooks.d.ts.map +1 -1
- package/dist/providers/cursor/index.d.ts +16 -1
- package/dist/providers/cursor/index.d.ts.map +1 -1
- package/dist/providers/cursor/install.d.ts +10 -17
- package/dist/providers/cursor/install.d.ts.map +1 -1
- package/dist/providers/gemini-cli/adapter.d.ts +15 -1
- package/dist/providers/gemini-cli/adapter.d.ts.map +1 -1
- package/dist/providers/gemini-cli/hooks.d.ts +7 -0
- package/dist/providers/gemini-cli/hooks.d.ts.map +1 -1
- package/dist/providers/gemini-cli/index.d.ts +16 -1
- package/dist/providers/gemini-cli/index.d.ts.map +1 -1
- package/dist/providers/gemini-cli/install.d.ts +8 -17
- package/dist/providers/gemini-cli/install.d.ts.map +1 -1
- package/dist/providers/kimi/adapter.d.ts +15 -2
- package/dist/providers/kimi/adapter.d.ts.map +1 -1
- package/dist/providers/kimi/hooks.d.ts +6 -0
- package/dist/providers/kimi/hooks.d.ts.map +1 -1
- package/dist/providers/kimi/index.d.ts +16 -1
- package/dist/providers/kimi/index.d.ts.map +1 -1
- package/dist/providers/kimi/install.d.ts +7 -22
- package/dist/providers/kimi/install.d.ts.map +1 -1
- package/dist/providers/opencode/adapter.d.ts +17 -1
- package/dist/providers/opencode/adapter.d.ts.map +1 -1
- package/dist/providers/opencode/hooks.d.ts +9 -0
- package/dist/providers/opencode/hooks.d.ts.map +1 -1
- package/dist/providers/opencode/index.d.ts +16 -1
- package/dist/providers/opencode/index.d.ts.map +1 -1
- package/dist/providers/opencode/install.d.ts +8 -17
- package/dist/providers/opencode/install.d.ts.map +1 -1
- package/dist/providers/opencode/spawn.d.ts +23 -1
- package/dist/providers/opencode/spawn.d.ts.map +1 -1
- package/dist/providers/shared/transcript-reader.d.ts +15 -0
- package/dist/providers/shared/transcript-reader.d.ts.map +1 -1
- package/dist/registry.d.ts +54 -2
- package/dist/registry.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/__tests__/claude-code-adapter.test.js +21 -30
- package/src/__tests__/claude-code-adapter.test.js.map +1 -1
- package/src/__tests__/claude-code-adapter.test.ts +21 -32
- package/src/__tests__/cursor-adapter.test.js +25 -29
- package/src/__tests__/cursor-adapter.test.js.map +1 -1
- package/src/__tests__/cursor-adapter.test.ts +26 -33
- package/src/__tests__/opencode-adapter.test.js +47 -46
- package/src/__tests__/opencode-adapter.test.js.map +1 -1
- package/src/__tests__/opencode-adapter.test.ts +51 -49
- package/src/index.ts +9 -1
- package/src/providers/claude-code/__tests__/adapter.test.js +50 -23
- package/src/providers/claude-code/__tests__/adapter.test.js.map +1 -1
- package/src/providers/claude-code/__tests__/adapter.test.ts +52 -23
- package/src/providers/claude-code/adapter.ts +22 -2
- package/src/providers/claude-code/context-monitor.ts +11 -0
- package/src/providers/claude-code/hooks.ts +7 -0
- package/src/providers/claude-code/index.ts +16 -1
- package/src/providers/claude-code/install.ts +15 -96
- package/src/providers/claude-code/manifest.json +1 -1
- package/src/providers/claude-code/paths.ts +8 -0
- package/src/providers/claude-code/spawn.ts +7 -0
- package/src/providers/claude-code/statusline.ts +44 -0
- package/src/providers/claude-code/task-sync.ts +8 -0
- package/src/providers/claude-code/transport.ts +11 -0
- package/src/providers/codex/adapter.ts +15 -2
- package/src/providers/codex/hooks.ts +6 -0
- package/src/providers/codex/index.ts +16 -1
- package/src/providers/codex/install.ts +17 -81
- package/src/providers/codex/manifest.json +1 -1
- package/src/providers/cursor/__tests__/adapter.test.js +37 -12
- package/src/providers/cursor/__tests__/adapter.test.js.map +1 -1
- package/src/providers/cursor/__tests__/adapter.test.ts +43 -12
- package/src/providers/cursor/adapter.ts +16 -2
- package/src/providers/cursor/hooks.ts +7 -0
- package/src/providers/cursor/index.ts +16 -1
- package/src/providers/cursor/install.ts +23 -88
- package/src/providers/cursor/manifest.json +1 -1
- package/src/providers/gemini-cli/adapter.ts +16 -2
- package/src/providers/gemini-cli/hooks.ts +7 -0
- package/src/providers/gemini-cli/index.ts +16 -1
- package/src/providers/gemini-cli/install.ts +17 -81
- package/src/providers/gemini-cli/manifest.json +1 -1
- package/src/providers/kimi/adapter.ts +16 -3
- package/src/providers/kimi/hooks.ts +6 -0
- package/src/providers/kimi/index.ts +16 -1
- package/src/providers/kimi/install.ts +16 -86
- package/src/providers/kimi/manifest.json +1 -1
- package/src/providers/opencode/__tests__/adapter.test.js +48 -35
- package/src/providers/opencode/__tests__/adapter.test.js.map +1 -1
- package/src/providers/opencode/__tests__/adapter.test.ts +49 -34
- package/src/providers/opencode/adapter.ts +18 -2
- package/src/providers/opencode/hooks.ts +9 -0
- package/src/providers/opencode/index.ts +16 -1
- package/src/providers/opencode/install.ts +17 -90
- package/src/providers/opencode/manifest.json +1 -1
- package/src/providers/opencode/spawn.ts +23 -1
- package/src/providers/shared/transcript-reader.ts +15 -0
- package/src/registry.ts +54 -2
- package/dist/providers/claude-code/adapter.js +0 -165
- package/dist/providers/claude-code/adapter.js.map +0 -1
- package/dist/providers/claude-code/context-monitor.js +0 -148
- package/dist/providers/claude-code/context-monitor.js.map +0 -1
- package/dist/providers/claude-code/hooks.js +0 -279
- package/dist/providers/claude-code/hooks.js.map +0 -1
- package/dist/providers/claude-code/index.js +0 -26
- package/dist/providers/claude-code/index.js.map +0 -1
- package/dist/providers/claude-code/install.js +0 -234
- package/dist/providers/claude-code/install.js.map +0 -1
- package/dist/providers/claude-code/paths.js +0 -33
- package/dist/providers/claude-code/paths.js.map +0 -1
- package/dist/providers/claude-code/spawn.js +0 -164
- package/dist/providers/claude-code/spawn.js.map +0 -1
- package/dist/providers/claude-code/statusline.js +0 -86
- package/dist/providers/claude-code/statusline.js.map +0 -1
- package/dist/providers/claude-code/task-sync.js +0 -111
- package/dist/providers/claude-code/task-sync.js.map +0 -1
- package/dist/providers/claude-code/transport.js +0 -18
- package/dist/providers/claude-code/transport.js.map +0 -1
- package/dist/providers/codex/adapter.js +0 -134
- package/dist/providers/codex/adapter.js.map +0 -1
- package/dist/providers/codex/hooks.js +0 -107
- package/dist/providers/codex/hooks.js.map +0 -1
- package/dist/providers/codex/index.js +0 -24
- package/dist/providers/codex/index.js.map +0 -1
- package/dist/providers/codex/install.js +0 -183
- package/dist/providers/codex/install.js.map +0 -1
- package/dist/providers/cursor/adapter.js +0 -138
- package/dist/providers/cursor/adapter.js.map +0 -1
- package/dist/providers/cursor/hooks.js +0 -201
- package/dist/providers/cursor/hooks.js.map +0 -1
- package/dist/providers/cursor/index.js +0 -21
- package/dist/providers/cursor/index.js.map +0 -1
- package/dist/providers/cursor/install.js +0 -238
- package/dist/providers/cursor/install.js.map +0 -1
- package/dist/providers/cursor/spawn.js +0 -59
- package/dist/providers/cursor/spawn.js.map +0 -1
- package/dist/providers/gemini-cli/adapter.js +0 -145
- package/dist/providers/gemini-cli/adapter.js.map +0 -1
- package/dist/providers/gemini-cli/hooks.js +0 -121
- package/dist/providers/gemini-cli/hooks.js.map +0 -1
- package/dist/providers/gemini-cli/index.js +0 -24
- package/dist/providers/gemini-cli/index.js.map +0 -1
- package/dist/providers/gemini-cli/install.js +0 -183
- package/dist/providers/gemini-cli/install.js.map +0 -1
- package/dist/providers/kimi/adapter.js +0 -133
- package/dist/providers/kimi/adapter.js.map +0 -1
- package/dist/providers/kimi/hooks.js +0 -73
- package/dist/providers/kimi/hooks.js.map +0 -1
- package/dist/providers/kimi/index.js +0 -24
- package/dist/providers/kimi/index.js.map +0 -1
- package/dist/providers/kimi/install.js +0 -189
- package/dist/providers/kimi/install.js.map +0 -1
- package/dist/providers/opencode/adapter.js +0 -151
- package/dist/providers/opencode/adapter.js.map +0 -1
- package/dist/providers/opencode/hooks.js +0 -197
- package/dist/providers/opencode/hooks.js.map +0 -1
- package/dist/providers/opencode/index.js +0 -22
- package/dist/providers/opencode/index.js.map +0 -1
- package/dist/providers/opencode/install.js +0 -180
- package/dist/providers/opencode/install.js.map +0 -1
- package/dist/providers/opencode/spawn.js +0 -219
- package/dist/providers/opencode/spawn.js.map +0 -1
- package/dist/providers/shared/transcript-reader.js +0 -109
- package/dist/providers/shared/transcript-reader.js.map +0 -1
- package/dist/registry.js +0 -55
- package/dist/registry.js.map +0 -1
- package/src/__tests__/claude-code-adapter.test.d.ts +0 -10
- package/src/__tests__/cursor-adapter.test.d.ts +0 -10
- package/src/__tests__/opencode-adapter.test.d.ts +0 -10
- package/src/index.d.ts +0 -35
- package/src/index.d.ts.map +0 -1
- package/src/index.js +0 -13
- package/src/index.js.map +0 -1
- package/src/providers/claude-code/__tests__/adapter.test.d.ts +0 -7
- package/src/providers/claude-code/adapter.d.ts +0 -79
- package/src/providers/claude-code/adapter.d.ts.map +0 -1
- package/src/providers/claude-code/adapter.js +0 -154
- package/src/providers/claude-code/adapter.js.map +0 -1
- package/src/providers/claude-code/context-monitor.d.ts +0 -24
- package/src/providers/claude-code/context-monitor.d.ts.map +0 -1
- package/src/providers/claude-code/context-monitor.js +0 -148
- package/src/providers/claude-code/context-monitor.js.map +0 -1
- package/src/providers/claude-code/hooks.d.ts +0 -59
- package/src/providers/claude-code/hooks.d.ts.map +0 -1
- package/src/providers/claude-code/hooks.js +0 -77
- package/src/providers/claude-code/hooks.js.map +0 -1
- package/src/providers/claude-code/index.d.ts +0 -28
- package/src/providers/claude-code/index.d.ts.map +0 -1
- package/src/providers/claude-code/index.js +0 -26
- package/src/providers/claude-code/index.js.map +0 -1
- package/src/providers/claude-code/install.d.ts +0 -75
- package/src/providers/claude-code/install.d.ts.map +0 -1
- package/src/providers/claude-code/install.js +0 -234
- package/src/providers/claude-code/install.js.map +0 -1
- package/src/providers/claude-code/paths.d.ts +0 -24
- package/src/providers/claude-code/paths.d.ts.map +0 -1
- package/src/providers/claude-code/paths.js +0 -33
- package/src/providers/claude-code/paths.js.map +0 -1
- package/src/providers/claude-code/spawn.d.ts +0 -60
- package/src/providers/claude-code/spawn.d.ts.map +0 -1
- package/src/providers/claude-code/spawn.js +0 -164
- package/src/providers/claude-code/spawn.js.map +0 -1
- package/src/providers/claude-code/statusline.d.ts +0 -23
- package/src/providers/claude-code/statusline.d.ts.map +0 -1
- package/src/providers/claude-code/statusline.js +0 -86
- package/src/providers/claude-code/statusline.js.map +0 -1
- package/src/providers/claude-code/task-sync.js +0 -122
- package/src/providers/claude-code/task-sync.js.map +0 -1
- package/src/providers/claude-code/transport.d.ts +0 -14
- package/src/providers/claude-code/transport.d.ts.map +0 -1
- package/src/providers/claude-code/transport.js +0 -18
- package/src/providers/claude-code/transport.js.map +0 -1
- package/src/providers/cursor/__tests__/adapter.test.d.ts +0 -7
- package/src/providers/cursor/adapter.d.ts +0 -66
- package/src/providers/cursor/adapter.d.ts.map +0 -1
- package/src/providers/cursor/adapter.js +0 -124
- package/src/providers/cursor/adapter.js.map +0 -1
- package/src/providers/cursor/hooks.d.ts +0 -48
- package/src/providers/cursor/hooks.d.ts.map +0 -1
- package/src/providers/cursor/hooks.js +0 -55
- package/src/providers/cursor/hooks.js.map +0 -1
- package/src/providers/cursor/index.d.ts +0 -19
- package/src/providers/cursor/index.d.ts.map +0 -1
- package/src/providers/cursor/index.js +0 -21
- package/src/providers/cursor/index.js.map +0 -1
- package/src/providers/cursor/install.d.ts +0 -94
- package/src/providers/cursor/install.d.ts.map +0 -1
- package/src/providers/cursor/install.js +0 -238
- package/src/providers/cursor/install.js.map +0 -1
- package/src/providers/cursor/spawn.d.ts +0 -50
- package/src/providers/cursor/spawn.d.ts.map +0 -1
- package/src/providers/cursor/spawn.js +0 -59
- package/src/providers/cursor/spawn.js.map +0 -1
- package/src/providers/opencode/__tests__/adapter.test.d.ts +0 -7
- package/src/providers/opencode/adapter.d.ts +0 -71
- package/src/providers/opencode/adapter.d.ts.map +0 -1
- package/src/providers/opencode/adapter.js +0 -144
- package/src/providers/opencode/adapter.js.map +0 -1
- package/src/providers/opencode/hooks.d.ts +0 -66
- package/src/providers/opencode/hooks.d.ts.map +0 -1
- package/src/providers/opencode/hooks.js +0 -89
- package/src/providers/opencode/hooks.js.map +0 -1
- package/src/providers/opencode/index.d.ts +0 -20
- package/src/providers/opencode/index.d.ts.map +0 -1
- package/src/providers/opencode/index.js +0 -22
- package/src/providers/opencode/index.js.map +0 -1
- package/src/providers/opencode/install.d.ts +0 -65
- package/src/providers/opencode/install.d.ts.map +0 -1
- package/src/providers/opencode/install.js +0 -180
- package/src/providers/opencode/install.js.map +0 -1
- package/src/providers/opencode/spawn.d.ts +0 -75
- package/src/providers/opencode/spawn.d.ts.map +0 -1
- package/src/providers/opencode/spawn.js +0 -219
- package/src/providers/opencode/spawn.js.map +0 -1
- package/src/registry.d.ts +0 -36
- package/src/registry.d.ts.map +0 -1
- package/src/registry.js +0 -55
- package/src/registry.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* @packageDocumentation
|
|
3
3
|
*
|
|
4
4
|
* CLEO provider adapter for Cursor AI code editor.
|
|
5
5
|
* Default export is the adapter class for dynamic loading by AdapterManager.
|
|
@@ -14,6 +14,21 @@ export default CursorAdapter;
|
|
|
14
14
|
/**
|
|
15
15
|
* Factory function for creating adapter instances.
|
|
16
16
|
* Used by AdapterManager's dynamic import fallback.
|
|
17
|
+
*
|
|
18
|
+
* @remarks
|
|
19
|
+
* This is the primary entry point for dynamic adapter loading.
|
|
20
|
+
* AdapterManager calls this function when it resolves the cursor
|
|
21
|
+
* provider via its import-based discovery mechanism.
|
|
22
|
+
*
|
|
23
|
+
* @returns A new {@link CursorAdapter} instance ready for initialization
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```typescript
|
|
27
|
+
* import { createAdapter } from '@cleocode/adapters/providers/cursor';
|
|
28
|
+
*
|
|
29
|
+
* const adapter = createAdapter();
|
|
30
|
+
* await adapter.initialize('/path/to/project');
|
|
31
|
+
* ```
|
|
17
32
|
*/
|
|
18
33
|
export declare function createAdapter(): CursorAdapter;
|
|
19
34
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/cursor/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD,eAAe,aAAa,CAAC;AAE7B
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/cursor/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD,eAAe,aAAa,CAAC;AAE7B;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,IAAI,aAAa,CAE7C"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
* Cursor Install Provider
|
|
3
3
|
*
|
|
4
4
|
* Handles CLEO installation into Cursor environments:
|
|
5
|
-
* - Registers CLEO MCP server in .cursor/mcp.json
|
|
6
5
|
* - Ensures .cursorrules has CLEO @-references (legacy format)
|
|
7
6
|
* - Creates .cursor/rules/cleo.mdc with CLEO references (modern format)
|
|
8
7
|
*
|
|
@@ -19,30 +18,33 @@ import type { AdapterInstallProvider, InstallOptions, InstallResult } from '@cle
|
|
|
19
18
|
* Install provider for Cursor.
|
|
20
19
|
*
|
|
21
20
|
* Manages CLEO's integration with Cursor by:
|
|
22
|
-
* 1.
|
|
23
|
-
* 2. Creating
|
|
24
|
-
*
|
|
21
|
+
* 1. Creating/updating .cursorrules with @-references (legacy)
|
|
22
|
+
* 2. Creating .cursor/rules/cleo.mdc with @-references (modern)
|
|
23
|
+
*
|
|
24
|
+
* @remarks
|
|
25
|
+
* Installation is idempotent and writes to both instruction file formats
|
|
26
|
+
* for maximum compatibility. The legacy `.cursorrules` file is only modified
|
|
27
|
+
* if it already exists (never created from scratch). The modern MDC file
|
|
28
|
+
* is always created or updated to ensure Cursor's rule engine picks it up.
|
|
25
29
|
*/
|
|
26
30
|
export declare class CursorInstallProvider implements AdapterInstallProvider {
|
|
27
|
-
private installedProjectDir;
|
|
28
31
|
/**
|
|
29
32
|
* Install CLEO into a Cursor project.
|
|
30
33
|
*
|
|
31
|
-
* @param options - Installation options including project directory
|
|
34
|
+
* @param options - Installation options including project directory
|
|
32
35
|
* @returns Result describing what was installed
|
|
33
36
|
*/
|
|
34
37
|
install(options: InstallOptions): Promise<InstallResult>;
|
|
35
38
|
/**
|
|
36
39
|
* Uninstall CLEO from the current Cursor project.
|
|
37
40
|
*
|
|
38
|
-
* Removes the MCP server registration from .cursor/mcp.json.
|
|
39
41
|
* Does not remove instruction file references (they are harmless if CLEO is not present).
|
|
40
42
|
*/
|
|
41
43
|
uninstall(): Promise<void>;
|
|
42
44
|
/**
|
|
43
45
|
* Check whether CLEO is installed in the current environment.
|
|
44
46
|
*
|
|
45
|
-
* Checks for
|
|
47
|
+
* Checks for .cursor/rules/cleo.mdc or .cursorrules with CLEO references.
|
|
46
48
|
*/
|
|
47
49
|
isInstalled(): Promise<boolean>;
|
|
48
50
|
/**
|
|
@@ -53,15 +55,6 @@ export declare class CursorInstallProvider implements AdapterInstallProvider {
|
|
|
53
55
|
* @param projectDir - Project root directory
|
|
54
56
|
*/
|
|
55
57
|
ensureInstructionReferences(projectDir: string): Promise<void>;
|
|
56
|
-
/**
|
|
57
|
-
* Register the CLEO MCP server in .cursor/mcp.json.
|
|
58
|
-
*
|
|
59
|
-
* Cursor stores MCP server configuration in .cursor/mcp.json
|
|
60
|
-
* under the mcpServers key.
|
|
61
|
-
*
|
|
62
|
-
* @returns true if registration was performed or updated
|
|
63
|
-
*/
|
|
64
|
-
private registerMcpServer;
|
|
65
58
|
/**
|
|
66
59
|
* Update instruction files with CLEO @-references.
|
|
67
60
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/providers/cursor/install.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/providers/cursor/install.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAE,sBAAsB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAKjG;;;;;;;;;;;;GAYG;AACH,qBAAa,qBAAsB,YAAW,sBAAsB;IAClE;;;;;OAKG;IACG,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAqB9D;;;;OAIG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAEhC;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAqBrC;;;;;;OAMG;IACG,2BAA2B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpE;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IAgB9B;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAmBzB;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;IA2BzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAQ3B"}
|
|
@@ -15,19 +15,33 @@ import { GeminiCliInstallProvider } from './install.js';
|
|
|
15
15
|
*
|
|
16
16
|
* Bridges CLEO's adapter system with Gemini CLI's native capabilities:
|
|
17
17
|
* - Hooks: Maps Gemini CLI events (SessionStart, PreToolUse, etc.) to CAAMP events
|
|
18
|
-
* - Install:
|
|
18
|
+
* - Install: Ensures AGENTS.md references for CLEO instruction files
|
|
19
|
+
*
|
|
20
|
+
* @remarks
|
|
21
|
+
* Gemini CLI supports 10 canonical CAAMP events through its hook system,
|
|
22
|
+
* including PreModel and PostModel which most other providers lack. It has
|
|
23
|
+
* no spawn or transport capabilities. Integration is through AGENTS.md
|
|
24
|
+
* instruction files and the Gemini CLI's configuration at `~/.gemini/`.
|
|
19
25
|
*
|
|
20
26
|
* @task T161
|
|
21
27
|
* @epic T134
|
|
22
28
|
*/
|
|
23
29
|
export declare class GeminiCliAdapter implements CLEOProviderAdapter {
|
|
30
|
+
/** Unique provider identifier. */
|
|
24
31
|
readonly id = "gemini-cli";
|
|
32
|
+
/** Human-readable provider name. */
|
|
25
33
|
readonly name = "Gemini CLI";
|
|
34
|
+
/** Adapter version string. */
|
|
26
35
|
readonly version = "1.0.0";
|
|
36
|
+
/** Declared capabilities for this provider. */
|
|
27
37
|
capabilities: AdapterCapabilities;
|
|
38
|
+
/** Hook provider for CAAMP event mapping. */
|
|
28
39
|
hooks: GeminiCliHookProvider;
|
|
40
|
+
/** Install provider for managing instruction files. */
|
|
29
41
|
install: GeminiCliInstallProvider;
|
|
42
|
+
/** Project directory this adapter was initialized with, or null. */
|
|
30
43
|
private projectDir;
|
|
44
|
+
/** Whether {@link initialize} has been called. */
|
|
31
45
|
private initialized;
|
|
32
46
|
constructor();
|
|
33
47
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/providers/gemini-cli/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAIxD
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/providers/gemini-cli/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAIxD;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,gBAAiB,YAAW,mBAAmB;IAC1D,kCAAkC;IAClC,QAAQ,CAAC,EAAE,gBAAgB;IAC3B,oCAAoC;IACpC,QAAQ,CAAC,IAAI,gBAAgB;IAC7B,8BAA8B;IAC9B,QAAQ,CAAC,OAAO,WAAW;IAE3B,+CAA+C;IAC/C,YAAY,EAAE,mBAAmB,CAuB/B;IAEF,6CAA6C;IAC7C,KAAK,EAAE,qBAAqB,CAAC;IAC7B,uDAAuD;IACvD,OAAO,EAAE,wBAAwB,CAAC;IAElC,oEAAoE;IACpE,OAAO,CAAC,UAAU,CAAuB;IACzC,kDAAkD;IAClD,OAAO,CAAC,WAAW,CAAS;;IAO5B;;;;;OAKG;IACG,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKnD;;;;;OAKG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ9B;;;;;;;;;;OAUG;IACG,WAAW,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAqCjD;;;OAGG;IACH,aAAa,IAAI,OAAO;IAIxB;;;OAGG;IACH,aAAa,IAAI,MAAM,GAAG,IAAI;CAG/B"}
|
|
@@ -31,10 +31,17 @@ import type { AdapterHookProvider } from '@cleocode/contracts';
|
|
|
31
31
|
* the install provider), registerNativeHooks and unregisterNativeHooks
|
|
32
32
|
* track registration state without performing filesystem operations.
|
|
33
33
|
*
|
|
34
|
+
* @remarks
|
|
35
|
+
* Gemini CLI uses its own event naming convention (e.g. BeforeAgent,
|
|
36
|
+
* AfterTool, PreCompress) which differs from both the PascalCase CAAMP
|
|
37
|
+
* canonical names and other providers' conventions. The static event map
|
|
38
|
+
* covers all 10 supported canonical events.
|
|
39
|
+
*
|
|
34
40
|
* @task T161
|
|
35
41
|
* @epic T134
|
|
36
42
|
*/
|
|
37
43
|
export declare class GeminiCliHookProvider implements AdapterHookProvider {
|
|
44
|
+
/** Whether hooks have been registered for the current session. */
|
|
38
45
|
private registered;
|
|
39
46
|
/**
|
|
40
47
|
* Map a Gemini CLI native event name to a CAAMP hook event name.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../src/providers/gemini-cli/hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAmB/D
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../src/providers/gemini-cli/hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAmB/D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,qBAAsB,YAAW,mBAAmB;IAC/D,kEAAkE;IAClE,OAAO,CAAC,UAAU,CAAS;IAE3B;;;;;;OAMG;IACH,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAItD;;;;;;;;;;OAUG;IACG,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D;;;;;;;OAOG;IACG,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5C;;;OAGG;IACH,YAAY,IAAI,OAAO;IAIvB;;;OAGG;IACH,WAAW,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAI/C;;;;;;;;;;;OAWG;IACG,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAGrF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* @packageDocumentation
|
|
3
3
|
*
|
|
4
4
|
* CLEO provider adapter for Google Gemini CLI.
|
|
5
5
|
* Default export is the adapter class for dynamic loading by AdapterManager.
|
|
@@ -16,6 +16,21 @@ export default GeminiCliAdapter;
|
|
|
16
16
|
* Factory function for creating adapter instances.
|
|
17
17
|
* Used by AdapterManager's dynamic import fallback.
|
|
18
18
|
*
|
|
19
|
+
* @remarks
|
|
20
|
+
* This is the primary entry point for dynamic adapter loading.
|
|
21
|
+
* AdapterManager calls this function when it resolves the gemini-cli
|
|
22
|
+
* provider via its import-based discovery mechanism.
|
|
23
|
+
*
|
|
24
|
+
* @returns A new {@link GeminiCliAdapter} instance ready for initialization
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```typescript
|
|
28
|
+
* import { createAdapter } from '@cleocode/adapters/providers/gemini-cli';
|
|
29
|
+
*
|
|
30
|
+
* const adapter = createAdapter();
|
|
31
|
+
* await adapter.initialize('/path/to/project');
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
19
34
|
* @task T161
|
|
20
35
|
*/
|
|
21
36
|
export declare function createAdapter(): GeminiCliAdapter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/gemini-cli/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAExD,eAAe,gBAAgB,CAAC;AAEhC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/gemini-cli/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAExD,eAAe,gBAAgB,CAAC;AAEhC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,aAAa,IAAI,gBAAgB,CAEhD"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
* Gemini CLI Install Provider
|
|
3
3
|
*
|
|
4
4
|
* Handles CLEO installation into Gemini CLI environments:
|
|
5
|
-
* - Registers CLEO MCP server in ~/.gemini/settings.json
|
|
6
5
|
* - Ensures AGENTS.md has CLEO @-references
|
|
7
6
|
*
|
|
8
7
|
* @task T161
|
|
@@ -13,8 +12,12 @@ import type { AdapterInstallProvider, InstallOptions, InstallResult } from '@cle
|
|
|
13
12
|
* Install provider for Gemini CLI.
|
|
14
13
|
*
|
|
15
14
|
* Manages CLEO's integration with Gemini CLI by:
|
|
16
|
-
* 1.
|
|
17
|
-
*
|
|
15
|
+
* 1. Ensuring AGENTS.md contains @-references to CLEO instruction files
|
|
16
|
+
*
|
|
17
|
+
* @remarks
|
|
18
|
+
* Installation is idempotent -- running install multiple times on the same
|
|
19
|
+
* project produces the same result. Only AGENTS.md is managed; Gemini CLI
|
|
20
|
+
* does not have an MCP or plugin registration mechanism.
|
|
18
21
|
*
|
|
19
22
|
* @task T161
|
|
20
23
|
* @epic T134
|
|
@@ -23,7 +26,7 @@ export declare class GeminiCliInstallProvider implements AdapterInstallProvider
|
|
|
23
26
|
/**
|
|
24
27
|
* Install CLEO into a Gemini CLI environment.
|
|
25
28
|
*
|
|
26
|
-
* @param options - Installation options including project directory
|
|
29
|
+
* @param options - Installation options including project directory
|
|
27
30
|
* @returns Result describing what was installed
|
|
28
31
|
* @task T161
|
|
29
32
|
*/
|
|
@@ -31,7 +34,6 @@ export declare class GeminiCliInstallProvider implements AdapterInstallProvider
|
|
|
31
34
|
/**
|
|
32
35
|
* Uninstall CLEO from the Gemini CLI environment.
|
|
33
36
|
*
|
|
34
|
-
* Removes the MCP server registration from ~/.gemini/settings.json.
|
|
35
37
|
* Does not remove AGENTS.md references (they are harmless if CLEO is not present).
|
|
36
38
|
* @task T161
|
|
37
39
|
*/
|
|
@@ -39,8 +41,7 @@ export declare class GeminiCliInstallProvider implements AdapterInstallProvider
|
|
|
39
41
|
/**
|
|
40
42
|
* Check whether CLEO is installed in the Gemini CLI environment.
|
|
41
43
|
*
|
|
42
|
-
* Checks for
|
|
43
|
-
* Returns true if the CLEO MCP server entry is found.
|
|
44
|
+
* Checks for CLEO references in AGENTS.md.
|
|
44
45
|
* @task T161
|
|
45
46
|
*/
|
|
46
47
|
isInstalled(): Promise<boolean>;
|
|
@@ -53,16 +54,6 @@ export declare class GeminiCliInstallProvider implements AdapterInstallProvider
|
|
|
53
54
|
* @task T161
|
|
54
55
|
*/
|
|
55
56
|
ensureInstructionReferences(projectDir: string): Promise<void>;
|
|
56
|
-
/**
|
|
57
|
-
* Register the CLEO MCP server in ~/.gemini/settings.json.
|
|
58
|
-
*
|
|
59
|
-
* Gemini CLI stores its MCP server configuration in ~/.gemini/settings.json
|
|
60
|
-
* under the mcpServers key.
|
|
61
|
-
*
|
|
62
|
-
* @param mcpServerPath - Absolute path to the MCP server entry point
|
|
63
|
-
* @returns true if registration was performed or updated
|
|
64
|
-
*/
|
|
65
|
-
private registerMcpServer;
|
|
66
57
|
/**
|
|
67
58
|
* Update AGENTS.md with CLEO @-references.
|
|
68
59
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/providers/gemini-cli/install.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/providers/gemini-cli/install.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,sBAAsB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAKjG;;;;;;;;;;;;;GAaG;AACH,qBAAa,wBAAyB,YAAW,sBAAsB;IACrE;;;;;;OAMG;IACG,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAqB9D;;;;;OAKG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhC;;;;;OAKG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAgBrC;;;;;;;OAOG;IACG,2BAA2B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpE;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;CA4B9B"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Main CLEOProviderAdapter implementation for Moonshot AI Kimi.
|
|
5
5
|
* Provides install-only capabilities for CLEO integration.
|
|
6
|
-
* Kimi has no native hook system
|
|
6
|
+
* Kimi has no native hook system; integration is via instruction files.
|
|
7
7
|
*
|
|
8
8
|
* @task T163
|
|
9
9
|
* @epic T134
|
|
@@ -16,19 +16,32 @@ import { KimiInstallProvider } from './install.js';
|
|
|
16
16
|
*
|
|
17
17
|
* Bridges CLEO's adapter system with Kimi's integration surface:
|
|
18
18
|
* - Hooks: No-op (Kimi has no native hook system)
|
|
19
|
-
* - Install:
|
|
19
|
+
* - Install: Ensures AGENTS.md references for CLEO instruction files
|
|
20
|
+
*
|
|
21
|
+
* @remarks
|
|
22
|
+
* Kimi has no native hook or event system, so all hook-related capabilities
|
|
23
|
+
* are disabled. The adapter is install-only, managing AGENTS.md references
|
|
24
|
+
* for CLEO instruction injection.
|
|
20
25
|
*
|
|
21
26
|
* @task T163
|
|
22
27
|
* @epic T134
|
|
23
28
|
*/
|
|
24
29
|
export declare class KimiAdapter implements CLEOProviderAdapter {
|
|
30
|
+
/** Unique provider identifier. */
|
|
25
31
|
readonly id = "kimi";
|
|
32
|
+
/** Human-readable provider name. */
|
|
26
33
|
readonly name = "Kimi";
|
|
34
|
+
/** Adapter version string. */
|
|
27
35
|
readonly version = "1.0.0";
|
|
36
|
+
/** Declared capabilities for this provider. */
|
|
28
37
|
capabilities: AdapterCapabilities;
|
|
38
|
+
/** Hook provider (no-op since Kimi has no event system). */
|
|
29
39
|
hooks: KimiHookProvider;
|
|
40
|
+
/** Install provider for managing instruction files. */
|
|
30
41
|
install: KimiInstallProvider;
|
|
42
|
+
/** Project directory this adapter was initialized with, or null. */
|
|
31
43
|
private projectDir;
|
|
44
|
+
/** Whether {@link initialize} has been called. */
|
|
32
45
|
private initialized;
|
|
33
46
|
constructor();
|
|
34
47
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/providers/kimi/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAInD
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/providers/kimi/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAInD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,WAAY,YAAW,mBAAmB;IACrD,kCAAkC;IAClC,QAAQ,CAAC,EAAE,UAAU;IACrB,oCAAoC;IACpC,QAAQ,CAAC,IAAI,UAAU;IACvB,8BAA8B;IAC9B,QAAQ,CAAC,OAAO,WAAW;IAE3B,+CAA+C;IAC/C,YAAY,EAAE,mBAAmB,CAY/B;IAEF,4DAA4D;IAC5D,KAAK,EAAE,gBAAgB,CAAC;IACxB,uDAAuD;IACvD,OAAO,EAAE,mBAAmB,CAAC;IAE7B,oEAAoE;IACpE,OAAO,CAAC,UAAU,CAAuB;IACzC,kDAAkD;IAClD,OAAO,CAAC,WAAW,CAAS;;IAO5B;;;;;OAKG;IACG,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKnD;;;;;;OAMG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAK9B;;;;;;;;;;OAUG;IACG,WAAW,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAqCjD;;;OAGG;IACH,aAAa,IAAI,OAAO;IAIxB;;;OAGG;IACH,aAAa,IAAI,MAAM,GAAG,IAAI;CAG/B"}
|
|
@@ -16,10 +16,16 @@ import type { AdapterHookProvider } from '@cleocode/contracts';
|
|
|
16
16
|
* All hook-related methods are no-ops; mapProviderEvent always
|
|
17
17
|
* returns null since there are no events to map.
|
|
18
18
|
*
|
|
19
|
+
* @remarks
|
|
20
|
+
* Since Kimi has no hookable events, the event map is empty and
|
|
21
|
+
* `mapProviderEvent` always returns null. Registration state is tracked
|
|
22
|
+
* purely for interface compliance with {@link AdapterHookProvider}.
|
|
23
|
+
*
|
|
19
24
|
* @task T163
|
|
20
25
|
* @epic T134
|
|
21
26
|
*/
|
|
22
27
|
export declare class KimiHookProvider implements AdapterHookProvider {
|
|
28
|
+
/** Whether hooks have been registered (always a no-op for Kimi). */
|
|
23
29
|
private registered;
|
|
24
30
|
/**
|
|
25
31
|
* Map a Kimi native event name to a CAAMP hook event name.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../src/providers/kimi/hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../src/providers/kimi/hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D;;;;;;;;;;;;;;GAcG;AACH,qBAAa,gBAAiB,YAAW,mBAAmB;IAC1D,oEAAoE;IACpE,OAAO,CAAC,UAAU,CAAS;IAE3B;;;;;;;;OAQG;IACH,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIvD;;;;;;;;OAQG;IACG,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D;;;;;OAKG;IACG,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5C;;;OAGG;IACH,YAAY,IAAI,OAAO;IAIvB;;;;;OAKG;IACH,WAAW,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAGhD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* @packageDocumentation
|
|
3
3
|
*
|
|
4
4
|
* CLEO provider adapter for Moonshot AI Kimi.
|
|
5
5
|
* Default export is the adapter class for dynamic loading by AdapterManager.
|
|
@@ -16,6 +16,21 @@ export default KimiAdapter;
|
|
|
16
16
|
* Factory function for creating adapter instances.
|
|
17
17
|
* Used by AdapterManager's dynamic import fallback.
|
|
18
18
|
*
|
|
19
|
+
* @remarks
|
|
20
|
+
* This is the primary entry point for dynamic adapter loading.
|
|
21
|
+
* AdapterManager calls this function when it resolves the kimi
|
|
22
|
+
* provider via its import-based discovery mechanism.
|
|
23
|
+
*
|
|
24
|
+
* @returns A new {@link KimiAdapter} instance ready for initialization
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```typescript
|
|
28
|
+
* import { createAdapter } from '@cleocode/adapters/providers/kimi';
|
|
29
|
+
*
|
|
30
|
+
* const adapter = createAdapter();
|
|
31
|
+
* await adapter.initialize('/path/to/project');
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
19
34
|
* @task T163
|
|
20
35
|
*/
|
|
21
36
|
export declare function createAdapter(): KimiAdapter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/kimi/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,eAAe,WAAW,CAAC;AAE3B
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/kimi/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,eAAe,WAAW,CAAC;AAE3B;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,aAAa,IAAI,WAAW,CAE3C"}
|
|
@@ -2,12 +2,8 @@
|
|
|
2
2
|
* Kimi Install Provider
|
|
3
3
|
*
|
|
4
4
|
* Handles CLEO installation into Kimi environments:
|
|
5
|
-
* - Registers CLEO MCP server in ~/.kimi/mcp.json
|
|
6
5
|
* - Ensures AGENTS.md has CLEO @-references
|
|
7
6
|
*
|
|
8
|
-
* Kimi has no native hook system, so this is the primary integration
|
|
9
|
-
* mechanism: registering the MCP server so CLEO can be accessed as a tool.
|
|
10
|
-
*
|
|
11
7
|
* @task T163
|
|
12
8
|
* @epic T134
|
|
13
9
|
*/
|
|
@@ -16,11 +12,12 @@ import type { AdapterInstallProvider, InstallOptions, InstallResult } from '@cle
|
|
|
16
12
|
* Install provider for Kimi.
|
|
17
13
|
*
|
|
18
14
|
* Manages CLEO's integration with Kimi by:
|
|
19
|
-
* 1.
|
|
20
|
-
* 2. Ensuring AGENTS.md contains @-references to CLEO instruction files
|
|
15
|
+
* 1. Ensuring AGENTS.md contains @-references to CLEO instruction files
|
|
21
16
|
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
17
|
+
* @remarks
|
|
18
|
+
* Installation is idempotent -- running install multiple times on the same
|
|
19
|
+
* project produces the same result. Only AGENTS.md is managed; Kimi does
|
|
20
|
+
* not have an MCP or plugin registration mechanism.
|
|
24
21
|
*
|
|
25
22
|
* @task T163
|
|
26
23
|
* @epic T134
|
|
@@ -29,7 +26,7 @@ export declare class KimiInstallProvider implements AdapterInstallProvider {
|
|
|
29
26
|
/**
|
|
30
27
|
* Install CLEO into a Kimi environment.
|
|
31
28
|
*
|
|
32
|
-
* @param options - Installation options including project directory
|
|
29
|
+
* @param options - Installation options including project directory
|
|
33
30
|
* @returns Result describing what was installed
|
|
34
31
|
* @task T163
|
|
35
32
|
*/
|
|
@@ -37,7 +34,6 @@ export declare class KimiInstallProvider implements AdapterInstallProvider {
|
|
|
37
34
|
/**
|
|
38
35
|
* Uninstall CLEO from the Kimi environment.
|
|
39
36
|
*
|
|
40
|
-
* Removes the MCP server registration from ~/.kimi/mcp.json.
|
|
41
37
|
* Does not remove AGENTS.md references (they are harmless if CLEO is not present).
|
|
42
38
|
* @task T163
|
|
43
39
|
*/
|
|
@@ -45,8 +41,7 @@ export declare class KimiInstallProvider implements AdapterInstallProvider {
|
|
|
45
41
|
/**
|
|
46
42
|
* Check whether CLEO is installed in the Kimi environment.
|
|
47
43
|
*
|
|
48
|
-
* Checks for
|
|
49
|
-
* Returns true if the CLEO MCP server entry is found.
|
|
44
|
+
* Checks for CLEO references in AGENTS.md.
|
|
50
45
|
* @task T163
|
|
51
46
|
*/
|
|
52
47
|
isInstalled(): Promise<boolean>;
|
|
@@ -59,16 +54,6 @@ export declare class KimiInstallProvider implements AdapterInstallProvider {
|
|
|
59
54
|
* @task T163
|
|
60
55
|
*/
|
|
61
56
|
ensureInstructionReferences(projectDir: string): Promise<void>;
|
|
62
|
-
/**
|
|
63
|
-
* Register the CLEO MCP server in ~/.kimi/mcp.json.
|
|
64
|
-
*
|
|
65
|
-
* Kimi stores its MCP server configuration in ~/.kimi/mcp.json
|
|
66
|
-
* under the mcpServers key.
|
|
67
|
-
*
|
|
68
|
-
* @param mcpServerPath - Absolute path to the MCP server entry point
|
|
69
|
-
* @returns true if registration was performed or updated
|
|
70
|
-
*/
|
|
71
|
-
private registerMcpServer;
|
|
72
57
|
/**
|
|
73
58
|
* Update AGENTS.md with CLEO @-references.
|
|
74
59
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/providers/kimi/install.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/providers/kimi/install.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,sBAAsB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAKjG;;;;;;;;;;;;;GAaG;AACH,qBAAa,mBAAoB,YAAW,sBAAsB;IAChE;;;;;;OAMG;IACG,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAqB9D;;;;;OAKG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhC;;;;;OAKG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAgBrC;;;;;;;OAOG;IACG,2BAA2B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpE;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;CA4B9B"}
|
|
@@ -16,17 +16,33 @@ import { OpenCodeSpawnProvider } from './spawn.js';
|
|
|
16
16
|
* Bridges CLEO's adapter system with OpenCode's native capabilities:
|
|
17
17
|
* - Hooks: Maps OpenCode events (session.start, tool.complete, etc.) to CAAMP events
|
|
18
18
|
* - Spawn: Launches subagent processes via the `opencode` CLI
|
|
19
|
-
* - Install:
|
|
19
|
+
* - Install: Ensures AGENTS.md references for CLEO instruction files
|
|
20
|
+
*
|
|
21
|
+
* @remarks
|
|
22
|
+
* OpenCode is the second-most feature-complete adapter after Claude Code,
|
|
23
|
+
* supporting 10 canonical events through its JavaScript plugin system,
|
|
24
|
+
* subagent spawning via the `opencode run` CLI command, and instruction
|
|
25
|
+
* file management via AGENTS.md. It uniquely supports PreModel via the
|
|
26
|
+
* `chat.params` event, which allows pre-inference parameter injection.
|
|
20
27
|
*/
|
|
21
28
|
export declare class OpenCodeAdapter implements CLEOProviderAdapter {
|
|
29
|
+
/** Unique provider identifier. */
|
|
22
30
|
readonly id = "opencode";
|
|
31
|
+
/** Human-readable provider name. */
|
|
23
32
|
readonly name = "OpenCode";
|
|
33
|
+
/** Adapter version string. */
|
|
24
34
|
readonly version = "1.0.0";
|
|
35
|
+
/** Declared capabilities for this provider. */
|
|
25
36
|
capabilities: AdapterCapabilities;
|
|
37
|
+
/** Hook provider for CAAMP event mapping via OpenCode's plugin system. */
|
|
26
38
|
hooks: OpenCodeHookProvider;
|
|
39
|
+
/** Spawn provider for launching subagent processes via `opencode run`. */
|
|
27
40
|
spawn: OpenCodeSpawnProvider;
|
|
41
|
+
/** Install provider for managing AGENTS.md instruction files. */
|
|
28
42
|
install: OpenCodeInstallProvider;
|
|
43
|
+
/** Project directory this adapter was initialized with, or null. */
|
|
29
44
|
private projectDir;
|
|
45
|
+
/** Whether {@link initialize} has been called. */
|
|
30
46
|
private initialized;
|
|
31
47
|
constructor();
|
|
32
48
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/providers/opencode/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAInD
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/providers/opencode/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAInD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,eAAgB,YAAW,mBAAmB;IACzD,kCAAkC;IAClC,QAAQ,CAAC,EAAE,cAAc;IACzB,oCAAoC;IACpC,QAAQ,CAAC,IAAI,cAAc;IAC3B,8BAA8B;IAC9B,QAAQ,CAAC,OAAO,WAAW;IAE3B,+CAA+C;IAC/C,YAAY,EAAE,mBAAmB,CA2B/B;IAEF,0EAA0E;IAC1E,KAAK,EAAE,oBAAoB,CAAC;IAC5B,0EAA0E;IAC1E,KAAK,EAAE,qBAAqB,CAAC;IAC7B,iEAAiE;IACjE,OAAO,EAAE,uBAAuB,CAAC;IAEjC,oEAAoE;IACpE,OAAO,CAAC,UAAU,CAAuB;IACzC,kDAAkD;IAClD,OAAO,CAAC,WAAW,CAAS;;IAQ5B;;;;;;;OAOG;IACG,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKnD;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ9B;;;;;;;;;OASG;IACG,WAAW,IAAI,OAAO,CAAC,mBAAmB,CAAC;IA2CjD;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACH,aAAa,IAAI,MAAM,GAAG,IAAI;CAG/B"}
|
|
@@ -33,10 +33,19 @@ import type { AdapterHookProvider } from '@cleocode/contracts';
|
|
|
33
33
|
* provider), `registerNativeHooks` and `unregisterNativeHooks` track registration
|
|
34
34
|
* state without performing filesystem operations.
|
|
35
35
|
*
|
|
36
|
+
* @remarks
|
|
37
|
+
* OpenCode uses dot-delimited and `event:`-prefixed event names
|
|
38
|
+
* (e.g. `event:session.created`, `tool.execute.before`) which differ
|
|
39
|
+
* significantly from the PascalCase CAAMP canonical names. The static
|
|
40
|
+
* event map covers all 10 supported events. Async CAAMP accessors
|
|
41
|
+
* (`getSupportedCanonicalEvents`, `getProviderProfile`, `toNativeEvent`)
|
|
42
|
+
* call the normalizer directly when available and fall back to the static map.
|
|
43
|
+
*
|
|
36
44
|
* @task T164
|
|
37
45
|
* @epic T134
|
|
38
46
|
*/
|
|
39
47
|
export declare class OpenCodeHookProvider implements AdapterHookProvider {
|
|
48
|
+
/** Whether hooks have been registered for the current session. */
|
|
40
49
|
private registered;
|
|
41
50
|
/**
|
|
42
51
|
* Map an OpenCode native event name to a CAAMP canonical hook event name.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../src/providers/opencode/hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAuC/D
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../src/providers/opencode/hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAuC/D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,oBAAqB,YAAW,mBAAmB;IAC9D,kEAAkE;IAClE,OAAO,CAAC,UAAU,CAAS;IAE3B;;;;;;;;;;;OAWG;IACH,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAItD;;;;;;;;;;;;OAYG;IACG,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D;;;;;;;OAOG;IACG,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5C;;OAEG;IACH,YAAY,IAAI,OAAO;IAIvB;;;;;;;;OAQG;IACH,WAAW,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAI/C;;;;;;;;;;OAUG;IACG,2BAA2B,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAStD;;;;;;;;;;OAUG;IACG,kBAAkB,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IASnD;;;;;;;;;OASG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAU/D"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* @packageDocumentation
|
|
3
3
|
*
|
|
4
4
|
* CLEO provider adapter for OpenCode AI coding assistant.
|
|
5
5
|
* Default export is the adapter class for dynamic loading by AdapterManager.
|
|
@@ -15,6 +15,21 @@ export default OpenCodeAdapter;
|
|
|
15
15
|
/**
|
|
16
16
|
* Factory function for creating adapter instances.
|
|
17
17
|
* Used by AdapterManager's dynamic import fallback.
|
|
18
|
+
*
|
|
19
|
+
* @remarks
|
|
20
|
+
* This is the primary entry point for dynamic adapter loading.
|
|
21
|
+
* AdapterManager calls this function when it resolves the opencode
|
|
22
|
+
* provider via its import-based discovery mechanism.
|
|
23
|
+
*
|
|
24
|
+
* @returns A new {@link OpenCodeAdapter} instance ready for initialization
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```typescript
|
|
28
|
+
* import { createAdapter } from '@cleocode/adapters/providers/opencode';
|
|
29
|
+
*
|
|
30
|
+
* const adapter = createAdapter();
|
|
31
|
+
* await adapter.initialize('/path/to/project');
|
|
32
|
+
* ```
|
|
18
33
|
*/
|
|
19
34
|
export declare function createAdapter(): OpenCodeAdapter;
|
|
20
35
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/opencode/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD,eAAe,eAAe,CAAC;AAE/B
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/opencode/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD,eAAe,eAAe,CAAC;AAE/B;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,IAAI,eAAe,CAE/C"}
|