@nextclaw/ui 0.12.35-beta.3 → 0.12.35-beta.5

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 (116) hide show
  1. package/CHANGELOG.md +126 -0
  2. package/dist/assets/api-BTZui7nj.js +15 -0
  3. package/dist/assets/{book-open--T9dJHnp.js → book-open-qc0UVn6m.js} +1 -1
  4. package/dist/assets/channels-list-page-DBtU_M1Y.js +8 -0
  5. package/dist/assets/{chat-page-DOKLoiqI.js → chat-page-BcoJYo91.js} +2 -2
  6. package/dist/assets/config-split-page-DW8tP9Bc.js +1 -0
  7. package/dist/assets/createLucideIcon-CA0sgoMJ.js +1 -0
  8. package/dist/assets/desktop-update-config-DARSwQG8.js +1 -0
  9. package/dist/assets/dist-D5zsy7pX.js +1 -0
  10. package/dist/assets/dist-DNxIa3pe.js +41 -0
  11. package/dist/assets/doc-browser-B9skxzVo.js +1 -0
  12. package/dist/assets/doc-browser-CwyITRXx.js +1 -0
  13. package/dist/assets/doc-browser-context-Do2qSrB8.js +1 -0
  14. package/dist/assets/{external-link-CZ9bQY0L.js → external-link-C9fbyi6k.js} +1 -1
  15. package/dist/assets/index-BYRP_BMj.css +1 -0
  16. package/dist/assets/index-DckPGTdM.js +103 -0
  17. package/dist/assets/mcp-marketplace-page-BiExW5wq.js +40 -0
  18. package/dist/assets/mcp-marketplace-page-Cj6MDSkE.js +1 -0
  19. package/dist/assets/model-config-DbdY7fF1.js +1 -0
  20. package/dist/assets/notice-card-CyiVcu_Z.js +5 -0
  21. package/dist/assets/play-D-s0C4MN.js +1 -0
  22. package/dist/assets/plus-DOwjM_kF.js +1 -0
  23. package/dist/assets/provider-scoped-model-input-Bk8jlpRm.js +1 -0
  24. package/dist/assets/providers-list-CJjNStDV.js +1 -0
  25. package/dist/assets/react-BaRotFd6.js +1 -0
  26. package/dist/assets/remote-gl8QckNc.js +1 -0
  27. package/dist/assets/runtime-config-page-BMFc1yzf.js +1 -0
  28. package/dist/assets/{save-B6wbBLkU.js → save-CG4Hb1u8.js} +1 -1
  29. package/dist/assets/{search-config-BFmG4_F7.js → search-config-DUOR26if.js} +1 -1
  30. package/dist/assets/{search-Czito3Dk.js → search-lWpOIHEn.js} +1 -1
  31. package/dist/assets/secrets-config-ZbLzjIRx.js +3 -0
  32. package/dist/assets/setting-row-CNfTKDjc.js +1 -0
  33. package/dist/assets/tabs-custom-BbZoysAl.js +1 -0
  34. package/dist/assets/tag-chip-Dl8JbhC7.js +1 -0
  35. package/dist/assets/x-D6GwT_8k.js +1 -0
  36. package/dist/index.html +15 -17
  37. package/package.json +8 -9
  38. package/src/app/components/app-presenter-provider.tsx +21 -0
  39. package/src/app/components/layout/sidebar.layout.test.tsx +2 -2
  40. package/src/app/components/layout/sidebar.tsx +3 -3
  41. package/src/app/index.tsx +5 -3
  42. package/src/app/presenters/app.presenter.ts +24 -0
  43. package/src/features/account/components/account-panel.tsx +11 -11
  44. package/src/features/account/index.ts +1 -4
  45. package/src/features/account/managers/account.manager.ts +52 -27
  46. package/src/features/account/stores/account.store.ts +0 -15
  47. package/src/features/apps/components/apps-panel.tsx +43 -0
  48. package/src/features/apps/index.ts +1 -0
  49. package/src/features/chat/components/layout/chat-sidebar-utility-menu.tsx +8 -8
  50. package/src/features/chat/components/layout/chat-sidebar.tsx +3 -2
  51. package/src/features/chat/managers/chat-session-list.manager.test.ts +58 -0
  52. package/src/features/chat/stores/chat-session-list.store.ts +58 -7
  53. package/src/features/panel-apps/components/panel-app-toolbar.tsx +4 -4
  54. package/src/features/panel-apps/components/panel-apps-list.tsx +6 -2
  55. package/src/features/panel-apps/index.ts +3 -1
  56. package/src/features/panel-apps/managers/panel-app-bridge.manager.test.ts +111 -0
  57. package/src/features/panel-apps/managers/panel-app-bridge.manager.ts +247 -0
  58. package/src/features/panel-apps/utils/panel-app-doc-browser.utils.test.ts +23 -0
  59. package/src/features/panel-apps/utils/panel-app-doc-browser.utils.tsx +42 -16
  60. package/src/features/remote/components/remote-access-page.test.tsx +2 -2
  61. package/src/features/remote/components/remote-access-page.tsx +9 -9
  62. package/src/features/remote/managers/remote-access.manager.ts +24 -41
  63. package/src/features/service-apps/components/service-action-authorization-dialog.tsx +78 -0
  64. package/src/features/service-apps/components/service-apps-panel.tsx +290 -0
  65. package/src/features/service-apps/hooks/use-service-apps.ts +66 -0
  66. package/src/features/service-apps/index.ts +3 -0
  67. package/src/features/service-apps/managers/service-action-authorization.manager.ts +10 -0
  68. package/src/features/service-apps/stores/service-action-authorization.store.ts +53 -0
  69. package/src/shared/components/doc-browser/doc-browser-context.test.tsx +150 -1
  70. package/src/shared/components/doc-browser/doc-browser-context.tsx +34 -443
  71. package/src/shared/components/doc-browser/doc-browser-renderer.types.ts +7 -0
  72. package/src/shared/components/doc-browser/doc-browser.tsx +16 -1
  73. package/src/shared/components/doc-browser/managers/doc-browser.manager.ts +272 -0
  74. package/src/shared/components/doc-browser/stores/doc-browser.store.ts +140 -0
  75. package/src/shared/components/doc-browser/types/doc-browser.types.ts +47 -0
  76. package/src/shared/components/doc-browser/utils/doc-browser-state.utils.ts +47 -0
  77. package/src/shared/components/doc-browser/utils/doc-browser-url.utils.ts +95 -0
  78. package/src/shared/lib/api/managers/client.manager.ts +2 -1
  79. package/src/shared/lib/i18n/runtime/doc-browser-labels.utils.ts +31 -0
  80. package/src/shared/lib/transport/local-transport.service.ts +18 -2
  81. package/src/shared/lib/transport/remote-transport.service.ts +19 -3
  82. package/src/shared/lib/transport/request-raw-api-response.utils.ts +1 -1
  83. package/dist/assets/api-D3uoaOR8.js +0 -15
  84. package/dist/assets/channels-list-page-DHmz9iHg.js +0 -8
  85. package/dist/assets/config-split-page-Dutq3R5o.js +0 -1
  86. package/dist/assets/createLucideIcon-Cwr2o6Zq.js +0 -1
  87. package/dist/assets/desktop-update-config-ClbDsIOs.js +0 -1
  88. package/dist/assets/dist-e5WATjIW.js +0 -1
  89. package/dist/assets/doc-browser-ChY6hMn8.js +0 -1
  90. package/dist/assets/doc-browser-cR1vWRs1.js +0 -1
  91. package/dist/assets/doc-browser-context-CLczyX2Z.js +0 -1
  92. package/dist/assets/es2015-BJw-hrex.js +0 -41
  93. package/dist/assets/i18n-tWKGEGxB.js +0 -1
  94. package/dist/assets/index-DPz9DRZN.js +0 -103
  95. package/dist/assets/index-HvJDzfSU.css +0 -1
  96. package/dist/assets/key-round-B8tTb3ZJ.js +0 -1
  97. package/dist/assets/mcp-marketplace-page-BYPxLdUR.js +0 -40
  98. package/dist/assets/mcp-marketplace-page-DXCvk7wJ.js +0 -1
  99. package/dist/assets/model-config-DcnC_fSr.js +0 -1
  100. package/dist/assets/notice-card-DUDbOvqx.js +0 -5
  101. package/dist/assets/play-CV_kwi9X.js +0 -1
  102. package/dist/assets/plus-BqfNq7Tu.js +0 -1
  103. package/dist/assets/provider-scoped-model-input-eO4XY0iY.js +0 -1
  104. package/dist/assets/providers-list-BgvjRVmp.js +0 -1
  105. package/dist/assets/remote-BCuZ1JJe.js +0 -1
  106. package/dist/assets/rotate-cw-BKEhWuWp.js +0 -1
  107. package/dist/assets/runtime-config-page-B2XPXHrk.js +0 -1
  108. package/dist/assets/secrets-config-4uY5sk-V.js +0 -3
  109. package/dist/assets/select-CmmDgG8o.js +0 -1
  110. package/dist/assets/setting-row-BUO6FeN1.js +0 -1
  111. package/dist/assets/tabs-custom-D3IZL9WX.js +0 -1
  112. package/dist/assets/tag-chip-Dm_pOtE3.js +0 -1
  113. package/dist/assets/x-DBP3WiC9.js +0 -1
  114. package/src/app/components/app-manager-provider.tsx +0 -20
  115. package/src/app/managers/app.manager.ts +0 -12
  116. /package/dist/assets/{config-hints-DGfwbumO.js → config-hints-CTqBnCDp.js} +0 -0
