@nextclaw/ui 0.22.4 → 0.23.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.
- package/CHANGELOG.md +22 -0
- package/dist/assets/{api-DU3C4HfX.js → api-n96IfCKb.js} +3 -3
- package/dist/assets/{appearance-settings-page-CoB3e64T.js → appearance-settings-page-C_AqxSF_.js} +1 -1
- package/dist/assets/{book-open-DMnwJfVM.js → book-open-DYRapW_h.js} +1 -1
- package/dist/assets/{channels-list-page-BhIoYsyo.js → channels-list-page-uR-M4Ls8.js} +1 -1
- package/dist/assets/{config-split-page-DON62DcK.js → config-split-page-DJDp86Ne.js} +1 -1
- package/dist/assets/{confirm-dialog-B539oJpr.js → confirm-dialog-CHVBMpla.js} +1 -1
- package/dist/assets/{createLucideIcon-CLfqNlvk.js → createLucideIcon-CgM0rnsa.js} +1 -1
- package/dist/assets/{desktop-capabilities-page-BgGZ1I8q.js → desktop-capabilities-page-phMuNq1B.js} +1 -1
- package/dist/assets/{desktop-update-config-TrA-h5OG.js → desktop-update-config-C77hkbor.js} +1 -1
- package/dist/assets/{dist-GWWehc4w.js → dist-BjYvUhPL.js} +1 -1
- package/dist/assets/{dist-WPei0-v8.js → dist-N9zc5bkM.js} +1 -1
- package/dist/assets/{doc-browser-CKpps-rb.js → doc-browser-DwRLokCI.js} +1 -1
- package/dist/assets/doc-browser-JlXVLNRe.js +1 -0
- package/dist/assets/{doc-browser-context-Vx418ptC.js → doc-browser-context-BDuypObS.js} +1 -1
- package/dist/assets/{extensions-DQ3IQpiE.js → extensions-CQKXTqTI.js} +1 -1
- package/dist/assets/{form-actions-DJlfyLEH.js → form-actions-CzGmrPAv.js} +1 -1
- package/dist/assets/{index-CsL49uK2.js → index-CLw9DuCJ.js} +5 -5
- package/dist/assets/loader-circle-D9etMT9f.js +1 -0
- package/dist/assets/mcp-marketplace-page-CbWOamyW.js +1 -0
- package/dist/assets/{mcp-marketplace-page-CEr3FgVp.js → mcp-marketplace-page-s9PTnSDT.js} +1 -1
- package/dist/assets/{model-config-page-BIpU9Bq5.js → model-config-page-CxnCUWRW.js} +1 -1
- package/dist/assets/{navigation-link-DI0mOIVl.js → navigation-link-Ci4Z7Phi.js} +1 -1
- package/dist/assets/plus-DKGD04AO.js +1 -0
- package/dist/assets/{privacy-settings-page-D9qnS5ZE.js → privacy-settings-page-D8HZHHjL.js} +1 -1
- package/dist/assets/{providers-config-page-j03VhVjT.js → providers-config-page-C0GIoGxm.js} +1 -1
- package/dist/assets/{react-BwGMzqXA.js → react-CVFx225w.js} +1 -1
- package/dist/assets/{refresh-cw-DmR6-f9A.js → refresh-cw-C-3_thgr.js} +1 -1
- package/dist/assets/remote-DvTCSAxQ.js +1 -0
- package/dist/assets/{rotate-cw-BUWqEgob.js → rotate-cw-DSFTq_yu.js} +1 -1
- package/dist/assets/{runtime-config-page-DcyDsmw-.js → runtime-config-page-VNJZui5f.js} +1 -1
- package/dist/assets/{save-DdohrEEJ.js → save-CpPr78_S.js} +1 -1
- package/dist/assets/{search-config-page-DBUVi0PY.js → search-config-page-D3_qNXbB.js} +1 -1
- package/dist/assets/{search-BVeIVVGT.js → search-msqk2-rd.js} +1 -1
- package/dist/assets/{secrets-config-page-Bu58SQa1.js → secrets-config-page-Be4P1E8o.js} +1 -1
- package/dist/assets/security-config-BtcpKIhQ.js +1 -0
- package/dist/assets/{select-DvuHOwPH.js → select-DPKCWajZ.js} +1 -1
- package/dist/assets/skeleton-BsR5rwB7.js +1 -0
- package/dist/assets/{tag-chip-BI9NffVf.js → tag-chip-Dc_NcCEe.js} +1 -1
- package/dist/assets/x-Dp5GAFmP.js +1 -0
- package/dist/index.html +20 -20
- package/package.json +2 -2
- package/src/features/apps/components/__tests__/app-packages-panel.test.tsx +25 -0
- package/src/features/apps/components/app-package-card.tsx +17 -21
- package/src/features/apps/utils/app-package-readiness.utils.ts +44 -0
- package/src/features/panel-apps/managers/__tests__/panel-app-bridge.manager.test.ts +51 -0
- package/src/features/panel-apps/managers/panel-app-bridge.manager.ts +37 -2
- package/src/shared/lib/i18n/locales/en-US/doc-browser.json +4 -0
- package/src/shared/lib/i18n/locales/zh-CN/doc-browser.json +4 -0
- package/dist/assets/doc-browser-y3e2_MXe.js +0 -1
- package/dist/assets/loader-circle-DXH2fVRq.js +0 -1
- package/dist/assets/mcp-marketplace-page-Dj0xiFAV.js +0 -1
- package/dist/assets/plus-C6Kx4b6T.js +0 -1
- package/dist/assets/remote-BPMM79JV.js +0 -1
- package/dist/assets/security-config-CNdun2s-.js +0 -1
- package/dist/assets/skeleton-u2lc3JJg.js +0 -1
- package/dist/assets/x-27QFIvUt.js +0 -1
|
@@ -9,6 +9,9 @@ import type {
|
|
|
9
9
|
ServiceActionGrantView,
|
|
10
10
|
ServiceActionInvokeResultView,
|
|
11
11
|
ServiceActionListView,
|
|
12
|
+
PortableRuntimeAcceptanceExportApiView,
|
|
13
|
+
PortableRuntimeAcceptanceStatusApiView,
|
|
14
|
+
RuntimeVerificationRecordListView,
|
|
12
15
|
} from '@nextclaw/client-sdk';
|
|
13
16
|
import type { ServiceActionAuthorizationManager } from '@/features/service-apps';
|
|
14
17
|
import { nextclawClient } from '@/shared/lib/api';
|
|
@@ -26,13 +29,20 @@ type PanelAppBridgeRequest = {
|
|
|
26
29
|
method:
|
|
27
30
|
| 'agent.generateObject'
|
|
28
31
|
| 'agent.send'
|
|
32
|
+
| 'acceptance.export'
|
|
33
|
+
| 'acceptance.status'
|
|
29
34
|
| 'invoke'
|
|
30
35
|
| 'list'
|
|
31
36
|
| 'requestGrant'
|
|
32
|
-
| 'revokeGrant'
|
|
37
|
+
| 'revokeGrant'
|
|
38
|
+
| 'verification.list';
|
|
33
39
|
payload?: {
|
|
40
|
+
acceptanceId?: string;
|
|
34
41
|
actionId?: string;
|
|
42
|
+
appId?: string;
|
|
35
43
|
input?: unknown;
|
|
44
|
+
limit?: number;
|
|
45
|
+
locale?: string;
|
|
36
46
|
request?: unknown;
|
|
37
47
|
};
|
|
38
48
|
};
|
|
@@ -103,6 +113,9 @@ export class PanelAppBridgeManager {
|
|
|
103
113
|
| PanelAppAgentGenerateObjectResultView
|
|
104
114
|
| PanelAppAgentSendResultView
|
|
105
115
|
| PanelAppCapabilityGrantView
|
|
116
|
+
| PortableRuntimeAcceptanceExportApiView
|
|
117
|
+
| PortableRuntimeAcceptanceStatusApiView
|
|
118
|
+
| RuntimeVerificationRecordListView
|
|
106
119
|
| ServiceActionGrantView
|
|
107
120
|
| ServiceActionInvokeResultView
|
|
108
121
|
| ServiceActionListView
|
|
@@ -126,6 +139,25 @@ export class PanelAppBridgeManager {
|
|
|
126
139
|
return await this.sendAgentMessageWithAuthorization(session, request);
|
|
127
140
|
case 'agent.generateObject':
|
|
128
141
|
return await this.generateAgentObjectWithAuthorization(session, request);
|
|
142
|
+
case 'verification.list':
|
|
143
|
+
return await nextclawClient.serviceApps.listVerificationRecords({
|
|
144
|
+
acceptanceId: request.payload?.acceptanceId,
|
|
145
|
+
appId: request.payload?.appId,
|
|
146
|
+
limit: request.payload?.limit,
|
|
147
|
+
bridgeSessionToken: session.token,
|
|
148
|
+
});
|
|
149
|
+
case 'acceptance.status':
|
|
150
|
+
return await nextclawClient.serviceApps.getPortableRuntimeAcceptanceStatus({
|
|
151
|
+
appId: request.payload?.appId,
|
|
152
|
+
locale: request.payload?.locale,
|
|
153
|
+
bridgeSessionToken: session.token,
|
|
154
|
+
});
|
|
155
|
+
case 'acceptance.export':
|
|
156
|
+
return await nextclawClient.serviceApps.exportPortableRuntimeAcceptance({
|
|
157
|
+
appId: request.payload?.appId,
|
|
158
|
+
locale: request.payload?.locale,
|
|
159
|
+
bridgeSessionToken: session.token,
|
|
160
|
+
});
|
|
129
161
|
default:
|
|
130
162
|
throw new Error(`Unsupported panel bridge method: ${String(request.method)}`);
|
|
131
163
|
}
|
|
@@ -378,9 +410,12 @@ export class PanelAppBridgeManager {
|
|
|
378
410
|
(candidate.method === 'invoke' ||
|
|
379
411
|
candidate.method === 'agent.send' ||
|
|
380
412
|
candidate.method === 'agent.generateObject' ||
|
|
413
|
+
candidate.method === 'acceptance.export' ||
|
|
414
|
+
candidate.method === 'acceptance.status' ||
|
|
381
415
|
candidate.method === 'list' ||
|
|
382
416
|
candidate.method === 'requestGrant' ||
|
|
383
|
-
candidate.method === 'revokeGrant'
|
|
417
|
+
candidate.method === 'revokeGrant' ||
|
|
418
|
+
candidate.method === 'verification.list')
|
|
384
419
|
);
|
|
385
420
|
};
|
|
386
421
|
}
|
|
@@ -64,6 +64,10 @@
|
|
|
64
64
|
"appPackagesEnabled": "Enabled",
|
|
65
65
|
"appPackagesUnavailable": "Unavailable",
|
|
66
66
|
"appPackagesAvailable": "Available",
|
|
67
|
+
"appPackagesNeedsCapability": "Needs an add-on",
|
|
68
|
+
"appPackagesNeedsConfiguration": "Needs setup",
|
|
69
|
+
"appPackagesNeedsCapabilityDescription": "Install a compatible local capability before enabling this app.",
|
|
70
|
+
"appPackagesNeedsConfigurationDescription": "Complete the external service setup before enabling this app.",
|
|
67
71
|
"appPackagesBuiltIn": "Built into NextClaw",
|
|
68
72
|
"appPackagesLocalService": "Local data service",
|
|
69
73
|
"appPackagesIsolationLabel": "Runtime isolation",
|
|
@@ -64,6 +64,10 @@
|
|
|
64
64
|
"appPackagesEnabled": "已启用",
|
|
65
65
|
"appPackagesUnavailable": "不可用",
|
|
66
66
|
"appPackagesAvailable": "可用",
|
|
67
|
+
"appPackagesNeedsCapability": "需要额外能力",
|
|
68
|
+
"appPackagesNeedsConfiguration": "需要完成设置",
|
|
69
|
+
"appPackagesNeedsCapabilityDescription": "此应用需要补充兼容的本机能力后才能启用。",
|
|
70
|
+
"appPackagesNeedsConfigurationDescription": "此应用需要完成外部服务设置后才能启用。",
|
|
67
71
|
"appPackagesBuiltIn": "NextClaw 内置",
|
|
68
72
|
"appPackagesLocalService": "本地数据服务",
|
|
69
73
|
"appPackagesIsolationLabel": "运行隔离",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./doc-browser-CKpps-rb.js";export{e as DocBrowser};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-CLfqNlvk.js";var t=e(`LoaderCircle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./mcp-marketplace-page-CEr3FgVp.js";export{e as McpMarketplacePage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-CLfqNlvk.js";var t=e(`Plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ft as e}from"./index-CsL49uK2.js";export{e as RemoteAccessPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Rt as e}from"./api-DU3C4HfX.js";export{e as SecurityConfig};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{B as e,L as t}from"./react-BwGMzqXA.js";var n=e();function r({className:e,...r}){return(0,n.jsx)(`div`,{className:t(`animate-pulse rounded-md bg-slate-200`,e),...r})}export{r as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-CLfqNlvk.js";var t=e(`X`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]);export{t};
|