@codemieai/code 0.0.31 → 0.0.33
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/agents/codemie-code/agent.d.ts +6 -0
- package/dist/agents/codemie-code/agent.d.ts.map +1 -1
- package/dist/agents/codemie-code/agent.js +239 -3
- package/dist/agents/codemie-code/agent.js.map +1 -1
- package/dist/agents/codemie-code/config.d.ts.map +1 -1
- package/dist/agents/codemie-code/config.js +3 -1
- package/dist/agents/codemie-code/config.js.map +1 -1
- package/dist/agents/codemie-code/types.d.ts +13 -0
- package/dist/agents/codemie-code/types.d.ts.map +1 -1
- package/dist/agents/codemie-code/types.js.map +1 -1
- package/dist/agents/codemie-code/ui/todoPanel.d.ts.map +1 -1
- package/dist/agents/codemie-code/ui/todoPanel.js +4 -0
- package/dist/agents/codemie-code/ui/todoPanel.js.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.d.ts +9 -1
- package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.js +24 -2
- package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
- package/dist/agents/core/session/SessionStore.d.ts +15 -0
- package/dist/agents/core/session/SessionStore.d.ts.map +1 -1
- package/dist/agents/core/session/SessionStore.js +46 -0
- package/dist/agents/core/session/SessionStore.js.map +1 -1
- package/dist/agents/core/session/types.d.ts +2 -0
- package/dist/agents/core/session/types.d.ts.map +1 -1
- package/dist/agents/core/types.d.ts +74 -0
- package/dist/agents/core/types.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin.js +18 -0
- package/dist/agents/plugins/claude/claude.plugin.js.map +1 -1
- package/dist/agents/plugins/claude/plugin/.claude-plugin/plugin.json +1 -1
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/agents/code-review-agent-template.md.template +466 -0
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/agents/solution-architect-agent.md.template +487 -0
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/agents/unit-tester-agent.md.template +805 -0
- package/dist/agents/plugins/claude/plugin/commands/codemie-commit.md +31 -0
- package/dist/agents/plugins/claude/plugin/commands/codemie-init.md +1 -1
- package/dist/agents/plugins/claude/plugin/commands/codemie-pr.md +25 -0
- package/dist/agents/plugins/claude/plugin/commands/codemie-subagents.md +616 -0
- package/dist/agents/plugins/claude/plugin/hooks/hooks.json +11 -0
- package/dist/agents/plugins/gemini/extension/gemini-extension.json +1 -1
- package/dist/agents/plugins/gemini/extension/hooks/hooks.json +12 -0
- package/dist/agents/plugins/gemini/gemini.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/gemini/gemini.plugin.js +16 -1
- package/dist/agents/plugins/gemini/gemini.plugin.js.map +1 -1
- package/dist/cli/commands/hook.d.ts.map +1 -1
- package/dist/cli/commands/hook.js +78 -7
- package/dist/cli/commands/hook.js.map +1 -1
- package/dist/env/types.d.ts +2 -0
- package/dist/env/types.d.ts.map +1 -1
- package/dist/env/types.js.map +1 -1
- package/dist/hooks/decision.d.ts +53 -0
- package/dist/hooks/decision.d.ts.map +1 -0
- package/dist/hooks/decision.js +201 -0
- package/dist/hooks/decision.js.map +1 -0
- package/dist/hooks/executor.d.ts +154 -0
- package/dist/hooks/executor.d.ts.map +1 -0
- package/dist/hooks/executor.js +415 -0
- package/dist/hooks/executor.js.map +1 -0
- package/dist/hooks/matcher.d.ts +41 -0
- package/dist/hooks/matcher.d.ts.map +1 -0
- package/dist/hooks/matcher.js +93 -0
- package/dist/hooks/matcher.js.map +1 -0
- package/dist/hooks/prompt-executor.d.ts +57 -0
- package/dist/hooks/prompt-executor.d.ts.map +1 -0
- package/dist/hooks/prompt-executor.js +141 -0
- package/dist/hooks/prompt-executor.js.map +1 -0
- package/dist/hooks/types.d.ts +153 -0
- package/dist/hooks/types.d.ts.map +1 -0
- package/dist/hooks/types.js +9 -0
- package/dist/hooks/types.js.map +1 -0
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.d.ts +6 -3
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.d.ts.map +1 -1
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.js +20 -4
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.js.map +1 -1
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-types.d.ts +8 -0
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-types.d.ts.map +1 -1
- package/dist/utils/config.d.ts +5 -0
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +73 -0
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/exec.d.ts.map +1 -1
- package/dist/utils/exec.js +11 -1
- package/dist/utils/exec.js.map +1 -1
- package/dist/utils/mcp-config.d.ts +25 -0
- package/dist/utils/mcp-config.d.ts.map +1 -0
- package/dist/utils/mcp-config.js +197 -0
- package/dist/utils/mcp-config.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook Matcher
|
|
3
|
+
*
|
|
4
|
+
* Provides pattern matching logic for determining which hooks should execute
|
|
5
|
+
* for a given tool name. Supports literal matches, wildcards, and regex patterns.
|
|
6
|
+
*/
|
|
7
|
+
import { logger } from '../utils/logger.js';
|
|
8
|
+
export class HookMatcher {
|
|
9
|
+
/**
|
|
10
|
+
* Check if a pattern matches a tool name
|
|
11
|
+
*
|
|
12
|
+
* @param pattern - Pattern to match (regex, wildcard *, or literal string)
|
|
13
|
+
* @param toolName - Tool name to test against pattern
|
|
14
|
+
* @returns true if pattern matches tool name
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* HookMatcher.matches('*', 'Bash') // true (wildcard)
|
|
18
|
+
* HookMatcher.matches('Bash|Write', 'Bash') // true (regex)
|
|
19
|
+
* HookMatcher.matches('Bash', 'Bash') // true (literal)
|
|
20
|
+
* HookMatcher.matches('Bash', 'Read') // false
|
|
21
|
+
*/
|
|
22
|
+
static matches(pattern, toolName) {
|
|
23
|
+
try {
|
|
24
|
+
// Handle wildcard - matches everything
|
|
25
|
+
if (pattern === '*') {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
// Handle regex patterns (contains special regex characters)
|
|
29
|
+
// Common regex chars: | (alternation), [] (character class), {} (quantifier), () (group)
|
|
30
|
+
if (/[|[\]{}()]/.test(pattern)) {
|
|
31
|
+
try {
|
|
32
|
+
// Wrap pattern with anchors to match full tool name
|
|
33
|
+
const regex = new RegExp(`^(${pattern})$`);
|
|
34
|
+
return regex.test(toolName);
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
// Invalid regex, treat as literal string
|
|
38
|
+
logger.warn(`Invalid regex pattern "${pattern}", treating as literal: ${error}`);
|
|
39
|
+
return pattern === toolName;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
// Literal string match
|
|
43
|
+
return pattern === toolName;
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
logger.error(`Error matching pattern "${pattern}" against "${toolName}": ${error}`);
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Find all patterns that match a tool name
|
|
52
|
+
*
|
|
53
|
+
* @param patterns - Array of patterns to test
|
|
54
|
+
* @param toolName - Tool name to match against
|
|
55
|
+
* @returns Array of matching patterns
|
|
56
|
+
*/
|
|
57
|
+
static findMatches(patterns, toolName) {
|
|
58
|
+
return patterns.filter((pattern) => this.matches(pattern, toolName));
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Validate a pattern for common mistakes
|
|
62
|
+
*
|
|
63
|
+
* @param pattern - Pattern to validate
|
|
64
|
+
* @returns Validation result with any warnings
|
|
65
|
+
*/
|
|
66
|
+
static validate(pattern) {
|
|
67
|
+
const warnings = [];
|
|
68
|
+
// Check for empty pattern
|
|
69
|
+
if (!pattern || pattern.trim() === '') {
|
|
70
|
+
return { valid: false, warnings: ['Pattern cannot be empty'] };
|
|
71
|
+
}
|
|
72
|
+
// Check for potential regex mistakes
|
|
73
|
+
if (/[|[\]{}()]/.test(pattern)) {
|
|
74
|
+
try {
|
|
75
|
+
new RegExp(`^(${pattern})$`);
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
warnings.push(`Pattern appears to be regex but is invalid: ${error}`);
|
|
79
|
+
return { valid: false, warnings };
|
|
80
|
+
}
|
|
81
|
+
// Warn about unescaped dots (likely mistake)
|
|
82
|
+
if (/(?<!\\)\./.test(pattern)) {
|
|
83
|
+
warnings.push('Pattern contains unescaped dots (.) which match any character in regex');
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
// Warn about trailing/leading spaces
|
|
87
|
+
if (pattern !== pattern.trim()) {
|
|
88
|
+
warnings.push('Pattern contains leading/trailing spaces');
|
|
89
|
+
}
|
|
90
|
+
return { valid: true, warnings };
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=matcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"matcher.js","sourceRoot":"","sources":["../../src/hooks/matcher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,OAAO,WAAW;IACvB;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,OAAO,CAAC,OAAe,EAAE,QAAgB;QAC/C,IAAI,CAAC;YACJ,uCAAuC;YACvC,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC;YACb,CAAC;YAED,4DAA4D;YAC5D,yFAAyF;YACzF,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC;oBACJ,oDAAoD;oBACpD,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC;oBAC3C,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC7B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,yCAAyC;oBACzC,MAAM,CAAC,IAAI,CAAC,0BAA0B,OAAO,2BAA2B,KAAK,EAAE,CAAC,CAAC;oBACjF,OAAO,OAAO,KAAK,QAAQ,CAAC;gBAC7B,CAAC;YACF,CAAC;YAED,uBAAuB;YACvB,OAAO,OAAO,KAAK,QAAQ,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,CAAC,2BAA2B,OAAO,cAAc,QAAQ,MAAM,KAAK,EAAE,CAAC,CAAC;YACpF,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,WAAW,CAAC,QAAkB,EAAE,QAAgB;QACtD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IACtE,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,OAAe;QAC9B,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,0BAA0B;QAC1B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACvC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,yBAAyB,CAAC,EAAE,CAAC;QAChE,CAAC;QAED,qCAAqC;QACrC,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC;gBACJ,IAAI,MAAM,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC;YAC9B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,QAAQ,CAAC,IAAI,CAAC,+CAA+C,KAAK,EAAE,CAAC,CAAC;gBACtE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YACnC,CAAC;YAED,6CAA6C;YAC7C,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/B,QAAQ,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;YACzF,CAAC;QACF,CAAC;QAED,qCAAqC;QACrC,IAAI,OAAO,KAAK,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YAChC,QAAQ,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAClC,CAAC;CACD"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Prompt Hook Executor
|
|
3
|
+
*
|
|
4
|
+
* Executes LLM-based hooks using prompt templates.
|
|
5
|
+
* Allows users to define hooks that call an LLM to make decisions
|
|
6
|
+
* about tool execution, user prompts, etc.
|
|
7
|
+
*/
|
|
8
|
+
import type { HookInput, HookResult } from './types.js';
|
|
9
|
+
/**
|
|
10
|
+
* Configuration for prompt hook executor
|
|
11
|
+
*/
|
|
12
|
+
export interface PromptHookConfig {
|
|
13
|
+
/** LLM API key */
|
|
14
|
+
apiKey: string;
|
|
15
|
+
/** LLM base URL */
|
|
16
|
+
baseUrl?: string;
|
|
17
|
+
/** Model name (default: gpt-3.5-turbo for speed) */
|
|
18
|
+
model?: string;
|
|
19
|
+
/** Request timeout in milliseconds */
|
|
20
|
+
timeout?: number;
|
|
21
|
+
/** Debug mode */
|
|
22
|
+
debug?: boolean;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Prompt hook executor
|
|
26
|
+
* Uses LLM to evaluate hooks based on prompt templates
|
|
27
|
+
*/
|
|
28
|
+
export declare class PromptHookExecutor {
|
|
29
|
+
private llm;
|
|
30
|
+
private config;
|
|
31
|
+
constructor(config: PromptHookConfig);
|
|
32
|
+
/**
|
|
33
|
+
* Execute a prompt hook
|
|
34
|
+
*
|
|
35
|
+
* @param prompt - Prompt template (can contain $ARGUMENTS placeholder)
|
|
36
|
+
* @param input - Hook input data
|
|
37
|
+
* @returns Hook result from LLM
|
|
38
|
+
*/
|
|
39
|
+
execute(prompt: string, input: HookInput): Promise<HookResult>;
|
|
40
|
+
/**
|
|
41
|
+
* Resolve prompt template by replacing placeholders
|
|
42
|
+
*
|
|
43
|
+
* @param prompt - Prompt template
|
|
44
|
+
* @param input - Hook input data
|
|
45
|
+
* @returns Resolved prompt
|
|
46
|
+
*/
|
|
47
|
+
private resolvePrompt;
|
|
48
|
+
/**
|
|
49
|
+
* Parse LLM response into hook result
|
|
50
|
+
* Expects JSON response, but handles plain text gracefully
|
|
51
|
+
*
|
|
52
|
+
* @param content - LLM response content
|
|
53
|
+
* @returns Parsed hook result
|
|
54
|
+
*/
|
|
55
|
+
private parseResponse;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=prompt-executor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-executor.d.ts","sourceRoot":"","sources":["../../src/hooks/prompt-executor.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAC;IAEf,mBAAmB;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,iBAAiB;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;GAGG;AACH,qBAAa,kBAAkB;IAC9B,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,MAAM,CAAmB;gBAErB,MAAM,EAAE,gBAAgB;IAmBpC;;;;;;OAMG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IAyBpE;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAsCrB;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;CAsCrB"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Prompt Hook Executor
|
|
3
|
+
*
|
|
4
|
+
* Executes LLM-based hooks using prompt templates.
|
|
5
|
+
* Allows users to define hooks that call an LLM to make decisions
|
|
6
|
+
* about tool execution, user prompts, etc.
|
|
7
|
+
*/
|
|
8
|
+
import { ChatOpenAI } from '@langchain/openai';
|
|
9
|
+
import { HumanMessage } from '@langchain/core/messages';
|
|
10
|
+
import { logger } from '../utils/logger.js';
|
|
11
|
+
/**
|
|
12
|
+
* Prompt hook executor
|
|
13
|
+
* Uses LLM to evaluate hooks based on prompt templates
|
|
14
|
+
*/
|
|
15
|
+
export class PromptHookExecutor {
|
|
16
|
+
llm;
|
|
17
|
+
config;
|
|
18
|
+
constructor(config) {
|
|
19
|
+
this.config = config;
|
|
20
|
+
// Create LLM instance with fast model for quick hook decisions
|
|
21
|
+
this.llm = new ChatOpenAI({
|
|
22
|
+
apiKey: config.apiKey,
|
|
23
|
+
configuration: {
|
|
24
|
+
...(config.baseUrl && { baseURL: config.baseUrl }),
|
|
25
|
+
},
|
|
26
|
+
modelName: config.model || 'gpt-3.5-turbo', // Fast model for hooks
|
|
27
|
+
temperature: 0, // Deterministic
|
|
28
|
+
timeout: config.timeout || 30000, // 30s default timeout
|
|
29
|
+
});
|
|
30
|
+
if (config.debug) {
|
|
31
|
+
logger.debug('Prompt hook executor initialized');
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Execute a prompt hook
|
|
36
|
+
*
|
|
37
|
+
* @param prompt - Prompt template (can contain $ARGUMENTS placeholder)
|
|
38
|
+
* @param input - Hook input data
|
|
39
|
+
* @returns Hook result from LLM
|
|
40
|
+
*/
|
|
41
|
+
async execute(prompt, input) {
|
|
42
|
+
try {
|
|
43
|
+
// Replace placeholders in prompt
|
|
44
|
+
const resolvedPrompt = this.resolvePrompt(prompt, input);
|
|
45
|
+
if (this.config.debug) {
|
|
46
|
+
logger.debug(`Executing prompt hook with template: ${prompt.substring(0, 100)}...`);
|
|
47
|
+
}
|
|
48
|
+
// Call LLM
|
|
49
|
+
const response = await this.llm.invoke([new HumanMessage(resolvedPrompt)]);
|
|
50
|
+
// Parse response
|
|
51
|
+
return this.parseResponse(response.content.toString());
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
logger.error(`Prompt hook execution failed: ${error}`);
|
|
55
|
+
// Fail open (allow execution to continue)
|
|
56
|
+
return {
|
|
57
|
+
decision: 'allow',
|
|
58
|
+
reason: `Prompt hook failed: ${error instanceof Error ? error.message : String(error)}`,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Resolve prompt template by replacing placeholders
|
|
64
|
+
*
|
|
65
|
+
* @param prompt - Prompt template
|
|
66
|
+
* @param input - Hook input data
|
|
67
|
+
* @returns Resolved prompt
|
|
68
|
+
*/
|
|
69
|
+
resolvePrompt(prompt, input) {
|
|
70
|
+
let resolved = prompt;
|
|
71
|
+
// Replace $ARGUMENTS with full input JSON
|
|
72
|
+
if (resolved.includes('$ARGUMENTS')) {
|
|
73
|
+
const argsJson = JSON.stringify(input, null, 2);
|
|
74
|
+
resolved = resolved.replace(/\$ARGUMENTS/g, argsJson);
|
|
75
|
+
}
|
|
76
|
+
// Replace $TOOL_NAME
|
|
77
|
+
if (resolved.includes('$TOOL_NAME')) {
|
|
78
|
+
resolved = resolved.replace(/\$TOOL_NAME/g, input.tool_name || '');
|
|
79
|
+
}
|
|
80
|
+
// Replace $TOOL_INPUT
|
|
81
|
+
if (resolved.includes('$TOOL_INPUT')) {
|
|
82
|
+
const toolInputJson = JSON.stringify(input.tool_input || {}, null, 2);
|
|
83
|
+
resolved = resolved.replace(/\$TOOL_INPUT/g, toolInputJson);
|
|
84
|
+
}
|
|
85
|
+
// Replace $PROMPT
|
|
86
|
+
if (resolved.includes('$PROMPT')) {
|
|
87
|
+
resolved = resolved.replace(/\$PROMPT/g, input.prompt || '');
|
|
88
|
+
}
|
|
89
|
+
// Replace $SESSION_ID
|
|
90
|
+
if (resolved.includes('$SESSION_ID')) {
|
|
91
|
+
resolved = resolved.replace(/\$SESSION_ID/g, input.session_id);
|
|
92
|
+
}
|
|
93
|
+
// Replace $CWD
|
|
94
|
+
if (resolved.includes('$CWD')) {
|
|
95
|
+
resolved = resolved.replace(/\$CWD/g, input.cwd);
|
|
96
|
+
}
|
|
97
|
+
return resolved;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Parse LLM response into hook result
|
|
101
|
+
* Expects JSON response, but handles plain text gracefully
|
|
102
|
+
*
|
|
103
|
+
* @param content - LLM response content
|
|
104
|
+
* @returns Parsed hook result
|
|
105
|
+
*/
|
|
106
|
+
parseResponse(content) {
|
|
107
|
+
const trimmed = content.trim();
|
|
108
|
+
// Try to parse as JSON
|
|
109
|
+
try {
|
|
110
|
+
const parsed = JSON.parse(trimmed);
|
|
111
|
+
// Validate decision field
|
|
112
|
+
if (parsed.decision) {
|
|
113
|
+
const validDecisions = ['allow', 'deny', 'block', 'approve'];
|
|
114
|
+
if (!validDecisions.includes(parsed.decision)) {
|
|
115
|
+
logger.warn(`Invalid decision from prompt hook: ${parsed.decision}, defaulting to allow`);
|
|
116
|
+
parsed.decision = 'allow';
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
// Default to allow if no decision
|
|
121
|
+
parsed.decision = 'allow';
|
|
122
|
+
}
|
|
123
|
+
return parsed;
|
|
124
|
+
}
|
|
125
|
+
catch {
|
|
126
|
+
// Not JSON, treat as plain text reason
|
|
127
|
+
logger.debug('Prompt hook returned plain text, treating as reason');
|
|
128
|
+
// Check for common blocking keywords in response
|
|
129
|
+
const lowerContent = trimmed.toLowerCase();
|
|
130
|
+
const isBlocking = lowerContent.includes('block') ||
|
|
131
|
+
lowerContent.includes('deny') ||
|
|
132
|
+
lowerContent.includes('reject') ||
|
|
133
|
+
lowerContent.includes('prevent');
|
|
134
|
+
return {
|
|
135
|
+
decision: isBlocking ? 'deny' : 'allow',
|
|
136
|
+
reason: trimmed,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=prompt-executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-executor.js","sourceRoot":"","sources":["../../src/hooks/prompt-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook System Types
|
|
3
|
+
*
|
|
4
|
+
* Defines interfaces and types for the CodeMie hooks system.
|
|
5
|
+
* Hooks allow users to execute custom shell commands or LLM-based prompts
|
|
6
|
+
* at key lifecycle points (PreToolUse, PostToolUse, UserPromptSubmit, Stop).
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Input data passed to hooks via stdin (JSON format)
|
|
10
|
+
*/
|
|
11
|
+
export interface HookInput {
|
|
12
|
+
/** Unique session identifier */
|
|
13
|
+
session_id: string;
|
|
14
|
+
/** Path to session transcript file */
|
|
15
|
+
transcript_path: string;
|
|
16
|
+
/** Current working directory */
|
|
17
|
+
cwd: string;
|
|
18
|
+
/** Permission mode (e.g., 'auto', 'manual') */
|
|
19
|
+
permission_mode: string;
|
|
20
|
+
/** Hook event name (PreToolUse, PostToolUse, etc.) */
|
|
21
|
+
hook_event_name: string;
|
|
22
|
+
/** Tool name (for PreToolUse/PostToolUse) */
|
|
23
|
+
tool_name?: string;
|
|
24
|
+
/** Tool input arguments (for PreToolUse/PostToolUse) */
|
|
25
|
+
tool_input?: Record<string, unknown>;
|
|
26
|
+
/** Tool use identifier */
|
|
27
|
+
tool_use_id?: string;
|
|
28
|
+
/** Tool output/result (for PostToolUse) */
|
|
29
|
+
tool_output?: string;
|
|
30
|
+
/** Tool metadata (for PostToolUse) */
|
|
31
|
+
tool_metadata?: Record<string, unknown>;
|
|
32
|
+
/** User prompt text (for UserPromptSubmit) */
|
|
33
|
+
prompt?: string;
|
|
34
|
+
/** Agent name */
|
|
35
|
+
agent_name?: string;
|
|
36
|
+
/** Profile name */
|
|
37
|
+
profile_name?: string;
|
|
38
|
+
/** Tool execution history (for Stop hooks) */
|
|
39
|
+
tool_execution_history?: Array<{
|
|
40
|
+
toolName: string;
|
|
41
|
+
success: boolean;
|
|
42
|
+
exitCode?: number;
|
|
43
|
+
duration?: number;
|
|
44
|
+
errorMessage?: string;
|
|
45
|
+
}>;
|
|
46
|
+
/** Execution statistics (for Stop hooks) */
|
|
47
|
+
execution_stats?: {
|
|
48
|
+
totalToolCalls: number;
|
|
49
|
+
successfulTools: number;
|
|
50
|
+
failedTools: number;
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Output data returned by hooks via stdout (JSON format)
|
|
55
|
+
*/
|
|
56
|
+
export interface HookResult {
|
|
57
|
+
/** Hook decision (allow, deny, block, approve) */
|
|
58
|
+
decision?: 'allow' | 'deny' | 'block' | 'approve';
|
|
59
|
+
/** Human-readable reason for decision */
|
|
60
|
+
reason?: string;
|
|
61
|
+
/** Whether to suppress tool output from being shown to user */
|
|
62
|
+
suppressOutput?: boolean;
|
|
63
|
+
/** Modified tool input (for PreToolUse) */
|
|
64
|
+
updatedInput?: Record<string, unknown>;
|
|
65
|
+
/** Additional context to inject into conversation */
|
|
66
|
+
additionalContext?: string;
|
|
67
|
+
/** Permission decision (for PermissionRequest hooks) */
|
|
68
|
+
permissionDecision?: 'allow' | 'deny' | 'ask';
|
|
69
|
+
/** Reason for permission decision */
|
|
70
|
+
permissionDecisionReason?: string;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Hook type enumeration
|
|
74
|
+
*/
|
|
75
|
+
export type HookType = 'command' | 'prompt';
|
|
76
|
+
/**
|
|
77
|
+
* Hook configuration
|
|
78
|
+
*/
|
|
79
|
+
export interface HookConfig {
|
|
80
|
+
/** Hook type (command executes shell script, prompt calls LLM) */
|
|
81
|
+
type: HookType;
|
|
82
|
+
/** Shell command path (required for command hooks) */
|
|
83
|
+
command?: string;
|
|
84
|
+
/** LLM prompt template (required for prompt hooks) */
|
|
85
|
+
prompt?: string;
|
|
86
|
+
/** Timeout in milliseconds (default: 60000) */
|
|
87
|
+
timeout?: number;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Hook matcher configuration
|
|
91
|
+
* Matches tool names against patterns to determine which hooks to run
|
|
92
|
+
*/
|
|
93
|
+
export interface HookMatcher {
|
|
94
|
+
/** Pattern to match tool names (regex, wildcard *, or literal) */
|
|
95
|
+
matcher?: string;
|
|
96
|
+
/** Hooks to execute when matcher matches */
|
|
97
|
+
hooks: HookConfig[];
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Complete hooks configuration
|
|
101
|
+
* Maps hook event names to arrays of matchers
|
|
102
|
+
*/
|
|
103
|
+
export interface HooksConfiguration {
|
|
104
|
+
/** Hooks executed before tool use (can block/modify) */
|
|
105
|
+
PreToolUse?: HookMatcher[];
|
|
106
|
+
/** Hooks executed after tool completes (informational) */
|
|
107
|
+
PostToolUse?: HookMatcher[];
|
|
108
|
+
/** Hooks executed before processing user prompt (can block/add context) */
|
|
109
|
+
UserPromptSubmit?: HookMatcher[];
|
|
110
|
+
/** Hooks executed when agent completes (can continue execution) */
|
|
111
|
+
Stop?: HookMatcher[];
|
|
112
|
+
/** Hooks executed when subagent stops (already implemented) */
|
|
113
|
+
SubagentStop?: HookMatcher[];
|
|
114
|
+
/** Hooks executed at session start (already implemented) */
|
|
115
|
+
SessionStart?: HookMatcher[];
|
|
116
|
+
/** Hooks executed at session end (already implemented) */
|
|
117
|
+
SessionEnd?: HookMatcher[];
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Hook execution context
|
|
121
|
+
* Internal state passed between hook execution methods
|
|
122
|
+
*/
|
|
123
|
+
export interface HookExecutionContext {
|
|
124
|
+
/** Session ID */
|
|
125
|
+
sessionId: string;
|
|
126
|
+
/** Working directory */
|
|
127
|
+
workingDir: string;
|
|
128
|
+
/** Transcript file path */
|
|
129
|
+
transcriptPath: string;
|
|
130
|
+
/** Permission mode */
|
|
131
|
+
permissionMode: string;
|
|
132
|
+
/** Agent name */
|
|
133
|
+
agentName?: string;
|
|
134
|
+
/** Profile name */
|
|
135
|
+
profileName?: string;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Aggregated result from multiple hooks
|
|
139
|
+
*/
|
|
140
|
+
export interface AggregatedHookResult extends HookResult {
|
|
141
|
+
/** Number of hooks executed */
|
|
142
|
+
hooksExecuted: number;
|
|
143
|
+
/** Number of hooks that succeeded */
|
|
144
|
+
hooksSucceeded: number;
|
|
145
|
+
/** Number of hooks that failed */
|
|
146
|
+
hooksFailed: number;
|
|
147
|
+
/** Individual hook errors (non-blocking) */
|
|
148
|
+
errors?: Array<{
|
|
149
|
+
hook: string;
|
|
150
|
+
error: string;
|
|
151
|
+
}>;
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/hooks/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook System Types
|
|
3
|
+
*
|
|
4
|
+
* Defines interfaces and types for the CodeMie hooks system.
|
|
5
|
+
* Hooks allow users to execute custom shell commands or LLM-based prompts
|
|
6
|
+
* at key lifecycle points (PreToolUse, PostToolUse, UserPromptSubmit, Stop).
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/hooks/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import type { SessionMetric, MetricsSyncResponse } from './metrics-types.js';
|
|
18
18
|
import type { Session } from '../../../../../../agents/core/session/types.js';
|
|
19
|
+
import type { MCPConfigSummary } from '../../../../../../agents/core/types.js';
|
|
19
20
|
/**
|
|
20
21
|
* Session start status object with reason
|
|
21
22
|
*/
|
|
@@ -74,10 +75,11 @@ export declare class MetricsSender {
|
|
|
74
75
|
* @param workingDirectory - Current working directory (for git branch detection)
|
|
75
76
|
* @param status - Session start status object with status and optional reason
|
|
76
77
|
* @param error - Optional error information (required if status=failed)
|
|
78
|
+
* @param mcpSummary - Optional MCP configuration summary
|
|
77
79
|
*/
|
|
78
80
|
sendSessionStart(session: Pick<Session, 'sessionId' | 'agentName' | 'provider' | 'project' | 'startTime' | 'workingDirectory'> & {
|
|
79
81
|
model?: string;
|
|
80
|
-
}, workingDirectory: string, status?: SessionStartStatus, error?: SessionError): Promise<MetricsSyncResponse>;
|
|
82
|
+
}, workingDirectory: string, status?: SessionStartStatus, error?: SessionError, mcpSummary?: MCPConfigSummary): Promise<MetricsSyncResponse>;
|
|
81
83
|
/**
|
|
82
84
|
* Send session end metric
|
|
83
85
|
* Called when agent process exits
|
|
@@ -85,12 +87,13 @@ export declare class MetricsSender {
|
|
|
85
87
|
* @param session - Session metadata (with optional model)
|
|
86
88
|
* @param workingDirectory - Current working directory (for git branch detection)
|
|
87
89
|
* @param status - Session end status object with status and optional reason
|
|
88
|
-
* @param durationMs -
|
|
90
|
+
* @param durationMs - Wall-clock session duration in milliseconds
|
|
89
91
|
* @param error - Optional error information (for failed sessions)
|
|
92
|
+
* @param activeDurationMs - Optional active duration excluding idle time
|
|
90
93
|
*/
|
|
91
94
|
sendSessionEnd(session: Pick<Session, 'sessionId' | 'agentName' | 'provider' | 'project' | 'startTime' | 'workingDirectory'> & {
|
|
92
95
|
model?: string;
|
|
93
|
-
}, workingDirectory: string, status: SessionEndStatus, durationMs: number, error?: SessionError): Promise<MetricsSyncResponse>;
|
|
96
|
+
}, workingDirectory: string, status: SessionEndStatus, durationMs: number, error?: SessionError, activeDurationMs?: number): Promise<MetricsSyncResponse>;
|
|
94
97
|
/**
|
|
95
98
|
* Send aggregated session metric
|
|
96
99
|
* Called by SSO metrics sync plugin for periodic sync
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics-api-client.d.ts","sourceRoot":"","sources":["../../../../../../../src/providers/plugins/sso/session/processors/metrics/metrics-api-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAoB,mBAAmB,EAAmB,MAAM,oBAAoB,CAAC;AAChH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gDAAgD,CAAC;
|
|
1
|
+
{"version":3,"file":"metrics-api-client.d.ts","sourceRoot":"","sources":["../../../../../../../src/providers/plugins/sso/session/processors/metrics/metrics-api-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAoB,mBAAmB,EAAmB,MAAM,oBAAoB,CAAC;AAChH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gDAAgD,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAmJ/E;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,aAAa,CAAC;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,qBAAa,aAAa;IACxB;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,CAAC,oBAAoB,+BAA+B;IACnE,MAAM,CAAC,QAAQ,CAAC,kBAAkB,6BAA6B;IAE/D,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,oBAAoB;IAgBzC;;;;;;;;;OASG;IACG,gBAAgB,CACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,kBAAkB,CAAC,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAClI,gBAAgB,EAAE,MAAM,EACxB,MAAM,GAAE,kBAA0C,EAClD,KAAK,CAAC,EAAE,YAAY,EACpB,UAAU,CAAC,EAAE,gBAAgB,GAC5B,OAAO,CAAC,mBAAmB,CAAC;IA+F/B;;;;;;;;;;OAUG;IACG,cAAc,CAClB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,kBAAkB,CAAC,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAClI,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,gBAAgB,EACxB,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,YAAY,EACpB,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,mBAAmB,CAAC;IAuF/B;;;;;OAKG;IACG,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAkC5E;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;CAU1B"}
|
|
@@ -179,8 +179,9 @@ export class MetricsSender {
|
|
|
179
179
|
* @param workingDirectory - Current working directory (for git branch detection)
|
|
180
180
|
* @param status - Session start status object with status and optional reason
|
|
181
181
|
* @param error - Optional error information (required if status=failed)
|
|
182
|
+
* @param mcpSummary - Optional MCP configuration summary
|
|
182
183
|
*/
|
|
183
|
-
async sendSessionStart(session, workingDirectory, status = { status: 'started' }, error) {
|
|
184
|
+
async sendSessionStart(session, workingDirectory, status = { status: 'started' }, error, mcpSummary) {
|
|
184
185
|
// Detect git branch
|
|
185
186
|
const branch = await detectGitBranch(workingDirectory);
|
|
186
187
|
// Extract repository from working directory
|
|
@@ -215,7 +216,18 @@ export class MetricsSender {
|
|
|
215
216
|
count: 1,
|
|
216
217
|
// Lifecycle status
|
|
217
218
|
status: status.status,
|
|
218
|
-
...(status.reason && { reason: status.reason })
|
|
219
|
+
...(status.reason && { reason: status.reason }),
|
|
220
|
+
// MCP Configuration (only if provided)
|
|
221
|
+
...(mcpSummary && {
|
|
222
|
+
mcp_total_servers: mcpSummary.totalServers,
|
|
223
|
+
mcp_local_servers: mcpSummary.localServers,
|
|
224
|
+
mcp_project_servers: mcpSummary.projectServers,
|
|
225
|
+
mcp_user_servers: mcpSummary.userServers,
|
|
226
|
+
mcp_server_names: mcpSummary.serverNames,
|
|
227
|
+
mcp_local_server_names: mcpSummary.localServerNames,
|
|
228
|
+
mcp_project_server_names: mcpSummary.projectServerNames,
|
|
229
|
+
mcp_user_server_names: mcpSummary.userServerNames
|
|
230
|
+
})
|
|
219
231
|
};
|
|
220
232
|
// Add error details if session start failed
|
|
221
233
|
if (status.status === 'failed' && error) {
|
|
@@ -257,10 +269,11 @@ export class MetricsSender {
|
|
|
257
269
|
* @param session - Session metadata (with optional model)
|
|
258
270
|
* @param workingDirectory - Current working directory (for git branch detection)
|
|
259
271
|
* @param status - Session end status object with status and optional reason
|
|
260
|
-
* @param durationMs -
|
|
272
|
+
* @param durationMs - Wall-clock session duration in milliseconds
|
|
261
273
|
* @param error - Optional error information (for failed sessions)
|
|
274
|
+
* @param activeDurationMs - Optional active duration excluding idle time
|
|
262
275
|
*/
|
|
263
|
-
async sendSessionEnd(session, workingDirectory, status, durationMs, error) {
|
|
276
|
+
async sendSessionEnd(session, workingDirectory, status, durationMs, error, activeDurationMs) {
|
|
264
277
|
// Detect git branch
|
|
265
278
|
const branch = await detectGitBranch(workingDirectory);
|
|
266
279
|
// Extract repository from working directory
|
|
@@ -291,6 +304,9 @@ export class MetricsSender {
|
|
|
291
304
|
total_lines_removed: 0,
|
|
292
305
|
// Session metadata
|
|
293
306
|
session_duration_ms: durationMs,
|
|
307
|
+
...(activeDurationMs !== undefined && { active_duration_ms: activeDurationMs }),
|
|
308
|
+
start_time: session.startTime,
|
|
309
|
+
end_time: Date.now(),
|
|
294
310
|
had_errors: status.status === 'failed',
|
|
295
311
|
count: 1,
|
|
296
312
|
// Lifecycle status
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics-api-client.js","sourceRoot":"","sources":["../../../../../../../src/providers/plugins/sso/session/processors/metrics/metrics-api-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE;;;;;;;GAOG;AACH,MAAM,gBAAgB;IACH,MAAM,CAA6B;IAEpD,YAAY,MAAwB;QAClC,IAAI,CAAC,MAAM,GAAG;YACZ,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;YAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;YAC3B,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,KAAK;YAChC,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,CAAC;YACxC,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;YACrD,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,SAAS;YACvE,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,aAAa;SAC/C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAqB;QACpC,IAAI,SAA4B,CAAC;QAEjC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,CAAC;YACtE,IAAI,CAAC;gBACH,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;oBAChB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;oBAC3D,MAAM,CAAC,KAAK,CAAC,oCAAoC,OAAO,UAAU,KAAK,IAAI,CAAC,CAAC;oBAC7E,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC1B,CAAC;gBAED,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAExC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,GAAG,KAAc,CAAC;gBAC3B,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5E,MAAM,SAAS,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;gBAClE,MAAM,UAAU,GAAI,KAAa,CAAC,UAAU,CAAC;gBAE7C,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAc,CAAC,EAAE,CAAC;oBACtC,MAAM,CAAC,KAAK,CAAC,2CAA2C,SAAS,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACnI,MAAM,KAAK,CAAC;gBACd,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,8BAA8B,OAAO,GAAG,CAAC,YAAY,SAAS,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9I,CAAC;QACH,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,MAAM,CAAC,aAAa,aAAa,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9F,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,MAAqB;QAC7C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,iBAAiB,CAAC,OAAO,EAAE,CAAC;QACjE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAEpC,MAAM,CAAC,KAAK,CAAC,wCAAwC,GAAG,UAAU,IAAI,EAAE,CAAC,CAAC;QAE1E,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,kBAAkB;YAClC,YAAY,EAAE,eAAe,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YAClD,eAAe,EAAE,eAAe,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YACrD,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;SAC3C,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACvB,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAC1C,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC/B,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QAC1C,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE5E,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAChC,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI;gBACJ,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YAEH,YAAY,CAAC,SAAS,CAAC,CAAC;YAExB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA2C,CAAC;YAE5E,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,IAAI,MAAM,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;oBACxC,MAAM,SAAS,GAAG,IAAuB,CAAC;oBAC1C,IAAI,YAAY,GAAG,gBAAgB,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC;oBAC3E,IAAI,SAAS,CAAC,OAAO;wBAAE,YAAY,IAAI,cAAc,SAAS,CAAC,OAAO,EAAE,CAAC;oBACzE,IAAI,SAAS,CAAC,IAAI;wBAAE,YAAY,IAAI,WAAW,SAAS,CAAC,IAAI,EAAE,CAAC;oBAEhE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;oBACrC,KAAa,CAAC,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;oBAC3C,KAAa,CAAC,QAAQ,GAAG,IAAI,CAAC;oBAC/B,MAAM,KAAK,CAAC;gBACd,CAAC;gBAED,MAAM,YAAY,GAAG,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC5E,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,gBAAgB,QAAQ,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC,CAAC;gBAC3E,KAAa,CAAC,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;gBAC3C,KAAa,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC/B,MAAM,KAAK,CAAC;YACd,CAAC;YAED,MAAM,WAAW,GAAG,IAA2B,CAAC;YAChD,MAAM,CAAC,KAAK,CAAC,oCAAoC,GAAG,aAAa,WAAW,CAAC,OAAO,cAAc,WAAW,CAAC,OAAO,GAAG,CAAC,CAAC;YAE1H,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBACzB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,yBAAyB,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;gBACvE,KAAa,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC/B,MAAM,KAAK,CAAC;YACd,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,gDAAgD,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACnF,OAAO,WAAW,CAAC;QAErB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,IAAK,KAAe,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC3C,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;YACpE,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,KAAY;QAC9B,MAAM,UAAU,GAAI,KAAa,CAAC,UAAU,CAAC;QAC7C,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC,CAAE,iBAAiB;QAChD,IAAI,UAAU,IAAI,GAAG,IAAI,UAAU,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC,CAAE,+BAA+B;QAC1F,OAAO,KAAK,CAAC,CAAE,0BAA0B;IAC3C,CAAC;IAEO,KAAK,CAAC,EAAU;QACtB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;CACF;AAsCD;;;GAGG;AACH,MAAM,OAAO,aAAa;IACxB;;;;;;OAMG;IACH,MAAM,CAAU,oBAAoB,GAAG,2BAA2B,CAAC;IACnE,MAAM,CAAU,kBAAkB,GAAG,yBAAyB,CAAC;IAEvD,MAAM,CAAmB;IACzB,MAAM,CAAU;IAChB,OAAO,CAAS;IAExB,YAAY,OAA6B;QACvC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,SAAS,CAAC;QAC5C,MAAM,MAAM,GAAqB;YAC/B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC;QAEF,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,gBAAgB,CACpB,OAAkI,EAClI,gBAAwB,EACxB,SAA6B,EAAE,MAAM,EAAE,SAAS,EAAE,EAClD,KAAoB;QAEpB,oBAAoB;QACpB,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,gBAAgB,CAAC,CAAC;QAEvD,4CAA4C;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;QAE5D,yCAAyC;QACzC,MAAM,UAAU,GAAQ;YACtB,WAAW;YACX,KAAK,EAAE,OAAO,CAAC,SAAS;YACxB,aAAa,EAAE,IAAI,CAAC,OAAO;YAC3B,SAAS,EAAE,OAAO,CAAC,KAAK,IAAI,SAAS,EAAE,sBAAsB;YAC7D,UAAU;YACV,UAAU,EAAE,OAAO,CAAC,SAAS;YAC7B,MAAM,EAAE,MAAM,IAAI,SAAS;YAC3B,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;YAEpD,sCAAsC;YACtC,kBAAkB,EAAE,CAAC;YACrB,kBAAkB,EAAE,CAAC;YACrB,mBAAmB,EAAE,CAAC;YACtB,6BAA6B,EAAE,CAAC;YAChC,2BAA2B,EAAE,CAAC;YAC9B,gBAAgB,EAAE,CAAC;YACnB,qBAAqB,EAAE,CAAC;YACxB,iBAAiB,EAAE,CAAC;YACpB,aAAa,EAAE,CAAC;YAChB,cAAc,EAAE,CAAC;YACjB,aAAa,EAAE,CAAC;YAChB,iBAAiB,EAAE,CAAC;YACpB,mBAAmB,EAAE,CAAC;YAEtB,mBAAmB;YACnB,mBAAmB,EAAE,CAAC;YACtB,UAAU,EAAE,MAAM,CAAC,MAAM,KAAK,QAAQ;YACtC,KAAK,EAAE,CAAC;YAER,mBAAmB;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;SAChD,CAAC;QAEF,4CAA4C;QAC5C,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,EAAE,CAAC;YACxC,UAAU,CAAC,MAAM,GAAG;gBAClB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;aAChF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAkB;YAC5B,IAAI,EAAE,aAAa,CAAC,oBAAoB;YACxC,UAAU;SACX,CAAC;QAEF,oCAAoC;QACpC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,4DAA4D,EAAE;gBACxE,QAAQ,EAAE,kBAAkB;gBAC5B,MAAM,EAAE;oBACN,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,UAAU,EAAE;wBACV,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK;wBAC9B,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,UAAU;wBACxC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;wBAChC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,UAAU;wBACxC,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,GAAG,CAAC,KAAK,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;qBACzC;iBACF;aACF,CAAC,CAAC;YAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,uCAAuC,EAAE,CAAC;QAC7E,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAEtD,MAAM,CAAC,IAAI,CAAC,2CAA2C,EAAE,MAAM,CAAC,CAAC;QAEjE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,cAAc,CAClB,OAAkI,EAClI,gBAAwB,EACxB,MAAwB,EACxB,UAAkB,EAClB,KAAoB;QAEpB,oBAAoB;QACpB,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,gBAAgB,CAAC,CAAC;QAEvD,4CAA4C;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;QAE5D,uCAAuC;QACvC,MAAM,UAAU,GAAQ;YACtB,WAAW;YACX,KAAK,EAAE,OAAO,CAAC,SAAS;YACxB,aAAa,EAAE,IAAI,CAAC,OAAO;YAC3B,SAAS,EAAE,OAAO,CAAC,KAAK,IAAI,SAAS;YACrC,UAAU;YACV,UAAU,EAAE,OAAO,CAAC,SAAS;YAC7B,MAAM,EAAE,MAAM,IAAI,SAAS;YAC3B,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;YAEpD,6DAA6D;YAC7D,kBAAkB,EAAE,CAAC;YACrB,kBAAkB,EAAE,CAAC;YACrB,mBAAmB,EAAE,CAAC;YACtB,6BAA6B,EAAE,CAAC;YAChC,2BAA2B,EAAE,CAAC;YAC9B,gBAAgB,EAAE,CAAC;YACnB,qBAAqB,EAAE,CAAC;YACxB,iBAAiB,EAAE,CAAC;YACpB,aAAa,EAAE,CAAC;YAChB,cAAc,EAAE,CAAC;YACjB,aAAa,EAAE,CAAC;YAChB,iBAAiB,EAAE,CAAC;YACpB,mBAAmB,EAAE,CAAC;YAEtB,mBAAmB;YACnB,mBAAmB,EAAE,UAAU;YAC/B,UAAU,EAAE,MAAM,CAAC,MAAM,KAAK,QAAQ;YACtC,KAAK,EAAE,CAAC;YAER,mBAAmB;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;SAChD,CAAC;QAEF,gDAAgD;QAChD,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,EAAE,CAAC;YACxC,UAAU,CAAC,MAAM,GAAG;gBAClB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;aAChF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAkB;YAC5B,IAAI,EAAE,aAAa,CAAC,oBAAoB;YACxC,UAAU;SACX,CAAC;QAEF,oCAAoC;QACpC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,0DAA0D,EAAE;gBACtE,QAAQ,EAAE,kBAAkB;gBAC5B,MAAM,EAAE;oBACN,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,UAAU,EAAE;wBACV,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK;wBAC9B,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,UAAU;wBACxC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;wBAChC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,UAAU;wBACxC,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,WAAW,EAAE,UAAU;wBACvB,GAAG,CAAC,KAAK,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;qBACzC;iBACF;aACF,CAAC,CAAC;YAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC;QAC3E,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAEtD,MAAM,CAAC,IAAI,CAAC,yCAAyC,EAAE,MAAM,CAAC,CAAC;QAE/D,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,iBAAiB,CAAC,MAAqB;QAC3C,oCAAoC;QACpC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,yDAAyD,EAAE;gBACrE,QAAQ,EAAE,kBAAkB;gBAC5B,MAAM,EAAE;oBACN,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,UAAU,EAAE;wBACV,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK;wBAC9B,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,UAAU;wBACxC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;wBAChC,kBAAkB,EAAE,MAAM,CAAC,UAAU,CAAC,kBAAkB;wBACxD,kBAAkB,EAAE,MAAM,CAAC,UAAU,CAAC,kBAAkB;wBACxD,mBAAmB,EAAE,MAAM,CAAC,UAAU,CAAC,mBAAmB;qBAC3D;iBACF;aACF,CAAC,CAAC;YAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,oCAAoC,EAAE,CAAC;QAC1E,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAEtD,MAAM,CAAC,KAAK,CAAC,8CAA8C,EAAE;YAC3D,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK;YAC9B,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;YAChC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,kBAAkB;YAC7C,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,kBAAkB,GAAG,MAAM,CAAC,UAAU,CAAC,mBAAmB;YACpF,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,UAAU;SACtC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;OAOG;IACK,iBAAiB,CAAC,gBAAwB;QAChD,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEjD,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACzB,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QAC7E,CAAC;QAED,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC;IACpD,CAAC"}
|
|
1
|
+
{"version":3,"file":"metrics-api-client.js","sourceRoot":"","sources":["../../../../../../../src/providers/plugins/sso/session/processors/metrics/metrics-api-client.ts"],"names":[],"mappings":"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"}
|