@google/gemini-cli-core 0.0.44-beta.0 → 0.0.77
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/README.md +4 -10
- package/dist/index.d.ts +3 -4
- package/dist/index.js +3 -4
- package/dist/index.js.map +1 -1
- package/dist/src/config/config.d.ts +8 -17
- package/dist/src/config/config.js +11 -31
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/core/baseLlmClient.d.ts +0 -4
- package/dist/src/core/baseLlmClient.js +2 -5
- package/dist/src/core/baseLlmClient.js.map +1 -1
- package/dist/src/core/baseLlmClient.test.js +0 -23
- package/dist/src/core/baseLlmClient.test.js.map +1 -1
- package/dist/src/core/client.d.ts +2 -3
- package/dist/src/core/client.js +23 -32
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/client.test.js +67 -57
- package/dist/src/core/client.test.js.map +1 -1
- package/dist/src/core/coreToolScheduler.js +3 -12
- package/dist/src/core/coreToolScheduler.js.map +1 -1
- package/dist/src/core/coreToolScheduler.test.js +0 -99
- package/dist/src/core/coreToolScheduler.test.js.map +1 -1
- package/dist/src/core/geminiChat.d.ts +3 -4
- package/dist/src/core/geminiChat.js +56 -54
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/geminiChat.test.js +27 -234
- package/dist/src/core/geminiChat.test.js.map +1 -1
- package/dist/src/core/prompts.js +2 -3
- package/dist/src/core/prompts.js.map +1 -1
- package/dist/src/core/turn.d.ts +4 -1
- package/dist/src/core/turn.js +12 -2
- package/dist/src/core/turn.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +2 -2
- package/dist/src/generated/git-commit.js +3 -3
- package/dist/src/generated/git-commit.js.map +1 -1
- package/dist/src/ide/detect-ide.d.ts +14 -44
- package/dist/src/ide/detect-ide.js +69 -29
- package/dist/src/ide/detect-ide.js.map +1 -1
- package/dist/src/ide/detect-ide.test.js +46 -29
- package/dist/src/ide/detect-ide.test.js.map +1 -1
- package/dist/src/ide/ide-client.d.ts +4 -4
- package/dist/src/ide/ide-client.js +25 -26
- package/dist/src/ide/ide-client.js.map +1 -1
- package/dist/src/ide/ide-client.test.js +7 -4
- package/dist/src/ide/ide-client.test.js.map +1 -1
- package/dist/src/ide/ide-installer.d.ts +2 -2
- package/dist/src/ide/ide-installer.js +9 -7
- package/dist/src/ide/ide-installer.js.map +1 -1
- package/dist/src/ide/ide-installer.test.js +13 -20
- package/dist/src/ide/ide-installer.test.js.map +1 -1
- package/dist/src/index.d.ts +2 -5
- package/dist/src/index.js +2 -5
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/oauth-provider.d.ts +1 -5
- package/dist/src/mcp/oauth-provider.js +39 -50
- package/dist/src/mcp/oauth-provider.js.map +1 -1
- package/dist/src/mcp/oauth-provider.test.js +1 -137
- package/dist/src/mcp/oauth-provider.test.js.map +1 -1
- package/dist/src/mcp/oauth-utils.js +0 -1
- package/dist/src/mcp/oauth-utils.js.map +1 -1
- package/dist/src/policy/policy-engine.js +2 -11
- package/dist/src/policy/policy-engine.js.map +1 -1
- package/dist/src/policy/policy-engine.test.js +0 -45
- package/dist/src/policy/policy-engine.test.js.map +1 -1
- package/dist/src/routing/strategies/compositeStrategy.js +3 -4
- package/dist/src/routing/strategies/compositeStrategy.js.map +1 -1
- package/dist/src/services/chatRecordingService.d.ts +1 -1
- package/dist/src/services/chatRecordingService.js +1 -1
- package/dist/src/services/chatRecordingService.js.map +1 -1
- package/dist/src/services/shellExecutionService.js +15 -30
- package/dist/src/services/shellExecutionService.js.map +1 -1
- package/dist/src/services/shellExecutionService.test.js +11 -43
- package/dist/src/services/shellExecutionService.test.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +2 -8
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +2 -59
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.d.ts +0 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +1 -128
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +1 -10
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +0 -18
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
- package/dist/src/telemetry/constants.d.ts +0 -21
- package/dist/src/telemetry/constants.js +0 -23
- package/dist/src/telemetry/constants.js.map +1 -1
- package/dist/src/telemetry/index.d.ts +1 -5
- package/dist/src/telemetry/index.js +1 -11
- package/dist/src/telemetry/index.js.map +1 -1
- package/dist/src/telemetry/loggers.d.ts +1 -6
- package/dist/src/telemetry/loggers.js +2 -91
- package/dist/src/telemetry/loggers.js.map +1 -1
- package/dist/src/telemetry/loggers.test.js +4 -174
- package/dist/src/telemetry/loggers.test.js.map +1 -1
- package/dist/src/telemetry/metrics.d.ts +1 -40
- package/dist/src/telemetry/metrics.js +2 -248
- package/dist/src/telemetry/metrics.js.map +1 -1
- package/dist/src/telemetry/metrics.test.js +1 -387
- package/dist/src/telemetry/metrics.test.js.map +1 -1
- package/dist/src/telemetry/sdk.js +1 -4
- package/dist/src/telemetry/sdk.js.map +1 -1
- package/dist/src/telemetry/sdk.test.js +0 -13
- package/dist/src/telemetry/sdk.test.js.map +1 -1
- package/dist/src/telemetry/types.d.ts +3 -26
- package/dist/src/telemetry/types.js +6 -49
- package/dist/src/telemetry/types.js.map +1 -1
- package/dist/src/telemetry/uiTelemetry.d.ts +1 -1
- package/dist/src/telemetry/uiTelemetry.js +3 -2
- package/dist/src/telemetry/uiTelemetry.js.map +1 -1
- package/dist/src/telemetry/uiTelemetry.test.js +11 -11
- package/dist/src/telemetry/uiTelemetry.test.js.map +1 -1
- package/dist/src/tools/edit.js +0 -6
- package/dist/src/tools/edit.js.map +1 -1
- package/dist/src/tools/edit.test.js +0 -41
- package/dist/src/tools/edit.test.js.map +1 -1
- package/dist/src/tools/glob.js +1 -2
- package/dist/src/tools/glob.js.map +1 -1
- package/dist/src/tools/ls.js +1 -1
- package/dist/src/tools/ls.js.map +1 -1
- package/dist/src/tools/mcp-client.d.ts +12 -2
- package/dist/src/tools/mcp-client.js +64 -5
- package/dist/src/tools/mcp-client.js.map +1 -1
- package/dist/src/tools/mcp-client.test.js +154 -9
- package/dist/src/tools/mcp-client.test.js.map +1 -1
- package/dist/src/tools/mcp-tool.js +2 -30
- package/dist/src/tools/mcp-tool.js.map +1 -1
- package/dist/src/tools/mcp-tool.test.js +0 -117
- package/dist/src/tools/mcp-tool.test.js.map +1 -1
- package/dist/src/tools/shell.js +2 -5
- package/dist/src/tools/shell.js.map +1 -1
- package/dist/src/tools/smart-edit.js +2 -8
- package/dist/src/tools/smart-edit.js.map +1 -1
- package/dist/src/tools/smart-edit.test.js +2 -47
- package/dist/src/tools/smart-edit.test.js.map +1 -1
- package/dist/src/tools/tool-error.d.ts +0 -1
- package/dist/src/tools/tool-error.js +0 -1
- package/dist/src/tools/tool-error.js.map +1 -1
- package/dist/src/tools/tools.d.ts +3 -11
- package/dist/src/tools/tools.js +3 -94
- package/dist/src/tools/tools.js.map +1 -1
- package/dist/src/utils/bfsFileSearch.d.ts +1 -1
- package/dist/src/utils/getFolderStructure.d.ts +1 -1
- package/dist/src/utils/getFolderStructure.js +1 -1
- package/dist/src/utils/getFolderStructure.js.map +1 -1
- package/dist/src/utils/llm-edit-fixer.js +0 -1
- package/dist/src/utils/llm-edit-fixer.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.d.ts +1 -1
- package/dist/src/utils/memoryDiscovery.js +1 -1
- package/dist/src/utils/memoryDiscovery.js.map +1 -1
- package/dist/src/utils/retry.js +1 -7
- package/dist/src/utils/retry.js.map +1 -1
- package/dist/src/utils/retry.test.js +0 -29
- package/dist/src/utils/retry.test.js.map +1 -1
- package/dist/src/utils/schemaValidator.js +1 -11
- package/dist/src/utils/schemaValidator.js.map +1 -1
- package/dist/src/utils/shell-utils.js +1 -5
- package/dist/src/utils/shell-utils.js.map +1 -1
- package/dist/src/utils/shell-utils.test.js +0 -5
- package/dist/src/utils/shell-utils.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/dist/src/config/constants.d.ts +0 -11
- package/dist/src/config/constants.js +0 -16
- package/dist/src/config/constants.js.map +0 -1
- package/dist/src/telemetry/activity-detector.d.ts +0 -41
- package/dist/src/telemetry/activity-detector.js +0 -61
- package/dist/src/telemetry/activity-detector.js.map +0 -1
- package/dist/src/telemetry/activity-detector.test.d.ts +0 -6
- package/dist/src/telemetry/activity-detector.test.js +0 -136
- package/dist/src/telemetry/activity-detector.test.js.map +0 -1
- package/dist/src/telemetry/activity-types.d.ts +0 -19
- package/dist/src/telemetry/activity-types.js +0 -21
- package/dist/src/telemetry/activity-types.js.map +0 -1
- package/dist/src/telemetry/config.d.ts +0 -31
- package/dist/src/telemetry/config.js +0 -76
- package/dist/src/telemetry/config.js.map +0 -1
- package/dist/src/telemetry/config.test.d.ts +0 -6
- package/dist/src/telemetry/config.test.js +0 -124
- package/dist/src/telemetry/config.test.js.map +0 -1
- package/dist/src/tools/message-bus-integration.test.d.ts +0 -6
- package/dist/src/tools/message-bus-integration.test.js +0 -183
- package/dist/src/tools/message-bus-integration.test.js.map +0 -1
- package/dist/src/tools/write-todos.d.ts +0 -25
- package/dist/src/tools/write-todos.js +0 -150
- package/dist/src/tools/write-todos.js.map +0 -1
- package/dist/src/tools/write-todos.test.d.ts +0 -6
- package/dist/src/tools/write-todos.test.js +0 -89
- package/dist/src/tools/write-todos.test.js.map +0 -1
- package/dist/src/utils/schemaValidator.test.d.ts +0 -6
- package/dist/src/utils/schemaValidator.test.js +0 -113
- package/dist/src/utils/schemaValidator.test.js.map +0 -1
- package/dist/src/utils/thoughtUtils.d.ts +0 -21
- package/dist/src/utils/thoughtUtils.js +0 -39
- package/dist/src/utils/thoughtUtils.js.map +0 -1
- package/dist/src/utils/thoughtUtils.test.d.ts +0 -6
- package/dist/src/utils/thoughtUtils.test.js +0 -78
- package/dist/src/utils/thoughtUtils.test.js.map +0 -1
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2025 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
const START_DELIMITER = '**';
|
|
7
|
-
const END_DELIMITER = '**';
|
|
8
|
-
/**
|
|
9
|
-
* Parses a raw thought string into a structured ThoughtSummary object.
|
|
10
|
-
*
|
|
11
|
-
* Thoughts are expected to have a bold "subject" part enclosed in double
|
|
12
|
-
* asterisks (e.g., **Subject**). The rest of the string is considered
|
|
13
|
-
* the description. This function only parses the first valid subject found.
|
|
14
|
-
*
|
|
15
|
-
* @param rawText The raw text of the thought.
|
|
16
|
-
* @returns A ThoughtSummary object. If no valid subject is found, the entire
|
|
17
|
-
* string is treated as the description.
|
|
18
|
-
*/
|
|
19
|
-
export function parseThought(rawText) {
|
|
20
|
-
const startIndex = rawText.indexOf(START_DELIMITER);
|
|
21
|
-
if (startIndex === -1) {
|
|
22
|
-
// No start delimiter found, the whole text is the description.
|
|
23
|
-
return { subject: '', description: rawText.trim() };
|
|
24
|
-
}
|
|
25
|
-
const endIndex = rawText.indexOf(END_DELIMITER, startIndex + START_DELIMITER.length);
|
|
26
|
-
if (endIndex === -1) {
|
|
27
|
-
// Start delimiter found but no end delimiter, so it's not a valid subject.
|
|
28
|
-
// Treat the entire string as the description.
|
|
29
|
-
return { subject: '', description: rawText.trim() };
|
|
30
|
-
}
|
|
31
|
-
const subject = rawText
|
|
32
|
-
.substring(startIndex + START_DELIMITER.length, endIndex)
|
|
33
|
-
.trim();
|
|
34
|
-
// The description is everything before the start delimiter and after the end delimiter.
|
|
35
|
-
const description = (rawText.substring(0, startIndex) +
|
|
36
|
-
rawText.substring(endIndex + END_DELIMITER.length)).trim();
|
|
37
|
-
return { subject, description };
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=thoughtUtils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"thoughtUtils.js","sourceRoot":"","sources":["../../../src/utils/thoughtUtils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,MAAM,eAAe,GAAG,IAAI,CAAC;AAC7B,MAAM,aAAa,GAAG,IAAI,CAAC;AAE3B;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACpD,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;QACtB,+DAA+D;QAC/D,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;IACtD,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAC9B,aAAa,EACb,UAAU,GAAG,eAAe,CAAC,MAAM,CACpC,CAAC;IACF,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;QACpB,2EAA2E;QAC3E,8CAA8C;QAC9C,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;IACtD,CAAC;IAED,MAAM,OAAO,GAAG,OAAO;SACpB,SAAS,CAAC,UAAU,GAAG,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC;SACxD,IAAI,EAAE,CAAC;IAEV,wFAAwF;IACxF,MAAM,WAAW,GAAG,CAClB,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC;QAChC,OAAO,CAAC,SAAS,CAAC,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,CACnD,CAAC,IAAI,EAAE,CAAC;IAET,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;AAClC,CAAC"}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2025 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import { describe, it, expect } from 'vitest';
|
|
7
|
-
import { parseThought } from './thoughtUtils.js';
|
|
8
|
-
describe('parseThought', () => {
|
|
9
|
-
it.each([
|
|
10
|
-
{
|
|
11
|
-
name: 'a standard thought with subject and description',
|
|
12
|
-
rawText: '**Subject:** This is the description.',
|
|
13
|
-
expected: {
|
|
14
|
-
subject: 'Subject:',
|
|
15
|
-
description: 'This is the description.',
|
|
16
|
-
},
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
name: 'leading and trailing whitespace in the raw string',
|
|
20
|
-
rawText: ' **Subject** description with spaces ',
|
|
21
|
-
expected: { subject: 'Subject', description: 'description with spaces' },
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
name: 'whitespace surrounding the subject content',
|
|
25
|
-
rawText: '** Subject **',
|
|
26
|
-
expected: { subject: 'Subject', description: '' },
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
name: 'a thought with only a subject',
|
|
30
|
-
rawText: '**Only Subject**',
|
|
31
|
-
expected: { subject: 'Only Subject', description: '' },
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
name: 'a thought with only a description (no subject)',
|
|
35
|
-
rawText: 'This is just a description.',
|
|
36
|
-
expected: { subject: '', description: 'This is just a description.' },
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
name: 'an empty string input',
|
|
40
|
-
rawText: '',
|
|
41
|
-
expected: { subject: '', description: '' },
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
name: 'newlines within the subject and description',
|
|
45
|
-
rawText: '**Multi-line\nSubject**\nHere is a description\nspread across lines.',
|
|
46
|
-
expected: {
|
|
47
|
-
subject: 'Multi-line\nSubject',
|
|
48
|
-
description: 'Here is a description\nspread across lines.',
|
|
49
|
-
},
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
name: 'only the first subject if multiple are present',
|
|
53
|
-
rawText: '**First** some text **Second**',
|
|
54
|
-
expected: { subject: 'First', description: 'some text **Second**' },
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
name: 'text before and after the subject',
|
|
58
|
-
rawText: 'Prefix text **Subject** Suffix text.',
|
|
59
|
-
expected: {
|
|
60
|
-
subject: 'Subject',
|
|
61
|
-
description: 'Prefix text Suffix text.',
|
|
62
|
-
},
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
name: 'an unclosed subject tag',
|
|
66
|
-
rawText: 'Text with **an unclosed subject',
|
|
67
|
-
expected: { subject: '', description: 'Text with **an unclosed subject' },
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
name: 'an empty subject tag',
|
|
71
|
-
rawText: 'A thought with **** in the middle.',
|
|
72
|
-
expected: { subject: '', description: 'A thought with in the middle.' },
|
|
73
|
-
},
|
|
74
|
-
])('should correctly parse $name', ({ rawText, expected }) => {
|
|
75
|
-
expect(parseThought(rawText)).toEqual(expected);
|
|
76
|
-
});
|
|
77
|
-
});
|
|
78
|
-
//# sourceMappingURL=thoughtUtils.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"thoughtUtils.test.js","sourceRoot":"","sources":["../../../src/utils/thoughtUtils.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,IAAI,CAAC;QACN;YACE,IAAI,EAAE,iDAAiD;YACvD,OAAO,EAAE,uCAAuC;YAChD,QAAQ,EAAE;gBACR,OAAO,EAAE,UAAU;gBACnB,WAAW,EAAE,0BAA0B;aACxC;SACF;QACD;YACE,IAAI,EAAE,mDAAmD;YACzD,OAAO,EAAE,0CAA0C;YACnD,QAAQ,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,yBAAyB,EAAE;SACzE;QACD;YACE,IAAI,EAAE,4CAA4C;YAClD,OAAO,EAAE,gBAAgB;YACzB,QAAQ,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE;SAClD;QACD;YACE,IAAI,EAAE,+BAA+B;YACrC,OAAO,EAAE,kBAAkB;YAC3B,QAAQ,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,EAAE,EAAE;SACvD;QACD;YACE,IAAI,EAAE,gDAAgD;YACtD,OAAO,EAAE,6BAA6B;YACtC,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,6BAA6B,EAAE;SACtE;QACD;YACE,IAAI,EAAE,uBAAuB;YAC7B,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;SAC3C;QACD;YACE,IAAI,EAAE,6CAA6C;YACnD,OAAO,EACL,sEAAsE;YACxE,QAAQ,EAAE;gBACR,OAAO,EAAE,qBAAqB;gBAC9B,WAAW,EAAE,6CAA6C;aAC3D;SACF;QACD;YACE,IAAI,EAAE,gDAAgD;YACtD,OAAO,EAAE,gCAAgC;YACzC,QAAQ,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE;SACpE;QACD;YACE,IAAI,EAAE,mCAAmC;YACzC,OAAO,EAAE,sCAAsC;YAC/C,QAAQ,EAAE;gBACR,OAAO,EAAE,SAAS;gBAClB,WAAW,EAAE,2BAA2B;aACzC;SACF;QACD;YACE,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,iCAAiC;YAC1C,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,iCAAiC,EAAE;SAC1E;QACD;YACE,IAAI,EAAE,sBAAsB;YAC5B,OAAO,EAAE,oCAAoC;YAC7C,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,gCAAgC,EAAE;SACzE;KACF,CAAC,CAAC,8BAA8B,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC3D,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|