@ftai/dsh-plugin-acn 0.0.0-stage → 0.1.1
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 +90 -0
- package/LICENSE-APACHE +201 -0
- package/LICENSE-MIT +19 -0
- package/README.md +82 -2
- package/README_EN.md +83 -0
- package/cordis.patch.yml +29 -0
- package/docs/acn-compat.md +33 -0
- package/docs/architecture.md +130 -0
- package/docs/assets/acn-claim-reuse.png +0 -0
- package/docs/assets/activity-view.png +0 -0
- package/docs/assets/install-package.png +0 -0
- package/docs/assets/knowledge-model.png +0 -0
- package/docs/assets/knowledge-view.png +0 -0
- package/docs/assets/personal-configuration.png +0 -0
- package/docs/assets/session-upstream.png +0 -0
- package/docs/assets/upstream-settings.png +0 -0
- package/docs/assets/upstream-team.png +0 -0
- package/docs/command-reference.md +201 -0
- package/docs/config.md +253 -0
- package/docs/development.md +197 -0
- package/docs/dsh-compat.md +59 -0
- package/docs/index.md +16 -0
- package/docs/outstanding-issues.md +61 -0
- package/docs/user_guide.md +185 -0
- package/icon.svg +8 -0
- package/lib/activities-B8U-iW4-.js +407 -0
- package/lib/alignment-CwH0nBf-.js +80 -0
- package/lib/auth-DFI9yowX.js +71 -0
- package/lib/checkpoint-CPFPOxBM.js +188 -0
- package/lib/checkpoint-c7aI4D-X.js +318 -0
- package/lib/claim-DOAGe8ZK.js +168 -0
- package/lib/client.js +18417 -0
- package/lib/deliver-C-dmhkfm.js +168 -0
- package/lib/delivery-status-M7-Rwoyj.js +89 -0
- package/lib/dispute-CtrInHzf.js +20 -0
- package/lib/disputes-ByEmi43j.js +51 -0
- package/lib/dream-agent-BVqxbKFc.js +249 -0
- package/lib/dream.js +4 -0
- package/lib/effects-DX1iy6FM.js +268 -0
- package/lib/errors-Bp_2WXBr.js +19 -0
- package/lib/errors-pPumDOGD.js +18 -0
- package/lib/evidence-store-DW7kj20i.js +1030 -0
- package/lib/formation-D4LO31WW.js +187 -0
- package/lib/formation-replay-Bf4TSBiz.js +87 -0
- package/lib/formation.js +9 -0
- package/lib/history-DPMHX3ZE.js +214 -0
- package/lib/inbox-2CugZZQm.js +188 -0
- package/lib/inbox-DFtE2fOp.js +71 -0
- package/lib/inbox.js +3 -0
- package/lib/index.js +1373 -0
- package/lib/lock-DbmlKOoX.js +332 -0
- package/lib/pages-BEWC3kmZ.js +51 -0
- package/lib/paths-B7NI9Ano.js +157 -0
- package/lib/plugins/commands.js +590 -0
- package/lib/plugins/dream.js +66 -0
- package/lib/plugins/formation.js +66 -0
- package/lib/plugins/inbox.js +53 -0
- package/lib/plugins/knowledge.js +1109 -0
- package/lib/plugins/prompt.js +102 -0
- package/lib/plugins/tools.js +280 -0
- package/lib/policy-DnyHh7Bl.js +16 -0
- package/lib/prepare-CGXwBEcu.js +134 -0
- package/lib/protocol.js +8 -0
- package/lib/queue-M917xHPS.js +153 -0
- package/lib/regular-file-BFpqMoub.js +136 -0
- package/lib/render-CJaVcKKC.js +48 -0
- package/lib/reported-sets-DdEKdeVb.js +122 -0
- package/lib/revision-DeoL_IUN.js +11 -0
- package/lib/scheduler-BfJSY1eq.js +64 -0
- package/lib/service-BPwaZzFF.js +1106 -0
- package/lib/service-BQaszW_v.js +344 -0
- package/lib/service-BhniAHLo.js +305 -0
- package/lib/service-C2lXoygJ.js +505 -0
- package/lib/session-binding-zCSuizHs.js +342 -0
- package/lib/session-state-CYqUhC95.js +38 -0
- package/lib/sessions-C2xuPFQv.js +218 -0
- package/lib/store.js +16 -0
- package/lib/structured-C9byFuzm.js +453 -0
- package/lib/subagent-yJsFxHmH.js +9 -0
- package/lib/team.js +3 -0
- package/lib/tool-schema-3b4gH1zf.js +28 -0
- package/lib/trace-Da0RnL5R.js +14 -0
- package/lib/traces-CHBo8y1z.js +11 -0
- package/lib/types/activities.d.ts +73 -0
- package/lib/types/advanced-configuration.d.ts +11 -0
- package/lib/types/client/ActivityCard.d.ts +14 -0
- package/lib/types/client/ActivityDetails.d.ts +18 -0
- package/lib/types/client/AdvancedPreferences.d.ts +8 -0
- package/lib/types/client/BlankCommandFeedback.d.ts +10 -0
- package/lib/types/client/ComposerMenu.d.ts +24 -0
- package/lib/types/client/ConfigurationPage.d.ts +11 -0
- package/lib/types/client/ConnectionCheckDialog.d.ts +12 -0
- package/lib/types/client/KnowledgeDetail.d.ts +6 -0
- package/lib/types/client/KnowledgeDirectoryField.d.ts +11 -0
- package/lib/types/client/KnowledgePanel.d.ts +12 -0
- package/lib/types/client/KnowledgeReference.d.ts +13 -0
- package/lib/types/client/SessionToolbar.d.ts +16 -0
- package/lib/types/client/SettingsToast.d.ts +3 -0
- package/lib/types/client/SourceSessionLink.d.ts +16 -0
- package/lib/types/client/TeamCredentialField.d.ts +16 -0
- package/lib/types/client/TeamSettingsPage.d.ts +28 -0
- package/lib/types/client/configuration-errors.d.ts +2 -0
- package/lib/types/client/interaction-styles.d.ts +1 -0
- package/lib/types/client/interaction-ui.d.ts +30 -0
- package/lib/types/client/knowledge-labels.d.ts +5 -0
- package/lib/types/client/locales.d.ts +51 -0
- package/lib/types/commands/claim.d.ts +4 -0
- package/lib/types/commands/import.d.ts +10 -0
- package/lib/types/commands/status.d.ts +5 -0
- package/lib/types/config.d.ts +111 -0
- package/lib/types/configuration.d.ts +235 -0
- package/lib/types/credentials.d.ts +59 -0
- package/lib/types/dream/audit.d.ts +4 -0
- package/lib/types/dream/autonomous.d.ts +185 -0
- package/lib/types/dream/candidates.d.ts +34 -0
- package/lib/types/dream/checkpoint.d.ts +35 -0
- package/lib/types/dream/evidence-files.d.ts +10 -0
- package/lib/types/dream/evidence-store.d.ts +103 -0
- package/lib/types/dream/evidence.d.ts +30 -0
- package/lib/types/dream/index.d.ts +10 -0
- package/lib/types/dream/plan.d.ts +18 -0
- package/lib/types/dream/preservation.d.ts +6 -0
- package/lib/types/dream/review.d.ts +10 -0
- package/lib/types/dream/schema.d.ts +1475 -0
- package/lib/types/dream/service.d.ts +56 -0
- package/lib/types/dream/sync.d.ts +147 -0
- package/lib/types/dsh-adapter/configuration-remote.d.ts +1 -0
- package/lib/types/dsh-adapter/configuration-service.d.ts +28 -0
- package/lib/types/dsh-adapter/dream-agent.d.ts +4 -0
- package/lib/types/dsh-adapter/dream-evidence.d.ts +3 -0
- package/lib/types/dsh-adapter/formation-archive.d.ts +3 -0
- package/lib/types/dsh-adapter/formation-replay.d.ts +5 -0
- package/lib/types/dsh-adapter/formation.d.ts +4 -0
- package/lib/types/dsh-adapter/interaction-service.d.ts +13 -0
- package/lib/types/dsh-adapter/knowledge-paths.d.ts +3 -0
- package/lib/types/dsh-adapter/llm.d.ts +10 -0
- package/lib/types/dsh-adapter/project-upstream.d.ts +4 -0
- package/lib/types/dsh-adapter/runtime-pool.d.ts +110 -0
- package/lib/types/dsh-adapter/session-binding.d.ts +43 -0
- package/lib/types/dsh-adapter/source-sessions.d.ts +3 -0
- package/lib/types/dsh-adapter/team-credentials.d.ts +5 -0
- package/lib/types/dsh-adapter/tool-schema.d.ts +4 -0
- package/lib/types/dsh-adapter/tools.d.ts +5 -0
- package/lib/types/formation/capture.d.ts +19 -0
- package/lib/types/formation/checkpoint.d.ts +136 -0
- package/lib/types/formation/index.d.ts +10 -0
- package/lib/types/formation/prepare.d.ts +16 -0
- package/lib/types/formation/schema.d.ts +45 -0
- package/lib/types/formation/service.d.ts +58 -0
- package/lib/types/formation/transcript.d.ts +75 -0
- package/lib/types/formation/triggers.d.ts +3 -0
- package/lib/types/inbox/cascade.d.ts +3 -0
- package/lib/types/inbox/effects.d.ts +275 -0
- package/lib/types/inbox/index.d.ts +5 -0
- package/lib/types/inbox/prepare.d.ts +380 -0
- package/lib/types/inbox/service.d.ts +26 -0
- package/lib/types/inbox/sync.d.ts +9 -0
- package/lib/types/index.d.ts +1 -0
- package/lib/types/interaction-messages.d.ts +69 -0
- package/lib/types/interaction.d.ts +541 -0
- package/lib/types/knowledge/alignment.d.ts +49 -0
- package/lib/types/knowledge/catalog.d.ts +5 -0
- package/lib/types/knowledge/changes.d.ts +32 -0
- package/lib/types/knowledge/disputes.d.ts +3 -0
- package/lib/types/knowledge/errors.d.ts +9 -0
- package/lib/types/knowledge/ordering.d.ts +7 -0
- package/lib/types/knowledge/pages.d.ts +7 -0
- package/lib/types/knowledge/safety.d.ts +2 -0
- package/lib/types/knowledge/service.d.ts +52 -0
- package/lib/types/knowledge/sessions.d.ts +59 -0
- package/lib/types/knowledge/sources.d.ts +2 -0
- package/lib/types/knowledge/timestamps.d.ts +1 -0
- package/lib/types/knowledge/types.d.ts +84 -0
- package/lib/types/llm/response.d.ts +1 -0
- package/lib/types/llm/structured.d.ts +27 -0
- package/lib/types/local-name.d.ts +1 -0
- package/lib/types/plugins/client.d.ts +9 -0
- package/lib/types/plugins/commands.d.ts +11 -0
- package/lib/types/plugins/configuration.d.ts +8 -0
- package/lib/types/plugins/dream.d.ts +16 -0
- package/lib/types/plugins/formation.d.ts +16 -0
- package/lib/types/plugins/inbox.d.ts +16 -0
- package/lib/types/plugins/knowledge.d.ts +19 -0
- package/lib/types/plugins/prompt.d.ts +17 -0
- package/lib/types/plugins/tools.d.ts +10 -0
- package/lib/types/prompt/render.d.ts +2 -0
- package/lib/types/protocol/arbitration.d.ts +154 -0
- package/lib/types/protocol/auth.d.ts +31 -0
- package/lib/types/protocol/claim.d.ts +36 -0
- package/lib/types/protocol/dispute.d.ts +17 -0
- package/lib/types/protocol/ids.d.ts +20 -0
- package/lib/types/protocol/inbox.d.ts +141 -0
- package/lib/types/protocol/index.d.ts +11 -0
- package/lib/types/protocol/policy.d.ts +21 -0
- package/lib/types/protocol/revision.d.ts +2 -0
- package/lib/types/protocol/router.d.ts +114 -0
- package/lib/types/protocol/schema.d.ts +4 -0
- package/lib/types/protocol/time.d.ts +5 -0
- package/lib/types/protocol/trace.d.ts +11 -0
- package/lib/types/store/atomic.d.ts +8 -0
- package/lib/types/store/claim-edits.d.ts +33 -0
- package/lib/types/store/claims.d.ts +7 -0
- package/lib/types/store/context.d.ts +13 -0
- package/lib/types/store/delivery-status.d.ts +48 -0
- package/lib/types/store/disputes.d.ts +6 -0
- package/lib/types/store/entities.d.ts +16 -0
- package/lib/types/store/errors.d.ts +8 -0
- package/lib/types/store/history.d.ts +65 -0
- package/lib/types/store/inbox.d.ts +27 -0
- package/lib/types/store/index.d.ts +16 -0
- package/lib/types/store/jobs.d.ts +5 -0
- package/lib/types/store/library-directory.d.ts +4 -0
- package/lib/types/store/lock.d.ts +11 -0
- package/lib/types/store/path-names.d.ts +2 -0
- package/lib/types/store/paths.d.ts +45 -0
- package/lib/types/store/presentation.d.ts +13 -0
- package/lib/types/store/regular-file.d.ts +2 -0
- package/lib/types/store/rejected-disputes.d.ts +18 -0
- package/lib/types/store/rename.d.ts +1 -0
- package/lib/types/store/reported-sets.d.ts +24 -0
- package/lib/types/store/session-state.d.ts +17 -0
- package/lib/types/store/traces.d.ts +6 -0
- package/lib/types/store/uploads.d.ts +312 -0
- package/lib/types/store/yaml.d.ts +8 -0
- package/lib/types/team/errors.d.ts +10 -0
- package/lib/types/team/http.d.ts +20 -0
- package/lib/types/team/index.d.ts +5 -0
- package/lib/types/team/maintainer-client.d.ts +18 -0
- package/lib/types/team/router-client.d.ts +14 -0
- package/lib/types/team/service.d.ts +28 -0
- package/lib/types/team/system-proxy.d.ts +9 -0
- package/lib/types/tools/claim.d.ts +63 -0
- package/lib/types/tools/consult-router.d.ts +11 -0
- package/lib/types/tools/subagent.d.ts +8 -0
- package/lib/types/tools/validation.d.ts +2 -0
- package/lib/types/upload/consolidation.d.ts +63 -0
- package/lib/types/upload/deliver.d.ts +15 -0
- package/lib/types/upload/index.d.ts +2 -0
- package/lib/types/upload/scheduler.d.ts +19 -0
- package/lib/types/upstreams.d.ts +5 -0
- package/lib/types/worker/queue.d.ts +17 -0
- package/lib/types/worker/types.d.ts +51 -0
- package/lib/types/worker/worker.d.ts +39 -0
- package/lib/types-C2ST2Zdg.js +17 -0
- package/lib/upload.js +3 -0
- package/lib/uploads-BCA2p92b.js +210 -0
- package/lib/upstreams-DEi-56tD.js +495 -0
- package/lib/worker-HMGzJFWd.js +185 -0
- package/locale/commands/en.json +1 -0
- package/locale/commands/zh.json +1 -0
- package/locale/dream/en.json +1 -0
- package/locale/dream/zh.json +1 -0
- package/locale/en.json +7 -0
- package/locale/formation/en.json +1 -0
- package/locale/formation/zh.json +1 -0
- package/locale/inbox/en.json +1 -0
- package/locale/inbox/zh.json +1 -0
- package/locale/knowledge/en.json +1 -0
- package/locale/knowledge/zh.json +1 -0
- package/locale/prompt/en.json +1 -0
- package/locale/prompt/zh.json +1 -0
- package/locale/tools/en.json +1 -0
- package/locale/tools/zh.json +1 -0
- package/locale/zh.json +7 -0
- package/package.json +262 -3
- package/prompts/claim_dream.j2 +77 -0
- package/prompts/claim_dream_legacy.j2 +63 -0
- package/prompts/dream_compaction.j2 +11 -0
- package/prompts/dream_evidence.j2 +5 -0
- package/prompts/inbox_claim_attribute_update_internalize.j2 +112 -0
- package/prompts/inbox_policy_update_internalize.j2 +87 -0
- package/prompts/knowledge.j2 +38 -0
- package/prompts/session_recap.j2 +113 -0
- package/prompts/what_is_claim.j2 +51 -0
- package/prompts/what_is_dispute.j2 +21 -0
- package/prompts/what_is_policy.j2 +22 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { ButtonHTMLAttributes, ReactNode, RefObject } from 'react';
|
|
2
|
+
import type { Copy } from './interaction-ui.js';
|
|
3
|
+
type IconName = 'network' | 'chevron' | 'book' | 'sync' | 'recap' | 'settings' | 'check' | 'user' | 'close';
|
|
4
|
+
export declare function Icon({ name, size }: {
|
|
5
|
+
name: IconName;
|
|
6
|
+
size?: number;
|
|
7
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export declare function MenuItem({ icon, children, ...props }: ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
9
|
+
icon: IconName;
|
|
10
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export declare function ComposerMenu({ anchor, close, id, label, children }: {
|
|
12
|
+
anchor: RefObject<HTMLButtonElement>;
|
|
13
|
+
close: () => void;
|
|
14
|
+
id: string;
|
|
15
|
+
label: string;
|
|
16
|
+
children: ReactNode;
|
|
17
|
+
}): import("react").ReactPortal;
|
|
18
|
+
export declare function Notice({ children, c, close, failed }: {
|
|
19
|
+
children: ReactNode;
|
|
20
|
+
c: Copy;
|
|
21
|
+
close: () => void;
|
|
22
|
+
failed?: boolean;
|
|
23
|
+
}): import("react").ReactPortal;
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ConfigurationResult, ConfigurationSnapshot, SaveConfiguration } from '../configuration.js';
|
|
2
|
+
import type { ConfigurationText } from './locales.js';
|
|
3
|
+
export interface ConfigurationApi {
|
|
4
|
+
read: (signal?: AbortSignal) => Promise<ConfigurationSnapshot>;
|
|
5
|
+
save: (request: SaveConfiguration) => Promise<ConfigurationResult>;
|
|
6
|
+
}
|
|
7
|
+
export interface ConfigurationPageProps {
|
|
8
|
+
api: ConfigurationApi;
|
|
9
|
+
t: (key: ConfigurationText) => string;
|
|
10
|
+
}
|
|
11
|
+
export declare function ConfigurationPage({ api, t }: ConfigurationPageProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { InteractionResult } from '../interaction.js';
|
|
2
|
+
import type { Copy } from './interaction-ui.js';
|
|
3
|
+
export type ConnectionCheckResult = {
|
|
4
|
+
message: string;
|
|
5
|
+
checks: InteractionResult['checks'];
|
|
6
|
+
failed: boolean;
|
|
7
|
+
};
|
|
8
|
+
export declare function ConnectionCheckDialog({ result, close, c }: {
|
|
9
|
+
result: ConnectionCheckResult;
|
|
10
|
+
close: () => void;
|
|
11
|
+
c: Copy;
|
|
12
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { InteractionApi } from './TeamSettingsPage.js';
|
|
2
|
+
import type { Copy } from './interaction-ui.js';
|
|
3
|
+
export declare function KnowledgeDirectoryField({ value, change, busy, api, c, label, feedback }: {
|
|
4
|
+
value: string;
|
|
5
|
+
change: (path: string) => void;
|
|
6
|
+
busy: boolean;
|
|
7
|
+
api: InteractionApi;
|
|
8
|
+
c: Copy;
|
|
9
|
+
label: string;
|
|
10
|
+
feedback: (text: string, failed?: boolean) => void;
|
|
11
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { InteractionApi } from './TeamSettingsPage.js';
|
|
2
|
+
import type { Copy } from './interaction-ui.js';
|
|
3
|
+
export declare function KnowledgePanel({ api, initialKey, initialTab, showHeading, c, openSource, openSettings, openComponents }: {
|
|
4
|
+
api: InteractionApi;
|
|
5
|
+
initialKey: string;
|
|
6
|
+
initialTab?: 'knowledge' | 'activity';
|
|
7
|
+
showHeading?: boolean;
|
|
8
|
+
c: Copy;
|
|
9
|
+
openSource?: (id: string) => void;
|
|
10
|
+
openSettings?: (() => void) | undefined;
|
|
11
|
+
openComponents?: (() => void) | undefined;
|
|
12
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { InteractionApi } from './TeamSettingsPage.js';
|
|
2
|
+
import type { Copy } from './interaction-ui.js';
|
|
3
|
+
export declare function KnowledgeReference({ api, runtimeKey, id, from, origin, c, back, openClaim, openSource }: {
|
|
4
|
+
api: InteractionApi;
|
|
5
|
+
runtimeKey: string;
|
|
6
|
+
id: string;
|
|
7
|
+
from: string;
|
|
8
|
+
origin?: HTMLElement | null;
|
|
9
|
+
c: Copy;
|
|
10
|
+
back: () => void;
|
|
11
|
+
openClaim: (id: string, from: string) => void;
|
|
12
|
+
openSource?: ((id: string) => void) | undefined;
|
|
13
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { PropsRuntime } from '@deepseek-ai/dsh-client-ui-slots';
|
|
2
|
+
import type { InteractionApi } from './TeamSettingsPage.js';
|
|
3
|
+
import type { SessionView } from '../interaction.js';
|
|
4
|
+
import type { SettingsTab } from './TeamSettingsPage.js';
|
|
5
|
+
import type { Copy } from './interaction-ui.js';
|
|
6
|
+
type Props = Pick<PropsRuntime<'conversation.input.left'>, 'sessionId' | 'useSession'> & {
|
|
7
|
+
api: InteractionApi;
|
|
8
|
+
c: Copy;
|
|
9
|
+
block: (id: string, reason?: string) => void;
|
|
10
|
+
openSettings: (tab?: SettingsTab) => void;
|
|
11
|
+
openKnowledge: (key: string, activity?: boolean) => void;
|
|
12
|
+
suppressed?: boolean;
|
|
13
|
+
};
|
|
14
|
+
export declare const composerBlockReason: (view: SessionView, c?: Copy) => string | undefined;
|
|
15
|
+
export declare function SessionToolbar(props: Props): import("react/jsx-runtime").JSX.Element | null;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { SourceSession } from '../interaction.js';
|
|
2
|
+
import type { InteractionApi } from './TeamSettingsPage.js';
|
|
3
|
+
import type { Copy } from './interaction-ui.js';
|
|
4
|
+
export declare function SourceSessionLink({ source, api, c, open, label: customLabel }: {
|
|
5
|
+
label?: string | undefined;
|
|
6
|
+
source: SourceSession;
|
|
7
|
+
api: InteractionApi;
|
|
8
|
+
c: Copy;
|
|
9
|
+
open?: ((id: string) => void) | undefined;
|
|
10
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export declare function KnowledgeSources({ sources, api, c, open }: {
|
|
12
|
+
sources?: SourceSession[] | undefined;
|
|
13
|
+
api: InteractionApi;
|
|
14
|
+
c: Copy;
|
|
15
|
+
open?: ((id: string) => void) | undefined;
|
|
16
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { CredentialRequest, CredentialResult } from '../credentials.js';
|
|
2
|
+
import type { Copy } from './interaction-ui.js';
|
|
3
|
+
type CredentialApi = (request: CredentialRequest, signal?: AbortSignal) => Promise<CredentialResult>;
|
|
4
|
+
export declare function TeamCredentialField({ reference, api, c, disabled, value, change, refresh, removed, bound, remove }: {
|
|
5
|
+
reference: string;
|
|
6
|
+
api?: CredentialApi | undefined;
|
|
7
|
+
c: Copy;
|
|
8
|
+
disabled: boolean;
|
|
9
|
+
value: string;
|
|
10
|
+
change: (value: string) => void;
|
|
11
|
+
refresh: number;
|
|
12
|
+
removed?: boolean;
|
|
13
|
+
bound?: boolean;
|
|
14
|
+
remove?: () => void;
|
|
15
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { ConfigurationApi } from './ConfigurationPage.js';
|
|
2
|
+
import type { ConfigurationValues } from '../configuration.js';
|
|
3
|
+
import type { InteractionRequest, InteractionResult } from '../interaction.js';
|
|
4
|
+
import type { CredentialRequest, CredentialResult } from '../credentials.js';
|
|
5
|
+
import type { ConfigurationText } from './locales.js';
|
|
6
|
+
export interface InteractionApi extends ConfigurationApi {
|
|
7
|
+
interact: (request: InteractionRequest, signal?: AbortSignal) => Promise<InteractionResult>;
|
|
8
|
+
credential?: (request: CredentialRequest, signal?: AbortSignal) => Promise<CredentialResult>;
|
|
9
|
+
pickDirectory?: () => Promise<string | null>;
|
|
10
|
+
}
|
|
11
|
+
export type SettingsTab = 'upstreams' | 'knowledge' | 'preferences';
|
|
12
|
+
export interface TeamSettingsProps {
|
|
13
|
+
api: InteractionApi;
|
|
14
|
+
t: (key: ConfigurationText) => string;
|
|
15
|
+
openKnowledge: (key: string) => void;
|
|
16
|
+
initialTab?: SettingsTab;
|
|
17
|
+
openPlugins?: (() => void) | undefined;
|
|
18
|
+
}
|
|
19
|
+
export declare function settingsUpstreams(values: ConfigurationValues): Record<string, {
|
|
20
|
+
name: string;
|
|
21
|
+
agentId: string & import("zod").$brand<"AgentId">;
|
|
22
|
+
enabled: boolean;
|
|
23
|
+
routerEndpoint: string;
|
|
24
|
+
maintainerEndpoint: string;
|
|
25
|
+
keyEnv: string;
|
|
26
|
+
timeoutMs: number;
|
|
27
|
+
}>;
|
|
28
|
+
export declare function TeamSettingsPage({ api, t, openKnowledge, initialTab, openPlugins }: TeamSettingsProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const interactionStyles = "\n.acn-trigger,.acn-item,.acn-tab,.acn-dismiss{color:inherit;background:transparent;border:0;font:inherit;cursor:pointer}\n.acn-trigger{height:28px;display:inline-flex;flex:none;align-items:center;gap:5px;padding:0 7px;border-radius:7px;white-space:nowrap;color:var(--dsw-alias-label-secondary,GrayText);font-size:var(--dsh-content-font-size-secondary,13px);line-height:1;font-weight:500}\n.acn-short-label{max-width:145px;overflow:hidden;text-overflow:ellipsis}\n.acn-trigger:hover,.acn-trigger[aria-expanded=true],.acn-item:not(:disabled):not([aria-disabled=true]):hover,.acn-dismiss:hover,.acn-tab:hover{background:var(--dsw-alias-interactive-bg-hover,var(--dsw-alias-bg-layer-2,#8882))}\n.acn-trigger:focus-visible,.acn-item:focus-visible,.acn-tab:focus-visible,.acn-dismiss:focus-visible,.acn-btn:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary,Highlight);outline-offset:1px}\n.acn-mark{position:relative;display:inline-flex}\n.acn-mark[data-state]::after{content:\"\";position:absolute;right:-2px;top:-2px;width:6px;height:6px;border:1px solid var(--dsw-alias-bg-base,Canvas);border-radius:50%;background:var(--dsw-alias-state-business-primary,#4268bd)}\n.acn-mark[data-state=warning]::after{background:var(--dsw-alias-state-warning-primary,#b76b09)}\n.acn-mark[data-state=team]::after{background:var(--dsw-alias-state-success-primary,#268353)}\n@container (max-width:420px){.acn-trigger .acn-short-label,.acn-trigger .acn-chevron{display:none}}\n.acn-surface{box-sizing:border-box;color:var(--dsw-alias-label-primary,CanvasText);background:var(--dsw-alias-bg-layer-1,Canvas);border:1px solid var(--dsw-alias-border-l2,#8884);border-radius:12px;box-shadow:0 6px 24px #0002}\n.acn-menu{position:fixed;z-index:10001;width:min(276px,calc(100vw - 16px));padding:6px;overflow:auto;overscroll-behavior:contain;font-size:13px}\n.acn-menu p{margin:5px 7px;color:var(--dsw-alias-label-secondary,GrayText);font-size:12px;line-height:1.5;overflow-wrap:anywhere}\n.acn-separator{border:0;border-top:1px solid var(--dsw-alias-border-l1,#8883);margin:5px 2px}\n.acn-item{display:flex;align-items:center;gap:9px;width:100%;text-align:start;border-radius:6px;padding:6px 8px;min-height:32px;line-height:1.4;overflow-wrap:anywhere}\n.acn-item svg,.acn-trigger svg{flex:none}.acn-item:disabled,.acn-item[aria-disabled=true],.acn-btn:disabled{opacity:.5;cursor:default}\n.acn-item small{margin-inline-start:auto;color:var(--dsw-alias-label-secondary,GrayText);font-size:11px;white-space:nowrap}\n.acn-notice{position:fixed;z-index:10000;inset-block-start:16px;inset-inline-end:16px;width:max-content;max-width:min(360px,calc(100vw - 32px));padding:10px 12px;display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.5;overflow-wrap:anywhere}\n.acn-notice p{margin:3px 0}.acn-dismiss{display:inline-grid;place-items:center;flex:none;width:26px;height:26px;border-radius:6px;color:var(--dsw-alias-label-secondary,GrayText)}\n/* \u8BBE\u7F6E\u4E0E\u6D4F\u89C8\u9875\u5171\u7528\u7D27\u51D1\u7684\u5B57\u53F7\u548C\u95F4\u8DDD\uFF1B\u4E0D\u8986\u76D6\u5BBF\u4E3B\u6216\u5176\u4ED6\u63D2\u4EF6\u3002 */\n.acn-page{--acn-accent:var(--dsw-alias-state-business-primary,#1976ed);box-sizing:border-box;width:100%;min-width:0;max-width:960px;margin:0 auto;padding:8px 0 24px;text-align:start;font-size:14px;line-height:1.5;color:var(--dsw-alias-label-primary,CanvasText)}\n.acn-page p,.acn-page dl,.acn-page dd,.acn-page h2,.acn-page h3{margin:0}.acn-page p{line-height:1.6}.acn-page a{color:var(--acn-accent)}\n.acn-page-heading{margin-bottom:22px}.acn-page-heading h2{font-size:22px;line-height:1.35;font-weight:650;margin:0 0 7px}.acn-page-heading p,.acn-description{font-size:13px;color:var(--dsw-alias-label-secondary,GrayText);line-height:1.6;margin-bottom:18px}\n.acn-tabs{display:flex;gap:4px;align-items:stretch;border-bottom:1px solid var(--dsw-alias-border-l2,#8883);margin:0 0 22px}\n.acn-tab{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 12px;font-size:13px;line-height:20px;color:var(--dsw-alias-label-secondary,GrayText);border-bottom:2px solid transparent;border-radius:7px 7px 0 0}\n.acn-tab[aria-selected=true]{border-bottom-color:var(--acn-accent);color:var(--dsw-alias-label-primary,CanvasText);font-weight:600}\n.acn-kind-tabs{display:flex;gap:5px;margin-bottom:16px}.acn-kind-tabs .acn-tab{border:0;border-radius:9px;min-height:32px;padding:5px 12px}.acn-kind-tabs .acn-tab[aria-selected=true]{background:var(--dsw-alias-bg-layer-2,#8881)}\n.acn-page h3,.acn-section-title{font-size:13px;font-weight:600;line-height:20px;margin:24px 0 11px}.acn-page form h3{font-size:17px;line-height:24px;margin:0 0 20px}\n.acn-page .acn-field{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:500;line-height:20px;margin:18px 0}.acn-help{display:block;font-size:12px;font-weight:400;line-height:1.6;color:var(--dsw-alias-label-secondary,GrayText)}\n.acn-page .acn-help{margin-top:4px}.acn-form-grid,.acn-connection-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:14px 20px}.acn-form-grid .acn-field,.acn-connection-fields .acn-field{margin:0}\n.acn-connection-fields{margin:20px 0 18px}.acn-actions,.acn-filterbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:16px 0}.acn-filterbar{margin:0 0 20px}.acn-filterbar input{flex:1 1 220px}.acn-select{display:inline-flex;position:relative;max-width:100%;min-width:0}.acn-select select{min-width:138px;border-radius:999px}.acn-select svg{position:absolute;right:11px;top:50%;transform:translateY(-50%);pointer-events:none}\n.acn-setting-group,.acn-profiles{border:1px solid var(--dsw-alias-border-l1,#8883);border-radius:14px;overflow:hidden;margin:12px 0 20px;background:var(--dsw-alias-bg-layer-1,Canvas)}\n.acn-row{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;padding:16px 18px;border-bottom:1px solid var(--dsw-alias-border-l1,#8883)}.acn-row:last-child{border-bottom:0}.acn-row strong{font-size:13px;font-weight:550;line-height:20px}.acn-row>div:first-child{flex:1 1 220px;min-width:0;overflow-wrap:anywhere}.acn-row>div:last-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0;max-width:100%}\n.acn-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;min-height:32px;width:auto;border:1px solid var(--dsw-alias-border-l2,#8884);border-radius:999px;padding:5px 12px;background:var(--dsw-alias-bg-layer-1,Canvas);color:inherit;font:inherit;font-size:12px;font-weight:500;line-height:20px;cursor:pointer;text-decoration:none}\n.acn-btn:not(:disabled):hover{background:var(--dsw-alias-interactive-bg-hover,var(--dsw-alias-bg-layer-2,#8881))}.acn-primary{background:var(--acn-accent,var(--dsw-alias-state-business-primary,#1976ed));border-color:transparent;color:#fff}.acn-primary:not(:disabled):hover{background:var(--acn-accent,var(--dsw-alias-state-business-primary,#1976ed));filter:brightness(.94)}.acn-text-button{border-color:transparent;background:transparent;color:var(--acn-accent,var(--dsw-alias-state-business-primary,#1976ed))}\n.acn-switch,.acn-page input[role=switch]{appearance:none;width:34px;height:20px;box-sizing:border-box;flex:none;cursor:pointer;border:1px solid var(--dsw-alias-border-l2,#8885);border-radius:20px;background:var(--dsw-alias-bg-layer-2,#8884);display:inline-grid;align-items:center;padding:2px;margin:0}.acn-switch::after,.acn-page input[role=switch]::after{content:\"\";width:14px;height:14px;border-radius:50%;background:var(--dsw-alias-bg-layer-1,Canvas);box-shadow:0 1px 3px #0002}.acn-switch:checked,.acn-page input[role=switch]:checked{background:var(--acn-accent,var(--dsw-alias-state-business-primary,#1976ed));border-color:transparent}.acn-switch:checked::after,.acn-page input[role=switch]:checked::after{transform:translateX(13px);background:#fff}\n.acn-disclosure{margin:20px 0;border:1px solid var(--dsw-alias-border-l1,#8883);border-radius:12px}.acn-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;cursor:pointer;list-style:none;font-size:13px;line-height:20px}.acn-disclosure>summary::-webkit-details-marker{display:none}.acn-disclosure>summary::after{content:\"\u2304\";color:var(--dsw-alias-label-secondary,GrayText);font-size:17px;flex:none}.acn-disclosure[open]>summary::after{transform:rotate(180deg)}.acn-disclosure-body,.acn-advanced-body{padding:2px 16px 16px}.acn-disclosure-body>input{margin:4px 0 8px}\n.acn-feedback{padding:10px 12px;margin:12px 0!important;font-size:13px;border-radius:8px;background:var(--dsw-alias-bg-layer-2,#8881);white-space:pre-line}.acn-feedback.is-error{color:var(--dsw-alias-state-error-primary,#b42318)}.acn-status-list{display:grid;gap:9px;margin:12px 0}.acn-status-row{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:20px}.acn-status-row strong{min-width:78px;font-weight:500}.acn-status-row .acn-status-icon{width:18px;flex:none}\n.acn-settings-page>.acn-tabs{margin-bottom:16px}.acn-settings-page>.acn-tabs+[role=tabpanel]{display:flex;flex-direction:column;gap:12px}\n.acn-settings-page>.acn-tabs+[role=tabpanel]>.acn-feedback{margin:0!important;padding:8px 10px;font-size:12px;line-height:20px}\n.acn-settings-page>.acn-tabs+[role=tabpanel]>.acn-profiles,.acn-settings-page>.acn-tabs+[role=tabpanel]>.acn-setting-group,.acn-settings-page>.acn-tabs+[role=tabpanel]>.acn-disclosure,.acn-settings-page>.acn-tabs+[role=tabpanel]>.acn-actions{margin:0}\n.acn-settings-page .acn-settings-intro{margin:0;font-size:12px;line-height:20px;color:var(--dsw-alias-label-secondary,GrayText)}.acn-settings-page form h3{margin:0 0 16px}.acn-settings-page form>.acn-field:first-of-type{margin-top:0}\n.acn-row-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.acn-profile-kind[data-mode=solo]{background:color-mix(in srgb,var(--dsw-alias-state-success-primary,#087e65) 10%,transparent);color:var(--dsw-alias-state-success-primary,#087e65)}.acn-profile-kind[data-mode=team]{background:color-mix(in srgb,var(--acn-accent) 10%,transparent);color:var(--acn-accent)}.acn-badge.acn-profile-default{background:color-mix(in srgb,var(--dsw-alias-state-warning-primary,#a96606) 10%,transparent);color:var(--dsw-alias-state-warning-primary,#a96606)}\n.acn-settings-page .acn-profile-options{margin:0 0 20px}.acn-back-link:disabled{opacity:.5;cursor:default}\n.acn-directory-control{display:flex;align-items:stretch;gap:8px;min-width:0}.acn-directory-input{flex:1;min-width:0;position:relative}.acn-directory-control>.acn-btn{flex:none;min-height:36px;white-space:nowrap}.acn-directory-picker{position:absolute;right:4px;top:4px;display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:6px;color:var(--dsw-alias-label-secondary,GrayText);background:transparent;cursor:pointer}.acn-directory-picker:hover{background:var(--dsw-alias-interactive-bg-hover,#8881)}.acn-directory-picker:focus-visible{outline:2px solid var(--acn-accent);outline-offset:1px}.acn-directory-picker:disabled{opacity:.45;cursor:default}\n.acn-settings-toast{position:fixed;z-index:10004;top:24px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:9px;box-sizing:border-box;max-width:min(560px,calc(100vw - 32px));padding:10px 18px;border-radius:999px;background:var(--dsw-alias-bg-layer-1,Canvas);color:var(--dsw-alias-label-primary,CanvasText);box-shadow:0 2px 8px #0003;font-size:13px;line-height:20px;overflow-wrap:anywhere;pointer-events:none;animation:acn-toast-enter .18s ease-out backwards;transition:opacity .22s ease-out,transform .22s ease-out}.acn-toast-dot{width:6px;height:6px;border-radius:50%;background:var(--dsw-alias-state-business-primary,#1976ed);flex:none}.acn-settings-toast.is-leaving{opacity:0;transform:translate(-50%,-6px)}\n@keyframes acn-toast-enter{from{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%,0)}}\n.acn-modal.acn-confirm{width:min(420px,100%);border-radius:16px}.acn-confirm .acn-modal-header{padding:20px 22px 8px}.acn-confirm .acn-modal-body{padding:4px 22px 20px}.acn-confirm-message{font-size:14px;line-height:1.7;margin:0;overflow-wrap:anywhere}.acn-confirm-message strong{font-weight:600}.acn-confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}.acn-confirm-actions .acn-btn{min-width:72px}\n@media (prefers-reduced-motion:reduce){.acn-settings-toast{animation:none;transition:none}}\n.acn-backbar{display:flex;justify-content:flex-start;width:100%;margin:0 0 20px!important;text-align:start}.acn-back-link{display:inline-flex;align-items:center;gap:7px;padding:4px 0;border:0;background:transparent;font:inherit;font-size:12px;line-height:20px;color:var(--dsw-alias-label-secondary,GrayText);cursor:pointer}\n.acn-entity{border-bottom:1px solid var(--dsw-alias-border-l1,#8883)}.acn-entity>summary{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;list-style:none;padding:14px 8px;cursor:pointer;border-radius:8px}.acn-entity>summary::-webkit-details-marker{display:none}.acn-entity>summary:hover{background:var(--dsw-alias-interactive-bg-hover,#8881)}.acn-entity-main{display:block;min-width:0;flex:1}.acn-entity-title{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;line-height:20px;font-size:13px}.acn-entity-title strong{font-weight:550;min-width:0;flex:1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acn-entity-title .acn-badge,.acn-entity-id{flex:none}.acn-source-sessions{margin-top:18px;display:grid;gap:4px}.acn-source-link .acn-btn{padding:0;min-height:24px;white-space:normal;text-align:start;overflow-wrap:anywhere;justify-content:flex-start}.acn-entity-id{color:var(--dsw-alias-label-secondary,GrayText);font-size:11px;font-family:ui-monospace,monospace}.acn-entity-preview{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;margin-top:5px;font-size:12px;line-height:19px;color:var(--dsw-alias-label-secondary,GrayText)}.acn-time{flex:none;font-size:11px;line-height:20px;font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-secondary,GrayText);white-space:nowrap}\n.acn-badge{display:inline-flex;align-items:center;gap:4px;min-height:19px;padding:0 7px;font-size:11px;line-height:19px;font-weight:500;border-radius:999px;background:var(--dsw-alias-bg-layer-2,#8881);color:var(--dsw-alias-label-secondary,GrayText)}.acn-badge[data-tone=positive]{background:#16876a14;color:var(--dsw-alias-state-success-primary,#087e65)}.acn-badge[data-tone=warning]{background:#c77b1014;color:var(--dsw-alias-state-warning-primary,#a96606)}.acn-badge[data-tone=danger]{background:#c02e2e12;color:var(--dsw-alias-state-error-primary,#b42318)}\n.acn-entity-detail{padding:10px 10px 20px}.acn-detail-fields{display:grid;gap:18px}.acn-detail-fields dt{font-size:12px;line-height:19px;color:var(--dsw-alias-label-secondary,GrayText);margin-bottom:5px}.acn-detail-fields dd{font-size:13px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.acn-inline-links{display:flex;gap:5px;flex-wrap:wrap}.acn-detail-meta{margin-top:20px;font-size:12px}.acn-detail-meta summary{cursor:pointer;color:var(--dsw-alias-label-secondary,GrayText);line-height:24px}.acn-detail-meta .acn-detail-fields{margin-top:12px;gap:10px}.acn-counts{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--dsw-alias-label-secondary,GrayText);margin:8px 0 18px}.acn-counts span{white-space:nowrap}.acn-empty{padding:30px 12px;text-align:center;color:var(--dsw-alias-label-secondary,GrayText);font-size:13px}.acn-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.acn-pagination small{color:var(--dsw-alias-label-secondary,GrayText);font-size:11px}.acn-activity-summary{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}\n.acn-knowledge-shell{width:100%;min-width:0;max-width:960px;margin:0 auto}.acn-knowledge-shell>.acn-backbar{margin-bottom:12px!important}.acn-knowledge-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:18px}.acn-knowledge-header>.acn-page-heading,.acn-knowledge-header>.acn-filterbar{margin:0;max-width:100%}.acn-knowledge-header h2{font-size:20px;line-height:28px;margin:0}.acn-knowledge-header select{max-width:100%}.acn-kind-tabs .acn-tab[aria-selected=true]{background:var(--dsw-alias-interactive-bg-hover,#8882)}.acn-back-link:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary,Highlight);outline-offset:3px;border-radius:4px}\n.acn-reference-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.acn-reference-actions .acn-back-link{scroll-margin-top:64px}.acn-modal-body .acn-reference-actions .acn-back-link{scroll-margin-top:12px}.acn-reference h3{font-size:15px;line-height:22px;margin:16px 0 12px;overflow-wrap:anywhere}.acn-reference>p{overflow-wrap:anywhere}.acn-activity[open] .acn-entity-preview{-webkit-line-clamp:unset}.acn-activity-detail{display:flex;align-items:flex-start;flex-direction:column;gap:10px}.acn-activity-detail>p{margin:0!important;max-width:100%;overflow-wrap:anywhere}.acn-activity-detail .acn-counts{margin:0}.acn-activity-detail .acn-source-sessions{margin-top:4px}\n.acn-activity-card{padding:16px 8px;border-bottom:1px solid var(--dsw-alias-border-l1,#8883);display:flex;flex-direction:column;gap:7px;min-width:0}.acn-activity-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.acn-activity-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0;font-size:13px;line-height:20px}.acn-activity-title strong{font-weight:550}.acn-activity-card .acn-activity-source{font-size:12px;line-height:19px;color:var(--dsw-alias-label-secondary,GrayText);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acn-activity-outcome{font-size:12px;line-height:20px!important;overflow-wrap:anywhere}.acn-activity-links{display:flex;flex-wrap:wrap;gap:2px 14px}.acn-activity-links .acn-btn{min-height:24px;padding:0;max-width:100%;overflow-wrap:anywhere;justify-content:flex-start;font-family:ui-monospace,monospace}.acn-execution{font-size:12px;width:100%;min-width:0}.acn-execution>summary{cursor:pointer;color:var(--dsw-alias-label-secondary,GrayText);width:fit-content;line-height:24px;border-radius:4px}.acn-execution>summary:focus-visible{outline:2px solid var(--acn-accent);outline-offset:2px}.acn-execution-body{display:flex;flex-direction:column;gap:8px;padding:10px 0 3px;font-size:12px;line-height:20px;overflow-wrap:anywhere}.acn-execution-body .acn-counts{margin:0}.acn-activity-source-action{display:flex}.acn-activity-source-action .acn-btn{min-height:28px}.acn-activity-card .acn-activity-detail{gap:8px}\n.acn-modal-backdrop{position:fixed;inset:0;z-index:10002;background:#0005;display:grid;place-items:center;padding:clamp(8px,2vw,20px);box-sizing:border-box}\n.acn-modal{width:min(920px,100%);max-height:min(84dvh,800px);display:flex;flex-direction:column;overflow:hidden}.acn-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px 14px;gap:12px}.acn-modal-header h2{font-size:16px;font-weight:600;line-height:1.5;margin:0}\n.acn-modal-body{overflow:auto;overscroll-behavior:contain;min-width:0;padding:0 24px 22px}.acn-command-result{font:inherit;font-size:12px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0}\n@media (max-width:600px){.acn-time{white-space:normal;max-width:90px;text-align:end}.acn-row{padding:14px}.acn-page-heading h2{font-size:20px}}\n@media (max-width:440px){.acn-tabs{gap:10px}.acn-modal-body{padding-inline:12px}.acn-notice{inset-inline-end:8px}}\n";
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { CSSProperties, ReactNode, SelectHTMLAttributes, ButtonHTMLAttributes } from 'react';
|
|
2
|
+
export type Copy = (zh: string, en: string) => string;
|
|
3
|
+
export declare function configurationLabel(name: string, agentId: string): string;
|
|
4
|
+
export declare const muted: CSSProperties;
|
|
5
|
+
export declare const inputStyle: CSSProperties;
|
|
6
|
+
export declare function Select(props: SelectHTMLAttributes<HTMLSelectElement>): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export declare function Button({ primary, className, ...props }: ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
8
|
+
primary?: boolean;
|
|
9
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare function Row({ title, description, badges, children }: {
|
|
11
|
+
title: string;
|
|
12
|
+
description?: string;
|
|
13
|
+
badges?: ReactNode;
|
|
14
|
+
children: ReactNode;
|
|
15
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export declare function Tabs<K extends string>({ label, choices, value, change, children, disabled }: {
|
|
17
|
+
label: string;
|
|
18
|
+
choices: readonly (readonly [K, string])[];
|
|
19
|
+
value: K;
|
|
20
|
+
change: (key: K) => void;
|
|
21
|
+
children: ReactNode;
|
|
22
|
+
disabled?: boolean;
|
|
23
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
export declare function Modal({ title, close, closeLabel, children, compact }: {
|
|
25
|
+
title: string;
|
|
26
|
+
close: () => void;
|
|
27
|
+
closeLabel: string;
|
|
28
|
+
children: ReactNode;
|
|
29
|
+
compact?: boolean;
|
|
30
|
+
}): import("react").ReactPortal;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Copy } from './interaction-ui.js';
|
|
2
|
+
export declare function knowledgeStatus(value: string, c: Copy): string;
|
|
3
|
+
export declare function knowledgeConfidence(value: string, c: Copy): string;
|
|
4
|
+
export declare function knowledgeDate(value: string | number): string;
|
|
5
|
+
export declare function knowledgeLabels(c: Copy): Record<string, string>;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export declare const en: {
|
|
2
|
+
readonly title: "Configuration";
|
|
3
|
+
readonly intro: "Distill reusable knowledge from agent work traces, and let experience flow across your team.";
|
|
4
|
+
readonly identity: "Agent and knowledge";
|
|
5
|
+
readonly agentId: "Agent ID";
|
|
6
|
+
readonly agentSoloHint: "In solo mode, choose any fixed name, such as personal, using lowercase letters, numbers, underscores or hyphens. It identifies local knowledge storage: projects and sessions using this configuration share the same knowledge. It does not change with the project; keep it stable after setup.";
|
|
7
|
+
readonly agentTeamHint: "Use a stable, unique ID for each team member, matching the identity authorized by your team services. Only lowercase letters, numbers, underscores or hyphens are allowed. This ID identifies the owner of shared knowledge.";
|
|
8
|
+
readonly home: "Knowledge directory";
|
|
9
|
+
readonly homeHint: "An absolute path or ~/ path on the DSH host. Each work configuration has an isolated directory under upstreams/. This is separate from the project workspace.";
|
|
10
|
+
readonly switchHint: "Changing the ID or directory switches to that storage location. Existing data stays in place; it is not migrated. Finish the current turn before saving. After changing identity or directory, old sessions and historical forks are blocked; start a new session.";
|
|
11
|
+
readonly model: "ACN background model";
|
|
12
|
+
readonly modelHint: "Used for Recap, Finalize, Inbox and Dream. The chat model is selected separately in DSH.";
|
|
13
|
+
readonly automatic: "Follow the session model";
|
|
14
|
+
readonly unavailableModel: "Unavailable — choose a registered model";
|
|
15
|
+
readonly modelHelp: "Models come from DSH Settings → Models. Add or configure a provider there, then reload this page.";
|
|
16
|
+
readonly connection: "Team connection";
|
|
17
|
+
readonly mode: "Mode";
|
|
18
|
+
readonly solo: "Solo";
|
|
19
|
+
readonly team: "Team";
|
|
20
|
+
readonly soloHint: "Solo mode makes no team requests and creates no new team upload tasks.";
|
|
21
|
+
readonly teamHint: "Connect both services to discover shared claims, deliver knowledge and internalize team messages.";
|
|
22
|
+
readonly router: "Router URL";
|
|
23
|
+
readonly maintainer: "Maintainer URL";
|
|
24
|
+
readonly keyEnv: "Team credential reference";
|
|
25
|
+
readonly keyHint: "Enter a credential reference here. Store its value below in DSH, or set the environment variable before starting the app. Both services must accept the member credential. Leave blank for local services without authentication.";
|
|
26
|
+
readonly timeout: "Team request timeout (ms)";
|
|
27
|
+
readonly timeoutHint: "Allow enough time for model reranking and arbitration; 180000 ms is useful for local model acceptance.";
|
|
28
|
+
readonly save: "Save and apply";
|
|
29
|
+
readonly saving: "Saving and reloading…";
|
|
30
|
+
readonly reload: "Reload saved configuration";
|
|
31
|
+
readonly loading: "Loading configuration…";
|
|
32
|
+
readonly saveHint: "Changes take effect only after you click Save and apply.";
|
|
33
|
+
readonly unsaved: "You have unsaved changes";
|
|
34
|
+
readonly noChanges: "No unsaved changes";
|
|
35
|
+
readonly reloadHint: "Unsaved changes will be discarded";
|
|
36
|
+
readonly saved: "Saved and applied. Open a new session to use this configuration.";
|
|
37
|
+
readonly directory: "Current agent data directory";
|
|
38
|
+
readonly active: "Knowledge service active";
|
|
39
|
+
readonly pending: "Set an Agent ID to get started";
|
|
40
|
+
readonly inactive: "Knowledge service inactive";
|
|
41
|
+
readonly errorLoad: "Could not load configuration. Check that the plugin and DSH configuration services are enabled, then retry.";
|
|
42
|
+
readonly errorTransport: "The save result could not be confirmed. Your draft is retained. Use Refresh and keep edits to check the saved configuration before retrying.";
|
|
43
|
+
readonly invalid: "Invalid configuration. Check these fields:";
|
|
44
|
+
readonly conflict: "Configuration changed in another window or on disk. Your draft is retained. Use Refresh and keep edits, review, then save.";
|
|
45
|
+
readonly busy: "An agent is still running. Finish or stop the current turn, then retry.";
|
|
46
|
+
readonly unavailable: "This model is no longer available. Configure it in DSH or choose another registered model.";
|
|
47
|
+
readonly persistence: "The save could not be confirmed. Check permissions, configuration overrides and plugin status, then use Refresh and keep edits.";
|
|
48
|
+
readonly activation: "Configuration was saved, but the knowledge service did not activate. Check the plugin status and host logs, then retry activation.";
|
|
49
|
+
};
|
|
50
|
+
export type ConfigurationText = keyof typeof en;
|
|
51
|
+
export declare const zh: Record<ConfigurationText, string>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { AcnKnowledge } from '../knowledge/service.js';
|
|
2
|
+
export declare function commandWords(input: string, literalBackslashes?: boolean): string[];
|
|
3
|
+
export declare function claimCommand(knowledge: AcnKnowledge, input: string, readOnly: boolean, signal?: AbortSignal): Promise<string>;
|
|
4
|
+
export declare function commandDomainError(error: unknown): string | undefined;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { AcnKnowledge } from '../knowledge/service.js';
|
|
2
|
+
export interface ImportReport {
|
|
3
|
+
dryRun: boolean;
|
|
4
|
+
claims: string[];
|
|
5
|
+
traces: string[];
|
|
6
|
+
skipped: string[];
|
|
7
|
+
}
|
|
8
|
+
export declare function importWords(input: string, platform?: NodeJS.Platform): string[];
|
|
9
|
+
export declare function importCommand(knowledge: AcnKnowledge, input: string, readOnly: boolean, signal?: AbortSignal): Promise<ImportReport>;
|
|
10
|
+
export declare function renderImportReport(report: ImportReport): string;
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const UpstreamNameSchema: z.ZodString;
|
|
3
|
+
export declare const UpstreamSchema: z.ZodObject<{
|
|
4
|
+
name: z.ZodDefault<z.ZodString>;
|
|
5
|
+
agentId: z.core.$ZodBranded<z.ZodString, "AgentId", "out">;
|
|
6
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
7
|
+
routerEndpoint: z.ZodDefault<z.ZodString>;
|
|
8
|
+
maintainerEndpoint: z.ZodDefault<z.ZodString>;
|
|
9
|
+
keyEnv: z.ZodDefault<z.ZodString>;
|
|
10
|
+
timeoutMs: z.ZodDefault<z.ZodNumber>;
|
|
11
|
+
}, z.core.$strict>;
|
|
12
|
+
export type Upstream = z.infer<typeof UpstreamSchema>;
|
|
13
|
+
export declare const ConnectionSchema: z.ZodObject<{
|
|
14
|
+
id: z.ZodString;
|
|
15
|
+
name: z.ZodString;
|
|
16
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
17
|
+
agentId: z.core.$ZodBranded<z.ZodString, "AgentId", "out">;
|
|
18
|
+
routerEndpoint: z.ZodString;
|
|
19
|
+
maintainerEndpoint: z.ZodString;
|
|
20
|
+
keyEnv: z.ZodDefault<z.ZodString>;
|
|
21
|
+
timeoutMs: z.ZodDefault<z.ZodNumber>;
|
|
22
|
+
}, z.core.$strict>;
|
|
23
|
+
export type Connection = z.infer<typeof ConnectionSchema>;
|
|
24
|
+
export declare const ConfigSchema: z.ZodObject<{
|
|
25
|
+
upstream: z.ZodDefault<z.ZodString>;
|
|
26
|
+
upstreams: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
27
|
+
name: z.ZodDefault<z.ZodString>;
|
|
28
|
+
agentId: z.core.$ZodBranded<z.ZodString, "AgentId", "out">;
|
|
29
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
30
|
+
routerEndpoint: z.ZodDefault<z.ZodString>;
|
|
31
|
+
maintainerEndpoint: z.ZodDefault<z.ZodString>;
|
|
32
|
+
keyEnv: z.ZodDefault<z.ZodString>;
|
|
33
|
+
timeoutMs: z.ZodDefault<z.ZodNumber>;
|
|
34
|
+
}, z.core.$strict>>>;
|
|
35
|
+
agentId: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"">, z.core.$ZodBranded<z.ZodString, "AgentId", "out">]>>;
|
|
36
|
+
home: z.ZodDefault<z.ZodString>;
|
|
37
|
+
sessionEpoch: z.ZodDefault<z.ZodNumber>;
|
|
38
|
+
connections: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
39
|
+
id: z.ZodString;
|
|
40
|
+
name: z.ZodString;
|
|
41
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
42
|
+
agentId: z.core.$ZodBranded<z.ZodString, "AgentId", "out">;
|
|
43
|
+
routerEndpoint: z.ZodString;
|
|
44
|
+
maintainerEndpoint: z.ZodString;
|
|
45
|
+
keyEnv: z.ZodDefault<z.ZodString>;
|
|
46
|
+
timeoutMs: z.ZodDefault<z.ZodNumber>;
|
|
47
|
+
}, z.core.$strict>>>;
|
|
48
|
+
defaultConnection: z.ZodDefault<z.ZodString>;
|
|
49
|
+
legacyEnabled: z.ZodDefault<z.ZodBoolean>;
|
|
50
|
+
showCompletion: z.ZodDefault<z.ZodBoolean>;
|
|
51
|
+
team: z.ZodPrefault<z.ZodObject<{
|
|
52
|
+
routerEndpoint: z.ZodDefault<z.ZodString>;
|
|
53
|
+
maintainerEndpoint: z.ZodDefault<z.ZodString>;
|
|
54
|
+
keyEnv: z.ZodDefault<z.ZodString>;
|
|
55
|
+
timeoutMs: z.ZodDefault<z.ZodNumber>;
|
|
56
|
+
routerTimeoutMs: z.ZodDefault<z.ZodNumber>;
|
|
57
|
+
retryCount: z.ZodDefault<z.ZodNumber>;
|
|
58
|
+
retryBaseDelayMs: z.ZodDefault<z.ZodNumber>;
|
|
59
|
+
retryMaxDelayMs: z.ZodDefault<z.ZodNumber>;
|
|
60
|
+
}, z.core.$strict>>;
|
|
61
|
+
llm: z.ZodPrefault<z.ZodObject<{
|
|
62
|
+
provider: z.ZodDefault<z.ZodString>;
|
|
63
|
+
model: z.ZodDefault<z.ZodString>;
|
|
64
|
+
maxOutputTokens: z.ZodDefault<z.ZodNumber>;
|
|
65
|
+
timeoutMs: z.ZodDefault<z.ZodNumber>;
|
|
66
|
+
structuredRetries: z.ZodDefault<z.ZodNumber>;
|
|
67
|
+
}, z.core.$strict>>;
|
|
68
|
+
catalog: z.ZodPrefault<z.ZodObject<{
|
|
69
|
+
maxClaims: z.ZodDefault<z.ZodNumber>;
|
|
70
|
+
maxChars: z.ZodDefault<z.ZodNumber>;
|
|
71
|
+
}, z.core.$strict>>;
|
|
72
|
+
formation: z.ZodPrefault<z.ZodObject<{
|
|
73
|
+
recapOnCompaction: z.ZodDefault<z.ZodBoolean>;
|
|
74
|
+
idleRecap: z.ZodDefault<z.ZodBoolean>;
|
|
75
|
+
recapMinTurns: z.ZodDefault<z.ZodNumber>;
|
|
76
|
+
recapMinTokens: z.ZodDefault<z.ZodNumber>;
|
|
77
|
+
recapBatchIdleMinutes: z.ZodDefault<z.ZodNumber>;
|
|
78
|
+
recapTailIdleMinutes: z.ZodDefault<z.ZodNumber>;
|
|
79
|
+
recapScanSeconds: z.ZodDefault<z.ZodNumber>;
|
|
80
|
+
finalizeIdleMinutes: z.ZodDefault<z.ZodNumber>;
|
|
81
|
+
finalizeOnDispose: z.ZodDefault<z.ZodBoolean>;
|
|
82
|
+
}, z.core.$strict>>;
|
|
83
|
+
inbox: z.ZodPrefault<z.ZodObject<{
|
|
84
|
+
pullOnSessionStart: z.ZodDefault<z.ZodBoolean>;
|
|
85
|
+
processingStaleAfterSecs: z.ZodDefault<z.ZodNumber>;
|
|
86
|
+
}, z.core.$strict>>;
|
|
87
|
+
dream: z.ZodPrefault<z.ZodObject<{
|
|
88
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
89
|
+
minIntervalHours: z.ZodDefault<z.ZodNumber>;
|
|
90
|
+
minChangedClaims: z.ZodDefault<z.ZodNumber>;
|
|
91
|
+
checkIntervalHours: z.ZodDefault<z.ZodNumber>;
|
|
92
|
+
evidenceCalibration: z.ZodDefault<z.ZodBoolean>;
|
|
93
|
+
maxModelSteps: z.ZodDefault<z.ZodNumber>;
|
|
94
|
+
maxWrapUpSteps: z.ZodDefault<z.ZodNumber>;
|
|
95
|
+
evidenceMaxCalls: z.ZodDefault<z.ZodNumber>;
|
|
96
|
+
evidenceMaxSteps: z.ZodDefault<z.ZodNumber>;
|
|
97
|
+
evidenceMaxBytes: z.ZodDefault<z.ZodNumber>;
|
|
98
|
+
evidenceMaxChars: z.ZodDefault<z.ZodNumber>;
|
|
99
|
+
evidenceMaxFiles: z.ZodDefault<z.ZodNumber>;
|
|
100
|
+
}, z.core.$strict>>;
|
|
101
|
+
}, z.core.$strict>;
|
|
102
|
+
export type ResolvedConfig = z.output<typeof ConfigSchema>;
|
|
103
|
+
export type ConfigInput = z.input<typeof ConfigSchema>;
|
|
104
|
+
export declare class ConfigError extends Error {
|
|
105
|
+
readonly fields: readonly string[];
|
|
106
|
+
readonly kind = "config";
|
|
107
|
+
constructor(fields: readonly string[]);
|
|
108
|
+
}
|
|
109
|
+
export declare function resolveConfig(input: unknown): ResolvedConfig;
|
|
110
|
+
export declare function upstreamsOf(config: ResolvedConfig): Record<string, Upstream>;
|
|
111
|
+
export declare function activeUpstream(config: ResolvedConfig): string;
|