genaicode 0.13.2 → 0.14.1
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/ai-service/ai-studio.js +2 -0
- package/dist/ai-service/ai-studio.js.map +1 -1
- package/dist/main/common/console-types.d.ts +23 -0
- package/dist/main/common/console-types.js +8 -0
- package/dist/main/common/console-types.js.map +1 -0
- package/dist/main/common/user-actions.d.ts +4 -1
- package/dist/main/common/user-actions.js +10 -0
- package/dist/main/common/user-actions.js.map +1 -1
- package/dist/main/ui/backend/endpoints/console-logs-endpoint.d.ts +1 -0
- package/dist/main/ui/backend/endpoints/console-logs-endpoint.js +19 -0
- package/dist/main/ui/backend/endpoints/console-logs-endpoint.js.map +1 -0
- package/dist/main/ui/backend/endpoints/question-endpoint.js +4 -1
- package/dist/main/ui/backend/endpoints/question-endpoint.js.map +1 -1
- package/dist/main/ui/backend/service.d.ts +3 -2
- package/dist/main/ui/backend/service.js +19 -1
- package/dist/main/ui/backend/service.js.map +1 -1
- package/dist/main/ui/common/api-types.d.ts +2 -0
- package/dist/main/ui/common/api-types.js.map +1 -1
- package/dist/main/ui/frontend/assets/index-5-emJmrg.js +2881 -0
- package/dist/main/ui/frontend/index.html +1 -1
- package/dist/main/ui/user-action-handlers.js +13 -1
- package/dist/main/ui/user-action-handlers.js.map +1 -1
- package/dist/prompt/function-calling.js +4 -0
- package/dist/prompt/function-calling.js.map +1 -1
- package/dist/prompt/function-defs/ask-question.js +4 -38
- package/dist/prompt/function-defs/ask-question.js.map +1 -1
- package/dist/prompt/function-defs/pull-console-logs.d.ts +2 -0
- package/dist/prompt/function-defs/pull-console-logs.js +29 -0
- package/dist/prompt/function-defs/pull-console-logs.js.map +1 -0
- package/dist/prompt/function-defs/structured-question.d.ts +2 -0
- package/dist/prompt/function-defs/structured-question.js +64 -0
- package/dist/prompt/function-defs/structured-question.js.map +1 -0
- package/dist/prompt/steps/step-ask-question/ask-question-handler.d.ts +2 -1
- package/dist/prompt/steps/step-ask-question/ask-question-handler.js +1 -0
- package/dist/prompt/steps/step-ask-question/ask-question-handler.js.map +1 -1
- package/dist/prompt/steps/step-ask-question/handlers/handle-pull-console-logs.d.ts +2 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-pull-console-logs.js +174 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-pull-console-logs.js.map +1 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-structured-question.d.ts +1 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-structured-question.js +72 -0
- package/dist/prompt/steps/step-ask-question/handlers/handle-structured-question.js.map +1 -0
- package/dist/prompt/steps/step-ask-question/step-ask-question-types.d.ts +44 -3
- package/dist/prompt/steps/step-ask-question/step-ask-question.d.ts +7 -5
- package/dist/prompt/steps/step-ask-question/step-ask-question.js +7 -5
- package/dist/prompt/steps/step-ask-question/step-ask-question.js.map +1 -1
- package/dist/prompt/systemprompt.js +29 -1
- package/dist/prompt/systemprompt.js.map +1 -1
- package/dist/vite-genaicode/console-interceptor.d.ts +40 -0
- package/dist/vite-genaicode/console-interceptor.js +85 -0
- package/dist/vite-genaicode/console-interceptor.js.map +1 -0
- package/dist/vite-genaicode/vite-genaicode-frontend.js +11 -0
- package/dist/vite-genaicode/vite-genaicode-frontend.js.map +1 -1
- package/dist/vite-genaicode/vite-genaicode-plugin.d.ts +1 -0
- package/dist/vite-genaicode/vite-genaicode-plugin.js +3 -1
- package/dist/vite-genaicode/vite-genaicode-plugin.js.map +1 -1
- package/dist/vite-genaicode/vite-genaicode-types.d.ts +2 -0
- package/dist/vite-genaicode/vite-genaicode-types.js.map +1 -1
- package/package.json +3 -5
- package/dist/main/ui/frontend/assets/index-D7POc8gK.js +0 -2694
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<meta name="keywords" content="GenAIcode, AI, code generation, programming" />
|
|
8
8
|
<title>GenAIcode - AI-Powered Code Generation</title>
|
|
9
9
|
<link rel="icon" href="/assets/favicon-DvroFOpS.png" type="image/png" />
|
|
10
|
-
<script type="module" crossorigin src="/assets/index-
|
|
10
|
+
<script type="module" crossorigin src="/assets/index-5-emJmrg.js"></script>
|
|
11
11
|
<link rel="stylesheet" crossorigin href="/assets/index-5QDg_0vR.css">
|
|
12
12
|
</head>
|
|
13
13
|
<body data-security-token="__SECURITY_TOKEN__">
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { registerConfirmHandler, registerInputHandler, registerSecretHandler } from '../common/user-actions.js';
|
|
1
|
+
import { registerConfirmHandler, registerInputHandler, registerSecretHandler, registerStructuredQuestionHandler, } from '../common/user-actions.js';
|
|
2
2
|
export function registerUserActionHandlers(service) {
|
|
3
3
|
registerInputHandler((_, message, promptActionType) => service.askQuestion(message, {
|
|
4
4
|
promptActionType,
|
|
@@ -18,5 +18,17 @@ export function registerUserActionHandlers(service) {
|
|
|
18
18
|
});
|
|
19
19
|
return res?.answer || undefined;
|
|
20
20
|
});
|
|
21
|
+
registerStructuredQuestionHandler(async (form) => {
|
|
22
|
+
const questionId = Date.now().toString();
|
|
23
|
+
const currentQuestion = await service.getCurrentQuestion();
|
|
24
|
+
// Set up the structured question
|
|
25
|
+
if (!currentQuestion || currentQuestion.id !== questionId) {
|
|
26
|
+
return await service.askStructuredQuestion('Please complete the form', form);
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
submitted: false,
|
|
30
|
+
values: {},
|
|
31
|
+
};
|
|
32
|
+
});
|
|
21
33
|
}
|
|
22
34
|
//# sourceMappingURL=user-action-handlers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-action-handlers.js","sourceRoot":"","sources":["../../../src/main/ui/user-action-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"user-action-handlers.js","sourceRoot":"","sources":["../../../src/main/ui/user-action-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,iCAAiC,GAClC,MAAM,2BAA2B,CAAC;AAGnC,MAAM,UAAU,0BAA0B,CAAC,OAAgB;IACzD,oBAAoB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,CACpD,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE;QAC3B,gBAAgB;KACjB,CAAC,CACH,CAAC;IACF,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACrC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE;YACvD,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,YAAY,EAAE,KAAK,CAAC,YAAY;SACjC,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE;YAC5C,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;QACH,OAAO,GAAG,EAAE,MAAM,IAAI,SAAS,CAAC;IAClC,CAAC,CAAC,CAAC;IACH,iCAAiC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QACzC,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAE3D,iCAAiC;QACjC,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC;YAC1D,OAAO,MAAM,OAAO,CAAC,qBAAqB,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;QAC/E,CAAC;QAED,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,EAAE;SACX,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -26,6 +26,8 @@ import { runContainerTaskDef } from './function-defs/run-container-task.js';
|
|
|
26
26
|
import { getRunProjectCommandDef } from './function-defs/run-project-command.js';
|
|
27
27
|
import { webSearchDef } from './function-defs/web-search.js';
|
|
28
28
|
import { getRunBashCommandDef } from './function-defs/run-bash-command.js';
|
|
29
|
+
import { pullConsoleLogs } from './function-defs/pull-console-logs.js';
|
|
30
|
+
import { structuredQuestionDef } from './function-defs/structured-question.js';
|
|
29
31
|
/**
|
|
30
32
|
* Function definitions for function calling feature
|
|
31
33
|
*/
|
|
@@ -50,6 +52,7 @@ export function getFunctionDefs() {
|
|
|
50
52
|
performAnalysis,
|
|
51
53
|
analysisResult,
|
|
52
54
|
pullAppContext,
|
|
55
|
+
pullConsoleLogs,
|
|
53
56
|
pushAppContext,
|
|
54
57
|
genaicodeHelpDef,
|
|
55
58
|
reasoningInference,
|
|
@@ -69,6 +72,7 @@ export function getFunctionDefs() {
|
|
|
69
72
|
getRunProjectCommandDef(),
|
|
70
73
|
getRunBashCommandDef(),
|
|
71
74
|
webSearchDef,
|
|
75
|
+
structuredQuestionDef,
|
|
72
76
|
...getOperationDefs(),
|
|
73
77
|
].map((fd) => {
|
|
74
78
|
if (!disableExplanations &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function-calling.js","sourceRoot":"","sources":["../../src/prompt/function-calling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,UAAU,EACV,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,WAAW,EACX,oBAAoB,GACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AACxG,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC3F,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"function-calling.js","sourceRoot":"","sources":["../../src/prompt/function-calling.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,8 +37,7 @@ ${pluginDescriptions}
|
|
|
37
37
|
- genaicodeHelp: Use to provide help to the user on how to use GenAIcode. The response will be grounded in the content of GenAIcode's documentation.
|
|
38
38
|
- reasoningInference: Use to perform an inference on a reasoning model. Should be used when a in-depth reasoning is needed for a specific problem.
|
|
39
39
|
${rcConfig.featuresEnabled?.containerTask ? '- runContainerTask: Use to perform a complex task inside a Docker container. Before task is started, the user will be asked for confirmation. During the task, the user will be kept informed about the progress and any issues that arise. The user can also interrupt the task, and provide input if needed. User can be asked for feedback on the task at any time.' : ''}
|
|
40
|
-
|
|
41
|
-
This value must be derived from the value of \`decisionMakingProcess\` parameter, and must be one of the above values.`;
|
|
40
|
+
`;
|
|
42
41
|
}
|
|
43
42
|
export function getActionTypeOptions() {
|
|
44
43
|
return [
|
|
@@ -69,6 +68,8 @@ export function getActionTypeOptions() {
|
|
|
69
68
|
'reasoningInference',
|
|
70
69
|
'conversationGraph',
|
|
71
70
|
'compoundAction',
|
|
71
|
+
'pullConsoleLogs',
|
|
72
|
+
'structuredQuestion',
|
|
72
73
|
];
|
|
73
74
|
}
|
|
74
75
|
/**
|
|
@@ -80,8 +81,6 @@ export function getActionTypeOptions() {
|
|
|
80
81
|
export const getAskQuestionDef = () => ({
|
|
81
82
|
name: 'askQuestion',
|
|
82
83
|
description: `Use this function to interact with the user for various purposes.
|
|
83
|
-
The \`decisionMakingProcess\` must be provided as first parameter to ensure clarity in decision-making, and impact on selection of \`actionType\` and \`message\`.
|
|
84
|
-
The \`decisionMakingProcess\` value must contain the following sections: Contextual Analysis, Options Evaluation, Decision Justification, Minimal Action Selection, Evaluation of Action Choice
|
|
85
84
|
The \`actionType\` must be chosen based on the decision-making process, and the desired outcome.
|
|
86
85
|
The \`message\` property must align with the chosen \`actionType\`.
|
|
87
86
|
|
|
@@ -92,39 +91,6 @@ The \`message\` property must align with the chosen \`actionType\`.
|
|
|
92
91
|
parameters: {
|
|
93
92
|
type: 'object',
|
|
94
93
|
properties: {
|
|
95
|
-
decisionMakingProcess: {
|
|
96
|
-
type: 'string',
|
|
97
|
-
description: `A detailed reasoning framework describing how you chose the action.
|
|
98
|
-
The decisionMakingProcess value **MUST** be provided in the following **EXACT** format:
|
|
99
|
-
|
|
100
|
-
\`\`\`
|
|
101
|
-
1. **Contextual Analysis**:
|
|
102
|
-
Assess the current information, including available permissions,
|
|
103
|
-
the current context, and task requirements. Identify any missing elements
|
|
104
|
-
that are critical to task completion.
|
|
105
|
-
|
|
106
|
-
2. **Options Evaluation**:
|
|
107
|
-
For every action type think how this action can help in the current context. Provide reasoning for each action type in such format:
|
|
108
|
-
\`\`\`
|
|
109
|
-
${getActionTypeOptions()
|
|
110
|
-
.map((actionType) => ` - ${actionType}: <reasoning>`)
|
|
111
|
-
.join('\n')}
|
|
112
|
-
\`\`\`
|
|
113
|
-
|
|
114
|
-
3. **Decision Justification**:
|
|
115
|
-
State the reasoning for the proposed action, considering whether planning,
|
|
116
|
-
clarification, or a direct action is required. If there's any ambiguity,
|
|
117
|
-
prefer a confirmatory action (e.g., "confirmCodeGeneration").
|
|
118
|
-
|
|
119
|
-
4. **Minimal Action Selection**:
|
|
120
|
-
Determine the minimal action that can make progress toward the task goal.
|
|
121
|
-
Avoid requesting unnecessary permissions or context that isn't strictly needed.
|
|
122
|
-
|
|
123
|
-
5. **Evaluation of Action Choice**:
|
|
124
|
-
Double-check if the selected action aligns with the task requirements
|
|
125
|
-
and the user-provided constraints.
|
|
126
|
-
\`\`\``,
|
|
127
|
-
},
|
|
128
94
|
actionType: {
|
|
129
95
|
type: 'string',
|
|
130
96
|
enum: getActionTypeOptions(),
|
|
@@ -135,7 +101,7 @@ ${getActionTypeOptions()
|
|
|
135
101
|
description: 'The message to display to the user.',
|
|
136
102
|
},
|
|
137
103
|
},
|
|
138
|
-
required: ['
|
|
104
|
+
required: ['actionType', 'message'],
|
|
139
105
|
},
|
|
140
106
|
});
|
|
141
107
|
// sendMessage
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask-question.js","sourceRoot":"","sources":["../../../src/prompt/function-defs/ask-question.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,sCAAsC,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAElH,SAAS,wBAAwB;IAC/B,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,sCAAsC,EAAE,CAAC,OAAO,EAAE,CAAC;SACtF,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,MAAM,UAAU,KAAK,WAAW,EAAE,CAAC;SACtE,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO;;;;;;;;;;;;EAYP,QAAQ,CAAC,eAAe,EAAE,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,6HAA6H,CAAC,CAAC,CAAC,EAAE;;;;;;;;;EAUnL,QAAQ,CAAC,eAAe,EAAE,UAAU;QAClC,CAAC,CAAC;iKAC2J;QAC7J,CAAC,CAAC,EACN;;;0IAG0I,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;EAE9L,kBAAkB;;;EAGlB,QAAQ,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC,wWAAwW,CAAC,CAAC,CAAC,EAAE
|
|
1
|
+
{"version":3,"file":"ask-question.js","sourceRoot":"","sources":["../../../src/prompt/function-defs/ask-question.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,sCAAsC,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAElH,SAAS,wBAAwB;IAC/B,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,sCAAsC,EAAE,CAAC,OAAO,EAAE,CAAC;SACtF,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,MAAM,UAAU,KAAK,WAAW,EAAE,CAAC;SACtE,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO;;;;;;;;;;;;EAYP,QAAQ,CAAC,eAAe,EAAE,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,6HAA6H,CAAC,CAAC,CAAC,EAAE;;;;;;;;;EAUnL,QAAQ,CAAC,eAAe,EAAE,UAAU;QAClC,CAAC,CAAC;iKAC2J;QAC7J,CAAC,CAAC,EACN;;;0IAG0I,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;EAE9L,kBAAkB;;;EAGlB,QAAQ,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC,wWAAwW,CAAC,CAAC,CAAC,EAAE;CACxZ,CAAC;AACF,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO;QACL,aAAa;QACb,eAAe;QACf,YAAY;QACZ,YAAY;QACZ,iBAAiB;QACjB,oBAAoB;QACpB,qBAAqB;QACrB,mBAAmB;QACnB,4BAA4B;QAC5B,GAAG,CAAC,QAAQ,CAAC,eAAe,EAAE,UAAU,KAAK,KAAK,CAAC,CAAC,CAAE,CAAC,mBAAmB,CAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3F,wBAAwB;QACxB,qBAAqB;QACrB,oBAAoB;QACpB,YAAY;QACZ,WAAW;QACX,uBAAuB;QACvB,iBAAiB;QACjB,uBAAuB;QACvB,GAAG,CAAC,QAAQ,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC,CAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QAChG,mBAAmB;QACnB,gBAAgB;QAChB,GAAG,CAAC,QAAQ,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,CAAE,CAAC,kBAAkB,CAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QACnF,GAAG,KAAK,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,IAAI,EAAE,CAAC;QACnD,eAAe;QACf,oBAAoB;QACpB,mBAAmB;QACnB,gBAAgB;QAChB,iBAAiB;QACjB,oBAAoB;KACZ,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAgB,EAAE,CAAC,CAAC;IACnD,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE;;;;;;;GAOZ;IACD,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,oBAAoB,EAAE;gBAC5B,WAAW,EAAE,wBAAwB,EAAE;aACxC;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,qCAAqC;aACnD;SACF;QACD,QAAQ,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC;KACpC;CACF,CAAC,CAAC;AAEH,cAAc;AACd,MAAM,CAAC,MAAM,WAAW,GAAgB;IACtC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,kDAAkD;IAC/D,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,qCAAqC;aACnD;SACF;QACD,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;CACF,CAAC;AAEF,sBAAsB;AACtB,MAAM,CAAC,MAAM,mBAAmB,GAAgB;IAC9C,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,2FAA2F;IACxG,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;iBACf;gBACD,SAAS,EAAE,CAAC;gBACZ,WAAW,EAAE,iEAAiE;aAC/E;SACF;QACD,QAAQ,EAAE,CAAC,WAAW,CAAC;KACxB;CACF,CAAC;AAEF,wBAAwB;AACxB,MAAM,CAAC,MAAM,qBAAqB,GAAgB;IAChD,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EACT,kJAAkJ;IACpJ,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;iBACf;gBACD,SAAS,EAAE,CAAC;gBACZ,WAAW,EAAE,0EAA0E;aACxF;YACD,cAAc,EAAE;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,0EAA0E;aACxF;SACF;QACD,QAAQ,EAAE,CAAC,WAAW,EAAE,gBAAgB,CAAC;KAC1C;CACF,CAAC;AAEF,yBAAyB;AACzB,MAAM,CAAC,MAAM,sBAAsB,GAAgB;IACjD,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EAAE,mGAAmG;IAChH,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;iBACf;gBACD,SAAS,EAAE,CAAC;gBACZ,WAAW,EAAE,6DAA6D;aAC3E;SACF;QACD,QAAQ,EAAE,CAAC,WAAW,CAAC;KACxB;CACF,CAAC;AAEF,sBAAsB;AACtB,MAAM,CAAC,MAAM,mBAAmB,GAAgB;IAC9C,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACT,oHAAoH;IACtH,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,8DAA8D;aAC5E;SACF;QACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;KACrB;CACF,CAAC;AAEF,qBAAqB;AACrB,MAAM,CAAC,MAAM,kBAAkB,GAAgB;IAC7C,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,wGAAwG;IACrH,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,oBAAoB,EAAE;gBACpB,WAAW,EAAE,2CAA2C;gBACxD,IAAI,EAAE,SAAS;aAChB;YACD,eAAe,EAAE;gBACf,WAAW,EAAE,qCAAqC;gBAClD,IAAI,EAAE,SAAS;aAChB;YACD,eAAe,EAAE;gBACf,WAAW,EAAE,qCAAqC;gBAClD,IAAI,EAAE,SAAS;aAChB;YACD,aAAa,EAAE;gBACb,WAAW,EAAE,mCAAmC;gBAChD,IAAI,EAAE,SAAS;aAChB;YACD,YAAY,EAAE;gBACZ,WAAW,EAAE,0FAA0F;gBACvG,IAAI,EAAE,SAAS;aAChB;YACD,YAAY,EAAE;gBACZ,WAAW,EAAE,wCAAwC;gBACrD,IAAI,EAAE,SAAS;aAChB;SACF;QACD,QAAQ,EAAE;YACR,sBAAsB;YACtB,iBAAiB;YACjB,iBAAiB;YACjB,eAAe;YACf,cAAc;YACd,cAAc;SACf;KACF;CACF,CAAC;AAEF,aAAa;AACb,MAAM,CAAC,MAAM,UAAU,GAAgB;IACrC,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,gFAAgF;IAC7F,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,yBAAyB;aACvC;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,yCAAyC;aACvD;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,yCAAyC;aACvD;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,oDAAoD;aAClE;YACD,iBAAiB,EAAE;gBACjB,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,iDAAiD;aAC/D;YACD,aAAa,EAAE;gBACb,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,wCAAwC;aACtD;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,mDAAmD;aACjE;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,wEAAwE;aACtF;SACF;QACD,QAAQ,EAAE,CAAC,OAAO,CAAC;KACpB;CACF,CAAC;AAEF,iBAAiB;AACjB,MAAM,CAAC,MAAM,cAAc,GAAgB;IACzC,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,uFAAuF;IACpG,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,GAAG,EAAE;gBACH,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,2CAA2C;aACzD;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,oDAAoD;aAClE;SACF;QACD,QAAQ,EAAE,CAAC,KAAK,CAAC;KAClB;CACF,CAAC;AAEF,iBAAiB;AACjB,MAAM,CAAC,MAAM,cAAc,GAAgB;IACzC,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,wFAAwF;IACrG,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,GAAG,EAAE;gBACH,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,yCAAyC;aACvD;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,sEAAsE;aACpF;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kDAAkD;aAChE;SACF;QACD,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;KAC3B;CACF,CAAC;AAEF,oBAAoB;AACpB,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAC/C,IAAI,EAAE,mBAAmB;IACzB,WAAW,EACT,6NAA6N;IAC/N,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,CAAC;gBACtF,WAAW,EAAE;;2EAEsD;aACpE;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,qGAAqG;aACxG;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,+DAA+D;aAC7E;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kEAAkE;aAChF;YACD,gBAAgB,EAAE;gBAChB,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,gFAAgF;aAC9F;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,gEAAgE;aAC9E;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,kEAAkE;aAChF;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,gFAAgF;aAC9F;SACF;QACD,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;CACF,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export const pullConsoleLogs = {
|
|
2
|
+
name: 'pullConsoleLogs',
|
|
3
|
+
description: 'Retrieves captured console logs from the application.',
|
|
4
|
+
parameters: {
|
|
5
|
+
type: 'object',
|
|
6
|
+
properties: {
|
|
7
|
+
mode: {
|
|
8
|
+
type: 'string',
|
|
9
|
+
description: 'The mode for retrieving logs.',
|
|
10
|
+
enum: ['suffix', 'prefix', 'summary'],
|
|
11
|
+
},
|
|
12
|
+
prompt: {
|
|
13
|
+
type: 'string',
|
|
14
|
+
description: "An optional prompt to include when retrieving the logs. (for 'summary' mode)",
|
|
15
|
+
},
|
|
16
|
+
lines: {
|
|
17
|
+
type: 'number',
|
|
18
|
+
description: "Number of log lines to retrieve (for 'prefix' and 'suffix' modes).",
|
|
19
|
+
},
|
|
20
|
+
level: {
|
|
21
|
+
type: 'string',
|
|
22
|
+
description: 'Filter logs by a specific level.',
|
|
23
|
+
enum: ['log', 'info', 'warn', 'error', 'debug', 'trace', 'assert'],
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
required: ['mode'],
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=pull-console-logs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pull-console-logs.js","sourceRoot":"","sources":["../../../src/prompt/function-defs/pull-console-logs.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAgB;IAC1C,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,uDAAuD;IACpE,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,+BAA+B;gBAC5C,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC;aACtC;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,8EAA8E;aAC5F;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,oEAAoE;aAClF;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kCAAkC;gBAC/C,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC;aACnE;SACF;QACD,QAAQ,EAAE,CAAC,MAAM,CAAC;KACnB;CACF,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
export const structuredQuestionDef = {
|
|
2
|
+
name: 'structuredQuestion',
|
|
3
|
+
description: 'Present a structured form with multiple input types (checkboxes, radio buttons, selects, text fields, etc.) to collect user input.',
|
|
4
|
+
parameters: {
|
|
5
|
+
type: 'object',
|
|
6
|
+
properties: {
|
|
7
|
+
message: {
|
|
8
|
+
type: 'string',
|
|
9
|
+
description: 'Main question/prompt for the user',
|
|
10
|
+
},
|
|
11
|
+
form: {
|
|
12
|
+
type: 'object',
|
|
13
|
+
properties: {
|
|
14
|
+
title: { type: 'string' },
|
|
15
|
+
description: { type: 'string' },
|
|
16
|
+
fields: {
|
|
17
|
+
type: 'array',
|
|
18
|
+
items: {
|
|
19
|
+
type: 'object',
|
|
20
|
+
properties: {
|
|
21
|
+
id: { type: 'string' },
|
|
22
|
+
label: { type: 'string' },
|
|
23
|
+
type: {
|
|
24
|
+
type: 'string',
|
|
25
|
+
enum: ['text', 'checkbox', 'radio', 'select', 'textarea', 'number', 'email'],
|
|
26
|
+
},
|
|
27
|
+
required: { type: 'boolean' },
|
|
28
|
+
placeholder: { type: 'string' },
|
|
29
|
+
options: {
|
|
30
|
+
type: 'array',
|
|
31
|
+
items: {
|
|
32
|
+
type: 'object',
|
|
33
|
+
properties: {
|
|
34
|
+
value: { type: 'string' },
|
|
35
|
+
label: { type: 'string' },
|
|
36
|
+
},
|
|
37
|
+
required: ['value', 'label'],
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
defaultValue: {
|
|
41
|
+
oneOf: [{ type: 'string' }, { type: 'array', items: { type: 'string' } }],
|
|
42
|
+
},
|
|
43
|
+
validation: {
|
|
44
|
+
type: 'object',
|
|
45
|
+
properties: {
|
|
46
|
+
pattern: { type: 'string' },
|
|
47
|
+
minLength: { type: 'number' },
|
|
48
|
+
maxLength: { type: 'number' },
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
required: ['id', 'label', 'type'],
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
submitLabel: { type: 'string' },
|
|
56
|
+
cancelLabel: { type: 'string' },
|
|
57
|
+
},
|
|
58
|
+
required: ['title', 'fields'],
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
required: ['message', 'form'],
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=structured-question.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structured-question.js","sourceRoot":"","sources":["../../../src/prompt/function-defs/structured-question.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,qBAAqB,GAAgB;IAChD,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EACT,oIAAoI;IACtI,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,mCAAmC;aACjD;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC/B,MAAM,EAAE;wBACN,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gCACtB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gCACzB,IAAI,EAAE;oCACJ,IAAI,EAAE,QAAQ;oCACd,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC;iCAC7E;gCACD,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gCAC7B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gCAC/B,OAAO,EAAE;oCACP,IAAI,EAAE,OAAO;oCACb,KAAK,EAAE;wCACL,IAAI,EAAE,QAAQ;wCACd,UAAU,EAAE;4CACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4CACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;yCAC1B;wCACD,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;qCAC7B;iCACF;gCACD,YAAY,EAAE;oCACZ,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC;iCAC1E;gCACD,UAAU,EAAE;oCACV,IAAI,EAAE,QAAQ;oCACd,UAAU,EAAE;wCACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wCAC3B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wCAC7B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qCAC9B;iCACF;6BACF;4BACD,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC;yBAClC;qBACF;oBACD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC/B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAChC;gBACD,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;aAC9B;SACF;QACD,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;KAC9B;CACF,CAAC"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import { ActionHandler, ActionType } from './step-ask-question-types';
|
|
1
|
+
import { ActionHandler, ActionType } from './step-ask-question-types.js';
|
|
2
|
+
import './handlers/handle-structured-question.js';
|
|
2
3
|
export declare function getActionHandler(actionType: ActionType): ActionHandler;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { getRegisteredActionHandlers } from '../../../main/plugin-loader.js';
|
|
2
2
|
import { handlers } from './step-ask-question-handlers.js';
|
|
3
|
+
import './handlers/handle-structured-question.js';
|
|
3
4
|
export function getActionHandler(actionType) {
|
|
4
5
|
// First, check if there's a plugin-provided handler for this action type
|
|
5
6
|
const pluginHandler = getRegisteredActionHandlers().get(actionType);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask-question-handler.js","sourceRoot":"","sources":["../../../../src/prompt/steps/step-ask-question/ask-question-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"ask-question-handler.js","sourceRoot":"","sources":["../../../../src/prompt/steps/step-ask-question/ask-question-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAE3D,OAAO,0CAA0C,CAAC;AAElD,MAAM,UAAU,gBAAgB,CAAC,UAAsB;IACrD,yEAAyE;IACzE,MAAM,aAAa,GAAG,2BAA2B,EAAE,CAAC,GAAG,CAAC,UAAgC,CAAC,CAAC;IAC1F,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,2DAA2D;IAC3D,OAAO,QAAQ,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,aAAa,CAAE,CAAC;AAC1D,CAAC"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { ModelType, } from '../../../../ai-service/common-types.js';
|
|
2
|
+
import { getContextValue } from '../../../../main/common/app-context-bus.js';
|
|
3
|
+
import { getFunctionDefs } from '../../../function-calling.js';
|
|
4
|
+
import { registerActionHandler } from '../step-ask-question-handlers.js';
|
|
5
|
+
import { putSystemMessage } from '../../../../main/common/content-bus.js';
|
|
6
|
+
const MAX_OUTPUT_LENGTH = 2000;
|
|
7
|
+
registerActionHandler('pullConsoleLogs', handlePullConsoleLogs);
|
|
8
|
+
export async function handlePullConsoleLogs({ askQuestionCall, generateContentFn, prompt, options, }) {
|
|
9
|
+
const pullConsoleLogsCall = await generatePullConsoleLogsCall(generateContentFn, prompt, askQuestionCall, options, ModelType.CHEAP);
|
|
10
|
+
putSystemMessage('Retrieving console logs', { ...pullConsoleLogsCall?.args });
|
|
11
|
+
if (!pullConsoleLogsCall?.args) {
|
|
12
|
+
return {
|
|
13
|
+
breakLoop: false,
|
|
14
|
+
items: [],
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
const { mode, lines = 20, level, prompt: summaryPrompt } = pullConsoleLogsCall.args;
|
|
18
|
+
const logs = await getContextValue('__console_logs');
|
|
19
|
+
if (!logs || logs.length === 0) {
|
|
20
|
+
return {
|
|
21
|
+
breakLoop: false,
|
|
22
|
+
items: [
|
|
23
|
+
{
|
|
24
|
+
assistant: {
|
|
25
|
+
type: 'assistant',
|
|
26
|
+
text: 'I will retrieve the console logs.',
|
|
27
|
+
functionCalls: [pullConsoleLogsCall],
|
|
28
|
+
},
|
|
29
|
+
user: {
|
|
30
|
+
type: 'user',
|
|
31
|
+
functionResponses: [
|
|
32
|
+
{
|
|
33
|
+
name: 'pullConsoleLogs',
|
|
34
|
+
call_id: pullConsoleLogsCall.id,
|
|
35
|
+
content: 'No console logs have been captured from the application.',
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
],
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
let filteredLogs = logs;
|
|
44
|
+
if (level) {
|
|
45
|
+
filteredLogs = logs.filter((log) => log.level === level);
|
|
46
|
+
}
|
|
47
|
+
if (filteredLogs.length === 0) {
|
|
48
|
+
return {
|
|
49
|
+
breakLoop: false,
|
|
50
|
+
items: [
|
|
51
|
+
{
|
|
52
|
+
assistant: {
|
|
53
|
+
type: 'assistant',
|
|
54
|
+
text: `I will retrieve the console logs with level '${level}'.`,
|
|
55
|
+
functionCalls: [pullConsoleLogsCall],
|
|
56
|
+
},
|
|
57
|
+
user: {
|
|
58
|
+
type: 'user',
|
|
59
|
+
functionResponses: [
|
|
60
|
+
{
|
|
61
|
+
name: 'pullConsoleLogs',
|
|
62
|
+
call_id: pullConsoleLogsCall.id,
|
|
63
|
+
content: `No console logs found with level '${level}'.`,
|
|
64
|
+
},
|
|
65
|
+
],
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
],
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
let content = '';
|
|
72
|
+
switch (mode) {
|
|
73
|
+
case 'prefix':
|
|
74
|
+
content = filteredLogs.slice(0, lines).map(formatLogEntry).join('\n');
|
|
75
|
+
break;
|
|
76
|
+
case 'suffix':
|
|
77
|
+
content = filteredLogs.slice(-lines).map(formatLogEntry).join('\n');
|
|
78
|
+
break;
|
|
79
|
+
case 'summary': {
|
|
80
|
+
const allLogs = filteredLogs.map(formatLogEntry).join('\n');
|
|
81
|
+
content = await summarizeConsoleLogs(allLogs, summaryPrompt, generateContentFn, options);
|
|
82
|
+
break;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return {
|
|
86
|
+
breakLoop: false,
|
|
87
|
+
items: [
|
|
88
|
+
{
|
|
89
|
+
assistant: {
|
|
90
|
+
type: 'assistant',
|
|
91
|
+
text: `I will retrieve the console logs (mode: ${mode}).`,
|
|
92
|
+
functionCalls: [pullConsoleLogsCall],
|
|
93
|
+
},
|
|
94
|
+
user: {
|
|
95
|
+
type: 'user',
|
|
96
|
+
functionResponses: [
|
|
97
|
+
{
|
|
98
|
+
name: 'pullConsoleLogs',
|
|
99
|
+
call_id: pullConsoleLogsCall.id,
|
|
100
|
+
content: content || 'No logs to display with the given criteria.',
|
|
101
|
+
},
|
|
102
|
+
],
|
|
103
|
+
},
|
|
104
|
+
},
|
|
105
|
+
],
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
function formatLogEntry(entry) {
|
|
109
|
+
const date = new Date(entry.timestamp).toISOString();
|
|
110
|
+
return `[${date}] [${entry.level.toUpperCase()}] ${entry.message}`;
|
|
111
|
+
}
|
|
112
|
+
async function generatePullConsoleLogsCall(generateContentFn, prompt, askQuestionCall, options, modelType) {
|
|
113
|
+
const req = [
|
|
114
|
+
[
|
|
115
|
+
...prompt,
|
|
116
|
+
{
|
|
117
|
+
type: 'assistant',
|
|
118
|
+
text: askQuestionCall.args?.message ?? 'I need to check the console logs.',
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
type: 'user',
|
|
122
|
+
text: 'Yes, you can pull the console logs.',
|
|
123
|
+
},
|
|
124
|
+
],
|
|
125
|
+
{
|
|
126
|
+
functionDefs: getFunctionDefs(),
|
|
127
|
+
requiredFunctionName: 'pullConsoleLogs',
|
|
128
|
+
temperature: 0.7,
|
|
129
|
+
modelType,
|
|
130
|
+
expectedResponseType: {
|
|
131
|
+
text: false,
|
|
132
|
+
functionCall: true,
|
|
133
|
+
media: false,
|
|
134
|
+
},
|
|
135
|
+
},
|
|
136
|
+
options,
|
|
137
|
+
];
|
|
138
|
+
const [pullConsoleLogsCall] = (await generateContentFn(...req))
|
|
139
|
+
.filter((item) => item.type === 'functionCall')
|
|
140
|
+
.map((item) => item.functionCall);
|
|
141
|
+
return pullConsoleLogsCall;
|
|
142
|
+
}
|
|
143
|
+
async function summarizeConsoleLogs(logs, prompt, generateContentFn, options) {
|
|
144
|
+
if (logs.length <= MAX_OUTPUT_LENGTH) {
|
|
145
|
+
return logs;
|
|
146
|
+
}
|
|
147
|
+
const summaryPrompt = [
|
|
148
|
+
{
|
|
149
|
+
type: 'user',
|
|
150
|
+
text: `Please summarize the following console logs:\n\n---\n\n<logs>${logs}</logs>`,
|
|
151
|
+
},
|
|
152
|
+
];
|
|
153
|
+
if (prompt) {
|
|
154
|
+
summaryPrompt[0].text += `\n\nAdditional instructions: ${prompt}`;
|
|
155
|
+
}
|
|
156
|
+
const summaryRequest = [
|
|
157
|
+
summaryPrompt,
|
|
158
|
+
{
|
|
159
|
+
modelType: ModelType.LITE,
|
|
160
|
+
expectedResponseType: { text: true, functionCall: false, media: false },
|
|
161
|
+
},
|
|
162
|
+
options,
|
|
163
|
+
];
|
|
164
|
+
const summaryResult = await generateContentFn(...summaryRequest);
|
|
165
|
+
const summaryText = summaryResult.find((part) => part.type === 'text')?.text;
|
|
166
|
+
if (!summaryText) {
|
|
167
|
+
putSystemMessage('Failed to summarize console logs, returning truncated version.');
|
|
168
|
+
// Return first MAX_OUTPUT_LENGTH characters as fallback
|
|
169
|
+
return logs.substring(0, MAX_OUTPUT_LENGTH);
|
|
170
|
+
}
|
|
171
|
+
putSystemMessage('Console logs summarized successfully.', { summaryText });
|
|
172
|
+
return summaryText;
|
|
173
|
+
}
|
|
174
|
+
//# sourceMappingURL=handle-pull-console-logs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handle-pull-console-logs.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/handle-pull-console-logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,SAAS,GAEV,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAE7E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAGzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAE1E,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAE/B,qBAAqB,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;AAEhE,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,EAC1C,eAAe,EACf,iBAAiB,EACjB,MAAM,EACN,OAAO,GACY;IACnB,MAAM,mBAAmB,GAAG,MAAM,2BAA2B,CAC3D,iBAAiB,EACjB,MAAM,EACN,eAAe,EACf,OAAO,EACP,SAAS,CAAC,KAAK,CAChB,CAAC;IAEF,gBAAgB,CAAC,yBAAyB,EAAE,EAAE,GAAG,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC;IAE9E,IAAI,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC;QAC/B,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,mBAAmB,CAAC,IAAI,CAAC;IAEpF,MAAM,IAAI,GAAG,MAAM,eAAe,CAAoB,gBAAgB,CAAC,CAAC;IAExE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE;gBACL;oBACE,SAAS,EAAE;wBACT,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,mCAAmC;wBACzC,aAAa,EAAE,CAAC,mBAAmB,CAAC;qBACrC;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,MAAM;wBACZ,iBAAiB,EAAE;4BACjB;gCACE,IAAI,EAAE,iBAAiB;gCACvB,OAAO,EAAE,mBAAmB,CAAC,EAAE;gCAC/B,OAAO,EAAE,0DAA0D;6BACpE;yBACF;qBACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC;IAED,IAAI,YAAY,GAAG,IAAI,CAAC;IACxB,IAAI,KAAK,EAAE,CAAC;QACV,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE;gBACL;oBACE,SAAS,EAAE;wBACT,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,gDAAgD,KAAK,IAAI;wBAC/D,aAAa,EAAE,CAAC,mBAAmB,CAAC;qBACrC;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,MAAM;wBACZ,iBAAiB,EAAE;4BACjB;gCACE,IAAI,EAAE,iBAAiB;gCACvB,OAAO,EAAE,mBAAmB,CAAC,EAAE;gCAC/B,OAAO,EAAE,qCAAqC,KAAK,IAAI;6BACxD;yBACF;qBACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtE,MAAM;QAER,KAAK,QAAQ;YACX,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpE,MAAM;QAER,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5D,OAAO,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC;YACzF,MAAM;QACR,CAAC;IACH,CAAC;IAED,OAAO;QACL,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE;YACL;gBACE,SAAS,EAAE;oBACT,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,2CAA2C,IAAI,IAAI;oBACzD,aAAa,EAAE,CAAC,mBAAmB,CAAC;iBACrC;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,MAAM;oBACZ,iBAAiB,EAAE;wBACjB;4BACE,IAAI,EAAE,iBAAiB;4BACvB,OAAO,EAAE,mBAAmB,CAAC,EAAE;4BAC/B,OAAO,EAAE,OAAO,IAAI,6CAA6C;yBAClE;qBACF;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAsB;IAC5C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;IACrD,OAAO,IAAI,IAAI,MAAM,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;AACrE,CAAC;AAED,KAAK,UAAU,2BAA2B,CACxC,iBAA0C,EAC1C,MAAoB,EACpB,eAAgC,EAChC,OAAuB,EACvB,SAAoB;IAEpB,MAAM,GAAG,GAAwB;QAC/B;YACE,GAAG,MAAM;YACT;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,OAAO,IAAI,mCAAmC;aAC3E;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,qCAAqC;aAC5C;SACF;QACD;YACE,YAAY,EAAE,eAAe,EAAE;YAC/B,oBAAoB,EAAE,iBAAiB;YACvC,WAAW,EAAE,GAAG;YAChB,SAAS;YACT,oBAAoB,EAAE;gBACpB,IAAI,EAAE,KAAK;gBACX,YAAY,EAAE,IAAI;gBAClB,KAAK,EAAE,KAAK;aACb;SACF;QACD,OAAO;KACR,CAAC;IACF,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,iBAAiB,CAAC,GAAG,GAAG,CAAC,CAAC;SAC5D,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC;SAC9C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAoD,CAAC;IAEvF,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,IAAY,EACZ,MAA0B,EAC1B,iBAA0D,EAC1D,OAAsC;IAEtC,IAAI,IAAI,CAAC,MAAM,IAAI,iBAAiB,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,aAAa,GAAiB;QAClC;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,gEAAgE,IAAI,SAAS;SACpF;KACF,CAAC;IACF,IAAI,MAAM,EAAE,CAAC;QACX,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,gCAAgC,MAAM,EAAE,CAAC;IACpE,CAAC;IACD,MAAM,cAAc,GAAwB;QAC1C,aAAa;QACb;YACE,SAAS,EAAE,SAAS,CAAC,IAAI;YACzB,oBAAoB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;SACxE;QACD,OAAO;KACR,CAAC;IACF,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,GAAG,cAAc,CAAC,CAAC;IACjE,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC;IAC7E,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,gBAAgB,CAAC,gEAAgE,CAAC,CAAC;QACnF,wDAAwD;QACxD,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;IAC9C,CAAC;IACD,gBAAgB,CAAC,uCAAuC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAC3E,OAAO,WAAW,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { registerActionHandler } from '../step-ask-question-handlers.js';
|
|
2
|
+
import { askUserForStructuredQuestion } from '../../../../main/common/user-actions.js';
|
|
3
|
+
import { ModelType, } from '../../../../ai-service/common-types.js';
|
|
4
|
+
import { getFunctionDefs } from '../../../function-calling.js';
|
|
5
|
+
import { putSystemMessage } from '../../../../main/common/content-bus.js';
|
|
6
|
+
async function handleStructuredQuestion({ askQuestionCall, generateContentFn, prompt, options, }) {
|
|
7
|
+
const structuredQuestionCall = await generateStructuredQuestionCall(generateContentFn, prompt, askQuestionCall, options, ModelType.CHEAP);
|
|
8
|
+
putSystemMessage('Presenting structured question', { ...structuredQuestionCall?.args });
|
|
9
|
+
if (!structuredQuestionCall?.args) {
|
|
10
|
+
return {
|
|
11
|
+
breakLoop: false,
|
|
12
|
+
items: [],
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
const userResponse = await askUserForStructuredQuestion(structuredQuestionCall.args.form, options);
|
|
16
|
+
putSystemMessage('Received structured question response', { ...userResponse });
|
|
17
|
+
return {
|
|
18
|
+
breakLoop: false,
|
|
19
|
+
items: [
|
|
20
|
+
{
|
|
21
|
+
assistant: {
|
|
22
|
+
type: 'assistant',
|
|
23
|
+
text: structuredQuestionCall.args?.message ?? 'Please complete the form.',
|
|
24
|
+
functionCalls: [structuredQuestionCall],
|
|
25
|
+
},
|
|
26
|
+
user: {
|
|
27
|
+
type: 'user',
|
|
28
|
+
functionResponses: [
|
|
29
|
+
{
|
|
30
|
+
name: 'structuredQuestion',
|
|
31
|
+
call_id: structuredQuestionCall.id,
|
|
32
|
+
content: JSON.stringify(userResponse),
|
|
33
|
+
},
|
|
34
|
+
],
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
async function generateStructuredQuestionCall(generateContentFn, prompt, askQuestionCall, options, modelType) {
|
|
41
|
+
const req = [
|
|
42
|
+
[
|
|
43
|
+
...prompt,
|
|
44
|
+
{
|
|
45
|
+
type: 'assistant',
|
|
46
|
+
text: askQuestionCall.args?.message ?? 'I need to ask a structured question.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
type: 'user',
|
|
50
|
+
text: 'Yes, you can ask the structured question.',
|
|
51
|
+
},
|
|
52
|
+
],
|
|
53
|
+
{
|
|
54
|
+
functionDefs: getFunctionDefs(),
|
|
55
|
+
requiredFunctionName: 'structuredQuestion',
|
|
56
|
+
temperature: 0.7,
|
|
57
|
+
modelType,
|
|
58
|
+
expectedResponseType: {
|
|
59
|
+
text: false,
|
|
60
|
+
functionCall: true,
|
|
61
|
+
media: false,
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
options,
|
|
65
|
+
];
|
|
66
|
+
const [structuredQuestionCall] = (await generateContentFn(...req))
|
|
67
|
+
.filter((item) => item.type === 'functionCall')
|
|
68
|
+
.map((item) => item.functionCall);
|
|
69
|
+
return structuredQuestionCall;
|
|
70
|
+
}
|
|
71
|
+
registerActionHandler('structuredQuestion', handleStructuredQuestion);
|
|
72
|
+
//# sourceMappingURL=handle-structured-question.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handle-structured-question.js","sourceRoot":"","sources":["../../../../../src/prompt/steps/step-ask-question/handlers/handle-structured-question.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AACvF,OAAO,EAIL,SAAS,GAEV,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAE1E,KAAK,UAAU,wBAAwB,CAAC,EACtC,eAAe,EACf,iBAAiB,EACjB,MAAM,EACN,OAAO,GACY;IACnB,MAAM,sBAAsB,GAAG,MAAM,8BAA8B,CACjE,iBAAiB,EACjB,MAAM,EACN,eAAe,EACf,OAAO,EACP,SAAS,CAAC,KAAK,CAChB,CAAC;IAEF,gBAAgB,CAAC,gCAAgC,EAAE,EAAE,GAAG,sBAAsB,EAAE,IAAI,EAAE,CAAC,CAAC;IAExF,IAAI,CAAC,sBAAsB,EAAE,IAAI,EAAE,CAAC;QAClC,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,4BAA4B,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAEnG,gBAAgB,CAAC,uCAAuC,EAAE,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC;IAE/E,OAAO;QACL,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE;YACL;gBACE,SAAS,EAAE;oBACT,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,sBAAsB,CAAC,IAAI,EAAE,OAAO,IAAI,2BAA2B;oBACzE,aAAa,EAAE,CAAC,sBAAsB,CAAC;iBACxC;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,MAAM;oBACZ,iBAAiB,EAAE;wBACjB;4BACE,IAAI,EAAE,oBAAoB;4BAC1B,OAAO,EAAE,sBAAsB,CAAC,EAAE;4BAClC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;yBACtC;qBACF;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,8BAA8B,CAC3C,iBAA0C,EAC1C,MAAoB,EACpB,eAAgC,EAChC,OAAuB,EACvB,SAAoB;IAEpB,MAAM,GAAG,GAAwB;QAC/B;YACE,GAAG,MAAM;YACT;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,OAAO,IAAI,sCAAsC;aAC9E;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,2CAA2C;aAClD;SACF;QACD;YACE,YAAY,EAAE,eAAe,EAAE;YAC/B,oBAAoB,EAAE,oBAAoB;YAC1C,WAAW,EAAE,GAAG;YAChB,SAAS;YACT,oBAAoB,EAAE;gBACpB,IAAI,EAAE,KAAK;gBACX,YAAY,EAAE,IAAI;gBAClB,KAAK,EAAE,KAAK;aACb;SACF;QACD,OAAO;KACR,CAAC;IACF,MAAM,CAAC,sBAAsB,CAAC,GAAG,CAAC,MAAM,iBAAiB,CAAC,GAAG,GAAG,CAAC,CAAC;SAC/D,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC;SAC9C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAuD,CAAC;IAE1F,OAAO,sBAAsB,CAAC;AAChC,CAAC;AAED,qBAAqB,CAAC,oBAAoB,EAAE,wBAAyC,CAAC,CAAC"}
|