@@ -1,4 +1,4 @@
1
- import type { ApiError } from '@nextclaw/server';
1
+ import type { ApiError } from '@nextclaw/client-sdk';
2
2
  import type { AppEvent, AppTransport, RemoteRuntimeInfo, RequestInput, StreamInput, StreamSession } from './transport.types';
3
3
  import { resolveTransportWebSocketUrl } from './transport-websocket-url.utils';
4
4
 
@@ -6,6 +6,7 @@ type RemoteTarget = {
6
6
  method: string;
7
7
  path: string;
8
8
  body?: unknown;
9
+ headers?: Record<string, string>;
9
10
  };
10
11
 
11
12
  type RemoteBrowserFrame =
@@ -40,7 +41,15 @@ function normalizeApiError(body: unknown, status: number, fallback: string): Err
40
41
  if (typeof body === 'object' && body && 'ok' in body) {
41
42
  const typed = body as { ok?: boolean; error?: ApiError; data?: unknown };
42
43
  if (typed.ok === false && typed.error?.message) {
43
- return new Error(typed.error.message);
44
+ const error = new Error(typed.error.message) as Error & {
45
+ code?: string;
46
+ details?: Record<string, unknown>;
47
+ status?: number;
48
+ };
49
+ error.code = typed.error.code;
50
+ error.details = typed.error.details;
51
+ error.status = status;
52
+ return error;
44
53
  }
45
54
  if (typed.ok === true) {
46
55
  return new Error(fallback);
@@ -56,7 +65,13 @@ function unwrapApiBody<T>(body: unknown): T {
56
65
  if (typeof body === 'object' && body && 'ok' in body) {
57
66
  const typed = body as { ok?: boolean; error?: ApiError; data?: T };
58
67
  if (typed.ok === false) {
59
- throw new Error(typed.error?.message ?? 'Remote request failed.');
68
+ const error = new Error(typed.error?.message ?? 'Remote request failed.') as Error & {
69
+ code?: string;
70
+ details?: Record<string, unknown>;
71
+ };
72
+ error.code = typed.error?.code;
73
+ error.details = typed.error?.details;
74
+ throw error;
60
75
  }
61
76
  if (typed.ok === true) {
62
77
  return typed.data as T;
@@ -108,6 +123,7 @@ export class RemoteSessionMultiplexTransport implements AppTransport {
108
123
  target: {
109
124
  method: input.method,
110
125
  path: input.path,
126
+ ...(input.headers ? { headers: input.headers } : {}),
111
127
  ...(input.body !== undefined ? { body: input.body } : {})
112
128
  }
113
129
  });
@@ -1,4 +1,4 @@
1
- import type { ApiResponse } from '@nextclaw/server';
1
+ import type { ApiResponse } from '@nextclaw/client-sdk';
2
2
  import { systemStatusManager } from '@/features/system-status';
3
3
 
4
4
  function compactSnippet(text: string) {