@deepseek-ai/dsh-experimental-client-ui-claude-code-mods 0.2.1-rc.4 → 0.2.2-alpha.2

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/lib/client.js CHANGED
@@ -374,7 +374,7 @@ window.__ModuleLoader__.load({
374
374
  }, zod.z);
375
375
  //#endregion
376
376
  //#region \0dsh-css:/home/runner/work/deepseek-harness/deepseek-harness/packages/experimental/client-ui-claude-code-mods/src/client/Band.module.css.mjs
377
- const css = ".rLFjeG_band{background:var(--dsw-alias-bg-layer-1,transparent);color:var(--dsw-alias-label-primary);font-family:var(--dsw-font-mono,ui-monospace, SFMono-Regular, Menlo, monospace);white-space:pre-wrap;border-radius:8px;flex-direction:column;gap:2px;padding:6px 10px;font-size:12px;line-height:18px;display:flex}.rLFjeG_box{min-width:0;display:flex}.rLFjeG_box[data-direction=row]{flex-flow:wrap;align-items:center}.rLFjeG_box[data-direction=column]{flex-direction:column}.rLFjeG_box[data-border]{border:.5px solid var(--dsw-alias-border-l2);border-radius:6px}.rLFjeG_text{display:inline}.rLFjeG_text[data-bold]{font-weight:600}.rLFjeG_text[data-dim]{color:var(--dsw-alias-label-tertiary)}.rLFjeG_text[data-italic]{font-style:italic}.rLFjeG_text[data-underline]{text-decoration:underline}[data-color=yellow]{color:var(--dsw-alias-state-warn-primary)}[data-color=red]{color:var(--dsw-alias-state-error-primary)}[data-color=green]{color:var(--dsw-alias-state-success-primary)}[data-color=cyan],[data-color=blue]{color:var(--dsw-alias-button-info-fill)}[data-color=magenta]{color:var(--dsw-alias-state-business-primary)}[data-color=gray]{color:var(--dsw-alias-label-tertiary)}[data-color=white],[data-color=black]{color:var(--dsw-alias-label-primary)}.rLFjeG_box[data-border][data-color=yellow]{border-color:var(--dsw-alias-state-warn-primary)}.rLFjeG_box[data-border][data-color=red]{border-color:var(--dsw-alias-state-error-primary)}.rLFjeG_box[data-border][data-color=green]{border-color:var(--dsw-alias-state-success-primary)}.rLFjeG_box[data-border][data-color=cyan],.rLFjeG_box[data-border][data-color=blue]{border-color:var(--dsw-alias-button-info-fill)}.rLFjeG_box[data-border][data-color=magenta]{border-color:var(--dsw-alias-state-business-primary)}.rLFjeG_button{border:.5px solid var(--dsw-alias-border-l2);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:4px;margin:0 2px;padding:1px 8px;line-height:16px;display:inline-flex}.rLFjeG_button:hover,.rLFjeG_button:focus-visible{background:var(--dsw-alias-interactive-bg-hover)}.rLFjeG_button:disabled{cursor:default;opacity:.6}.rLFjeG_hotkey{color:var(--dsw-alias-label-tertiary);font-size:11px}.rLFjeG_notice{color:var(--dsw-alias-state-error-primary);font-size:11px}";
377
+ const css = ".rLFjeG_band{background:var(--dsw-alias-bg-layer-1,transparent);color:var(--dsw-alias-label-primary);font-family:var(--dsw-font-mono,ui-monospace, SFMono-Regular, Menlo, monospace);white-space:pre-wrap;border-radius:8px;flex-direction:column;gap:2px;padding:6px 10px;font-size:12px;line-height:18px;display:flex}.rLFjeG_box{min-width:0;display:flex}.rLFjeG_box[data-direction=row]{flex-flow:wrap;align-items:center}.rLFjeG_box[data-direction=column]{flex-direction:column}.rLFjeG_box[data-border]{border:.5px solid var(--dsw-alias-border-l2);border-radius:6px}.rLFjeG_text{display:inline}.rLFjeG_text[data-bold]{font-weight:600}.rLFjeG_text[data-dim]{color:var(--dsw-alias-label-tertiary)}.rLFjeG_text[data-italic]{font-style:italic}.rLFjeG_text[data-underline]{text-decoration:underline}[data-color=yellow]{color:var(--dsw-alias-state-warn-primary)}[data-color=red]{color:var(--dsw-alias-state-error-primary)}[data-color=green]{color:var(--dsw-alias-state-success-primary)}[data-color=cyan],[data-color=blue]{color:var(--dsw-alias-button-info-fill)}[data-color=magenta]{color:var(--dsw-alias-state-business-primary)}[data-color=gray]{color:var(--dsw-alias-label-tertiary)}[data-color=white],[data-color=black]{color:var(--dsw-alias-label-primary)}.rLFjeG_box[data-border][data-color=yellow]{border-color:var(--dsw-alias-state-warn-primary)}.rLFjeG_box[data-border][data-color=red]{border-color:var(--dsw-alias-state-error-primary)}.rLFjeG_box[data-border][data-color=green]{border-color:var(--dsw-alias-state-success-primary)}.rLFjeG_box[data-border][data-color=cyan],.rLFjeG_box[data-border][data-color=blue]{border-color:var(--dsw-alias-button-info-fill)}.rLFjeG_box[data-border][data-color=magenta]{border-color:var(--dsw-alias-state-business-primary)}.rLFjeG_button{border:.5px solid var(--dsw-alias-border-l2);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:4px;margin:0 2px;padding:1px 8px;line-height:16px;display:inline-flex}.rLFjeG_button:focus-visible{background:var(--dsw-alias-interactive-bg-hover)}@media (hover:hover){.rLFjeG_button:hover{background:var(--dsw-alias-interactive-bg-hover)}}.rLFjeG_button:disabled{cursor:default;opacity:.6}.rLFjeG_hotkey{color:var(--dsw-alias-label-tertiary);font-size:11px}.rLFjeG_notice{color:var(--dsw-alias-state-error-primary);font-size:11px}";
378
378
  const tagId = "@deepseek-ai/dsh-experimental-client-ui-claude-code-mods/Band.module.css";
