@yadsh/dsh-qa-surface 0.19.0 → 0.21.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 +235 -0
- package/lib/access/model-choices.js +103 -0
- package/lib/access/model-choices.js.map +1 -0
- package/lib/access/model-policy.js +79 -7
- package/lib/access/model-policy.js.map +1 -1
- package/lib/access/model.js +29 -1
- package/lib/access/model.js.map +1 -1
- package/lib/access/queue-policy.js +36 -0
- package/lib/access/queue-policy.js.map +1 -0
- package/lib/access/service.js +124 -7
- package/lib/access/service.js.map +1 -1
- package/lib/account-remotes.js +10 -1
- package/lib/account-remotes.js.map +1 -1
- package/lib/accounts/database.js +44 -3
- package/lib/accounts/database.js.map +1 -1
- package/lib/accounts/store.js +28 -0
- package/lib/accounts/store.js.map +1 -1
- package/lib/admin/service.js +6 -1
- package/lib/admin/service.js.map +1 -1
- package/lib/chat-sharing/transport.js +6 -2
- package/lib/chat-sharing/transport.js.map +1 -1
- package/lib/client/QaAccountsController.js +43 -8
- package/lib/client/QaAccountsController.js.map +1 -1
- package/lib/client/QaSessionController.js +55 -23
- package/lib/client/QaSessionController.js.map +1 -1
- package/lib/client/QaSurface.js +61 -3
- package/lib/client/QaSurface.js.map +1 -1
- package/lib/client/QaTranscriptAdapter.js +36 -1
- package/lib/client/QaTranscriptAdapter.js.map +1 -1
- package/lib/client/admin/ModelPolicyEditor.js +28 -2
- package/lib/client/admin/ModelPolicyEditor.js.map +1 -1
- package/lib/client/admin/RoleEditor.js +18 -1
- package/lib/client/admin/RoleEditor.js.map +1 -1
- package/lib/client/admin/pages/SkillFiles.js +1 -1
- package/lib/client/admin/pages/SkillFiles.js.map +1 -1
- package/lib/client/admin/pages/Users.js +36 -16
- package/lib/client/admin/pages/Users.js.map +1 -1
- package/lib/client/admin/styles.js +3 -0
- package/lib/client/admin/styles.js.map +1 -1
- package/lib/client/chat-artifacts.js +1 -0
- package/lib/client/chat-artifacts.js.map +1 -1
- package/lib/client/code-source-styles.js +12 -0
- package/lib/client/code-source-styles.js.map +1 -0
- package/lib/client/components/QaArtifactAttachment.js +12 -0
- package/lib/client/components/QaArtifactAttachment.js.map +1 -0
- package/lib/client/components/QaChangelog.js +94 -0
- package/lib/client/components/QaChangelog.js.map +1 -1
- package/lib/client/components/QaChatActions.js +36 -14
- package/lib/client/components/QaChatActions.js.map +1 -1
- package/lib/client/components/QaCodeSourcePicker.js +18 -0
- package/lib/client/components/QaCodeSourcePicker.js.map +1 -0
- package/lib/client/components/QaComposer.js +11 -12
- package/lib/client/components/QaComposer.js.map +1 -1
- package/lib/client/components/QaComposerSettings.js +202 -0
- package/lib/client/components/QaComposerSettings.js.map +1 -0
- package/lib/client/components/QaFilesPanel.js +2 -8
- package/lib/client/components/QaFilesPanel.js.map +1 -1
- package/lib/client/components/QaFormItem.js +74 -38
- package/lib/client/components/QaFormItem.js.map +1 -1
- package/lib/client/components/QaHistoryCatalog.js +261 -0
- package/lib/client/components/QaHistoryCatalog.js.map +1 -0
- package/lib/client/components/QaInputForm.js +115 -32
- package/lib/client/components/QaInputForm.js.map +1 -1
- package/lib/client/components/QaMessage.js +3 -8
- package/lib/client/components/QaMessage.js.map +1 -1
- package/lib/client/components/QaModelSelector.js +21 -0
- package/lib/client/components/QaModelSelector.js.map +1 -0
- package/lib/client/components/QaSidebar.js +25 -24
- package/lib/client/components/QaSidebar.js.map +1 -1
- package/lib/client/components/QaWorkGroup.js +1 -3
- package/lib/client/components/QaWorkGroup.js.map +1 -1
- package/lib/client/composer-settings-styles.js +21 -0
- package/lib/client/composer-settings-styles.js.map +1 -0
- package/lib/client/forms-styles.js +35 -11
- package/lib/client/forms-styles.js.map +1 -1
- package/lib/client/history-organization-styles.js +31 -0
- package/lib/client/history-organization-styles.js.map +1 -0
- package/lib/client/history-organization.js +155 -0
- package/lib/client/history-organization.js.map +1 -0
- package/lib/client/index.js +13 -4
- package/lib/client/index.js.map +1 -1
- package/lib/client/settings/card.js +2 -2
- package/lib/client/settings/card.js.map +1 -1
- package/lib/client/settings/sections/attachments.js +7 -1
- package/lib/client/settings/sections/attachments.js.map +1 -1
- package/lib/client/settings/sections/file-writes.js +15 -0
- package/lib/client/settings/sections/file-writes.js.map +1 -0
- package/lib/client/settings/sections/session.js +1 -1
- package/lib/client/settings/sections/session.js.map +1 -1
- package/lib/client/settings/sections.js +1 -0
- package/lib/client/settings/sections.js.map +1 -1
- package/lib/client/styles.js +18 -1
- package/lib/client/styles.js.map +1 -1
- package/lib/client/tool-presentation.js +21 -3
- package/lib/client/tool-presentation.js.map +1 -1
- package/lib/client/types.js.map +1 -1
- package/lib/client/use-chat-code-source.js +156 -0
- package/lib/client/use-chat-code-source.js.map +1 -0
- package/lib/client/use-history-organization.js +48 -0
- package/lib/client/use-history-organization.js.map +1 -0
- package/lib/client/use-model-selection.js +96 -0
- package/lib/client/use-model-selection.js.map +1 -0
- package/lib/client/use-qa-file-drop.js +81 -0
- package/lib/client/use-qa-file-drop.js.map +1 -0
- package/lib/client/user-settings/IntegrationTokensPage.js +42 -6
- package/lib/client/user-settings/IntegrationTokensPage.js.map +1 -1
- package/lib/client/user-settings/UserSettingsDialog.js +1 -1
- package/lib/client/user-settings/UserSettingsDialog.js.map +1 -1
- package/lib/client.js +125 -27
- package/lib/client.js.map +1 -1
- package/lib/code-source-selection.js +102 -0
- package/lib/code-source-selection.js.map +1 -0
- package/lib/config-resolvers/accounts.js +26 -1
- package/lib/config-resolvers/accounts.js.map +1 -1
- package/lib/config-resolvers/defaults.js +7 -0
- package/lib/config-resolvers/defaults.js.map +1 -1
- package/lib/config-resolvers/integration.js +8 -1
- package/lib/config-resolvers/integration.js.map +1 -1
- package/lib/config-resolvers/session.js +2 -0
- package/lib/config-resolvers/session.js.map +1 -1
- package/lib/config-resolvers/tools.js +2 -0
- package/lib/config-resolvers/tools.js.map +1 -1
- package/lib/config.js +77 -4
- package/lib/config.js.map +1 -1
- package/lib/enforcement/skill-policy.js +37 -2
- package/lib/enforcement/skill-policy.js.map +1 -1
- package/lib/forms/errors.js +6 -1
- package/lib/forms/errors.js.map +1 -1
- package/lib/forms/gate.js +28 -2
- package/lib/forms/gate.js.map +1 -1
- package/lib/forms/schema-errors.js +47 -0
- package/lib/forms/schema-errors.js.map +1 -0
- package/lib/forms/schema.js +29 -20
- package/lib/forms/schema.js.map +1 -1
- package/lib/index.js +161 -9
- package/lib/index.js.map +1 -1
- package/lib/integration/http.js +9 -10
- package/lib/integration/http.js.map +1 -1
- package/lib/integration/service.js +9 -0
- package/lib/integration/service.js.map +1 -1
- package/lib/personal-skills/provider.js +9 -1
- package/lib/personal-skills/provider.js.map +1 -1
- package/lib/personal-skills/service.js +4 -0
- package/lib/personal-skills/service.js.map +1 -1
- package/lib/personal-skills/shared-seed.js +65 -0
- package/lib/personal-skills/shared-seed.js.map +1 -0
- package/lib/prompt-notes.js +24 -2
- package/lib/prompt-notes.js.map +1 -1
- package/lib/provenance/collector.js +1 -0
- package/lib/provenance/collector.js.map +1 -1
- package/lib/provenance/extractors.js +6 -1
- package/lib/provenance/extractors.js.map +1 -1
- package/lib/qa-tools/catalog.js +33 -1
- package/lib/qa-tools/catalog.js.map +1 -1
- package/lib/qa-tools/code-files.js +207 -0
- package/lib/qa-tools/code-files.js.map +1 -0
- package/lib/qa-tools/code-tools.js +158 -0
- package/lib/qa-tools/code-tools.js.map +1 -0
- package/lib/qa-tools/docs-tools.js +49 -12
- package/lib/qa-tools/docs-tools.js.map +1 -1
- package/lib/qa-tools/file-write-gate.js +47 -0
- package/lib/qa-tools/file-write-gate.js.map +1 -0
- package/lib/qa-tools/index.js +10 -0
- package/lib/qa-tools/index.js.map +1 -1
- package/lib/qa-tools/request-user-form.js +26 -6
- package/lib/qa-tools/request-user-form.js.map +1 -1
- package/lib/qa-tools/subagent-tools.js +159 -0
- package/lib/qa-tools/subagent-tools.js.map +1 -0
- package/lib/request-scheduler.js +32 -5
- package/lib/request-scheduler.js.map +1 -1
- package/lib/resolve-config.js +9 -1
- package/lib/resolve-config.js.map +1 -1
- package/lib/secure-session.js +16 -4
- package/lib/secure-session.js.map +1 -1
- package/lib/session-model.js +43 -1
- package/lib/session-model.js.map +1 -1
- package/lib/shared/file-write-policy.js +29 -0
- package/lib/shared/file-write-policy.js.map +1 -0
- package/lib/shared/history-folder.js +18 -0
- package/lib/shared/history-folder.js.map +1 -0
- package/lib/typert.host.js +757 -162
- package/lib/typert.remote-client.d.ts +19 -7
- package/lib/typert.remote-client.js +688 -153
- package/lib/types/access/model-choices.d.ts +16 -0
- package/lib/types/access/model-policy.d.ts +13 -7
- package/lib/types/access/model.d.ts +9 -0
- package/lib/types/access/queue-policy.d.ts +30 -0
- package/lib/types/access/service.d.ts +27 -0
- package/lib/types/account-remotes.d.ts +5 -4
- package/lib/types/accounts/database.d.ts +5 -0
- package/lib/types/accounts/store.d.ts +6 -0
- package/lib/types/chat-sharing/transport.d.ts +1 -1
- package/lib/types/client/QaAccountsController.d.ts +3 -1
- package/lib/types/client/QaSessionController.d.ts +19 -5
- package/lib/types/client/QaSurface.d.ts +2 -0
- package/lib/types/client/admin/ModelPolicyEditor.d.ts +2 -0
- package/lib/types/client/code-source-styles.d.ts +2 -0
- package/lib/types/client/components/QaArtifactAttachment.d.ts +8 -0
- package/lib/types/client/components/QaChatActions.d.ts +3 -1
- package/lib/types/client/components/QaCodeSourcePicker.d.ts +9 -0
- package/lib/types/client/components/QaComposer.d.ts +2 -0
- package/lib/types/client/components/QaComposerSettings.d.ts +16 -0
- package/lib/types/client/components/QaFormItem.d.ts +4 -2
- package/lib/types/client/components/QaHistoryCatalog.d.ts +19 -0
- package/lib/types/client/components/QaInputForm.d.ts +3 -2
- package/lib/types/client/components/QaModelSelector.d.ts +4 -0
- package/lib/types/client/components/QaSidebar.d.ts +3 -0
- package/lib/types/client/composer-settings-styles.d.ts +2 -0
- package/lib/types/client/forms-styles.d.ts +1 -1
- package/lib/types/client/history-organization-styles.d.ts +3 -0
- package/lib/types/client/history-organization.d.ts +38 -0
- package/lib/types/client/settings/sections/file-writes.d.ts +4 -0
- package/lib/types/client/settings/sections.d.ts +1 -0
- package/lib/types/client/tool-presentation.d.ts +1 -0
- package/lib/types/client/types.d.ts +12 -4
- package/lib/types/client/use-chat-code-source.d.ts +20 -0
- package/lib/types/client/use-history-organization.d.ts +8 -0
- package/lib/types/client/use-model-selection.d.ts +24 -0
- package/lib/types/client/use-qa-file-drop.d.ts +12 -0
- package/lib/types/code-source-selection.d.ts +28 -0
- package/lib/types/code-sources.js +2 -0
- package/lib/types/code-sources.js.map +1 -0
- package/lib/types/config-resolvers/integration.d.ts +7 -1
- package/lib/types/forms/errors.d.ts +3 -2
- package/lib/types/forms/gate.d.ts +4 -2
- package/lib/types/forms/schema-errors.d.ts +7 -0
- package/lib/types/forms/types.d.ts +14 -0
- package/lib/types/index.d.ts +38 -5
- package/lib/types/integration/http.d.ts +1 -3
- package/lib/types/integration/service.d.ts +2 -0
- package/lib/types/personal-skills/shared-seed.d.ts +12 -0
- package/lib/types/prompt-notes.d.ts +6 -2
- package/lib/types/qa-tools/catalog.d.ts +5 -2
- package/lib/types/qa-tools/code-files.d.ts +59 -0
- package/lib/types/qa-tools/code-tools.d.ts +7 -0
- package/lib/types/qa-tools/docs-tools.d.ts +4 -0
- package/lib/types/qa-tools/file-write-gate.d.ts +6 -0
- package/lib/types/qa-tools/index.d.ts +3 -0
- package/lib/types/qa-tools/subagent-tools.d.ts +40 -0
- package/lib/types/request-scheduler.d.ts +21 -2
- package/lib/types/session-model.d.ts +11 -2
- package/lib/types/shared/file-write-policy.d.ts +10 -0
- package/lib/types/shared/history-folder.d.ts +4 -0
- package/lib/types/types/accounts.d.ts +11 -0
- package/lib/types/types/capability.d.ts +31 -4
- package/lib/types/types/code-sources.d.ts +12 -0
- package/lib/types/types/config.d.ts +23 -0
- package/lib/types/types/documents.d.ts +2 -0
- package/lib/types/types.d.ts +1 -0
- package/lib/user-workspace.js +7 -4
- package/lib/user-workspace.js.map +1 -1
- package/package.json +6 -5
|
@@ -7,17 +7,36 @@ export declare class QaRequestScheduler {
|
|
|
7
7
|
private readonly roots;
|
|
8
8
|
private readonly now;
|
|
9
9
|
private readonly familyBusy;
|
|
10
|
+
private readonly overrideLimit;
|
|
10
11
|
private readonly active;
|
|
11
12
|
private readonly waiting;
|
|
12
13
|
private readonly completed;
|
|
13
14
|
private readonly retiring;
|
|
14
15
|
private closed;
|
|
15
|
-
|
|
16
|
+
/**
|
|
17
|
+
* @param limit - the deployment's ceiling, the chain's last layer.
|
|
18
|
+
* @param roots - the root agents the queue gates.
|
|
19
|
+
* @param now - the clock, injectable for the wait estimate's tests.
|
|
20
|
+
* @param familyBusy - whether a root's descendants still answer.
|
|
21
|
+
* @param overrideLimit - the ceiling one specific turn fills against, when
|
|
22
|
+
* its role or account overrides the deployment's number. `undefined`
|
|
23
|
+
* defers to `limit`; this is read per admission, so a settings write is
|
|
24
|
+
* visible to the next turn without reloading the plugin.
|
|
25
|
+
*/
|
|
26
|
+
constructor(limit: () => number, roots: () => readonly Agent[], now?: () => number, familyBusy?: (agent: Agent) => boolean, overrideLimit?: (agent: Agent) => number | undefined);
|
|
27
|
+
/** The effective ceiling one arriving turn is measured against. */
|
|
28
|
+
private limitFor;
|
|
16
29
|
install(ctx: Context): () => void;
|
|
17
30
|
acquire(agent: Agent, signal: AbortSignal): Promise<void>;
|
|
18
31
|
release(agent: Agent, completed?: boolean): void;
|
|
19
32
|
private pump;
|
|
20
|
-
|
|
33
|
+
/**
|
|
34
|
+
* Report admission as one read sees it.
|
|
35
|
+
* @param sessionId - the chat whose FIFO position is asked, if any.
|
|
36
|
+
* @param ceiling - the effective ceiling of the principal this read is for,
|
|
37
|
+
* when the caller has resolved it; the deployment's number otherwise.
|
|
38
|
+
*/
|
|
39
|
+
status(sessionId?: string, ceiling?: number): QaQueueStatus;
|
|
21
40
|
private estimate;
|
|
22
41
|
dispose(): void;
|
|
23
42
|
}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import type { Context } from "@deepseek-ai/cordis";
|
|
2
|
+
import type { Agent } from "@deepseek-ai/dsh-agent";
|
|
2
3
|
import type { SessionId } from "@deepseek-ai/dsh-session/types";
|
|
3
4
|
import type { PluginLogger } from "@yadsh/dsh-plugin-log";
|
|
4
|
-
import { type QaSessionModelPolicy } from "./access/model-policy.js";
|
|
5
|
-
import type { QaModelPair } from "./types.js";
|
|
5
|
+
import { type ModelSelectionFacts, type QaSessionModelPolicy } from "./access/model-policy.js";
|
|
6
|
+
import type { QaModelPair, QaModelReplacement } from "./types.js";
|
|
7
|
+
/** Host selection is durable and can differ from immutable agent creation options. */
|
|
8
|
+
export declare function sessionModelSelection(ctx: Context, agent: Pick<Agent, "session" | "options">): ModelSelectionFacts;
|
|
6
9
|
/**
|
|
7
10
|
* Put one fresh session on the pair its model policy names.
|
|
8
11
|
*
|
|
@@ -21,4 +24,10 @@ import type { QaModelPair } from "./types.js";
|
|
|
21
24
|
* @returns the pair the session was put on, or `undefined` when none applied.
|
|
22
25
|
*/
|
|
23
26
|
export declare function applySessionModelPolicy(ctx: Context, sessionId: SessionId, policy: QaSessionModelPolicy, logger: PluginLogger): Promise<QaModelPair | undefined>;
|
|
27
|
+
/** Migrate an idle owned chat only along an explicit redirect to its exact policy. */
|
|
28
|
+
export declare function reconcileSessionModelPolicy(ctx: Context, sessionId: SessionId, policy: QaSessionModelPolicy, current: {
|
|
29
|
+
readonly status: string;
|
|
30
|
+
readonly options: ModelSelectionFacts;
|
|
31
|
+
readonly runMaintenance?: Agent["runMaintenance"];
|
|
32
|
+
}, replacements: readonly QaModelReplacement[], logger: PluginLogger): Promise<boolean>;
|
|
24
33
|
//# sourceMappingURL=session-model.d.ts.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** Operator-owned policy, shared by the Host resolver and settings controls. */
|
|
2
|
+
export interface QaFileWritePolicy {
|
|
3
|
+
readonly blockedExtensions: readonly string[];
|
|
4
|
+
readonly message: string;
|
|
5
|
+
}
|
|
6
|
+
export declare const QA_FILE_WRITE_EXTENSION_PATTERN: RegExp;
|
|
7
|
+
export declare const DEFAULT_QA_FILE_WRITE_POLICY: QaFileWritePolicy;
|
|
8
|
+
/** Normalize exact suffixes; wildcard and path rules are deliberately unsupported. */
|
|
9
|
+
export declare function resolveFileWritePolicy(input?: Partial<QaFileWritePolicy>): QaFileWritePolicy;
|
|
10
|
+
//# sourceMappingURL=file-write-policy.d.ts.map
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { QaHistoryFolderTarget } from "../types/accounts.js";
|
|
2
|
+
/** Bound both fields at the server boundary; identifiers are opaque UI keys. */
|
|
3
|
+
export declare function normalizeHistoryFolder(input: unknown): QaHistoryFolderTarget | null;
|
|
4
|
+
//# sourceMappingURL=history-folder.d.ts.map
|
|
@@ -128,12 +128,22 @@ export interface QaClaimResult {
|
|
|
128
128
|
* questions cannot read back conversations it was never given.
|
|
129
129
|
*/
|
|
130
130
|
export type QaServiceTokenScope = "ask" | "sessions:read";
|
|
131
|
+
/** Virtual UI destination, never a workspace or filesystem path. */
|
|
132
|
+
export interface QaHistoryFolderTarget {
|
|
133
|
+
readonly id: string;
|
|
134
|
+
readonly name: string;
|
|
135
|
+
}
|
|
136
|
+
export interface QaOwnedSessionsResult {
|
|
137
|
+
readonly ids: readonly string[];
|
|
138
|
+
readonly integrationFolders?: Readonly<Record<string, QaHistoryFolderTarget>>;
|
|
139
|
+
}
|
|
131
140
|
/**
|
|
132
141
|
* What an account asks a new integration token to be. The credential is always
|
|
133
142
|
* issued to the caller: nothing a browser sends may name another account, so
|
|
134
143
|
* this shape has no owner field and the administrative path keeps its own.
|
|
135
144
|
*/
|
|
136
145
|
export interface QaServiceTokenCreateInput {
|
|
146
|
+
readonly historyFolder?: QaHistoryFolderTarget | null;
|
|
137
147
|
/** A note the operator's list shows; empty becomes a generic label. */
|
|
138
148
|
readonly label?: string;
|
|
139
149
|
/** Requested scopes; unknown ones are dropped, explicit empty grants none. */
|
|
@@ -149,6 +159,7 @@ export interface QaServiceTokenCreateInput {
|
|
|
149
159
|
* that could repeat it would be a list that leaks it.
|
|
150
160
|
*/
|
|
151
161
|
export interface QaServiceTokenSummary {
|
|
162
|
+
readonly historyFolder?: QaHistoryFolderTarget | null;
|
|
152
163
|
readonly id: string;
|
|
153
164
|
readonly label: string;
|
|
154
165
|
readonly scopes: readonly QaServiceTokenScope[];
|
|
@@ -120,8 +120,7 @@ export interface QaSkillActivationRecord {
|
|
|
120
120
|
readonly reason?: string;
|
|
121
121
|
}
|
|
122
122
|
/**
|
|
123
|
-
* One provider and model pair
|
|
124
|
-
* interface. `provider` and `model` are named together or not at all, because
|
|
123
|
+
* One provider and model pair. `provider` and `model` are named together, because
|
|
125
124
|
* the Host refuses either of them alone.
|
|
126
125
|
*/
|
|
127
126
|
export interface QaModelPair {
|
|
@@ -129,6 +128,11 @@ export interface QaModelPair {
|
|
|
129
128
|
readonly model: string;
|
|
130
129
|
readonly reasoningEffort?: string;
|
|
131
130
|
}
|
|
131
|
+
/** Operator-defined replacement of one exact provider/model pair. */
|
|
132
|
+
export interface QaModelReplacement {
|
|
133
|
+
readonly from: QaModelPair;
|
|
134
|
+
readonly to: QaModelPair;
|
|
135
|
+
}
|
|
132
136
|
/** One agent capability profile. It never grants administrative access. */
|
|
133
137
|
export interface QaSubrole {
|
|
134
138
|
readonly id: string;
|
|
@@ -137,11 +141,19 @@ export interface QaSubrole {
|
|
|
137
141
|
readonly enabled: boolean;
|
|
138
142
|
readonly capabilities: QaCapabilitySelection;
|
|
139
143
|
/**
|
|
140
|
-
* The pair every chat of this role
|
|
141
|
-
*
|
|
144
|
+
* The default pair every new chat of this role opens on.
|
|
145
|
+
* Absent means the role keeps no opinion and the
|
|
142
146
|
* deployment's pair serves it.
|
|
143
147
|
*/
|
|
144
148
|
readonly model?: QaModelPair;
|
|
149
|
+
/** Additional user-selectable pairs. The default model stays available. */
|
|
150
|
+
readonly allowedModels?: readonly QaModelPair[];
|
|
151
|
+
/**
|
|
152
|
+
* How many of the stand's slots this role's turns may fill at once, ahead of
|
|
153
|
+
* the deployment's `session.maxActiveRequests`. 0 lifts the ceiling for this
|
|
154
|
+
* role's turns; absent keeps the deployment's number.
|
|
155
|
+
*/
|
|
156
|
+
readonly maxActiveRequests?: number;
|
|
145
157
|
readonly ui?: {
|
|
146
158
|
readonly icon?: string;
|
|
147
159
|
readonly accent?: string;
|
|
@@ -178,6 +190,21 @@ export interface QaUserAccess {
|
|
|
178
190
|
* deployment shares. Absent means the account keeps no opinion.
|
|
179
191
|
*/
|
|
180
192
|
readonly model?: QaModelPair;
|
|
193
|
+
/** Overrides the role's alternatives; [] permits only the default model. */
|
|
194
|
+
readonly allowedModels?: readonly QaModelPair[];
|
|
195
|
+
/**
|
|
196
|
+
* How many of the stand's slots this account's turns may fill at once,
|
|
197
|
+
* ahead of what its role says. 0 lifts the ceiling for this account's
|
|
198
|
+
* turns; absent keeps the role's or the deployment's number.
|
|
199
|
+
*/
|
|
200
|
+
readonly maxActiveRequests?: number;
|
|
201
|
+
}
|
|
202
|
+
/** Filtered model choices for one owned chat or the caller's next chat. */
|
|
203
|
+
export interface QaModelOptions {
|
|
204
|
+
readonly models: readonly QaModelCatalogEntry[];
|
|
205
|
+
readonly choices: readonly QaModelPair[];
|
|
206
|
+
readonly defaultModel?: QaModelPair;
|
|
207
|
+
readonly selected?: QaModelPair;
|
|
181
208
|
}
|
|
182
209
|
export type QaCapabilitySourceKind = "core" | "plugin" | "mcp" | "filesystem" | "runtime";
|
|
183
210
|
/** One capability currently installed, or retained as a missing selection. */
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** Browser-safe source selection state; filesystem access is configured separately. */
|
|
2
|
+
export interface QaChatCodeSources {
|
|
3
|
+
readonly selectedSource: string | null;
|
|
4
|
+
readonly effectiveSource: string | null;
|
|
5
|
+
readonly entries: readonly {
|
|
6
|
+
readonly id: string;
|
|
7
|
+
readonly label: string;
|
|
8
|
+
}[];
|
|
9
|
+
readonly writable: boolean;
|
|
10
|
+
readonly unavailable: boolean;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=code-sources.d.ts.map
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { QaAccountIdentityField } from "./accounts.js";
|
|
2
|
+
import type { QaModelReplacement } from "./capability.js";
|
|
3
|
+
import type { CodeSourcesConfig, CodeSourcesCatalog } from "@yadsh/dsh-plugin-kit/code-sources";
|
|
2
4
|
import type { QaApprovalInteraction, QaApprovalPolicy, QaQuestionInteraction, QaQuestionInteractionInput, QaSandboxMode, QaSessionPolicy, QaToolActivationMode, QaToolPolicyMode } from "./policy.js";
|
|
3
5
|
import type { QaSlashCommandsConfig, ResolvedQaSlashCommands } from "./slash.js";
|
|
4
6
|
export interface QaSourcesConfig {
|
|
@@ -94,6 +96,8 @@ export interface QaNotesConfig {
|
|
|
94
96
|
};
|
|
95
97
|
}
|
|
96
98
|
export interface QaSurfaceConfig {
|
|
99
|
+
/** Named code trees shared with Git; access is granted separately. */
|
|
100
|
+
readonly codeSources?: CodeSourcesConfig;
|
|
97
101
|
readonly forms?: Partial<import("../forms/types.js").QaFormPolicy>;
|
|
98
102
|
readonly enabled?: boolean;
|
|
99
103
|
readonly route?: {
|
|
@@ -120,6 +124,8 @@ export interface QaSurfaceConfig {
|
|
|
120
124
|
readonly provider?: string | null;
|
|
121
125
|
readonly model?: string | null;
|
|
122
126
|
readonly reasoningEffort?: string | null;
|
|
127
|
+
/** Exact central redirects applied after account/role/deployment precedence. */
|
|
128
|
+
readonly modelReplacements?: readonly QaModelReplacement[];
|
|
123
129
|
/**
|
|
124
130
|
* How many chat turns the deployment answers at once. A ceiling is what a
|
|
125
131
|
* locally hosted model needs: the card runs out long before the queue does,
|
|
@@ -161,6 +167,8 @@ export interface QaSurfaceConfig {
|
|
|
161
167
|
* model request until the activation skill has actually been loaded.
|
|
162
168
|
*/
|
|
163
169
|
readonly tools?: {
|
|
170
|
+
/** Deny native file writes by suffix; an empty list disables this policy. */
|
|
171
|
+
readonly fileWritePolicy?: Partial<import("../shared/file-write-policy.js").QaFileWritePolicy>;
|
|
164
172
|
/**
|
|
165
173
|
* `true` attaches the QA tools only after the activation skill loads;
|
|
166
174
|
* `false` attaches them to every managed agent at creation.
|
|
@@ -274,6 +282,11 @@ export interface QaSurfaceConfig {
|
|
|
274
282
|
readonly enabled?: boolean;
|
|
275
283
|
/** Directory below the personal root; relative, never escaping it. */
|
|
276
284
|
readonly relativeRoot?: string;
|
|
285
|
+
/** Copy only these deployment skills into shared storage once. */
|
|
286
|
+
readonly sharedSeed?: {
|
|
287
|
+
readonly root: string;
|
|
288
|
+
readonly names: readonly string[];
|
|
289
|
+
} | null;
|
|
277
290
|
/** Follow manual file edits and refresh the DSH catalog. */
|
|
278
291
|
readonly watch?: boolean;
|
|
279
292
|
readonly maxSkillBytes?: number;
|
|
@@ -347,6 +360,8 @@ export interface QaIntegrationConfig {
|
|
|
347
360
|
readonly maxRequestBytes?: number;
|
|
348
361
|
/** Ceiling on one inline image attachment, in bytes. */
|
|
349
362
|
readonly maxAttachmentBytes?: number;
|
|
363
|
+
/** Files per integration request; 0 inherits attachments.maxPending. */
|
|
364
|
+
readonly maxAttachments?: number;
|
|
350
365
|
/**
|
|
351
366
|
* Ceiling on the published answer, in characters. The caller posts it into a
|
|
352
367
|
* ticket comment, whose own budget is smaller than a model's answer, and a
|
|
@@ -375,6 +390,7 @@ export interface QaAttachmentsConfig {
|
|
|
375
390
|
readonly extensions?: readonly string[];
|
|
376
391
|
}
|
|
377
392
|
export interface ResolvedQaSurfaceConfig {
|
|
393
|
+
readonly codeSources: CodeSourcesCatalog;
|
|
378
394
|
readonly forms: Readonly<import("../forms/types.js").QaFormPolicy>;
|
|
379
395
|
readonly enabled: boolean;
|
|
380
396
|
readonly route: {
|
|
@@ -399,6 +415,7 @@ export interface ResolvedQaSurfaceConfig {
|
|
|
399
415
|
readonly provider: string | null;
|
|
400
416
|
readonly model: string | null;
|
|
401
417
|
readonly reasoningEffort: string | null;
|
|
418
|
+
readonly modelReplacements: readonly QaModelReplacement[];
|
|
402
419
|
readonly maxActiveRequests: number;
|
|
403
420
|
};
|
|
404
421
|
readonly ui: {
|
|
@@ -477,6 +494,10 @@ export interface ResolvedQaSurfaceConfig {
|
|
|
477
494
|
skills: {
|
|
478
495
|
readonly enabled: boolean;
|
|
479
496
|
readonly relativeRoot: string;
|
|
497
|
+
readonly sharedSeed: {
|
|
498
|
+
readonly root: string;
|
|
499
|
+
readonly names: readonly string[];
|
|
500
|
+
} | null;
|
|
480
501
|
readonly watch: boolean;
|
|
481
502
|
readonly maxSkillBytes: number;
|
|
482
503
|
readonly allowResourceEditing: boolean;
|
|
@@ -492,6 +513,7 @@ export interface ResolvedQaSurfaceConfig {
|
|
|
492
513
|
readonly allowOs: boolean;
|
|
493
514
|
};
|
|
494
515
|
readonly tools: {
|
|
516
|
+
readonly fileWritePolicy: import("../shared/file-write-policy.js").QaFileWritePolicy;
|
|
495
517
|
readonly dynamicActivation: boolean;
|
|
496
518
|
readonly activationSkill: string;
|
|
497
519
|
readonly activationMode: QaToolActivationMode;
|
|
@@ -597,6 +619,7 @@ export interface ResolvedQaSurfaceConfig {
|
|
|
597
619
|
readonly requestsPerMinute: number;
|
|
598
620
|
readonly maxRequestBytes: number;
|
|
599
621
|
readonly maxAttachmentBytes: number;
|
|
622
|
+
readonly maxAttachments: number;
|
|
600
623
|
readonly maxAnswerCharacters: number;
|
|
601
624
|
};
|
|
602
625
|
}
|
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
* this account's workspace in.
|
|
9
9
|
*/
|
|
10
10
|
export interface QaArtifactView {
|
|
11
|
+
/** Other outputs of the same spreadsheet edit in this turn, newest first. */
|
|
12
|
+
readonly earlierEdits?: readonly QaArtifactView[];
|
|
11
13
|
readonly workflow?: {
|
|
12
14
|
readonly id: string;
|
|
13
15
|
readonly revision: number;
|
package/lib/types/types.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export type * from "./types/config.js";
|
|
|
10
10
|
export type * from "./types/slash.js";
|
|
11
11
|
export type * from "./types/documents.js";
|
|
12
12
|
export type * from "./types/session.js";
|
|
13
|
+
export type * from "./types/code-sources.js";
|
|
13
14
|
export type * from "./types/answer-review.js";
|
|
14
15
|
export type * from "./types/quality.js";
|
|
15
16
|
export type * from "./types/admin.js";
|
package/lib/user-workspace.js
CHANGED
|
@@ -135,10 +135,13 @@ function directoryBytes(root, stopAfter) {
|
|
|
135
135
|
*/
|
|
136
136
|
export function qaUserWorkspaceDenial(execution, root, attachmentRoot, readPolicy = {}) {
|
|
137
137
|
const args = record(execution.arguments);
|
|
138
|
+
const pathDenial = `${PATH_DENIAL} Personal workspace: ${root}. ` +
|
|
139
|
+
`Shared read-only roots: ${(readPolicy.sharedReadOnlyRoots ?? []).join(", ") || "none"}. ` +
|
|
140
|
+
"Use an exact path under an allowed root; writes stay in the personal workspace. Attachment access requires the exact file supplied by this conversation.";
|
|
138
141
|
if (args?.sandbox_permissions !== undefined ||
|
|
139
142
|
(execution.name === "edit" &&
|
|
140
143
|
(args?.replace_all === true || args?.replaceAll === true))) {
|
|
141
|
-
return
|
|
144
|
+
return pathDenial;
|
|
142
145
|
}
|
|
143
146
|
if (execution.name === "bash" ||
|
|
144
147
|
execution.name === "shell" ||
|
|
@@ -147,7 +150,7 @@ export function qaUserWorkspaceDenial(execution, root, attachmentRoot, readPolic
|
|
|
147
150
|
execution.name === "run_code" ||
|
|
148
151
|
execution.name === "lsp" ||
|
|
149
152
|
execution.name === "apply_patch") {
|
|
150
|
-
return
|
|
153
|
+
return pathDenial;
|
|
151
154
|
}
|
|
152
155
|
const intent = qaFilesystemIntent(execution.name, args);
|
|
153
156
|
try {
|
|
@@ -173,7 +176,7 @@ export function qaUserWorkspaceDenial(execution, root, attachmentRoot, readPolic
|
|
|
173
176
|
statSync(canonical).isFile()) {
|
|
174
177
|
continue;
|
|
175
178
|
}
|
|
176
|
-
return
|
|
179
|
+
return pathDenial;
|
|
177
180
|
}
|
|
178
181
|
if (intent?.kind === "write") {
|
|
179
182
|
const requested = intent.bytes;
|
|
@@ -186,7 +189,7 @@ export function qaUserWorkspaceDenial(execution, root, attachmentRoot, readPolic
|
|
|
186
189
|
return undefined;
|
|
187
190
|
}
|
|
188
191
|
catch {
|
|
189
|
-
return
|
|
192
|
+
return pathDenial;
|
|
190
193
|
}
|
|
191
194
|
}
|
|
192
195
|
//# sourceMappingURL=user-workspace.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-workspace.js","sourceRoot":"","sources":["../src/user-workspace.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"user-workspace.js","sourceRoot":"","sources":["../src/user-workspace.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yadsh/dsh-qa-surface",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.21.0",
|
|
4
4
|
"description": "A focused end-user QA surface backed by native DeepSeek Harness sessions",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -137,11 +137,11 @@
|
|
|
137
137
|
"openid-client": "6.8.8",
|
|
138
138
|
"yaml": "^2.9.0",
|
|
139
139
|
"zod": "^4.4.3",
|
|
140
|
-
"@yadsh/dsh-audit-core": "^0.1.3",
|
|
141
|
-
"@yadsh/dsh-plugin-kit": "^0.7.0",
|
|
142
140
|
"@yadsh/dsh-audit-ui": "^0.1.4",
|
|
141
|
+
"@yadsh/dsh-documents": "^0.9.0",
|
|
142
|
+
"@yadsh/dsh-plugin-kit": "^0.8.0",
|
|
143
143
|
"@yadsh/dsh-plugin-log": "^0.4.3",
|
|
144
|
-
"@yadsh/dsh-
|
|
144
|
+
"@yadsh/dsh-audit-core": "^0.1.3"
|
|
145
145
|
},
|
|
146
146
|
"devDependencies": {
|
|
147
147
|
"@deepseek-ai/cordis": "4.0.5",
|
|
@@ -204,7 +204,8 @@
|
|
|
204
204
|
"test": "vitest run",
|
|
205
205
|
"test:coverage": "vitest run --coverage",
|
|
206
206
|
"verify:package": "node scripts/verify-package.mjs",
|
|
207
|
-
"verify": "pnpm run verify:package && pnpm run verify:consumer",
|
|
207
|
+
"verify": "pnpm run verify:package && pnpm run verify:consumer && pnpm run verify:shared-skills",
|
|
208
|
+
"verify:shared-skills": "node scripts/verify-shared-skills.mjs",
|
|
208
209
|
"verify:consumer": "tsc -p scripts/fixtures/tsconfig.json --noEmit",
|
|
209
210
|
"smoke:packed": "node scripts/smoke-packed-dsh.mjs",
|
|
210
211
|
"e2e:browser": "node scripts/smoke-packed-dsh.mjs --browser",
|