@cleocode/core 2026.3.72 → 2026.3.74
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/cleo.d.ts.map +1 -1
- package/dist/hooks/handlers/agent-hooks.d.ts +48 -0
- package/dist/hooks/handlers/agent-hooks.d.ts.map +1 -0
- package/dist/hooks/handlers/context-hooks.d.ts +53 -0
- package/dist/hooks/handlers/context-hooks.d.ts.map +1 -0
- package/dist/hooks/handlers/error-hooks.d.ts +4 -4
- package/dist/hooks/handlers/error-hooks.d.ts.map +1 -1
- package/dist/hooks/handlers/file-hooks.d.ts +3 -3
- package/dist/hooks/handlers/file-hooks.d.ts.map +1 -1
- package/dist/hooks/handlers/index.d.ts +8 -1
- package/dist/hooks/handlers/index.d.ts.map +1 -1
- package/dist/hooks/handlers/mcp-hooks.d.ts +29 -7
- package/dist/hooks/handlers/mcp-hooks.d.ts.map +1 -1
- package/dist/hooks/handlers/session-hooks.d.ts +5 -5
- package/dist/hooks/handlers/session-hooks.d.ts.map +1 -1
- package/dist/hooks/handlers/task-hooks.d.ts +5 -5
- package/dist/hooks/handlers/task-hooks.d.ts.map +1 -1
- package/dist/hooks/handlers/work-capture-hooks.d.ts +7 -7
- package/dist/hooks/handlers/work-capture-hooks.d.ts.map +1 -1
- package/dist/hooks/payload-schemas.d.ts +177 -11
- package/dist/hooks/payload-schemas.d.ts.map +1 -1
- package/dist/hooks/provider-hooks.d.ts +33 -7
- package/dist/hooks/provider-hooks.d.ts.map +1 -1
- package/dist/hooks/registry.d.ts +26 -6
- package/dist/hooks/registry.d.ts.map +1 -1
- package/dist/hooks/types.d.ts +132 -38
- package/dist/hooks/types.d.ts.map +1 -1
- package/dist/index.js +818 -233
- package/dist/index.js.map +4 -4
- package/dist/nexus/index.d.ts +2 -0
- package/dist/nexus/index.d.ts.map +1 -1
- package/dist/nexus/workspace.d.ts +128 -0
- package/dist/nexus/workspace.d.ts.map +1 -0
- package/dist/sessions/snapshot.d.ts.map +1 -1
- package/package.json +6 -6
- package/src/cleo.ts +14 -0
- package/src/hooks/handlers/__tests__/hook-automation-e2e.test.ts +634 -0
- package/src/hooks/handlers/agent-hooks.ts +148 -0
- package/src/hooks/handlers/context-hooks.ts +156 -0
- package/src/hooks/handlers/error-hooks.ts +8 -5
- package/src/hooks/handlers/file-hooks.ts +6 -4
- package/src/hooks/handlers/index.ts +12 -1
- package/src/hooks/handlers/mcp-hooks.ts +74 -9
- package/src/hooks/handlers/session-hooks.ts +7 -7
- package/src/hooks/handlers/task-hooks.ts +7 -7
- package/src/hooks/handlers/work-capture-hooks.ts +12 -12
- package/src/hooks/payload-schemas.ts +96 -26
- package/src/hooks/provider-hooks.ts +50 -9
- package/src/hooks/registry.ts +86 -23
- package/src/hooks/types.ts +175 -39
- package/src/nexus/index.ts +15 -0
- package/src/nexus/workspace.ts +508 -0
- package/src/sessions/index.ts +4 -4
- package/src/sessions/snapshot.ts +4 -2
- package/src/store/json.ts +2 -2
- package/src/task-work/index.ts +4 -4
|
@@ -2,16 +2,18 @@
|
|
|
2
2
|
* Provider Hook Capabilities - Phase 2C of T5237
|
|
3
3
|
*
|
|
4
4
|
* Helper functions for querying which providers support which hook events.
|
|
5
|
-
* Wraps CAAMP's provider discovery functions with CLEO-specific helpers.
|
|
5
|
+
* Wraps CAAMP's provider discovery and normalizer functions with CLEO-specific helpers.
|
|
6
|
+
*
|
|
7
|
+
* Updated for CAAMP 1.9.1: uses CanonicalHookEvent and toNative/toCanonical normalizers.
|
|
6
8
|
*
|
|
7
9
|
* @module @cleocode/cleo/hooks/provider-hooks
|
|
8
10
|
*/
|
|
9
|
-
import { type
|
|
11
|
+
import { type CanonicalHookEvent, getCommonHookEvents, getProvidersByHookEvent, supportsHook, toCanonical, toNative } from '@cleocode/caamp';
|
|
10
12
|
import { type HookEvent } from './types.js';
|
|
11
13
|
/**
|
|
12
14
|
* Get all providers that support a specific hook event
|
|
13
15
|
*
|
|
14
|
-
* @param event - The hook event to query
|
|
16
|
+
* @param event - The hook event to query (canonical or internal)
|
|
15
17
|
* @returns Array of provider IDs that support this event
|
|
16
18
|
*/
|
|
17
19
|
export declare function getHookCapableProviders(event: HookEvent): string[];
|
|
@@ -19,9 +21,33 @@ export declare function getHookCapableProviders(event: HookEvent): string[];
|
|
|
19
21
|
* Get hook events supported by all specified providers
|
|
20
22
|
*
|
|
21
23
|
* @param providerIds - Optional array of provider IDs (uses all active providers if omitted)
|
|
22
|
-
* @returns Array of hook events supported by all specified providers
|
|
24
|
+
* @returns Array of canonical hook events supported by all specified providers
|
|
25
|
+
*/
|
|
26
|
+
export declare function getSharedHookEvents(providerIds?: string[]): CanonicalHookEvent[];
|
|
27
|
+
/**
|
|
28
|
+
* Translate a canonical hook event to a provider-native event name.
|
|
29
|
+
*
|
|
30
|
+
* @param event - The canonical CAAMP event name
|
|
31
|
+
* @param providerId - The provider to translate for
|
|
32
|
+
* @returns The native event name, or null if the provider doesn't support it
|
|
33
|
+
*/
|
|
34
|
+
export declare function toNativeHookEvent(event: CanonicalHookEvent, providerId: string): string | null;
|
|
35
|
+
/**
|
|
36
|
+
* Translate a provider-native event name back to its canonical equivalent.
|
|
37
|
+
*
|
|
38
|
+
* @param nativeEvent - The provider-specific event name
|
|
39
|
+
* @param providerId - The provider this event belongs to
|
|
40
|
+
* @returns The canonical event name, or null if no mapping exists
|
|
41
|
+
*/
|
|
42
|
+
export declare function toCanonicalHookEvent(nativeEvent: string, providerId: string): CanonicalHookEvent | null;
|
|
43
|
+
/**
|
|
44
|
+
* Check if a provider supports a specific canonical hook event.
|
|
45
|
+
*
|
|
46
|
+
* @param event - The canonical event name
|
|
47
|
+
* @param providerId - The provider to check
|
|
48
|
+
* @returns True if the provider supports this event
|
|
23
49
|
*/
|
|
24
|
-
export declare function
|
|
25
|
-
export type {
|
|
26
|
-
export { getCommonHookEvents, getProvidersByHookEvent };
|
|
50
|
+
export declare function providerSupportsHookEvent(event: CanonicalHookEvent, providerId: string): boolean;
|
|
51
|
+
export type { CanonicalHookEvent as ProviderHookEvent, HookEvent };
|
|
52
|
+
export { getCommonHookEvents, getProvidersByHookEvent, supportsHook, toCanonical, toNative };
|
|
27
53
|
//# sourceMappingURL=provider-hooks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-hooks.d.ts","sourceRoot":"","sources":["../../src/hooks/provider-hooks.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"provider-hooks.d.ts","sourceRoot":"","sources":["../../src/hooks/provider-hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,KAAK,kBAAkB,EACvB,mBAAmB,EACnB,uBAAuB,EACvB,YAAY,EACZ,WAAW,EACX,QAAQ,EACT,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,SAAS,EAAuB,MAAM,YAAY,CAAC;AAEjE;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,EAAE,CAMlE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,kBAAkB,EAAE,CAEhF;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE9F;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,kBAAkB,GAAG,IAAI,CAE3B;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAEhG;AAED,YAAY,EAAE,kBAAkB,IAAI,iBAAiB,EAAE,SAAS,EAAE,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC"}
|
package/dist/hooks/registry.d.ts
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* Hook Registry System - Phase 2C of T5237
|
|
3
3
|
*
|
|
4
4
|
* Central registry for managing hook handlers with priority-based execution,
|
|
5
|
-
* async dispatch, and best-effort error handling. Integrates with CAAMP 1.
|
|
6
|
-
* event definitions while providing CLEO's execution engine.
|
|
5
|
+
* async dispatch, and best-effort error handling. Integrates with CAAMP 1.9.1
|
|
6
|
+
* canonical event definitions while providing CLEO's execution engine.
|
|
7
7
|
*
|
|
8
8
|
* @module @cleocode/cleo/hooks/registry
|
|
9
9
|
*/
|
|
@@ -14,16 +14,31 @@ import type { HookConfig, HookEvent, HookPayload, HookRegistration } from './typ
|
|
|
14
14
|
* Manages registration, priority-based ordering, and async dispatch
|
|
15
15
|
* of hook handlers. Provides best-effort execution where errors in
|
|
16
16
|
* one handler do not block others.
|
|
17
|
+
*
|
|
18
|
+
* Backward compatibility: handlers registered with legacy `on`-prefix
|
|
19
|
+
* event names (e.g. `onSessionStart`) are automatically remapped to their
|
|
20
|
+
* canonical equivalents (e.g. `SessionStart`) with a deprecation warning.
|
|
17
21
|
*/
|
|
18
22
|
export declare class HookRegistry {
|
|
19
23
|
private handlers;
|
|
20
24
|
private config;
|
|
25
|
+
/**
|
|
26
|
+
* Resolve a potentially-legacy event name to its canonical equivalent.
|
|
27
|
+
*
|
|
28
|
+
* If the event name matches a known legacy `on`-prefix name, it is
|
|
29
|
+
* remapped and a deprecation warning is logged. Unknown names pass through
|
|
30
|
+
* unchanged so callers using the new canonical names are unaffected.
|
|
31
|
+
*/
|
|
32
|
+
private resolveEvent;
|
|
21
33
|
/**
|
|
22
34
|
* Register a hook handler for a specific event.
|
|
23
35
|
*
|
|
24
36
|
* Handlers are sorted by priority (highest first) and executed
|
|
25
37
|
* in parallel when the event is dispatched.
|
|
26
38
|
*
|
|
39
|
+
* Backward compatibility: legacy `on`-prefix event names are automatically
|
|
40
|
+
* remapped to their canonical equivalents.
|
|
41
|
+
*
|
|
27
42
|
* @param registration - The hook registration containing event, handler, priority, and ID
|
|
28
43
|
* @returns A function to unregister the handler
|
|
29
44
|
*
|
|
@@ -31,7 +46,7 @@ export declare class HookRegistry {
|
|
|
31
46
|
* ```typescript
|
|
32
47
|
* const unregister = hooks.register({
|
|
33
48
|
* id: 'my-handler',
|
|
34
|
-
* event: '
|
|
49
|
+
* event: 'SessionStart',
|
|
35
50
|
* handler: async (root, payload) => { console.log('Session started'); },
|
|
36
51
|
* priority: 100
|
|
37
52
|
* });
|
|
@@ -47,14 +62,17 @@ export declare class HookRegistry {
|
|
|
47
62
|
* execution. Errors in individual handlers are logged but do not block
|
|
48
63
|
* other handlers or propagate to the caller.
|
|
49
64
|
*
|
|
50
|
-
*
|
|
65
|
+
* Backward compatibility: legacy `on`-prefix event names are automatically
|
|
66
|
+
* remapped to their canonical equivalents.
|
|
67
|
+
*
|
|
68
|
+
* @param event - The CAAMP canonical hook event to dispatch
|
|
51
69
|
* @param projectRoot - The project root directory path
|
|
52
70
|
* @param payload - The event payload (typed by event)
|
|
53
71
|
* @returns Promise that resolves when all handlers have completed
|
|
54
72
|
*
|
|
55
73
|
* @example
|
|
56
74
|
* ```typescript
|
|
57
|
-
* await hooks.dispatch('
|
|
75
|
+
* await hooks.dispatch('SessionStart', '/project', {
|
|
58
76
|
* timestamp: new Date().toISOString(),
|
|
59
77
|
* sessionId: 'sess-123',
|
|
60
78
|
* name: 'My Session',
|
|
@@ -67,6 +85,7 @@ export declare class HookRegistry {
|
|
|
67
85
|
* Check if a specific event is currently enabled.
|
|
68
86
|
*
|
|
69
87
|
* Both the global enabled flag and the per-event flag must be true.
|
|
88
|
+
* Automatically resolves legacy `on`-prefix event names.
|
|
70
89
|
*
|
|
71
90
|
* @param event - The CAAMP hook event to check
|
|
72
91
|
* @returns True if the event is enabled
|
|
@@ -82,7 +101,7 @@ export declare class HookRegistry {
|
|
|
82
101
|
* @example
|
|
83
102
|
* ```typescript
|
|
84
103
|
* hooks.setConfig({ enabled: false }); // Disable all hooks
|
|
85
|
-
* hooks.setConfig({ events: {
|
|
104
|
+
* hooks.setConfig({ events: { PostToolUseFailure: false } }); // Disable specific event
|
|
86
105
|
* ```
|
|
87
106
|
*/
|
|
88
107
|
setConfig(config: Partial<HookConfig>): void;
|
|
@@ -96,6 +115,7 @@ export declare class HookRegistry {
|
|
|
96
115
|
* List all registered handlers for a specific event.
|
|
97
116
|
*
|
|
98
117
|
* Returns handlers in priority order (highest first).
|
|
118
|
+
* Automatically resolves legacy `on`-prefix event names.
|
|
99
119
|
*
|
|
100
120
|
* @param event - The CAAMP hook event
|
|
101
121
|
* @returns Array of hook registrations
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/hooks/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/hooks/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AA+CvF;;;;;;;;;;GAUG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAiD;IACjE,OAAO,CAAC,MAAM,CAAmC;IAEjD;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAYpB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,QAAQ,CAAC,CAAC,SAAS,WAAW,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IAoB9E;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,QAAQ,CAAC,CAAC,SAAS,WAAW,EAClC,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,CAAC,GACT,OAAO,CAAC,IAAI,CAAC;IA4BhB;;;;;;;;OAQG;IACH,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAKpC;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI;IAI5C;;;;OAIG;IACH,SAAS,IAAI,UAAU;IAIvB;;;;;;;;OAQG;IACH,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,gBAAgB,EAAE;CAInD;AAED;;;;GAIG;AACH,eAAO,MAAM,KAAK,cAAqB,CAAC"}
|
package/dist/hooks/types.d.ts
CHANGED
|
@@ -2,17 +2,22 @@
|
|
|
2
2
|
* Universal Hooks Core Types - Phase 2B of T5237
|
|
3
3
|
*
|
|
4
4
|
* This module defines the core type system for CLEO's Universal Hooks
|
|
5
|
-
* integration with CAAMP 1.
|
|
6
|
-
* execution system while CAAMP provides the event definitions.
|
|
5
|
+
* integration with CAAMP 1.9.1. CLEO builds the hook registry and
|
|
6
|
+
* execution system while CAAMP provides the canonical event definitions.
|
|
7
7
|
*
|
|
8
8
|
* @module @cleocode/cleo/hooks/types
|
|
9
9
|
*/
|
|
10
|
-
import type {
|
|
10
|
+
import type { CanonicalHookEvent } from '@cleocode/caamp';
|
|
11
|
+
import { buildHookMatrix, CANONICAL_HOOK_EVENTS, HOOK_CATEGORIES, supportsHook, toCanonical, toNative } from '@cleocode/caamp';
|
|
11
12
|
export { getCommonHookEvents, getProvidersByHookEvent } from '@cleocode/caamp';
|
|
13
|
+
export type { CanonicalHookEvent };
|
|
14
|
+
export { buildHookMatrix, CANONICAL_HOOK_EVENTS, HOOK_CATEGORIES, supportsHook, toCanonical, toNative, };
|
|
12
15
|
/**
|
|
13
|
-
* CAAMP
|
|
16
|
+
* CAAMP canonical hook event type.
|
|
17
|
+
*
|
|
18
|
+
* This is the normalized 16-event taxonomy from CAAMP 1.9.1.
|
|
14
19
|
*/
|
|
15
|
-
export type ProviderHookEvent =
|
|
20
|
+
export type ProviderHookEvent = CanonicalHookEvent;
|
|
16
21
|
/**
|
|
17
22
|
* CLEO-local coordination events used by the autonomous runtime.
|
|
18
23
|
*
|
|
@@ -24,12 +29,12 @@ export type InternalHookEvent = (typeof INTERNAL_HOOK_EVENTS)[number];
|
|
|
24
29
|
/**
|
|
25
30
|
* Full CLEO hook event union.
|
|
26
31
|
*
|
|
27
|
-
* CAAMP defines provider-facing events; CLEO extends the registry
|
|
28
|
-
* coordination events for autonomous execution.
|
|
32
|
+
* CAAMP defines provider-facing canonical events; CLEO extends the registry
|
|
33
|
+
* with local coordination events for autonomous execution.
|
|
29
34
|
*/
|
|
30
35
|
export type HookEvent = ProviderHookEvent | InternalHookEvent;
|
|
31
36
|
/**
|
|
32
|
-
* Type guard for CAAMP/provider-discoverable hook events.
|
|
37
|
+
* Type guard for CAAMP/provider-discoverable canonical hook events.
|
|
33
38
|
*/
|
|
34
39
|
export declare function isProviderHookEvent(event: HookEvent): event is ProviderHookEvent;
|
|
35
40
|
/**
|
|
@@ -53,10 +58,10 @@ export interface HookPayload {
|
|
|
53
58
|
metadata?: Record<string, unknown>;
|
|
54
59
|
}
|
|
55
60
|
/**
|
|
56
|
-
* Payload for
|
|
61
|
+
* Payload for SessionStart hook (canonical: was onSessionStart)
|
|
57
62
|
* Fired when a CLEO session begins
|
|
58
63
|
*/
|
|
59
|
-
export interface
|
|
64
|
+
export interface SessionStartPayload extends HookPayload {
|
|
60
65
|
/** Session identifier (required for session events) */
|
|
61
66
|
sessionId: string;
|
|
62
67
|
/** Human-readable session name */
|
|
@@ -66,11 +71,13 @@ export interface OnSessionStartPayload extends HookPayload {
|
|
|
66
71
|
/** Optional agent identifier */
|
|
67
72
|
agent?: string;
|
|
68
73
|
}
|
|
74
|
+
/** @deprecated Use {@link SessionStartPayload} instead. Kept for backward compatibility. */
|
|
75
|
+
export type OnSessionStartPayload = SessionStartPayload;
|
|
69
76
|
/**
|
|
70
|
-
* Payload for
|
|
77
|
+
* Payload for SessionEnd hook (canonical: was onSessionEnd)
|
|
71
78
|
* Fired when a CLEO session ends
|
|
72
79
|
*/
|
|
73
|
-
export interface
|
|
80
|
+
export interface SessionEndPayload extends HookPayload {
|
|
74
81
|
/** Session identifier */
|
|
75
82
|
sessionId: string;
|
|
76
83
|
/** Session duration in seconds */
|
|
@@ -78,30 +85,42 @@ export interface OnSessionEndPayload extends HookPayload {
|
|
|
78
85
|
/** Array of task IDs completed during this session */
|
|
79
86
|
tasksCompleted: string[];
|
|
80
87
|
}
|
|
88
|
+
/** @deprecated Use {@link SessionEndPayload} instead. Kept for backward compatibility. */
|
|
89
|
+
export type OnSessionEndPayload = SessionEndPayload;
|
|
81
90
|
/**
|
|
82
|
-
* Payload for
|
|
91
|
+
* Payload for PreToolUse hook (canonical: was onToolStart)
|
|
83
92
|
* Fired when a task/tool operation begins
|
|
84
93
|
*/
|
|
85
|
-
export interface
|
|
94
|
+
export interface PreToolUsePayload extends HookPayload {
|
|
86
95
|
/** Task identifier */
|
|
87
96
|
taskId: string;
|
|
88
97
|
/** Human-readable task title */
|
|
89
98
|
taskTitle: string;
|
|
90
99
|
/** Optional ID of the previous task if sequential */
|
|
91
100
|
previousTask?: string;
|
|
101
|
+
/** Optional tool name being invoked */
|
|
102
|
+
toolName?: string;
|
|
103
|
+
/** Optional structured input to the tool */
|
|
104
|
+
toolInput?: Record<string, unknown>;
|
|
92
105
|
}
|
|
106
|
+
/** @deprecated Use {@link PreToolUsePayload} instead. Kept for backward compatibility. */
|
|
107
|
+
export type OnToolStartPayload = PreToolUsePayload;
|
|
93
108
|
/**
|
|
94
|
-
* Payload for
|
|
109
|
+
* Payload for PostToolUse hook (canonical: was onToolComplete)
|
|
95
110
|
* Fired when a task/tool operation completes
|
|
96
111
|
*/
|
|
97
|
-
export interface
|
|
112
|
+
export interface PostToolUsePayload extends HookPayload {
|
|
98
113
|
/** Task identifier */
|
|
99
114
|
taskId: string;
|
|
100
115
|
/** Human-readable task title */
|
|
101
116
|
taskTitle: string;
|
|
102
117
|
/** Final status of the completed task */
|
|
103
118
|
status: 'done' | 'archived' | 'cancelled';
|
|
119
|
+
/** Optional structured result from the tool */
|
|
120
|
+
toolResult?: Record<string, unknown>;
|
|
104
121
|
}
|
|
122
|
+
/** @deprecated Use {@link PostToolUsePayload} instead. Kept for backward compatibility. */
|
|
123
|
+
export type OnToolCompletePayload = PostToolUsePayload;
|
|
105
124
|
/**
|
|
106
125
|
* Handler function type for hook events
|
|
107
126
|
* Handlers receive project root and typed payload
|
|
@@ -132,22 +151,30 @@ export interface HookConfig {
|
|
|
132
151
|
events: Record<HookEvent, boolean>;
|
|
133
152
|
}
|
|
134
153
|
/**
|
|
135
|
-
* Payload for
|
|
136
|
-
* Fired when a tracked file is written, created, or deleted
|
|
154
|
+
* Payload for Notification hook (canonical: was onFileChange)
|
|
155
|
+
* Fired when a tracked file is written, created, or deleted, or for
|
|
156
|
+
* general-purpose notifications.
|
|
137
157
|
*/
|
|
138
|
-
export interface
|
|
158
|
+
export interface NotificationPayload extends HookPayload {
|
|
139
159
|
/** Absolute or project-relative path of the changed file */
|
|
140
|
-
filePath
|
|
141
|
-
/** Kind of filesystem change */
|
|
142
|
-
changeType
|
|
160
|
+
filePath?: string;
|
|
161
|
+
/** Kind of filesystem change (for file-change notifications) */
|
|
162
|
+
changeType?: 'write' | 'create' | 'delete';
|
|
143
163
|
/** File size in bytes after the change (absent for deletes) */
|
|
144
164
|
sizeBytes?: number;
|
|
165
|
+
/** Optional notification message for non-file notifications */
|
|
166
|
+
message?: string;
|
|
145
167
|
}
|
|
168
|
+
/** @deprecated Use {@link NotificationPayload} instead. Kept for backward compatibility. */
|
|
169
|
+
export type OnFileChangePayload = NotificationPayload & {
|
|
170
|
+
filePath: string;
|
|
171
|
+
changeType: 'write' | 'create' | 'delete';
|
|
172
|
+
};
|
|
146
173
|
/**
|
|
147
|
-
* Payload for
|
|
174
|
+
* Payload for PostToolUseFailure hook (canonical: was onError)
|
|
148
175
|
* Fired when an operation fails with a structured error
|
|
149
176
|
*/
|
|
150
|
-
export interface
|
|
177
|
+
export interface PostToolUseFailurePayload extends HookPayload {
|
|
151
178
|
/** Numeric exit code or string error code */
|
|
152
179
|
errorCode: number | string;
|
|
153
180
|
/** Human-readable error message */
|
|
@@ -161,11 +188,13 @@ export interface OnErrorPayload extends HookPayload {
|
|
|
161
188
|
/** Optional stack trace */
|
|
162
189
|
stack?: string;
|
|
163
190
|
}
|
|
191
|
+
/** @deprecated Use {@link PostToolUseFailurePayload} instead. Kept for backward compatibility. */
|
|
192
|
+
export type OnErrorPayload = PostToolUseFailurePayload;
|
|
164
193
|
/**
|
|
165
|
-
* Payload for
|
|
194
|
+
* Payload for PromptSubmit hook (canonical: was onPromptSubmit)
|
|
166
195
|
* Fired when an agent submits a prompt through a gateway
|
|
167
196
|
*/
|
|
168
|
-
export interface
|
|
197
|
+
export interface PromptSubmitPayload extends HookPayload {
|
|
169
198
|
/** Gateway that received the prompt (query / mutate) */
|
|
170
199
|
gateway: string;
|
|
171
200
|
/** Target domain */
|
|
@@ -175,11 +204,13 @@ export interface OnPromptSubmitPayload extends HookPayload {
|
|
|
175
204
|
/** Optional source identifier (e.g. agent name) */
|
|
176
205
|
source?: string;
|
|
177
206
|
}
|
|
207
|
+
/** @deprecated Use {@link PromptSubmitPayload} instead. Kept for backward compatibility. */
|
|
208
|
+
export type OnPromptSubmitPayload = PromptSubmitPayload;
|
|
178
209
|
/**
|
|
179
|
-
* Payload for
|
|
210
|
+
* Payload for ResponseComplete hook (canonical: was onResponseComplete)
|
|
180
211
|
* Fired when a gateway operation finishes (success or failure)
|
|
181
212
|
*/
|
|
182
|
-
export interface
|
|
213
|
+
export interface ResponseCompletePayload extends HookPayload {
|
|
183
214
|
/** Gateway that handled the operation */
|
|
184
215
|
gateway: string;
|
|
185
216
|
/** Target domain */
|
|
@@ -193,6 +224,68 @@ export interface OnResponseCompletePayload extends HookPayload {
|
|
|
193
224
|
/** Error code if the operation failed */
|
|
194
225
|
errorCode?: string;
|
|
195
226
|
}
|
|
227
|
+
/** @deprecated Use {@link ResponseCompletePayload} instead. Kept for backward compatibility. */
|
|
228
|
+
export type OnResponseCompletePayload = ResponseCompletePayload;
|
|
229
|
+
/**
|
|
230
|
+
* Payload for SubagentStart hook
|
|
231
|
+
* Fired when a subagent process is launched
|
|
232
|
+
*/
|
|
233
|
+
export interface SubagentStartPayload extends HookPayload {
|
|
234
|
+
/** Subagent or worker identifier */
|
|
235
|
+
agentId: string;
|
|
236
|
+
/** Subagent role or archetype */
|
|
237
|
+
role?: string;
|
|
238
|
+
/** Task assigned to the subagent */
|
|
239
|
+
taskId?: string;
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Payload for SubagentStop hook
|
|
243
|
+
* Fired when a subagent process completes
|
|
244
|
+
*/
|
|
245
|
+
export interface SubagentStopPayload extends HookPayload {
|
|
246
|
+
/** Subagent or worker identifier */
|
|
247
|
+
agentId: string;
|
|
248
|
+
/** Completion status */
|
|
249
|
+
status?: 'complete' | 'partial' | 'blocked' | 'failed';
|
|
250
|
+
/** Task that was completed */
|
|
251
|
+
taskId?: string;
|
|
252
|
+
/** Optional summary reference */
|
|
253
|
+
summary?: string;
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Payload for PreCompact hook
|
|
257
|
+
* Fired before context compaction begins
|
|
258
|
+
*/
|
|
259
|
+
export interface PreCompactPayload extends HookPayload {
|
|
260
|
+
/** Estimated token count before compaction */
|
|
261
|
+
tokensBefore?: number;
|
|
262
|
+
/** Reason for compaction */
|
|
263
|
+
reason?: string;
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Payload for PostCompact hook
|
|
267
|
+
* Fired after context compaction completes
|
|
268
|
+
*/
|
|
269
|
+
export interface PostCompactPayload extends HookPayload {
|
|
270
|
+
/** Token count before compaction */
|
|
271
|
+
tokensBefore?: number;
|
|
272
|
+
/** Token count after compaction */
|
|
273
|
+
tokensAfter?: number;
|
|
274
|
+
/** Whether compaction succeeded */
|
|
275
|
+
success: boolean;
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Payload for ConfigChange hook
|
|
279
|
+
* Fired when configuration is updated
|
|
280
|
+
*/
|
|
281
|
+
export interface ConfigChangePayload extends HookPayload {
|
|
282
|
+
/** Configuration key that changed */
|
|
283
|
+
key: string;
|
|
284
|
+
/** Previous value */
|
|
285
|
+
previousValue?: unknown;
|
|
286
|
+
/** New value */
|
|
287
|
+
newValue?: unknown;
|
|
288
|
+
}
|
|
196
289
|
/**
|
|
197
290
|
* Payload for onWorkAvailable hook
|
|
198
291
|
* Fired when the system detects ready work on a Loom/Tapestry
|
|
@@ -264,18 +357,19 @@ export interface OnPatrolPayload extends HookPayload {
|
|
|
264
357
|
scope?: string;
|
|
265
358
|
}
|
|
266
359
|
/**
|
|
267
|
-
* Mapping from CLEO internal lifecycle events to CAAMP hook
|
|
268
|
-
*
|
|
360
|
+
* Mapping from CLEO internal lifecycle events to CAAMP canonical hook event names.
|
|
361
|
+
*
|
|
362
|
+
* Updated for CAAMP 1.9.1 canonical taxonomy.
|
|
269
363
|
*/
|
|
270
364
|
export declare const CLEO_TO_CAAMP_HOOK_MAP: {
|
|
271
|
-
readonly 'session.start': "
|
|
272
|
-
readonly 'session.end': "
|
|
273
|
-
readonly 'task.start': "
|
|
274
|
-
readonly 'task.complete': "
|
|
275
|
-
readonly 'file.change': "
|
|
276
|
-
readonly 'system.error': "
|
|
277
|
-
readonly 'prompt.submit': "
|
|
278
|
-
readonly 'response.complete': "
|
|
365
|
+
readonly 'session.start': "SessionStart";
|
|
366
|
+
readonly 'session.end': "SessionEnd";
|
|
367
|
+
readonly 'task.start': "PreToolUse";
|
|
368
|
+
readonly 'task.complete': "PostToolUse";
|
|
369
|
+
readonly 'file.change': "Notification";
|
|
370
|
+
readonly 'system.error': "PostToolUseFailure";
|
|
371
|
+
readonly 'prompt.submit': "PromptSubmit";
|
|
372
|
+
readonly 'response.complete': "ResponseComplete";
|
|
279
373
|
};
|
|
280
374
|
/**
|
|
281
375
|
* Internal CLEO lifecycle events that drive autonomous coordination.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/hooks/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/hooks/types.ts"],"names":[],"mappings":"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"}
|