open-agent-sdk 0.1.0-alpha.0

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 (196) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +284 -0
  3. package/README.zh.md +285 -0
  4. package/dist/agent/agent-definition.d.ts +107 -0
  5. package/dist/agent/agent-definition.d.ts.map +1 -0
  6. package/dist/agent/agent-definition.js +90 -0
  7. package/dist/agent/agent-definition.js.map +1 -0
  8. package/dist/agent/react-loop.d.ts +117 -0
  9. package/dist/agent/react-loop.d.ts.map +1 -0
  10. package/dist/agent/react-loop.js +674 -0
  11. package/dist/agent/react-loop.js.map +1 -0
  12. package/dist/agent/subagent-runner.d.ts +67 -0
  13. package/dist/agent/subagent-runner.d.ts.map +1 -0
  14. package/dist/agent/subagent-runner.js +168 -0
  15. package/dist/agent/subagent-runner.js.map +1 -0
  16. package/dist/hooks/index.d.ts +8 -0
  17. package/dist/hooks/index.d.ts.map +1 -0
  18. package/dist/hooks/index.js +9 -0
  19. package/dist/hooks/index.js.map +1 -0
  20. package/dist/hooks/inputs.d.ts +56 -0
  21. package/dist/hooks/inputs.d.ts.map +1 -0
  22. package/dist/hooks/inputs.js +150 -0
  23. package/dist/hooks/inputs.js.map +1 -0
  24. package/dist/hooks/manager.d.ts +63 -0
  25. package/dist/hooks/manager.d.ts.map +1 -0
  26. package/dist/hooks/manager.js +137 -0
  27. package/dist/hooks/manager.js.map +1 -0
  28. package/dist/hooks/types.d.ts +191 -0
  29. package/dist/hooks/types.d.ts.map +1 -0
  30. package/dist/hooks/types.js +6 -0
  31. package/dist/hooks/types.js.map +1 -0
  32. package/dist/index.d.ts +109 -0
  33. package/dist/index.d.ts.map +1 -0
  34. package/dist/index.js +218 -0
  35. package/dist/index.js.map +1 -0
  36. package/dist/mcp/errors.d.ts +26 -0
  37. package/dist/mcp/errors.d.ts.map +1 -0
  38. package/dist/mcp/errors.js +43 -0
  39. package/dist/mcp/errors.js.map +1 -0
  40. package/dist/mcp/index.d.ts +11 -0
  41. package/dist/mcp/index.d.ts.map +1 -0
  42. package/dist/mcp/index.js +13 -0
  43. package/dist/mcp/index.js.map +1 -0
  44. package/dist/mcp/manager.d.ts +50 -0
  45. package/dist/mcp/manager.d.ts.map +1 -0
  46. package/dist/mcp/manager.js +170 -0
  47. package/dist/mcp/manager.js.map +1 -0
  48. package/dist/mcp/server-registry.d.ts +48 -0
  49. package/dist/mcp/server-registry.d.ts.map +1 -0
  50. package/dist/mcp/server-registry.js +121 -0
  51. package/dist/mcp/server-registry.js.map +1 -0
  52. package/dist/mcp/tool-adapter.d.ts +42 -0
  53. package/dist/mcp/tool-adapter.d.ts.map +1 -0
  54. package/dist/mcp/tool-adapter.js +89 -0
  55. package/dist/mcp/tool-adapter.js.map +1 -0
  56. package/dist/mcp/types.d.ts +74 -0
  57. package/dist/mcp/types.d.ts.map +1 -0
  58. package/dist/mcp/types.js +21 -0
  59. package/dist/mcp/types.js.map +1 -0
  60. package/dist/permissions/index.d.ts +3 -0
  61. package/dist/permissions/index.d.ts.map +1 -0
  62. package/dist/permissions/index.js +4 -0
  63. package/dist/permissions/index.js.map +1 -0
  64. package/dist/permissions/manager.d.ts +40 -0
  65. package/dist/permissions/manager.d.ts.map +1 -0
  66. package/dist/permissions/manager.js +115 -0
  67. package/dist/permissions/manager.js.map +1 -0
  68. package/dist/permissions/types.d.ts +124 -0
  69. package/dist/permissions/types.d.ts.map +1 -0
  70. package/dist/permissions/types.js +25 -0
  71. package/dist/permissions/types.js.map +1 -0
  72. package/dist/providers/anthropic.d.ts +18 -0
  73. package/dist/providers/anthropic.d.ts.map +1 -0
  74. package/dist/providers/anthropic.js +126 -0
  75. package/dist/providers/anthropic.js.map +1 -0
  76. package/dist/providers/base.d.ts +85 -0
  77. package/dist/providers/base.d.ts.map +1 -0
  78. package/dist/providers/base.js +36 -0
  79. package/dist/providers/base.js.map +1 -0
  80. package/dist/providers/google.d.ts +12 -0
  81. package/dist/providers/google.d.ts.map +1 -0
  82. package/dist/providers/google.js +123 -0
  83. package/dist/providers/google.js.map +1 -0
  84. package/dist/providers/openai.d.ts +12 -0
  85. package/dist/providers/openai.d.ts.map +1 -0
  86. package/dist/providers/openai.js +110 -0
  87. package/dist/providers/openai.js.map +1 -0
  88. package/dist/session/factory.d.ts +156 -0
  89. package/dist/session/factory.d.ts.map +1 -0
  90. package/dist/session/factory.js +311 -0
  91. package/dist/session/factory.js.map +1 -0
  92. package/dist/session/index.d.ts +8 -0
  93. package/dist/session/index.d.ts.map +1 -0
  94. package/dist/session/index.js +7 -0
  95. package/dist/session/index.js.map +1 -0
  96. package/dist/session/session.d.ts +144 -0
  97. package/dist/session/session.d.ts.map +1 -0
  98. package/dist/session/session.js +319 -0
  99. package/dist/session/session.js.map +1 -0
  100. package/dist/session/storage.d.ts +105 -0
  101. package/dist/session/storage.d.ts.map +1 -0
  102. package/dist/session/storage.js +148 -0
  103. package/dist/session/storage.js.map +1 -0
  104. package/dist/tools/ask-user-question.d.ts +31 -0
  105. package/dist/tools/ask-user-question.d.ts.map +1 -0
  106. package/dist/tools/ask-user-question.js +66 -0
  107. package/dist/tools/ask-user-question.js.map +1 -0
  108. package/dist/tools/bash-output.d.ts +22 -0
  109. package/dist/tools/bash-output.d.ts.map +1 -0
  110. package/dist/tools/bash-output.js +43 -0
  111. package/dist/tools/bash-output.js.map +1 -0
  112. package/dist/tools/bash.d.ts +36 -0
  113. package/dist/tools/bash.d.ts.map +1 -0
  114. package/dist/tools/bash.js +161 -0
  115. package/dist/tools/bash.js.map +1 -0
  116. package/dist/tools/edit.d.ts +24 -0
  117. package/dist/tools/edit.d.ts.map +1 -0
  118. package/dist/tools/edit.js +83 -0
  119. package/dist/tools/edit.js.map +1 -0
  120. package/dist/tools/glob.d.ts +22 -0
  121. package/dist/tools/glob.d.ts.map +1 -0
  122. package/dist/tools/glob.js +248 -0
  123. package/dist/tools/glob.js.map +1 -0
  124. package/dist/tools/grep.d.ts +39 -0
  125. package/dist/tools/grep.d.ts.map +1 -0
  126. package/dist/tools/grep.js +312 -0
  127. package/dist/tools/grep.js.map +1 -0
  128. package/dist/tools/kill-bash.d.ts +19 -0
  129. package/dist/tools/kill-bash.d.ts.map +1 -0
  130. package/dist/tools/kill-bash.js +64 -0
  131. package/dist/tools/kill-bash.js.map +1 -0
  132. package/dist/tools/read.d.ts +26 -0
  133. package/dist/tools/read.d.ts.map +1 -0
  134. package/dist/tools/read.js +87 -0
  135. package/dist/tools/read.js.map +1 -0
  136. package/dist/tools/registry.d.ts +32 -0
  137. package/dist/tools/registry.d.ts.map +1 -0
  138. package/dist/tools/registry.js +91 -0
  139. package/dist/tools/registry.js.map +1 -0
  140. package/dist/tools/task-create.d.ts +22 -0
  141. package/dist/tools/task-create.d.ts.map +1 -0
  142. package/dist/tools/task-create.js +42 -0
  143. package/dist/tools/task-create.js.map +1 -0
  144. package/dist/tools/task-get.d.ts +19 -0
  145. package/dist/tools/task-get.d.ts.map +1 -0
  146. package/dist/tools/task-get.js +38 -0
  147. package/dist/tools/task-get.js.map +1 -0
  148. package/dist/tools/task-list.d.ts +18 -0
  149. package/dist/tools/task-list.d.ts.map +1 -0
  150. package/dist/tools/task-list.js +27 -0
  151. package/dist/tools/task-list.js.map +1 -0
  152. package/dist/tools/task-storage.d.ts +6 -0
  153. package/dist/tools/task-storage.d.ts.map +1 -0
  154. package/dist/tools/task-storage.js +83 -0
  155. package/dist/tools/task-storage.js.map +1 -0
  156. package/dist/tools/task-update.d.ts +28 -0
  157. package/dist/tools/task-update.d.ts.map +1 -0
  158. package/dist/tools/task-update.js +118 -0
  159. package/dist/tools/task-update.js.map +1 -0
  160. package/dist/tools/task.d.ts +80 -0
  161. package/dist/tools/task.d.ts.map +1 -0
  162. package/dist/tools/task.js +99 -0
  163. package/dist/tools/task.js.map +1 -0
  164. package/dist/tools/web-fetch.d.ts +21 -0
  165. package/dist/tools/web-fetch.d.ts.map +1 -0
  166. package/dist/tools/web-fetch.js +124 -0
  167. package/dist/tools/web-fetch.js.map +1 -0
  168. package/dist/tools/web-search.d.ts +20 -0
  169. package/dist/tools/web-search.d.ts.map +1 -0
  170. package/dist/tools/web-search.js +127 -0
  171. package/dist/tools/web-search.js.map +1 -0
  172. package/dist/tools/write.d.ts +22 -0
  173. package/dist/tools/write.d.ts.map +1 -0
  174. package/dist/tools/write.js +46 -0
  175. package/dist/tools/write.js.map +1 -0
  176. package/dist/types/messages.d.ts +138 -0
  177. package/dist/types/messages.d.ts.map +1 -0
  178. package/dist/types/messages.js +88 -0
  179. package/dist/types/messages.js.map +1 -0
  180. package/dist/types/task.d.ts +29 -0
  181. package/dist/types/task.d.ts.map +1 -0
  182. package/dist/types/task.js +5 -0
  183. package/dist/types/task.js.map +1 -0
  184. package/dist/types/tools.d.ts +56 -0
  185. package/dist/types/tools.d.ts.map +1 -0
  186. package/dist/types/tools.js +25 -0
  187. package/dist/types/tools.js.map +1 -0
  188. package/dist/utils/logger.d.ts +19 -0
  189. package/dist/utils/logger.d.ts.map +1 -0
  190. package/dist/utils/logger.js +46 -0
  191. package/dist/utils/logger.js.map +1 -0
  192. package/dist/utils/uuid.d.ts +3 -0
  193. package/dist/utils/uuid.d.ts.map +1 -0
  194. package/dist/utils/uuid.js +5 -0
  195. package/dist/utils/uuid.js.map +1 -0
  196. package/package.json +38 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react-loop.js","sourceRoot":"","sources":["../../src/agent/react-loop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Subagent runner - manages the execution of child agents
