@dxtmisha/scripts 0.4.5 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. package/bin/ai-doc.ts +9 -0
  2. package/package.json +9 -7
  3. package/src/classes/Ai/AiAbstract.ts +94 -13
  4. package/src/classes/Ai/AiDoc.ts +62 -0
  5. package/src/classes/Ai/AiDocItem.ts +20 -0
  6. package/src/classes/Ai/AiDocItemAbstract.ts +198 -0
  7. package/src/classes/Ai/AiDocItemClasses.ts +20 -0
  8. package/src/classes/Ai/AiDocItemComposables.ts +13 -0
  9. package/src/classes/Ai/AiDocType.ts +45 -0
  10. package/src/classes/Ai/AiGoogle.ts +7 -29
  11. package/src/classes/Ai/AiGoogleCli.ts +24 -0
  12. package/src/classes/Ai/AiGoogleCliLite.ts +144 -0
  13. package/src/classes/Ai/AiGoogleLite.ts +77 -0
  14. package/src/classes/BuildItem.ts +176 -0
  15. package/src/classes/Component/ComponentCreator.ts +2 -0
  16. package/src/classes/Component/ComponentItem.ts +3 -1
  17. package/src/classes/Component/ComponentWiki.ts +107 -190
  18. package/src/classes/Component/ComponentWikiFile.ts +102 -15
  19. package/src/classes/Design/DesignCommand.ts +3 -1
  20. package/src/classes/Design/DesignComponent.ts +3 -1
  21. package/src/classes/Design/DesignConstructor.ts +3 -1
  22. package/src/classes/Design/DesignConstructors.ts +3 -1
  23. package/src/classes/Design/DesignReplace.ts +3 -1
  24. package/src/classes/Design/DesignStructure.ts +3 -1
  25. package/src/classes/Design/DesignStructureClasses.ts +3 -1
  26. package/src/classes/Design/DesignStructureItemAbstract.ts +2 -0
  27. package/src/classes/Design/DesignStructureRead.ts +3 -1
  28. package/src/classes/Design/DesignStructureStyles.ts +2 -0
  29. package/src/classes/Design/DesignTypescript.ts +1 -1
  30. package/src/classes/Design/DesignUi.ts +3 -1
  31. package/src/classes/Design/DesignWiki.ts +3 -1
  32. package/src/classes/Git/GitRead.ts +258 -0
  33. package/src/classes/Library/LibraryExport.ts +3 -1
  34. package/src/classes/Library/LibraryFlags.ts +3 -1
  35. package/src/classes/Library/LibraryItems.ts +3 -1
  36. package/src/classes/Library/LibraryMedia.ts +3 -1
  37. package/src/classes/Package/PackageInit.ts +2 -0
  38. package/src/classes/Package/PackageItem.ts +2 -0
  39. package/src/classes/Properties/Properties.ts +3 -1
  40. package/src/classes/Properties/PropertiesCache.ts +3 -1
  41. package/src/classes/Properties/PropertiesConfig.ts +21 -0
  42. package/src/classes/Properties/PropertiesConvector.ts +3 -1
  43. package/src/classes/Properties/PropertiesFile.ts +11 -1
  44. package/src/classes/Properties/PropertiesImport.ts +3 -1
  45. package/src/classes/Properties/PropertiesItems.ts +3 -1
  46. package/src/classes/Properties/PropertiesKeys.ts +3 -1
  47. package/src/classes/Properties/PropertiesMain.ts +3 -1
  48. package/src/classes/Properties/PropertiesPalette.ts +3 -1
  49. package/src/classes/Properties/PropertiesPath.ts +3 -1
  50. package/src/classes/Properties/PropertiesScss.ts +3 -1
  51. package/src/classes/Properties/PropertiesSeparator.ts +3 -1
  52. package/src/classes/Properties/PropertiesSettings.ts +3 -1
  53. package/src/classes/Properties/PropertiesStandard.ts +3 -1
  54. package/src/classes/Properties/PropertiesTool.ts +3 -1
  55. package/src/classes/Properties/PropertiesTypes.ts +3 -1
  56. package/src/classes/Properties/PropertiesValues.ts +2 -0
  57. package/src/classes/Properties/PropertiesWrap.ts +3 -1
  58. package/src/classes/Properties/convector/convectorColor.ts +2 -0
  59. package/src/classes/Properties/convector/convectorFontFamilies.ts +2 -0
  60. package/src/classes/Properties/convector/convectorShadow.ts +3 -1
  61. package/src/classes/Properties/convector/convectorTypography.ts +3 -1
  62. package/src/classes/Properties/to/PropertiesToAbstract.ts +2 -0
  63. package/src/classes/Properties/to/PropertiesToAnimate.ts +3 -1
  64. package/src/classes/Properties/to/PropertiesToClass.ts +2 -0
  65. package/src/classes/Properties/to/PropertiesToClone.ts +3 -1
  66. package/src/classes/Properties/to/PropertiesToComponent.ts +2 -0
  67. package/src/classes/Properties/to/PropertiesToDrag.ts +3 -1
  68. package/src/classes/Properties/to/PropertiesToDuplicate.ts +3 -1
  69. package/src/classes/Properties/to/PropertiesToFull.ts +2 -0
  70. package/src/classes/Properties/to/PropertiesToLink.ts +6 -3
  71. package/src/classes/Properties/to/PropertiesToMedia.ts +3 -1
  72. package/src/classes/Properties/to/PropertiesToMulti.ts +3 -1
  73. package/src/classes/Properties/to/PropertiesToNone.ts +3 -1
  74. package/src/classes/Properties/to/PropertiesToPalette.ts +3 -1
  75. package/src/classes/Properties/to/PropertiesToProperty.ts +3 -1
  76. package/src/classes/Properties/to/PropertiesToRemove.ts +3 -1
  77. package/src/classes/Properties/to/PropertiesToReplace.ts +2 -0
  78. package/src/classes/Properties/to/PropertiesToRoot.ts +2 -0
  79. package/src/classes/Properties/to/PropertiesToSimilar.ts +3 -1
  80. package/src/classes/Properties/to/PropertiesToSort.ts +3 -1
  81. package/src/classes/Properties/to/PropertiesToState.ts +3 -1
  82. package/src/classes/Properties/to/PropertiesToStyle.ts +3 -1
  83. package/src/classes/Properties/to/PropertiesToSub.ts +2 -0
  84. package/src/classes/Properties/to/PropertiesToSubclass.ts +2 -0
  85. package/src/classes/Properties/to/PropertiesToVar.ts +3 -1
  86. package/src/classes/Properties/to/PropertiesToVariable.ts +3 -1
  87. package/src/classes/Styles/Styles.ts +3 -1
  88. package/src/classes/Styles/StylesClasses.ts +3 -1
  89. package/src/classes/Styles/StylesProperties.ts +2 -0
  90. package/src/classes/Styles/StylesRoot.ts +2 -0
  91. package/src/classes/Styles/StylesTool.ts +3 -1
  92. package/src/classes/Styles/to/StylesToAbstract.ts +3 -1
  93. package/src/classes/Styles/to/StylesToAnimate.ts +2 -0
  94. package/src/classes/Styles/to/StylesToClass.ts +2 -0
  95. package/src/classes/Styles/to/StylesToClassFull.ts +2 -0
  96. package/src/classes/Styles/to/StylesToContainer.ts +2 -0
  97. package/src/classes/Styles/to/StylesToMedia.ts +2 -0
  98. package/src/classes/Styles/to/StylesToProperty.ts +3 -1
  99. package/src/classes/Styles/to/StylesToRoot.ts +2 -0
  100. package/src/classes/Styles/to/StylesToSelector.ts +3 -1
  101. package/src/classes/Styles/to/StylesToVar.ts +3 -1
  102. package/src/classes/Styles/to/StylesToVirtual.ts +2 -0
  103. package/src/composables/useAi.ts +3 -0
  104. package/src/config.ts +11 -0
  105. package/src/functions/getComponentPaths.ts +2 -0
  106. package/src/functions/getConfigAi.ts +13 -0
  107. package/src/functions/getConstructorProperties.ts +3 -1
  108. package/src/functions/getNameDirByPaths.ts +2 -0
  109. package/src/functions/toPathStandardSep.ts +2 -0
  110. package/src/library-ai.ts +3 -0
  111. package/src/library.ts +2 -89
  112. package/src/media/ai/ai-doc-types.ts +21 -0
  113. package/src/media/properties/css.ts +4 -1
  114. package/src/media/properties/listSort.ts +1 -1
  115. package/src/media/properties/style.ts +2 -0
  116. package/src/media/templates/component/DesignComponent.vue +1 -1
  117. package/src/media/templates/constructors/ConstructorsDesign.tsx +4 -2
  118. package/src/media/templates/packages/library/package.json +2 -1
  119. package/src/media/templates/prompts/aiDocClassPrompt.en.txt +66 -0
  120. package/src/media/templates/prompts/aiDocClassPrompt.ru.txt +64 -0
  121. package/src/media/templates/prompts/aiDocComposablePrompt.en.txt +67 -0
  122. package/src/media/templates/prompts/aiDocComposablePrompt.ru.txt +67 -0
  123. package/src/media/templates/prompts/aiDocFunctionPrompt.en.txt +57 -0
  124. package/src/media/templates/prompts/aiDocFunctionPrompt.ru.txt +57 -0
  125. package/src/media/templates/prompts/componentPrompt.en.txt +105 -0
  126. package/src/media/templates/prompts/componentPrompt.ru.txt +105 -0
  127. package/src/media/templates/prompts/demoClassEn.mdx +111 -0
  128. package/src/media/templates/prompts/demoClassRu.mdx +111 -0
  129. package/src/media/templates/prompts/demoComponentEn.mdx +282 -0
  130. package/src/media/templates/prompts/demoComponentRu.mdx +282 -0
  131. package/src/media/templates/prompts/demoComposableEn.mdx +103 -0
  132. package/src/media/templates/prompts/demoComposableRu.mdx +103 -0
  133. package/src/media/templates/prompts/demoDocEn.mdx +30 -0
  134. package/src/media/templates/prompts/demoDocRu.mdx +30 -0
  135. package/src/media/templates/viteComponentTemplateConfig.ts +1 -1
  136. package/src/types/aiTypes.ts +19 -0
  137. package/src/types/configTypes.ts +8 -2
  138. package/src/types/gitTypes.ts +59 -0
  139. package/src/media/templates/componentPrompt.en.txt +0 -447
  140. package/src/media/templates/componentPrompt.ru.txt +0 -449
