@openviking/react 0.1.6 → 0.1.8-beta.10.1.g8e5299efeb0a
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/README.md +13 -1
- package/dist/1~0.js +57 -0
- package/dist/2~0.js +6 -5
- package/dist/3c~0.js +10 -4
- package/dist/3~0.js +189 -13
- package/dist/5~0.js +181 -0
- package/dist/6~0.js +48 -0
- package/dist/ae~0.js +8 -1
- package/dist/ark-message-list-view~0.js +9 -4
- package/dist/a~0.js +12 -6
- package/dist/c7r~0.js +50 -0
- package/dist/ck~0.js +3 -0
- package/dist/client/paths.d.ts +6 -0
- package/dist/client/provider.d.ts +6 -1
- package/dist/components/agent-connect/style.css +224 -35
- package/dist/components/api-key-login-form/api-key-login-form.d.ts +2 -0
- package/dist/components/api-key-login-form/index.d.ts +3 -0
- package/dist/components/api-key-login-form/style.css +438 -0
- package/dist/components/api-key-login-form/style.js +0 -0
- package/dist/components/api-key-login-form/types.d.ts +7 -0
- package/dist/components/api-key-login-form.js +1 -0
- package/dist/components/directory-tour/directory-tour-intro.d.ts +3 -0
- package/dist/components/directory-tour/index.d.ts +2 -1
- package/dist/components/directory-tour/style.css +367 -39
- package/dist/components/directory-tour/tour-card.d.ts +14 -0
- package/dist/components/directory-tour/types.d.ts +24 -1
- package/dist/components/directory-tour/use-tour-anchor.d.ts +1 -0
- package/dist/components/directory-tour/use-tour-position.d.ts +4 -1
- package/dist/components/directory-tour/use-tour-theme.d.ts +2 -0
- package/dist/components/directory-tour.js +53 -2
- package/dist/components/email-login-form/email-login-form.d.ts +2 -0
- package/dist/components/email-login-form/index.d.ts +3 -0
- package/dist/components/email-login-form/style.css +438 -0
- package/dist/components/email-login-form/style.js +0 -0
- package/dist/components/email-login-form/types.d.ts +11 -0
- package/dist/components/email-login-form.js +1 -0
- package/dist/components/experience-dashboard/experience-impact.d.ts +3 -1
- package/dist/components/experience-dashboard/style.css +229 -12
- package/dist/components/experience-dashboard.js +1 -1
- package/dist/components/file-browser-entries/style.css +331 -80
- package/dist/components/file-preview/file-preview-header.d.ts +4 -21
- package/dist/components/file-preview/file-preview-toolbar.d.ts +7 -0
- package/dist/components/file-preview/locales/en-US.d.ts +9 -0
- package/dist/components/file-preview/locales/zh-CN.d.ts +9 -0
- package/dist/components/file-preview/style.css +335 -76
- package/dist/components/file-preview/types.d.ts +14 -21
- package/dist/components/file-tree/file-tree-toolbar.d.ts +3 -3
- package/dist/components/file-tree/locales/en-US.d.ts +3 -0
- package/dist/components/file-tree/locales/zh-CN.d.ts +3 -0
- package/dist/components/file-tree/style.css +313 -86
- package/dist/components/file-tree/types.d.ts +13 -4
- package/dist/components/invitation-confirmation/index.d.ts +3 -0
- package/dist/components/invitation-confirmation/invitation-confirmation.d.ts +2 -0
- package/dist/components/invitation-confirmation/style.css +438 -0
- package/dist/components/invitation-confirmation/style.js +0 -0
- package/dist/components/invitation-confirmation/types.d.ts +20 -0
- package/dist/components/invitation-confirmation.js +1 -0
- package/dist/components/login-method-selector/index.d.ts +2 -0
- package/dist/components/login-method-selector/login-method-selector.d.ts +2 -0
- package/dist/components/login-method-selector/style.css +438 -0
- package/dist/components/login-method-selector/style.js +0 -0
- package/dist/components/login-method-selector/types.d.ts +14 -0
- package/dist/components/login-method-selector.js +1 -0
- package/dist/components/password-reset-request-form/index.d.ts +3 -0
- package/dist/components/password-reset-request-form/password-reset-request-form.d.ts +2 -0
- package/dist/components/password-reset-request-form/style.css +438 -0
- package/dist/components/password-reset-request-form/style.js +0 -0
- package/dist/components/password-reset-request-form/types.d.ts +13 -0
- package/dist/components/password-reset-request-form.js +1 -0
- package/dist/components/password-setup-form/index.d.ts +3 -0
- package/dist/components/password-setup-form/password-setup-form.d.ts +2 -0
- package/dist/components/password-setup-form/style.css +438 -0
- package/dist/components/password-setup-form/style.js +0 -0
- package/dist/components/password-setup-form/types.d.ts +10 -0
- package/dist/components/password-setup-form.js +1 -0
- package/dist/components/scope-switcher/style.css +368 -37
- package/dist/components/style.css +13071 -7474
- package/dist/components/tui/style.css +271 -35
- package/dist/components/viking-bot/interaction/style.css +143 -22
- package/dist/components/viking-bot/style.css +951 -295
- package/dist/components/wiki-dashboard/index.d.ts +1 -1
- package/dist/components/wiki-dashboard/style.css +241 -14
- package/dist/components/wiki-dashboard/types.d.ts +12 -16
- package/dist/components/wiki-dashboard/wiki-action-button.d.ts +2 -9
- package/dist/components/wiki-dashboard/wiki-conflict-card.d.ts +3 -10
- package/dist/c~0.js +16 -8
- package/dist/d~0.js +28 -0
- package/dist/ep~0.js +493 -0
- package/dist/e~0.js +33 -328
- package/dist/fi~0.js +13 -28
- package/dist/fj~0.js +38 -69
- package/dist/fl~0.js +710 -0
- package/dist/f~0.js +61 -685
- package/dist/g~0.js +135 -0
- package/dist/icons/index.d.ts +2 -0
- package/dist/icons.js +1 -1
- package/dist/index.d.ts +12 -0
- package/dist/index.js +9 -3
- package/dist/k~0.js +44 -4
- package/dist/l5~0.js +3813 -0
- package/dist/lk~0.js +5 -2
- package/dist/l~0.js +49 -2369
- package/dist/modules/console/style.css +1485 -351
- package/dist/modules/file-browser/acl/acl-add-principal.d.ts +12 -0
- package/dist/modules/file-browser/acl/acl-candidate.d.ts +8 -0
- package/dist/modules/file-browser/acl/acl-client.d.ts +13 -0
- package/dist/modules/file-browser/acl/acl-confirmation.d.ts +6 -0
- package/dist/modules/file-browser/acl/acl-entry.d.ts +13 -0
- package/dist/modules/file-browser/acl/acl-labels.d.ts +47 -0
- package/dist/modules/file-browser/acl/acl-menu.d.ts +10 -0
- package/dist/modules/file-browser/acl/acl-modal.d.ts +17 -0
- package/dist/modules/file-browser/acl/acl-model.d.ts +17 -0
- package/dist/modules/file-browser/acl/acl-principal-tabs.d.ts +6 -0
- package/dist/modules/file-browser/acl/acl-tag.d.ts +7 -0
- package/dist/modules/file-browser/acl/locales/en-US.d.ts +44 -0
- package/dist/modules/file-browser/acl/locales/zh-CN.d.ts +44 -0
- package/dist/modules/file-browser/acl/use-acl-principals.d.ts +17 -0
- package/dist/modules/file-browser/acl/use-acl-report.d.ts +27 -0
- package/dist/modules/file-browser/acl-types.d.ts +86 -0
- package/dist/modules/file-browser/dashboard-model.d.ts +3 -0
- package/dist/modules/file-browser/file-browser-detail-icons.d.ts +0 -6
- package/dist/modules/file-browser/file-browser-detail.d.ts +5 -23
- package/dist/modules/file-browser/file-browser-labels.d.ts +1 -1
- package/dist/modules/file-browser/file-browser-search.d.ts +20 -0
- package/dist/modules/file-browser/file-browser-toolbar.d.ts +3 -10
- package/dist/modules/file-browser/file-browser-tree-pane.d.ts +2 -6
- package/dist/modules/file-browser/file-browser.d.ts +1 -1
- package/dist/modules/file-browser/fs-directories.d.ts +1 -0
- package/dist/modules/file-browser/fs-file-editing.d.ts +4 -0
- package/dist/modules/file-browser/fs-model.d.ts +3 -1
- package/dist/modules/file-browser/fs-preview-images.d.ts +3 -0
- package/dist/modules/file-browser/fs-read-file.d.ts +1 -1
- package/dist/modules/file-browser/index.d.ts +1 -0
- package/dist/modules/file-browser/locales/en-US.d.ts +5 -0
- package/dist/modules/file-browser/locales/zh-CN.d.ts +5 -0
- package/dist/modules/file-browser/style.css +2595 -703
- package/dist/modules/file-browser/types.d.ts +22 -20
- package/dist/modules/file-browser/use-file-browser-acl.d.ts +16 -0
- package/dist/modules/file-browser/use-file-browser.d.ts +5 -7
- package/dist/modules/file-browser/use-fs-tree.d.ts +1 -0
- package/dist/modules/file-browser/wiki-dashboard-pane.d.ts +2 -4
- package/dist/modules/file-browser.js +1 -1
- package/dist/modules/scope-cascade/style.css +537 -37
- package/dist/modules/style.css +12429 -8855
- package/dist/n~0.js +61 -37
- package/dist/p0~0.js +27 -0
- package/dist/p~0.js +34 -25
- package/dist/rt~0.js +107 -4
- package/dist/r~0.js +1 -1
- package/dist/shared/auth/agreements.d.ts +10 -0
- package/dist/shared/auth/fields.d.ts +15 -0
- package/dist/shared/auth/form-frame.d.ts +12 -0
- package/dist/shared/auth/locales/en-US.d.ts +24 -0
- package/dist/shared/auth/locales/zh-CN.d.ts +24 -0
- package/dist/shared/auth/types.d.ts +61 -0
- package/dist/shared/auth/use-auth-labels.d.ts +3 -0
- package/dist/shared/auth/use-form.d.ts +8 -0
- package/dist/shared/components/button/button.d.ts +20 -0
- package/dist/shared/components/input/input.d.ts +17 -0
- package/dist/shared/components/modal/locales/en-US.d.ts +4 -0
- package/dist/shared/components/modal/locales/zh-CN.d.ts +4 -0
- package/dist/shared/components/modal/modal.d.ts +2 -0
- package/dist/shared/components/modal/types.d.ts +18 -0
- package/dist/shared/components/overlay/lock-body-scroll.d.ts +1 -0
- package/dist/style.css +15477 -6258
- package/dist/s~0.js +16 -0
- package/dist/u~0.js +15 -6
- package/dist/viking-bot-composer~0.js +29 -11
- package/dist/viking-bot-interaction~0.js +2 -1
- package/package.json +34 -3
- package/dist/modules/file-browser/fs-selection.d.ts +0 -4
- package/dist/o~0.js +0 -106
package/dist/6~0.js
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useId } from "react";
|
|
3
|
+
import { useAuthLabels, Field } from "./g~0.js";
|
|
4
|
+
import { validEmail, useForm, FormFrame } from "./5~0.js";
|
|
5
|
+
function PasswordResetRequestForm({ defaultEmail = '', sentMessage, retryAfter = 0, onSubmit, locale, labels: overrides, ...options }) {
|
|
6
|
+
const id = useId();
|
|
7
|
+
const labels = useAuthLabels(locale, overrides);
|
|
8
|
+
const form = useForm({
|
|
9
|
+
email: defaultEmail
|
|
10
|
+
}, ({ email })=>({
|
|
11
|
+
email: validEmail(email) ? void 0 : {
|
|
12
|
+
key: 'invalidEmail'
|
|
13
|
+
}
|
|
14
|
+
}));
|
|
15
|
+
const [sentEmail, message] = sentMessage ? [
|
|
16
|
+
sentMessage.email,
|
|
17
|
+
sentMessage.message
|
|
18
|
+
] : [];
|
|
19
|
+
const sent = sentEmail === form.values.email.trim();
|
|
20
|
+
const remaining = Math.max(0, Math.ceil(retryAfter));
|
|
21
|
+
return /*#__PURE__*/ jsxs(FormFrame, {
|
|
22
|
+
...options,
|
|
23
|
+
disabled: options.disabled || remaining > 0,
|
|
24
|
+
labels: labels,
|
|
25
|
+
submitLabel: `${sent ? labels.resend : labels.send}${remaining > 0 ? ` (${remaining}s)` : ''}`,
|
|
26
|
+
validate: form.validate,
|
|
27
|
+
onSubmit: ()=>onSubmit?.({
|
|
28
|
+
email: form.values.email.trim()
|
|
29
|
+
}),
|
|
30
|
+
children: [
|
|
31
|
+
/*#__PURE__*/ jsx(Field, {
|
|
32
|
+
id: `${id}-email`,
|
|
33
|
+
label: labels.email,
|
|
34
|
+
labels: labels,
|
|
35
|
+
value: form.values.email,
|
|
36
|
+
type: "email",
|
|
37
|
+
autoComplete: "email",
|
|
38
|
+
error: form.errors.email,
|
|
39
|
+
onChange: (value)=>form.update('email', value)
|
|
40
|
+
}),
|
|
41
|
+
sent && message && /*#__PURE__*/ jsx("p", {
|
|
42
|
+
role: "status",
|
|
43
|
+
children: message
|
|
44
|
+
})
|
|
45
|
+
]
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
export { PasswordResetRequestForm };
|
package/dist/ae~0.js
CHANGED
|
@@ -488,4 +488,11 @@ function useOvClient() {
|
|
|
488
488
|
function useOvSignal() {
|
|
489
489
|
return useContext(OvClientContext)?.base.signal;
|
|
490
490
|
}
|
|
491
|
-
|
|
491
|
+
function useOvIdentity(options) {
|
|
492
|
+
const base = useContext(OvClientContext)?.base.identity;
|
|
493
|
+
return {
|
|
494
|
+
accountId: options?.accountId ?? base?.accountId,
|
|
495
|
+
userId: options?.userId ?? base?.userId
|
|
496
|
+
};
|
|
497
|
+
}
|
|
498
|
+
export { OpenVikingProvider, OvClientError, createOvClient, isOvClientError, useOvClient, useOvIdentity, useOvSignal };
|
|
@@ -9,6 +9,7 @@ import { DocumentIcon } from "./k~0.js";
|
|
|
9
9
|
import { VikingBotIcon } from "./lg~0.js";
|
|
10
10
|
import { groupActivityParts, mergeToolResults, resolveVikingBotLabels, toRenderItems } from "./c~0.js";
|
|
11
11
|
import { groupByActivity, messageText, groupMessages } from "./h~0.js";
|
|
12
|
+
import { button_Button } from "./e~0.js";
|
|
12
13
|
const PREFIX = '#viking-uri=';
|
|
13
14
|
const RESOURCE = /viking:\/\/[^\s<>"'`]+/gi;
|
|
14
15
|
const PROSE_RESOURCE = /viking:\/\/[^\s<>"'`,。;!?)\]]+/gi;
|
|
@@ -532,8 +533,10 @@ function MessageFooter({ message, showTime, labels, locale, onCopy }) {
|
|
|
532
533
|
dateTime: message.createdAt,
|
|
533
534
|
children: time
|
|
534
535
|
}) : null,
|
|
535
|
-
canCopy ? onCopy ? /*#__PURE__*/ jsx(
|
|
536
|
-
|
|
536
|
+
canCopy ? onCopy ? /*#__PURE__*/ jsx(button_Button, {
|
|
537
|
+
size: "mini",
|
|
538
|
+
type: "text",
|
|
539
|
+
htmlType: "button",
|
|
537
540
|
className: "ov-viking-bot__copy",
|
|
538
541
|
onClick: ()=>onCopy(text),
|
|
539
542
|
children: labels.copy
|
|
@@ -560,8 +563,10 @@ function MessageActions({ message, onMessageAction }) {
|
|
|
560
563
|
if (0 === actions.length) return null;
|
|
561
564
|
return /*#__PURE__*/ jsx("div", {
|
|
562
565
|
className: "ov-viking-bot__message-actions",
|
|
563
|
-
children: actions.map(({ messageId, action })=>/*#__PURE__*/ jsx(
|
|
564
|
-
|
|
566
|
+
children: actions.map(({ messageId, action })=>/*#__PURE__*/ jsx(button_Button, {
|
|
567
|
+
size: "small",
|
|
568
|
+
type: "default",
|
|
569
|
+
htmlType: "button",
|
|
565
570
|
className: "ov-viking-bot__message-action",
|
|
566
571
|
disabled: Boolean(action.disabledReason) || 'pending' === action.status || 'success' === action.status,
|
|
567
572
|
title: action.disabledReason,
|
package/dist/a~0.js
CHANGED
|
@@ -5,8 +5,8 @@ import { resolveLocale, mergeLabels } from "./nx~0.js";
|
|
|
5
5
|
import { useOvSignal, useOvClient, createOvClient, isOvClientError } from "./ae~0.js";
|
|
6
6
|
import { useLocale, LocaleProvider } from "./28~0.js";
|
|
7
7
|
import { new_sessionreact, historyreact } from "./lg~0.js";
|
|
8
|
-
import { useOverlayPosition } from "./
|
|
9
|
-
import {
|
|
8
|
+
import { Tooltip, useOverlayPosition } from "./rt~0.js";
|
|
9
|
+
import { button_Button } from "./e~0.js";
|
|
10
10
|
import { VikingBotSessionActions, VikingBot } from "./c~0.js";
|
|
11
11
|
import { Tui } from "./3c~0.js";
|
|
12
12
|
const command_specs_uri = {
|
|
@@ -1066,9 +1066,12 @@ function ConsoleHistory({ records, isExecuting, locale, labels, onRecall }) {
|
|
|
1066
1066
|
/*#__PURE__*/ jsx(Tooltip, {
|
|
1067
1067
|
content: labels.history,
|
|
1068
1068
|
className: "ov-console__action-tooltip",
|
|
1069
|
-
children: /*#__PURE__*/ jsx(
|
|
1069
|
+
children: /*#__PURE__*/ jsx(button_Button, {
|
|
1070
|
+
size: "small",
|
|
1071
|
+
type: "text",
|
|
1072
|
+
iconOnly: true,
|
|
1070
1073
|
...invoker,
|
|
1071
|
-
|
|
1074
|
+
htmlType: "button",
|
|
1072
1075
|
className: "ov-console__action",
|
|
1073
1076
|
"aria-label": labels.history,
|
|
1074
1077
|
"aria-haspopup": "dialog",
|
|
@@ -1181,9 +1184,12 @@ function ConsoleToolbar({ mode, panelId, locale, labels, records, isExecuting, o
|
|
|
1181
1184
|
/*#__PURE__*/ jsx(Tooltip, {
|
|
1182
1185
|
content: labels.clear,
|
|
1183
1186
|
className: "ov-console__action-tooltip",
|
|
1184
|
-
children: /*#__PURE__*/ jsx(
|
|
1187
|
+
children: /*#__PURE__*/ jsx(button_Button, {
|
|
1188
|
+
size: "small",
|
|
1189
|
+
type: "text",
|
|
1190
|
+
iconOnly: true,
|
|
1185
1191
|
className: "ov-console__action",
|
|
1186
|
-
|
|
1192
|
+
htmlType: "button",
|
|
1187
1193
|
"aria-label": labels.clear,
|
|
1188
1194
|
onClick: ()=>{
|
|
1189
1195
|
setSessionVersion((version)=>version + 1);
|
package/dist/c7r~0.js
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef } from "react";
|
|
3
|
+
const input_Input = /*#__PURE__*/ forwardRef(function({ size = 'default', prefix, suffix, className, style, disabled, ...rest }, ref) {
|
|
4
|
+
return /*#__PURE__*/ jsxs("span", {
|
|
5
|
+
role: "presentation",
|
|
6
|
+
className: [
|
|
7
|
+
'ov-input',
|
|
8
|
+
`ov-input--${size}`,
|
|
9
|
+
disabled && 'ov-input--disabled',
|
|
10
|
+
className
|
|
11
|
+
].filter(Boolean).join(' '),
|
|
12
|
+
style: style,
|
|
13
|
+
onMouseDown: (event)=>{
|
|
14
|
+
if (event.target !== event.currentTarget.querySelector('input')) event.preventDefault();
|
|
15
|
+
},
|
|
16
|
+
onClick: (event)=>{
|
|
17
|
+
const input = event.currentTarget.querySelector('input');
|
|
18
|
+
if (!disabled && !event.defaultPrevented && event.target !== input) input?.focus();
|
|
19
|
+
},
|
|
20
|
+
children: [
|
|
21
|
+
null != prefix ? /*#__PURE__*/ jsx("span", {
|
|
22
|
+
className: "ov-input__affix",
|
|
23
|
+
"aria-hidden": "true",
|
|
24
|
+
children: prefix
|
|
25
|
+
}) : null,
|
|
26
|
+
/*#__PURE__*/ jsx("input", {
|
|
27
|
+
...rest,
|
|
28
|
+
ref: ref,
|
|
29
|
+
disabled: disabled,
|
|
30
|
+
className: "ov-input__element"
|
|
31
|
+
}),
|
|
32
|
+
null != suffix ? /*#__PURE__*/ jsx("span", {
|
|
33
|
+
className: "ov-input__affix",
|
|
34
|
+
"aria-hidden": "true",
|
|
35
|
+
children: suffix
|
|
36
|
+
}) : null
|
|
37
|
+
]
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
const input_TextArea = /*#__PURE__*/ forwardRef(function({ className, ...rest }, ref) {
|
|
41
|
+
return /*#__PURE__*/ jsx("textarea", {
|
|
42
|
+
...rest,
|
|
43
|
+
ref: ref,
|
|
44
|
+
className: [
|
|
45
|
+
'ov-textarea',
|
|
46
|
+
className
|
|
47
|
+
].filter(Boolean).join(' ')
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
export { input_Input, input_TextArea };
|
package/dist/ck~0.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
const OV_PATHS = {
|
|
2
|
+
acl: '/api/v1/acl',
|
|
2
3
|
fsLs: '/api/v1/fs/ls',
|
|
3
4
|
fsAttrs: '/api/v1/fs/attrs',
|
|
4
5
|
compileConfigs: '/api/v1/compile/configs',
|
|
@@ -21,6 +22,8 @@ const OV_PATHS = {
|
|
|
21
22
|
botChatStream: '/bot/v1/chat/stream'
|
|
22
23
|
};
|
|
23
24
|
const OV_PATH_BUILDERS = {
|
|
25
|
+
accountUsers: (accountId)=>`/api/v1/admin/accounts/${encodeURIComponent(accountId)}/users`,
|
|
26
|
+
accountGroups: (accountId)=>`/api/v1/admin/accounts/${encodeURIComponent(accountId)}/groups`,
|
|
24
27
|
session: (sessionId)=>`${OV_PATHS.sessions}/${encodeURIComponent(sessionId)}`,
|
|
25
28
|
sessionMessages: (sessionId)=>`${OV_PATH_BUILDERS.session(sessionId)}/messages`
|
|
26
29
|
};
|
package/dist/client/paths.d.ts
CHANGED
|
@@ -16,6 +16,8 @@
|
|
|
16
16
|
* `verbatimModuleSyntax` cannot use.
|
|
17
17
|
*/
|
|
18
18
|
export declare const OV_PATHS: {
|
|
19
|
+
/** 资源访问控制。Resource access control. */
|
|
20
|
+
readonly acl: '/api/v1/acl';
|
|
19
21
|
/** 列出目录内容。List directory contents. */
|
|
20
22
|
readonly fsLs: '/api/v1/fs/ls';
|
|
21
23
|
readonly fsAttrs: '/api/v1/fs/attrs';
|
|
@@ -61,6 +63,10 @@ export type OvPath = (typeof OV_PATHS)[keyof typeof OV_PATHS];
|
|
|
61
63
|
* containing `/` is not read as a path separator.
|
|
62
64
|
*/
|
|
63
65
|
export declare const OV_PATH_BUILDERS: {
|
|
66
|
+
/** 账号用户目录(可关闭凭证返回)。Account user directory. */
|
|
67
|
+
readonly accountUsers: (accountId: string) => string;
|
|
68
|
+
/** 账号用户组目录。Account group directory. */
|
|
69
|
+
readonly accountGroups: (accountId: string) => string;
|
|
64
70
|
/** 单个会话。One session. */
|
|
65
71
|
readonly session: (sessionId: string) => string;
|
|
66
72
|
/** 会话的消息。Messages of one session. */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
2
|
import type { Locale } from '../shared/locale.js';
|
|
3
|
-
import type { OvClient, OvClientOptions } from './types.js';
|
|
3
|
+
import type { OvClient, OvClientOptions, OvRequestOptions } from './types.js';
|
|
4
4
|
/**
|
|
5
5
|
* {@link OpenVikingProvider} 的属性。请求字段与 {@link OvClientOptions} 同形,另可设置界面语言:
|
|
6
6
|
* 服务地址、身份与作用域、Cookie 策略,都按字段传值。
|
|
@@ -56,3 +56,8 @@ export declare function OpenVikingProvider({ baseURL, apiKey, accountId, userId,
|
|
|
56
56
|
export declare function useOvClient(): OvClient | null;
|
|
57
57
|
/** Internal: modules compose their request lifetime with the inherited signal. */
|
|
58
58
|
export declare function useOvSignal(): AbortSignal | undefined;
|
|
59
|
+
/** Internal identity inheritance for account-scoped principal directories. */
|
|
60
|
+
export declare function useOvIdentity(options?: OvRequestOptions): {
|
|
61
|
+
accountId: import("./types.js").OvIdentityValue | undefined;
|
|
62
|
+
userId: import("./types.js").OvIdentityValue | undefined;
|
|
63
|
+
};
|
|
@@ -1,6 +1,177 @@
|
|
|
1
|
-
.ov-
|
|
1
|
+
.ov-button {
|
|
2
|
+
--ov-ui-button-height: 32px;
|
|
3
|
+
--ov-ui-button-padding: 16px;
|
|
4
|
+
--ov-ui-button-primary: var(--ov-ui-color-primary, var(--ov-ui-primary-default));
|
|
5
|
+
--ov-ui-button-text: var(--ov-ui-color-text-2, var(--ov-ui-text-2-default));
|
|
6
|
+
--ov-ui-button-fill: var(--ov-ui-color-bg-5, var(--ov-ui-bg-5-default));
|
|
7
|
+
--ov-ui-button-fill-hover: var(--ov-ui-color-bg-11, var(--ov-ui-bg-11-default));
|
|
8
|
+
--ov-ui-button-focus-ring: var(--ov-ui-color-neutral-4, var(--ov-ui-neutral-4-default));
|
|
9
|
+
appearance: none;
|
|
10
|
+
box-sizing: border-box;
|
|
11
|
+
height: var(--ov-ui-button-height);
|
|
12
|
+
padding: 0 var(--ov-ui-button-padding);
|
|
13
|
+
background: var(--ov-ui-button-fill);
|
|
14
|
+
color: var(--ov-ui-button-text);
|
|
15
|
+
white-space: nowrap;
|
|
16
|
+
cursor: pointer;
|
|
17
|
+
-webkit-user-select: none;
|
|
18
|
+
user-select: none;
|
|
19
|
+
border: 1px solid #0000;
|
|
20
|
+
border-radius: 6px;
|
|
21
|
+
flex-shrink: 0;
|
|
22
|
+
justify-content: center;
|
|
23
|
+
align-items: center;
|
|
24
|
+
gap: 8px;
|
|
25
|
+
margin: 0;
|
|
26
|
+
font-family: inherit;
|
|
27
|
+
font-size: 13px;
|
|
28
|
+
font-weight: 500;
|
|
29
|
+
line-height: 1.53846;
|
|
30
|
+
text-decoration: none;
|
|
31
|
+
transition: background-color .1s cubic-bezier(0, 0, 1, 1), border-color .1s cubic-bezier(0, 0, 1, 1), color .1s cubic-bezier(0, 0, 1, 1);
|
|
32
|
+
display: inline-flex;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.ov-button--mini {
|
|
36
|
+
--ov-ui-button-height: 24px;
|
|
37
|
+
--ov-ui-button-padding: 12px;
|
|
38
|
+
gap: 4px;
|
|
39
|
+
font-size: 12px;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.ov-button--small {
|
|
43
|
+
--ov-ui-button-height: 28px;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.ov-button--large {
|
|
47
|
+
--ov-ui-button-height: 36px;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.ov-button--icon-only {
|
|
51
|
+
width: var(--ov-ui-button-height);
|
|
52
|
+
padding: 0;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.ov-button--circle {
|
|
56
|
+
border-radius: 50%;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.ov-button--long {
|
|
60
|
+
width: 100%;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.ov-button:not(:disabled):not([aria-disabled="true"]):hover {
|
|
64
|
+
background: var(--ov-ui-button-fill-hover);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.ov-button:not(:disabled):not([aria-disabled="true"]):active {
|
|
68
|
+
background: var(--ov-ui-button-fill);
|
|
69
|
+
color: var(--ov-ui-color-text-1, var(--ov-ui-text-1-default));
|
|
70
|
+
transition: none;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.ov-button:focus-visible {
|
|
74
|
+
box-shadow: 0 0 0 2px var(--ov-ui-button-focus-ring);
|
|
75
|
+
outline: none;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.ov-button:disabled:not(.ov-button--loading), .ov-button.ov-button--disabled, .ov-button[aria-disabled="true"] {
|
|
79
|
+
background: var(--ov-ui-color-bg-4, var(--ov-ui-bg-4-default));
|
|
80
|
+
cursor: not-allowed;
|
|
81
|
+
color: var(--ov-ui-color-text-disabled, var(--ov-ui-text-disabled-default));
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.ov-button--primary, .ov-button--outline {
|
|
85
|
+
--ov-ui-button-focus-ring: var(--ov-ui-color-primary-disabled, var(--ov-ui-primary-disabled-default));
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.ov-button--primary {
|
|
89
|
+
background: var(--ov-ui-button-primary);
|
|
90
|
+
color: var(--ov-ui-color-text-on-primary, var(--ov-ui-text-on-primary-default));
|
|
91
|
+
border-style: dashed;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.ov-button--primary:not(:disabled):not([aria-disabled="true"]):hover {
|
|
95
|
+
background: var(--ov-ui-color-primary-strong, var(--ov-ui-primary-strong-default));
|
|
96
|
+
color: var(--ov-ui-color-text-on-primary, var(--ov-ui-text-on-primary-default));
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.ov-button--primary:not(:disabled):not([aria-disabled="true"]):active {
|
|
100
|
+
background: var(--ov-ui-button-primary);
|
|
101
|
+
color: var(--ov-ui-color-text-on-primary, var(--ov-ui-text-on-primary-default));
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.ov-button--primary:disabled:not(.ov-button--loading), .ov-button--primary.ov-button--disabled, .ov-button--primary[aria-disabled="true"] {
|
|
105
|
+
background: var(--ov-ui-color-primary-disabled, var(--ov-ui-primary-disabled-default));
|
|
106
|
+
color: var(--ov-ui-color-text-on-primary-disabled, var(--ov-ui-on-primary-disabled-default));
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.ov-button--outline, .ov-button--outline:disabled:not(.ov-button--loading), .ov-button--outline.ov-button--disabled, .ov-button--outline[aria-disabled="true"] {
|
|
110
|
+
border-color: var(--ov-ui-color-border-3, var(--ov-ui-border-3-default));
|
|
111
|
+
background: none;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.ov-button--outline:not(:disabled):not([aria-disabled="true"]):hover, .ov-button--outline:not(:disabled):not([aria-disabled="true"]):active {
|
|
115
|
+
background: var(--ov-ui-color-bg-7, var(--ov-ui-bg-7-default));
|
|
116
|
+
color: var(--ov-ui-button-text);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.ov-button--outline:not(:disabled):not([aria-disabled="true"]):active {
|
|
120
|
+
border-color: var(--ov-ui-color-border-4, var(--ov-ui-border-4-default));
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.ov-button--text {
|
|
124
|
+
color: var(--ov-ui-color-link, var(--ov-ui-link-default));
|
|
125
|
+
background: none;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
.ov-button--text:not(:disabled):not([aria-disabled="true"]):hover, .ov-button--text:disabled:not(.ov-button--loading), .ov-button--text.ov-button--disabled, .ov-button--text[aria-disabled="true"] {
|
|
129
|
+
color: var(--ov-ui-color-primary-muted, var(--ov-ui-primary-muted-default));
|
|
130
|
+
background: none;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.ov-button--text:not(:disabled):not([aria-disabled="true"]):active {
|
|
134
|
+
color: var(--ov-ui-color-link-active, var(--ov-ui-link-active-default));
|
|
135
|
+
background: none;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.ov-button__icon {
|
|
139
|
+
flex: none;
|
|
140
|
+
align-items: center;
|
|
141
|
+
display: inline-flex;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.ov-button__spinner {
|
|
145
|
+
box-sizing: border-box;
|
|
146
|
+
border: 1.5px solid;
|
|
147
|
+
border-inline-start-color: #0000;
|
|
148
|
+
border-radius: 50%;
|
|
149
|
+
width: 1em;
|
|
150
|
+
height: 1em;
|
|
151
|
+
animation: 1s linear infinite ov-button-spin;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
@keyframes ov-button-spin {
|
|
155
|
+
to {
|
|
156
|
+
transform: rotate(360deg);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
@media (prefers-reduced-motion: reduce) {
|
|
161
|
+
.ov-button {
|
|
162
|
+
transition: none;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
.ov-button__spinner {
|
|
166
|
+
animation: none;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
.ov-button, .ov-input, .ov-textarea, .ov-directory-tour, .ov-wiki-dashboard, .ov-experience-dashboard, .ov-auth, .ov-agent-connect, .ov-console, .ov-divider, .ov-file-browser-entries, .ov-drawer, .ov-modal, .ov-file-browser, .ov-file-preview, .ov-file-tree, .ov-module-placeholder, .ov-popover, .ov-scope-switcher, .ov-tooltip, .ov-tui, .ov-viking-bot, .ov-viking-bot__popover, .ov-viking-bot__reference-picker--mention, .ov-viking-bot__interaction {
|
|
2
171
|
--ov-ui-tour-shadow-default: 0 15px 35px #0000000d, 0 5px 15px #0000000d;
|
|
3
172
|
--ov-ui-tour-highlight-default: #5252ff14;
|
|
173
|
+
--ov-ui-auth-on-primary-default: #fff;
|
|
174
|
+
--ov-ui-auth-backdrop-default: #0006;
|
|
4
175
|
--ov-ui-primary-default: #5252ff;
|
|
5
176
|
--ov-ui-primary-hover-default: #7075ff;
|
|
6
177
|
--ov-ui-primary-active-default: #3833d2;
|
|
@@ -57,7 +228,7 @@
|
|
|
57
228
|
#bd9cff 100%);
|
|
58
229
|
}
|
|
59
230
|
|
|
60
|
-
.dark .ov-directory-tour, html.dark .ov-wiki-dashboard, html.dark .ov-experience-dashboard, .dark .ov-agent-connect, .dark .ov-console, .dark .ov-divider, .dark .ov-file-browser-entries, .dark .ov-drawer, .dark .ov-file-browser, .dark .ov-file-preview, .dark .ov-file-tree, .dark .ov-module-placeholder, .dark .ov-popover, .dark .ov-scope-switcher, .dark .ov-tooltip, .dark .ov-tui, .dark .ov-viking-bot, .dark .ov-viking-bot__popover, .dark .ov-viking-bot__reference-picker--mention, .dark .ov-viking-bot__interaction {
|
|
231
|
+
html.dark .ov-button, html.dark .ov-input, html.dark .ov-textarea, .dark .ov-directory-tour, html.dark .ov-wiki-dashboard, html.dark .ov-experience-dashboard, .dark .ov-auth, .dark .ov-agent-connect, .dark .ov-console, .dark .ov-divider, .dark .ov-file-browser-entries, .dark .ov-drawer, .dark .ov-modal, .dark .ov-file-browser, .dark .ov-file-preview, .dark .ov-file-tree, .dark .ov-module-placeholder, .dark .ov-popover, .dark .ov-scope-switcher, .dark .ov-tooltip, .dark .ov-tui, .dark .ov-viking-bot, .dark .ov-viking-bot__popover, .dark .ov-viking-bot__reference-picker--mention, .dark .ov-viking-bot__interaction {
|
|
61
232
|
--ov-ui-primary-default: #5f5fff;
|
|
62
233
|
--ov-ui-primary-hover-default: #7075ff;
|
|
63
234
|
--ov-ui-primary-active-default: #4242ba;
|
|
@@ -87,6 +258,52 @@
|
|
|
87
258
|
--ov-ui-tooltip-text-default: #f0f1f3;
|
|
88
259
|
}
|
|
89
260
|
|
|
261
|
+
.ov-button, .ov-input, .ov-textarea {
|
|
262
|
+
--ov-ui-bg-white-default: var(--ov-ui-bg-1-default);
|
|
263
|
+
--ov-ui-bg-2-default: #fafbfd;
|
|
264
|
+
--ov-ui-bg-7-default: var(--ov-ui-border-1-default);
|
|
265
|
+
--ov-ui-bg-11-default: #e1e3ef;
|
|
266
|
+
--ov-ui-border-4-default: #acb0c5;
|
|
267
|
+
--ov-ui-neutral-4-default: #c9cdd4;
|
|
268
|
+
--ov-ui-primary-muted-default: #8e96ff;
|
|
269
|
+
--ov-ui-primary-strong-default: var(--ov-ui-primary-active-default);
|
|
270
|
+
--ov-ui-link-default: var(--ov-ui-primary-default);
|
|
271
|
+
--ov-ui-link-active-default: var(--ov-ui-primary-active-default);
|
|
272
|
+
--ov-ui-text-5-default: #c9c9d4;
|
|
273
|
+
--ov-ui-on-primary-disabled-default: var(--ov-ui-text-on-primary-default);
|
|
274
|
+
--ov-ui-input-focus-ring-default: color-mix(in srgb,
|
|
275
|
+
var(--ov-ui-color-primary, var(--ov-ui-primary-default)) 30%,
|
|
276
|
+
transparent);
|
|
277
|
+
--ov-ui-error-default: #e31b54;
|
|
278
|
+
--ov-ui-error-bg-default: #ffecec;
|
|
279
|
+
--ov-ui-error-border-default: #ffa3a0;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
html.dark .ov-button, html.dark .ov-input, html.dark .ov-textarea {
|
|
283
|
+
--ov-ui-bg-white-default: #fff0;
|
|
284
|
+
--ov-ui-bg-2-default: #fcfdfe03;
|
|
285
|
+
--ov-ui-bg-4-default: #f6f8fa0f;
|
|
286
|
+
--ov-ui-bg-5-default: #f1f3f514;
|
|
287
|
+
--ov-ui-bg-7-default: #1a1b1e;
|
|
288
|
+
--ov-ui-bg-11-default: #1e2023;
|
|
289
|
+
--ov-ui-border-2-default: #dde2e926;
|
|
290
|
+
--ov-ui-border-3-default: #dde2e94d;
|
|
291
|
+
--ov-ui-border-4-default: #6d6d6d;
|
|
292
|
+
--ov-ui-neutral-4-default: #5f5f60;
|
|
293
|
+
--ov-ui-primary-disabled-default: #3f3a89;
|
|
294
|
+
--ov-ui-primary-muted-default: #4c48b4;
|
|
295
|
+
--ov-ui-primary-strong-default: var(--ov-ui-primary-hover-default);
|
|
296
|
+
--ov-ui-link-default: #787dff;
|
|
297
|
+
--ov-ui-link-active-default: #949cff;
|
|
298
|
+
--ov-ui-text-disabled-default: #42464e;
|
|
299
|
+
--ov-ui-text-5-default: #e1e3ef;
|
|
300
|
+
--ov-ui-on-primary-disabled-default: #ffffff4d;
|
|
301
|
+
--ov-ui-input-focus-ring-default: #4583ff4d;
|
|
302
|
+
--ov-ui-error-default: #ff706d;
|
|
303
|
+
--ov-ui-error-bg-default: #9f211c33;
|
|
304
|
+
--ov-ui-error-border-default: #ff706d4d;
|
|
305
|
+
}
|
|
306
|
+
|
|
90
307
|
.dark .ov-viking-bot {
|
|
91
308
|
--ov-ui-code-bg-default: var(--ov-ui-bg-3-default);
|
|
92
309
|
}
|
|
@@ -165,7 +382,7 @@ html.dark .ov-wiki-dashboard, html.dark .ov-experience-dashboard, html.dark .ov-
|
|
|
165
382
|
display: flex;
|
|
166
383
|
}
|
|
167
384
|
|
|
168
|
-
.ov-agent-connect__code-actions button {
|
|
385
|
+
.ov-agent-connect__code-actions button:not(.ov-button) {
|
|
169
386
|
width: 24px;
|
|
170
387
|
height: 24px;
|
|
171
388
|
color: var(--ov-ui-agent-connect-secondary);
|
|
@@ -179,11 +396,11 @@ html.dark .ov-wiki-dashboard, html.dark .ov-experience-dashboard, html.dark .ov-
|
|
|
179
396
|
display: inline-flex;
|
|
180
397
|
}
|
|
181
398
|
|
|
182
|
-
.ov-agent-connect__code-actions button:hover {
|
|
399
|
+
.ov-agent-connect__code-actions button:not(.ov-button):hover {
|
|
183
400
|
color: var(--ov-ui-agent-connect-primary);
|
|
184
401
|
}
|
|
185
402
|
|
|
186
|
-
.ov-agent-connect__code-actions button:disabled {
|
|
403
|
+
.ov-agent-connect__code-actions button:not(.ov-button):disabled {
|
|
187
404
|
opacity: .6;
|
|
188
405
|
cursor: wait;
|
|
189
406
|
}
|
|
@@ -279,12 +496,12 @@ html.dark .ov-wiki-dashboard, html.dark .ov-experience-dashboard, html.dark .ov-
|
|
|
279
496
|
box-sizing: border-box;
|
|
280
497
|
}
|
|
281
498
|
|
|
282
|
-
.ov-agent-connect :where(button) {
|
|
499
|
+
.ov-agent-connect :where(button:not(.ov-button)) {
|
|
283
500
|
font: inherit;
|
|
284
501
|
cursor: pointer;
|
|
285
502
|
}
|
|
286
503
|
|
|
287
|
-
.ov-agent-connect button:focus-visible, .ov-agent-connect a:focus-visible {
|
|
504
|
+
.ov-agent-connect button:not(.ov-button):focus-visible, .ov-agent-connect a:focus-visible {
|
|
288
505
|
outline: 2px solid var(--ov-ui-color-focus, var(--ov-ui-focus-default));
|
|
289
506
|
outline-offset: 2px;
|
|
290
507
|
}
|
|
@@ -475,40 +692,12 @@ html.dark .ov-wiki-dashboard, html.dark .ov-experience-dashboard, html.dark .ov-
|
|
|
475
692
|
line-height: 22px;
|
|
476
693
|
}
|
|
477
694
|
|
|
478
|
-
.ov-agent-connect__copy {
|
|
479
|
-
background: var(--ov-ui-agent-connect-primary);
|
|
480
|
-
height: 34px;
|
|
481
|
-
color: var(--ov-ui-color-on-primary, var(--ov-ui-on-primary-default));
|
|
482
|
-
border: 0;
|
|
483
|
-
border-radius: 8px;
|
|
484
|
-
justify-content: center;
|
|
485
|
-
align-items: center;
|
|
486
|
-
gap: 6px;
|
|
487
|
-
padding: 5px 16px;
|
|
488
|
-
font-size: 13px;
|
|
489
|
-
line-height: 22px;
|
|
490
|
-
display: inline-flex;
|
|
491
|
-
}
|
|
492
|
-
|
|
493
695
|
.ov-agent-connect__copy svg {
|
|
494
696
|
flex: 0 0 16px;
|
|
495
697
|
width: 16px;
|
|
496
698
|
height: 16px;
|
|
497
699
|
}
|
|
498
700
|
|
|
499
|
-
.ov-agent-connect__copy:hover {
|
|
500
|
-
background: var(--ov-ui-color-primary-hover, var(--ov-ui-primary-hover-default));
|
|
501
|
-
}
|
|
502
|
-
|
|
503
|
-
.ov-agent-connect__copy:active {
|
|
504
|
-
background: var(--ov-ui-color-primary-active, var(--ov-ui-primary-active-default));
|
|
505
|
-
}
|
|
506
|
-
|
|
507
|
-
.ov-agent-connect__copy:disabled {
|
|
508
|
-
opacity: .6;
|
|
509
|
-
cursor: wait;
|
|
510
|
-
}
|
|
511
|
-
|
|
512
701
|
.ov-agent-connect__body {
|
|
513
702
|
box-shadow: inset 0 0 0 1px var(--ov-ui-agent-connect-border);
|
|
514
703
|
background: var(--ov-ui-agent-connect-card);
|