@yadsh/dsh-qa-surface 0.15.7 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -2
- package/lib/access/capability-catalog.js +11 -4
- package/lib/access/capability-catalog.js.map +1 -1
- package/lib/access/service.js +46 -5
- package/lib/access/service.js.map +1 -1
- package/lib/account-remotes.js +9 -0
- package/lib/account-remotes.js.map +1 -1
- package/lib/accounts/database.js +34 -3
- package/lib/accounts/database.js.map +1 -1
- package/lib/accounts/store.js +22 -2
- package/lib/accounts/store.js.map +1 -1
- package/lib/admin/service.js +4 -2
- package/lib/admin/service.js.map +1 -1
- package/lib/admin/session-log.js +3 -0
- package/lib/admin/session-log.js.map +1 -1
- package/lib/agent-scope.js +9 -0
- package/lib/agent-scope.js.map +1 -0
- package/lib/chat-sharing/native-fence.js +120 -0
- package/lib/chat-sharing/native-fence.js.map +1 -0
- package/lib/chat-sharing/resources.js +57 -0
- package/lib/chat-sharing/resources.js.map +1 -0
- package/lib/chat-sharing/store.js +199 -0
- package/lib/chat-sharing/store.js.map +1 -0
- package/lib/chat-sharing/transport.js +329 -0
- package/lib/chat-sharing/transport.js.map +1 -0
- package/lib/chat-sharing/turn-guard.js +154 -0
- package/lib/chat-sharing/turn-guard.js.map +1 -0
- package/lib/chat-sharing/types.js +2 -0
- package/lib/chat-sharing/types.js.map +1 -0
- package/lib/chat-sharing/uploads.js +55 -0
- package/lib/chat-sharing/uploads.js.map +1 -0
- package/lib/client/QaAccountsController.js +47 -2
- package/lib/client/QaAccountsController.js.map +1 -1
- package/lib/client/QaConfigController.js +7 -12
- package/lib/client/QaConfigController.js.map +1 -1
- package/lib/client/QaSessionController.js +195 -19
- package/lib/client/QaSessionController.js.map +1 -1
- package/lib/client/QaSurface.js +156 -14
- package/lib/client/QaSurface.js.map +1 -1
- package/lib/client/QaSurfaceGuard.js +6 -1
- package/lib/client/QaSurfaceGuard.js.map +1 -1
- package/lib/client/QaTranscriptAdapter.js +28 -5
- package/lib/client/QaTranscriptAdapter.js.map +1 -1
- package/lib/client/account-conversation.js +33 -0
- package/lib/client/account-conversation.js.map +1 -0
- package/lib/client/account-sessions.js +106 -0
- package/lib/client/account-sessions.js.map +1 -0
- package/lib/client/account-upload.js +30 -0
- package/lib/client/account-upload.js.map +1 -0
- package/lib/client/answer-review.js +89 -0
- package/lib/client/answer-review.js.map +1 -0
- package/lib/client/chat-artifacts.js +18 -3
- package/lib/client/chat-artifacts.js.map +1 -1
- package/lib/client/chat-sharing-api.js +2 -0
- package/lib/client/chat-sharing-api.js.map +1 -0
- package/lib/client/components/QaAnswerReviewStatus.js +45 -0
- package/lib/client/components/QaAnswerReviewStatus.js.map +1 -0
- package/lib/client/components/QaChangelog.js +92 -3
- package/lib/client/components/QaChangelog.js.map +1 -1
- package/lib/client/components/QaChatActions.js +52 -0
- package/lib/client/components/QaChatActions.js.map +1 -0
- package/lib/client/components/QaChatSharing.js +95 -0
- package/lib/client/components/QaChatSharing.js.map +1 -0
- package/lib/client/components/QaComposer.js +8 -4
- package/lib/client/components/QaComposer.js.map +1 -1
- package/lib/client/components/QaFileAttachment.js +12 -3
- package/lib/client/components/QaFileAttachment.js.map +1 -1
- package/lib/client/components/QaFilesPanel.js +11 -4
- package/lib/client/components/QaFilesPanel.js.map +1 -1
- package/lib/client/components/QaHeader.js +3 -3
- package/lib/client/components/QaHeader.js.map +1 -1
- package/lib/client/components/QaMarkdownPreview.js +86 -0
- package/lib/client/components/QaMarkdownPreview.js.map +1 -0
- package/lib/client/components/QaMessage.js +41 -10
- package/lib/client/components/QaMessage.js.map +1 -1
- package/lib/client/components/QaModal.js +17 -0
- package/lib/client/components/QaModal.js.map +1 -1
- package/lib/client/components/QaRightRail.js +6 -4
- package/lib/client/components/QaRightRail.js.map +1 -1
- package/lib/client/components/QaRightRailResize.js +129 -0
- package/lib/client/components/QaRightRailResize.js.map +1 -0
- package/lib/client/components/QaSidebar.js +11 -2
- package/lib/client/components/QaSidebar.js.map +1 -1
- package/lib/client/components/QaSourceFilters.js +22 -0
- package/lib/client/components/QaSourceFilters.js.map +1 -0
- package/lib/client/components/QaSourcesPanel.js +66 -14
- package/lib/client/components/QaSourcesPanel.js.map +1 -1
- package/lib/client/components/QaSpreadsheetPreview.js +56 -0
- package/lib/client/components/QaSpreadsheetPreview.js.map +1 -0
- package/lib/client/components/QaWelcomeNotice.js +2 -2
- package/lib/client/components/QaWelcomeNotice.js.map +1 -1
- package/lib/client/components/QaWorkspaceBrowser.js +46 -12
- package/lib/client/components/QaWorkspaceBrowser.js.map +1 -1
- package/lib/client/components/QaZoomImage.js +56 -0
- package/lib/client/components/QaZoomImage.js.map +1 -0
- package/lib/client/components/source-refs.js +57 -24
- package/lib/client/components/source-refs.js.map +1 -1
- package/lib/client/index.js +76 -8
- package/lib/client/index.js.map +1 -1
- package/lib/client/lineage.js +4 -3
- package/lib/client/lineage.js.map +1 -1
- package/lib/client/markdown/SourceImage.js +52 -0
- package/lib/client/markdown/SourceImage.js.map +1 -0
- package/lib/client/markdown/blocks.js +150 -115
- package/lib/client/markdown/blocks.js.map +1 -1
- package/lib/client/markdown/katex-css.js +1 -1
- package/lib/client/markdown/render.js +26 -9
- package/lib/client/markdown/render.js.map +1 -1
- package/lib/client/markdown/source-chip.js +6 -2
- package/lib/client/markdown/source-chip.js.map +1 -1
- package/lib/client/notifications/notification-dispatcher.js +50 -11
- package/lib/client/notifications/notification-dispatcher.js.map +1 -1
- package/lib/client/notifications/use-turn-notifications.js +107 -18
- package/lib/client/notifications/use-turn-notifications.js.map +1 -1
- package/lib/client/project-session-state.js +28 -13
- package/lib/client/project-session-state.js.map +1 -1
- package/lib/client/session-admission.js +9 -1
- package/lib/client/session-admission.js.map +1 -1
- package/lib/client/session-sources.js +44 -3
- package/lib/client/session-sources.js.map +1 -1
- package/lib/client/settings/sections/sources.js +1 -1
- package/lib/client/settings/sections/sources.js.map +1 -1
- package/lib/client/settings/styles.js +18 -28
- package/lib/client/settings/styles.js.map +1 -1
- package/lib/client/slash/useSlashNavigation.js +8 -5
- package/lib/client/slash/useSlashNavigation.js.map +1 -1
- package/lib/client/source-filters-styles.js +11 -0
- package/lib/client/source-filters-styles.js.map +1 -0
- package/lib/client/source-preview.js +1 -1
- package/lib/client/source-preview.js.map +1 -1
- package/lib/client/styles.js +62 -4
- package/lib/client/styles.js.map +1 -1
- package/lib/client/turn-sources.js +2 -1
- package/lib/client/turn-sources.js.map +1 -1
- package/lib/client/types.js.map +1 -1
- package/lib/client/use-right-rail.js +1 -1
- package/lib/client/use-right-rail.js.map +1 -1
- package/lib/client/user-settings/IntegrationTokensPage.js +30 -6
- package/lib/client/user-settings/IntegrationTokensPage.js.map +1 -1
- package/lib/client/workspace-download.js +42 -2
- package/lib/client/workspace-download.js.map +1 -1
- package/lib/client.js +6481 -2234
- package/lib/client.js.map +1 -1
- package/lib/config-resolvers/defaults.js +4 -3
- package/lib/config-resolvers/defaults.js.map +1 -1
- package/lib/config-resolvers/sources.js +2 -0
- package/lib/config-resolvers/sources.js.map +1 -1
- package/lib/config.js +3 -0
- package/lib/config.js.map +1 -1
- package/lib/enforcement/skill-policy.js +29 -4
- package/lib/enforcement/skill-policy.js.map +1 -1
- package/lib/enforcement/skill-resource-paths.js +32 -0
- package/lib/enforcement/skill-resource-paths.js.map +1 -0
- package/lib/enforcement/structured-result.js +38 -0
- package/lib/enforcement/structured-result.js.map +1 -0
- package/lib/enforcement/tool-grants.js +3 -1
- package/lib/enforcement/tool-grants.js.map +1 -1
- package/lib/index.js +447 -17
- package/lib/index.js.map +1 -1
- package/lib/integration/host-runner.js +1 -0
- package/lib/integration/host-runner.js.map +1 -1
- package/lib/integration/question-policy.js +126 -0
- package/lib/integration/question-policy.js.map +1 -0
- package/lib/integration/service.js +2 -0
- package/lib/integration/service.js.map +1 -1
- package/lib/llm-identity.js +27 -0
- package/lib/llm-identity.js.map +1 -0
- package/lib/markdown-frontmatter.js +47 -0
- package/lib/markdown-frontmatter.js.map +1 -0
- package/lib/markdown-images.js +33 -0
- package/lib/markdown-images.js.map +1 -0
- package/lib/prompt-notes.js +19 -2
- package/lib/prompt-notes.js.map +1 -1
- package/lib/provenance/collector.js +15 -1
- package/lib/provenance/collector.js.map +1 -1
- package/lib/provenance/connectors.js +57 -27
- package/lib/provenance/connectors.js.map +1 -1
- package/lib/provenance/dedupe.js +25 -1
- package/lib/provenance/dedupe.js.map +1 -1
- package/lib/provenance/document-preview.js +31 -3
- package/lib/provenance/document-preview.js.map +1 -1
- package/lib/provenance/extractors.js +88 -4
- package/lib/provenance/extractors.js.map +1 -1
- package/lib/provenance/file-download.js +56 -0
- package/lib/provenance/file-download.js.map +1 -0
- package/lib/provenance/file-preview.js +20 -2
- package/lib/provenance/file-preview.js.map +1 -1
- package/lib/provenance/host-store.js +59 -10
- package/lib/provenance/host-store.js.map +1 -1
- package/lib/provenance/integration-extractor.js +62 -0
- package/lib/provenance/integration-extractor.js.map +1 -0
- package/lib/provenance/snapshot-store.js +2 -0
- package/lib/provenance/snapshot-store.js.map +1 -1
- package/lib/provenance/source-content.js +103 -0
- package/lib/provenance/source-content.js.map +1 -0
- package/lib/provenance/source-image.js +57 -0
- package/lib/provenance/source-image.js.map +1 -0
- package/lib/provenance/spreadsheet-preview.js +52 -0
- package/lib/provenance/spreadsheet-preview.js.map +1 -0
- package/lib/qa-tools/docs-tools.js +14 -0
- package/lib/qa-tools/docs-tools.js.map +1 -1
- package/lib/questions.js +6 -1
- package/lib/questions.js.map +1 -1
- package/lib/secure-session.js +9 -3
- package/lib/secure-session.js.map +1 -1
- package/lib/session-fork-host.js +157 -0
- package/lib/session-fork-host.js.map +1 -0
- package/lib/session-fork.js +34 -0
- package/lib/session-fork.js.map +1 -0
- package/lib/session-ownership.js +5 -1
- package/lib/session-ownership.js.map +1 -1
- package/lib/shared/documents.js +12 -0
- package/lib/shared/documents.js.map +1 -1
- package/lib/shared/session-lineage.js +6 -0
- package/lib/shared/session-lineage.js.map +1 -0
- package/lib/slash/draft-target.js +21 -0
- package/lib/slash/draft-target.js.map +1 -0
- package/lib/slash/remotes.js +39 -4
- package/lib/slash/remotes.js.map +1 -1
- package/lib/typert.host.js +1869 -163
- package/lib/typert.remote-client.d.ts +56 -5
- package/lib/typert.remote-client.js +1678 -154
- package/lib/types/access/capability-catalog.d.ts +1 -1
- package/lib/types/access/service.d.ts +7 -0
- package/lib/types/access.js +2 -0
- package/lib/types/access.js.map +1 -0
- package/lib/types/account-remotes.d.ts +3 -0
- package/lib/types/accounts/database.d.ts +5 -0
- package/lib/types/accounts/store.d.ts +7 -2
- package/lib/types/accounts.js +2 -0
- package/lib/types/accounts.js.map +1 -0
- package/lib/types/admin/session-log.d.ts +2 -0
- package/lib/types/admin.js +2 -0
- package/lib/types/admin.js.map +1 -0
- package/lib/types/agent-scope.d.ts +4 -0
- package/lib/types/answer-review.js +2 -0
- package/lib/types/answer-review.js.map +1 -0
- package/lib/types/capability.js +2 -0
- package/lib/types/capability.js.map +1 -0
- package/lib/types/chat-sharing/native-fence.d.ts +11 -0
- package/lib/types/chat-sharing/resources.d.ts +5 -0
- package/lib/types/chat-sharing/store.d.ts +29 -0
- package/lib/types/chat-sharing/transport.d.ts +32 -0
- package/lib/types/chat-sharing/turn-guard.d.ts +21 -0
- package/lib/types/chat-sharing/types.d.ts +25 -0
- package/lib/types/chat-sharing/uploads.d.ts +5 -0
- package/lib/types/client/QaAccountsController.d.ts +4 -0
- package/lib/types/client/QaConfigController.d.ts +3 -2
- package/lib/types/client/QaSessionController.d.ts +17 -3
- package/lib/types/client/QaSurface.d.ts +6 -1
- package/lib/types/client/account-conversation.d.ts +6 -0
- package/lib/types/client/account-sessions.d.ts +7 -0
- package/lib/types/client/account-upload.d.ts +15 -0
- package/lib/types/client/answer-review.d.ts +16 -0
- package/lib/types/client/chat-sharing-api.d.ts +35 -0
- package/lib/types/client/components/QaAnswerReviewStatus.d.ts +8 -0
- package/lib/types/client/components/QaChatActions.d.ts +7 -0
- package/lib/types/client/components/QaChatSharing.d.ts +12 -0
- package/lib/types/client/components/QaComposer.d.ts +2 -0
- package/lib/types/client/components/QaFileAttachment.d.ts +3 -2
- package/lib/types/client/components/QaFilesPanel.d.ts +4 -1
- package/lib/types/client/components/QaMarkdownPreview.d.ts +13 -0
- package/lib/types/client/components/QaMessage.d.ts +5 -2
- package/lib/types/client/components/QaModal.d.ts +9 -0
- package/lib/types/client/components/QaRightRail.d.ts +3 -2
- package/lib/types/client/components/QaRightRailResize.d.ts +9 -0
- package/lib/types/client/components/QaSidebar.d.ts +2 -0
- package/lib/types/client/components/QaSourceFilters.d.ts +12 -0
- package/lib/types/client/components/QaSpreadsheetPreview.d.ts +8 -0
- package/lib/types/client/components/QaWelcomeNotice.d.ts +1 -1
- package/lib/types/client/components/QaWorkspaceBrowser.d.ts +8 -1
- package/lib/types/client/components/QaZoomImage.d.ts +38 -0
- package/lib/types/client/components/source-refs.d.ts +1 -0
- package/lib/types/client/lineage.d.ts +2 -2
- package/lib/types/client/markdown/SourceImage.d.ts +7 -0
- package/lib/types/client/markdown/blocks.d.ts +8 -1
- package/lib/types/client/markdown/render.d.ts +5 -1
- package/lib/types/client/markdown/source-chip.d.ts +1 -0
- package/lib/types/client/notifications/notification-dispatcher.d.ts +10 -6
- package/lib/types/client/notifications/use-turn-notifications.d.ts +4 -0
- package/lib/types/client/project-session-state.d.ts +1 -0
- package/lib/types/client/session-admission.d.ts +2 -0
- package/lib/types/client/session-sources.d.ts +1 -0
- package/lib/types/client/settings/styles.d.ts +2 -5
- package/lib/types/client/source-filters-styles.d.ts +2 -0
- package/lib/types/client/turn-sources.d.ts +1 -1
- package/lib/types/client/types.d.ts +18 -5
- package/lib/types/client/workspace-download.d.ts +9 -1
- package/lib/types/config.js +2 -0
- package/lib/types/config.js.map +1 -0
- package/lib/types/documents.js +2 -0
- package/lib/types/documents.js.map +1 -0
- package/lib/types/enforcement/skill-resource-paths.d.ts +5 -0
- package/lib/types/enforcement/structured-result.d.ts +11 -0
- package/lib/types/expert-memory.js +2 -0
- package/lib/types/expert-memory.js.map +1 -0
- package/lib/types/index.d.ts +42 -3
- package/lib/types/integration/contract.d.ts +1 -0
- package/lib/types/integration/question-policy.d.ts +20 -0
- package/lib/types/integration/service.d.ts +1 -0
- package/lib/types/llm-identity.d.ts +20 -0
- package/lib/types/markdown-frontmatter.d.ts +10 -0
- package/lib/types/markdown-images.d.ts +3 -0
- package/lib/types/policy.js +2 -0
- package/lib/types/policy.js.map +1 -0
- package/lib/types/prompt-notes.d.ts +3 -1
- package/lib/types/provenance/connectors.d.ts +4 -1
- package/lib/types/provenance/document-preview.d.ts +5 -2
- package/lib/types/provenance/extractors.d.ts +2 -0
- package/lib/types/provenance/file-download.d.ts +10 -0
- package/lib/types/provenance/file-preview.d.ts +2 -1
- package/lib/types/provenance/host-store.d.ts +2 -0
- package/lib/types/provenance/integration-extractor.d.ts +5 -0
- package/lib/types/provenance/source-content.d.ts +19 -0
- package/lib/types/provenance/source-image.d.ts +4 -0
- package/lib/types/provenance/spreadsheet-preview.d.ts +5 -0
- package/lib/types/provenance/types.d.ts +5 -0
- package/lib/types/qa-tools/docs-tools.d.ts +2 -0
- package/lib/types/quality.js +7 -0
- package/lib/types/quality.js.map +1 -0
- package/lib/types/questions.d.ts +2 -1
- package/lib/types/session-fork-host.d.ts +27 -0
- package/lib/types/session-fork.d.ts +7 -0
- package/lib/types/session.js +2 -0
- package/lib/types/session.js.map +1 -0
- package/lib/types/shared/documents.d.ts +2 -0
- package/lib/types/shared/session-lineage.d.ts +7 -0
- package/lib/types/skills.js +2 -0
- package/lib/types/skills.js.map +1 -0
- package/lib/types/slash/draft-target.d.ts +7 -0
- package/lib/types/slash/remotes.d.ts +7 -0
- package/lib/types/slash.js +2 -0
- package/lib/types/slash.js.map +1 -0
- package/lib/types/types/access.d.ts +43 -0
- package/lib/types/types/accounts.d.ts +177 -0
- package/lib/types/types/admin.d.ts +286 -0
- package/lib/types/types/answer-review.d.ts +11 -0
- package/lib/types/types/capability.d.ts +230 -0
- package/lib/types/types/config.d.ts +597 -0
- package/lib/types/types/documents.d.ts +34 -0
- package/lib/types/types/expert-memory.d.ts +35 -0
- package/lib/types/types/policy.d.ts +54 -0
- package/lib/types/types/quality.d.ts +100 -0
- package/lib/types/types/session.d.ts +397 -0
- package/lib/types/types/skills.d.ts +143 -0
- package/lib/types/types/slash.d.ts +159 -0
- package/lib/types/types.d.ts +14 -2180
- package/package.json +8 -7
|
@@ -9,8 +9,11 @@ export interface QaFilesPanelProps {
|
|
|
9
9
|
readonly onJumpToMessage: (messageId: string) => void;
|
|
10
10
|
/** Open a produced file in the workspace viewer below. */
|
|
11
11
|
readonly onArtifactOpen?: (artifact: QaArtifactView) => void;
|
|
12
|
+
readonly onAttachmentOpen?: (file: import("../../types.js").QaFileView) => void;
|
|
13
|
+
readonly materialsOnly?: boolean;
|
|
12
14
|
/** Save a produced file. */
|
|
13
15
|
readonly onArtifactDownload?: (artifact: QaArtifactView) => void;
|
|
16
|
+
readonly onArtifactApprove?: (artifact: QaArtifactView) => Promise<void>;
|
|
14
17
|
/**
|
|
15
18
|
* A file to open on arrival, with the request's stamp. The stamp is what makes
|
|
16
19
|
* a second click on the same card a fresh arrival rather than a no-op.
|
|
@@ -36,5 +39,5 @@ export interface QaFilesPanelProps {
|
|
|
36
39
|
* back, and the images are the same object URLs the message showed — while the
|
|
37
40
|
* workspace section reads through the Host's fenced listing and file reads.
|
|
38
41
|
*/
|
|
39
|
-
export declare function QaFilesPanel({ groups, resolveImage, onJumpToMessage, onArtifactOpen, onArtifactDownload, openArtifact, sessionId, api, }: QaFilesPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
42
|
+
export declare function QaFilesPanel({ groups, resolveImage, onJumpToMessage, onArtifactOpen, onAttachmentOpen, materialsOnly, onArtifactDownload, onArtifactApprove, openArtifact, sessionId, api, }: QaFilesPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
40
43
|
//# sourceMappingURL=QaFilesPanel.d.ts.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
import type { MarkdownFrontmatter } from "../../markdown-frontmatter.js";
|
|
3
|
+
/** Source-only rendering: original file line numbers survive frontmatter removal. */
|
|
4
|
+
export declare function QaMarkdownPreview({ text, renderFrontmatter, frontmatter, lineStart, lineEnd, renderImage, requestKey, }: {
|
|
5
|
+
readonly text: string;
|
|
6
|
+
readonly renderFrontmatter: boolean;
|
|
7
|
+
readonly frontmatter?: MarkdownFrontmatter;
|
|
8
|
+
readonly lineStart?: number;
|
|
9
|
+
readonly lineEnd?: number;
|
|
10
|
+
readonly renderImage?: (src: string, alt: string) => ReactNode;
|
|
11
|
+
readonly requestKey?: unknown;
|
|
12
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
//# sourceMappingURL=QaMarkdownPreview.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { QaArtifactView, QaMessage as QaMessageModel, QaSource, QaTurnSources } from "../../types.js";
|
|
1
|
+
import type { QaArtifactView, QaFileView, QaMessage as QaMessageModel, QaSource, QaTurnSources } from "../../types.js";
|
|
2
2
|
import type { QaFeedbackReason } from "../../types.js";
|
|
3
3
|
export interface QaMessageProps {
|
|
4
4
|
readonly message: QaMessageModel;
|
|
@@ -11,6 +11,7 @@ export interface QaMessageProps {
|
|
|
11
11
|
readonly stateKey?: string;
|
|
12
12
|
/** Ask for a fresh variant of this answer; omit to hide the control. */
|
|
13
13
|
readonly onRegenerate?: () => void;
|
|
14
|
+
readonly onFork?: (answerSeq: number) => Promise<void>;
|
|
14
15
|
/** Resolve one durable attachment into a viewable URL. */
|
|
15
16
|
readonly resolveImage?: (attachmentId: string) => Promise<string>;
|
|
16
17
|
/** Open the drawer at the exact canonical snapshot shown in this footer. */
|
|
@@ -23,8 +24,10 @@ export interface QaMessageProps {
|
|
|
23
24
|
* file without promising an action it cannot perform.
|
|
24
25
|
*/
|
|
25
26
|
readonly onArtifactOpen?: (artifact: QaArtifactView) => void;
|
|
27
|
+
readonly onAttachmentOpen?: (file: QaFileView) => void;
|
|
26
28
|
/** Save a produced file. Omitted on the same terms as {@link onArtifactOpen}. */
|
|
27
29
|
readonly onArtifactDownload?: (artifact: QaArtifactView) => void;
|
|
30
|
+
readonly onArtifactApprove?: (artifact: QaArtifactView) => Promise<void>;
|
|
28
31
|
/** Operator-configured running phrases; omitted reads the built-in list. */
|
|
29
32
|
readonly thinkingPhrases?: readonly string[];
|
|
30
33
|
/**
|
|
@@ -47,5 +50,5 @@ export interface QaMessageProps {
|
|
|
47
50
|
* comparison is by value, which keeps fresh copies cheap to recognize.
|
|
48
51
|
*/
|
|
49
52
|
export declare function sameMessage(a: QaMessageModel, b: QaMessageModel): boolean;
|
|
50
|
-
export declare const QaMessage: import("react").MemoExoticComponent<({ message, renderMarkdown, showTimestamp, stateKey, onRegenerate, resolveImage, onOpenSources, onSourceDetail, onArtifactOpen, onArtifactDownload, thinkingPhrases, onRateFeedback, }: QaMessageProps) => import("react/jsx-runtime").JSX.Element>;
|
|
53
|
+
export declare const QaMessage: import("react").MemoExoticComponent<({ message, renderMarkdown, showTimestamp, stateKey, onRegenerate, onFork, resolveImage, onOpenSources, onSourceDetail, onArtifactOpen, onAttachmentOpen, onArtifactDownload, onArtifactApprove, thinkingPhrases, onRateFeedback, }: QaMessageProps) => import("react/jsx-runtime").JSX.Element>;
|
|
51
54
|
//# sourceMappingURL=QaMessage.d.ts.map
|
|
@@ -6,6 +6,15 @@ import { type ReactNode } from "react";
|
|
|
6
6
|
* the dialog is turned back into a page under the scrim.
|
|
7
7
|
*/
|
|
8
8
|
export declare function isQaModalOpen(): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Join the stack from a shell that draws its own chrome rather than this
|
|
11
|
+
* panel — the image lightbox is such a shell. One Escape press then closes the
|
|
12
|
+
* innermost layer instead of every dialog under it.
|
|
13
|
+
*/
|
|
14
|
+
export declare function joinQaDialogStack(): {
|
|
15
|
+
readonly innermost: () => boolean;
|
|
16
|
+
readonly leave: () => void;
|
|
17
|
+
};
|
|
9
18
|
export interface QaModalProps {
|
|
10
19
|
readonly open: boolean;
|
|
11
20
|
/** Dialog title; also the dialog's accessible name. */
|
|
@@ -13,9 +13,10 @@ export interface QaRightRailProps {
|
|
|
13
13
|
readonly activeTab: QaRailTab;
|
|
14
14
|
readonly onTabSelect: (tab: QaRailTab) => void;
|
|
15
15
|
readonly onClose: () => void;
|
|
16
|
+
readonly stateKey?: string;
|
|
16
17
|
}
|
|
17
18
|
/**
|
|
18
|
-
* The chat's right rail: a
|
|
19
|
+
* The chat's right rail: a resizable column whose top edge is the tab strip,
|
|
19
20
|
* mirroring the Harness right Sidebar's chrome. Tabs are plain chips with
|
|
20
21
|
* counts; the strip's last control collapses the whole column.
|
|
21
22
|
*
|
|
@@ -25,5 +26,5 @@ export interface QaRightRailProps {
|
|
|
25
26
|
* the rail keeps the key: the innermost thing on the page is what the reader
|
|
26
27
|
* means to dismiss.
|
|
27
28
|
*/
|
|
28
|
-
export declare function QaRightRail({ tabs, activeTab, onTabSelect, onClose, }: QaRightRailProps): import("react/jsx-runtime").JSX.Element | null;
|
|
29
|
+
export declare function QaRightRail({ tabs, activeTab, onTabSelect, onClose, stateKey, }: QaRightRailProps): import("react/jsx-runtime").JSX.Element | null;
|
|
29
30
|
//# sourceMappingURL=QaRightRail.d.ts.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type RefObject } from "react";
|
|
2
|
+
export declare function resolveQaRightRailWidth(requested: number | null, available: number): number;
|
|
3
|
+
/** A one-sided border drag: moving left widens the panel on the right. */
|
|
4
|
+
export declare function QaRightRailResize(props: {
|
|
5
|
+
root: RefObject<HTMLElement | null>;
|
|
6
|
+
storage: Pick<Storage, "getItem" | "setItem">;
|
|
7
|
+
storageKey: string;
|
|
8
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
//# sourceMappingURL=QaRightRailResize.d.ts.map
|
|
@@ -2,6 +2,7 @@ import type { SessionSummary } from "@deepseek-ai/dsh-api-session-controller/cli
|
|
|
2
2
|
import { type QaAuditSummary } from "../audit/types.js";
|
|
3
3
|
/** One renderable row of the chat-history sidebar. */
|
|
4
4
|
export interface QaChatRow {
|
|
5
|
+
readonly shareable?: boolean;
|
|
5
6
|
readonly id: string;
|
|
6
7
|
readonly title: string;
|
|
7
8
|
readonly running: boolean;
|
|
@@ -59,6 +60,7 @@ export interface QaSidebarProps {
|
|
|
59
60
|
readonly onNewChat: () => void;
|
|
60
61
|
/** Removes a chat from this browser's index; omit to hide the control. */
|
|
61
62
|
readonly onDelete?: (sessionId: string) => void;
|
|
63
|
+
readonly onShare?: (sessionId: string) => void;
|
|
62
64
|
/**
|
|
63
65
|
* Whether the phone layout shows this sidebar as a drawer over the
|
|
64
66
|
* conversation. The state is the surface's, not the sidebar's: the control
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { QaSource } from "../../types.js";
|
|
2
|
+
export declare function matchesSourceText(source: QaSource, query: string): boolean;
|
|
3
|
+
export declare function QaSourceFilters({ sources, query, kind, count, onQuery, onKind, onReset, }: {
|
|
4
|
+
readonly sources: readonly QaSource[];
|
|
5
|
+
readonly query: string;
|
|
6
|
+
readonly kind: QaSource["kind"] | "all";
|
|
7
|
+
readonly count: number;
|
|
8
|
+
readonly onQuery: (value: string) => void;
|
|
9
|
+
readonly onKind: (value: QaSource["kind"] | "all") => void;
|
|
10
|
+
readonly onReset: () => void;
|
|
11
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
//# sourceMappingURL=QaSourceFilters.d.ts.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { QaSpreadsheetPreview as Preview, QaSpreadsheetPreviewSelection as Selection } from "../../types.js";
|
|
2
|
+
export interface QaSpreadsheetPreviewProps {
|
|
3
|
+
readonly initial: Preview;
|
|
4
|
+
readonly load: (selection: Selection) => Promise<Preview>;
|
|
5
|
+
}
|
|
6
|
+
/** Read-only cells, with explicit paging on both axes and no formula execution. */
|
|
7
|
+
export declare function QaSpreadsheetPreview({ initial, load, }: QaSpreadsheetPreviewProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
//# sourceMappingURL=QaSpreadsheetPreview.d.ts.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { SettingsOnboardingOwnerProps } from "@deepseek-ai/dsh-client-ui-settings/client";
|
|
2
2
|
import type { StorageLike } from "../types.js";
|
|
3
3
|
/** Bump when the notice changes materially and must be acknowledged again. */
|
|
4
|
-
export declare const QA_WELCOME_NOTICE_VERSION = "2026-
|
|
4
|
+
export declare const QA_WELCOME_NOTICE_VERSION = "2026-10-11.1";
|
|
5
5
|
export declare const QA_WELCOME_NOTICE_COPY: Readonly<{
|
|
6
6
|
title: "Перед началом тестирования";
|
|
7
7
|
paragraphs: readonly string[];
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import type { QaBoundSourceApi } from "../types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Object URL for a PDF body, revoked when the payload changes or the panel
|
|
4
|
+
* closes. A blob URL is what lets the browser's own viewer draw the document
|
|
5
|
+
* without the bytes ever leaving the page.
|
|
6
|
+
*/
|
|
7
|
+
export declare function usePdfUrl(payload: string | undefined): string | null;
|
|
2
8
|
export interface QaWorkspaceBrowserProps {
|
|
3
9
|
readonly sessionId: string;
|
|
4
10
|
readonly api: QaBoundSourceApi;
|
|
@@ -8,6 +14,7 @@ export interface QaWorkspaceBrowserProps {
|
|
|
8
14
|
* turn produced previews through the same fenced read a browsed file uses.
|
|
9
15
|
*/
|
|
10
16
|
readonly initialFile?: string;
|
|
17
|
+
readonly materialsOnly?: boolean;
|
|
11
18
|
}
|
|
12
19
|
/**
|
|
13
20
|
* The chat's own workspace, browsable from the files rail.
|
|
@@ -17,5 +24,5 @@ export interface QaWorkspaceBrowserProps {
|
|
|
17
24
|
* the visitor out of the chat's tree. Opening a file reads exactly that file —
|
|
18
25
|
* text inline, anything else as a downloadable handle.
|
|
19
26
|
*/
|
|
20
|
-
export declare function QaWorkspaceBrowser({ sessionId, api, initialFile, }: QaWorkspaceBrowserProps): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
export declare function QaWorkspaceBrowser({ sessionId, api, initialFile, materialsOnly, }: QaWorkspaceBrowserProps): import("react/jsx-runtime").JSX.Element;
|
|
21
28
|
//# sourceMappingURL=QaWorkspaceBrowser.d.ts.map
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { ImgHTMLAttributes } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* A surface image at its reading size, plus the overlay it opens into.
|
|
4
|
+
*
|
|
5
|
+
* A transcript thumbnail is 132 px wide: enough to recognise a figure, not
|
|
6
|
+
* enough to read one. The thumbnail used to be an anchor to its own `blob:`
|
|
7
|
+
* address, and a browser that refuses top-level navigation to a blob answers
|
|
8
|
+
* the click with nothing at all, so the reader had no way to see the image the
|
|
9
|
+
* question was about.
|
|
10
|
+
*/
|
|
11
|
+
export declare function QaZoomImage({ src, alt, className, testId, openLabel, zoomable, ...image }: {
|
|
12
|
+
readonly src: string;
|
|
13
|
+
readonly alt: string;
|
|
14
|
+
readonly className: string;
|
|
15
|
+
readonly testId: string;
|
|
16
|
+
readonly openLabel?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Whether the image answers a click. An image that sits inside a link does
|
|
19
|
+
* not: a control nested in an anchor is invalid, and the activation the
|
|
20
|
+
* reader meant for the link would reach the zoom as well.
|
|
21
|
+
*/
|
|
22
|
+
readonly zoomable?: boolean;
|
|
23
|
+
} & Omit<ImgHTMLAttributes<HTMLImageElement>, "src" | "alt" | "className">): import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
/**
|
|
25
|
+
* The overlay itself: the image contained to the viewport over a mask. Escape,
|
|
26
|
+
* the mask and the close control end it, and the close control takes focus on
|
|
27
|
+
* open so a keyboard reader leaves the same way it entered.
|
|
28
|
+
*
|
|
29
|
+
* The root is a span because an answer's image sits inside its paragraph, and
|
|
30
|
+
* a block-level root there is invalid nesting the browser repairs by lifting it
|
|
31
|
+
* out of the text that owns it.
|
|
32
|
+
*/
|
|
33
|
+
export declare function QaImageLightbox({ src, alt, onClose, }: {
|
|
34
|
+
readonly src: string;
|
|
35
|
+
readonly alt: string;
|
|
36
|
+
readonly onClose: () => void;
|
|
37
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
38
|
+
//# sourceMappingURL=QaZoomImage.d.ts.map
|
|
@@ -12,5 +12,6 @@ export interface QaSourceRefs {
|
|
|
12
12
|
}
|
|
13
13
|
/** Display name for a file-backed source: the file name alone, case kept. */
|
|
14
14
|
export declare function sourceFileName(source: QaSource): string;
|
|
15
|
+
export declare function sourceRefsSignature(sources: readonly QaSource[]): string;
|
|
15
16
|
export declare function buildSourceRefs(sources: readonly QaSource[]): QaSourceRefs;
|
|
16
17
|
//# sourceMappingURL=source-refs.d.ts.map
|
|
@@ -6,14 +6,14 @@ import type { SessionSummary } from "@deepseek-ai/dsh-api-session-controller/cli
|
|
|
6
6
|
* A delegated run is an implementation detail of a single answer: the Host
|
|
7
7
|
* refuses to attest it, its sources reach the parent chat through the
|
|
8
8
|
* provenance inheritance flow, and it has no owner. The host list the surface
|
|
9
|
-
* already follows
|
|
9
|
+
* already follows marks delegated runs with `origin`; ordinary forks also carry `parentId`, so every
|
|
10
10
|
* projection that talks about chats asks this one question instead of
|
|
11
11
|
* re-deriving it — and a chat row, a chat count and a claim batch can never
|
|
12
12
|
* disagree about what a chat is.
|
|
13
13
|
*/
|
|
14
14
|
export declare function isDelegatedSession(summary: Pick<SessionSummary, "origin" | "parentId"> | undefined): boolean;
|
|
15
15
|
/** The session-list slice the lineage walk reads. */
|
|
16
|
-
export type SessionLineage = Readonly<Record<string, Pick<SessionSummary, "parentId"> | undefined>>;
|
|
16
|
+
export type SessionLineage = Readonly<Record<string, Pick<SessionSummary, "parentId" | "origin"> | undefined>>;
|
|
17
17
|
/**
|
|
18
18
|
* The chat a session belongs to: itself when nothing delegated it, otherwise
|
|
19
19
|
* the root of its parent chain.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Illustrations are fetched on approach to the viewport, never in a document-wide burst. */
|
|
2
|
+
export declare function SourceImage({ src, alt, load, }: {
|
|
3
|
+
readonly src: string;
|
|
4
|
+
readonly alt: string;
|
|
5
|
+
readonly load: (path: string) => Promise<string | undefined>;
|
|
6
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
//# sourceMappingURL=SourceImage.d.ts.map
|
|
@@ -74,6 +74,10 @@ export type MarkdownBlock = {
|
|
|
74
74
|
};
|
|
75
75
|
/** A parsed document: its blocks plus the reference targets they resolve. */
|
|
76
76
|
export interface ParsedMarkdown {
|
|
77
|
+
readonly ranges: readonly {
|
|
78
|
+
readonly start: number;
|
|
79
|
+
readonly end: number;
|
|
80
|
+
}[];
|
|
77
81
|
readonly blocks: readonly MarkdownBlock[];
|
|
78
82
|
/** Link/image definitions by upper-cased identifier. */
|
|
79
83
|
readonly definitions: ReadonlyMap<string, string>;
|
|
@@ -111,5 +115,8 @@ export declare function parseMarkdown(text: string, options?: MarkdownParseOptio
|
|
|
111
115
|
* line may still be typed.
|
|
112
116
|
* @returns The container's blocks.
|
|
113
117
|
*/
|
|
114
|
-
export declare function parseBlocks(lines: readonly string[], definitions: Map<string, string>, footnotes: Map<string, readonly MarkdownBlock[]>, depth: number, streaming?: boolean
|
|
118
|
+
export declare function parseBlocks(lines: readonly string[], definitions: Map<string, string>, footnotes: Map<string, readonly MarkdownBlock[]>, depth: number, streaming?: boolean, ranges?: {
|
|
119
|
+
start: number;
|
|
120
|
+
end: number;
|
|
121
|
+
}[]): MarkdownBlock[];
|
|
115
122
|
//# sourceMappingURL=blocks.d.ts.map
|
|
@@ -13,5 +13,9 @@ import { type MarkdownSourceContext } from "./source-chip.js";
|
|
|
13
13
|
* @returns The document's blocks, plus the footnote section when the document
|
|
14
14
|
* references a defined footnote.
|
|
15
15
|
*/
|
|
16
|
-
export declare function renderMarkdown(text: string, context: MarkdownSourceContext, options?: MarkdownParseOptions
|
|
16
|
+
export declare function renderMarkdown(text: string, context: MarkdownSourceContext, options?: MarkdownParseOptions, sourceLines?: {
|
|
17
|
+
readonly offset: number;
|
|
18
|
+
readonly start?: number;
|
|
19
|
+
readonly end?: number;
|
|
20
|
+
}): ReactNode[];
|
|
17
21
|
//# sourceMappingURL=render.d.ts.map
|
|
@@ -3,6 +3,7 @@ import type { QaSource } from "../../types.js";
|
|
|
3
3
|
import { type QaSourceRefs } from "../components/source-refs.js";
|
|
4
4
|
/** Inline source awareness handed down from the owning assistant message. */
|
|
5
5
|
export interface MarkdownSourceContext {
|
|
6
|
+
readonly renderImage?: (src: string, alt: string) => ReactNode;
|
|
6
7
|
readonly refs?: QaSourceRefs;
|
|
7
8
|
/** Open a path-backed source in the sources drawer's detail view. */
|
|
8
9
|
readonly onSourceOpen?: (source: QaSource) => void;
|
|
@@ -59,10 +59,14 @@ export declare function readNotificationPermission(): QaNotificationPermission;
|
|
|
59
59
|
* asks on load — or once per finished turn — spends it on the wrong moment.
|
|
60
60
|
*/
|
|
61
61
|
export declare function requestNotificationPermission(): Promise<QaNotificationPermission>;
|
|
62
|
-
/**
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
*/
|
|
67
|
-
|
|
62
|
+
/** One surface's desktop handles, retained until closed or retired. */
|
|
63
|
+
export declare class QaDesktopNotices {
|
|
64
|
+
private readonly handles;
|
|
65
|
+
retain(notice: Notification, sessionId: string, onOpen?: (sessionId: string) => void): void;
|
|
66
|
+
/** Revoke callbacks even where the operating system refuses close(). */
|
|
67
|
+
close(sessionId?: string): void;
|
|
68
|
+
keep(sessionIds: ReadonlySet<string>): void;
|
|
69
|
+
}
|
|
70
|
+
/** The session id stays in the callback, never in the desktop payload. */
|
|
71
|
+
export declare function raiseDesktopNotice(completion: QaTurnCompletion, onOpen?: (sessionId: string) => void, notices?: QaDesktopNotices): boolean;
|
|
68
72
|
//# sourceMappingURL=notification-dispatcher.d.ts.map
|
|
@@ -5,6 +5,10 @@ import { type QaChatActivity } from "./turn-completion-source.js";
|
|
|
5
5
|
export interface QaTurnNotificationsInput {
|
|
6
6
|
/** The sidebar's rows: this browser's chats with their running state. */
|
|
7
7
|
readonly chats: readonly QaChatActivity[];
|
|
8
|
+
/** Authenticated identity, null behind the gate or with accounts disabled. */
|
|
9
|
+
readonly principal: string | null;
|
|
10
|
+
/** False while the controller or host list is still restoring. */
|
|
11
|
+
readonly chatsReady?: boolean;
|
|
8
12
|
/**
|
|
9
13
|
* The chats this account owns outright, which is narrower than the rows: an
|
|
10
14
|
* admin's shared history lists chats it only reads, and the turn of such a
|
|
@@ -8,6 +8,7 @@ export interface QaBoundProjectionInput {
|
|
|
8
8
|
readonly sessionId: string;
|
|
9
9
|
/** Chat identity from the controller; see `QaSessionState.chatKey`. */
|
|
10
10
|
readonly chatKey: number;
|
|
11
|
+
readonly inheritedThroughSeq?: number;
|
|
11
12
|
readonly sessionSnapshot: ReturnType<SessionFace["getSnapshot"]>;
|
|
12
13
|
/**
|
|
13
14
|
* The Host's Inbox projection for this session: the messages waiting for the
|
|
@@ -2,6 +2,8 @@ import type { QaSecureSession } from "./types.js";
|
|
|
2
2
|
import type { ResolvedQaSurfaceConfig } from "../types.js";
|
|
3
3
|
export type QaAttestationOutcome = {
|
|
4
4
|
readonly ok: true;
|
|
5
|
+
readonly inheritedThroughSeq?: number;
|
|
6
|
+
readonly chatAccess?: import("../chat-sharing/types.js").QaChatAccess;
|
|
5
7
|
} | {
|
|
6
8
|
readonly ok: false;
|
|
7
9
|
/** The identity is absent or expired; the caller returns to the gate. */
|
|
@@ -14,6 +14,7 @@ export declare class QaHostSourceBridge {
|
|
|
14
14
|
private refreshing;
|
|
15
15
|
/** The refusal already reported, so a repeating failure reaches the console once. */
|
|
16
16
|
private refusal;
|
|
17
|
+
private sessionId;
|
|
17
18
|
/** Bumped on reset so a stale in-flight fetch never lands. */
|
|
18
19
|
private generation;
|
|
19
20
|
constructor(sourceApi: QaSourceApi, token: () => string);
|
|
@@ -9,11 +9,8 @@
|
|
|
9
9
|
* outline under pointer modality at a specificity our rule cannot win, so a
|
|
10
10
|
* hard-coded ring is one that goes missing rather than one that degrades.
|
|
11
11
|
*
|
|
12
|
-
* The
|
|
13
|
-
*
|
|
14
|
-
* is 16px, a control's own label and an outcome line are 14px, and only chrome
|
|
15
|
-
* stays small on purpose: the «Изменено» badge (9px), the status chips (11px),
|
|
16
|
-
* the monospace data rows (11px) and the footer note (10px).
|
|
12
|
+
* The body controls use the plugin kit's shared type scale. Status chips,
|
|
13
|
+
* data rows and the footer retain their compact page-specific presentation.
|
|
17
14
|
*/
|
|
18
15
|
export declare const QA_SETTINGS_STYLES: string;
|
|
19
16
|
//# sourceMappingURL=styles.d.ts.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const sourceFiltersStyles = "\n.dsh-qa-sourcefilters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:2px 12px 10px;flex:none}\n.dsh-qa-sourcefilters input,.dsh-qa-sourcefilters select{min-width:0;padding:7px 9px;border:1px solid var(--dsw-alias-border-l2);border-radius:8px;background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-primary);font:inherit;font-size:12px}\n.dsh-qa-sourcefilters input{flex:1 1 200px;width:100%}\n.dsh-qa-sourcefilters select{flex:1 1 150px;max-width:100%}\n.dsh-qa-sourcefilters__count{color:var(--dsw-alias-label-tertiary);font-size:11px}\n.dsh-qa-sourcefilters button{margin-left:auto;border:0;background:transparent;color:var(--dsh-qa-accent);font:inherit;font-size:12px;cursor:pointer}\n.dsh-qa-sourcefilters :is(input,select,button):focus-visible{outline:var(--dsw-focus-ring-width, 2px) solid var(--dsw-focus-ring-color, var(--dsh-qa-accent));outline-offset:2px}\n.dsh-qa-sourcedetail__content-label{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--dsw-alias-label-primary)}\n";
|
|
2
|
+
//# sourceMappingURL=source-filters-styles.d.ts.map
|
|
@@ -8,7 +8,7 @@ export declare function chatLegacyOf(snapshot: ConversationSnapshot | undefined)
|
|
|
8
8
|
* metadata is persisted by DSH, this projection is identical on live updates
|
|
9
9
|
* and replay and requires no assistant-authored bibliography.
|
|
10
10
|
*/
|
|
11
|
-
export declare function projectTurnSources(snapshot: ConversationSnapshot | undefined, sessionId?: string, workspaceRoot?: string): readonly QaTurnSources[];
|
|
11
|
+
export declare function projectTurnSources(snapshot: ConversationSnapshot | undefined, sessionId?: string, workspaceRoot?: string, documentationRoot?: string): readonly QaTurnSources[];
|
|
12
12
|
/**
|
|
13
13
|
* The directory a projected source path is anchored on: the chat's own cwd.
|
|
14
14
|
*
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ClientRemote } from "@deepseek-ai/dsh-api-gateway/client";
|
|
2
2
|
import type { ISessions, SessionFace } from "@deepseek-ai/dsh-api-session-controller/client";
|
|
3
3
|
import type { UiConversation } from "@deepseek-ai/dsh-client-ui-conversation/client";
|
|
4
|
-
import type { QaAccountNotificationsInput, QaAccountProfileInput, QaAccountSession, QaAccountStartersInput, QaAccountStarter, QaAccountUserPublic, QaAccessAdminSnapshot, QaApprovalDecision, QaClaimResult, QaLockdownProof, QaModelCatalogEntry, QaOwnershipEntry, QaPasswordResetRequest, QaPendingApproval, QaPendingQuestion, QaQuestionAnswerItem, QaQueueStatus, QaIssuedServiceToken, QaServiceTokenCreateInput, QaServiceTokenSummary, QaSessionState, QaSkillDocument, QaSkillDraftInput, QaSkillRemoval, QaSkillSummary, QaSkillToolDescriptor, QaSkillValidation, QaSourceFilePreview, QaTurnSources, QaWhoamiResult, QaDocumentPreview, QaWorkspaceFile, QaWorkspaceListing, QaCapabilitySelection, QaCurrentAccess, QaSessionAccess, QaSkillActivationRecord, QaSkillAssignmentOverride, QaSubrole, QaUserAccess, QaAdminAuditEvent, QaAdminOverview, QaAdminPage, QaAdminSkillScope, QaAdminSkillsView, QaAdminUserDetail, QaAdminUserRow, QaAdminUserUpdate, QaAuditQuery, QaConversationDetail, QaConversationDeletion, QaConversationQuery, QaConversationReview, QaConversationReviewInput, QaConversationSummary, QaExpertMemoryDraft, QaExpertMemoryPage, QaExpertMemoryRecord, QaExpertMemoryScope, QaFeedbackQuery, QaFeedbackRow, QaMessageFeedback, QaMessageFeedbackInput, QaQualityMetrics, QaReviewQueueItem, QaReviewQueueRow, QaSlashCatalog, QaSlashExecution, QaSlashSubmitAttachment, QaUserQuery } from "../types.js";
|
|
4
|
+
import type { QaAccountNotificationsInput, QaAccountProfileInput, QaAccountSession, QaAccountStartersInput, QaAccountStarter, QaAccountUserPublic, QaAccessAdminSnapshot, QaApprovalDecision, QaClaimResult, QaLockdownProof, QaModelCatalogEntry, QaOwnershipEntry, QaPasswordResetRequest, QaPendingApproval, QaPendingQuestion, QaQuestionAnswerItem, QaQueueStatus, QaIssuedServiceToken, QaServiceTokenCreateInput, QaServiceTokenSummary, QaSessionState, QaSkillDocument, QaSkillDraftInput, QaSkillRemoval, QaSkillSummary, QaSkillToolDescriptor, QaSkillValidation, QaSourceFilePreview, QaTurnSources, QaWhoamiResult, QaDocumentPreview, QaSpreadsheetPreviewSelection, QaWorkspaceFile, QaWorkspaceFileChunk, QaDocumentWorkflowStatus, QaWorkspaceListing, QaCapabilitySelection, QaCurrentAccess, QaSessionAccess, QaSkillActivationRecord, QaSkillAssignmentOverride, QaSubrole, QaUserAccess, QaAdminAuditEvent, QaAdminOverview, QaAdminPage, QaAdminSkillScope, QaAdminSkillsView, QaAdminUserDetail, QaAdminUserRow, QaAdminUserUpdate, QaAuditQuery, QaConversationDetail, QaConversationDeletion, QaConversationQuery, QaConversationReview, QaConversationReviewInput, QaConversationSummary, QaExpertMemoryDraft, QaExpertMemoryPage, QaExpertMemoryRecord, QaExpertMemoryScope, QaFeedbackQuery, QaFeedbackRow, QaMessageFeedback, QaMessageFeedbackInput, QaQualityMetrics, QaReviewQueueItem, QaReviewQueueRow, QaSlashCatalog, QaSlashExecution, QaSlashSubmitAttachment, QaUserQuery } from "../types.js";
|
|
5
5
|
/** Wire content one prompt carries: text plus base64 image uploads. */
|
|
6
6
|
export type QaPromptContent = Parameters<SessionFace["prompt"]>[0];
|
|
7
7
|
/** DSH session runtime surface the QA controller is allowed to touch. */
|
|
@@ -30,6 +30,8 @@ export type QaSecureSession = (token: string, sessionId: string) => Promise<{
|
|
|
30
30
|
}>;
|
|
31
31
|
/** Host-authoritative creation: identity, cwd and policy never come from the browser. */
|
|
32
32
|
export type QaCreateSession = (token: string, subroleId: string | null, adminPreview: boolean) => Promise<RemoteResult<string>>;
|
|
33
|
+
/** Owner-scoped exact-history branch; the Host chooses all child policy. */
|
|
34
|
+
export type QaForkSession = (token: string, sourceId: string, answerSeq: number) => Promise<RemoteResult<string>>;
|
|
33
35
|
/**
|
|
34
36
|
* The Host's live read of the request ceiling (`qaSurface/queueStatus`), asked
|
|
35
37
|
* per send: how many questions the stand is answering and whether one more
|
|
@@ -146,6 +148,9 @@ export interface QaFileUpload {
|
|
|
146
148
|
}>;
|
|
147
149
|
}
|
|
148
150
|
export interface QaSourceApi {
|
|
151
|
+
documentWorkflowStatus?(token: string, sessionId: string, workflowId: string): Promise<RemoteResult<QaDocumentWorkflowStatus>>;
|
|
152
|
+
approveDocumentWorkflow?(token: string, sessionId: string, workflowId: string, revision: number, sha256: string): Promise<RemoteResult<QaDocumentWorkflowStatus>>;
|
|
153
|
+
readWorkspaceFileChunk?(token: string, sessionId: string, path: string, offset: number, version: string | null): Promise<RemoteResult<QaWorkspaceFileChunk>>;
|
|
149
154
|
sources(token: string, sessionId: string): Promise<{
|
|
150
155
|
readonly ok: true;
|
|
151
156
|
readonly value: readonly QaTurnSources[];
|
|
@@ -153,13 +158,14 @@ export interface QaSourceApi {
|
|
|
153
158
|
readonly ok: false;
|
|
154
159
|
readonly error: unknown;
|
|
155
160
|
}>;
|
|
156
|
-
readSourceFile(token: string, sessionId: string, sourcePath: string): Promise<{
|
|
161
|
+
readSourceFile(token: string, sessionId: string, sourcePath: string, selection?: QaSpreadsheetPreviewSelection): Promise<{
|
|
157
162
|
readonly ok: true;
|
|
158
163
|
readonly value: QaSourceFilePreview;
|
|
159
164
|
} | {
|
|
160
165
|
readonly ok: false;
|
|
161
166
|
readonly error: unknown;
|
|
162
167
|
}>;
|
|
168
|
+
readSourceImage?(token: string, sessionId: string, sourcePath: string, imagePath: string): Promise<RemoteResult<string>>;
|
|
163
169
|
/** One directory of the chat's own workspace, for the files panel. */
|
|
164
170
|
listWorkspaceFiles(token: string, sessionId: string, path: string): Promise<{
|
|
165
171
|
readonly ok: true;
|
|
@@ -181,7 +187,7 @@ export interface QaSourceApi {
|
|
|
181
187
|
* document pipeline; the panel shows the PDF the browser already knows how
|
|
182
188
|
* to draw instead of uploading the bytes anywhere.
|
|
183
189
|
*/
|
|
184
|
-
previewWorkspaceDocument(token: string, sessionId: string, path: string): Promise<{
|
|
190
|
+
previewWorkspaceDocument(token: string, sessionId: string, path: string, selection?: QaSpreadsheetPreviewSelection): Promise<{
|
|
185
191
|
readonly ok: true;
|
|
186
192
|
readonly value: QaDocumentPreview;
|
|
187
193
|
} | {
|
|
@@ -201,6 +207,7 @@ export interface QaSlashApi {
|
|
|
201
207
|
}
|
|
202
208
|
/** A source API with the account token already bound at the call site. */
|
|
203
209
|
export type QaBoundSourceApi = {
|
|
210
|
+
readWorkspaceFileChunk?(sessionId: string, path: string, offset: number, version: string | null): Promise<RemoteResult<QaWorkspaceFileChunk>>;
|
|
204
211
|
sources(sessionId: string): Promise<{
|
|
205
212
|
readonly ok: true;
|
|
206
213
|
readonly value: readonly QaTurnSources[];
|
|
@@ -208,13 +215,14 @@ export type QaBoundSourceApi = {
|
|
|
208
215
|
readonly ok: false;
|
|
209
216
|
readonly error: unknown;
|
|
210
217
|
}>;
|
|
211
|
-
readSourceFile(sessionId: string, sourcePath: string): Promise<{
|
|
218
|
+
readSourceFile(sessionId: string, sourcePath: string, selection?: QaSpreadsheetPreviewSelection): Promise<{
|
|
212
219
|
readonly ok: true;
|
|
213
220
|
readonly value: QaSourceFilePreview;
|
|
214
221
|
} | {
|
|
215
222
|
readonly ok: false;
|
|
216
223
|
readonly error: unknown;
|
|
217
224
|
}>;
|
|
225
|
+
readSourceImage?(sessionId: string, sourcePath: string, imagePath: string): Promise<RemoteResult<string>>;
|
|
218
226
|
listWorkspaceFiles(sessionId: string, path: string): Promise<{
|
|
219
227
|
readonly ok: true;
|
|
220
228
|
readonly value: QaWorkspaceListing;
|
|
@@ -229,7 +237,7 @@ export type QaBoundSourceApi = {
|
|
|
229
237
|
readonly ok: false;
|
|
230
238
|
readonly error: unknown;
|
|
231
239
|
}>;
|
|
232
|
-
previewWorkspaceDocument(sessionId: string, path: string): Promise<{
|
|
240
|
+
previewWorkspaceDocument(sessionId: string, path: string, selection?: QaSpreadsheetPreviewSelection): Promise<{
|
|
233
241
|
readonly ok: true;
|
|
234
242
|
readonly value: QaDocumentPreview;
|
|
235
243
|
} | {
|
|
@@ -336,9 +344,14 @@ export interface QaIntegrationTokenApi {
|
|
|
336
344
|
list(): Promise<QaIntegrationTokenResult<readonly QaServiceTokenSummary[]>>;
|
|
337
345
|
create(input: QaServiceTokenCreateInput): Promise<QaIntegrationTokenResult<QaIssuedServiceToken>>;
|
|
338
346
|
revoke(tokenId: string): Promise<QaIntegrationTokenResult<null>>;
|
|
347
|
+
setClarifications?(tokenId: string, allowed: boolean): Promise<QaIntegrationTokenResult<null>>;
|
|
339
348
|
}
|
|
340
349
|
/** Account remotes exposed by the plugin's own typert namespace. */
|
|
341
350
|
export interface QaAccountsApi {
|
|
351
|
+
accountsSetServiceTokenClarifications?(token: string, tokenId: string, allowed: boolean): Promise<RemoteResult<{
|
|
352
|
+
readonly updated: boolean;
|
|
353
|
+
}>>;
|
|
354
|
+
chatVisible?(token: string): Promise<RemoteResult<readonly import("../chat-sharing/types.js").QaChatAccess[]>>;
|
|
342
355
|
accountsWhoami(token: string): Promise<RemoteResult<QaWhoamiResult>>;
|
|
343
356
|
accountsLogin(email: string, password: string): Promise<RemoteResult<QaAccountSession>>;
|
|
344
357
|
accountsRegister(email: string, password: string): Promise<RemoteResult<QaAccountSession>>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { QaWorkspaceFile } from "../types.js";
|
|
1
|
+
import type { QaWorkspaceFile, QaWorkspaceFileChunk } from "../types.js";
|
|
2
2
|
/**
|
|
3
3
|
* Handing one file of the chat's workspace to the person the turn produced it
|
|
4
4
|
* for.
|
|
@@ -13,4 +13,12 @@ import type { QaWorkspaceFile } from "../types.js";
|
|
|
13
13
|
export declare function fileNameOf(path: string): string;
|
|
14
14
|
/** Save one workspace file under its own name. */
|
|
15
15
|
export declare function downloadWorkspaceFile(file: QaWorkspaceFile): void;
|
|
16
|
+
/** Read one immutable file version in full; a refusal never saves partial bytes. */
|
|
17
|
+
export declare function downloadWorkspacePath(path: string, read: (offset: number, version: string | null) => Promise<{
|
|
18
|
+
readonly ok: true;
|
|
19
|
+
readonly value: QaWorkspaceFileChunk;
|
|
20
|
+
} | {
|
|
21
|
+
readonly ok: false;
|
|
22
|
+
readonly error: unknown;
|
|
23
|
+
}>): Promise<void>;
|
|
16
24
|
//# sourceMappingURL=workspace-download.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"documents.js","sourceRoot":"","sources":["../../src/types/documents.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { SkillResourceBase } from "@deepseek-ai/dsh-skill";
|
|
2
|
+
/** Guidance only: no file contents, path rewriting or permission grant. */
|
|
3
|
+
export declare function skillResourcePathHint(requested: unknown, loaded: ReadonlyMap<string, SkillResourceBase>, exists?: (candidate: string) => boolean): string | undefined;
|
|
4
|
+
export declare function skillResourceGuidance(resource: SkillResourceBase | undefined): string;
|
|
5
|
+
//# sourceMappingURL=skill-resource-paths.d.ts.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Agent } from "@deepseek-ai/dsh-agent";
|
|
2
|
+
import type { Context } from "@deepseek-ai/cordis";
|
|
3
|
+
/**
|
|
4
|
+
* Native delegation's result channel is not a working capability. Admit only
|
|
5
|
+
* the exact child-owned capture registration, never a global/inherited tool
|
|
6
|
+
* with the same name. Registrations and session lineage are Host-owned; model
|
|
7
|
+
* arguments cannot create either. Schema validation and authoritative capture
|
|
8
|
+
* remain the native driver's responsibility.
|
|
9
|
+
*/
|
|
10
|
+
export declare function isDelegatedStructuredResult(ctx: Context, agent: Agent | undefined, name: string): boolean;
|
|
11
|
+
//# sourceMappingURL=structured-result.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expert-memory.js","sourceRoot":"","sources":["../../src/types/expert-memory.ts"],"names":[],"mappings":""}
|