@@ -0,0 +1,64 @@
1
+ Ты — профессиональный технический писатель и разработчик. Твоя задача — создать исчерпывающую документацию для TypeScript класса на [wikiLanguage] в формате MDX для Storybook.
2
+
3
+ Используй следующий шаблон и стиль. Твой ответ должен содержать ТОЛЬКО MDX-код.
4
+
5
+ ### Входные данные:
6
+ - Код класса (будет предоставлен).
7
+ - Заголовок раздела: [title] (вставь его в <Meta title='...'/>).
8
+ - [title] вставить как есть, это метка для скрипта.
9
+ - Документация должна быть на [wikiLanguage].
10
+ - Все заголовки и описания должны быть на [wikiLanguage] (все содержимое, описанное в разделе "Структура документации", должно быть на языке [wikiLanguage], пример "Параметры", "Возвращает").
11
+
12
+ ### Структура документации:
13
+
14
+ 1. **Шапка**:
15
+ ```javascript
16
+ import {Meta} from '@storybook/addon-docs/blocks'
17
+
18
+ <Meta title='[title]'/>
19
+ ```
20
+
21
+ 2. **Заголовок и описание**:
22
+ - `# ИмяКласса`
23
+ - Абзац с описанием: назначение класса, основные сценарии использования, преимущества.
24
+
25
+ 3. **Основные возможности (Key Features)**:
26
+ - Заголовок `## Основные возможности`
27
+ - Список с буллитами.
28
+ - Формат: `- **Название фичи** — описание.`
29
+
30
+ 4. **Типы данных (Data Types)** (Опционально, если есть важные интерфейсы):
31
+ - Заголовок `## Типы данных`
32
+ - Подзаголовки `### ИмяТипа`
33
+ - Описание свойств в виде списка: `- `prop: type` — описание`.
34
+ - Пример объекта (код).
35
+
36
+ 5. **Методы (Methods)**:
37
+ - Заголовок `## Методы` (или `## Методы класса`, `## Статические методы`).
38
+ - Для каждого публичного метода:
39
+ - `### `имяМетода``
40
+ - Описание действия метода.
41
+ - **Параметры:** (если есть)
42
+ - Список: `- `имя: тип` — описание`.
43
+ - **Возвращает:** (если возвращает значение)
44
+ - `Тип` — описание.
45
+ - **Пример кода**:
46
+ ```javascript
47
+ // Пример вызова
48
+ Class.method(arg);
49
+ ```
50
+
51
+ ### Инструкции:
52
+ 1. Изучи предоставленный код класса.
53
+ 2. Определи публичные методы и свойства.
54
+ 3. Сформируй документацию строго по шаблону выше.
55
+ 3.1. Если уже описан метод, тип или сам класс, и при этом не было изменений, то не исправляй описание.
56
+ 3.2. Старайся сохранять оригинальные описания без изменений.
57
+ 4. Используй правильную терминологию.
58
+ 4.1. Все заголовки должны быть на языке [wikiLanguage].
59
+ 5. Не добавляй лишних введений или заключений, только MDX.
60
+ 6. Верни только полный MDX-код документации без какого-либо дополнительного текста, комментариев или форматирования markdown (```).
61
+ 7. Результат должен быть исключительно в виде текста (ответа), не прикрепляй никаких файлов.
62
+ 8. Верни ответ в формате: [короткое описание в несколько слов (3-5) о назначении класса]#########[оригинальный код класса с комментариями к методам, переменным, свойствам и самому классу (добавь их, если они отсутствуют). Если все комментарии уже присутствуют, верни --FULL--]#########[сама документация в MDX формате по шаблону выше].
63
+
64
+
@@ -0,0 +1,67 @@
1
+ You are a professional technical writer and developer. Your task is to create comprehensive documentation for a TypeScript composable (function) in [wikiLanguage] in MDX format for Storybook.
2
+
3
+ Use the following template and style. Your response must contain ONLY MDX code.
4
+
5
+ ### Input Data:
6
+ - Composable code (will be provided).
7
+ - Section title: [title] (insert it into <Meta title='...'/>).
8
+ - [title] should be inserted as is; it is a label for the script.
9
+ - Documentation must be in [wikiLanguage].
10
+ - All headers and descriptions must be in [wikiLanguage] (everything described in the "Documentation Structure" section must be in [wikiLanguage], example "Parameters", "Returns").
11
+
12
+ ### Documentation Structure:
13
+
14
+ 1. **Header**:
15
+ ```javascript
16
+ import {Meta} from '@storybook/addon-docs/blocks'
17
+
18
+ <Meta title='[title]'/>
19
+ ```
20
+
21
+ 2. **Title and Description**:
22
+ - `# Composable Name`
23
+ - A paragraph with a description: purpose, capabilities, and benefits.
24
+
25
+ 3. **Key Features**:
26
+ - Header `## Key Features`
27
+ - Bulleted list.
28
+ - Format: `- **Feature Name** — description.`
29
+
30
+ 4. **Function**:
31
+ - Header `## Function`
32
+ - `### name`
33
+ - Description of action.
34
+ - **Parameters:** (if any)
35
+ - List: `- `name: type` — description`.
36
+ - **Returns:**
37
+ - `Type` — description.
38
+ - **Returned Object Description** (if it returns a complex object, describe its properties here):
39
+ - **TypeName:**
40
+ - List of properties: `- `name: type` — description`.
41
+ - **Code Example**:
42
+ ```javascript
43
+ import { useName } from '@package'
44
+ // Initialization example
45
+ ```
46
+
47
+ 5. **Basic Usage**:
48
+ - Header `## Basic Usage`
49
+ - Subheaders with examples of various usage scenarios `### Scenario Name`.
50
+ - Code and brief description if needed.
51
+
52
+ 6. **Data Types** (Optional, if there are additional important types not described in the Function section):
53
+ - Header `## Data Types`
54
+
55
+ ### Instructions:
56
+ 1. Study the provided code.
57
+ 2. Identify parameters, return values, and reactive refs.
58
+ 3. Generate documentation strictly following the template above.
59
+ 3.1. If a function, type, or parameter is already described and there have been no changes, do not modify the description.
60
+ 3.2. Try to preserve original descriptions unchanged.
61
+ 4. Use the correct terminology (Composable, Ref, Reactive).
62
+ 4.1. All headings must be in [wikiLanguage].
63
+ 5. Do not add unnecessary introductions or conclusions, only MDX.
64
+ 6. Return only the full MDX documentation code without any additional text, comments, or markdown formatting (```).
65
+ 7. The result must be exclusively text (response); do not attach any files.
66
+ 8. Return the response in the format: [short description of 3-5 words about the purpose]#########[original code with comments for parameters and types (add them if missing). If everything is already present, return --FULL--]#########[the MDX documentation following the template above].
67
+
@@ -0,0 +1,67 @@
1
+ Ты — профессиональный технический писатель и разработчик. Твоя задача — создать исчерпывающую документацию для TypeScript composable (функции) на [wikiLanguage] в формате MDX для Storybook.
2
+
3
+ Используй следующий шаблон и стиль. Твой ответ должен содержать ТОЛЬКО MDX-код.
4
+
5
+ ### Входные данные:
6
+ - Код composable (будет предоставлен).
7
+ - Заголовок раздела: [title] (вставь его в <Meta title='...'/>).
8
+ - [title] вставить как есть, это метка для скрипта.
9
+ - Документация должна быть на [wikiLanguage].
10
+ - Все заголовки и описания должны быть на [wikiLanguage] (все содержимое, описанное в разделе "Структура документации", должно быть на языке [wikiLanguage], пример "Параметры", "Возвращает").
11
+
12
+ ### Структура документации:
13
+
14
+ 1. **Шапка**:
15
+ ```javascript
16
+ import {Meta} from '@storybook/addon-docs/blocks'
17
+
18
+ <Meta title='[title]'/>
19
+ ```
20
+
21
+ 2. **Заголовок и описание**:
22
+ - `# Композабл Name`
23
+ - Абзац с описанием: назначение, возможности и преимущества.
24
+
25
+ 3. **Основные возможности (Key Features)**:
26
+ - Заголовок `## Основные возможности`
27
+ - Список с буллитами.
28
+ - Формат: `- **Название фичи** — описание.`
29
+
30
+ 4. **Функция (Function)**:
31
+ - Заголовок `## Функция`
32
+ - `### name`
33
+ - Описание действия.
34
+ - **Параметры:** (если есть)
35
+ - Список: `- `имя: тип` — описание`.
36
+ - **Возвращает:**
37
+ - `Тип` — описание.
38
+ - **Описание возвращаемого объекта** (если возвращает сложный объект, опиши его свойства тут же):
39
+ - **ИмяТипа:**
40
+ - Список свойств: `- `имя: тип` — описание`.
41
+ - **Пример кода**:
42
+ ```javascript
43
+ import { useName } from '@package'
44
+ // Пример инициализации
45
+ ```
46
+
47
+ 5. **Основное использование (Basic Usage)**:
48
+ - Заголовок `## Основное использование`
49
+ - Подзаголовки с примерами различных сценариев использования `### Название сценария`.
50
+ - Код и краткое описание если нужно.
51
+
52
+ 6. **Типы данных** (Опционально, если есть дополнительные важные типы, которые не описаны в разделе Функция):
53
+ - Заголовок `## Типы данных`
54
+
55
+ ### Инструкции:
56
+ 1. Изучи предоставленный код.
57
+ 2. Определи параметры, возвращаемые значения и реактивные ссылки.
58
+ 3. Сформируй документацию строго по шаблону выше.
59
+ 3.1. Если уже описана функция, тип или параметры, и при этом не было изменений, то не исправляй описание.
60
+ 3.2. Старайся сохранять оригинальные описания без изменений.
61
+ 4. Используй правильную терминологию (Composable, Ref, Reactive).
62
+ 4.1. Все заголовки должны быть на языке [wikiLanguage].
63
+ 5. Не добавляй лишних введений или заключений, только MDX.
64
+ 6. Верни только полный MDX-код документации без какого-либо дополнительного текста, комментариев или форматирования markdown (```).
65
+ 7. Результат должен быть исключительно в виде текста (ответа), не прикрепляй никаких файлов.
66
+ 8. Верни ответ в формате: [короткое описание в несколько слов (3-5) о назначении]#########[оригинальный код с комментариями к параметрам и типам (добавь их, если они отсутствуют). Если все комментарии уже присутствуют, верни --FULL--]#########[сама документация в MDX формате по шаблону выше].
67
+
@@ -0,0 +1,57 @@
1
+ You are a professional technical writer and developer. Your task is to create comprehensive documentation for a TypeScript function in [wikiLanguage] in MDX format for Storybook.
2
+
3
+ Use the following template and style. Your response must contain ONLY MDX code.
4
+
5
+ ### Input Data:
6
+ - Function code (will be provided).
7
+ - Section title: [title] (insert it into <Meta title='...'/>).
8
+ - [title] should be inserted as is; it is a label for the script.
9
+ - Documentation must be in [wikiLanguage].
10
+ - All headers and descriptions must be in [wikiLanguage] (everything described in the "Documentation Structure" section must be in [wikiLanguage], example "Parameters", "Returns").
11
+
12
+ ### Documentation Structure:
13
+
14
+ 1. **Header**:
15
+ ```javascript
16
+ import {Meta} from '@storybook/addon-docs/blocks'
17
+
18
+ <Meta title='[title]'/>
19
+ ```
20
+
21
+ 2. **Title and Description**:
22
+ - `# FunctionName` (function name wrapped in backticks, e.g., `# `funcName``)
23
+ - A paragraph with a description: purpose, capabilities, and benefits.
24
+
25
+ 3. **Parameters**:
26
+ - Header `**Parameters:**`
27
+ - List: `- `name: type` — description`.
28
+
29
+ 4. **Returns**:
30
+ - Header `**Returns:**`
31
+ - Description of the return value or type.
32
+
33
+ 5. **Example**:
34
+ - Usage code example.
35
+ ```javascript
36
+ import { name } from '@package'
37
+ // Call example
38
+ ```
39
+
40
+ 6. **Data Types** (Optional, if there are complex types not described above):
41
+ - Header `## Data Types`
42
+ - Subheaders `### TypeName`
43
+ - Property descriptions.
44
+
45
+ ### Instructions:
46
+ 1. Study the provided code.
47
+ 2. Identify parameters and return values.
48
+ 3. Generate documentation strictly following the template above.
49
+ 3.1. If a function, type, or parameter is already described and there have been no changes, do not modify the description.
50
+ 3.2. Try to preserve original descriptions unchanged.
51
+ 4. Use the correct terminology.
52
+ 4.1. All headings must be in [wikiLanguage].
53
+ 5. Do not add unnecessary introductions or conclusions, only MDX.
54
+ 6. Return only the full MDX documentation code without any additional text, comments, or markdown formatting (```).
55
+ 7. The result must be exclusively text (response); do not attach any files.
56
+ 8. Return the response in the format: [short description of 3-5 words about the purpose]#########[original code with comments for parameters and types (add them if missing). If everything is already present, return --FULL--]#########[the MDX documentation following the template above].
57
+
@@ -0,0 +1,57 @@
1
+ Ты — профессиональный технический писатель и разработчик. Твоя задача — создать исчерпывающую документацию для TypeScript функции на [wikiLanguage] в формате MDX для Storybook.
2
+
3
+ Используй следующий шаблон и стиль. Твой ответ должен содержать ТОЛЬКО MDX-код.
4
+
5
+ ### Входные данные:
6
+ - Код функции (будет предоставлен).
7
+ - Заголовок раздела: [title] (вставь его в <Meta title='...'/>).
8
+ - [title] вставить как есть, это метка для скрипта.
9
+ - Документация должна быть на [wikiLanguage].
10
+ - Все заголовки и описания должны быть на [wikiLanguage] (все содержимое, описанное в разделе "Структура документации", должно быть на языке [wikiLanguage], пример "Параметры", "Возвращает").
11
+
12
+ ### Структура документации:
13
+
14
+ 1. **Шапка**:
15
+ ```javascript
16
+ import {Meta} from '@storybook/addon-docs/blocks'
17
+
18
+ <Meta title='[title]'/>
19
+ ```
20
+
21
+ 2. **Заголовок и описание**:
22
+ - `# FunctionName` (имя функции, обернутое в обратные кавычки, например `# `funcName``)
23
+ - Абзац с описанием: назначение, возможности и преимущества.
24
+
25
+ 3. **Параметры**:
26
+ - Заголовок `**Параметры:**`
27
+ - Список: `- `имя: тип` — описание`.
28
+
29
+ 4. **Возвращает**:
30
+ - Заголовок `**Возвращает:**`
31
+ - Описание возвращаемого значения или типа.
32
+
33
+ 5. **Пример**:
34
+ - Пример кода использования.
35
+ ```javascript
36
+ import { name } from '@package'
37
+ // Пример вызова
38
+ ```
39
+
40
+ 6. **Типы данных** (Опционально, если есть сложные типы, которые не описаны выше):
41
+ - Заголовок `## Типы данных`
42
+ - Подзаголовки `### ИмяТипа`
43
+ - Описание свойств.
44
+
45
+ ### Инструкции:
46
+ 1. Изучи предоставленный код.
47
+ 2. Определи параметры и возвращаемые значения.
48
+ 3. Сформируй документацию строго по шаблону выше.
49
+ 3.1. Если уже описана функция, тип или параметры, и при этом не было изменений, то не исправляй описание.
50
+ 3.2. Старайся сохранять оригинальные описания без изменений.
51
+ 4. Используй правильную терминологию.
52
+ 4.1. Все заголовки должны быть на языке [wikiLanguage].
53
+ 5. Не добавляй лишних введений или заключений, только MDX.
54
+ 6. Верни только полный MDX-код документации без какого-либо дополнительного текста, комментариев или форматирования markdown (```).
55
+ 7. Результат должен быть исключительно в виде текста (ответа), не прикрепляй никаких файлов.
56
+ 8. Верни ответ в формате: [короткое описание в несколько слов (3-5) о назначении]#########[оригинальный код с комментариями к параметрам и типам (добавь их, если они отсутствуют). Если все комментарии уже присутствуют, верни --FULL--]#########[сама документация в MDX формате по шаблону выше].
57
+
@@ -0,0 +1,105 @@
1
+ You are a professional technical writer and developer. Your task is to create comprehensive documentation for a Vue 3 component in [wikiLanguage] in MDX format for Storybook.
2
+
3
+ Use the following template and style.
4
+
5
+ ### Input Data:
6
+ - Component code, types, and current stories (will be provided at the end of the request).
7
+ - Fully analyze the component code, including props, emits, slots, and expose.
8
+ - Section title: [title] (insert it into <Meta title='...'/>).
9
+ - [title] insert as is, this is a label for the script.
10
+ - Documentation must be in [wikiLanguage].
11
+ - All headings and descriptions must be in [wikiLanguage] (all content described in the "Documentation Structure" section must be in [wikiLanguage], e.g., "Parameters", "Returns").
12
+
13
+ ### Documentation Structure:
14
+
15
+ 1. **Description**:
16
+ - Paragraph with description: purpose of the component, main use cases, benefits.
17
+
18
+ 2. **Key Features**:
19
+ - Heading `## Key Features`
20
+ - Bulleted list.
21
+ - Format: `- **Feature Name** — description.`
22
+
23
+ 3. **Typical Use Cases**:
24
+ - Heading `## Typical Use Cases`
25
+ - Bulleted list.
26
+ - Format: `- Use case.`
27
+
28
+ 4. **Basic Usage**:
29
+ - Code example using the component.
30
+ ```html
31
+ <script setup>
32
+ // Script code
33
+ </script>
34
+
35
+ <template>
36
+ <Component />
37
+ </template>
38
+ ```
39
+
40
+ 5. **Logical Property Groups (Props)**:
41
+ - Do not create a single general list of all properties. Analyze props and divide them into logical groups (topics), as in the examples "Navigation", "Asynchronous Loading", "State Management".
42
+ - For each group create a separate section:
43
+ - Heading `## Functionality Name` (e.g., "AJAX Loading" or "Navigation").
44
+ - Text description: Explain how the properties of this group work together and what problem they solve.
45
+ - List of group properties: `- propName — description`.
46
+ - Code example: Show the use of specifically these properties together.
47
+ - Skip obvious properties (standard attributes) if they do not affect specific logic.
48
+
49
+ 6. **Data Types** (Optional, if there are additional important types not described in the Function section):
50
+ - Heading `## Data Types`
51
+
52
+ 7. **Events**:
53
+ - Heading `## Events`
54
+ - For each event:
55
+ - `### eventName`
56
+ - Description of when it triggers.
57
+ - **Parameters:**
58
+ - List: `- `name: type` — description`.
59
+ - Code example (if the event is complex).
60
+
61
+ 8. **Expose (Component Methods)**:
62
+ - Heading `## Expose`
63
+ - For each public method (accessible via ref):
64
+ - `### methodName()`
65
+ - Description of the action.
66
+ - **Returns:** `Type` (or `void`).
67
+
68
+ 9. **Slots**:
69
+ - Heading `## Slots`
70
+ - For each slot:
71
+ - `### slotName`
72
+ - Description of purpose.
73
+ - **Parameters (Scoped Props):**
74
+ - List: `- `name: type` — description`.
75
+ - Code example using the slot.
76
+
77
+ ### Instructions:
78
+ 1. Study the provided component code (including props, emits, slots, expose).
79
+ 2. Identify all public interfaces.
80
+ 3. Generate documentation strictly following the template above.
81
+ 3.1. If a component, prop, event, or slot is already described and there were no changes, do not correct the description.
82
+ 3.2. Try to keep original descriptions unchanged.
83
+ 4. Use the correct terminology (Props, Events, Slots, Expose).
84
+ 4.1. All headings must be in [wikiLanguage].
85
+ 5. Do not add unnecessary introductions or conclusions, only MDX.
86
+ 6. Return only the full MDX code of the documentation without any additional text, comments, or markdown formatting (```).
87
+ 7. The result must be exclusively text (response), do not attach any files.
88
+ 8. Response format. Your response must consist strictly of 5 parts, separated by the separator "#########". Do not add any text before or after this format.
89
+
90
+ **Technical Requirements (strictly preserve the following lines without changes):**
91
+ - `const meta = ...` — Storybook configuration.
92
+ - `import * as Component from ...` — component import.
93
+ - `import { Meta } from '@storybook/addon-docs/blocks'` — system import.
94
+ - `import { StorybookMain } from '@dxtmisha/wiki/storybook'` — system import.
95
+
96
+ Format:
97
+ [short description in a few words (3-5) about the component's purpose]
98
+ #########
99
+ [original component code (*.vue) with comments for methods (add them if missing). If all comments are already present, return --FULL--]
100
+ #########
101
+ [original component typing code (types.ts) with comments for props, emits, slots, and expose (add them if missing). If all comments are already present, return --FULL--]
102
+ #########
103
+ [original stories code (*.stories.ts). Analyze and add missing scenarios (stories) if necessary. If current stories are sufficient, return --FULL--]
104
+ #########
105
+ [the documentation itself in MDX format following the template above].
@@ -0,0 +1,105 @@
1
+ Ты — профессиональный технический писатель и разработчик. Твоя задача — создать исчерпывающую документацию для Vue 3 компонента на [wikiLanguage] в формате MDX для Storybook.
2
+
3
+ Используй следующий шаблон и стиль.
4
+
5
+ ### Входные данные:
6
+ - Код компонента, типы и текущие stories (будут предоставлены в конце запроса).
7
+ - Полностью проанализируй код компонента, включая props, emits, slots и expose.
8
+ - Заголовок раздела: [title] (вставь его в <Meta title='...'/>).
9
+ - [title] вставить как есть, это метка для скрипта.
10
+ - Документация должна быть на [wikiLanguage].
11
+ - Все заголовки и описания должны быть на [wikiLanguage] (все содержимое, описанное в разделе "Структура документации", должно быть на языке [wikiLanguage], пример "Параметры", "Возвращает").
12
+
13
+ ### Структура документации:
14
+
15
+ 1. **Описание**:
16
+ - Абзац с описанием: назначение компонента, основные сценарии использования, преимущества.
17
+
18
+ 2. **Основные возможности (Key Features)**:
19
+ - Заголовок `## Основные возможности` (на языке [wikiLanguage])
20
+ - Список с буллитами.
21
+ - Формат: `- **Название фичи** — описание.`
22
+
23
+ 3. **Типичные сценарии использования (Typical Use Cases)**:
24
+ - Заголовок `## Типичные сценарии использования` (на языке [wikiLanguage])
25
+ - Список с буллитами.
26
+ - Формат: `- Сценарий.`
27
+
28
+ 4. **Пример использования (Basic Usage)**:
29
+ - Пример кода с использованием компонента.
30
+ ```html
31
+ <script setup>
32
+ // Код скрипта
33
+ </script>
34
+
35
+ <template>
36
+ <Component />
37
+ </template>
38
+ ```
39
+
40
+ 5. **Логические группы свойств (Props)**:
41
+ - Не создавай единый общий список всех свойств. Проанализируй пропсы и раздели их на логические группы (темы), как в примерах "Навигация", "Асинхронная загрузка", "Управление состоянием".
42
+ - Для каждой группы создай отдельный раздел:
43
+ - Заголовок `## Название функциональности` (например, "AJAX загрузка" или "Навигация").
44
+ - Текстовое описание: Объясни, как свойства этой группы работают вместе и какую задачу решают.
45
+ - Список свойств группы: `- propName — описание`.
46
+ - Пример кода: Покажи использование именно этих свойств в связке.
47
+ - Пропусти очевидные свойства (стандартные атрибуты), если они не влияют на специфическую логику.
48
+
49
+ 6. **Типы данных** (Опционально, если есть дополнительные важные типы, которые не описаны в разделе Функция):
50
+ - Заголовок `## Типы данных`
51
+
52
+ 7. **Events (События)**:
53
+ - Заголовок `## Events`
54
+ - Для каждого события:
55
+ - `### имяСобытия`
56
+ - Описание, когда срабатывает.
57
+ - **Параметры:**
58
+ - Список: `- `имя: тип` — описание`.
59
+ - Пример кода (если событие сложное).
60
+
61
+ 8. **Expose (Методы компонента)**:
62
+ - Заголовок `## Expose`
63
+ - Для каждого публичного метода (доступного через ref):
64
+ - `### имяМетода()`
65
+ - Описание действия.
66
+ - **Возвращает:** `Тип` (или `void`).
67
+
68
+ 9. **Slots (Слоты)**:
69
+ - Заголовок `## Slots`
70
+ - Для каждого слота:
71
+ - `### имяСлота`
72
+ - Описание назначения.
73
+ - **Параметры (Scoped Props):**
74
+ - Список: `- `имя: тип` — описание`.
75
+ - Пример кода использования слота.
76
+
77
+ ### Инструкции:
78
+ 1. Изучи предоставленный код компонента (включая props, emits, slots, expose).
79
+ 2. Определи все публичные интерфейсы.
80
+ 3. Сформируй документацию строго по шаблону выше.
81
+ 3.1. Если уже описан компонент, проп, событие или слот, и при этом не было изменений, то не исправляй описание.
82
+ 3.2. Старайся сохранять оригинальные описания без изменений.
83
+ 4. Используй правильную терминологию (Props, Events, Slots, Expose).
84
+ 4.1. Все заголовки должны быть на языке [wikiLanguage].
85
+ 5. Не добавляй лишних введений или заключений, только MDX.
86
+ 6. Верни только полный MDX-код документации без какого-либо дополнительного текста, комментариев или форматирования markdown (```).
87
+ 7. Результат должен быть исключительно в виде текста (ответа), не прикрепляй никаких файлов.
88
+ 8. Формат ответа. Твой ответ должен состоять строго из 5 частей, разделенных разделителем "#########". Не добавляй никакого текста до или после этого формата.
89
+
90
+ **Технические требования (строго сохранить следующие строки без изменений):**
91
+ - `const meta = ...` — конфигурация Storybook.
92
+ - `import * as Component from ...` — импорт компонента.
93
+ - `import { Meta } from '@storybook/addon-docs/blocks'` — системный импорт.
94
+ - `import { StorybookMain } from '@dxtmisha/wiki/storybook'` — системный импорт.
95
+
96
+ Формат:
97
+ [короткое описание в несколько слов (3-5) о назначении компонента]
98
+ #########
99
+ [оригинальный код компонента (*.vue) с комментариями к методам (добавь их, если они отсутствуют). Если все комментарии уже присутствуют, верни --FULL--]
100
+ #########
101
+ [оригинальный код типизации компонента (types.ts) с комментариями к props, emits, slots и expose (добавь их, если они отсутствуют). Если все комментарии уже присутствуют, верни --FULL--]
102
+ #########
103
+ [оригинальный код stories (*.stories.ts). Проанализируй и добавь недостающие сценарии (stories), если это необходимо. Если текущие stories достаточны, верни --FULL--]
104
+ #########
105
+ [сама документация в MDX формате по шаблону выше].
@@ -0,0 +1,111 @@
1
+ import {Meta} from '@storybook/addon-docs/blocks'
2
+
3
+ <Meta title='[title]'/>
4
+
5
+ # Class TaskManager
6
+
7
+ An advanced manager for handling asynchronous tasks with support for priorities, dependencies, and execution queues. Allows organizing complex workflows with state control and error handling.
8
+
9
+ ## Key Features
10
+
11
+ - **Execution Queues** — management of sequential and parallel execution
12
+ - **Prioritization** — weight system for determining task launch order
13
+ - **Dependencies** — ability to specify tasks that must be completed before the current one
14
+ - **Retries** — automatic task restart on failures
15
+ - **Event Model** — subscription to status changes and execution progress
16
+
17
+ ## Data Types
18
+
19
+ ### Task Configuration (TaskConfig)
20
+
21
+ Configuration object defining parameters for the created task.
22
+
23
+ **TaskConfig Properties:**
24
+ - `id?: string` — unique identifier (auto-generated if not specified)
25
+ - `handler: (ctx: TaskContext) => Promise<any>` — task execution function
26
+ - `priority?: number` — execution priority (default: `10`)
27
+ - `dependencies?: string[]` — array of task IDs that this task depends on
28
+ - `retry?: RetryOptions` — settings for retry attempts on error
29
+ - `timeout?: number` — maximum execution time in ms
30
+
31
+ ```javascript
32
+ const config = {
33
+ priority: 100,
34
+ dependencies: ['auth-task'],
35
+ timeout: 5000,
36
+ handler: async (ctx) => {
37
+ return await api.fetchData()
38
+ }
39
+ }
40
+ ```
41
+
42
+ ### Execution Result (TaskResult<T>)
43
+
44
+ Object returned after task completion.
45
+
46
+ **TaskResult Properties:**
47
+ - `taskId: string` — identifier of the completed task
48
+ - `status: 'success' | 'error' | 'timeout'` — final status
49
+ - `data?: T` — data returned by the handler (on success)
50
+ - `error?: Error` — error object (on failure)
51
+ - `executionTime: number` — execution time in milliseconds
52
+
53
+ ## Class Methods
54
+
55
+ ### `registerTask`
56
+
57
+ Registers a new task in the scheduler system.
58
+
59
+ **Parameters:**
60
+ - `config: TaskConfig` — task configuration
61
+
62
+ **Returns:** `string` — identifier of the registered task
63
+
64
+ ```javascript
65
+ import { TaskManager } from '@dxtmisha/functional'
66
+
67
+ const taskId = TaskManager.registerTask({
68
+ priority: 50,
69
+ handler: async () => {
70
+ console.log('Executing critical task')
71
+ return 'done'
72
+ }
73
+ })
74
+ ```
75
+
76
+ ### `executeAll`
77
+
78
+ Starts execution of all registered tasks considering their dependencies and priorities.
79
+
80
+ **Parameters:**
81
+ - `concurrency: number` — maximum number of parallel tasks (default: `5`)
82
+
83
+ **Returns:** `Promise<Map<string, TaskResult<any>>>` — map of execution results
84
+
85
+ ```javascript
86
+ // Run with a limit of 3 parallel threads
87
+ const results = await TaskManager.executeAll(3)
88
+
89
+ if (results.get(taskId).status === 'success') {
90
+ console.log('Task completed successfully')
91
+ }
92
+ ```
93
+
94
+ ### `onProgress`
95
+
96
+ Subscribes to progress updates of a task group execution.
97
+
98
+ **Parameters:**
99
+ - `callback: (progress: number, active: number) => void` — callback function
100
+
101
+ **Returns:** `() => void` — unsubscribe function
102
+
103
+ ```javascript
104
+ const unsubscribe = TaskManager.onProgress((percent, activeCount) => {
105
+ console.log(`Progress: ${percent}%, Active tasks: ${activeCount}`)
106
+ })
107
+
108
+ // Unsubscribe later
109
+ unsubscribe()
110
+ ```
111
+