@retailcrm/embed-ui 0.9.23-alpha.1 → 0.9.23-alpha.3

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/CHANGELOG.md CHANGED
@@ -1,6 +1,14 @@
1
1
  # Changelog
2
2
 
3
3
 
4
+ ## [0.9.23-alpha.3](https://github.com/retailcrm/embed-ui/compare/v0.9.23-alpha.2...v0.9.23-alpha.3) (2026-05-23)
5
+
6
+ ### Features
7
+
8
+ * Contexts MCP init support added ([ff151f4](https://github.com/retailcrm/embed-ui/commit/ff151f47f2cef4d3a8ab0812c481cc5d9ae5ccf9))
9
+ * **v1-contexts:** MCP server for context profiles added ([9f5184b](https://github.com/retailcrm/embed-ui/commit/9f5184bb52e48e5165a12490089d761a4fd5a6cd))
10
+ * **v1-endpoint:** Context profile links added ([996903f](https://github.com/retailcrm/embed-ui/commit/996903fcbea45bd6012bf3f2d2f84426c09f6756))
11
+ ## [0.9.23-alpha.2](https://github.com/retailcrm/embed-ui/compare/v0.9.23-alpha.1...v0.9.23-alpha.2) (2026-05-22)
4
12
  ## [0.9.23-alpha.1](https://github.com/retailcrm/embed-ui/compare/v0.9.22...v0.9.23-alpha.1) (2026-05-22)
5
13
 
6
14
  ### Features
package/README.md CHANGED
@@ -60,7 +60,7 @@ npx @retailcrm/embed-ui init ./web --package-manager yarn
60
60
  - шаблон — создается стартовая конфигурация для страницы настроек и виджета `order/card:common.after`;
61
61
  - каталоги — создаются `endpoint`, `pages`, `widgets`, `shared`, `i18n` и `i18n/locales` внутри frontend-каталога;
62
62
  - `AGENTS.md` — создается или дополняется инструкциями корневого пакета и выбранных пакетов;
63
- - MCP — добавляется `.mcp.json` для `v1-endpoint`;
63
+ - MCP — добавляется `.mcp.json` для выбранных пакетов с MCP (`v1-contexts` и `v1-endpoint`);
64
64
  - project-level client configs для Codex CLI, Cursor, Junie и VS Code — не создаются без `--mcp-client-configs`;
65
65
  - Git — в неинтерактивном режиме не инициализируется без `--git`, а в интерактивном режиме предлагается, если корень проекта не является Git-репозиторием;
66
66
  - существующие файлы не перезаписываются, а зависимости с потенциальным конфликтом не заменяются без явных force-флагов.
@@ -104,12 +104,20 @@ npx @retailcrm/embed-ui init ./web --force --no-install --no-template
104
104
  При `init` CLI добавляет общий раздел в `AGENTS.md`, а пакеты могут добавить свои инструкции. Сейчас это используют:
105
105
 
106
106
  - `@retailcrm/embed-ui-v1-components` — добавляет порядок чтения README, AI-документации и YAML-профилей компонентов.
107
+ - `@retailcrm/embed-ui-v1-contexts` — добавляет инструкции по контекстам, actions, custom contexts и MCP-ресурсам.
107
108
  - `@retailcrm/embed-ui-v1-endpoint` — добавляет инструкции по целям виджетов и MCP-ресурсам.
108
109
 
109
- Для `v1-endpoint` также создается `.mcp.json` с сервером `retailcrm-embed-ui-v1-endpoint`. Этот файл рассчитан на
110
- Claude Code project scope и использует `${CLAUDE_PROJECT_DIR:-.}/node_modules/.bin/embed-ui-v1-endpoint-mcp`, чтобы
111
- сервер резолвился относительно открытого проекта. MCP отдает AI-friendly описания целей виджетов через ресурсы:
112
-
110
+ Для `v1-contexts` и `v1-endpoint`, если эти пакеты выбраны для установки, также создается `.mcp.json` с серверами
111
+ `retailcrm-embed-ui-v1-contexts` и `retailcrm-embed-ui-v1-endpoint`. Этот файл рассчитан на Claude Code project scope
112
+ и использует `${CLAUDE_PROJECT_DIR:-.}/node_modules/.bin/...`, чтобы серверы резолвились относительно открытого проекта.
113
+ MCP отдает AI-friendly описания через ресурсы:
114
+
115
+ - `embed-ui-v1-contexts://contexts`;
116
+ - `embed-ui-v1-contexts://contexts/<encoded-context>`;
117
+ - `embed-ui-v1-contexts://actions`;
118
+ - `embed-ui-v1-contexts://actions/<encoded-scope>`;
119
+ - `embed-ui-v1-contexts://custom-contexts`;
120
+ - `embed-ui-v1-contexts://custom-contexts/<encoded-entity>`;
113
121
  - `embed-ui-v1-endpoint://targets`;
114
122
  - `embed-ui-v1-endpoint://targets/<encoded-target>`.
115
123
 
@@ -123,7 +131,7 @@ npx @retailcrm/embed-ui init ./web --no-install --mcp-client-configs codex,curso
123
131
  Для Codex CLI создается `.codex/config.toml`. Codex подхватывает его только в trusted project, поэтому после генерации
124
132
  проект нужно открыть/перезапустить в Codex и доверить ему проект, если клиент спросит. User-level подключение через
125
133
  `codex mcp add` намеренно не выполняется автоматически: на одной машине могут быть проекты с разными версиями
126
- `@retailcrm/embed-ui-v1-endpoint`, а user-level серверы с одинаковыми MCP resource URI могут конфликтовать между собой.
134
+ `@retailcrm/embed-ui*`, а user-level серверы с одинаковыми MCP resource URI могут конфликтовать между собой.
127
135
  Для Cursor и VS Code CLI генерирует project-level конфиги с `${workspaceFolder}/node_modules/.bin/...`; для Junie
128
136
  остается относительный `./node_modules/.bin/...`.
129
137
 
package/bin/embed-ui.mjs CHANGED
@@ -253,7 +253,23 @@ const INSTALLABLE_PACKAGES = [
253
253
  id: "contexts",
254
254
  name: "@retailcrm/embed-ui-v1-contexts",
255
255
  section: "dependencies",
256
- description: "Реактивные контексты RetailCRM JS API."
256
+ description: "Реактивные контексты RetailCRM JS API.",
257
+ hooks: [
258
+ {
259
+ type: "agents",
260
+ binName: "embed-ui-v1-contexts",
261
+ command: "init-agents",
262
+ failureMode: "advisory",
263
+ requiresMcp: true
264
+ },
265
+ {
266
+ type: "config",
267
+ binName: "embed-ui-v1-contexts",
268
+ command: "init-config",
269
+ failureMode: "advisory",
270
+ requiresMcp: true
271
+ }
272
+ ]
257
273
  },
258
274
  {
259
275
  id: "types",
@@ -1223,7 +1239,10 @@ const applyInitPreflight = (cwd, sourceRoot, packageManager, selectedPackages, v
1223
1239
  }
1224
1240
  analyzeTemplateFileSkips(cwd, sourceRoot, options, changes);
1225
1241
  if (hasEnabledMcpConfigHook(selectedPackages, options)) {
1226
- changes.preflight.push("v1-endpoint init-config: enabled");
1242
+ const packageNames = selectedPackages.filter(
1243
+ (selectedPackage) => selectedPackage.hooks?.some((hook) => hook.type === "config" && hook.requiresMcp) ?? false
1244
+ ).map((selectedPackage) => selectedPackage.id).join(", ");
1245
+ changes.preflight.push(`package MCP init-config: enabled for ${packageNames}`);
1227
1246
  if (options.mcpClientConfigs?.length) {
1228
1247
  changes.preflight.push(`MCP client configs requested: ${options.mcpClientConfigs.join(", ")}`);
1229
1248
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@retailcrm/embed-ui",
3
3
  "type": "module",
4
- "version": "0.9.23-alpha.1",
4
+ "version": "0.9.23-alpha.3",
5
5
  "description": "API and components for creating RetailCRM UI extensions",
6
6
  "repository": {
7
7
  "type": "git",
@@ -57,10 +57,10 @@
57
57
  "@omnicajs/symfony-router": "^1.0.0",
58
58
  "@omnicajs/vue-remote": "^0.2.24",
59
59
  "@remote-ui/rpc": "^1.4.5",
60
- "@retailcrm/embed-ui-v1-components": "^0.9.23-alpha.1",
61
- "@retailcrm/embed-ui-v1-contexts": "^0.9.23-alpha.1",
62
- "@retailcrm/embed-ui-v1-endpoint": "^0.9.23-alpha.1",
63
- "@retailcrm/embed-ui-v1-types": "^0.9.23-alpha.1",
60
+ "@retailcrm/embed-ui-v1-components": "^0.9.23-alpha.3",
61
+ "@retailcrm/embed-ui-v1-contexts": "^0.9.23-alpha.3",
62
+ "@retailcrm/embed-ui-v1-endpoint": "^0.9.23-alpha.3",
63
+ "@retailcrm/embed-ui-v1-types": "^0.9.23-alpha.3",
64
64
  "yargs": "^17.7.2"
65
65
  },
66
66
  "devDependencies": {
@@ -69,7 +69,7 @@
69
69
  "@modulify/git-toolkit": "^0.0.2",
70
70
  "@modulify/pkg": "^1.0.1",
71
71
  "@omnicajs/eslint-plugin-dependencies": "^0.0.2",
72
- "@retailcrm/embed-ui-v1-testing": "^0.9.23-alpha.1",
72
+ "@retailcrm/embed-ui-v1-testing": "^0.9.23-alpha.3",
73
73
  "@types/git-semver-tags": "^7.0.0",
74
74
  "@types/node": "^22.19.2",
75
75
  "@types/semver": "^7.7.1",