3
+ * Aligned with Claude Agent SDK
4
+ */
5
+ import type { AgentDefinition } from './agent-definition';
6
+ import type { ToolContext } from '../types/tools';
7
+ import type { ToolRegistry } from '../tools/registry';
8
+ import { HookManager } from '../hooks/manager';
9
+ /**
10
+ * Result from subagent execution
11
+ */
12
+ export interface SubagentResult {
13
+ /** Final result message (or error description if failed) */
14
+ result: string;
15
+ /** Unique identifier for the subagent instance */
16
+ agentId: string;
17
+ /** Token usage statistics */
18
+ usage: {
19
+ inputTokens: number;
20
+ outputTokens: number;
21
+ };
22
+ /** Cost in USD (only if provider supports cost calculation) */
23
+ costUsd?: number;
24
+ /** Execution duration in milliseconds */
25
+ durationMs: number;
26
+ /** Error details if execution failed (optional) */
27
+ error?: string;
28
+ }
29
+ /**
30
+ * Context for subagent execution
31
+ */
32
+ export interface SubagentContext {
33
+ /** Parent tool context */
34
+ parentContext: ToolContext;
35
+ /** Parent's tool registry */
36
+ parentToolRegistry: ToolRegistry;
37
+ /** Hook manager for emitting events */
38
+ hookManager: HookManager;
39
+ /** Parent session ID */
40
+ parentSessionId: string;
41
+ /** Parent's configuration values to inherit from */
42
+ parentConfig: {
43
+ model: string;
44
+ maxTurns: number;
45
+ permissionMode: string;
46
+ allowedTools?: string[];
47
+ };
48
+ }
49
+ /**
50
+ * Run a subagent with the given configuration
51
+ *
52
+ * @param agentDef - Agent definition
53
+ * @param prompt - Task prompt for the subagent
54
+ * @param agentType - Type identifier for the subagent
55
+ * @param context - Execution context
56
+ * @returns Subagent execution result
57
+ */
58
+ export declare function runSubagent(agentDef: AgentDefinition, prompt: string, agentType: string, context: SubagentContext): Promise<SubagentResult>;
59
+ /**
60
+ * Helper to check if a subagent result indicates success
61
+ */
62
+ export declare function isSubagentSuccess(result: SubagentResult): boolean;
63
+ /**
64
+ * Helper to format subagent result for display
65
+ */
66
+ export declare function formatSubagentResult(result: SubagentResult): string;
67
+ //# sourceMappingURL=subagent-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagent-runner.d.ts","sourceRoot":"","sources":["../../src/agent/subagent-runner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAQ,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAI/C;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,4DAA4D;IAC5D,MAAM,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,KAAK,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,0BAA0B;IAC1B,aAAa,EAAE,WAAW,CAAC;IAC3B,6BAA6B;IAC7B,kBAAkB,EAAE,YAAY,CAAC;IACjC,uCAAuC;IACvC,WAAW,EAAE,WAAW,CAAC;IACzB,wBAAwB;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,oDAAoD;IACpD,YAAY,EAAE;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;CACH;AAyDD;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,eAAe,EACzB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,cAAc,CAAC,CAwIzB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAEjE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAKnE"}
@@ -0,0 +1,168 @@
1
+ /**
2
+ * Subagent runner - manages the execution of child agents
3
+ * Aligned with Claude Agent SDK
4
+ */
5
+ import { ReActLoop } from './react-loop';
6
+ import { HookManager } from '../hooks/manager';
7
+ import { createSubagentStartInput, createSubagentStopInput } from '../hooks/inputs';
8
+ import { logger } from '../utils/logger';
9
+ /**
10
+ * Generate a unique agent ID
11
+ */
12
+ function generateAgentId() {
13
+ return `agent-${Date.now()}-${Math.random().toString(36).substring(2, 9)}`;
14
+ }
15
+ /**
16
+ * Create a filtered tool registry based on agent definition
17
+ * If tools is undefined, returns all parent tools
18
+ * If tools is specified, returns only those tools
19
+ */
20
+ function getAllowedTools(agentDef, parentToolRegistry) {
21
+ if (agentDef.tools === undefined) {
22
+ // Inherit all tools from parent
23
+ return parentToolRegistry.getAll();
24
+ }
25
+ // Use specified tools only
26
+ return parentToolRegistry.getAllowedTools(agentDef.tools);
27
+ }
28
+ /**
29
+ * Determine effective model for subagent
30
+ * Returns parent's model if agentDef.model is undefined or 'inherit'
31
+ */
32
+ function getEffectiveModel(agentDef, parentModel) {
33
+ if (agentDef.model === undefined || agentDef.model === 'inherit') {
34
+ return parentModel;
35
+ }
36
+ return agentDef.model;
37
+ }
38
+ /**
39
+ * Determine effective maxTurns for subagent
40
+ * Returns parent's maxTurns if agentDef.maxTurns is undefined
41
+ */
42
+ function getEffectiveMaxTurns(agentDef, parentMaxTurns) {
43
+ return agentDef.maxTurns ?? parentMaxTurns;
44
+ }
45
+ /**
46
+ * Determine effective permission mode for subagent
47
+ * Returns parent's permissionMode if agentDef.permissionMode is undefined
48
+ */
49
+ function getEffectivePermissionMode(agentDef, parentPermissionMode) {
50
+ return agentDef.permissionMode ?? parentPermissionMode;
51
+ }
52
+ /**
53
+ * Run a subagent with the given configuration
54
+ *
55
+ * @param agentDef - Agent definition
56
+ * @param prompt - Task prompt for the subagent
57
+ * @param agentType - Type identifier for the subagent
58
+ * @param context - Execution context
59
+ * @returns Subagent execution result
60
+ */
61
+ export async function runSubagent(agentDef, prompt, agentType, context) {
62
+ const startTime = Date.now();
63
+ const agentId = generateAgentId();
64
+ const cwd = context.parentContext.cwd;
65
+ logger.debug(`[SubagentRunner] Starting subagent ${agentId} of type ${agentType}`);
66
+ try {
67
+ // Trigger SubagentStart hook
68
+ const subagentStartInput = createSubagentStartInput(context.parentSessionId, cwd, agentId, agentType, prompt, undefined, context.parentConfig.permissionMode);
69
+ await context.hookManager.emit('SubagentStart', subagentStartInput, undefined);
70
+ // Get effective configuration
71
+ const effectiveModel = getEffectiveModel(agentDef, context.parentConfig.model);
72
+ const effectiveMaxTurns = getEffectiveMaxTurns(agentDef, context.parentConfig.maxTurns);
73
+ const effectivePermissionMode = getEffectivePermissionMode(agentDef, context.parentConfig.permissionMode);
74
+ // Get allowed tools
75
+ const allowedTools = getAllowedTools(agentDef, context.parentToolRegistry);
76
+ logger.debug(`[SubagentRunner] Subagent ${agentId} config:`, {
77
+ model: effectiveModel,
78
+ maxTurns: effectiveMaxTurns,
79
+ permissionMode: effectivePermissionMode,
80
+ toolCount: allowedTools.length,
81
+ });
82
+ // Create subagent configuration
83
+ const subagentConfig = {
84
+ maxTurns: effectiveMaxTurns,
85
+ systemPrompt: agentDef.prompt,
86
+ allowedTools: allowedTools.map(t => t.name),
87
+ cwd,
88
+ env: context.parentContext.env,
89
+ abortController: context.parentContext.abortController,
90
+ permissionMode: effectivePermissionMode,
91
+ // Subagent has its own hooks (not inherited from parent)
92
+ hooks: new HookManager(),
93
+ };
94
+ // Create and run the subagent
95
+ // Note: We need a provider instance. If parent's context has one, use it.
96
+ if (!context.parentContext.provider) {
97
+ throw new Error('Provider not available in parent context');
98
+ }
99
+ const subagent = new ReActLoop(context.parentContext.provider,
100
+ // Create a new tool registry with filtered tools
101
+ // This is a simplified approach - in reality we might need to create a new registry
102
+ context.parentToolRegistry, subagentConfig, agentId);
103
+ const result = await subagent.run(prompt);
104
+ const durationMs = Date.now() - startTime;
105
+ logger.debug(`[SubagentRunner] Subagent ${agentId} completed in ${durationMs}ms`);
106
+ // Trigger SubagentStop hook
107
+ const subagentStopInput = createSubagentStopInput(context.parentSessionId, cwd, false, // stopHookActive
108
+ undefined, context.parentConfig.permissionMode);
109
+ await context.hookManager.emit('SubagentStop', subagentStopInput, undefined);
110
+ // Calculate cost if provider supports it
111
+ const provider = context.parentContext.provider;
112
+ const costUsd = provider.getCost?.({
113
+ input_tokens: result.usage.input_tokens,
114
+ output_tokens: result.usage.output_tokens,
115
+ });
116
+ // Check if execution resulted in an error (based on ReActLoop's isError flag)
117
+ const hasError = result.isError ?? false;
118
+ return {
119
+ result: result.result,
120
+ agentId,
121
+ usage: {
122
+ inputTokens: result.usage.input_tokens,
123
+ outputTokens: result.usage.output_tokens,
124
+ },
125
+ costUsd,
126
+ durationMs,
127
+ ...(hasError && { error: result.result }),
128
+ };
129
+ }
130
+ catch (error) {
131
+ const durationMs = Date.now() - startTime;
132
+ const errorMessage = error instanceof Error ? error.message : String(error);
133
+ logger.error(`[SubagentRunner] Subagent ${agentId} failed:`, errorMessage);
134
+ // Trigger SubagentStop hook even on failure
135
+ try {
136
+ const subagentStopInput = createSubagentStopInput(context.parentSessionId, cwd, false, undefined, context.parentConfig.permissionMode);
137
+ await context.hookManager.emit('SubagentStop', subagentStopInput, undefined);
138
+ }
139
+ catch (hookError) {
140
+ // Ignore hook errors during cleanup
141
+ logger.warn('[SubagentRunner] Failed to emit SubagentStop hook:', hookError);
142
+ }
143
+ return {
144
+ result: `Error: ${errorMessage}`,
145
+ agentId,
146
+ usage: {
147
+ inputTokens: 0,
148
+ outputTokens: 0,
149
+ },
150
+ durationMs,
151
+ error: errorMessage,
152
+ };
153
+ }
154
+ }
155
+ /**
156
+ * Helper to check if a subagent result indicates success
157
+ */
158
+ export function isSubagentSuccess(result) {
159
+ return result.error === undefined;
160
+ }
161
+ /**
162
+ * Helper to format subagent result for display
163
+ */
164
+ export function formatSubagentResult(result) {
165
+ const status = result.error !== undefined ? 'FAILED' : 'SUCCESS';
166
+ return `[${status}] ${result.agentId}: ${result.result.substring(0, 100)}${result.result.length > 100 ? '...' : ''}`;
167
+ }
168
+ //# sourceMappingURL=subagent-runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagent-runner.js","sourceRoot":"","sources":["../../src/agent/subagent-runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Hooks module - Public exports
3
+ * Aligned with Claude Agent SDK
4
+ */
5
+ export type { HookEvent, HookInput, BaseHookInput, PreToolUseHookInput, PostToolUseHookInput, PostToolUseFailureHookInput, NotificationHookInput, UserPromptSubmitHookInput, SessionStartHookInput, SessionEndHookInput, ExitReason, StopHookInput, SubagentStartHookInput, SubagentStopHookInput, PreCompactHookInput, PermissionRequestHookInput, HookCallback, HookCallbackMatcher, HooksConfig, HookJSONOutput, AsyncHookJSONOutput, SyncHookJSONOutput, PermissionUpdate, PermissionBehavior, PermissionUpdateDestination, PermissionRuleValue, } from './types';
6
+ export { HookManager } from './manager';
7
+ export { createPreToolUseInput, createPostToolUseInput, createSessionStartInput, createSessionEndInput, createSubagentStartInput, createSubagentStopInput, createNotificationInput, createStopInput, createPreCompactInput, createUserPromptSubmitInput, } from './inputs';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EACV,SAAS,EACT,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,2BAA2B,EAC3B,qBAAqB,EACrB,yBAAyB,EACzB,qBAAqB,EACrB,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,0BAA0B,EAC1B,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGxC,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,eAAe,EACf,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,UAAU,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Hooks module - Public exports
3
+ * Aligned with Claude Agent SDK
4
+ */
5
+ // Manager
6
+ export { HookManager } from './manager';
7
+ // Input helpers
8
+ export { createPreToolUseInput, createPostToolUseInput, createSessionStartInput, createSessionEndInput, createSubagentStartInput, createSubagentStopInput, createNotificationInput, createStopInput, createPreCompactInput, createUserPromptSubmitInput, } from './inputs';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgCH,UAAU;AACV,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,gBAAgB;AAChB,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,eAAe,EACf,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,UAAU,CAAC"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Helper functions for creating HookInput objects
3
+ * Aligned with Claude Agent SDK
4
+ */
5
+ import type { PreToolUseHookInput, PostToolUseHookInput, SessionStartHookInput, SessionEndHookInput, PermissionRequestHookInput, PostToolUseFailureHookInput, SubagentStartHookInput, SubagentStopHookInput, NotificationHookInput, UserPromptSubmitHookInput, StopHookInput, PreCompactHookInput, ExitReason, PermissionUpdate } from './types';
6
+ /**
7
+ * Create PreToolUse hook input
8
+ */
9
+ export declare function createPreToolUseInput(sessionId: string, cwd: string, toolName: string, toolInput: unknown, transcriptPath?: string, permissionMode?: string): PreToolUseHookInput;
10
+ /**
11
+ * Create PostToolUse hook input
12
+ */
13
+ export declare function createPostToolUseInput(sessionId: string, cwd: string, toolName: string, toolInput: unknown, toolResponse: unknown, transcriptPath?: string, permissionMode?: string): PostToolUseHookInput;
14
+ /**
15
+ * Create SessionStart hook input
16
+ */
17
+ export declare function createSessionStartInput(sessionId: string, cwd: string, source?: SessionStartHookInput['source'], transcriptPath?: string, permissionMode?: string): SessionStartHookInput;
18
+ /**
19
+ * Create SessionEnd hook input
20
+ */
21
+ export declare function createSessionEndInput(sessionId: string, cwd: string, reason?: ExitReason, transcriptPath?: string, permissionMode?: string): SessionEndHookInput;
22
+ /**
23
+ * Create PermissionRequest hook input
24
+ */
25
+ export declare function createPermissionRequestInput(sessionId: string, cwd: string, toolName: string, toolInput: unknown, permissionSuggestions?: PermissionUpdate[], transcriptPath?: string, permissionMode?: string): PermissionRequestHookInput;
26
+ /**
27
+ * Create PostToolUseFailure hook input
28
+ */
29
+ export declare function createPostToolUseFailureInput(sessionId: string, cwd: string, toolName: string, toolInput: unknown, error: string, isInterrupt?: boolean, transcriptPath?: string, permissionMode?: string): PostToolUseFailureHookInput;
30
+ /**
31
+ * Create SubagentStart hook input
32
+ */
33
+ export declare function createSubagentStartInput(sessionId: string, cwd: string, subagentId: string, subagentType: string, prompt?: string, transcriptPath?: string, permissionMode?: string): SubagentStartHookInput;
34
+ /**
35
+ * Create SubagentStop hook input
36
+ */
37
+ export declare function createSubagentStopInput(sessionId: string, cwd: string, stopHookActive: boolean, transcriptPath?: string, permissionMode?: string): SubagentStopHookInput;
38
+ /**
39
+ * Create Notification hook input
40
+ * ⏳ No auto trigger point in ReActLoop — for application-level use only (planned v0.4.0+)
41
+ */
42
+ export declare function createNotificationInput(sessionId: string, cwd: string, message: string, title?: string, transcriptPath?: string, permissionMode?: string): NotificationHookInput;
43
+ /**
44
+ * Create Stop hook input
45
+ */
46
+ export declare function createStopInput(sessionId: string, cwd: string, stopHookActive: boolean, transcriptPath?: string, permissionMode?: string): StopHookInput;
47
+ /**
48
+ * Create PreCompact hook input
49
+ * ⏳ No auto trigger point in ReActLoop — requires compact feature (planned v0.4.0+)
50
+ */
51
+ export declare function createPreCompactInput(sessionId: string, cwd: string, trigger: 'manual' | 'auto', customInstructions?: string | null, transcriptPath?: string, permissionMode?: string): PreCompactHookInput;
52
+ /**
53
+ * Create UserPromptSubmit hook input
54
+ */
55
+ export declare function createUserPromptSubmitInput(sessionId: string, cwd: string, prompt: string, transcriptPath?: string, permissionMode?: string): UserPromptSubmitHookInput;
56
+ //# sourceMappingURL=inputs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inputs.d.ts","sourceRoot":"","sources":["../../src/hooks/inputs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAEV,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,0BAA0B,EAC1B,2BAA2B,EAC3B,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,aAAa,EACb,mBAAmB,EACnB,UAAU,EACV,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAmBjB;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,OAAO,EAClB,cAAc,CAAC,EAAE,MAAM,EACvB,cAAc,CAAC,EAAE,MAAM,GACtB,mBAAmB,CAOrB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,OAAO,EAClB,YAAY,EAAE,OAAO,EACrB,cAAc,CAAC,EAAE,MAAM,EACvB,cAAc,CAAC,EAAE,MAAM,GACtB,oBAAoB,CAQtB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,qBAAqB,CAAC,QAAQ,CAAa,EACnD,cAAc,CAAC,EAAE,MAAM,EACvB,cAAc,CAAC,EAAE,MAAM,GACtB,qBAAqB,CAMvB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,UAAwB,EAChC,cAAc,CAAC,EAAE,MAAM,EACvB,cAAc,CAAC,EAAE,MAAM,GACtB,mBAAmB,CAMrB;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,OAAO,EAClB,qBAAqB,CAAC,EAAE,gBAAgB,EAAE,EAC1C,cAAc,CAAC,EAAE,MAAM,EACvB,cAAc,CAAC,EAAE,MAAM,GACtB,0BAA0B,CAQ5B;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,OAAO,EAClB,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,OAAO,EACrB,cAAc,CAAC,EAAE,MAAM,EACvB,cAAc,CAAC,EAAE,MAAM,GACtB,2BAA2B,CAS7B;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,MAAM,EACvB,cAAc,CAAC,EAAE,MAAM,GACtB,sBAAsB,CAQxB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,OAAO,EACvB,cAAc,CAAC,EAAE,MAAM,EACvB,cAAc,CAAC,EAAE,MAAM,GACtB,qBAAqB,CAMvB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,MAAM,EACvB,cAAc,CAAC,EAAE,MAAM,GACtB,qBAAqB,CAOvB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,OAAO,EACvB,cAAc,CAAC,EAAE,MAAM,EACvB,cAAc,CAAC,EAAE,MAAM,GACtB,aAAa,CAMf;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,QAAQ,GAAG,MAAM,EAC1B,kBAAkB,GAAE,MAAM,GAAG,IAAW,EACxC,cAAc,CAAC,EAAE,MAAM,EACvB,cAAc,CAAC,EAAE,MAAM,GACtB,mBAAmB,CAOrB;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,MAAM,EACvB,cAAc,CAAC,EAAE,MAAM,GACtB,yBAAyB,CAM3B"}
@@ -0,0 +1,150 @@
1
+ /**
2
+ * Helper functions for creating HookInput objects
3
+ * Aligned with Claude Agent SDK
4
+ */
5
+ /**
6
+ * Create base hook input with common fields
7
+ */
8
+ function createBaseHookInput(sessionId, cwd, transcriptPath = '', permissionMode) {
9
+ return {
10
+ session_id: sessionId,
11
+ transcript_path: transcriptPath,
12
+ cwd,
13
+ ...(permissionMode && { permission_mode: permissionMode }),
14
+ };
15
+ }
16
+ /**
17
+ * Create PreToolUse hook input
18
+ */
19
+ export function createPreToolUseInput(sessionId, cwd, toolName, toolInput, transcriptPath, permissionMode) {
20
+ return {
21
+ ...createBaseHookInput(sessionId, cwd, transcriptPath, permissionMode),
22
+ hook_event_name: 'PreToolUse',
23
+ tool_name: toolName,
24
+ tool_input: toolInput,
25
+ };
26
+ }
27
+ /**
28
+ * Create PostToolUse hook input
29
+ */
30
+ export function createPostToolUseInput(sessionId, cwd, toolName, toolInput, toolResponse, transcriptPath, permissionMode) {
31
+ return {
32
+ ...createBaseHookInput(sessionId, cwd, transcriptPath, permissionMode),
33
+ hook_event_name: 'PostToolUse',
34
+ tool_name: toolName,
35
+ tool_input: toolInput,
36
+ tool_response: toolResponse,
37
+ };
38
+ }
39
+ /**
40
+ * Create SessionStart hook input
41
+ */
42
+ export function createSessionStartInput(sessionId, cwd, source = 'startup', transcriptPath, permissionMode) {
43
+ return {
44
+ ...createBaseHookInput(sessionId, cwd, transcriptPath, permissionMode),
45
+ hook_event_name: 'SessionStart',
46
+ source,
47
+ };
48
+ }
49
+ /**
50
+ * Create SessionEnd hook input
51
+ */
52
+ export function createSessionEndInput(sessionId, cwd, reason = 'completed', transcriptPath, permissionMode) {
53
+ return {
54
+ ...createBaseHookInput(sessionId, cwd, transcriptPath, permissionMode),
55
+ hook_event_name: 'SessionEnd',
56
+ reason,
57
+ };
58
+ }
59
+ /**
60
+ * Create PermissionRequest hook input
61
+ */
62
+ export function createPermissionRequestInput(sessionId, cwd, toolName, toolInput, permissionSuggestions, transcriptPath, permissionMode) {
63
+ return {
64
+ ...createBaseHookInput(sessionId, cwd, transcriptPath, permissionMode),
65
+ hook_event_name: 'PermissionRequest',
66
+ tool_name: toolName,
67
+ tool_input: toolInput,
68
+ permission_suggestions: permissionSuggestions,
69
+ };
70
+ }
71
+ /**
72
+ * Create PostToolUseFailure hook input
73
+ */
74
+ export function createPostToolUseFailureInput(sessionId, cwd, toolName, toolInput, error, isInterrupt, transcriptPath, permissionMode) {
75
+ return {
76
+ ...createBaseHookInput(sessionId, cwd, transcriptPath, permissionMode),
77
+ hook_event_name: 'PostToolUseFailure',
78
+ tool_name: toolName,
79
+ tool_input: toolInput,
80
+ error,
81
+ is_interrupt: isInterrupt,
82
+ };
83
+ }
84
+ /**
85
+ * Create SubagentStart hook input
86
+ */
87
+ export function createSubagentStartInput(sessionId, cwd, subagentId, subagentType, prompt, transcriptPath, permissionMode) {
88
+ return {
89
+ ...createBaseHookInput(sessionId, cwd, transcriptPath, permissionMode),
90
+ hook_event_name: 'SubagentStart',
91
+ subagent_id: subagentId,
92
+ subagent_type: subagentType,
93
+ prompt,
94
+ };
95
+ }
96
+ /**
97
+ * Create SubagentStop hook input
98
+ */
99
+ export function createSubagentStopInput(sessionId, cwd, stopHookActive, transcriptPath, permissionMode) {
100
+ return {
101
+ ...createBaseHookInput(sessionId, cwd, transcriptPath, permissionMode),
102
+ hook_event_name: 'SubagentStop',
103
+ stop_hook_active: stopHookActive,
104
+ };
105
+ }
106
+ /**
107
+ * Create Notification hook input
108
+ * ⏳ No auto trigger point in ReActLoop — for application-level use only (planned v0.4.0+)
109
+ */
110
+ export function createNotificationInput(sessionId, cwd, message, title, transcriptPath, permissionMode) {
111
+ return {
112
+ ...createBaseHookInput(sessionId, cwd, transcriptPath, permissionMode),
113
+ hook_event_name: 'Notification',
114
+ message,
115
+ title,
116
+ };
117
+ }
118
+ /**
119
+ * Create Stop hook input
120
+ */
121
+ export function createStopInput(sessionId, cwd, stopHookActive, transcriptPath, permissionMode) {
122
+ return {
123
+ ...createBaseHookInput(sessionId, cwd, transcriptPath, permissionMode),
124
+ hook_event_name: 'Stop',
125
+ stop_hook_active: stopHookActive,
126
+ };
127
+ }
128
+ /**
129
+ * Create PreCompact hook input
130
+ * ⏳ No auto trigger point in ReActLoop — requires compact feature (planned v0.4.0+)
131
+ */
132
+ export function createPreCompactInput(sessionId, cwd, trigger, customInstructions = null, transcriptPath, permissionMode) {
133
+ return {
134
+ ...createBaseHookInput(sessionId, cwd, transcriptPath, permissionMode),
135
+ hook_event_name: 'PreCompact',
136
+ trigger,
137
+ custom_instructions: customInstructions,
138
+ };
139
+ }
140
+ /**
141
+ * Create UserPromptSubmit hook input
142
+ */
143
+ export function createUserPromptSubmitInput(sessionId, cwd, prompt, transcriptPath, permissionMode) {
144
+ return {
145
+ ...createBaseHookInput(sessionId, cwd, transcriptPath, permissionMode),
146
+ hook_event_name: 'UserPromptSubmit',
147
+ prompt,
148
+ };
149
+ }
150
+ //# sourceMappingURL=inputs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inputs.js","sourceRoot":"","sources":["../../src/hooks/inputs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * HookManager - Manages hook registration and emission
3
+ * Aligned with Claude Agent SDK
4
+ */
5
+ import type { HookEvent, HookInput, HookCallbackMatcher, HooksConfig, HookJSONOutput } from './types';
6
+ /**
7
+ * Manages hook callbacks and their execution
8
+ */
9
+ export declare class HookManager {
10
+ private hooks;
11
+ private abortController;
12
+ /**
13
+ * Create a new HookManager
14
+ * @param config - Optional initial hooks configuration
15
+ */
16
+ constructor(config?: HooksConfig);
17
+ /**
18
+ * Register hook callbacks for an event
19
+ * @param event - The hook event type
20
+ * @param matchers - Array of matcher configurations
21
+ */
22
+ register(event: HookEvent, matchers: HookCallbackMatcher[]): void;
23
+ /**
24
+ * Emit a hook event to all registered callbacks
25
+ * @param event - The hook event type
26
+ * @param input - The hook input data
27
+ * @param toolUseID - Optional tool use ID
28
+ * @returns Array of results from all callbacks
29
+ */
30
+ emit(event: HookEvent, input: HookInput, toolUseID?: string): Promise<HookJSONOutput[]>;
31
+ /**
32
+ * Emit a hook event with tool name filtering
33
+ * Only callbacks with matching matcher or no matcher will be called
34
+ * @param event - The hook event type
35
+ * @param input - The hook input data
36
+ * @param toolName - The tool name for matcher filtering
37
+ * @param toolUseID - Optional tool use ID
38
+ * @returns Array of results from matching callbacks
39
+ */
40
+ emitForTool(event: HookEvent, input: HookInput, toolName: string, toolUseID?: string): Promise<HookJSONOutput[]>;
41
+ /**
42
+ * Check if there are any hooks registered for an event
43
+ * @param event - The hook event type
44
+ * @returns True if hooks are registered
45
+ */
46
+ hasHooks(event: HookEvent): boolean;
47
+ /**
48
+ * Get the number of hooks registered for an event
49
+ * @param event - The hook event type
50
+ * @returns Number of registered hook callbacks
51
+ */
52
+ hookCount(event: HookEvent): number;
53
+ /**
54
+ * Clear all registered hooks
55
+ */
56
+ clear(): void;
57
+ /**
58
+ * Destroy the hook manager
59
+ * Aborts the internal abort controller
60
+ */
61
+ destroy(): void;
62
+ }
63
+ //# sourceMappingURL=manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/hooks/manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,SAAS,EACT,SAAS,EACT,mBAAmB,EACnB,WAAW,EACX,cAAc,EACf,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,KAAK,CAAwC;IACrD,OAAO,CAAC,eAAe,CAAkB;IAEzC;;;OAGG;gBACS,MAAM,CAAC,EAAE,WAAW;IAWhC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,mBAAmB,EAAE,GAAG,IAAI;IAKjE;;;;;;OAMG;IACG,IAAI,CACR,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,EAChB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,EAAE,CAAC;IA2B5B;;;;;;;;OAQG;IACG,WAAW,CACf,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,EAAE,CAAC;IAgC5B;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAKnC;;;;OAIG;IACH,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM;IAMnC;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;;OAGG;IACH,OAAO,IAAI,IAAI;CAKhB"}