379
379
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
380
380
  const tag = document.createElement("style");
@@ -544,6 +544,48 @@ window.__ModuleLoader__.load({
544
544
  "press.failed": "The button failed: {message}",
545
545
  "press.stale": "That button belonged to an earlier drawing; the band has refreshed"
546
546
  };
547
+ /** Japanese copy, checked against the English keys. */
548
+ const ja = {
549
+ "band": "Claude Code の改造",
550
+ "pressing": "実行中…",
551
+ "press.failed": "ボタンが失敗しました: {message}",
552
+ "press.stale": "そのボタンは以前の描画のものです。バンドは更新されました"
553
+ };
554
+ /** Spanish dictionary, checked against the English keys. */
555
+ const es = {
556
+ band: "Modificaciones Claude Code",
557
+ pressing: "Trabajando…",
558
+ "press.failed": "El botón falló: {message}",
559
+ "press.stale": "Ese botón pertenecía a un dibujo anterior; la banda se ha renovado"
560
+ };
561
+ /** French dictionary, checked against the English keys. */
562
+ const fr = {
563
+ band: "Mods Claude Code",
564
+ pressing: "Travailler…",
565
+ "press.failed": "Le bouton a échoué\xA0: {message}",
566
+ "press.stale": "Ce bouton appartenait à un dessin antérieur\xA0; le groupe s'est rafraîchi"
567
+ };
568
+ /** German dictionary, checked against the English keys. */
569
+ const de = {
570
+ band: "Claude Code-Mods",
571
+ pressing: "Arbeiten…",
572
+ "press.failed": "Die Schaltfläche ist fehlgeschlagen: {message}",
573
+ "press.stale": "Dieser Knopf gehörte zu einer früheren Zeichnung; Die Band hat sich erfrischt"
574
+ };
575
+ /** Russian dictionary, checked against the English keys. */
576
+ const ru = {
577
+ band: "Claude Code моды",
578
+ pressing: "Работаю…",
579
+ "press.failed": "Кнопка не удалась: {message}",
580
+ "press.stale": "Эта кнопка принадлежала более раннему рисунку; группа обновилась"
581
+ };
582
+ /** Portuguese dictionary, checked against the English keys. */
583
+ const pt = {
584
+ band: "Claude Code modificações",
585
+ pressing: "Trabalhando…",
586
+ "press.failed": "O botão falhou: {message}",
587
+ "press.stale": "Esse botão pertencia a um desenho anterior; a banda se atualizou"
588
+ };
547
589
  //#endregion
548
590
  //#region lib/types/client/mount.js
549
591
  /** Source-safe browser registration of the mods band: the Remote stream behind a store, the dock entry, the press. */
@@ -603,7 +645,13 @@ window.__ModuleLoader__.load({
603
645
  function registerUi(ctx) {
604
646
  ctx.effect(() => ctx.locale.register(NS, {
605
647
  zh,
606
- en
648
+ en,
649
+ ja,
650
+ es,
651
+ fr,
652
+ de,
653
+ ru,
654
+ pt
607
655
  }), "client-ui-claude-code-mods: dictionaries");
608
656
  const watches = /* @__PURE__ */ new Map();
609
657
  ctx.effect(() => () => {
@@ -17,4 +17,46 @@ export declare const en: {
17
17
  'press.failed': string;
18
18
  'press.stale': string;
19
19
  };
20
+ /** Japanese copy, checked against the English keys. */
21
+ export declare const ja: {
22
+ band: string;
23
+ pressing: string;
24
+ 'press.failed': string;
25
+ 'press.stale': string;
26
+ };
27
+ /** Spanish dictionary, checked against the English keys. */
28
+ export declare const es: {
29
+ band: string;
30
+ pressing: string;
31
+ 'press.failed': string;
32
+ 'press.stale': string;
33
+ };
34
+ /** French dictionary, checked against the English keys. */
35
+ export declare const fr: {
36
+ band: string;
37
+ pressing: string;
38
+ 'press.failed': string;
39
+ 'press.stale': string;
40
+ };
41
+ /** German dictionary, checked against the English keys. */
42
+ export declare const de: {
43
+ band: string;
44
+ pressing: string;
45
+ 'press.failed': string;
46
+ 'press.stale': string;
47
+ };
48
+ /** Russian dictionary, checked against the English keys. */
49
+ export declare const ru: {
50
+ band: string;
51
+ pressing: string;
52
+ 'press.failed': string;
53
+ 'press.stale': string;
54
+ };
55
+ /** Portuguese dictionary, checked against the English keys. */
56
+ export declare const pt: {
57
+ band: string;
58
+ pressing: string;
59
+ 'press.failed': string;
60
+ 'press.stale': string;
61
+ };
20
62
  //# sourceMappingURL=locales.d.ts.map
package/locale/de.json ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "meta": {
3
+ "title": "Claude Code Mods-Schnittstelle",
4
+ "description": "Zeigen Sie den Erweiterungsbaum jeder Sitzung über dem Eingabefeld an und senden Sie Schaltflächenaktionen an den Erweiterungsdienst."
5
+ }
6
+ }
package/locale/en.json ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "meta": {
3
+ "title": "Claude Code mods interface",
4
+ "description": "Display each session's extension tree above the input box and send button actions to the extension service."
5
+ }
6
+ }
package/locale/es.json ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "meta": {
3
+ "title": "Interfaz de modificaciones Claude Code",
4
+ "description": "Muestre el árbol de extensión de cada sesión encima del cuadro de entrada y envíe acciones de botones al servicio de extensión."
5
+ }
6
+ }
package/locale/fr.json ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "meta": {
3
+ "title": "Interface de mods Claude Code",
4
+ "description": "Affichez l'arborescence des extensions de chaque session au-dessus de la zone de saisie et envoyez les actions des boutons au service d'extension."
5
+ }
6
+ }
package/locale/ja.json ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "meta": {
3
+ "title": "Claude Code mods UI",
4
+ "description": "入力欄の上に各セッションの拡張ツリーを表示し、ボタン操作をブリッジサービスに送信します。"
5
+ }
6
+ }
package/locale/pt.json ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "meta": {
3
+ "title": "Claude Code interface de mods",
4
+ "description": "Exiba a árvore de extensão de cada sessão acima da caixa de entrada e envie ações de botão para o serviço de extensão."
5
+ }
6
+ }
package/locale/ru.json ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "meta": {
3
+ "title": "Claude Code интерфейс модов",
4
+ "description": "Отобразите дерево расширений каждого сеанса над полем ввода и отправьте действия кнопок в службу расширений."
5
+ }
6
+ }
package/locale/zh.json ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "meta": {
3
+ "title": "Claude Code 扩展界面",
4
+ "description": "在输入框上方展示各会话的扩展树,并向桥接服务发送按钮操作。"
5
+ }
6
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@deepseek-ai/dsh-experimental-client-ui-claude-code-mods",
3
3
  "description": "Web band above the prompt for Claude Code mods: draws each session's mod tree and sends button presses back to the bridge",
