@yadsh/dsh-qa-surface 0.4.0 → 0.6.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 -14
- package/compatibility.json +10 -1
- package/cordis.patch.yml +17 -0
- package/lib/account-remotes.js +10 -0
- package/lib/account-remotes.js.map +1 -1
- package/lib/accounts/credentials.js +12 -4
- package/lib/accounts/credentials.js.map +1 -1
- package/lib/accounts/errors.js.map +1 -1
- package/lib/accounts/file.js.map +1 -1
- package/lib/accounts/store.js +38 -1
- package/lib/accounts/store.js.map +1 -1
- package/lib/approvals.js +179 -0
- package/lib/approvals.js.map +1 -0
- package/lib/cli.js +10 -0
- package/lib/cli.js.map +1 -1
- package/lib/client/QaAccountsController.js +29 -0
- package/lib/client/QaAccountsController.js.map +1 -1
- package/lib/client/QaSessionController.js +261 -48
- package/lib/client/QaSessionController.js.map +1 -1
- package/lib/client/QaSurface.js +138 -56
- package/lib/client/QaSurface.js.map +1 -1
- package/lib/client/QaSurfaceGuard.js +96 -0
- package/lib/client/QaSurfaceGuard.js.map +1 -0
- package/lib/client/QaTranscriptAdapter.js +11 -5
- package/lib/client/QaTranscriptAdapter.js.map +1 -1
- package/lib/client/approvals.js +104 -0
- package/lib/client/approvals.js.map +1 -0
- package/lib/client/attestation.js +3 -0
- package/lib/client/attestation.js.map +1 -1
- package/lib/client/components/QaApproval.js +23 -0
- package/lib/client/components/QaApproval.js.map +1 -0
- package/lib/client/components/QaChangelog.js +55 -0
- package/lib/client/components/QaChangelog.js.map +1 -1
- package/lib/client/components/QaComposer.js +1 -1
- package/lib/client/components/QaComposer.js.map +1 -1
- package/lib/client/components/QaHeader.js +2 -8
- package/lib/client/components/QaHeader.js.map +1 -1
- package/lib/client/components/QaMessage.js +20 -7
- package/lib/client/components/QaMessage.js.map +1 -1
- package/lib/client/components/QaModal.js +24 -6
- package/lib/client/components/QaModal.js.map +1 -1
- package/lib/client/components/QaQuestions.js +96 -0
- package/lib/client/components/QaQuestions.js.map +1 -0
- package/lib/client/components/QaSidebar.js +2 -6
- package/lib/client/components/QaSidebar.js.map +1 -1
- package/lib/client/components/QaSourcesPanel.js +6 -5
- package/lib/client/components/QaSourcesPanel.js.map +1 -1
- package/lib/client/components/QaWidthHandle.js +21 -1
- package/lib/client/components/QaWidthHandle.js.map +1 -1
- package/lib/client/components/surface-utils.js +2 -0
- package/lib/client/components/surface-utils.js.map +1 -1
- package/lib/client/index.js +81 -22
- package/lib/client/index.js.map +1 -1
- package/lib/client/panels/PanelHost.js +209 -0
- package/lib/client/panels/PanelHost.js.map +1 -0
- package/lib/client/panels/PanelLauncher.js +39 -0
- package/lib/client/panels/PanelLauncher.js.map +1 -0
- package/lib/client/panels/contract.js +2 -0
- package/lib/client/panels/contract.js.map +1 -0
- package/lib/client/panels/index.js +2 -0
- package/lib/client/panels/index.js.map +1 -0
- package/lib/client/panels/registry.js +171 -0
- package/lib/client/panels/registry.js.map +1 -0
- package/lib/client/project-session-state.js +8 -3
- package/lib/client/project-session-state.js.map +1 -1
- package/lib/client/questions.js +114 -0
- package/lib/client/questions.js.map +1 -0
- package/lib/client/settings/card.js +2 -2
- package/lib/client/settings/card.js.map +1 -1
- package/lib/client/settings/sections/accounts.js +3 -1
- package/lib/client/settings/sections/accounts.js.map +1 -1
- package/lib/client/settings/sections/documents.js +88 -0
- package/lib/client/settings/sections/documents.js.map +1 -0
- package/lib/client/settings/sections/interface.js +2 -0
- package/lib/client/settings/sections/interface.js.map +1 -1
- package/lib/client/settings/sections/sources.js +2 -0
- package/lib/client/settings/sections/sources.js.map +1 -1
- package/lib/client/settings/sections.js +1 -0
- package/lib/client/settings/sections.js.map +1 -1
- package/lib/client/settings-extensions/contract.js +2 -0
- package/lib/client/settings-extensions/contract.js.map +1 -0
- package/lib/client/settings-extensions/index.js +2 -0
- package/lib/client/settings-extensions/index.js.map +1 -0
- package/lib/client/settings-extensions/registry.js +63 -0
- package/lib/client/settings-extensions/registry.js.map +1 -0
- package/lib/client/settlement.js +51 -5
- package/lib/client/settlement.js.map +1 -1
- package/lib/client/source-preview.js +24 -0
- package/lib/client/source-preview.js.map +1 -0
- package/lib/client/styles.js +199 -32
- package/lib/client/styles.js.map +1 -1
- package/lib/client/subagent-codenames.js +109 -0
- package/lib/client/subagent-codenames.js.map +1 -0
- package/lib/client/types.js +3 -0
- package/lib/client/types.js.map +1 -1
- package/lib/client/user-settings/GeneralSettingsPage.js +13 -0
- package/lib/client/user-settings/GeneralSettingsPage.js.map +1 -0
- package/lib/client/user-settings/ProfileSettingsPage.js +59 -0
- package/lib/client/user-settings/ProfileSettingsPage.js.map +1 -0
- package/lib/client/user-settings/SkillCatalog.js +23 -0
- package/lib/client/user-settings/SkillCatalog.js.map +1 -0
- package/lib/client/user-settings/SkillEditor.js +89 -0
- package/lib/client/user-settings/SkillEditor.js.map +1 -0
- package/lib/client/user-settings/SkillToolPicker.js +58 -0
- package/lib/client/user-settings/SkillToolPicker.js.map +1 -0
- package/lib/client/user-settings/SkillsSettingsPage.js +171 -0
- package/lib/client/user-settings/SkillsSettingsPage.js.map +1 -0
- package/lib/client/user-settings/StartersSettingsPage.js +78 -0
- package/lib/client/user-settings/StartersSettingsPage.js.map +1 -0
- package/lib/client/user-settings/UserSettingsDialog.js +50 -0
- package/lib/client/user-settings/UserSettingsDialog.js.map +1 -0
- package/lib/client/user-settings/copy.js +84 -0
- package/lib/client/user-settings/copy.js.map +1 -0
- package/lib/client/user-settings/draft.js +127 -0
- package/lib/client/user-settings/draft.js.map +1 -0
- package/lib/client/user-settings/fields.js +24 -0
- package/lib/client/user-settings/fields.js.map +1 -0
- package/lib/client.js +6629 -1579
- package/lib/client.js.map +1 -1
- package/lib/config-resolvers/accounts.js +30 -0
- package/lib/config-resolvers/accounts.js.map +1 -1
- package/lib/config-resolvers/basics.js +4 -2
- package/lib/config-resolvers/basics.js.map +1 -1
- package/lib/config-resolvers/defaults.js +27 -0
- package/lib/config-resolvers/defaults.js.map +1 -1
- package/lib/config-resolvers/lockdown.js +11 -0
- package/lib/config-resolvers/lockdown.js.map +1 -1
- package/lib/config-resolvers/session.js +2 -2
- package/lib/config-resolvers/session.js.map +1 -1
- package/lib/config-resolvers/shared.js +9 -0
- package/lib/config-resolvers/shared.js.map +1 -1
- package/lib/config-resolvers/sources.js +2 -0
- package/lib/config-resolvers/sources.js.map +1 -1
- package/lib/config-resolvers/tools.js +37 -0
- package/lib/config-resolvers/tools.js.map +1 -0
- package/lib/config-resolvers/ui.js +2 -0
- package/lib/config-resolvers/ui.js.map +1 -1
- package/lib/config.js +299 -2
- package/lib/config.js.map +1 -1
- package/lib/documents/artifacts/ids.js +43 -0
- package/lib/documents/artifacts/ids.js.map +1 -0
- package/lib/documents/artifacts/manifest.js +66 -0
- package/lib/documents/artifacts/manifest.js.map +1 -0
- package/lib/documents/artifacts/store.js +169 -0
- package/lib/documents/artifacts/store.js.map +1 -0
- package/lib/documents/capabilities.js +93 -0
- package/lib/documents/capabilities.js.map +1 -0
- package/lib/documents/config.js +302 -0
- package/lib/documents/config.js.map +1 -0
- package/lib/documents/defaults.js +78 -0
- package/lib/documents/defaults.js.map +1 -0
- package/lib/documents/errors.js +101 -0
- package/lib/documents/errors.js.map +1 -0
- package/lib/documents/index.js +80 -0
- package/lib/documents/index.js.map +1 -0
- package/lib/documents/inspect/facts.js +161 -0
- package/lib/documents/inspect/facts.js.map +1 -0
- package/lib/documents/inspect/zip.js +108 -0
- package/lib/documents/inspect/zip.js.map +1 -0
- package/lib/documents/markdown/directives.js +135 -0
- package/lib/documents/markdown/directives.js.map +1 -0
- package/lib/documents/markdown/frontmatter.js +35 -0
- package/lib/documents/markdown/frontmatter.js.map +1 -0
- package/lib/documents/markdown/normalize.js +113 -0
- package/lib/documents/markdown/normalize.js.map +1 -0
- package/lib/documents/orchestrator/assets.js +243 -0
- package/lib/documents/orchestrator/assets.js.map +1 -0
- package/lib/documents/orchestrator/convert-document.js +186 -0
- package/lib/documents/orchestrator/convert-document.js.map +1 -0
- package/lib/documents/orchestrator/create-document.js +292 -0
- package/lib/documents/orchestrator/create-document.js.map +1 -0
- package/lib/documents/orchestrator/extract-document.js +162 -0
- package/lib/documents/orchestrator/extract-document.js.map +1 -0
- package/lib/documents/orchestrator/inspect-document.js +89 -0
- package/lib/documents/orchestrator/inspect-document.js.map +1 -0
- package/lib/documents/orchestrator/runtime-deps.js +59 -0
- package/lib/documents/orchestrator/runtime-deps.js.map +1 -0
- package/lib/documents/orchestrator/scope.js +132 -0
- package/lib/documents/orchestrator/scope.js.map +1 -0
- package/lib/documents/providers/docling.js +247 -0
- package/lib/documents/providers/docling.js.map +1 -0
- package/lib/documents/providers/libreoffice.js +130 -0
- package/lib/documents/providers/libreoffice.js.map +1 -0
- package/lib/documents/providers/markitdown.js +89 -0
- package/lib/documents/providers/markitdown.js.map +1 -0
- package/lib/documents/providers/pandoc.js +161 -0
- package/lib/documents/providers/pandoc.js.map +1 -0
- package/lib/documents/providers/process.js +164 -0
- package/lib/documents/providers/process.js.map +1 -0
- package/lib/documents/providers/registry.js +152 -0
- package/lib/documents/providers/registry.js.map +1 -0
- package/lib/documents/providers/shared.js +75 -0
- package/lib/documents/providers/shared.js.map +1 -0
- package/lib/documents/runtime.js +114 -0
- package/lib/documents/runtime.js.map +1 -0
- package/lib/documents/security/file-types.js +188 -0
- package/lib/documents/security/file-types.js.map +1 -0
- package/lib/documents/security/limits.js +78 -0
- package/lib/documents/security/limits.js.map +1 -0
- package/lib/documents/security/mime.js +43 -0
- package/lib/documents/security/mime.js.map +1 -0
- package/lib/documents/security/paths.js +133 -0
- package/lib/documents/security/paths.js.map +1 -0
- package/lib/documents/templates/registry.js +147 -0
- package/lib/documents/templates/registry.js.map +1 -0
- package/lib/documents/templates/resolver.js +59 -0
- package/lib/documents/templates/resolver.js.map +1 -0
- package/lib/documents/tools/convert.js +125 -0
- package/lib/documents/tools/convert.js.map +1 -0
- package/lib/documents/tools/create.js +187 -0
- package/lib/documents/tools/create.js.map +1 -0
- package/lib/documents/tools/index.js +41 -0
- package/lib/documents/tools/index.js.map +1 -0
- package/lib/documents/tools/inspect.js +135 -0
- package/lib/documents/tools/inspect.js.map +1 -0
- package/lib/documents/tools/shared.js +88 -0
- package/lib/documents/tools/shared.js.map +1 -0
- package/lib/documents/tools/to-markdown.js +125 -0
- package/lib/documents/tools/to-markdown.js.map +1 -0
- package/lib/documents/types.js +12 -0
- package/lib/documents/types.js.map +1 -0
- package/lib/index.js +299 -24
- package/lib/index.js.map +1 -1
- package/lib/integration-principals.js +22 -0
- package/lib/integration-principals.js.map +1 -0
- package/lib/lockdown-policy.js +15 -3
- package/lib/lockdown-policy.js.map +1 -1
- package/lib/personal-skills/errors.js +9 -0
- package/lib/personal-skills/errors.js.map +1 -0
- package/lib/personal-skills/host.js +80 -0
- package/lib/personal-skills/host.js.map +1 -0
- package/lib/personal-skills/index.js +10 -0
- package/lib/personal-skills/index.js.map +1 -0
- package/lib/personal-skills/paths.js +127 -0
- package/lib/personal-skills/paths.js.map +1 -0
- package/lib/personal-skills/provider.js +109 -0
- package/lib/personal-skills/provider.js.map +1 -0
- package/lib/personal-skills/remotes.js +40 -0
- package/lib/personal-skills/remotes.js.map +1 -0
- package/lib/personal-skills/service.js +686 -0
- package/lib/personal-skills/service.js.map +1 -0
- package/lib/personal-skills/skill-file.js +278 -0
- package/lib/personal-skills/skill-file.js.map +1 -0
- package/lib/personal-skills/skill-format.js +202 -0
- package/lib/personal-skills/skill-format.js.map +1 -0
- package/lib/personal-skills/watcher.js +96 -0
- package/lib/personal-skills/watcher.js.map +1 -0
- package/lib/profile.js +6 -4
- package/lib/profile.js.map +1 -1
- package/lib/prompt-notes.js +19 -0
- package/lib/prompt-notes.js.map +1 -1
- package/lib/provenance/file-preview.js +68 -21
- package/lib/provenance/file-preview.js.map +1 -1
- package/lib/provenance/host-store.js +69 -20
- package/lib/provenance/host-store.js.map +1 -1
- package/lib/provenance/index.js +1 -0
- package/lib/provenance/index.js.map +1 -1
- package/lib/provenance/normalize.js +3 -1
- package/lib/provenance/normalize.js.map +1 -1
- package/lib/provenance/reported.js +37 -12
- package/lib/provenance/reported.js.map +1 -1
- package/lib/provenance/snapshot-store.js +154 -0
- package/lib/provenance/snapshot-store.js.map +1 -0
- package/lib/qa-tools/activation-detector.js +53 -0
- package/lib/qa-tools/activation-detector.js.map +1 -0
- package/lib/qa-tools/activation-manager.js +111 -0
- package/lib/qa-tools/activation-manager.js.map +1 -0
- package/lib/qa-tools/catalog.js +108 -0
- package/lib/qa-tools/catalog.js.map +1 -0
- package/lib/qa-tools/durable-marker.js +115 -0
- package/lib/qa-tools/durable-marker.js.map +1 -0
- package/lib/qa-tools/index.js +83 -0
- package/lib/qa-tools/index.js.map +1 -0
- package/lib/qa-tools/lifecycle.js +64 -0
- package/lib/qa-tools/lifecycle.js.map +1 -0
- package/lib/qa-tools/types.js +2 -0
- package/lib/qa-tools/types.js.map +1 -0
- package/lib/questions.js +185 -0
- package/lib/questions.js.map +1 -0
- package/lib/resolve-config.js +5 -0
- package/lib/resolve-config.js.map +1 -1
- package/lib/secure-session.js +104 -20
- package/lib/secure-session.js.map +1 -1
- package/lib/session-ownership.js +55 -0
- package/lib/session-ownership.js.map +1 -0
- package/lib/starters.js +117 -0
- package/lib/starters.js.map +1 -0
- package/lib/typert.host.js +1162 -77
- package/lib/typert.remote-client.d.ts +27 -1
- package/lib/typert.remote-client.js +879 -14
- package/lib/types/account-remotes.d.ts +3 -1
- package/lib/types/accounts/credentials.d.ts +6 -0
- package/lib/types/accounts/errors.d.ts +1 -1
- package/lib/types/accounts/file.d.ts +10 -0
- package/lib/types/accounts/store.d.ts +15 -1
- package/lib/types/approvals.d.ts +65 -0
- package/lib/types/client/QaAccountsController.d.ts +7 -1
- package/lib/types/client/QaSessionController.d.ts +50 -1
- package/lib/types/client/QaSurface.d.ts +21 -4
- package/lib/types/client/QaSurfaceGuard.d.ts +27 -0
- package/lib/types/client/QaTranscriptAdapter.d.ts +7 -0
- package/lib/types/client/approvals.d.ts +39 -0
- package/lib/types/client/components/QaApproval.d.ts +13 -0
- package/lib/types/client/components/QaComposer.d.ts +3 -1
- package/lib/types/client/components/QaHeader.d.ts +3 -1
- package/lib/types/client/components/QaModal.d.ts +5 -4
- package/lib/types/client/components/QaQuestions.d.ts +13 -0
- package/lib/types/client/components/QaSidebar.d.ts +8 -11
- package/lib/types/client/components/QaWidthHandle.d.ts +13 -0
- package/lib/types/client/index.d.ts +1 -0
- package/lib/types/client/panels/PanelHost.d.ts +18 -0
- package/lib/types/client/panels/PanelLauncher.d.ts +5 -0
- package/lib/types/client/panels/contract.d.ts +83 -0
- package/lib/types/client/panels/index.d.ts +3 -0
- package/lib/types/client/panels/registry.d.ts +40 -0
- package/lib/types/client/project-session-state.d.ts +13 -1
- package/lib/types/client/questions.d.ts +45 -0
- package/lib/types/client/settings/sections/documents.d.ts +13 -0
- package/lib/types/client/settings/sections.d.ts +1 -0
- package/lib/types/client/settings-extensions/contract.d.ts +32 -0
- package/lib/types/client/settings-extensions/index.d.ts +3 -0
- package/lib/types/client/settings-extensions/registry.d.ts +15 -0
- package/lib/types/client/settlement.d.ts +41 -5
- package/lib/types/client/source-preview.d.ts +8 -0
- package/lib/types/client/styles.d.ts +2 -0
- package/lib/types/client/subagent-codenames.d.ts +18 -0
- package/lib/types/client/types.d.ts +82 -3
- package/lib/types/client/user-settings/GeneralSettingsPage.d.ts +14 -0
- package/lib/types/client/user-settings/ProfileSettingsPage.d.ts +18 -0
- package/lib/types/client/user-settings/SkillCatalog.d.ts +16 -0
- package/lib/types/client/user-settings/SkillEditor.d.ts +42 -0
- package/lib/types/client/user-settings/SkillToolPicker.d.ts +17 -0
- package/lib/types/client/user-settings/SkillsSettingsPage.d.ts +15 -0
- package/lib/types/client/user-settings/StartersSettingsPage.d.ts +14 -0
- package/lib/types/client/user-settings/UserSettingsDialog.d.ts +43 -0
- package/lib/types/client/user-settings/copy.d.ts +25 -0
- package/lib/types/client/user-settings/draft.d.ts +51 -0
- package/lib/types/client/user-settings/fields.d.ts +43 -0
- package/lib/types/config-resolvers/shared.d.ts +7 -0
- package/lib/types/config-resolvers/tools.d.ts +6 -0
- package/lib/types/documents/artifacts/ids.d.ts +14 -0
- package/lib/types/documents/artifacts/manifest.d.ts +32 -0
- package/lib/types/documents/artifacts/store.d.ts +67 -0
- package/lib/types/documents/capabilities.d.ts +32 -0
- package/lib/types/documents/config.d.ts +27 -0
- package/lib/types/documents/defaults.d.ts +161 -0
- package/lib/types/documents/errors.d.ts +42 -0
- package/lib/types/documents/index.d.ts +63 -0
- package/lib/types/documents/inspect/facts.d.ts +43 -0
- package/lib/types/documents/inspect/zip.d.ts +28 -0
- package/lib/types/documents/markdown/directives.d.ts +39 -0
- package/lib/types/documents/markdown/frontmatter.d.ts +15 -0
- package/lib/types/documents/markdown/normalize.d.ts +30 -0
- package/lib/types/documents/orchestrator/assets.d.ts +55 -0
- package/lib/types/documents/orchestrator/convert-document.d.ts +25 -0
- package/lib/types/documents/orchestrator/create-document.d.ts +18 -0
- package/lib/types/documents/orchestrator/extract-document.d.ts +24 -0
- package/lib/types/documents/orchestrator/inspect-document.d.ts +12 -0
- package/lib/types/documents/orchestrator/runtime-deps.d.ts +43 -0
- package/lib/types/documents/orchestrator/scope.d.ts +52 -0
- package/lib/types/documents/providers/docling.d.ts +54 -0
- package/lib/types/documents/providers/libreoffice.d.ts +40 -0
- package/lib/types/documents/providers/markitdown.d.ts +28 -0
- package/lib/types/documents/providers/pandoc.d.ts +42 -0
- package/lib/types/documents/providers/process.d.ts +54 -0
- package/lib/types/documents/providers/registry.d.ts +68 -0
- package/lib/types/documents/providers/shared.d.ts +27 -0
- package/lib/types/documents/runtime.d.ts +59 -0
- package/lib/types/documents/security/file-types.d.ts +39 -0
- package/lib/types/documents/security/limits.d.ts +24 -0
- package/lib/types/documents/security/mime.d.ts +13 -0
- package/lib/types/documents/security/paths.d.ts +38 -0
- package/lib/types/documents/templates/registry.d.ts +50 -0
- package/lib/types/documents/templates/resolver.d.ts +30 -0
- package/lib/types/documents/tools/convert.d.ts +9 -0
- package/lib/types/documents/tools/create.d.ts +14 -0
- package/lib/types/documents/tools/index.d.ts +33 -0
- package/lib/types/documents/tools/inspect.d.ts +9 -0
- package/lib/types/documents/tools/shared.d.ts +77 -0
- package/lib/types/documents/tools/to-markdown.d.ts +12 -0
- package/lib/types/documents/types.d.ts +294 -0
- package/lib/types/index.d.ts +103 -5
- package/lib/types/integration-principals.d.ts +9 -0
- package/lib/types/lockdown-policy.d.ts +12 -2
- package/lib/types/personal-skills/errors.d.ts +11 -0
- package/lib/types/personal-skills/host.d.ts +42 -0
- package/lib/types/personal-skills/index.d.ts +10 -0
- package/lib/types/personal-skills/paths.d.ts +39 -0
- package/lib/types/personal-skills/provider.d.ts +33 -0
- package/lib/types/personal-skills/remotes.d.ts +35 -0
- package/lib/types/personal-skills/service.d.ts +131 -0
- package/lib/types/personal-skills/skill-file.d.ts +64 -0
- package/lib/types/personal-skills/skill-format.d.ts +100 -0
- package/lib/types/personal-skills/watcher.d.ts +39 -0
- package/lib/types/profile.d.ts +13 -0
- package/lib/types/prompt-notes.d.ts +9 -0
- package/lib/types/provenance/file-preview.d.ts +47 -4
- package/lib/types/provenance/host-store.d.ts +7 -1
- package/lib/types/provenance/index.d.ts +1 -0
- package/lib/types/provenance/reported.d.ts +9 -1
- package/lib/types/provenance/snapshot-store.d.ts +23 -0
- package/lib/types/qa-tools/activation-detector.d.ts +29 -0
- package/lib/types/qa-tools/activation-manager.d.ts +47 -0
- package/lib/types/qa-tools/catalog.d.ts +40 -0
- package/lib/types/qa-tools/durable-marker.d.ts +16 -0
- package/lib/types/qa-tools/index.d.ts +40 -0
- package/lib/types/qa-tools/lifecycle.d.ts +44 -0
- package/lib/types/qa-tools/types.d.ts +45 -0
- package/lib/types/questions.d.ts +83 -0
- package/lib/types/secure-session.d.ts +45 -4
- package/lib/types/session-ownership.d.ts +30 -0
- package/lib/types/starters.d.ts +45 -0
- package/lib/types/types.d.ts +282 -7
- package/lib/types/user-workspace.d.ts +5 -1
- package/lib/user-workspace.js +21 -6
- package/lib/user-workspace.js.map +1 -1
- package/package.json +22 -9
- package/scripts/repair-session-events.mjs +260 -0
- package/lib/client/components/QaProfile.js +0 -64
- package/lib/client/components/QaProfile.js.map +0 -1
- package/lib/types/client/components/QaProfile.d.ts +0 -25
package/lib/index.js
CHANGED
|
@@ -39,14 +39,23 @@ import { WorkspaceId } from "@deepseek-ai/dsh-workspace";
|
|
|
39
39
|
import { createHostLoggerSink, getPluginLogger, } from "@yadsh/dsh-plugin-log";
|
|
40
40
|
import { ConfigSchema, resolveConfig } from "./config.js";
|
|
41
41
|
import { createQaAccountRemotes } from "./account-remotes.js";
|
|
42
|
+
import { createQaPersonalSkillRemotes, QaPersonalSkillsHost, } from "./personal-skills/index.js";
|
|
43
|
+
import { QaApprovalGate } from "./approvals.js";
|
|
42
44
|
import { QaAttestationError } from "./attestation.js";
|
|
45
|
+
import { applyDocumentsEnvOverrides } from "./documents/config.js";
|
|
46
|
+
import { installDocumentSubsystem, } from "./documents/index.js";
|
|
47
|
+
import { QaQuestionGate } from "./questions.js";
|
|
48
|
+
import { QaSessionOwnership } from "./session-ownership.js";
|
|
43
49
|
import { entryRedirectRow } from "./entry-redirect.js";
|
|
44
50
|
import { registerQaNavigationRoute } from "./host-route.js";
|
|
45
51
|
import { makeLaunchTokenSource } from "./launch-token.js";
|
|
52
|
+
import { QaIntegrationPrincipalBindings } from "./integration-principals.js";
|
|
46
53
|
import { QaPolicyAdmission } from "./secure-session.js";
|
|
47
54
|
import { QaPromptNotes } from "./prompt-notes.js";
|
|
55
|
+
import { QaTools } from "./qa-tools/index.js";
|
|
48
56
|
import { QaProvenanceHost } from "./provenance/host-store.js";
|
|
49
|
-
import {
|
|
57
|
+
import { FileQaProvenanceSnapshotStore } from "./provenance/snapshot-store.js";
|
|
58
|
+
import { readSourceFilePreview, QaSourcePreviewError, } from "./provenance/file-preview.js";
|
|
50
59
|
import { existingQaUserWorkspace, prepareQaUserWorkspace, } from "./user-workspace.js";
|
|
51
60
|
export const name = "qa-surface";
|
|
52
61
|
export const inject = [
|
|
@@ -68,6 +77,10 @@ export const Config = ConfigSchema;
|
|
|
68
77
|
const CONFIGURATION_ERROR = "Assistant configuration is unavailable.";
|
|
69
78
|
/** The `(reason: <code>)` marker contract shared with the attestation path. */
|
|
70
79
|
const ACCOUNTS_REASON_MARKER = /\(reason: ([a-z-]+)\)/u;
|
|
80
|
+
/** Fold a preview refusal into the shared reason marker. */
|
|
81
|
+
function sourcePreviewRefusal(reason) {
|
|
82
|
+
return new Error(`QA source preview refused the request (reason: ${reason})`);
|
|
83
|
+
}
|
|
71
84
|
/** Host companion: validates config, owns the admission boundary and the route. */
|
|
72
85
|
let QaSurface = (() => {
|
|
73
86
|
let _classSuper = TypertRemoteService;
|
|
@@ -79,11 +92,24 @@ let QaSurface = (() => {
|
|
|
79
92
|
let _accountsOwnedSessions_decorators;
|
|
80
93
|
let _accountsListOwnership_decorators;
|
|
81
94
|
let _accountsUpdateProfile_decorators;
|
|
95
|
+
let _accountsUpdateStarters_decorators;
|
|
82
96
|
let _describe_decorators;
|
|
83
97
|
let _createSession_decorators;
|
|
84
98
|
let _secureSession_decorators;
|
|
85
99
|
let _sources_decorators;
|
|
100
|
+
let _pendingApprovals_decorators;
|
|
101
|
+
let _answerApproval_decorators;
|
|
102
|
+
let _pendingQuestions_decorators;
|
|
103
|
+
let _answerQuestion_decorators;
|
|
104
|
+
let _cancelQuestion_decorators;
|
|
86
105
|
let _readSourceFile_decorators;
|
|
106
|
+
let _skillsList_decorators;
|
|
107
|
+
let _skillsGet_decorators;
|
|
108
|
+
let _skillsCreate_decorators;
|
|
109
|
+
let _skillsUpdate_decorators;
|
|
110
|
+
let _skillsRemove_decorators;
|
|
111
|
+
let _skillsValidate_decorators;
|
|
112
|
+
let _skillsTools_decorators;
|
|
87
113
|
return class QaSurface extends _classSuper {
|
|
88
114
|
static {
|
|
89
115
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
@@ -94,11 +120,24 @@ let QaSurface = (() => {
|
|
|
94
120
|
_accountsOwnedSessions_decorators = [Remote("accountsOwnedSessions")];
|
|
95
121
|
_accountsListOwnership_decorators = [Remote("accountsListOwnership")];
|
|
96
122
|
_accountsUpdateProfile_decorators = [Remote("accountsUpdateProfile")];
|
|
123
|
+
_accountsUpdateStarters_decorators = [Remote("accountsUpdateStarters")];
|
|
97
124
|
_describe_decorators = [Remote("describe")];
|
|
98
125
|
_createSession_decorators = [Remote("createSession")];
|
|
99
126
|
_secureSession_decorators = [Remote("secureSession")];
|
|
100
127
|
_sources_decorators = [Remote("sources")];
|
|
128
|
+
_pendingApprovals_decorators = [Remote("pendingApprovals")];
|
|
129
|
+
_answerApproval_decorators = [Remote("answerApproval")];
|
|
130
|
+
_pendingQuestions_decorators = [Remote("pendingQuestions")];
|
|
131
|
+
_answerQuestion_decorators = [Remote("answerQuestion")];
|
|
132
|
+
_cancelQuestion_decorators = [Remote("cancelQuestion")];
|
|
101
133
|
_readSourceFile_decorators = [Remote("readSourceFile")];
|
|
134
|
+
_skillsList_decorators = [Remote("skillsList")];
|
|
135
|
+
_skillsGet_decorators = [Remote("skillsGet")];
|
|
136
|
+
_skillsCreate_decorators = [Remote("skillsCreate")];
|
|
137
|
+
_skillsUpdate_decorators = [Remote("skillsUpdate")];
|
|
138
|
+
_skillsRemove_decorators = [Remote("skillsRemove")];
|
|
139
|
+
_skillsValidate_decorators = [Remote("skillsValidate")];
|
|
140
|
+
_skillsTools_decorators = [Remote("skillsTools")];
|
|
102
141
|
__esDecorate(this, null, _accountsRegister_decorators, { kind: "method", name: "accountsRegister", static: false, private: false, access: { has: obj => "accountsRegister" in obj, get: obj => obj.accountsRegister }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
103
142
|
__esDecorate(this, null, _accountsLogin_decorators, { kind: "method", name: "accountsLogin", static: false, private: false, access: { has: obj => "accountsLogin" in obj, get: obj => obj.accountsLogin }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
104
143
|
__esDecorate(this, null, _accountsWhoami_decorators, { kind: "method", name: "accountsWhoami", static: false, private: false, access: { has: obj => "accountsWhoami" in obj, get: obj => obj.accountsWhoami }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
@@ -106,11 +145,24 @@ let QaSurface = (() => {
|
|
|
106
145
|
__esDecorate(this, null, _accountsOwnedSessions_decorators, { kind: "method", name: "accountsOwnedSessions", static: false, private: false, access: { has: obj => "accountsOwnedSessions" in obj, get: obj => obj.accountsOwnedSessions }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
107
146
|
__esDecorate(this, null, _accountsListOwnership_decorators, { kind: "method", name: "accountsListOwnership", static: false, private: false, access: { has: obj => "accountsListOwnership" in obj, get: obj => obj.accountsListOwnership }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
108
147
|
__esDecorate(this, null, _accountsUpdateProfile_decorators, { kind: "method", name: "accountsUpdateProfile", static: false, private: false, access: { has: obj => "accountsUpdateProfile" in obj, get: obj => obj.accountsUpdateProfile }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
148
|
+
__esDecorate(this, null, _accountsUpdateStarters_decorators, { kind: "method", name: "accountsUpdateStarters", static: false, private: false, access: { has: obj => "accountsUpdateStarters" in obj, get: obj => obj.accountsUpdateStarters }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
109
149
|
__esDecorate(this, null, _describe_decorators, { kind: "method", name: "describe", static: false, private: false, access: { has: obj => "describe" in obj, get: obj => obj.describe }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
110
150
|
__esDecorate(this, null, _createSession_decorators, { kind: "method", name: "createSession", static: false, private: false, access: { has: obj => "createSession" in obj, get: obj => obj.createSession }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
111
151
|
__esDecorate(this, null, _secureSession_decorators, { kind: "method", name: "secureSession", static: false, private: false, access: { has: obj => "secureSession" in obj, get: obj => obj.secureSession }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
112
152
|
__esDecorate(this, null, _sources_decorators, { kind: "method", name: "sources", static: false, private: false, access: { has: obj => "sources" in obj, get: obj => obj.sources }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
153
|
+
__esDecorate(this, null, _pendingApprovals_decorators, { kind: "method", name: "pendingApprovals", static: false, private: false, access: { has: obj => "pendingApprovals" in obj, get: obj => obj.pendingApprovals }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
154
|
+
__esDecorate(this, null, _answerApproval_decorators, { kind: "method", name: "answerApproval", static: false, private: false, access: { has: obj => "answerApproval" in obj, get: obj => obj.answerApproval }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
155
|
+
__esDecorate(this, null, _pendingQuestions_decorators, { kind: "method", name: "pendingQuestions", static: false, private: false, access: { has: obj => "pendingQuestions" in obj, get: obj => obj.pendingQuestions }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
156
|
+
__esDecorate(this, null, _answerQuestion_decorators, { kind: "method", name: "answerQuestion", static: false, private: false, access: { has: obj => "answerQuestion" in obj, get: obj => obj.answerQuestion }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
157
|
+
__esDecorate(this, null, _cancelQuestion_decorators, { kind: "method", name: "cancelQuestion", static: false, private: false, access: { has: obj => "cancelQuestion" in obj, get: obj => obj.cancelQuestion }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
113
158
|
__esDecorate(this, null, _readSourceFile_decorators, { kind: "method", name: "readSourceFile", static: false, private: false, access: { has: obj => "readSourceFile" in obj, get: obj => obj.readSourceFile }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
159
|
+
__esDecorate(this, null, _skillsList_decorators, { kind: "method", name: "skillsList", static: false, private: false, access: { has: obj => "skillsList" in obj, get: obj => obj.skillsList }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
160
|
+
__esDecorate(this, null, _skillsGet_decorators, { kind: "method", name: "skillsGet", static: false, private: false, access: { has: obj => "skillsGet" in obj, get: obj => obj.skillsGet }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
161
|
+
__esDecorate(this, null, _skillsCreate_decorators, { kind: "method", name: "skillsCreate", static: false, private: false, access: { has: obj => "skillsCreate" in obj, get: obj => obj.skillsCreate }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
162
|
+
__esDecorate(this, null, _skillsUpdate_decorators, { kind: "method", name: "skillsUpdate", static: false, private: false, access: { has: obj => "skillsUpdate" in obj, get: obj => obj.skillsUpdate }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
163
|
+
__esDecorate(this, null, _skillsRemove_decorators, { kind: "method", name: "skillsRemove", static: false, private: false, access: { has: obj => "skillsRemove" in obj, get: obj => obj.skillsRemove }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
164
|
+
__esDecorate(this, null, _skillsValidate_decorators, { kind: "method", name: "skillsValidate", static: false, private: false, access: { has: obj => "skillsValidate" in obj, get: obj => obj.skillsValidate }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
165
|
+
__esDecorate(this, null, _skillsTools_decorators, { kind: "method", name: "skillsTools", static: false, private: false, access: { has: obj => "skillsTools" in obj, get: obj => obj.skillsTools }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
114
166
|
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
115
167
|
}
|
|
116
168
|
static inject = inject;
|
|
@@ -118,14 +170,31 @@ let QaSurface = (() => {
|
|
|
118
170
|
source = __runInitializers(this, _instanceExtraInitializers);
|
|
119
171
|
logger;
|
|
120
172
|
admission;
|
|
173
|
+
approvals;
|
|
174
|
+
userQuestions;
|
|
121
175
|
provenance;
|
|
122
176
|
notes;
|
|
177
|
+
/** Assigned after the admission gate; that gate only reads it per execution. */
|
|
178
|
+
tools;
|
|
123
179
|
/** Account-remote bodies; the wire signatures stay on this class. */
|
|
124
180
|
accountRemotes;
|
|
181
|
+
/** Personal skills: storage, the DSH provider and the manual-edit watcher. */
|
|
182
|
+
personalSkills;
|
|
183
|
+
/** Personal-skill remote bodies; the wire signatures stay on this class. */
|
|
184
|
+
skillRemotes;
|
|
125
185
|
launchToken;
|
|
186
|
+
/** Root session principals attested for their owner, never for admin viewing. */
|
|
187
|
+
integrationPrincipals = new QaIntegrationPrincipalBindings();
|
|
126
188
|
webServer;
|
|
127
189
|
disposeRoute;
|
|
128
190
|
routeKey;
|
|
191
|
+
/**
|
|
192
|
+
* The document subsystem: its own runtime and the four tool registrations.
|
|
193
|
+
* Rebuilt when the document configuration changes and torn down while the
|
|
194
|
+
* subsystem or the whole surface is disabled.
|
|
195
|
+
*/
|
|
196
|
+
documents;
|
|
197
|
+
documentsKey;
|
|
129
198
|
constructor(ctx, entry = {}) {
|
|
130
199
|
super(ctx, "qaSurface", { namespace: "qaSurface" });
|
|
131
200
|
const resolvedEntry = resolveConfig(entry);
|
|
@@ -138,6 +207,17 @@ let QaSurface = (() => {
|
|
|
138
207
|
getConfig: () => this.getConfig(),
|
|
139
208
|
logger: this.logger,
|
|
140
209
|
});
|
|
210
|
+
this.personalSkills = new QaPersonalSkillsHost({
|
|
211
|
+
ctx,
|
|
212
|
+
getConfig: () => this.getConfig(),
|
|
213
|
+
logger: this.logger,
|
|
214
|
+
});
|
|
215
|
+
this.skillRemotes = createQaPersonalSkillRemotes({
|
|
216
|
+
getConfig: () => this.getConfig(),
|
|
217
|
+
logger: this.logger,
|
|
218
|
+
skills: this.personalSkills.service,
|
|
219
|
+
accounts: this.accountRemotes,
|
|
220
|
+
});
|
|
141
221
|
this.admission = new QaPolicyAdmission(ctx, () => this.getConfig(), this.logger,
|
|
142
222
|
// Identity half of admission; no-ops while accounts stay disabled.
|
|
143
223
|
{
|
|
@@ -147,8 +227,22 @@ let QaSurface = (() => {
|
|
|
147
227
|
?.ensureSessionAccess(token, sessionId);
|
|
148
228
|
},
|
|
149
229
|
userWorkspace: (userId, registeredWorkspacePath) => existingQaUserWorkspace(registeredWorkspacePath, userId),
|
|
150
|
-
}
|
|
151
|
-
|
|
230
|
+
},
|
|
231
|
+
// Dynamically attached QA tools are not operator-configured allow-list
|
|
232
|
+
// entries, so the execution guard reads them per call instead.
|
|
233
|
+
(agent) => this.tools?.activeToolNames(agent) ?? []);
|
|
234
|
+
this.provenance = new QaProvenanceHost(ctx, () => this.getConfig(), new FileQaProvenanceSnapshotStore(), (error) => this.logger.error("sources.persistence-failed", {
|
|
235
|
+
message: error instanceof Error ? error.message : String(error),
|
|
236
|
+
}));
|
|
237
|
+
// The one place a composed gate's `ask` becomes a decision for an attested
|
|
238
|
+
// chat: refused outright while approvals are blocked, parked for the
|
|
239
|
+
// operator's answer while they are interactive. The question seam shares
|
|
240
|
+
// the ownership map: one chat, one surface answering it.
|
|
241
|
+
const ownership = new QaSessionOwnership((sessionId) => this.admission.knowsSession(sessionId));
|
|
242
|
+
this.approvals = new QaApprovalGate(ctx, () => this.getConfig().interaction.approvals === "interactive", ownership, this.logger);
|
|
243
|
+
this.userQuestions = new QaQuestionGate(ctx, () => this.getConfig().interaction.questions === "interactive", ownership, this.logger);
|
|
244
|
+
this.approvals.install();
|
|
245
|
+
this.userQuestions.install();
|
|
152
246
|
// The identity note and the provenance rule ride the conversation as
|
|
153
247
|
// durable context messages, delegated experts included: the QA preset's
|
|
154
248
|
// complete persona closes the system prompt to plugins, the conversation
|
|
@@ -164,10 +258,32 @@ let QaSurface = (() => {
|
|
|
164
258
|
// suffices. Resolved lazily and once per process; unavailable bridges
|
|
165
259
|
// warn once and leave the old marker hand-off in place.
|
|
166
260
|
this.launchToken = makeLaunchTokenSource(() => ctx.get("connection"), (message) => this.logger.warn("entry.token-bridge", { message }));
|
|
261
|
+
ctx.effect(() => () => this.integrationPrincipals.clear(), "dsh-qa-surface.integration-principals");
|
|
167
262
|
ctx.effect(() => async () => this.logger.close(), "dsh-qa-surface.logger");
|
|
168
263
|
ctx.effect(() => () => this.admission.dispose(), "dsh-qa-surface.lockdown-policies");
|
|
264
|
+
ctx.effect(() => () => this.approvals.dispose(), "dsh-qa-surface.approvals");
|
|
265
|
+
ctx.effect(() => () => this.userQuestions.dispose(), "dsh-qa-surface.user-questions");
|
|
169
266
|
ctx.effect(() => () => this.provenance.dispose(), "dsh-qa-surface.provenance");
|
|
170
267
|
ctx.effect(() => () => this.notes.dispose(), "dsh-qa-surface.prompt-notes");
|
|
268
|
+
ctx.effect(() => () => this.personalSkills.dispose(), "dsh-qa-surface.personal-skills");
|
|
269
|
+
ctx.effect(() => () => {
|
|
270
|
+
this.documents?.dispose();
|
|
271
|
+
this.documents = undefined;
|
|
272
|
+
this.documentsKey = undefined;
|
|
273
|
+
}, "dsh-qa-surface.documents");
|
|
274
|
+
// Registered here rather than from the settings callback alone, so a
|
|
275
|
+
// deployment that never opens the settings page still gets the tools.
|
|
276
|
+
this.refreshDocuments();
|
|
277
|
+
// The QA tool catalog is attached per agent, never at boot: nothing here
|
|
278
|
+
// reaches the model until a managed agent loads the activation skill.
|
|
279
|
+
this.tools = new QaTools(ctx, {
|
|
280
|
+
logger: this.logger,
|
|
281
|
+
dynamicActivation: this.getConfig().tools.dynamicActivation,
|
|
282
|
+
activationSkill: this.getConfig().tools.activationSkill,
|
|
283
|
+
activationMode: this.getConfig().tools.activationMode,
|
|
284
|
+
activationPresets: this.getConfig().tools.activationPresets,
|
|
285
|
+
});
|
|
286
|
+
ctx.effect(() => () => this.tools.dispose(), "dsh-qa-surface.qa-tools");
|
|
171
287
|
// The root index gains one head script: non-loopback hostnames continue
|
|
172
288
|
// into /qa, the loopback operator keeps the full harness UI.
|
|
173
289
|
ctx.on("webserver/index-inject", (table) => {
|
|
@@ -183,10 +299,12 @@ let QaSurface = (() => {
|
|
|
183
299
|
onChange: () => {
|
|
184
300
|
const config = this.getConfig();
|
|
185
301
|
this.refreshRoute();
|
|
302
|
+
this.refreshDocuments();
|
|
186
303
|
this.logger.info("config.updated", {
|
|
187
304
|
enabled: config.enabled,
|
|
188
305
|
route: config.route.path,
|
|
189
306
|
sessionPolicy: config.session.policy,
|
|
307
|
+
documents: config.documents.enabled,
|
|
190
308
|
});
|
|
191
309
|
},
|
|
192
310
|
validate: (value) => {
|
|
@@ -210,6 +328,29 @@ let QaSurface = (() => {
|
|
|
210
328
|
sessionPolicy: resolvedEntry.session.policy,
|
|
211
329
|
});
|
|
212
330
|
}
|
|
331
|
+
/** Resolve browser authentication to the caller only; never accepts an id. */
|
|
332
|
+
principalForToken(token) {
|
|
333
|
+
const accounts = this.accountRemotes.resolve(this.getConfig());
|
|
334
|
+
if (accounts === undefined)
|
|
335
|
+
return undefined;
|
|
336
|
+
const result = accounts.whoami(token);
|
|
337
|
+
return result.authenticated ? { userId: result.user.id } : undefined;
|
|
338
|
+
}
|
|
339
|
+
/** Resolve only a directly QA-owned root session; delegated children fail closed. */
|
|
340
|
+
principalForSession(sessionId) {
|
|
341
|
+
const accounts = this.accountRemotes.resolve(this.getConfig());
|
|
342
|
+
if (accounts === undefined)
|
|
343
|
+
return undefined;
|
|
344
|
+
const userId = accounts.ownerIdOf(sessionId);
|
|
345
|
+
if (userId === undefined || accounts.identityOf(userId) === undefined) {
|
|
346
|
+
return undefined;
|
|
347
|
+
}
|
|
348
|
+
return this.integrationPrincipals.resolve(sessionId, userId);
|
|
349
|
+
}
|
|
350
|
+
/** Admit tools that independently enforce the same QA principal boundary. */
|
|
351
|
+
registerPrincipalScopedTools(names) {
|
|
352
|
+
return this.admission.registerPrincipalScopedTools(names);
|
|
353
|
+
}
|
|
213
354
|
getConfig() {
|
|
214
355
|
return resolveConfig(this.source());
|
|
215
356
|
}
|
|
@@ -253,6 +394,14 @@ let QaSurface = (() => {
|
|
|
253
394
|
accountsUpdateProfile(token, input) {
|
|
254
395
|
return this.accountRemotes.updateProfile(token, input);
|
|
255
396
|
}
|
|
397
|
+
/**
|
|
398
|
+
* Replace the caller's own starter buttons. Same self-service contract as
|
|
399
|
+
* the profile write: the token names the only editable account, and the
|
|
400
|
+
* deployment's limits are enforced in the store before anything is written.
|
|
401
|
+
*/
|
|
402
|
+
accountsUpdateStarters(token, input) {
|
|
403
|
+
return this.accountRemotes.updateStarters(token, input);
|
|
404
|
+
}
|
|
256
405
|
/**
|
|
257
406
|
* Serve the effective QA configuration to the browser. The DSH gateway pins
|
|
258
407
|
* settings RPCs to loopback, so a browser served over the LAN always sees
|
|
@@ -316,8 +465,10 @@ let QaSurface = (() => {
|
|
|
316
465
|
: { reasoningEffort: config.session.reasoningEffort }),
|
|
317
466
|
});
|
|
318
467
|
}
|
|
319
|
-
|
|
320
|
-
|
|
468
|
+
const sessionId = String(created.sessionId);
|
|
469
|
+
await this.admission.secureSession(token, sessionId);
|
|
470
|
+
this.integrationPrincipals.attest(sessionId, owner?.id, accounts?.ownerIdOf(sessionId));
|
|
471
|
+
return sessionId;
|
|
321
472
|
}
|
|
322
473
|
catch (error) {
|
|
323
474
|
if (!hostCreated && owner !== undefined) {
|
|
@@ -331,11 +482,18 @@ let QaSurface = (() => {
|
|
|
331
482
|
}
|
|
332
483
|
}
|
|
333
484
|
/** Pin and attest the effective policy. The browser supplies identity only. */
|
|
334
|
-
secureSession(token, sessionId) {
|
|
485
|
+
async secureSession(token, sessionId) {
|
|
335
486
|
try {
|
|
336
|
-
|
|
487
|
+
const principal = this.principalForToken(token);
|
|
488
|
+
const proof = await this.admission.secureSession(token, sessionId);
|
|
489
|
+
const accounts = this.accountRemotes.resolve(this.getConfig());
|
|
490
|
+
const ownerId = accounts?.ownerIdOf(sessionId);
|
|
491
|
+
// Admin cross-user viewing is intentionally not credential delegation.
|
|
492
|
+
this.integrationPrincipals.attest(sessionId, principal?.userId, ownerId);
|
|
493
|
+
return proof;
|
|
337
494
|
}
|
|
338
495
|
catch (error) {
|
|
496
|
+
this.integrationPrincipals.attest(sessionId, undefined, undefined);
|
|
339
497
|
// The carrier empties error.details, so the coarse reason rides the
|
|
340
498
|
// wire message for the browser console; the specific mismatch facts
|
|
341
499
|
// stay in this log only.
|
|
@@ -352,35 +510,126 @@ let QaSurface = (() => {
|
|
|
352
510
|
});
|
|
353
511
|
}
|
|
354
512
|
}
|
|
355
|
-
/** Return canonical Host snapshots
|
|
356
|
-
sources(token, sessionId) {
|
|
357
|
-
this.admission.secureSession(token, sessionId);
|
|
513
|
+
/** Return canonical Host snapshots from plugin-owned durable provenance. */
|
|
514
|
+
async sources(token, sessionId) {
|
|
515
|
+
await this.admission.secureSession(token, sessionId);
|
|
358
516
|
return this.provenance.bundles(sessionId);
|
|
359
517
|
}
|
|
360
|
-
/**
|
|
518
|
+
/**
|
|
519
|
+
* The tool calls of one chat that wait for the operator. Read-only: a
|
|
520
|
+
* deployment with blocked approvals answers with an empty list.
|
|
521
|
+
*/
|
|
522
|
+
async pendingApprovals(token, sessionId) {
|
|
523
|
+
await this.admission.secureSession(token, sessionId);
|
|
524
|
+
return this.approvals.list(sessionId);
|
|
525
|
+
}
|
|
526
|
+
/**
|
|
527
|
+
* Apply the operator's answer to one parked call. The id must belong to a
|
|
528
|
+
* request of this chat; an answer that lost the race (the turn was stopped,
|
|
529
|
+
* the agent went away) is refused with `false`.
|
|
530
|
+
*/
|
|
531
|
+
async answerApproval(token, sessionId, requestId, decision) {
|
|
532
|
+
await this.admission.secureSession(token, sessionId);
|
|
533
|
+
return this.approvals.answer(sessionId, requestId, decision);
|
|
534
|
+
}
|
|
535
|
+
/**
|
|
536
|
+
* The questions of one chat that wait for the operator. Read-only: a
|
|
537
|
+
* deployment with unsupported questions answers with an empty list.
|
|
538
|
+
*/
|
|
539
|
+
async pendingQuestions(token, sessionId) {
|
|
540
|
+
await this.admission.secureSession(token, sessionId);
|
|
541
|
+
return this.userQuestions.list(sessionId);
|
|
542
|
+
}
|
|
543
|
+
/**
|
|
544
|
+
* Apply the operator's answers to one parked question request. Every question
|
|
545
|
+
* of the request must be present in `answers`; one the browser omits reads as
|
|
546
|
+
* a skip.
|
|
547
|
+
*/
|
|
548
|
+
async answerQuestion(token, sessionId, requestId, answers) {
|
|
549
|
+
await this.admission.secureSession(token, sessionId);
|
|
550
|
+
return this.userQuestions.answer(sessionId, requestId, answers);
|
|
551
|
+
}
|
|
552
|
+
/** Close a parked question request without answering it. */
|
|
553
|
+
async cancelQuestion(token, sessionId, requestId) {
|
|
554
|
+
await this.admission.secureSession(token, sessionId);
|
|
555
|
+
return this.userQuestions.cancel(sessionId, requestId);
|
|
556
|
+
}
|
|
557
|
+
/**
|
|
558
|
+
* Narrow read-only preview capability for files already present as sources.
|
|
559
|
+
*
|
|
560
|
+
* The readable roots mirror the per-user execution guard: the chat's own cwd
|
|
561
|
+
* plus the deployment's shared read-only directories and the attachment
|
|
562
|
+
* store. Without that mirroring a source the model was explicitly allowed to
|
|
563
|
+
* read — the normal case for a deployment whose docs and code live beside
|
|
564
|
+
* the per-account scratch directory — could never be opened in the panel.
|
|
565
|
+
*/
|
|
361
566
|
async readSourceFile(token, sessionId, sourcePath) {
|
|
362
|
-
this.admission.secureSession(token, sessionId);
|
|
363
|
-
const config = this.getConfig()
|
|
364
|
-
if (!config.enabled
|
|
365
|
-
|
|
366
|
-
throw new Error("Source preview is unavailable.");
|
|
567
|
+
await this.admission.secureSession(token, sessionId);
|
|
568
|
+
const config = this.getConfig();
|
|
569
|
+
if (!config.sources.filePreview.enabled) {
|
|
570
|
+
throw sourcePreviewRefusal("unavailable");
|
|
367
571
|
}
|
|
368
572
|
const agent = this.ctx.agents.get((await import("@deepseek-ai/dsh-session/types")).SessionId(sessionId));
|
|
369
|
-
const
|
|
370
|
-
if (
|
|
371
|
-
throw
|
|
573
|
+
const cwd = agent?.session.header.cwd;
|
|
574
|
+
if (cwd === undefined)
|
|
575
|
+
throw sourcePreviewRefusal("unavailable");
|
|
576
|
+
const attachmentRoot = this.admission.attachmentRoot();
|
|
372
577
|
try {
|
|
373
578
|
return await readSourceFilePreview({
|
|
374
|
-
root,
|
|
375
579
|
sourcePath,
|
|
376
|
-
|
|
377
|
-
|
|
580
|
+
cwd,
|
|
581
|
+
isEvidence: (canonicalPath) => this.provenance.sourceAllowed(sessionId, canonicalPath),
|
|
582
|
+
sharedReadOnlyRoots: config.lockdown.sharedReadOnlyRoots,
|
|
583
|
+
...(attachmentRoot === undefined ? {} : { attachmentRoot }),
|
|
584
|
+
maxBytes: config.sources.filePreview.maxBytes,
|
|
585
|
+
maxMarkdownRenderBytes: config.sources.filePreview.maxMarkdownRenderBytes,
|
|
378
586
|
});
|
|
379
587
|
}
|
|
380
|
-
catch {
|
|
381
|
-
|
|
588
|
+
catch (error) {
|
|
589
|
+
this.logger.debug("source.preview-refused", {
|
|
590
|
+
sessionId,
|
|
591
|
+
reason: error instanceof QaSourcePreviewError ? error.reason : "unavailable",
|
|
592
|
+
});
|
|
593
|
+
throw sourcePreviewRefusal(error instanceof QaSourcePreviewError ? error.reason : "unavailable");
|
|
382
594
|
}
|
|
383
595
|
}
|
|
596
|
+
/** Every personal skill of the token's account, sorted by name. */
|
|
597
|
+
skillsList(token) {
|
|
598
|
+
return this.skillRemotes.list(token);
|
|
599
|
+
}
|
|
600
|
+
/** One personal skill with the body, its preserved frontmatter and revision. */
|
|
601
|
+
skillsGet(token, name) {
|
|
602
|
+
return this.skillRemotes.get(token, name);
|
|
603
|
+
}
|
|
604
|
+
/** Create one skill directory below the account's own workspace. */
|
|
605
|
+
skillsCreate(token, input) {
|
|
606
|
+
return this.skillRemotes.create(token, input);
|
|
607
|
+
}
|
|
608
|
+
/**
|
|
609
|
+
* Replace one skill. `expectedRevision` is the revision the editor read; a
|
|
610
|
+
* mismatch is refused rather than overwriting an edit made elsewhere.
|
|
611
|
+
*/
|
|
612
|
+
skillsUpdate(token, name, input) {
|
|
613
|
+
return this.skillRemotes.update(token, name, input);
|
|
614
|
+
}
|
|
615
|
+
/** Remove one skill into the account's own trash directory. */
|
|
616
|
+
skillsRemove(token, name, expectedRevision) {
|
|
617
|
+
return this.skillRemotes.remove(token, name, expectedRevision);
|
|
618
|
+
}
|
|
619
|
+
/**
|
|
620
|
+
* Check an unsaved draft: the file a save would write and the diagnostics
|
|
621
|
+
* for it. `name` names the stored skill being edited, or null to create one.
|
|
622
|
+
*/
|
|
623
|
+
skillsValidate(token, name, input) {
|
|
624
|
+
return this.skillRemotes.validate(token, name, input);
|
|
625
|
+
}
|
|
626
|
+
/**
|
|
627
|
+
* The tool catalog the picker offers, with availability computed against
|
|
628
|
+
* this deployment's QA scope. Declaring a tool here never grants it.
|
|
629
|
+
*/
|
|
630
|
+
skillsTools(token) {
|
|
631
|
+
return this.skillRemotes.tools(token);
|
|
632
|
+
}
|
|
384
633
|
refreshRoute() {
|
|
385
634
|
const config = this.getConfig();
|
|
386
635
|
const key = config.enabled
|
|
@@ -398,6 +647,30 @@ let QaSurface = (() => {
|
|
|
398
647
|
});
|
|
399
648
|
this.routeKey = key;
|
|
400
649
|
}
|
|
650
|
+
/**
|
|
651
|
+
* Install, rebuild or tear down the document subsystem. The raw entry is
|
|
652
|
+
* resolved with the documented environment overrides applied, so a
|
|
653
|
+
* deployment can point `QA_DOCLING_BASE_URL` at its own service without
|
|
654
|
+
* touching the settings namespace; the settings layer stays authoritative
|
|
655
|
+
* for everything it declares.
|
|
656
|
+
*/
|
|
657
|
+
refreshDocuments() {
|
|
658
|
+
const config = this.getConfig();
|
|
659
|
+
const enabled = config.enabled && config.documents.enabled;
|
|
660
|
+
const key = enabled ? JSON.stringify(config.documents) : undefined;
|
|
661
|
+
if (key === this.documentsKey)
|
|
662
|
+
return;
|
|
663
|
+
this.documents?.dispose();
|
|
664
|
+
this.documents = undefined;
|
|
665
|
+
this.documentsKey = key;
|
|
666
|
+
if (key === undefined)
|
|
667
|
+
return;
|
|
668
|
+
this.documents = installDocumentSubsystem(this.ctx, {
|
|
669
|
+
config: applyDocumentsEnvOverrides(this.source().documents ?? {}, process.env),
|
|
670
|
+
logger: this.logger,
|
|
671
|
+
register: (definition) => this.ctx.tools.register(definition),
|
|
672
|
+
});
|
|
673
|
+
}
|
|
401
674
|
};
|
|
402
675
|
})();
|
|
403
676
|
export { QaSurface };
|
|
@@ -406,7 +679,9 @@ export { QaAttestationError } from "./attestation.js";
|
|
|
406
679
|
export { QaAccounts, QaAccountsError } from "./accounts/store.js";
|
|
407
680
|
export { entryRedirectRow, entryRedirectScript } from "./entry-redirect.js";
|
|
408
681
|
export { registerQaNavigationRoute } from "./host-route.js";
|
|
682
|
+
export { QaIntegrationPrincipalBindings } from "./integration-principals.js";
|
|
409
683
|
export { qaToolDenial, qaToolPolicyPlan } from "./lockdown-policy.js";
|
|
684
|
+
export * from "./documents/index.js";
|
|
410
685
|
export { QaPolicyAdmission } from "./secure-session.js";
|
|
411
686
|
export { QaPromptNotes, renderUserIdentity, QA_IDENTITY_NOTE, QA_SOURCES_NOTE, } from "./prompt-notes.js";
|
|
412
687
|
export * from "./provenance/index.js";
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/** Runtime-only proof that a QA root session was attested by its own user. */
|
|
2
|
+
export class QaIntegrationPrincipalBindings {
|
|
3
|
+
principals = new Map();
|
|
4
|
+
attest(sessionId, actorUserId, ownerUserId) {
|
|
5
|
+
if (actorUserId !== undefined && actorUserId === ownerUserId) {
|
|
6
|
+
this.principals.set(sessionId, actorUserId);
|
|
7
|
+
}
|
|
8
|
+
else {
|
|
9
|
+
this.principals.delete(sessionId);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
resolve(sessionId, currentOwnerUserId) {
|
|
13
|
+
const userId = this.principals.get(sessionId);
|
|
14
|
+
return userId !== undefined && userId === currentOwnerUserId
|
|
15
|
+
? { userId }
|
|
16
|
+
: undefined;
|
|
17
|
+
}
|
|
18
|
+
clear() {
|
|
19
|
+
this.principals.clear();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=integration-principals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integration-principals.js","sourceRoot":"","sources":["../src/integration-principals.ts"],"names":[],"mappings":"AAEA,8EAA8E;AAC9E,MAAM,OAAO,8BAA8B;IACxB,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAExD,MAAM,CACJ,SAAiB,EACjB,WAA+B,EAC/B,WAA+B;QAE/B,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;YAC7D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,OAAO,CACL,SAAiB,EACjB,kBAAsC;QAEtC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9C,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,kBAAkB;YAC1D,CAAC,CAAC,EAAE,MAAM,EAAE;YACZ,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;CACF"}
|
package/lib/lockdown-policy.js
CHANGED
|
@@ -13,8 +13,20 @@ export function qaToolPolicyPlan(allow, isMounted) {
|
|
|
13
13
|
unknown: allow.filter((toolName) => !isMounted(toolName)),
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
|
-
/**
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
/**
|
|
17
|
+
* Monotonic execution decision shared by inherited, scoped and transport tools.
|
|
18
|
+
* @param allowed - the operator's configured allow-list for this agent.
|
|
19
|
+
* @param toolName - the tool the model is trying to call.
|
|
20
|
+
* @param dynamicNames - names this plugin attached for the calling agent after
|
|
21
|
+
* a successful skill load. They are deliberately absent from the allow-list:
|
|
22
|
+
* that list is validated against the mounted catalog at attestation time, and
|
|
23
|
+
* a tool that appears only later cannot be named there without failing the
|
|
24
|
+
* check. The guard is therefore where they are authorized — a dynamic tool
|
|
25
|
+
* stays as unchecked as any allow-listed one, and no less.
|
|
26
|
+
*/
|
|
27
|
+
export function qaToolDenial(allowed, toolName, dynamicNames = []) {
|
|
28
|
+
return allowed.has(toolName) || dynamicNames.includes(toolName)
|
|
29
|
+
? undefined
|
|
30
|
+
: TOOL_DENIAL;
|
|
19
31
|
}
|
|
20
32
|
//# sourceMappingURL=lockdown-policy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lockdown-policy.js","sourceRoot":"","sources":["../src/lockdown-policy.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG,yDAAyD,CAAC;AAS9E;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAwB,EACxB,SAAwC;IAExC,OAAO;QACL,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC;QACjB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;KAC1D,CAAC;AACJ,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"lockdown-policy.js","sourceRoot":"","sources":["../src/lockdown-policy.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG,yDAAyD,CAAC;AAS9E;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAwB,EACxB,SAAwC;IAExC,OAAO;QACL,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC;QACjB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;KAC1D,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAC1B,OAA4B,EAC5B,QAAgB,EAChB,YAAY,GAAsB,EAAE;IAEpC,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC7D,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,WAAW,CAAC;AAClB,CAAC"}
|