@cleocode/adapters 2026.3.37 → 2026.3.39
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/LICENSE +21 -0
- package/README.md +503 -0
- package/dist/index.js +621 -496
- package/dist/index.js.map +4 -4
- package/package.json +12 -7
- package/src/__tests__/claude-code-adapter.test.d.ts +10 -0
- package/src/__tests__/claude-code-adapter.test.d.ts.map +1 -0
- package/src/__tests__/claude-code-adapter.test.js +192 -0
- package/src/__tests__/claude-code-adapter.test.js.map +1 -0
- package/src/__tests__/claude-code-adapter.test.ts +235 -0
- package/src/__tests__/cursor-adapter.test.d.ts +10 -0
- package/src/__tests__/cursor-adapter.test.d.ts.map +1 -0
- package/src/__tests__/cursor-adapter.test.js +196 -0
- package/src/__tests__/cursor-adapter.test.js.map +1 -0
- package/src/__tests__/cursor-adapter.test.ts +246 -0
- package/src/__tests__/opencode-adapter.test.d.ts +10 -0
- package/src/__tests__/opencode-adapter.test.d.ts.map +1 -0
- package/src/__tests__/opencode-adapter.test.js +204 -0
- package/src/__tests__/opencode-adapter.test.js.map +1 -0
- package/src/__tests__/opencode-adapter.test.ts +250 -0
- package/src/index.d.ts +28 -20
- package/src/index.d.ts.map +1 -1
- package/src/index.js +4 -19
- package/src/index.js.map +1 -1
- package/src/index.ts +25 -25
- package/src/providers/claude-code/__tests__/adapter.test.d.ts +1 -1
- package/src/providers/claude-code/__tests__/adapter.test.d.ts.map +0 -0
- package/src/providers/claude-code/__tests__/adapter.test.js +2 -2
- package/src/providers/claude-code/__tests__/adapter.test.js.map +1 -1
- package/src/providers/claude-code/__tests__/adapter.test.ts +2 -2
- package/src/providers/claude-code/adapter.d.ts +54 -50
- package/src/providers/claude-code/adapter.d.ts.map +0 -0
- package/src/providers/claude-code/adapter.js +1 -1
- package/src/providers/claude-code/adapter.js.map +1 -1
- package/src/providers/claude-code/adapter.ts +1 -1
- package/src/providers/claude-code/context-monitor.d.ts +6 -6
- package/src/providers/claude-code/context-monitor.d.ts.map +0 -0
- package/src/providers/claude-code/context-monitor.js +0 -0
- package/src/providers/claude-code/context-monitor.js.map +0 -0
- package/src/providers/claude-code/context-monitor.ts +0 -0
- package/src/providers/claude-code/hooks.d.ts +36 -36
- package/src/providers/claude-code/hooks.d.ts.map +0 -0
- package/src/providers/claude-code/hooks.js +0 -0
- package/src/providers/claude-code/hooks.js.map +0 -0
- package/src/providers/claude-code/hooks.ts +0 -0
- package/src/providers/claude-code/index.d.ts +6 -2
- package/src/providers/claude-code/index.d.ts.map +1 -1
- package/src/providers/claude-code/index.js +1 -1
- package/src/providers/claude-code/index.js.map +1 -1
- package/src/providers/claude-code/index.ts +2 -2
- package/src/providers/claude-code/install.d.ts +52 -52
- package/src/providers/claude-code/install.d.ts.map +1 -1
- package/src/providers/claude-code/install.js +1 -4
- package/src/providers/claude-code/install.js.map +1 -1
- package/src/providers/claude-code/install.ts +1 -4
- package/src/providers/claude-code/manifest.json +0 -0
- package/src/providers/claude-code/paths.d.ts +5 -5
- package/src/providers/claude-code/paths.d.ts.map +0 -0
- package/src/providers/claude-code/paths.js +0 -0
- package/src/providers/claude-code/paths.js.map +0 -0
- package/src/providers/claude-code/paths.ts +0 -0
- package/src/providers/claude-code/spawn.d.ts +37 -37
- package/src/providers/claude-code/spawn.d.ts.map +1 -1
- package/src/providers/claude-code/spawn.js +4 -0
- package/src/providers/claude-code/spawn.js.map +1 -1
- package/src/providers/claude-code/spawn.ts +5 -0
- package/src/providers/claude-code/statusline.d.ts +1 -2
- package/src/providers/claude-code/statusline.d.ts.map +0 -0
- package/src/providers/claude-code/statusline.js +2 -1
- package/src/providers/claude-code/statusline.js.map +1 -1
- package/src/providers/claude-code/statusline.ts +3 -3
- package/src/providers/claude-code/task-sync.d.ts +7 -7
- package/src/providers/claude-code/task-sync.d.ts.map +1 -1
- package/src/providers/claude-code/task-sync.js +1 -3
- package/src/providers/claude-code/task-sync.js.map +1 -1
- package/src/providers/claude-code/task-sync.ts +1 -3
- package/src/providers/claude-code/transport.d.ts +3 -3
- package/src/providers/claude-code/transport.d.ts.map +0 -0
- package/src/providers/claude-code/transport.js +0 -0
- package/src/providers/claude-code/transport.js.map +0 -0
- package/src/providers/claude-code/transport.ts +0 -0
- package/src/providers/cursor/__tests__/adapter.test.d.ts +1 -1
- package/src/providers/cursor/__tests__/adapter.test.d.ts.map +0 -0
- package/src/providers/cursor/__tests__/adapter.test.js +2 -2
- package/src/providers/cursor/__tests__/adapter.test.js.map +1 -1
- package/src/providers/cursor/__tests__/adapter.test.ts +2 -2
- package/src/providers/cursor/adapter.d.ts +44 -40
- package/src/providers/cursor/adapter.d.ts.map +0 -0
- package/src/providers/cursor/adapter.js +0 -0
- package/src/providers/cursor/adapter.js.map +0 -0
- package/src/providers/cursor/adapter.ts +0 -0
- package/src/providers/cursor/hooks.d.ts +29 -29
- package/src/providers/cursor/hooks.d.ts.map +0 -0
- package/src/providers/cursor/hooks.js +0 -0
- package/src/providers/cursor/hooks.js.map +0 -0
- package/src/providers/cursor/hooks.ts +0 -0
- package/src/providers/cursor/index.d.ts +1 -1
- package/src/providers/cursor/index.d.ts.map +0 -0
- package/src/providers/cursor/index.js +0 -0
- package/src/providers/cursor/index.js.map +0 -0
- package/src/providers/cursor/index.ts +0 -0
- package/src/providers/cursor/install.d.ts +67 -67
- package/src/providers/cursor/install.d.ts.map +1 -1
- package/src/providers/cursor/install.js +1 -4
- package/src/providers/cursor/install.js.map +1 -1
- package/src/providers/cursor/install.ts +1 -4
- package/src/providers/cursor/manifest.json +0 -0
- package/src/providers/cursor/spawn.d.ts +31 -31
- package/src/providers/cursor/spawn.d.ts.map +0 -0
- package/src/providers/cursor/spawn.js +0 -0
- package/src/providers/cursor/spawn.js.map +1 -1
- package/src/providers/cursor/spawn.ts +2 -2
- package/src/providers/opencode/__tests__/adapter.test.d.ts +1 -1
- package/src/providers/opencode/__tests__/adapter.test.d.ts.map +0 -0
- package/src/providers/opencode/__tests__/adapter.test.js +2 -2
- package/src/providers/opencode/__tests__/adapter.test.js.map +1 -1
- package/src/providers/opencode/__tests__/adapter.test.ts +2 -2
- package/src/providers/opencode/adapter.d.ts +50 -46
- package/src/providers/opencode/adapter.d.ts.map +0 -0
- package/src/providers/opencode/adapter.js +0 -0
- package/src/providers/opencode/adapter.js.map +0 -0
- package/src/providers/opencode/adapter.ts +0 -0
- package/src/providers/opencode/hooks.d.ts +36 -36
- package/src/providers/opencode/hooks.d.ts.map +0 -0
- package/src/providers/opencode/hooks.js +1 -1
- package/src/providers/opencode/hooks.js.map +1 -1
- package/src/providers/opencode/hooks.ts +1 -1
- package/src/providers/opencode/index.d.ts +2 -2
- package/src/providers/opencode/index.d.ts.map +1 -1
- package/src/providers/opencode/index.js +1 -1
- package/src/providers/opencode/index.js.map +1 -1
- package/src/providers/opencode/index.ts +1 -1
- package/src/providers/opencode/install.d.ts +46 -46
- package/src/providers/opencode/install.d.ts.map +1 -1
- package/src/providers/opencode/install.js +1 -4
- package/src/providers/opencode/install.js.map +1 -1
- package/src/providers/opencode/install.ts +1 -4
- package/src/providers/opencode/manifest.json +0 -0
- package/src/providers/opencode/spawn.d.ts +42 -39
- package/src/providers/opencode/spawn.d.ts.map +1 -1
- package/src/providers/opencode/spawn.js +0 -0
- package/src/providers/opencode/spawn.js.map +1 -1
- package/src/providers/opencode/spawn.ts +2 -7
- package/src/registry.d.ts +12 -12
- package/src/registry.d.ts.map +1 -1
- package/src/registry.js +0 -0
- package/src/registry.js.map +1 -1
- package/src/registry.ts +1 -3
- package/dist/index.d.ts +0 -27
- package/dist/index.d.ts.map +0 -1
- package/dist/providers/claude-code/adapter.d.ts +0 -75
- package/dist/providers/claude-code/adapter.d.ts.map +0 -1
- package/dist/providers/claude-code/adapter.js +0 -154
- package/dist/providers/claude-code/adapter.js.map +0 -1
- package/dist/providers/claude-code/context-monitor.d.ts +0 -24
- package/dist/providers/claude-code/context-monitor.d.ts.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.d.ts +0 -59
- package/dist/providers/claude-code/hooks.d.ts.map +0 -1
- package/dist/providers/claude-code/hooks.js +0 -77
- package/dist/providers/claude-code/hooks.js.map +0 -1
- package/dist/providers/claude-code/index.d.ts +0 -24
- package/dist/providers/claude-code/index.d.ts.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.d.ts +0 -75
- package/dist/providers/claude-code/install.d.ts.map +0 -1
- package/dist/providers/claude-code/install.js +0 -237
- package/dist/providers/claude-code/install.js.map +0 -1
- package/dist/providers/claude-code/paths.d.ts +0 -24
- package/dist/providers/claude-code/paths.d.ts.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.d.ts +0 -60
- package/dist/providers/claude-code/spawn.d.ts.map +0 -1
- package/dist/providers/claude-code/spawn.js +0 -160
- package/dist/providers/claude-code/spawn.js.map +0 -1
- package/dist/providers/claude-code/statusline.d.ts +0 -24
- package/dist/providers/claude-code/statusline.d.ts.map +0 -1
- package/dist/providers/claude-code/statusline.js +0 -85
- package/dist/providers/claude-code/statusline.js.map +0 -1
- package/dist/providers/claude-code/task-sync.d.ts +0 -27
- package/dist/providers/claude-code/task-sync.d.ts.map +0 -1
- package/dist/providers/claude-code/task-sync.js +0 -124
- package/dist/providers/claude-code/task-sync.js.map +0 -1
- package/dist/providers/claude-code/transport.d.ts +0 -14
- package/dist/providers/claude-code/transport.d.ts.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/cursor/adapter.d.ts +0 -62
- package/dist/providers/cursor/adapter.d.ts.map +0 -1
- package/dist/providers/cursor/adapter.js +0 -124
- package/dist/providers/cursor/adapter.js.map +0 -1
- package/dist/providers/cursor/hooks.d.ts +0 -48
- package/dist/providers/cursor/hooks.d.ts.map +0 -1
- package/dist/providers/cursor/hooks.js +0 -55
- package/dist/providers/cursor/hooks.js.map +0 -1
- package/dist/providers/cursor/index.d.ts +0 -19
- package/dist/providers/cursor/index.d.ts.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.d.ts +0 -94
- package/dist/providers/cursor/install.d.ts.map +0 -1
- package/dist/providers/cursor/install.js +0 -241
- package/dist/providers/cursor/install.js.map +0 -1
- package/dist/providers/cursor/spawn.d.ts +0 -50
- package/dist/providers/cursor/spawn.d.ts.map +0 -1
- package/dist/providers/cursor/spawn.js +0 -59
- package/dist/providers/cursor/spawn.js.map +0 -1
- package/dist/providers/opencode/adapter.d.ts +0 -67
- package/dist/providers/opencode/adapter.d.ts.map +0 -1
- package/dist/providers/opencode/adapter.js +0 -144
- package/dist/providers/opencode/adapter.js.map +0 -1
- package/dist/providers/opencode/hooks.d.ts +0 -66
- package/dist/providers/opencode/hooks.d.ts.map +0 -1
- package/dist/providers/opencode/hooks.js +0 -89
- package/dist/providers/opencode/hooks.js.map +0 -1
- package/dist/providers/opencode/index.d.ts +0 -20
- package/dist/providers/opencode/index.d.ts.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.d.ts +0 -65
- package/dist/providers/opencode/install.d.ts.map +0 -1
- package/dist/providers/opencode/install.js +0 -183
- package/dist/providers/opencode/install.js.map +0 -1
- package/dist/providers/opencode/spawn.d.ts +0 -72
- package/dist/providers/opencode/spawn.d.ts.map +0 -1
- package/dist/providers/opencode/spawn.js +0 -219
- package/dist/providers/opencode/spawn.js.map +0 -1
- package/dist/registry.d.ts +0 -36
- package/dist/registry.d.ts.map +0 -1
- package/dist/registry.js +0 -55
- package/dist/registry.js.map +0 -1
|
@@ -21,7 +21,10 @@ import type { AdapterSpawnProvider, SpawnContext, SpawnResult } from '@cleocode/
|
|
|
21
21
|
* @param instructions - Markdown instructions body
|
|
22
22
|
* @returns Complete agent definition markdown
|
|
23
23
|
*/
|
|
24
|
-
export declare function buildOpenCodeAgentMarkdown(
|
|
24
|
+
export declare function buildOpenCodeAgentMarkdown(
|
|
25
|
+
description: string,
|
|
26
|
+
instructions: string,
|
|
27
|
+
): string;
|
|
25
28
|
/**
|
|
26
29
|
* Spawn provider for OpenCode.
|
|
27
30
|
*
|
|
@@ -31,42 +34,42 @@ export declare function buildOpenCodeAgentMarkdown(description: string, instruct
|
|
|
31
34
|
* as a detached, unref'd child process.
|
|
32
35
|
*/
|
|
33
36
|
export declare class OpenCodeSpawnProvider implements AdapterSpawnProvider {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
37
|
+
/** Map of instance IDs to tracked process info. */
|
|
38
|
+
private processMap;
|
|
39
|
+
/**
|
|
40
|
+
* Check if the OpenCode CLI is available in PATH.
|
|
41
|
+
*
|
|
42
|
+
* @returns true if `opencode` is found via `which`
|
|
43
|
+
*/
|
|
44
|
+
canSpawn(): Promise<boolean>;
|
|
45
|
+
/**
|
|
46
|
+
* Spawn a subagent via OpenCode CLI.
|
|
47
|
+
*
|
|
48
|
+
* Ensures the CLEO subagent definition exists in the project's
|
|
49
|
+
* .opencode/agent/ directory, then spawns a detached OpenCode
|
|
50
|
+
* process. The process runs independently of the parent.
|
|
51
|
+
*
|
|
52
|
+
* @param context - Spawn context with taskId, prompt, and options
|
|
53
|
+
* @returns Spawn result with instance ID and status
|
|
54
|
+
*/
|
|
55
|
+
spawn(context: SpawnContext): Promise<SpawnResult>;
|
|
56
|
+
/**
|
|
57
|
+
* List currently running OpenCode subagent processes.
|
|
58
|
+
*
|
|
59
|
+
* Checks each tracked process via kill(pid, 0) to verify it is still alive.
|
|
60
|
+
* Dead processes are automatically cleaned from the tracking map.
|
|
61
|
+
*
|
|
62
|
+
* @returns Array of spawn results for running processes
|
|
63
|
+
*/
|
|
64
|
+
listRunning(): Promise<SpawnResult[]>;
|
|
65
|
+
/**
|
|
66
|
+
* Terminate a running spawn by instance ID.
|
|
67
|
+
*
|
|
68
|
+
* Sends SIGTERM to the tracked process. If the process is not found
|
|
69
|
+
* or has already exited, this is a no-op.
|
|
70
|
+
*
|
|
71
|
+
* @param instanceId - ID of the spawn instance to terminate
|
|
72
|
+
*/
|
|
73
|
+
terminate(instanceId: string): Promise<void>;
|
|
71
74
|
}
|
|
72
|
-
//# sourceMappingURL=spawn.d.ts.map
|
|
75
|
+
//# sourceMappingURL=spawn.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawn.d.ts","sourceRoot":"","sources":["spawn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAiB3F;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,
|
|
1
|
+
{"version":3,"file":"spawn.d.ts","sourceRoot":"","sources":["spawn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAiB3F;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAY5F;AA0CD;;;;;;;GAOG;AACH,qBAAa,qBAAsB,YAAW,oBAAoB;IAChE,mDAAmD;IACnD,OAAO,CAAC,UAAU,CAAqC;IAEvD;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IASlC;;;;;;;;;OASG;IACG,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IAiExD;;;;;;;OAOG;IACG,WAAW,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAqB3C;;;;;;;OAOG;IACG,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAWnD"}
|
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawn.js","sourceRoot":"","sources":["spawn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,IAAI,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGtC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC,gFAAgF;AAChF,MAAM,sBAAsB,GAAG,eAAe,CAAC;AAE/C,0EAA0E;AAC1E,MAAM,uBAAuB,GAAG,SAAS,CAAC;AAS1C;;;;;;;;;GASG;AACH,MAAM,UAAU,0BAA0B,
|
|
1
|
+
{"version":3,"file":"spawn.js","sourceRoot":"","sources":["spawn.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,10 +42,7 @@ interface TrackedProcess {
|
|
|
42
42
|
* @param instructions - Markdown instructions body
|
|
43
43
|
* @returns Complete agent definition markdown
|
|
44
44
|
*/
|
|
45
|
-
export function buildOpenCodeAgentMarkdown(
|
|
46
|
-
description: string,
|
|
47
|
-
instructions: string,
|
|
48
|
-
): string {
|
|
45
|
+
export function buildOpenCodeAgentMarkdown(description: string, instructions: string): string {
|
|
49
46
|
const normalizedDesc = description.replace(/\s+/g, ' ').trim();
|
|
50
47
|
return [
|
|
51
48
|
'---',
|
|
@@ -68,9 +65,7 @@ export function buildOpenCodeAgentMarkdown(
|
|
|
68
65
|
* @param workingDirectory - Project root directory
|
|
69
66
|
* @returns The agent name to use for spawning
|
|
70
67
|
*/
|
|
71
|
-
async function ensureSubagentDefinition(
|
|
72
|
-
workingDirectory: string,
|
|
73
|
-
): Promise<string> {
|
|
68
|
+
async function ensureSubagentDefinition(workingDirectory: string): Promise<string> {
|
|
74
69
|
const agentDir = join(workingDirectory, '.opencode', 'agent');
|
|
75
70
|
const agentPath = join(agentDir, `${OPENCODE_SUBAGENT_NAME}.md`);
|
|
76
71
|
const description = 'CLEO task executor with protocol compliance.';
|
package/src/registry.d.ts
CHANGED
|
@@ -8,18 +8,18 @@
|
|
|
8
8
|
*/
|
|
9
9
|
/** Minimal manifest shape for provider discovery. */
|
|
10
10
|
export interface AdapterManifest {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
id: string;
|
|
12
|
+
name: string;
|
|
13
|
+
version: string;
|
|
14
|
+
description: string;
|
|
15
|
+
provider: string;
|
|
16
|
+
entryPoint: string;
|
|
17
|
+
capabilities: Record<string, unknown>;
|
|
18
|
+
detectionPatterns: Array<{
|
|
19
|
+
type: string;
|
|
20
|
+
pattern: string;
|
|
14
21
|
description: string;
|
|
15
|
-
|
|
16
|
-
entryPoint: string;
|
|
17
|
-
capabilities: Record<string, unknown>;
|
|
18
|
-
detectionPatterns: Array<{
|
|
19
|
-
type: string;
|
|
20
|
-
pattern: string;
|
|
21
|
-
description: string;
|
|
22
|
-
}>;
|
|
22
|
+
}>;
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
25
|
* Get the manifests for all bundled provider adapters.
|
|
@@ -33,4 +33,4 @@ export declare function getProviderManifests(): AdapterManifest[];
|
|
|
33
33
|
* Returns a map of provider ID to adapter factory function.
|
|
34
34
|
*/
|
|
35
35
|
export declare function discoverProviders(): Promise<Map<string, () => Promise<unknown>>>;
|
|
36
|
-
//# sourceMappingURL=registry.d.ts.map
|
|
36
|
+
//# sourceMappingURL=registry.d.ts.map
|
package/src/registry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,qDAAqD;AACrD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,iBAAiB,EAAE,KAAK,CAAC;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;CACJ;AAKD;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,eAAe,EAAE,CAexD;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,qDAAqD;AACrD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,iBAAiB,EAAE,KAAK,CAAC;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;CACJ;AAKD;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,eAAe,EAAE,CAexD;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAmBtF"}
|
package/src/registry.js
CHANGED
|
File without changes
|
package/src/registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAkBzC,0DAA0D;AAC1D,MAAM,YAAY,GAAG,CAAC,aAAa,EAAE,UAAU,EAAE,QAAQ,CAAU,CAAC;AAEpE;;;;GAIG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,SAAS,GAAsB,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAE9E,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;YAChE,MAAM,GAAG,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAChD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAoB,CAAC,CAAC;QACrD,CAAC;QAAC,MAAM,CAAC;YACP,kDAAkD;QACpD,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAkBzC,0DAA0D;AAC1D,MAAM,YAAY,GAAG,CAAC,aAAa,EAAE,UAAU,EAAE,QAAQ,CAAU,CAAC;AAEpE;;;;GAIG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,SAAS,GAAsB,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAE9E,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;YAChE,MAAM,GAAG,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAChD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAoB,CAAC,CAAC;QACrD,CAAC;QAAC,MAAM,CAAC;YACP,kDAAkD;QACpD,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkC,CAAC;IAE5D,SAAS,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kCAAkC,CAAC,CAAC;QAC/E,OAAO,IAAI,iBAAiB,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;QACnC,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;QAC1E,OAAO,IAAI,eAAe,EAAE,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QACjC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACtE,OAAO,IAAI,aAAa,EAAE,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
package/src/registry.ts
CHANGED
|
@@ -57,9 +57,7 @@ export function getProviderManifests(): AdapterManifest[] {
|
|
|
57
57
|
*
|
|
58
58
|
* Returns a map of provider ID to adapter factory function.
|
|
59
59
|
*/
|
|
60
|
-
export async function discoverProviders(): Promise<
|
|
61
|
-
Map<string, () => Promise<unknown>>
|
|
62
|
-
> {
|
|
60
|
+
export async function discoverProviders(): Promise<Map<string, () => Promise<unknown>>> {
|
|
63
61
|
const providers = new Map<string, () => Promise<unknown>>();
|
|
64
62
|
|
|
65
63
|
providers.set('claude-code', async () => {
|
package/dist/index.d.ts
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @cleocode/adapters
|
|
3
|
-
*
|
|
4
|
-
* Unified provider adapter package for CLEO.
|
|
5
|
-
* Exports all provider adapters and a registry for manifest discovery.
|
|
6
|
-
*/
|
|
7
|
-
export { discoverProviders, getProviderManifests } from './registry.js';
|
|
8
|
-
export type { AdapterManifest } from './registry.js';
|
|
9
|
-
export { ClaudeCodeAdapter } from './providers/claude-code/index.js';
|
|
10
|
-
export { ClaudeCodeContextMonitorProvider } from './providers/claude-code/index.js';
|
|
11
|
-
export { ClaudeCodeHookProvider } from './providers/claude-code/index.js';
|
|
12
|
-
export { ClaudeCodeInstallProvider } from './providers/claude-code/index.js';
|
|
13
|
-
export { ClaudeCodePathProvider } from './providers/claude-code/index.js';
|
|
14
|
-
export { ClaudeCodeSpawnProvider } from './providers/claude-code/index.js';
|
|
15
|
-
export { ClaudeCodeTransportProvider } from './providers/claude-code/index.js';
|
|
16
|
-
export { checkStatuslineIntegration, getStatuslineConfig, getSetupInstructions, } from './providers/claude-code/index.js';
|
|
17
|
-
export { OpenCodeAdapter } from './providers/opencode/index.js';
|
|
18
|
-
export { OpenCodeHookProvider } from './providers/opencode/index.js';
|
|
19
|
-
export { OpenCodeSpawnProvider } from './providers/opencode/index.js';
|
|
20
|
-
export { OpenCodeInstallProvider } from './providers/opencode/index.js';
|
|
21
|
-
export { CursorAdapter } from './providers/cursor/index.js';
|
|
22
|
-
export { CursorHookProvider } from './providers/cursor/index.js';
|
|
23
|
-
export { CursorInstallProvider } from './providers/cursor/index.js';
|
|
24
|
-
export { createAdapter as createClaudeCodeAdapter } from './providers/claude-code/index.js';
|
|
25
|
-
export { createAdapter as createOpenCodeAdapter } from './providers/opencode/index.js';
|
|
26
|
-
export { createAdapter as createCursorAdapter } from './providers/cursor/index.js';
|
|
27
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACxE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAC;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAExE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAGpE,OAAO,EAAE,aAAa,IAAI,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC5F,OAAO,EAAE,aAAa,IAAI,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACvF,OAAO,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Claude Code Adapter
|
|
3
|
-
*
|
|
4
|
-
* Main CLEOProviderAdapter implementation for Anthropic's Claude Code CLI.
|
|
5
|
-
* Provides spawn, hooks, and install capabilities for CLEO integration.
|
|
6
|
-
*
|
|
7
|
-
* @task T5240
|
|
8
|
-
*/
|
|
9
|
-
import type { AdapterCapabilities, AdapterHealthStatus, CLEOProviderAdapter } from '@cleocode/contracts';
|
|
10
|
-
import { ClaudeCodeContextMonitorProvider } from './context-monitor.js';
|
|
11
|
-
import { ClaudeCodeHookProvider } from './hooks.js';
|
|
12
|
-
import { ClaudeCodeInstallProvider } from './install.js';
|
|
13
|
-
import { ClaudeCodePathProvider } from './paths.js';
|
|
14
|
-
import { ClaudeCodeSpawnProvider } from './spawn.js';
|
|
15
|
-
import { ClaudeCodeTaskSyncProvider } from './task-sync.js';
|
|
16
|
-
import { ClaudeCodeTransportProvider } from './transport.js';
|
|
17
|
-
/**
|
|
18
|
-
* CLEO provider adapter for Anthropic Claude Code CLI.
|
|
19
|
-
*
|
|
20
|
-
* Bridges CLEO's adapter system with Claude Code's native capabilities:
|
|
21
|
-
* - Hooks: Maps Claude Code events (SessionStart, PostToolUse, etc.) to CAAMP events
|
|
22
|
-
* - Spawn: Launches subagent processes via the `claude` CLI
|
|
23
|
-
* - Install: Registers MCP server, instruction files, and brain observation plugin
|
|
24
|
-
*/
|
|
25
|
-
export declare class ClaudeCodeAdapter implements CLEOProviderAdapter {
|
|
26
|
-
readonly id = "claude-code";
|
|
27
|
-
readonly name = "Claude Code";
|
|
28
|
-
readonly version = "1.0.0";
|
|
29
|
-
capabilities: AdapterCapabilities;
|
|
30
|
-
hooks: ClaudeCodeHookProvider;
|
|
31
|
-
spawn: ClaudeCodeSpawnProvider;
|
|
32
|
-
install: ClaudeCodeInstallProvider;
|
|
33
|
-
paths: ClaudeCodePathProvider;
|
|
34
|
-
contextMonitor: ClaudeCodeContextMonitorProvider;
|
|
35
|
-
transport: ClaudeCodeTransportProvider;
|
|
36
|
-
taskSync: ClaudeCodeTaskSyncProvider;
|
|
37
|
-
private projectDir;
|
|
38
|
-
private initialized;
|
|
39
|
-
constructor();
|
|
40
|
-
/**
|
|
41
|
-
* Initialize the adapter for a given project directory.
|
|
42
|
-
*
|
|
43
|
-
* Validates the environment by checking for the Claude CLI
|
|
44
|
-
* and Claude Code configuration directory.
|
|
45
|
-
*
|
|
46
|
-
* @param projectDir - Root directory of the project
|
|
47
|
-
*/
|
|
48
|
-
initialize(projectDir: string): Promise<void>;
|
|
49
|
-
/**
|
|
50
|
-
* Dispose the adapter and clean up resources.
|
|
51
|
-
*
|
|
52
|
-
* Unregisters hooks and releases any tracked state.
|
|
53
|
-
*/
|
|
54
|
-
dispose(): Promise<void>;
|
|
55
|
-
/**
|
|
56
|
-
* Run a health check to verify Claude Code is accessible.
|
|
57
|
-
*
|
|
58
|
-
* Checks:
|
|
59
|
-
* 1. Adapter has been initialized
|
|
60
|
-
* 2. Claude CLI is available in PATH
|
|
61
|
-
* 3. ~/.claude/ configuration directory exists
|
|
62
|
-
*
|
|
63
|
-
* @returns Health status with details about each check
|
|
64
|
-
*/
|
|
65
|
-
healthCheck(): Promise<AdapterHealthStatus>;
|
|
66
|
-
/**
|
|
67
|
-
* Check whether the adapter has been initialized.
|
|
68
|
-
*/
|
|
69
|
-
isInitialized(): boolean;
|
|
70
|
-
/**
|
|
71
|
-
* Get the project directory this adapter was initialized with.
|
|
72
|
-
*/
|
|
73
|
-
getProjectDir(): string | null;
|
|
74
|
-
}
|
|
75
|
-
//# sourceMappingURL=adapter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/providers/claude-code/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gCAAgC,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAI7D;;;;;;;GAOG;AACH,qBAAa,iBAAkB,YAAW,mBAAmB;IAC3D,QAAQ,CAAC,EAAE,iBAAiB;IAC5B,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,QAAQ,CAAC,OAAO,WAAW;IAE3B,YAAY,EAAE,mBAAmB,CAmB/B;IAEF,KAAK,EAAE,sBAAsB,CAAC;IAC9B,KAAK,EAAE,uBAAuB,CAAC;IAC/B,OAAO,EAAE,yBAAyB,CAAC;IACnC,KAAK,EAAE,sBAAsB,CAAC;IAC9B,cAAc,EAAE,gCAAgC,CAAC;IACjD,SAAS,EAAE,2BAA2B,CAAC;IACvC,QAAQ,EAAE,0BAA0B,CAAC;IAErC,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,WAAW,CAAS;;IAY5B;;;;;;;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;IAyCjD;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACH,aAAa,IAAI,MAAM,GAAG,IAAI;CAG/B"}
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Claude Code Adapter
|
|
3
|
-
*
|
|
4
|
-
* Main CLEOProviderAdapter implementation for Anthropic's Claude Code CLI.
|
|
5
|
-
* Provides spawn, hooks, and install capabilities for CLEO integration.
|
|
6
|
-
*
|
|
7
|
-
* @task T5240
|
|
8
|
-
*/
|
|
9
|
-
import { exec } from 'node:child_process';
|
|
10
|
-
import { existsSync } from 'node:fs';
|
|
11
|
-
import { join } from 'node:path';
|
|
12
|
-
import { homedir } from 'node:os';
|
|
13
|
-
import { promisify } from 'node:util';
|
|
14
|
-
import { ClaudeCodeContextMonitorProvider } from './context-monitor.js';
|
|
15
|
-
import { ClaudeCodeHookProvider } from './hooks.js';
|
|
16
|
-
import { ClaudeCodeInstallProvider } from './install.js';
|
|
17
|
-
import { ClaudeCodePathProvider } from './paths.js';
|
|
18
|
-
import { ClaudeCodeSpawnProvider } from './spawn.js';
|
|
19
|
-
import { ClaudeCodeTaskSyncProvider } from './task-sync.js';
|
|
20
|
-
import { ClaudeCodeTransportProvider } from './transport.js';
|
|
21
|
-
const execAsync = promisify(exec);
|
|
22
|
-
/**
|
|
23
|
-
* CLEO provider adapter for Anthropic Claude Code CLI.
|
|
24
|
-
*
|
|
25
|
-
* Bridges CLEO's adapter system with Claude Code's native capabilities:
|
|
26
|
-
* - Hooks: Maps Claude Code events (SessionStart, PostToolUse, etc.) to CAAMP events
|
|
27
|
-
* - Spawn: Launches subagent processes via the `claude` CLI
|
|
28
|
-
* - Install: Registers MCP server, instruction files, and brain observation plugin
|
|
29
|
-
*/
|
|
30
|
-
export class ClaudeCodeAdapter {
|
|
31
|
-
id = 'claude-code';
|
|
32
|
-
name = 'Claude Code';
|
|
33
|
-
version = '1.0.0';
|
|
34
|
-
capabilities = {
|
|
35
|
-
supportsHooks: true,
|
|
36
|
-
supportedHookEvents: [
|
|
37
|
-
'onSessionStart',
|
|
38
|
-
'onSessionEnd',
|
|
39
|
-
'onToolStart',
|
|
40
|
-
'onToolComplete',
|
|
41
|
-
'onError',
|
|
42
|
-
],
|
|
43
|
-
supportsSpawn: true,
|
|
44
|
-
supportsInstall: true,
|
|
45
|
-
supportsMcp: true,
|
|
46
|
-
supportsInstructionFiles: true,
|
|
47
|
-
instructionFilePattern: 'CLAUDE.md',
|
|
48
|
-
supportsContextMonitor: true,
|
|
49
|
-
supportsStatusline: true,
|
|
50
|
-
supportsProviderPaths: true,
|
|
51
|
-
supportsTransport: true,
|
|
52
|
-
supportsTaskSync: true,
|
|
53
|
-
};
|
|
54
|
-
hooks;
|
|
55
|
-
spawn;
|
|
56
|
-
install;
|
|
57
|
-
paths;
|
|
58
|
-
contextMonitor;
|
|
59
|
-
transport;
|
|
60
|
-
taskSync;
|
|
61
|
-
projectDir = null;
|
|
62
|
-
initialized = false;
|
|
63
|
-
constructor() {
|
|
64
|
-
this.hooks = new ClaudeCodeHookProvider();
|
|
65
|
-
this.spawn = new ClaudeCodeSpawnProvider();
|
|
66
|
-
this.install = new ClaudeCodeInstallProvider();
|
|
67
|
-
this.paths = new ClaudeCodePathProvider();
|
|
68
|
-
this.contextMonitor = new ClaudeCodeContextMonitorProvider();
|
|
69
|
-
this.transport = new ClaudeCodeTransportProvider();
|
|
70
|
-
this.taskSync = new ClaudeCodeTaskSyncProvider();
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Initialize the adapter for a given project directory.
|
|
74
|
-
*
|
|
75
|
-
* Validates the environment by checking for the Claude CLI
|
|
76
|
-
* and Claude Code configuration directory.
|
|
77
|
-
*
|
|
78
|
-
* @param projectDir - Root directory of the project
|
|
79
|
-
*/
|
|
80
|
-
async initialize(projectDir) {
|
|
81
|
-
this.projectDir = projectDir;
|
|
82
|
-
this.initialized = true;
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Dispose the adapter and clean up resources.
|
|
86
|
-
*
|
|
87
|
-
* Unregisters hooks and releases any tracked state.
|
|
88
|
-
*/
|
|
89
|
-
async dispose() {
|
|
90
|
-
if (this.hooks.isRegistered()) {
|
|
91
|
-
await this.hooks.unregisterNativeHooks();
|
|
92
|
-
}
|
|
93
|
-
this.initialized = false;
|
|
94
|
-
this.projectDir = null;
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Run a health check to verify Claude Code is accessible.
|
|
98
|
-
*
|
|
99
|
-
* Checks:
|
|
100
|
-
* 1. Adapter has been initialized
|
|
101
|
-
* 2. Claude CLI is available in PATH
|
|
102
|
-
* 3. ~/.claude/ configuration directory exists
|
|
103
|
-
*
|
|
104
|
-
* @returns Health status with details about each check
|
|
105
|
-
*/
|
|
106
|
-
async healthCheck() {
|
|
107
|
-
const details = {};
|
|
108
|
-
if (!this.initialized) {
|
|
109
|
-
return {
|
|
110
|
-
healthy: false,
|
|
111
|
-
provider: this.id,
|
|
112
|
-
details: { error: 'Adapter not initialized' },
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
// Check Claude CLI availability
|
|
116
|
-
let cliAvailable = false;
|
|
117
|
-
try {
|
|
118
|
-
const { stdout } = await execAsync('which claude');
|
|
119
|
-
cliAvailable = stdout.trim().length > 0;
|
|
120
|
-
details.cliPath = stdout.trim();
|
|
121
|
-
}
|
|
122
|
-
catch {
|
|
123
|
-
details.cliAvailable = false;
|
|
124
|
-
}
|
|
125
|
-
// Check for Claude Code config directory
|
|
126
|
-
const claudeConfigDir = join(homedir(), '.claude');
|
|
127
|
-
const configExists = existsSync(claudeConfigDir);
|
|
128
|
-
details.configDirExists = configExists;
|
|
129
|
-
// Check for CLAUDE_CODE_ENTRYPOINT env var
|
|
130
|
-
const entrypointSet = process.env.CLAUDE_CODE_ENTRYPOINT !== undefined;
|
|
131
|
-
details.entrypointEnvSet = entrypointSet;
|
|
132
|
-
// Healthy if CLI is available (primary requirement)
|
|
133
|
-
const healthy = cliAvailable;
|
|
134
|
-
details.cliAvailable = cliAvailable;
|
|
135
|
-
return {
|
|
136
|
-
healthy,
|
|
137
|
-
provider: this.id,
|
|
138
|
-
details,
|
|
139
|
-
};
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Check whether the adapter has been initialized.
|
|
143
|
-
*/
|
|
144
|
-
isInitialized() {
|
|
145
|
-
return this.initialized;
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* Get the project directory this adapter was initialized with.
|
|
149
|
-
*/
|
|
150
|
-
getProjectDir() {
|
|
151
|
-
return this.projectDir;
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
//# sourceMappingURL=adapter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/providers/claude-code/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAMtC,OAAO,EAAE,gCAAgC,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAE7D,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC;;;;;;;GAOG;AACH,MAAM,OAAO,iBAAiB;IACnB,EAAE,GAAG,aAAa,CAAC;IACnB,IAAI,GAAG,aAAa,CAAC;IACrB,OAAO,GAAG,OAAO,CAAC;IAE3B,YAAY,GAAwB;QAClC,aAAa,EAAE,IAAI;QACnB,mBAAmB,EAAE;YACnB,gBAAgB;YAChB,cAAc;YACd,aAAa;YACb,gBAAgB;YAChB,SAAS;SACV;QACD,aAAa,EAAE,IAAI;QACnB,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,IAAI;QACjB,wBAAwB,EAAE,IAAI;QAC9B,sBAAsB,EAAE,WAAW;QACnC,sBAAsB,EAAE,IAAI;QAC5B,kBAAkB,EAAE,IAAI;QACxB,qBAAqB,EAAE,IAAI;QAC3B,iBAAiB,EAAE,IAAI;QACvB,gBAAgB,EAAE,IAAI;KACvB,CAAC;IAEF,KAAK,CAAyB;IAC9B,KAAK,CAA0B;IAC/B,OAAO,CAA4B;IACnC,KAAK,CAAyB;IAC9B,cAAc,CAAmC;IACjD,SAAS,CAA8B;IACvC,QAAQ,CAA6B;IAE7B,UAAU,GAAkB,IAAI,CAAC;IACjC,WAAW,GAAG,KAAK,CAAC;IAE5B;QACE,IAAI,CAAC,KAAK,GAAG,IAAI,sBAAsB,EAAE,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,IAAI,yBAAyB,EAAE,CAAC;QAC/C,IAAI,CAAC,KAAK,GAAG,IAAI,sBAAsB,EAAE,CAAC;QAC1C,IAAI,CAAC,cAAc,GAAG,IAAI,gCAAgC,EAAE,CAAC;QAC7D,IAAI,CAAC,SAAS,GAAG,IAAI,2BAA2B,EAAE,CAAC;QACnD,IAAI,CAAC,QAAQ,GAAG,IAAI,0BAA0B,EAAE,CAAC;IACnD,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,UAAU,CAAC,UAAkB;QACjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,WAAW;QACf,MAAM,OAAO,GAA4B,EAAE,CAAC;QAE5C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,QAAQ,EAAE,IAAI,CAAC,EAAE;gBACjB,OAAO,EAAE,EAAE,KAAK,EAAE,yBAAyB,EAAE;aAC9C,CAAC;QACJ,CAAC;QAED,gCAAgC;QAChC,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,CAAC;YACnD,YAAY,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;YACxC,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC;QAC/B,CAAC;QAED,yCAAyC;QACzC,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;QACnD,MAAM,YAAY,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;QACjD,OAAO,CAAC,eAAe,GAAG,YAAY,CAAC;QAEvC,2CAA2C;QAC3C,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,SAAS,CAAC;QACvE,OAAO,CAAC,gBAAgB,GAAG,aAAa,CAAC;QAEzC,oDAAoD;QACpD,MAAM,OAAO,GAAG,YAAY,CAAC;QAC7B,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;QAEpC,OAAO;YACL,OAAO;YACP,QAAQ,EAAE,IAAI,CAAC,EAAE;YACjB,OAAO;SACR,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;CACF"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Claude Code context monitor provider.
|
|
3
|
-
*
|
|
4
|
-
* Implements AdapterContextMonitorProvider for Claude Code's context window
|
|
5
|
-
* tracking and statusline integration.
|
|
6
|
-
*
|
|
7
|
-
* @task T5240
|
|
8
|
-
*/
|
|
9
|
-
import type { AdapterContextMonitorProvider } from '@cleocode/contracts';
|
|
10
|
-
/**
|
|
11
|
-
* Context monitor provider for Claude Code.
|
|
12
|
-
*
|
|
13
|
-
* Processes context window JSON from Claude Code and writes state files
|
|
14
|
-
* for statusline display. Also provides statusline configuration
|
|
15
|
-
* and setup instructions specific to Claude Code's settings.json.
|
|
16
|
-
*/
|
|
17
|
-
export declare class ClaudeCodeContextMonitorProvider implements AdapterContextMonitorProvider {
|
|
18
|
-
private pathProvider;
|
|
19
|
-
processContextInput(input: unknown, cwd?: string): Promise<string>;
|
|
20
|
-
checkStatuslineIntegration(): 'configured' | 'not_configured' | 'custom_no_cleo' | 'no_settings';
|
|
21
|
-
getStatuslineConfig(): Record<string, unknown>;
|
|
22
|
-
getSetupInstructions(): string;
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=context-monitor.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context-monitor.d.ts","sourceRoot":"","sources":["../../../src/providers/claude-code/context-monitor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAkCzE;;;;;;GAMG;AACH,qBAAa,gCAAiC,YAAW,6BAA6B;IACpF,OAAO,CAAC,YAAY,CAAgC;IAE9C,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA0DxE,0BAA0B,IAAI,YAAY,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,aAAa;IAsChG,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAS9C,oBAAoB,IAAI,MAAM;CAY/B"}
|