@openviking/react 0.1.5 → 0.1.6
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 -11
- package/dist/37~0.js +27 -0
- package/dist/3c~0.js +14 -8
- package/dist/3~0.js +1 -1
- package/dist/a~0.js +2 -2
- package/dist/ck~0.js +4 -0
- package/dist/client/paths.d.ts +4 -0
- package/dist/components/agent-connect/style.css +48 -4
- package/dist/components/directory-tour/style.css +46 -2
- package/dist/components/experience-dashboard/dashboard-tabs.d.ts +11 -0
- package/dist/components/experience-dashboard/experience-dashboard.d.ts +2 -0
- package/dist/components/experience-dashboard/experience-impact.d.ts +11 -0
- package/dist/components/experience-dashboard/experience-list.d.ts +9 -0
- package/dist/components/experience-dashboard/experience-pagination.d.ts +8 -0
- package/dist/components/experience-dashboard/experience-tests.d.ts +6 -0
- package/dist/components/experience-dashboard/experience-trajectories.d.ts +6 -0
- package/dist/components/experience-dashboard/index.d.ts +2 -0
- package/dist/components/experience-dashboard/labels.d.ts +2 -0
- package/dist/components/experience-dashboard/style.css +699 -0
- package/dist/components/experience-dashboard/style.js +0 -0
- package/dist/components/experience-dashboard/types.d.ts +106 -0
- package/dist/components/experience-dashboard.js +1 -0
- package/dist/components/file-browser-entries/style.css +144 -12
- package/dist/components/file-preview/style.css +48 -4
- package/dist/components/file-tree/style.css +63 -4
- package/dist/components/scope-switcher/style.css +48 -4
- package/dist/components/scope-switcher.js +1 -1
- package/dist/components/style.css +2168 -84
- package/dist/components/tui/style.css +122 -36
- package/dist/components/viking-bot/style.css +159 -12
- package/dist/components/wiki-dashboard/index.d.ts +2 -0
- package/dist/components/wiki-dashboard/labels.d.ts +2 -0
- package/dist/components/wiki-dashboard/style.css +741 -0
- package/dist/components/wiki-dashboard/style.js +0 -0
- package/dist/components/wiki-dashboard/types.d.ts +92 -0
- package/dist/components/wiki-dashboard/wiki-action-button.d.ts +9 -0
- package/dist/components/wiki-dashboard/wiki-conflict-card.d.ts +15 -0
- package/dist/components/wiki-dashboard/wiki-dashboard.d.ts +2 -0
- package/dist/components/wiki-dashboard/wiki-file-icon.d.ts +3 -0
- package/dist/components/wiki-dashboard/wiki-severity-filter.d.ts +8 -0
- package/dist/components/wiki-dashboard.js +1 -0
- package/dist/c~0.js +1 -1
- package/dist/fi~0.js +354 -0
- package/dist/fj~0.js +503 -0
- package/dist/f~0.js +661 -315
- package/dist/icons/index.d.ts +28 -0
- package/dist/icons.js +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.js +3 -1
- package/dist/k~0.js +277 -1
- package/dist/lk~0.js +52 -13
- package/dist/l~0.js +1021 -118
- package/dist/modules/console/index.d.ts +1 -2
- package/dist/modules/console/style.css +377 -56
- package/dist/modules/console.js +1 -1
- package/dist/modules/file-browser/dashboard-data.d.ts +9 -0
- package/dist/modules/file-browser/dashboard-indicator.d.ts +8 -0
- package/dist/modules/file-browser/dashboard-labels.d.ts +9 -0
- package/dist/modules/file-browser/dashboard-model.d.ts +14 -0
- package/dist/modules/file-browser/dashboard-resource.d.ts +12 -0
- package/dist/modules/file-browser/experience-dashboard-pane.d.ts +8 -0
- package/dist/modules/file-browser/experience-data.d.ts +31 -0
- package/dist/modules/file-browser/file-browser-labels.d.ts +1 -1
- package/dist/modules/file-browser/file-browser-tree-pane.d.ts +3 -2
- package/dist/modules/file-browser/file-browser.d.ts +1 -1
- package/dist/modules/file-browser/fs-directories.d.ts +8 -0
- package/dist/modules/file-browser/fs-lines.d.ts +36 -0
- package/dist/modules/file-browser/fs-memory-fields.d.ts +65 -0
- package/dist/modules/file-browser/fs-model.d.ts +12 -2
- package/dist/modules/file-browser/fs-read-file.d.ts +14 -0
- package/dist/modules/file-browser/fs-selection.d.ts +4 -0
- package/dist/modules/file-browser/index.d.ts +2 -2
- package/dist/modules/file-browser/style.css +1768 -24
- package/dist/modules/file-browser/types.d.ts +62 -0
- package/dist/modules/file-browser/use-browser-dashboards.d.ts +31 -0
- package/dist/modules/file-browser/use-dashboard-query.d.ts +9 -0
- package/dist/modules/file-browser/use-experience-dashboard.d.ts +27 -0
- package/dist/modules/file-browser/use-file-browser.d.ts +2 -45
- package/dist/modules/file-browser/use-fs-tree.d.ts +2 -0
- package/dist/modules/file-browser/use-wiki-dashboard.d.ts +17 -0
- package/dist/modules/file-browser/wiki-conflicts.d.ts +12 -0
- package/dist/modules/file-browser/wiki-dashboard-pane.d.ts +14 -0
- package/dist/modules/file-browser.js +1 -1
- package/dist/modules/scope-cascade/controller.d.ts +2 -2
- package/dist/modules/scope-cascade/index.d.ts +1 -2
- package/dist/modules/scope-cascade/scope-cascade.d.ts +1 -1
- package/dist/modules/scope-cascade/style.css +48 -4
- package/dist/modules/scope-cascade/types.d.ts +8 -3
- package/dist/modules/scope-cascade/use-scope-cascade.d.ts +2 -2
- package/dist/modules/scope-cascade.js +1 -1
- package/dist/modules/style.css +2344 -191
- package/dist/n~0.js +13 -129
- package/dist/rt~0.js +152 -0
- package/dist/r~0.js +17 -38
- package/dist/shared/components/popover/popover.d.ts +1 -1
- package/dist/shared/components/popover/types.d.ts +7 -1
- package/dist/shared/dashboard/dashboard-state.d.ts +12 -0
- package/dist/static/image/dashboard-background.png +0 -0
- package/dist/style.css +8897 -4616
- package/dist/viking-bot-composer~0.js +1 -1
- package/package.json +12 -2
package/README.md
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
English / [中文](README_CN.md)
|
|
4
4
|
|
|
5
|
-
Public UI components, composed modules
|
|
5
|
+
Public UI components, composed modules accept optional `locale: 'zh-CN' | 'en-US'`. Props override the nearest module or Provider; without a configured language, they use `en-US`. Existing `labels` override individual fields; omitted fields follow the current locale and update when it changes. Hosts still provide business content, slots and callback messages.
|
|
6
6
|
|
|
7
|
-
React foundations for OpenViking AI application interfaces: build tooling, documentation, layered directories, and scoped styles. FileTree, Tui and FilePreview provide working views, alongside five file-type icons. FileBrowser
|
|
7
|
+
React foundations for OpenViking AI application interfaces: build tooling, documentation, layered directories, and scoped styles. FileTree, Tui and FilePreview provide working views, alongside five file-type icons. FileBrowser coordinates browsing, previews and dashboards; Console provides a native command panel; ScopeCascade provides an integrated cascade selector.
|
|
8
8
|
|
|
9
9
|
This package inherits the repository's AGPL-3.0-only license. The release workflow publishes it to npm when a `react@<version>` tag matches the version in this package's manifest.
|
|
10
10
|
|
|
@@ -19,15 +19,15 @@ This package inherits the repository's AGPL-3.0-only license. The release workfl
|
|
|
19
19
|
| [components/scope-switcher](./src/components/scope-switcher/README.md) | `@openviking/react/components/scope-switcher` | Stateless scope layout and independent ScopeSelector options, panels and search |
|
|
20
20
|
| [components/agent-connect](./src/components/agent-connect/README.md) | `@openviking/react/components/agent-connect` | Fixed Figma connection view with original icons, built-in copy and clipboard feedback |
|
|
21
21
|
| [components/viking-bot](./src/components/viking-bot/README.md) | `@openviking/react/components/viking-bot` | Controlled conversation views, session controls, Markdown replies and composer |
|
|
22
|
-
| [modules](./src/modules/README.md) | `@openviking/react/modules/<module>` | Console panel and ScopeCascade Hooks and composition, plus
|
|
22
|
+
| [modules](./src/modules/README.md) | `@openviking/react/modules/<module>` | Console panel and ScopeCascade Hooks and composition, plus FileBrowser and independent dashboards |
|
|
23
23
|
| [client](./src/client/index.ts) | `@openviking/react/client` | Framework-neutral request client: `createOvClient`, `OvClient`, `OvClientError` |
|
|
24
24
|
| [hooks](./src/hooks/README.md), [utils](./src/utils/README.md) | Internal only | Cross-module Hooks and pure utilities |
|
|
25
25
|
|
|
26
|
-
Components implement their reviewed contracts incrementally. FileTree renders every documented row type with keyboard interaction; FilePreview implements the tab shell, header actions and the plain-text preview and editing foundation, with its body not yet wired to FileViewer. ScopeSwitcher is a stateless layout container; independently rendered ScopeSelector children own visibility, with host-owned per-level data subscriptions, search and requests. Tui renders records, results and the input. AgentConnect follows the Figma layout with built-in bilingual agent and developer integration content, host-provided credentials and locale, optional controlled selection and clipboard feedback. VikingBot provides a working view pending design review. Limits are described in each component's own docs. The package also ships five file-type icons.
|
|
26
|
+
Components implement their reviewed contracts incrementally. FileTree renders every documented row type with keyboard interaction; FilePreview implements the tab shell, header actions and the plain-text preview and editing foundation, with its body not yet wired to FileViewer. ScopeSwitcher is a stateless layout container; independently rendered ScopeSelector children own visibility, with host-owned per-level data subscriptions, search and requests. Tui renders records, results and the input. AgentConnect follows the Figma layout with built-in bilingual agent and developer integration content, host-provided credentials and locale, optional controlled selection and clipboard feedback. VikingBot provides a working view pending design review. Limits are described in each component's own docs. The package also ships five file-type icons, `ArrowRightIcon` and the three scope-level icons (`LibraryIcon`, `SpaceIcon`, `UserIcon`).
|
|
27
27
|
|
|
28
|
-
Components receive view data and state through props and express user intent through callbacks, following the [component directory conventions](./src/components/AGENTS.md). [modules](./src/modules/README.md) plan Hooks and views per business capability: Hooks load data, hold state and expose operations, and composite views wire them into components. Full pages and product-specific flows belong to the host; the admin console is out of scope for this phase. `console` exports a native command panel; its orchestration Hook stays internal and conversation data and callbacks are supplied by the host. `file-browser`
|
|
28
|
+
Components receive view data and state through props and express user intent through callbacks, following the [component directory conventions](./src/components/AGENTS.md). [modules](./src/modules/README.md) plan Hooks and views per business capability: Hooks load data, hold state and expose operations, and composite views wire them into components. Full pages and product-specific flows belong to the host; the admin console is out of scope for this phase. `console` exports a native command panel; its orchestration Hook stays internal and conversation data and callbacks are supplied by the host. `file-browser` provides browsing, preview and dashboard coordination.
|
|
29
29
|
|
|
30
|
-
Modules consume the native OpenViking API through a shared Client by default, with the Provider supplying `baseURL`, headers and other configuration, and
|
|
30
|
+
Modules consume the native OpenViking API through a shared Client by default, with the Provider supplying `baseURL`, headers and other configuration, and module views overriding individual fields through `requestOptions`. Standard integration needs no per-module Adapter; nonstandard gateways are adapted at the host's request boundary. The request contract — `OvRequestOptions`, `OvClient` and `OvClientError` — comes from the `@openviking/react/client` subpath, which ships a `fetch`-based `createOvClient`; the Provider is exported from the same subpath. Native module Hooks share this request boundary. ScopeCascade instead accepts three host API adapters and needs no Provider. See [request conventions](./src/modules/README.md#request-conventions-and-default-configuration).
|
|
31
31
|
|
|
32
32
|
Tui preserves JSON numeric tokens when indenting output. Structured resource links allow only `viking://`, `https://`, and `http://`; other targets render as text. Resource tables retain entry titles, native links and metadata. Output follows updates only near the bottom or after explicit submission. Read-only and disabled consoles cannot submit or insert help commands. `labels.resource` customizes the resource identity column.
|
|
33
33
|
|
|
@@ -41,9 +41,11 @@ The same props are consumed by different hosts. Hosts differ in flows and interf
|
|
|
41
41
|
- Icons, extension tabs, extra fields and toolbar actions come in as slots or nodes; components bind to no third-party UI library.
|
|
42
42
|
- List components render the rows or items the caller has already expanded; paging, loading, error and empty states come from module Hooks or the host.
|
|
43
43
|
|
|
44
|
+
`WikiDashboard` is exported from `@openviking/react/components/wiki-dashboard`; `ExperienceDashboard` from `@openviking/react/components/experience-dashboard`. Both are pure UI components receiving display data and state; FileBrowser owns native loading and response adaptation. Components and main Props types also appear at the package root. FileBrowser detects Wiki/experience entries, with `dashboardKinds` and `renderDashboard` for host permissions and gateway data. Each component exports `style.css`; FileBrowser styles include both boards. See the [dashboard docs](../../docs/docs/en/components/index.mdx).
|
|
45
|
+
|
|
44
46
|
## Public entries and styles
|
|
45
47
|
|
|
46
|
-
- The root entry exports each component and each business module placeholder with its main Props type (`<Component>Props`) only — currently `FileTree`, `Tui`, `ScopeSwitcher`, `ScopeSelector`, `ScopeCascade`, `AgentConnect` and Console
|
|
48
|
+
- The root entry exports each component and each business module placeholder with its main Props type (`<Component>Props`) only — currently `FileTree`, `Tui`, `ScopeSwitcher`, `ScopeSelector`, `ScopeCascade`, `AgentConnect` and Console, FileBrowser, WikiDashboard and ExperienceDashboard. Row types, option types, handles and label bags come from the `components/<component>` and `modules/<module>` subpaths. `FilePreview` is not on the root entry: its types reference the optional `@ark-design/ui`, and putting it there would make that peer required. ScopeCascade exports a working three-level composition with internal per-level subscriptions from `modules/scope-cascade`; Console exports its panel from `modules/console` and keeps its orchestration Hook internal; FileBrowser provides browsing and dashboard coordination. No aggregate `@openviking/react/components` or `@openviking/react/modules` JavaScript entry. Package exports are listed explicitly and internal files stay closed.
|
|
47
49
|
- Components expose only the explicitly listed layered subpaths, with no legacy path aliases.
|
|
48
50
|
- JS entries share implementations and never load CSS implicitly. Whole-package, component-set and single-module stylesheets are built from the same source, so import the scope you need.
|
|
49
51
|
|
|
@@ -55,7 +57,7 @@ The same props are consumed by different hosts. Hosts differ in flows and interf
|
|
|
55
57
|
| Business module set | `@openviking/react/modules/style.css` |
|
|
56
58
|
| Single business module | `@openviking/react/modules/<module>/style.css` |
|
|
57
59
|
|
|
58
|
-
Each CSS entry works
|
|
60
|
+
Each CSS entry works independently and includes the component styles it depends on. Business Hooks remain internal; no headless Hook entry is exposed.
|
|
59
61
|
|
|
60
62
|
```tsx
|
|
61
63
|
import { FileBrowser } from '@openviking/react/modules/file-browser';
|
|
@@ -67,7 +69,7 @@ import '@openviking/react/modules/file-browser/style.css';
|
|
|
67
69
|
/>;
|
|
68
70
|
```
|
|
69
71
|
|
|
70
|
-
|
|
72
|
+
Console accepts its documented panel props; native command execution uses Provider request configuration and starts only on explicit submission.
|
|
71
73
|
|
|
72
74
|
Experience dashboards belong to preview extensions; task progress starts inside its owning module; API Key display controls are reused on demand while credential creation and management belong to the host. No separate modules are added for these now.
|
|
73
75
|
|
|
@@ -79,7 +81,7 @@ import { PdfIcon } from '@openviking/react/icons';
|
|
|
79
81
|
<PdfIcon width={20} height={20} className="file-icon" alt="PDF" />;
|
|
80
82
|
```
|
|
81
83
|
|
|
82
|
-
Icons render as
|
|
84
|
+
Icons render as inline SVG. Decorative icons stay `aria-hidden`, while an icon that conveys meaning on its own can take an `aria-label`. SVGs are inlined into the build output, and hosts consume them directly from the package exports. `LibraryIcon`, `SpaceIcon` and `UserIcon` are the scope-level defaults; `ScopeCascade`'s default view applies them automatically when an adapter returns no `icon`.
|
|
83
85
|
|
|
84
86
|
React and ReactDOM are peer dependencies (`^18.2.0 || ^19.0.0`), automatically externalized by Rslib. Rslib emits shared ESM JavaScript and declarations, plus independently built CSS entries. The public `@openviking/react/style.css` entry resolves to `dist/style.css`. Styles are scoped and do not reset application styles.
|
|
85
87
|
|
|
@@ -87,7 +89,7 @@ From `frontend/`, run `npm run build:lib` to generate `packages/react/dist/`. Se
|
|
|
87
89
|
|
|
88
90
|
### ScopeCascade
|
|
89
91
|
|
|
90
|
-
Pass three stable API
|
|
92
|
+
Pass three stable API adapters directly to `<ScopeCascade {...api} onChange={handleSelection} />`. Adapters return `{ id, label }` options and receive an `AbortSignal`. The component owns requests, descendant resets, loading, retries and stale-response protection. `onChange` reports a complete `{ libraryId, spaceId, userId }` identity or `null` while incomplete. Import the component and Props from `@openviking/react/modules/scope-cascade` and its CSS from the corresponding `/style.css` entry.
|
|
91
93
|
|
|
92
94
|
## Maintaining built-in copy
|
|
93
95
|
|
package/dist/37~0.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
function DashboardState({ state = {}, empty, loading, failed, retry }) {
|
|
3
|
+
return /*#__PURE__*/ jsxs("div", {
|
|
4
|
+
className: "ov-dashboard-state",
|
|
5
|
+
"aria-busy": state.loading,
|
|
6
|
+
children: [
|
|
7
|
+
/*#__PURE__*/ jsx("p", {
|
|
8
|
+
"aria-live": "polite",
|
|
9
|
+
children: state.loading ? loading : state.error ? failed : empty
|
|
10
|
+
}),
|
|
11
|
+
state.error ? /*#__PURE__*/ jsxs(Fragment, {
|
|
12
|
+
children: [
|
|
13
|
+
/*#__PURE__*/ jsx("p", {
|
|
14
|
+
children: state.error.message
|
|
15
|
+
}),
|
|
16
|
+
/*#__PURE__*/ jsx("button", {
|
|
17
|
+
type: "button",
|
|
18
|
+
disabled: !state.onRetry,
|
|
19
|
+
onClick: state.onRetry,
|
|
20
|
+
children: retry
|
|
21
|
+
})
|
|
22
|
+
]
|
|
23
|
+
}) : null
|
|
24
|
+
]
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
export { DashboardState };
|
package/dist/3c~0.js
CHANGED
|
@@ -5,7 +5,7 @@ import remark_gfm from "remark-gfm";
|
|
|
5
5
|
import { ArrowRightIcon } from "./k~0.js";
|
|
6
6
|
import { resolveLocale } from "./nx~0.js";
|
|
7
7
|
import { checkreact } from "./0~0.js";
|
|
8
|
-
import { Tooltip } from "./
|
|
8
|
+
import { Tooltip } from "./rt~0.js";
|
|
9
9
|
import { useLocale } from "./28~0.js";
|
|
10
10
|
function getTuiCommandInputText(command) {
|
|
11
11
|
return command.inputText?.trim() || command.name;
|
|
@@ -965,13 +965,19 @@ function TuiEmptyRegion({ emptyState, commands, labels, disabled, onPick }) {
|
|
|
965
965
|
height: 14,
|
|
966
966
|
focusable: "false"
|
|
967
967
|
}),
|
|
968
|
-
/*#__PURE__*/
|
|
969
|
-
className: "ov-tui__empty-
|
|
970
|
-
children:
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
968
|
+
/*#__PURE__*/ jsxs("span", {
|
|
969
|
+
className: "ov-tui__empty-content",
|
|
970
|
+
children: [
|
|
971
|
+
/*#__PURE__*/ jsx("span", {
|
|
972
|
+
className: "ov-tui__empty-name",
|
|
973
|
+
children: command.name
|
|
974
|
+
}),
|
|
975
|
+
/*#__PURE__*/ jsx("span", {
|
|
976
|
+
className: "ov-tui__empty-desc",
|
|
977
|
+
title: command.summary ?? command.description,
|
|
978
|
+
children: command.summary ?? command.description
|
|
979
|
+
})
|
|
980
|
+
]
|
|
975
981
|
})
|
|
976
982
|
]
|
|
977
983
|
})
|
package/dist/3~0.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Fragment as external_react_Fragment, Suspense, forwardRef, lazy, useCallback, useId, useImperativeHandle, useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
3
|
-
import { Tooltip } from "./
|
|
3
|
+
import { Tooltip } from "./rt~0.js";
|
|
4
4
|
import { resolveLocale, mergeLabels } from "./nx~0.js";
|
|
5
5
|
import { useLocale } from "./28~0.js";
|
|
6
6
|
function FilePreviewImageFrame({ children }) {
|
package/dist/a~0.js
CHANGED
|
@@ -6,7 +6,7 @@ import { useOvSignal, useOvClient, createOvClient, isOvClientError } from "./ae~
|
|
|
6
6
|
import { useLocale, LocaleProvider } from "./28~0.js";
|
|
7
7
|
import { new_sessionreact, historyreact } from "./lg~0.js";
|
|
8
8
|
import { useOverlayPosition } from "./o~0.js";
|
|
9
|
-
import { Tooltip } from "./
|
|
9
|
+
import { Tooltip } from "./rt~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 = {
|
|
@@ -1304,4 +1304,4 @@ function Console({ mode, defaultMode, locale: localeProp, quickCommands = DEFAUL
|
|
|
1304
1304
|
})
|
|
1305
1305
|
});
|
|
1306
1306
|
}
|
|
1307
|
-
export { Console
|
|
1307
|
+
export { Console };
|
package/dist/ck~0.js
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
const OV_PATHS = {
|
|
2
2
|
fsLs: '/api/v1/fs/ls',
|
|
3
|
+
fsAttrs: '/api/v1/fs/attrs',
|
|
4
|
+
compileConfigs: '/api/v1/compile/configs',
|
|
5
|
+
experienceTrajectories: '/api/v1/agent-evolution/experiences/trajectories',
|
|
6
|
+
experienceOutcomes: '/api/v1/agent-evolution/experiences/outcomes',
|
|
3
7
|
fsStat: '/api/v1/fs/stat',
|
|
4
8
|
fsTree: '/api/v1/fs/tree',
|
|
5
9
|
fsMkdir: '/api/v1/fs/mkdir',
|
package/dist/client/paths.d.ts
CHANGED
|
@@ -18,6 +18,10 @@
|
|
|
18
18
|
export declare const OV_PATHS: {
|
|
19
19
|
/** 列出目录内容。List directory contents. */
|
|
20
20
|
readonly fsLs: '/api/v1/fs/ls';
|
|
21
|
+
readonly fsAttrs: '/api/v1/fs/attrs';
|
|
22
|
+
readonly compileConfigs: '/api/v1/compile/configs';
|
|
23
|
+
readonly experienceTrajectories: '/api/v1/agent-evolution/experiences/trajectories';
|
|
24
|
+
readonly experienceOutcomes: '/api/v1/agent-evolution/experiences/outcomes';
|
|
21
25
|
/** 读取条目状态。Read an entry's status. */
|
|
22
26
|
readonly fsStat: '/api/v1/fs/stat';
|
|
23
27
|
/** 读取目录树。Read a directory tree. */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.ov-directory-tour, .ov-agent-connect, .ov-console, .ov-divider, .ov-file-browser-entries, .ov-drawer, .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 {
|
|
1
|
+
.ov-directory-tour, .ov-wiki-dashboard, .ov-experience-dashboard, .ov-agent-connect, .ov-console, .ov-divider, .ov-file-browser-entries, .ov-drawer, .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
2
|
--ov-ui-tour-shadow-default: 0 15px 35px #0000000d, 0 5px 15px #0000000d;
|
|
3
3
|
--ov-ui-tour-highlight-default: #5252ff14;
|
|
4
4
|
--ov-ui-primary-default: #5252ff;
|
|
@@ -35,9 +35,29 @@
|
|
|
35
35
|
--ov-ui-overlay-default: #0006;
|
|
36
36
|
--ov-ui-tooltip-bg-default: #1f2329;
|
|
37
37
|
--ov-ui-tooltip-text-default: #fff;
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
--ov-ui-library-swatch-1-default: linear-gradient(145deg,
|
|
39
|
+
#ffd8ec 8%,
|
|
40
|
+
#ffabc8 46%,
|
|
41
|
+
#d8cbff 100%);
|
|
42
|
+
--ov-ui-library-swatch-2-default: linear-gradient(145deg,
|
|
43
|
+
#d9e8ff 8%,
|
|
44
|
+
#b8a6ff 52%,
|
|
45
|
+
#f3d6ff 100%);
|
|
46
|
+
--ov-ui-library-swatch-3-default: linear-gradient(145deg,
|
|
47
|
+
#ffe6bc 8%,
|
|
48
|
+
#ffaf96 48%,
|
|
49
|
+
#ff8bc5 100%);
|
|
50
|
+
--ov-ui-library-swatch-4-default: linear-gradient(145deg,
|
|
51
|
+
#eaf7ba 8%,
|
|
52
|
+
#b5efb8 52%,
|
|
53
|
+
#73d9c6 100%);
|
|
54
|
+
--ov-ui-library-swatch-5-default: linear-gradient(145deg,
|
|
55
|
+
#fff1ba 8%,
|
|
56
|
+
#ffc776 52%,
|
|
57
|
+
#bd9cff 100%);
|
|
58
|
+
}
|
|
59
|
+
|
|
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 {
|
|
41
61
|
--ov-ui-primary-default: #5f5fff;
|
|
42
62
|
--ov-ui-primary-hover-default: #7075ff;
|
|
43
63
|
--ov-ui-primary-active-default: #4242ba;
|
|
@@ -91,6 +111,30 @@
|
|
|
91
111
|
--ov-ui-connect-notice-default: var(--ov-ui-text-2-default);
|
|
92
112
|
}
|
|
93
113
|
|
|
114
|
+
.ov-wiki-dashboard, .ov-experience-dashboard, .ov-file-browser {
|
|
115
|
+
--ov-ui-dashboard-surface-default: #f8f8f8;
|
|
116
|
+
--ov-ui-dashboard-card-default: #fafafa;
|
|
117
|
+
--ov-ui-dashboard-muted-default: #787c91;
|
|
118
|
+
--ov-ui-dashboard-border-default: #edeef2;
|
|
119
|
+
--ov-ui-dashboard-warning-default: #eb7d00;
|
|
120
|
+
--ov-ui-dashboard-warning-light-default: #fff0e5;
|
|
121
|
+
--ov-ui-dashboard-danger-default: #d92d54;
|
|
122
|
+
--ov-ui-dashboard-danger-light-default: #ffecee;
|
|
123
|
+
--ov-ui-dashboard-success-default: #4f9c70;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
html.dark .ov-wiki-dashboard, html.dark .ov-experience-dashboard, html.dark .ov-file-browser {
|
|
127
|
+
--ov-ui-dashboard-surface-default: var(--ov-ui-bg-3-default);
|
|
128
|
+
--ov-ui-dashboard-card-default: var(--ov-ui-bg-3-default);
|
|
129
|
+
--ov-ui-dashboard-muted-default: var(--ov-ui-text-3-default);
|
|
130
|
+
--ov-ui-dashboard-border-default: var(--ov-ui-border-1-default);
|
|
131
|
+
--ov-ui-dashboard-warning-default: var(--ov-ui-warning-default);
|
|
132
|
+
--ov-ui-dashboard-warning-light-default: var(--ov-ui-warning-light-default);
|
|
133
|
+
--ov-ui-dashboard-danger-default: var(--ov-ui-status-error-default);
|
|
134
|
+
--ov-ui-dashboard-danger-light-default: var(--ov-ui-bg-5-default);
|
|
135
|
+
--ov-ui-dashboard-success-default: var(--ov-ui-status-success-default);
|
|
136
|
+
}
|
|
137
|
+
|
|
94
138
|
.ov-agent-connect__code-block {
|
|
95
139
|
border: 1px solid var(--ov-ui-agent-connect-border);
|
|
96
140
|
background: var(--ov-ui-agent-connect-bg);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.ov-directory-tour, .ov-agent-connect, .ov-console, .ov-divider, .ov-file-browser-entries, .ov-drawer, .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 {
|
|
1
|
+
.ov-directory-tour, .ov-wiki-dashboard, .ov-experience-dashboard, .ov-agent-connect, .ov-console, .ov-divider, .ov-file-browser-entries, .ov-drawer, .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
2
|
--ov-ui-tour-shadow-default: 0 15px 35px #0000000d, 0 5px 15px #0000000d;
|
|
3
3
|
--ov-ui-tour-highlight-default: #5252ff14;
|
|
4
4
|
--ov-ui-primary-default: #5252ff;
|
|
@@ -35,9 +35,29 @@
|
|
|
35
35
|
--ov-ui-overlay-default: #0006;
|
|
36
36
|
--ov-ui-tooltip-bg-default: #1f2329;
|
|
37
37
|
--ov-ui-tooltip-text-default: #fff;
|
|
38
|
+
--ov-ui-library-swatch-1-default: linear-gradient(145deg,
|
|
39
|
+
#ffd8ec 8%,
|
|
40
|
+
#ffabc8 46%,
|
|
41
|
+
#d8cbff 100%);
|
|
42
|
+
--ov-ui-library-swatch-2-default: linear-gradient(145deg,
|
|
43
|
+
#d9e8ff 8%,
|
|
44
|
+
#b8a6ff 52%,
|
|
45
|
+
#f3d6ff 100%);
|
|
46
|
+
--ov-ui-library-swatch-3-default: linear-gradient(145deg,
|
|
47
|
+
#ffe6bc 8%,
|
|
48
|
+
#ffaf96 48%,
|
|
49
|
+
#ff8bc5 100%);
|
|
50
|
+
--ov-ui-library-swatch-4-default: linear-gradient(145deg,
|
|
51
|
+
#eaf7ba 8%,
|
|
52
|
+
#b5efb8 52%,
|
|
53
|
+
#73d9c6 100%);
|
|
54
|
+
--ov-ui-library-swatch-5-default: linear-gradient(145deg,
|
|
55
|
+
#fff1ba 8%,
|
|
56
|
+
#ffc776 52%,
|
|
57
|
+
#bd9cff 100%);
|
|
38
58
|
}
|
|
39
59
|
|
|
40
|
-
.dark .ov-directory-tour, .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 {
|
|
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 {
|
|
41
61
|
--ov-ui-primary-default: #5f5fff;
|
|
42
62
|
--ov-ui-primary-hover-default: #7075ff;
|
|
43
63
|
--ov-ui-primary-active-default: #4242ba;
|
|
@@ -91,6 +111,30 @@
|
|
|
91
111
|
--ov-ui-connect-notice-default: var(--ov-ui-text-2-default);
|
|
92
112
|
}
|
|
93
113
|
|
|
114
|
+
.ov-wiki-dashboard, .ov-experience-dashboard, .ov-file-browser {
|
|
115
|
+
--ov-ui-dashboard-surface-default: #f8f8f8;
|
|
116
|
+
--ov-ui-dashboard-card-default: #fafafa;
|
|
117
|
+
--ov-ui-dashboard-muted-default: #787c91;
|
|
118
|
+
--ov-ui-dashboard-border-default: #edeef2;
|
|
119
|
+
--ov-ui-dashboard-warning-default: #eb7d00;
|
|
120
|
+
--ov-ui-dashboard-warning-light-default: #fff0e5;
|
|
121
|
+
--ov-ui-dashboard-danger-default: #d92d54;
|
|
122
|
+
--ov-ui-dashboard-danger-light-default: #ffecee;
|
|
123
|
+
--ov-ui-dashboard-success-default: #4f9c70;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
html.dark .ov-wiki-dashboard, html.dark .ov-experience-dashboard, html.dark .ov-file-browser {
|
|
127
|
+
--ov-ui-dashboard-surface-default: var(--ov-ui-bg-3-default);
|
|
128
|
+
--ov-ui-dashboard-card-default: var(--ov-ui-bg-3-default);
|
|
129
|
+
--ov-ui-dashboard-muted-default: var(--ov-ui-text-3-default);
|
|
130
|
+
--ov-ui-dashboard-border-default: var(--ov-ui-border-1-default);
|
|
131
|
+
--ov-ui-dashboard-warning-default: var(--ov-ui-warning-default);
|
|
132
|
+
--ov-ui-dashboard-warning-light-default: var(--ov-ui-warning-light-default);
|
|
133
|
+
--ov-ui-dashboard-danger-default: var(--ov-ui-status-error-default);
|
|
134
|
+
--ov-ui-dashboard-danger-light-default: var(--ov-ui-bg-5-default);
|
|
135
|
+
--ov-ui-dashboard-success-default: var(--ov-ui-status-success-default);
|
|
136
|
+
}
|
|
137
|
+
|
|
94
138
|
.ov-directory-tour {
|
|
95
139
|
--ov-ui-directory-tour-primary: var(--ov-ui-color-primary, var(--ov-ui-primary-default));
|
|
96
140
|
--ov-ui-directory-tour-background: var(--ov-ui-color-bg-1, var(--ov-ui-bg-1-default));
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
export declare function DashboardTabs<T extends string>({ tabs, active, label, onChange, children, }: {
|
|
3
|
+
tabs: readonly {
|
|
4
|
+
key: T;
|
|
5
|
+
title: string;
|
|
6
|
+
}[];
|
|
7
|
+
active: T;
|
|
8
|
+
label: string;
|
|
9
|
+
onChange: (key: T) => void;
|
|
10
|
+
children: ReactNode;
|
|
11
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { DashboardStatus } from '../../shared/dashboard/dashboard-state.js';
|
|
2
|
+
import type { ExperienceDashboardData, ExperienceDashboardLabels } from './types.js';
|
|
3
|
+
export declare function ExperienceImpact({ data, labels: t, days, onDaysChange, outcomesState, trajectoriesState, onOpenUri, }: {
|
|
4
|
+
data: ExperienceDashboardData;
|
|
5
|
+
labels: ExperienceDashboardLabels;
|
|
6
|
+
days: number;
|
|
7
|
+
onDaysChange: (days: number) => void;
|
|
8
|
+
outcomesState: DashboardStatus;
|
|
9
|
+
trajectoriesState: DashboardStatus;
|
|
10
|
+
onOpenUri?: (uri: string) => void;
|
|
11
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ExperienceDashboardLabels, ExperienceItem } from './types.js';
|
|
2
|
+
export declare function ExperienceList({ items, total, startIndex, locale, labels: t, onOpenUri, }: {
|
|
3
|
+
items: readonly ExperienceItem[];
|
|
4
|
+
total?: number;
|
|
5
|
+
startIndex?: number;
|
|
6
|
+
locale?: 'en-US' | 'zh-CN';
|
|
7
|
+
labels: ExperienceDashboardLabels;
|
|
8
|
+
onOpenUri?: (uri: string) => void;
|
|
9
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ExperienceDashboardLabels } from './types.js';
|
|
2
|
+
export declare function ExperiencePagination({ page, hasMore, loading, labels: t, onPageChange, }: {
|
|
3
|
+
page: number;
|
|
4
|
+
hasMore: boolean;
|
|
5
|
+
loading?: boolean;
|
|
6
|
+
labels: ExperienceDashboardLabels;
|
|
7
|
+
onPageChange?: (page: number) => void;
|
|
8
|
+
}): import("react").JSX.Element | null;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ExperienceDashboardData, ExperienceDashboardLabels } from './types.js';
|
|
2
|
+
export declare function ExperienceTests({ items, labels: t, onOpenUri, }: {
|
|
3
|
+
items: NonNullable<ExperienceDashboardData['testMaterials']>;
|
|
4
|
+
labels: ExperienceDashboardLabels;
|
|
5
|
+
onOpenUri?: (uri: string) => void;
|
|
6
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ExperienceTrajectory } from './types.js';
|
|
2
|
+
export declare function ExperienceTrajectories({ items, onOpenUri, source, }: {
|
|
3
|
+
items: readonly ExperienceTrajectory[];
|
|
4
|
+
onOpenUri?: (uri: string) => void;
|
|
5
|
+
source?: boolean;
|
|
6
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { ExperienceDashboard } from './experience-dashboard.js';
|
|
2
|
+
export type { ExperienceDashboardProps, ExperienceDashboardTab, ExperienceDashboardState, ExperienceDashboardData, ExperienceDashboardLabels, ExperienceItem, ExperienceOutcome, ExperienceTrajectory, } from './types.js';
|