4
- "version": "0.2.1-rc.4",
4
+ "version": "0.2.2-alpha.2",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -23,6 +23,7 @@
23
23
  "default": "./lib/client.js"
24
24
  },
25
25
  "./src/*": "./src/*",
26
+ "./locale/*.json": "./locale/*.json",
26
27
  "./package.json": "./package.json"
27
28
  },
28
29
  "dsh": {
@@ -38,28 +39,29 @@
38
39
  }
39
40
  },
40
41
  "files": [
42
+ "locale/*.json",
41
43
  "lib/index.js",
42
44
  "lib/client.js",
43
45
  "lib/types/**/*.d.ts"
44
46
  ],
45
47
  "license": "MIT",
46
48
  "peerDependencies": {
47
- "@deepseek-ai/cordis": "~4.0.5"
49
+ "@deepseek-ai/cordis": "~4.0.6-alpha.1"
48
50
  },
49
51
  "devDependencies": {
50
- "@deepseek-ai/cordis": "~4.0.5",
51
- "@deepseek-ai/dsh-api-remotes": "0.2.1-rc.4",
52
- "@deepseek-ai/dsh-api-session-controller": "0.2.1-rc.4",
53
- "@deepseek-ai/dsh-client-locale": "0.2.1-rc.4",
54
- "@deepseek-ai/dsh-client-test-runtime": "0.2.1-rc.4",
55
- "@deepseek-ai/dsh-client-ui-conversation": "0.2.1-rc.4",
56
- "@deepseek-ai/dsh-client-ui-primitives": "0.2.1-rc.4",
57
- "@deepseek-ai/dsh-client-ui-renderer": "0.2.1-rc.4",
58
- "@deepseek-ai/dsh-client-ui-session": "0.2.1-rc.4",
59
- "@deepseek-ai/dsh-client-ui-slots": "0.2.1-rc.4",
60
- "@deepseek-ai/dsh-experimental-claude-code-mods": "0.2.1-rc.4",
61
- "@deepseek-ai/dsh-session": "0.2.1-rc.4",
62
- "@deepseek-ai/dsh-typert-protocol": "0.2.1-rc.4",
52
+ "@deepseek-ai/cordis": "~4.0.6-alpha.1",
53
+ "@deepseek-ai/dsh-api-remotes": "0.2.2-alpha.2",
54
+ "@deepseek-ai/dsh-api-session-controller": "0.2.2-alpha.2",
55
+ "@deepseek-ai/dsh-client-locale": "0.2.2-alpha.2",
56
+ "@deepseek-ai/dsh-client-test-runtime": "0.2.2-alpha.2",
57
+ "@deepseek-ai/dsh-client-ui-conversation": "0.2.2-alpha.2",
58
+ "@deepseek-ai/dsh-client-ui-primitives": "0.2.2-alpha.2",
59
+ "@deepseek-ai/dsh-client-ui-renderer": "0.2.2-alpha.2",
60
+ "@deepseek-ai/dsh-client-ui-session": "0.2.2-alpha.2",
61
+ "@deepseek-ai/dsh-client-ui-slots": "0.2.2-alpha.2",
62
+ "@deepseek-ai/dsh-experimental-claude-code-mods": "0.2.2-alpha.2",
63
+ "@deepseek-ai/dsh-session": "0.2.2-alpha.2",
64
+ "@deepseek-ai/dsh-typert-protocol": "0.2.2-alpha.2",
63
65
  "@testing-library/react": "^16.3.3",
64
66
  "react": "^18.2.0",
65
67
  "react-dom": "^18.2.0"