@cleocode/adapters 2026.4.13 → 2026.4.14

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 (73) hide show
  1. package/dist/index.d.ts +23 -0
  2. package/dist/index.d.ts.map +1 -0
  3. package/dist/index.js +3246 -0
  4. package/dist/index.js.map +7 -0
  5. package/dist/providers/claude-code/adapter.d.ts +95 -0
  6. package/dist/providers/claude-code/adapter.d.ts.map +1 -0
  7. package/dist/providers/claude-code/context-monitor.d.ts +35 -0
  8. package/dist/providers/claude-code/context-monitor.d.ts.map +1 -0
  9. package/dist/providers/claude-code/hooks.d.ts +146 -0
  10. package/dist/providers/claude-code/hooks.d.ts.map +1 -0
  11. package/dist/providers/claude-code/index.d.ts +39 -0
  12. package/dist/providers/claude-code/index.d.ts.map +1 -0
  13. package/dist/providers/claude-code/install.d.ts +67 -0
  14. package/dist/providers/claude-code/install.d.ts.map +1 -0
  15. package/dist/providers/claude-code/paths.d.ts +32 -0
  16. package/dist/providers/claude-code/paths.d.ts.map +1 -0
  17. package/dist/providers/claude-code/spawn.d.ts +67 -0
  18. package/dist/providers/claude-code/spawn.d.ts.map +1 -0
  19. package/dist/providers/claude-code/statusline.d.ts +68 -0
  20. package/dist/providers/claude-code/statusline.d.ts.map +1 -0
  21. package/dist/providers/claude-code/task-sync.d.ts +32 -0
  22. package/dist/providers/claude-code/task-sync.d.ts.map +1 -0
  23. package/dist/providers/claude-code/transport.d.ts +25 -0
  24. package/dist/providers/claude-code/transport.d.ts.map +1 -0
  25. package/dist/providers/codex/adapter.d.ts +83 -0
  26. package/dist/providers/codex/adapter.d.ts.map +1 -0
  27. package/dist/providers/codex/hooks.d.ts +91 -0
  28. package/dist/providers/codex/hooks.d.ts.map +1 -0
  29. package/dist/providers/codex/index.d.ts +37 -0
  30. package/dist/providers/codex/index.d.ts.map +1 -0
  31. package/dist/providers/codex/install.d.ts +65 -0
  32. package/dist/providers/codex/install.d.ts.map +1 -0
  33. package/dist/providers/cursor/adapter.d.ts +76 -0
  34. package/dist/providers/cursor/adapter.d.ts.map +1 -0
  35. package/dist/providers/cursor/hooks.d.ts +140 -0
  36. package/dist/providers/cursor/hooks.d.ts.map +1 -0
  37. package/dist/providers/cursor/index.d.ts +34 -0
  38. package/dist/providers/cursor/index.d.ts.map +1 -0
  39. package/dist/providers/cursor/install.d.ts +87 -0
  40. package/dist/providers/cursor/install.d.ts.map +1 -0
  41. package/dist/providers/cursor/spawn.d.ts +50 -0
  42. package/dist/providers/cursor/spawn.d.ts.map +1 -0
  43. package/dist/providers/gemini-cli/adapter.d.ts +84 -0
  44. package/dist/providers/gemini-cli/adapter.d.ts.map +1 -0
  45. package/dist/providers/gemini-cli/hooks.d.ts +99 -0
  46. package/dist/providers/gemini-cli/hooks.d.ts.map +1 -0
  47. package/dist/providers/gemini-cli/index.d.ts +37 -0
  48. package/dist/providers/gemini-cli/index.d.ts.map +1 -0
  49. package/dist/providers/gemini-cli/install.d.ts +65 -0
  50. package/dist/providers/gemini-cli/install.d.ts.map +1 -0
  51. package/dist/providers/kimi/adapter.d.ts +85 -0
  52. package/dist/providers/kimi/adapter.d.ts.map +1 -0
  53. package/dist/providers/kimi/hooks.d.ts +70 -0
  54. package/dist/providers/kimi/hooks.d.ts.map +1 -0
  55. package/dist/providers/kimi/index.d.ts +37 -0
  56. package/dist/providers/kimi/index.d.ts.map +1 -0
  57. package/dist/providers/kimi/install.d.ts +65 -0
  58. package/dist/providers/kimi/install.d.ts.map +1 -0
  59. package/dist/providers/opencode/adapter.d.ts +83 -0
  60. package/dist/providers/opencode/adapter.d.ts.map +1 -0
  61. package/dist/providers/opencode/hooks.d.ts +136 -0
  62. package/dist/providers/opencode/hooks.d.ts.map +1 -0
  63. package/dist/providers/opencode/index.d.ts +35 -0
  64. package/dist/providers/opencode/index.d.ts.map +1 -0
  65. package/dist/providers/opencode/install.d.ts +56 -0
  66. package/dist/providers/opencode/install.d.ts.map +1 -0
  67. package/dist/providers/opencode/spawn.d.ts +94 -0
  68. package/dist/providers/opencode/spawn.d.ts.map +1 -0
  69. package/dist/providers/shared/transcript-reader.d.ts +58 -0
  70. package/dist/providers/shared/transcript-reader.d.ts.map +1 -0
  71. package/dist/registry.d.ts +88 -0
  72. package/dist/registry.d.ts.map +1 -0
  73. package/package.json +3 -3
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Cursor Spawn Provider
3
+ *
4
+ * Cursor is a GUI-based AI code editor and does not support
5
+ * CLI-based subagent spawning. This provider implements
6
+ * the AdapterSpawnProvider interface with appropriate rejections.
7
+ *
8
+ * @task T5240
9
+ */
10
+ import type { AdapterSpawnProvider, SpawnContext, SpawnResult } from '@cleocode/contracts';
11
+ /**
12
+ * Spawn provider for Cursor.
13
+ *
14
+ * Cursor does not support subagent spawning via CLI. The adapter
15
+ * declares supportsSpawn: false in its capabilities. All methods
16
+ * either reject or return empty results.
17
+ */
18
+ export declare class CursorSpawnProvider implements AdapterSpawnProvider {
19
+ /**
20
+ * Check if Cursor supports spawning subagents.
21
+ *
22
+ * @returns false (Cursor does not support CLI spawning)
23
+ */
24
+ canSpawn(): Promise<boolean>;
25
+ /**
26
+ * Attempt to spawn a subagent via Cursor.
27
+ *
28
+ * Always throws because Cursor does not support subagent spawning.
29
+ * Callers should check canSpawn() before calling this method.
30
+ *
31
+ * @param _context - Unused; spawning is not supported
32
+ * @throws Error explaining that Cursor does not support subagent spawning
33
+ */
34
+ spawn(_context: SpawnContext): Promise<SpawnResult>;
35
+ /**
36
+ * List running Cursor subagent processes.
37
+ *
38
+ * @returns Empty array (no processes can be spawned)
39
+ */
40
+ listRunning(): Promise<SpawnResult[]>;
41
+ /**
42
+ * Terminate a Cursor subagent process.
43
+ *
44
+ * No-op because Cursor cannot spawn processes.
45
+ *
46
+ * @param _instanceId - Unused; no processes to terminate
47
+ */
48
+ terminate(_instanceId: string): Promise<void>;
49
+ }
50
+ //# sourceMappingURL=spawn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spawn.d.ts","sourceRoot":"","sources":["../../../src/providers/cursor/spawn.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAE3F;;;;;;GAMG;AACH,qBAAa,mBAAoB,YAAW,oBAAoB;IAC9D;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAIlC;;;;;;;;OAQG;IACG,KAAK,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IAQzD;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAI3C;;;;;;OAMG;IACG,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGpD"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Gemini CLI Adapter
3
+ *
4
+ * Main CLEOProviderAdapter implementation for Google Gemini CLI.
5
+ * Provides hooks and install capabilities for CLEO integration.
6
+ *
7
+ * @task T161
8
+ * @epic T134
9
+ */
10
+ import type { AdapterCapabilities, AdapterHealthStatus, CLEOProviderAdapter } from '@cleocode/contracts';
11
+ import { GeminiCliHookProvider } from './hooks.js';
12
+ import { GeminiCliInstallProvider } from './install.js';
13
+ /**
14
+ * CLEO provider adapter for Google Gemini CLI.
15
+ *
16
+ * Bridges CLEO's adapter system with Gemini CLI's native capabilities:
17
+ * - Hooks: Maps Gemini CLI events (SessionStart, PreToolUse, etc.) to CAAMP events
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/`.
25
+ *
26
+ * @task T161
27
+ * @epic T134
28
+ */
29
+ export declare class GeminiCliAdapter implements CLEOProviderAdapter {
30
+ /** Unique provider identifier. */
31
+ readonly id = "gemini-cli";
32
+ /** Human-readable provider name. */
33
+ readonly name = "Gemini CLI";
34
+ /** Adapter version string. */
35
+ readonly version = "1.0.0";
36
+ /** Declared capabilities for this provider. */
37
+ capabilities: AdapterCapabilities;
38
+ /** Hook provider for CAAMP event mapping. */
39
+ hooks: GeminiCliHookProvider;
40
+ /** Install provider for managing instruction files. */
41
+ install: GeminiCliInstallProvider;
42
+ /** Project directory this adapter was initialized with, or null. */
43
+ private projectDir;
44
+ /** Whether {@link initialize} has been called. */
45
+ private initialized;
46
+ constructor();
47
+ /**
48
+ * Initialize the adapter for a given project directory.
49
+ *
50
+ * @param projectDir - Root directory of the project
51
+ * @task T161
52
+ */
53
+ initialize(projectDir: string): Promise<void>;
54
+ /**
55
+ * Dispose the adapter and clean up resources.
56
+ *
57
+ * Unregisters hooks and releases any tracked state.
58
+ * @task T161
59
+ */
60
+ dispose(): Promise<void>;
61
+ /**
62
+ * Run a health check to verify Gemini CLI is accessible.
63
+ *
64
+ * Checks:
65
+ * 1. Adapter has been initialized
66
+ * 2. Gemini CLI binary is available in PATH
67
+ * 3. ~/.gemini/ configuration directory exists
68
+ *
69
+ * @returns Health status with details about each check
70
+ * @task T161
71
+ */
72
+ healthCheck(): Promise<AdapterHealthStatus>;
73
+ /**
74
+ * Check whether the adapter has been initialized.
75
+ * @task T161
76
+ */
77
+ isInitialized(): boolean;
78
+ /**
79
+ * Get the project directory this adapter was initialized with.
80
+ * @task T161
81
+ */
82
+ getProjectDir(): string | null;
83
+ }
84
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +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;;;;;;;;;;;;;;;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,CAsB/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"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Gemini CLI Hook Provider
3
+ *
4
+ * Maps Gemini CLI's native hook events to CAAMP canonical hook events.
5
+ * Gemini CLI supports 11 canonical events through its hook system.
6
+ *
7
+ * Gemini CLI event mapping:
8
+ * - SessionStart -> SessionStart
9
+ * - SessionEnd -> SessionEnd
10
+ * - PromptSubmit -> BeforeAgent
11
+ * - ResponseComplete -> AfterAgent
12
+ * - PreToolUse -> BeforeTool
13
+ * - PostToolUse -> AfterTool
14
+ * - PreModel -> BeforeModel
15
+ * - PostModel -> AfterModel
16
+ * - PreCompact -> PreCompress
17
+ * - Notification -> Notification
18
+ *
19
+ * @task T161
20
+ * @epic T134
21
+ */
22
+ import type { AdapterHookProvider } from '@cleocode/contracts';
23
+ /**
24
+ * Hook provider for Gemini CLI.
25
+ *
26
+ * Gemini CLI registers hooks via its configuration system at
27
+ * ~/.gemini/. Hook handlers are shell scripts or commands that
28
+ * execute when the corresponding event fires.
29
+ *
30
+ * Since hooks are registered through the config system (managed by
31
+ * the install provider), registerNativeHooks and unregisterNativeHooks
32
+ * track registration state without performing filesystem operations.
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
+ *
40
+ * @task T161
41
+ * @epic T134
42
+ */
43
+ export declare class GeminiCliHookProvider implements AdapterHookProvider {
44
+ /** Whether hooks have been registered for the current session. */
45
+ private registered;
46
+ /**
47
+ * Map a Gemini CLI native event name to a CAAMP hook event name.
48
+ *
49
+ * @param providerEvent - Gemini CLI event name (e.g. "SessionStart", "PreToolUse")
50
+ * @returns CAAMP event name or null if unmapped
51
+ * @task T161
52
+ */
53
+ mapProviderEvent(providerEvent: string): string | null;
54
+ /**
55
+ * Register native hooks for a project.
56
+ *
57
+ * For Gemini CLI, hooks are registered via the config system
58
+ * (~/.gemini/), which is handled by the install provider.
59
+ * This method marks hooks as registered without performing
60
+ * filesystem operations.
61
+ *
62
+ * @param _projectDir - Project directory (unused; hooks are global)
63
+ * @task T161
64
+ */
65
+ registerNativeHooks(_projectDir: string): Promise<void>;
66
+ /**
67
+ * Unregister native hooks.
68
+ *
69
+ * For Gemini CLI, this is a no-op since hooks are managed through
70
+ * the config system. Unregistration happens via the install
71
+ * provider's uninstall method.
72
+ * @task T161
73
+ */
74
+ unregisterNativeHooks(): Promise<void>;
75
+ /**
76
+ * Check whether hooks have been registered via registerNativeHooks.
77
+ * @task T161
78
+ */
79
+ isRegistered(): boolean;
80
+ /**
81
+ * Get the full event mapping for introspection/debugging.
82
+ * @task T161
83
+ */
84
+ getEventMap(): Readonly<Record<string, string>>;
85
+ /**
86
+ * Extract a plain-text transcript from Gemini CLI session data.
87
+ *
88
+ * Reads the most recent JSON/JSONL session file under `~/.gemini/`
89
+ * and returns its turns as a flat string for brain observation extraction.
90
+ *
91
+ * Returns null when no session data is found or on any read error.
92
+ *
93
+ * @param _sessionId - CLEO session ID (unused; reads the most recent file)
94
+ * @param _projectDir - Project directory (unused; Gemini CLI uses global paths)
95
+ * @task T161 @epic T134
96
+ */
97
+ getTranscript(_sessionId: string, _projectDir: string): Promise<string | null>;
98
+ }
99
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +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;;;;;;;;;;;;;;;;;;;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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * @packageDocumentation
3
+ *
4
+ * CLEO provider adapter for Google Gemini CLI.
5
+ * Default export is the adapter class for dynamic loading by AdapterManager.
6
+ *
7
+ * @task T161
8
+ * @epic T134
9
+ */
10
+ import { GeminiCliAdapter } from './adapter.js';
11
+ export { GeminiCliAdapter } from './adapter.js';
12
+ export { GeminiCliHookProvider } from './hooks.js';
13
+ export { GeminiCliInstallProvider } from './install.js';
14
+ export default GeminiCliAdapter;
15
+ /**
16
+ * Factory function for creating adapter instances.
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 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
+ *
34
+ * @task T161
35
+ */
36
+ export declare function createAdapter(): GeminiCliAdapter;
37
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,aAAa,IAAI,gBAAgB,CAEhD"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Gemini CLI Install Provider
3
+ *
4
+ * Handles CLEO installation into Gemini CLI environments:
5
+ * - Ensures AGENTS.md has CLEO @-references
6
+ *
7
+ * @task T161
8
+ * @epic T134
9
+ */
10
+ import type { AdapterInstallProvider, InstallOptions, InstallResult } from '@cleocode/contracts';
11
+ /**
12
+ * Install provider for Gemini CLI.
13
+ *
14
+ * Manages CLEO's integration with Gemini CLI by:
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.
21
+ *
22
+ * @task T161
23
+ * @epic T134
24
+ */
25
+ export declare class GeminiCliInstallProvider implements AdapterInstallProvider {
26
+ /**
27
+ * Install CLEO into a Gemini CLI environment.
28
+ *
29
+ * @param options - Installation options including project directory
30
+ * @returns Result describing what was installed
31
+ * @task T161
32
+ */
33
+ install(options: InstallOptions): Promise<InstallResult>;
34
+ /**
35
+ * Uninstall CLEO from the Gemini CLI environment.
36
+ *
37
+ * Does not remove AGENTS.md references (they are harmless if CLEO is not present).
38
+ * @task T161
39
+ */
40
+ uninstall(): Promise<void>;
41
+ /**
42
+ * Check whether CLEO is installed in the Gemini CLI environment.
43
+ *
44
+ * Checks for CLEO references in AGENTS.md.
45
+ * @task T161
46
+ */
47
+ isInstalled(): Promise<boolean>;
48
+ /**
49
+ * Ensure AGENTS.md contains @-references to CLEO instruction files.
50
+ *
51
+ * Creates AGENTS.md if it does not exist. Appends any missing references.
52
+ *
53
+ * @param projectDir - Project root directory
54
+ * @task T161
55
+ */
56
+ ensureInstructionReferences(projectDir: string): Promise<void>;
57
+ /**
58
+ * Update AGENTS.md with CLEO @-references.
59
+ *
60
+ * @param projectDir - Project root directory
61
+ * @returns true if the file was created or modified
62
+ */
63
+ private updateInstructionFile;
64
+ }
65
+ //# sourceMappingURL=install.d.ts.map
@@ -0,0 +1 @@
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;IAoB9D;;;;;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"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Kimi Adapter
3
+ *
4
+ * Main CLEOProviderAdapter implementation for Moonshot AI Kimi.
5
+ * Provides install-only capabilities for CLEO integration.
6
+ * Kimi has no native hook system; integration is via instruction files.
7
+ *
8
+ * @task T163
9
+ * @epic T134
10
+ */
11
+ import type { AdapterCapabilities, AdapterHealthStatus, CLEOProviderAdapter } from '@cleocode/contracts';
12
+ import { KimiHookProvider } from './hooks.js';
13
+ import { KimiInstallProvider } from './install.js';
14
+ /**
15
+ * CLEO provider adapter for Moonshot AI Kimi.
16
+ *
17
+ * Bridges CLEO's adapter system with Kimi's integration surface:
18
+ * - Hooks: No-op (Kimi has no native hook system)
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.
25
+ *
26
+ * @task T163
27
+ * @epic T134
28
+ */
29
+ export declare class KimiAdapter implements CLEOProviderAdapter {
30
+ /** Unique provider identifier. */
31
+ readonly id = "kimi";
32
+ /** Human-readable provider name. */
33
+ readonly name = "Kimi";
34
+ /** Adapter version string. */
35
+ readonly version = "1.0.0";
36
+ /** Declared capabilities for this provider. */
37
+ capabilities: AdapterCapabilities;
38
+ /** Hook provider (no-op since Kimi has no event system). */
39
+ hooks: KimiHookProvider;
40
+ /** Install provider for managing instruction files. */
41
+ install: KimiInstallProvider;
42
+ /** Project directory this adapter was initialized with, or null. */
43
+ private projectDir;
44
+ /** Whether {@link initialize} has been called. */
45
+ private initialized;
46
+ constructor();
47
+ /**
48
+ * Initialize the adapter for a given project directory.
49
+ *
50
+ * @param projectDir - Root directory of the project
51
+ * @task T163
52
+ */
53
+ initialize(projectDir: string): Promise<void>;
54
+ /**
55
+ * Dispose the adapter and clean up resources.
56
+ *
57
+ * Releases tracked state. No hooks to unregister since Kimi
58
+ * has no native hook system.
59
+ * @task T163
60
+ */
61
+ dispose(): Promise<void>;
62
+ /**
63
+ * Run a health check to verify Kimi is accessible.
64
+ *
65
+ * Checks:
66
+ * 1. Adapter has been initialized
67
+ * 2. Kimi CLI binary is available in PATH
68
+ * 3. ~/.kimi/ configuration directory exists
69
+ *
70
+ * @returns Health status with details about each check
71
+ * @task T163
72
+ */
73
+ healthCheck(): Promise<AdapterHealthStatus>;
74
+ /**
75
+ * Check whether the adapter has been initialized.
76
+ * @task T163
77
+ */
78
+ isInitialized(): boolean;
79
+ /**
80
+ * Get the project directory this adapter was initialized with.
81
+ * @task T163
82
+ */
83
+ getProjectDir(): string | null;
84
+ }
85
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +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;;;;;;;;;;;;;;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,CAW/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"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Kimi Hook Provider
3
+ *
4
+ * Kimi has no native hook system (hookSystem is "none").
5
+ * This provider implements the minimal AdapterHookProvider interface
6
+ * with a no-op mapProviderEvent that always returns null.
7
+ *
8
+ * @task T163
9
+ * @epic T134
10
+ */
11
+ import type { AdapterHookProvider } from '@cleocode/contracts';
12
+ /**
13
+ * Hook provider for Kimi.
14
+ *
15
+ * Kimi does not expose a native hook or event system.
16
+ * All hook-related methods are no-ops; mapProviderEvent always
17
+ * returns null since there are no events to map.
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
+ *
24
+ * @task T163
25
+ * @epic T134
26
+ */
27
+ export declare class KimiHookProvider implements AdapterHookProvider {
28
+ /** Whether hooks have been registered (always a no-op for Kimi). */
29
+ private registered;
30
+ /**
31
+ * Map a Kimi native event name to a CAAMP hook event name.
32
+ *
33
+ * Kimi has no hook system, so this always returns null.
34
+ *
35
+ * @param _providerEvent - Unused; Kimi emits no hookable events
36
+ * @returns Always null
37
+ * @task T163
38
+ */
39
+ mapProviderEvent(_providerEvent: string): string | null;
40
+ /**
41
+ * Register native hooks for a project.
42
+ *
43
+ * Kimi has no hook system. This method is a no-op and only
44
+ * tracks registration state for interface compliance.
45
+ *
46
+ * @param _projectDir - Project directory (unused)
47
+ * @task T163
48
+ */
49
+ registerNativeHooks(_projectDir: string): Promise<void>;
50
+ /**
51
+ * Unregister native hooks.
52
+ *
53
+ * Kimi has no hook system. This method is a no-op.
54
+ * @task T163
55
+ */
56
+ unregisterNativeHooks(): Promise<void>;
57
+ /**
58
+ * Check whether hooks have been registered via registerNativeHooks.
59
+ * @task T163
60
+ */
61
+ isRegistered(): boolean;
62
+ /**
63
+ * Get the full event mapping for introspection/debugging.
64
+ *
65
+ * Returns an empty map since Kimi has no hookable events.
66
+ * @task T163
67
+ */
68
+ getEventMap(): Readonly<Record<string, string>>;
69
+ }
70
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +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;;;;;;;;;;;;;;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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * @packageDocumentation
3
+ *
4
+ * CLEO provider adapter for Moonshot AI Kimi.
5
+ * Default export is the adapter class for dynamic loading by AdapterManager.
6
+ *
7
+ * @task T163
8
+ * @epic T134
9
+ */
10
+ import { KimiAdapter } from './adapter.js';
11
+ export { KimiAdapter } from './adapter.js';
12
+ export { KimiHookProvider } from './hooks.js';
13
+ export { KimiInstallProvider } from './install.js';
14
+ export default KimiAdapter;
15
+ /**
16
+ * Factory function for creating adapter instances.
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 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
+ *
34
+ * @task T163
35
+ */
36
+ export declare function createAdapter(): KimiAdapter;
37
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,aAAa,IAAI,WAAW,CAE3C"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Kimi Install Provider
3
+ *
4
+ * Handles CLEO installation into Kimi environments:
5
+ * - Ensures AGENTS.md has CLEO @-references
6
+ *
7
+ * @task T163
8
+ * @epic T134
9
+ */
10
+ import type { AdapterInstallProvider, InstallOptions, InstallResult } from '@cleocode/contracts';
11
+ /**
12
+ * Install provider for Kimi.
13
+ *
14
+ * Manages CLEO's integration with Kimi by:
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; Kimi does
20
+ * not have an MCP or plugin registration mechanism.
21
+ *
22
+ * @task T163
23
+ * @epic T134
24
+ */
25
+ export declare class KimiInstallProvider implements AdapterInstallProvider {
26
+ /**
27
+ * Install CLEO into a Kimi environment.
28
+ *
29
+ * @param options - Installation options including project directory
30
+ * @returns Result describing what was installed
31
+ * @task T163
32
+ */
33
+ install(options: InstallOptions): Promise<InstallResult>;
34
+ /**
35
+ * Uninstall CLEO from the Kimi environment.
36
+ *
37
+ * Does not remove AGENTS.md references (they are harmless if CLEO is not present).
38
+ * @task T163
39
+ */
40
+ uninstall(): Promise<void>;
41
+ /**
42
+ * Check whether CLEO is installed in the Kimi environment.
43
+ *
44
+ * Checks for CLEO references in AGENTS.md.
45
+ * @task T163
46
+ */
47
+ isInstalled(): Promise<boolean>;
48
+ /**
49
+ * Ensure AGENTS.md contains @-references to CLEO instruction files.
50
+ *
51
+ * Creates AGENTS.md if it does not exist. Appends any missing references.
52
+ *
53
+ * @param projectDir - Project root directory
54
+ * @task T163
55
+ */
56
+ ensureInstructionReferences(projectDir: string): Promise<void>;
57
+ /**
58
+ * Update AGENTS.md with CLEO @-references.
59
+ *
60
+ * @param projectDir - Project root directory
61
+ * @returns true if the file was created or modified
62
+ */
63
+ private updateInstructionFile;
64
+ }
65
+ //# sourceMappingURL=install.d.ts.map
@@ -0,0 +1 @@
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;IAoB9D;;;;;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"}