@yadsh/dsh-qa-surface 0.13.0 → 0.14.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 +148 -22
- package/compatibility.json +7 -3
- package/lib/access/capability-catalog.js +22 -6
- package/lib/access/capability-catalog.js.map +1 -1
- package/lib/access/model.js +36 -2
- package/lib/access/model.js.map +1 -1
- package/lib/access/service.js +19 -4
- package/lib/access/service.js.map +1 -1
- package/lib/account-remotes.js +4 -0
- package/lib/account-remotes.js.map +1 -1
- package/lib/accounts/database.js +49 -9
- package/lib/accounts/database.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 +53 -8
- package/lib/accounts/store.js.map +1 -1
- package/lib/admin/permissions.js +6 -0
- package/lib/admin/permissions.js.map +1 -1
- package/lib/admin/quality-store.js +95 -19
- package/lib/admin/quality-store.js.map +1 -1
- package/lib/admin/service.js +178 -0
- package/lib/admin/service.js.map +1 -1
- package/lib/cli.js +24 -4
- package/lib/cli.js.map +1 -1
- package/lib/client/QaAccountsController.js +52 -5
- package/lib/client/QaAccountsController.js.map +1 -1
- package/lib/client/QaConfigController.js.map +1 -1
- package/lib/client/QaSessionController.js +626 -63
- package/lib/client/QaSessionController.js.map +1 -1
- package/lib/client/QaSurface.js +279 -43
- package/lib/client/QaSurface.js.map +1 -1
- package/lib/client/QaSurfaceGuard.js +2 -2
- package/lib/client/QaSurfaceGuard.js.map +1 -1
- package/lib/client/QaTranscriptAdapter.js +4 -2
- package/lib/client/QaTranscriptAdapter.js.map +1 -1
- package/lib/client/admin/QaAdmin.js +59 -34
- package/lib/client/admin/QaAdmin.js.map +1 -1
- package/lib/client/admin/pages/Conversations.js +12 -12
- package/lib/client/admin/pages/Conversations.js.map +1 -1
- package/lib/client/admin/pages/ExpertMemory.js +210 -0
- package/lib/client/admin/pages/ExpertMemory.js.map +1 -0
- package/lib/client/admin/pages/Overview.js +4 -4
- package/lib/client/admin/pages/Overview.js.map +1 -1
- package/lib/client/admin/pages/Quality.js +5 -5
- package/lib/client/admin/pages/Quality.js.map +1 -1
- package/lib/client/admin/pages/Review.js +5 -5
- package/lib/client/admin/pages/Review.js.map +1 -1
- package/lib/client/admin/pages/SkillFiles.js +3 -3
- package/lib/client/admin/pages/SkillFiles.js.map +1 -1
- package/lib/client/admin/pages/Users.js +12 -12
- package/lib/client/admin/pages/Users.js.map +1 -1
- package/lib/client/admin/routes.js +4 -0
- package/lib/client/admin/routes.js.map +1 -1
- package/lib/client/admin/shared.js +15 -6
- package/lib/client/admin/shared.js.map +1 -1
- package/lib/client/admin/styles.js +3 -0
- package/lib/client/admin/styles.js.map +1 -1
- package/lib/client/attestation.js +11 -2
- package/lib/client/attestation.js.map +1 -1
- package/lib/client/audit/QaAuditDialog.js +2 -2
- package/lib/client/audit/QaAuditDialog.js.map +1 -1
- package/lib/client/audit/QaAuditRowBadge.js +1 -1
- package/lib/client/audit/QaAuditRowBadge.js.map +1 -1
- package/lib/client/components/Markdown.js +7 -2
- package/lib/client/components/Markdown.js.map +1 -1
- package/lib/client/components/QaAgentsDrawer.js +7 -5
- package/lib/client/components/QaAgentsDrawer.js.map +1 -1
- package/lib/client/components/QaApproval.js +2 -2
- package/lib/client/components/QaApproval.js.map +1 -1
- package/lib/client/components/QaAuthGate.js +6 -6
- package/lib/client/components/QaAuthGate.js.map +1 -1
- package/lib/client/components/QaChangelog.js +64 -0
- package/lib/client/components/QaChangelog.js.map +1 -1
- package/lib/client/components/QaComposer.js +9 -6
- package/lib/client/components/QaComposer.js.map +1 -1
- package/lib/client/components/QaFileAttachment.js +1 -1
- package/lib/client/components/QaFileAttachment.js.map +1 -1
- package/lib/client/components/QaFilesPanel.js +7 -7
- package/lib/client/components/QaFilesPanel.js.map +1 -1
- package/lib/client/components/QaHeader.js +4 -4
- package/lib/client/components/QaHeader.js.map +1 -1
- package/lib/client/components/QaMessage.js +12 -12
- package/lib/client/components/QaMessage.js.map +1 -1
- package/lib/client/components/QaModal.js +11 -2
- package/lib/client/components/QaModal.js.map +1 -1
- package/lib/client/components/QaQuestions.js +4 -4
- package/lib/client/components/QaQuestions.js.map +1 -1
- package/lib/client/components/QaQueueDock.js +137 -0
- package/lib/client/components/QaQueueDock.js.map +1 -0
- package/lib/client/components/QaRequestQueue.js +22 -0
- package/lib/client/components/QaRequestQueue.js.map +1 -0
- package/lib/client/components/QaRightRail.js +2 -2
- package/lib/client/components/QaRightRail.js.map +1 -1
- package/lib/client/components/QaSidebar.js +66 -6
- package/lib/client/components/QaSidebar.js.map +1 -1
- package/lib/client/components/QaSourcesPanel.js +10 -8
- package/lib/client/components/QaSourcesPanel.js.map +1 -1
- package/lib/client/components/QaThemeSwitcher.js +19 -0
- package/lib/client/components/QaThemeSwitcher.js.map +1 -0
- package/lib/client/components/QaTurnNotice.js +40 -0
- package/lib/client/components/QaTurnNotice.js.map +1 -0
- package/lib/client/components/QaTurnRail.js +3 -3
- package/lib/client/components/QaTurnRail.js.map +1 -1
- package/lib/client/components/QaWelcomeNotice.js +2 -6
- package/lib/client/components/QaWelcomeNotice.js.map +1 -1
- package/lib/client/components/QaWidthHandle.js +2 -2
- package/lib/client/components/QaWidthHandle.js.map +1 -1
- package/lib/client/components/QaWorkGroup.js +5 -5
- package/lib/client/components/QaWorkGroup.js.map +1 -1
- package/lib/client/components/QaWorkspaceBrowser.js +10 -10
- package/lib/client/components/QaWorkspaceBrowser.js.map +1 -1
- package/lib/client/components/VariantSwitcher.js +1 -1
- package/lib/client/components/VariantSwitcher.js.map +1 -1
- package/lib/client/failure-copy.js +26 -8
- package/lib/client/failure-copy.js.map +1 -1
- package/lib/client/focus-ring.js +193 -0
- package/lib/client/focus-ring.js.map +1 -0
- package/lib/client/index.js +40 -20
- package/lib/client/index.js.map +1 -1
- package/lib/client/lineage.js +3 -16
- package/lib/client/lineage.js.map +1 -1
- package/lib/client/markdown/CodeBlock.js +2 -2
- package/lib/client/markdown/CodeBlock.js.map +1 -1
- package/lib/client/markdown/blocks.js +118 -31
- package/lib/client/markdown/blocks.js.map +1 -1
- package/lib/client/markdown/math.js +1 -1
- package/lib/client/markdown/math.js.map +1 -1
- package/lib/client/markdown/render.js +32 -16
- package/lib/client/markdown/render.js.map +1 -1
- package/lib/client/markdown/source-chip.js +3 -3
- package/lib/client/markdown/source-chip.js.map +1 -1
- package/lib/client/notifications/notification-dispatcher.js +90 -0
- package/lib/client/notifications/notification-dispatcher.js.map +1 -0
- package/lib/client/notifications/preferences.js +61 -0
- package/lib/client/notifications/preferences.js.map +1 -0
- package/lib/client/notifications/turn-completion-source.js +82 -0
- package/lib/client/notifications/turn-completion-source.js.map +1 -0
- package/lib/client/notifications/use-turn-notifications.js +108 -0
- package/lib/client/notifications/use-turn-notifications.js.map +1 -0
- package/lib/client/panels/PanelHost.js +5 -5
- package/lib/client/panels/PanelHost.js.map +1 -1
- package/lib/client/panels/PanelLauncher.js +2 -2
- package/lib/client/panels/PanelLauncher.js.map +1 -1
- package/lib/client/project-session-state.js +156 -4
- package/lib/client/project-session-state.js.map +1 -1
- package/lib/client/role/RoleSelector.js +9 -4
- package/lib/client/role/RoleSelector.js.map +1 -1
- package/lib/client/settings/card.js +58 -17
- package/lib/client/settings/card.js.map +1 -1
- package/lib/client/settings/fields.js +11 -10
- package/lib/client/settings/fields.js.map +1 -1
- package/lib/client/settings/format.js +0 -9
- package/lib/client/settings/format.js.map +1 -1
- package/lib/client/settings/sections/access.js +5 -5
- package/lib/client/settings/sections/access.js.map +1 -1
- package/lib/client/settings/sections/accounts.js +10 -10
- package/lib/client/settings/sections/accounts.js.map +1 -1
- package/lib/client/settings/sections/attachments.js +6 -6
- package/lib/client/settings/sections/attachments.js.map +1 -1
- package/lib/client/settings/sections/branding.js +7 -7
- package/lib/client/settings/sections/branding.js.map +1 -1
- package/lib/client/settings/sections/common.js +4 -2
- package/lib/client/settings/sections/common.js.map +1 -1
- package/lib/client/settings/sections/docs.js +4 -3
- package/lib/client/settings/sections/docs.js.map +1 -1
- package/lib/client/settings/sections/embedding.js +2 -2
- package/lib/client/settings/sections/embedding.js.map +1 -1
- package/lib/client/settings/sections/interface.js +12 -12
- package/lib/client/settings/sections/interface.js.map +1 -1
- package/lib/client/settings/sections/lockdown.js +9 -9
- package/lib/client/settings/sections/lockdown.js.map +1 -1
- package/lib/client/settings/sections/notes.js +12 -12
- package/lib/client/settings/sections/notes.js.map +1 -1
- package/lib/client/settings/sections/session.js +15 -12
- package/lib/client/settings/sections/session.js.map +1 -1
- package/lib/client/settings/sections/slash.js +9 -9
- package/lib/client/settings/sections/slash.js.map +1 -1
- package/lib/client/settings/sections/sources.js +26 -26
- package/lib/client/settings/sections/sources.js.map +1 -1
- package/lib/client/settings/sections/status.js +2 -2
- package/lib/client/settings/sections/status.js.map +1 -1
- package/lib/client/settings/styles.js +15 -9
- package/lib/client/settings/styles.js.map +1 -1
- package/lib/client/slash/SlashPalette.js +4 -4
- package/lib/client/slash/SlashPalette.js.map +1 -1
- package/lib/client/styles.js +133 -83
- package/lib/client/styles.js.map +1 -1
- package/lib/client/theme-preference.js +162 -0
- package/lib/client/theme-preference.js.map +1 -0
- package/lib/client/types.js +8 -0
- package/lib/client/types.js.map +1 -1
- package/lib/client/use-session-ui-state.js +7 -5
- package/lib/client/use-session-ui-state.js.map +1 -1
- package/lib/client/user-settings/GeneralSettingsPage.js +6 -6
- package/lib/client/user-settings/GeneralSettingsPage.js.map +1 -1
- package/lib/client/user-settings/IntegrationTokensPage.js +6 -6
- package/lib/client/user-settings/IntegrationTokensPage.js.map +1 -1
- package/lib/client/user-settings/NotificationSettingsPage.js +107 -0
- package/lib/client/user-settings/NotificationSettingsPage.js.map +1 -0
- package/lib/client/user-settings/PasswordSettingsPage.js +1 -1
- package/lib/client/user-settings/PasswordSettingsPage.js.map +1 -1
- package/lib/client/user-settings/ProfileSettingsPage.js +2 -2
- package/lib/client/user-settings/ProfileSettingsPage.js.map +1 -1
- package/lib/client/user-settings/SkillCatalog.js +3 -3
- package/lib/client/user-settings/SkillCatalog.js.map +1 -1
- package/lib/client/user-settings/SkillEditor.js +26 -8
- package/lib/client/user-settings/SkillEditor.js.map +1 -1
- package/lib/client/user-settings/SkillToolPicker.js +3 -3
- package/lib/client/user-settings/SkillToolPicker.js.map +1 -1
- package/lib/client/user-settings/SkillsSettingsPage.js +1 -1
- package/lib/client/user-settings/SkillsSettingsPage.js.map +1 -1
- package/lib/client/user-settings/StartersSettingsPage.js +6 -6
- package/lib/client/user-settings/StartersSettingsPage.js.map +1 -1
- package/lib/client/user-settings/UserSettingsDialog.js +7 -2
- package/lib/client/user-settings/UserSettingsDialog.js.map +1 -1
- package/lib/client/user-settings/copy.js +2 -0
- package/lib/client/user-settings/copy.js.map +1 -1
- package/lib/client/user-settings/draft.js +4 -1
- package/lib/client/user-settings/draft.js.map +1 -1
- package/lib/client/user-settings/fields.js +5 -5
- package/lib/client/user-settings/fields.js.map +1 -1
- package/lib/client.js +7228 -4002
- package/lib/client.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/lockdown.js +7 -0
- package/lib/config-resolvers/lockdown.js.map +1 -1
- package/lib/config-resolvers/notifications.js +15 -0
- package/lib/config-resolvers/notifications.js.map +1 -0
- package/lib/config-resolvers/session.js +11 -1
- package/lib/config-resolvers/session.js.map +1 -1
- package/lib/config.js +67 -18
- package/lib/config.js.map +1 -1
- package/lib/enforcement/tool-grants.js +6 -6
- package/lib/enforcement/tool-grants.js.map +1 -1
- package/lib/index.js +145 -30
- package/lib/index.js.map +1 -1
- package/lib/integration/answer.js +74 -8
- package/lib/integration/answer.js.map +1 -1
- package/lib/integration/expert-memory.js +39 -0
- package/lib/integration/expert-memory.js.map +1 -0
- package/lib/integration/host-runner.js +26 -14
- package/lib/integration/host-runner.js.map +1 -1
- package/lib/notifications.js +66 -0
- package/lib/notifications.js.map +1 -0
- package/lib/personal-skills/errors.js.map +1 -1
- package/lib/personal-skills/service.js +81 -7
- package/lib/personal-skills/service.js.map +1 -1
- package/lib/prompt-notes.js +2 -10
- package/lib/prompt-notes.js.map +1 -1
- package/lib/qa-tools/docs-tools.js +1 -1
- package/lib/qa-tools/docs-tools.js.map +1 -1
- package/lib/qa-tools/lifecycle.js +6 -3
- package/lib/qa-tools/lifecycle.js.map +1 -1
- package/lib/request-queue.js +32 -0
- package/lib/request-queue.js.map +1 -0
- package/lib/resolve-config.js +2 -0
- package/lib/resolve-config.js.map +1 -1
- package/lib/secure-session.js +7 -2
- package/lib/secure-session.js.map +1 -1
- package/lib/shared/settings.js +19 -2
- package/lib/shared/settings.js.map +1 -1
- package/lib/turn-failure-log.js +67 -0
- package/lib/turn-failure-log.js.map +1 -0
- package/lib/typert.host.js +1398 -651
- package/lib/typert.remote-client.d.ts +15 -1
- package/lib/typert.remote-client.js +1315 -645
- package/lib/types/access/capability-catalog.d.ts +20 -4
- package/lib/types/access/model.d.ts +23 -0
- package/lib/types/access/service.d.ts +2 -3
- package/lib/types/account-remotes.d.ts +8 -1
- package/lib/types/accounts/database.d.ts +13 -3
- package/lib/types/accounts/errors.d.ts +9 -1
- package/lib/types/accounts/file.d.ts +12 -0
- package/lib/types/accounts/store.d.ts +30 -2
- package/lib/types/admin/quality-store.d.ts +33 -0
- package/lib/types/admin/service.d.ts +60 -1
- package/lib/types/client/QaAccountsController.d.ts +25 -2
- package/lib/types/client/QaConfigController.d.ts +2 -2
- package/lib/types/client/QaSessionController.d.ts +199 -6
- package/lib/types/client/QaSurface.d.ts +6 -1
- package/lib/types/client/admin/pages/ExpertMemory.d.ts +19 -0
- package/lib/types/client/admin/routes.d.ts +3 -1
- package/lib/types/client/admin/shared.d.ts +4 -0
- package/lib/types/client/components/Markdown.d.ts +8 -1
- package/lib/types/client/components/QaHeader.d.ts +3 -1
- package/lib/types/client/components/QaModal.d.ts +7 -0
- package/lib/types/client/components/QaQueueDock.d.ts +27 -0
- package/lib/types/client/components/QaRequestQueue.d.ts +20 -0
- package/lib/types/client/components/QaThemeSwitcher.d.ts +14 -0
- package/lib/types/client/components/QaTurnNotice.d.ts +55 -0
- package/lib/types/client/focus-ring.d.ts +65 -0
- package/lib/types/client/lineage.d.ts +3 -13
- package/lib/types/client/markdown/blocks.d.ts +30 -2
- package/lib/types/client/markdown/render.d.ts +4 -1
- package/lib/types/client/notifications/notification-dispatcher.d.ts +68 -0
- package/lib/types/client/notifications/preferences.d.ts +44 -0
- package/lib/types/client/notifications/turn-completion-source.d.ts +114 -0
- package/lib/types/client/notifications/use-turn-notifications.d.ts +51 -0
- package/lib/types/client/project-session-state.d.ts +35 -1
- package/lib/types/client/role/RoleSelector.d.ts +7 -1
- package/lib/types/client/settings/card.d.ts +36 -5
- package/lib/types/client/settings/fields.d.ts +24 -0
- package/lib/types/client/settings/format.d.ts +0 -5
- package/lib/types/client/settings/sections/common.d.ts +3 -1
- package/lib/types/client/settings/sections/session.d.ts +2 -1
- package/lib/types/client/settings/styles.d.ts +9 -4
- package/lib/types/client/settings-extensions/user-session.d.ts +1 -1
- package/lib/types/client/theme-preference.d.ts +69 -0
- package/lib/types/client/types.d.ts +25 -1
- package/lib/types/client/use-session-ui-state.d.ts +6 -4
- package/lib/types/client/user-settings/GeneralSettingsPage.d.ts +5 -5
- package/lib/types/client/user-settings/NotificationSettingsPage.d.ts +40 -0
- package/lib/types/client/user-settings/UserSettingsDialog.d.ts +12 -2
- package/lib/types/client/user-settings/draft.d.ts +4 -1
- package/lib/types/client/user-settings/fields.d.ts +7 -0
- package/lib/types/config-resolvers/notifications.d.ts +10 -0
- package/lib/types/config-resolvers/session.d.ts +6 -0
- package/lib/types/config.d.ts +20 -1
- package/lib/types/index.d.ts +53 -5
- package/lib/types/integration/answer.d.ts +27 -0
- package/lib/types/integration/expert-memory.d.ts +49 -0
- package/lib/types/notifications.d.ts +32 -0
- package/lib/types/personal-skills/errors.d.ts +1 -1
- package/lib/types/personal-skills/service.d.ts +6 -0
- package/lib/types/prompt-notes.d.ts +17 -4
- package/lib/types/request-queue.d.ts +32 -0
- package/lib/types/shared/settings.d.ts +19 -2
- package/lib/types/turn-failure-log.d.ts +18 -0
- package/lib/types/types.d.ts +180 -4
- package/package.json +64 -63
- package/scripts/attach-workspace-sessions.mjs +24 -5
- package/scripts/repair-session-events.mjs +25 -5
- package/lib/client/markdown/MermaidBlock.js +0 -80
- package/lib/client/markdown/MermaidBlock.js.map +0 -1
- package/lib/types/client/markdown/MermaidBlock.d.ts +0 -6
package/lib/client/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import qaSurfaceRemote from "@yadsh/dsh-qa-surface/remote";
|
|
2
|
-
import {
|
|
2
|
+
import { injectCardStyles } from "@yadsh/dsh-plugin-kit/client";
|
|
3
3
|
import { QaConfigController } from "./QaConfigController.js";
|
|
4
4
|
import { matchesQaRoute, QaRouteController } from "./QaRouteController.js";
|
|
5
5
|
import { QaAccountsController } from "./QaAccountsController.js";
|
|
@@ -12,9 +12,9 @@ import { QA_OVERLAY_STYLES, QA_ROOT_STYLES } from "./styles.js";
|
|
|
12
12
|
import { qaKioskBasePath, qaKioskMode } from "./kiosk.js";
|
|
13
13
|
import { QaAuditController } from "./audit/controller.js";
|
|
14
14
|
import { createQaAuditApi } from "./audit/types.js";
|
|
15
|
-
import { QA_SURFACE_SETTINGS_NAMESPACE } from "../shared/settings.js";
|
|
15
|
+
import { QA_SURFACE_ROW_CONFIG_KEY, QA_SURFACE_SETTINGS_NAMESPACE, } from "../shared/settings.js";
|
|
16
16
|
import { qaStorageNamespace } from "../shared/session-key.js";
|
|
17
|
-
import {
|
|
17
|
+
import { QaSettingsCardEntry, } from "./settings/card.js";
|
|
18
18
|
import { QA_SETTINGS_STYLES } from "./settings/styles.js";
|
|
19
19
|
import { QaSurfacePanelRegistry } from "./panels/registry.js";
|
|
20
20
|
import { QaUserSettingsSectionRegistry } from "./settings-extensions/index.js";
|
|
@@ -37,7 +37,7 @@ export const inject = [
|
|
|
37
37
|
"sessions",
|
|
38
38
|
"uiConversation",
|
|
39
39
|
"connection",
|
|
40
|
-
"
|
|
40
|
+
"configForms",
|
|
41
41
|
"remote",
|
|
42
42
|
];
|
|
43
43
|
/** Register the route-aware, full-frame QA entry: root owner in the kiosk, additive overlay slot otherwise. */
|
|
@@ -95,6 +95,9 @@ export async function apply(ctx) {
|
|
|
95
95
|
// validates during build.
|
|
96
96
|
const policyRemote = injectedRemote.qaSurface;
|
|
97
97
|
const secureSession = (token, sessionId) => policyRemote.secureSession(token, sessionId);
|
|
98
|
+
// The stand's live load, asked once per send. Only the Host can say it:
|
|
99
|
+
// a browser sees its own chats and never the HTTP API's questions.
|
|
100
|
+
const queueStatus = () => policyRemote.queueStatus();
|
|
98
101
|
const qaApi = {
|
|
99
102
|
selectModel: (request) => injectedRemote.session.selectModel(request),
|
|
100
103
|
selectAgentPreset: (agentId, agentPreset) => injectedRemote.agentPresets.select(agentId, agentPreset),
|
|
@@ -139,6 +142,11 @@ export async function apply(ctx) {
|
|
|
139
142
|
? { ok: true, value: result.value.tools }
|
|
140
143
|
: { ok: false, error: result.error };
|
|
141
144
|
},
|
|
145
|
+
memoryScopes: (token) => policyRemote.adminMemoryScopes(token),
|
|
146
|
+
memoryRecords: (token, namespace, query, limit, offset) => policyRemote.adminMemoryRecords(token, namespace, query, limit, offset),
|
|
147
|
+
correctMemory: (token, namespace, key, draft) => policyRemote.adminMemoryCorrect(token, namespace, key, draft),
|
|
148
|
+
forgetMemory: (token, namespace, keys) => policyRemote.adminMemoryForget(token, namespace, keys),
|
|
149
|
+
wipeMemory: (token, namespace, expectedRecords) => policyRemote.adminMemoryWipe(token, namespace, expectedRecords),
|
|
142
150
|
};
|
|
143
151
|
const sourceApi = {
|
|
144
152
|
sources: (token, sessionId) => policyRemote.sources(token, sessionId),
|
|
@@ -218,12 +226,11 @@ export async function apply(ctx) {
|
|
|
218
226
|
// a card mounted outside the overlay sees the same session the pages do.
|
|
219
227
|
userSession.attach(accounts);
|
|
220
228
|
const route = new QaRouteController();
|
|
221
|
-
// One
|
|
229
|
+
// One form for both readers: the surface projects it into the page's
|
|
222
230
|
// configuration, the settings card edits the same namespace through it.
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
const config = new QaConfigController(settingsScope, async () => {
|
|
231
|
+
// The namespace is this bundle's profile entry id.
|
|
232
|
+
const configForm = ctx.configForms.get(QA_SURFACE_SETTINGS_NAMESPACE);
|
|
233
|
+
const config = new QaConfigController(configForm, async () => {
|
|
227
234
|
// Settings RPCs are loopback-pinned by the gateway, so a browser the
|
|
228
235
|
// Host serves over the LAN reads the effective configuration here.
|
|
229
236
|
const described = await policyRemote.describe();
|
|
@@ -234,22 +241,31 @@ export async function apply(ctx) {
|
|
|
234
241
|
// declarations during an incremental source typecheck.
|
|
235
242
|
return described.value;
|
|
236
243
|
});
|
|
237
|
-
// The operator edits this deployment
|
|
238
|
-
//
|
|
239
|
-
// about what it resolved.
|
|
240
|
-
//
|
|
244
|
+
// The operator edits this deployment from the plugin's own row in the
|
|
245
|
+
// Plugins panel: the same namespace the page reads, plus the Host's own
|
|
246
|
+
// answer about what it resolved. The row's page draws the card surface,
|
|
247
|
+
// the heading and the expand control, so this bundle supplies the body
|
|
248
|
+
// only (AGENTS.md, card-shell contract).
|
|
249
|
+
// The seat is keyed `<package name>#<row id>`, and the row id is the
|
|
250
|
+
// namespace above, so the move never orphans a saved value. The seat hands
|
|
251
|
+
// its registrant a `ConfigPageForm` for that namespace — `{ state, mutate }`
|
|
252
|
+
// only, unsubscribable and unable to write one field — which is why the
|
|
253
|
+
// card reads the `configForm` resolved above rather than the page's view.
|
|
241
254
|
ctx.effect(() => {
|
|
242
255
|
const cardFace = {
|
|
243
|
-
|
|
256
|
+
settingsForm: configForm,
|
|
244
257
|
describe: () => policyRemote.describe(),
|
|
245
258
|
};
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
component: QaSettingsCard,
|
|
259
|
+
const removeStyles = injectCardStyles("@yadsh/dsh-qa-surface", QA_SETTINGS_STYLES);
|
|
260
|
+
const removeRowConfig = ctx.slots.inject("plugins.row.config", () => ctx.slots.register({
|
|
261
|
+
name: "plugins.row.config",
|
|
262
|
+
key: QA_SURFACE_ROW_CONFIG_KEY,
|
|
251
263
|
inject: () => cardFace,
|
|
252
|
-
});
|
|
264
|
+
}, QaSettingsCardEntry));
|
|
265
|
+
return () => {
|
|
266
|
+
removeRowConfig();
|
|
267
|
+
removeStyles();
|
|
268
|
+
};
|
|
253
269
|
}, "dsh-qa-surface: settings-card");
|
|
254
270
|
const syncRoute = () => {
|
|
255
271
|
const snapshot = config.getSnapshot();
|
|
@@ -337,6 +353,9 @@ export async function apply(ctx) {
|
|
|
337
353
|
ctx.effect(() => () => {
|
|
338
354
|
unsubscribeConfig();
|
|
339
355
|
unsubscribeConnection();
|
|
356
|
+
// The boot whoami otherwise outlives this callback: its answer
|
|
357
|
+
// clears the token the *next* instance stored under the same key.
|
|
358
|
+
accounts.dispose();
|
|
340
359
|
config.dispose();
|
|
341
360
|
route.dispose();
|
|
342
361
|
}, "dsh-qa-surface: controllers");
|
|
@@ -356,6 +375,7 @@ export async function apply(ctx) {
|
|
|
356
375
|
connection: ctx.connection.generation,
|
|
357
376
|
secureSession,
|
|
358
377
|
createSession: (token, subroleId, adminPreview) => policyRemote.createSession(token, subroleId, adminPreview),
|
|
378
|
+
queueStatus,
|
|
359
379
|
accessApi,
|
|
360
380
|
adminApi,
|
|
361
381
|
sourceApi,
|
package/lib/client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.tsx"],"names":[],"mappings":"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"}
|
package/lib/client/lineage.js
CHANGED
|
@@ -38,8 +38,8 @@ export function chatRootOf(byId, sessionId) {
|
|
|
38
38
|
return current;
|
|
39
39
|
}
|
|
40
40
|
/**
|
|
41
|
-
* Delegated sessions whose names a page may sign its notices with: the
|
|
42
|
-
*
|
|
41
|
+
* Delegated sessions whose names a page may sign its notices with: the children
|
|
42
|
+
* of the chats it lists, named by the row title the Host's session list carries.
|
|
43
43
|
*
|
|
44
44
|
* `chats` is the visible chat set — the account's own chats while accounts are
|
|
45
45
|
* on, and `undefined` for a deployment without accounts, where every chat on
|
|
@@ -49,23 +49,10 @@ export function chatRootOf(byId, sessionId) {
|
|
|
49
49
|
* therefore contributes no id and no label — a foreign chat can neither sign
|
|
50
50
|
* a notice nor be named by one.
|
|
51
51
|
*/
|
|
52
|
-
export function visibleSubagentCandidates(byId,
|
|
52
|
+
export function visibleSubagentCandidates(byId, chats) {
|
|
53
53
|
const visible = (chatId) => chats === undefined || chats.has(chatId);
|
|
54
54
|
const candidates = [];
|
|
55
55
|
const seen = new Set();
|
|
56
|
-
for (const [parentId, catalog] of Object.entries(catalogs)) {
|
|
57
|
-
if (!visible(parentId))
|
|
58
|
-
continue;
|
|
59
|
-
for (const entry of catalog?.entries ?? []) {
|
|
60
|
-
if (entry.kind !== "child")
|
|
61
|
-
continue;
|
|
62
|
-
const id = entry.id;
|
|
63
|
-
if (id === undefined || seen.has(id))
|
|
64
|
-
continue;
|
|
65
|
-
seen.add(id);
|
|
66
|
-
candidates.push({ id, label: entry.label ?? "" });
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
56
|
for (const [key, summary] of Object.entries(byId)) {
|
|
70
57
|
if (summary.origin !== "subagent")
|
|
71
58
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lineage.js","sourceRoot":"","sources":["../../src/client/lineage.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAgE;IAEhE,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACxC,OAAO,OAAO,CAAC,MAAM,KAAK,UAAU,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC;AACzE,CAAC;AAOD;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU,CAAC,IAAoB,EAAE,SAAiB;IAChE,IAAI,OAAO,GAAG,SAAS,CAAC;IACxB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC;QACvC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC;QACzC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;
|
|
1
|
+
{"version":3,"file":"lineage.js","sourceRoot":"","sources":["../../src/client/lineage.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAgE;IAEhE,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACxC,OAAO,OAAO,CAAC,MAAM,KAAK,UAAU,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC;AACzE,CAAC;AAOD;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU,CAAC,IAAoB,EAAE,SAAiB;IAChE,IAAI,OAAO,GAAG,SAAS,CAAC;IACxB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC;QACvC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC;QACzC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AASD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,yBAAyB,CACvC,IAA8C,EAC9C,KAAsC;IAEtC,MAAM,OAAO,GAAG,CAAC,MAAc,EAAW,EAAE,CAC1C,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU;YAAE,SAAS;QAC5C,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,SAAS;QAC3B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAAE,SAAS;QAC7C,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACb,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
@@ -19,10 +19,10 @@ export const CodeBlock = memo(function CodeBlock({ code, lang, }) {
|
|
|
19
19
|
return;
|
|
20
20
|
clipboard.writeText(code).then(pulseCopied, () => undefined);
|
|
21
21
|
}, [code, pulseCopied]);
|
|
22
|
-
return (_jsxs("div", { className: "dsh-qa-md-code", children: [_jsxs("div", { className: "dsh-qa-md-code__banner", children: [_jsx("span", { className: "dsh-qa-md-code__lang", children: lang ?? "" }), _jsx("button", { type: "button", className: "dsh-qa-md-code__copy", onClick: onCopy, "aria-label": copied ? "Скопировано" : "Копировать код", children: copied ? "Скопировано" : "Копировать" })] }), _jsx("pre", { tabIndex: 0, children: _jsx("code", { "data-language": lang, children: lines.map((line, index) => (_jsxs(Fragment, { children: [index > 0 ? "\n" : null, line.map((span, spanIndex) => span.cls === undefined ? (_jsx(Fragment, { children: span.text }, spanIndex)) : (_jsx("span", { className: "dsh-qa-md-tok", "data-tok": span.cls, children: span.text }, spanIndex)))] }, index))) }) })] }));
|
|
22
|
+
return (_jsxs("div", { className: "dsh-qa-md-code", "data-testid": "qa-md-code", children: [_jsxs("div", { className: "dsh-qa-md-code__banner", "data-testid": "qa-md-code-banner", children: [_jsx("span", { className: "dsh-qa-md-code__lang", "data-testid": "qa-md-code-lang", children: lang ?? "" }), _jsx("button", { type: "button", className: "dsh-qa-md-code__copy", "data-testid": "qa-md-code-copy", onClick: onCopy, "aria-label": copied ? "Скопировано" : "Копировать код", children: copied ? "Скопировано" : "Копировать" })] }), _jsx("pre", { tabIndex: 0, "data-testid": "qa-md-code-pre", children: _jsx("code", { "data-language": lang, "data-testid": "qa-md-code-content", children: lines.map((line, index) => (_jsxs(Fragment, { children: [index > 0 ? "\n" : null, line.map((span, spanIndex) => span.cls === undefined ? (_jsx(Fragment, { children: span.text }, spanIndex)) : (_jsx("span", { className: "dsh-qa-md-tok", "data-tok": span.cls, "data-testid": "qa-md-code-token", children: span.text }, spanIndex)))] }, index))) }) })] }));
|
|
23
23
|
});
|
|
24
24
|
/** The globe an external link wears, drawn like the surface's other icons. */
|
|
25
25
|
export function LinkGlyph() {
|
|
26
|
-
return (_jsxs("svg", { className: "dsh-qa-md-link-icon", viewBox: "0 0 14 14", "aria-hidden": "true", children: [_jsx("circle", { cx: "7", cy: "7", r: "5.1" }), _jsx("path", { d: "M7 1.9c1.6 1.7 1.6 8.5 0 10.2M7 1.9c-1.6 1.7-1.6 8.5 0 10.2M1.9 7h10.2" })] }));
|
|
26
|
+
return (_jsxs("svg", { className: "dsh-qa-md-link-icon", "data-testid": "qa-md-link-icon", viewBox: "0 0 14 14", "aria-hidden": "true", children: [_jsx("circle", { cx: "7", cy: "7", r: "5.1" }), _jsx("path", { d: "M7 1.9c1.6 1.7 1.6 8.5 0 10.2M7 1.9c-1.6 1.7-1.6 8.5 0 10.2M1.9 7h10.2" })] }));
|
|
27
27
|
}
|
|
28
28
|
//# sourceMappingURL=CodeBlock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeBlock.js","sourceRoot":"","sources":["../../../src/client/markdown/CodeBlock.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,2EAA2E;AAC3E,MAAM,SAAS,GAAG,IAAI,CAAC;AAEvB;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,SAAS,CAAC,EAC/C,IAAI,EACJ,IAAI,GAIL;IACC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACtE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9B,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;QACtC,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO;QACpC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC/D,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IACxB,OAAO,CACL,eAAK,SAAS,EAAC,gBAAgB,
|
|
1
|
+
{"version":3,"file":"CodeBlock.js","sourceRoot":"","sources":["../../../src/client/markdown/CodeBlock.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,2EAA2E;AAC3E,MAAM,SAAS,GAAG,IAAI,CAAC;AAEvB;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,SAAS,CAAC,EAC/C,IAAI,EACJ,IAAI,GAIL;IACC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACtE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9B,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;QACtC,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO;QACpC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC/D,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IACxB,OAAO,CACL,eAAK,SAAS,EAAC,gBAAgB,iBAAa,YAAY,aACtD,eAAK,SAAS,EAAC,wBAAwB,iBAAa,mBAAmB,aACrE,eAAM,SAAS,EAAC,sBAAsB,iBAAa,iBAAiB,YACjE,IAAI,IAAI,EAAE,GACN,EACP,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,sBAAsB,iBACpB,iBAAiB,EAC7B,OAAO,EAAE,MAAM,gBACH,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,gBAAgB,YAEpD,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,GAC/B,IACL,EACN,cAAK,QAAQ,EAAE,CAAC,iBAAc,gBAAgB,YAC5C,gCAAqB,IAAI,iBAAc,oBAAoB,YACxD,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAC1B,MAAC,QAAQ,eACN,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EACvB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAC5B,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,CACvB,KAAC,QAAQ,cAAkB,IAAI,CAAC,IAAI,IAArB,SAAS,CAAwB,CACjD,CAAC,CAAC,CAAC,CACF,eAEE,SAAS,EAAC,eAAe,cACf,IAAI,CAAC,GAAG,iBACN,kBAAkB,YAE7B,IAAI,CAAC,IAAI,IALL,SAAS,CAMT,CACR,CACF,KAfY,KAAK,CAgBT,CACZ,CAAC,GACG,GACH,IACF,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,MAAM,UAAU,SAAS;IACvB,OAAO,CACL,eACE,SAAS,EAAC,qBAAqB,iBACnB,iBAAiB,EAC7B,OAAO,EAAC,WAAW,iBACP,MAAM,aAElB,iBAAQ,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,KAAK,GAAG,EAChC,eAAM,CAAC,EAAC,wEAAwE,GAAG,IAC/E,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -16,6 +16,15 @@
|
|
|
16
16
|
* delimiters stay literal text, exactly as the Host renders them. Footnote
|
|
17
17
|
* definitions (`[^id]: …`) are collected the way GitHub's dialect does, with
|
|
18
18
|
* lazy and indented continuation lines.
|
|
19
|
+
*
|
|
20
|
+
* A frame of a live stream is parsed with `streaming: true`, which says one
|
|
21
|
+
* thing only: the text may still grow. Block boundaries stay the business of
|
|
22
|
+
* this module — a caller that knows the answer is being written passes the
|
|
23
|
+
* flag, and nothing here is re-detected elsewhere. Two readings change with
|
|
24
|
+
* it: a block whose region runs to the end of the text has not met its
|
|
25
|
+
* terminator, so a fence or a `$$` block reports `pending`, and a table treats
|
|
26
|
+
* its live last line as still written (a delimiter row being typed opens the
|
|
27
|
+
* header, a row being typed stays out of the cells).
|
|
19
28
|
*/
|
|
20
29
|
/** Container depth ceiling: enough for real answers, too low to recurse away.
|
|
21
30
|
* Past it a marker stays literal text — the content is never dropped. */
|
|
@@ -28,6 +37,8 @@ const QUOTE = /^ {0,3}>[ \t]?(.*)$/u;
|
|
|
28
37
|
const LIST_MARKER = /^( {0,3})([-+*]|\d{1,9}[.)])([ \t]+|$)/u;
|
|
29
38
|
const DEFINITION = /^ {0,3}\[([^\]^][^\]]*)\]:[ \t]*<?([^\s>]+)>?[ \t]*$/u;
|
|
30
39
|
const ALIGNMENT_CELL = /^:?-+:?$/u;
|
|
40
|
+
/** A delimiter cell mid-typing: the colons and dashes a settled one carries. */
|
|
41
|
+
const ALIGNMENT_PREFIX = /^:?-{0,}:?$/u;
|
|
31
42
|
const CHECKBOX = /^\[([ xX])\][ \t]+/u;
|
|
32
43
|
/** Display math opener: `$$` with the rest of the line as same-line content. */
|
|
33
44
|
const MATH_FLOW = /^ {0,3}\$\$(.*)$/u;
|
|
@@ -68,8 +79,14 @@ export function splitTableRow(line) {
|
|
|
68
79
|
* Does a GFM table start at `index`? The header must carry a pipe and the
|
|
69
80
|
* delimiter row must match it cell for cell — which is also what keeps a
|
|
70
81
|
* setext underline (`---` after a paragraph) out of the table arm.
|
|
82
|
+
*
|
|
83
|
+
* While the stream is typing the delimiter row, that row is a shorter run of
|
|
84
|
+
* alignment prefixes, and the arm takes it: the header reaches the table
|
|
85
|
+
* instead of showing its pipes as prose. The same text parsed as settled reads
|
|
86
|
+
* as the paragraph GFM makes of an unfinished delimiter row, so a held frame
|
|
87
|
+
* never becomes the final one.
|
|
71
88
|
*/
|
|
72
|
-
function tableAlignments(lines, index) {
|
|
89
|
+
function tableAlignments(lines, index, streaming) {
|
|
73
90
|
const headerLine = lines[index];
|
|
74
91
|
const delimiter = lines[index + 1];
|
|
75
92
|
if (headerLine === undefined || delimiter === undefined)
|
|
@@ -77,19 +94,53 @@ function tableAlignments(lines, index) {
|
|
|
77
94
|
if (!headerLine.includes("|"))
|
|
78
95
|
return undefined;
|
|
79
96
|
const cells = splitTableRow(delimiter);
|
|
80
|
-
if (cells.length === 0
|
|
97
|
+
if (cells.length === 0)
|
|
98
|
+
return undefined;
|
|
99
|
+
const head = splitTableRow(headerLine);
|
|
100
|
+
const settled = cells.length === head.length;
|
|
101
|
+
if (!settled &&
|
|
102
|
+
(!streaming ||
|
|
103
|
+
cells.length > head.length ||
|
|
104
|
+
index + 1 !== lines.length - 1 ||
|
|
105
|
+
delimiter.trim() === "")) {
|
|
81
106
|
return undefined;
|
|
82
107
|
}
|
|
83
108
|
const alignments = [];
|
|
84
109
|
for (const cell of cells) {
|
|
85
|
-
if (!ALIGNMENT_CELL.test(cell))
|
|
110
|
+
if (!(settled ? ALIGNMENT_CELL : ALIGNMENT_PREFIX).test(cell)) {
|
|
86
111
|
return undefined;
|
|
112
|
+
}
|
|
87
113
|
const left = cell.startsWith(":");
|
|
88
114
|
const right = cell.endsWith(":");
|
|
89
115
|
alignments.push(left && right ? "center" : right ? "right" : "left");
|
|
90
116
|
}
|
|
91
117
|
return alignments;
|
|
92
118
|
}
|
|
119
|
+
/**
|
|
120
|
+
* The index of the line this container's text may still be growing at, or -1
|
|
121
|
+
* when every line is settled: a last line carrying content has no newline under
|
|
122
|
+
* it yet, so the model is typing it. That is what keeps a half-written table row
|
|
123
|
+
* out of the cells and a `$$` opener with text after it still open. Settled text
|
|
124
|
+
* always reports -1, which is what keeps a held frame from changing how a
|
|
125
|
+
* finished answer reads.
|
|
126
|
+
*/
|
|
127
|
+
function liveEdge(lines, streaming) {
|
|
128
|
+
if (!streaming)
|
|
129
|
+
return -1;
|
|
130
|
+
const last = lines.length - 1;
|
|
131
|
+
return last >= 0 && (lines[last] ?? "").trim() !== "" ? last : -1;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* The payload of a block the stream stopped inside. A frame that ends right
|
|
135
|
+
* after a line break carries that break as an empty last line, and those lines
|
|
136
|
+
* are the block's unwritten rest rather than its content.
|
|
137
|
+
*/
|
|
138
|
+
function livePayload(lines) {
|
|
139
|
+
let end = lines.length;
|
|
140
|
+
while (end > 0 && (lines[end - 1] ?? "").trim() === "")
|
|
141
|
+
end -= 1;
|
|
142
|
+
return lines.slice(0, end).join("\n");
|
|
143
|
+
}
|
|
93
144
|
/** A fence closes on a run of its own marker at least as long as the opener's. */
|
|
94
145
|
function closesFence(line, marker) {
|
|
95
146
|
const trimmed = line.trim();
|
|
@@ -104,14 +155,16 @@ function closesFence(line, marker) {
|
|
|
104
155
|
/**
|
|
105
156
|
* Parse a whole document.
|
|
106
157
|
* @param text - Markdown source with any line endings.
|
|
158
|
+
* @param options - How to read the end of the text; a live stream frame marks
|
|
159
|
+
* the block it stopped inside as pending.
|
|
107
160
|
* @returns Blocks plus the definitions the inline pass resolves against.
|
|
108
161
|
*/
|
|
109
|
-
export function parseMarkdown(text) {
|
|
162
|
+
export function parseMarkdown(text, options = {}) {
|
|
110
163
|
const definitions = new Map();
|
|
111
164
|
const footnotes = new Map();
|
|
112
165
|
const lines = text.replace(/\r\n?/gu, "\n").split("\n");
|
|
113
166
|
return {
|
|
114
|
-
blocks: parseBlocks(lines, definitions, footnotes, 0),
|
|
167
|
+
blocks: parseBlocks(lines, definitions, footnotes, 0, options.streaming === true),
|
|
115
168
|
definitions,
|
|
116
169
|
footnotes,
|
|
117
170
|
};
|
|
@@ -122,10 +175,13 @@ export function parseMarkdown(text) {
|
|
|
122
175
|
* @param definitions - Document-wide definition accumulator.
|
|
123
176
|
* @param footnotes - Document-wide footnote accumulator.
|
|
124
177
|
* @param depth - Container nesting depth.
|
|
178
|
+
* @param streaming - Whether the text is a live frame, so the container's last
|
|
179
|
+
* line may still be typed.
|
|
125
180
|
* @returns The container's blocks.
|
|
126
181
|
*/
|
|
127
|
-
export function parseBlocks(lines, definitions, footnotes, depth) {
|
|
182
|
+
export function parseBlocks(lines, definitions, footnotes, depth, streaming = false) {
|
|
128
183
|
const blocks = [];
|
|
184
|
+
const edge = liveEdge(lines, streaming);
|
|
129
185
|
let index = 0;
|
|
130
186
|
while (index < lines.length) {
|
|
131
187
|
const line = lines[index] ?? "";
|
|
@@ -143,26 +199,32 @@ export function parseBlocks(lines, definitions, footnotes, depth) {
|
|
|
143
199
|
code.push((lines[index] ?? "").slice(Math.min(indent, indentOf(lines[index] ?? ""))));
|
|
144
200
|
index += 1;
|
|
145
201
|
}
|
|
146
|
-
|
|
202
|
+
const closed = index < lines.length;
|
|
203
|
+
if (closed)
|
|
147
204
|
index += 1;
|
|
148
205
|
const lang = /^\S+/u.exec(fence[2]?.trim() ?? "")?.[0];
|
|
149
206
|
blocks.push({
|
|
150
207
|
kind: "code",
|
|
151
|
-
text: code.join("\n"),
|
|
208
|
+
text: closed || !streaming ? code.join("\n") : livePayload(code),
|
|
152
209
|
...(lang === undefined ? {} : { lang }),
|
|
210
|
+
...(closed || !streaming ? {} : { pending: true }),
|
|
153
211
|
});
|
|
154
212
|
continue;
|
|
155
213
|
}
|
|
156
214
|
const math = MATH_FLOW.exec(line);
|
|
157
215
|
if (math !== null) {
|
|
158
|
-
const parsed = parseMathFlow(lines, index, math[1] ?? "");
|
|
216
|
+
const parsed = parseMathFlow(lines, index, math[1] ?? "", edge, streaming);
|
|
159
217
|
if (parsed !== undefined) {
|
|
160
|
-
blocks.push({
|
|
218
|
+
blocks.push({
|
|
219
|
+
kind: "math",
|
|
220
|
+
text: parsed.text,
|
|
221
|
+
...(parsed.pending ? { pending: true } : {}),
|
|
222
|
+
});
|
|
161
223
|
index = parsed.next;
|
|
162
224
|
continue;
|
|
163
225
|
}
|
|
164
|
-
//
|
|
165
|
-
//
|
|
226
|
+
// Settled text only: an unclosed or content-bearing opener line stays a
|
|
227
|
+
// paragraph, whose inline pass leaves the dollars literal.
|
|
166
228
|
}
|
|
167
229
|
const heading = ATX_HEADING.exec(line);
|
|
168
230
|
if (heading !== null) {
|
|
@@ -198,11 +260,11 @@ export function parseBlocks(lines, definitions, footnotes, depth) {
|
|
|
198
260
|
}
|
|
199
261
|
blocks.push({
|
|
200
262
|
kind: "quote",
|
|
201
|
-
blocks: parseBlocks(body, definitions, footnotes, depth + 1),
|
|
263
|
+
blocks: parseBlocks(body, definitions, footnotes, depth + 1, streaming),
|
|
202
264
|
});
|
|
203
265
|
continue;
|
|
204
266
|
}
|
|
205
|
-
const alignments = tableAlignments(lines, index);
|
|
267
|
+
const alignments = tableAlignments(lines, index, streaming);
|
|
206
268
|
if (alignments !== undefined && LIST_MARKER.exec(line) === null) {
|
|
207
269
|
const head = splitTableRow(line);
|
|
208
270
|
const rows = [];
|
|
@@ -211,7 +273,11 @@ export function parseBlocks(lines, definitions, footnotes, depth) {
|
|
|
211
273
|
const row = lines[cursor] ?? "";
|
|
212
274
|
if (isBlank(row) || !row.includes("|") || startsBlock(row))
|
|
213
275
|
break;
|
|
214
|
-
|
|
276
|
+
// The row the stream is still typing stays inside the block but out of
|
|
277
|
+
// its cells: half a row would flash as a truncated one, and it is
|
|
278
|
+
// rendered by the next frame, which has the whole row.
|
|
279
|
+
if (cursor !== edge)
|
|
280
|
+
rows.push(splitTableRow(row));
|
|
215
281
|
cursor += 1;
|
|
216
282
|
}
|
|
217
283
|
blocks.push({ kind: "table", align: alignments, head, rows });
|
|
@@ -219,7 +285,7 @@ export function parseBlocks(lines, definitions, footnotes, depth) {
|
|
|
219
285
|
continue;
|
|
220
286
|
}
|
|
221
287
|
if (depth < MAX_DEPTH && LIST_MARKER.test(line)) {
|
|
222
|
-
const list = parseList(lines, index, definitions, footnotes, depth);
|
|
288
|
+
const list = parseList(lines, index, definitions, footnotes, depth, streaming);
|
|
223
289
|
blocks.push(list.list);
|
|
224
290
|
index = list.next;
|
|
225
291
|
continue;
|
|
@@ -237,12 +303,12 @@ export function parseBlocks(lines, definitions, footnotes, depth) {
|
|
|
237
303
|
const id = (footnote[1] ?? "").toUpperCase();
|
|
238
304
|
const body = footnoteBody(lines, index, footnote[2] ?? "");
|
|
239
305
|
if (!footnotes.has(id)) {
|
|
240
|
-
footnotes.set(id, parseBlocks(body.lines, definitions, footnotes, depth + 1));
|
|
306
|
+
footnotes.set(id, parseBlocks(body.lines, definitions, footnotes, depth + 1, streaming));
|
|
241
307
|
}
|
|
242
308
|
index = body.next;
|
|
243
309
|
continue;
|
|
244
310
|
}
|
|
245
|
-
const paragraph = collectParagraph(lines, index);
|
|
311
|
+
const paragraph = collectParagraph(lines, index, streaming);
|
|
246
312
|
blocks.push(paragraph.block);
|
|
247
313
|
index = paragraph.next;
|
|
248
314
|
}
|
|
@@ -253,9 +319,10 @@ export function parseBlocks(lines, definitions, footnotes, depth) {
|
|
|
253
319
|
* after it is an underline.
|
|
254
320
|
* @param lines - Container lines.
|
|
255
321
|
* @param start - Index of the paragraph's first line.
|
|
322
|
+
* @param streaming - Whether the text may still grow.
|
|
256
323
|
* @returns The block and the index after it.
|
|
257
324
|
*/
|
|
258
|
-
function collectParagraph(lines, start) {
|
|
325
|
+
function collectParagraph(lines, start, streaming) {
|
|
259
326
|
const text = [];
|
|
260
327
|
let index = start;
|
|
261
328
|
while (index < lines.length) {
|
|
@@ -276,7 +343,7 @@ function collectParagraph(lines, start) {
|
|
|
276
343
|
}
|
|
277
344
|
if (startsBlock(line))
|
|
278
345
|
break;
|
|
279
|
-
if (tableAlignments(lines, index) !== undefined)
|
|
346
|
+
if (tableAlignments(lines, index, streaming) !== undefined)
|
|
280
347
|
break;
|
|
281
348
|
}
|
|
282
349
|
text.push(line.trimStart());
|
|
@@ -295,27 +362,46 @@ function collectParagraph(lines, start) {
|
|
|
295
362
|
* line must be empty and the content runs to a `$$` fence line, as GitHub's
|
|
296
363
|
* dialect reads it. The Host drops content written after a fence opener's
|
|
297
364
|
* `$$`; here such a line stays a paragraph instead, so no text is lost.
|
|
365
|
+
*
|
|
366
|
+
* A block whose region runs to the end of the text has not met its closer, so
|
|
367
|
+
* while the stream is writing it the block is reported as pending: the reader
|
|
368
|
+
* sees the formula being written instead of its dollars, and the settled frame
|
|
369
|
+
* of the same text decides what the block really is. Settled text keeps the
|
|
370
|
+
* reading above, because an answer that never closes a `$$` is prose.
|
|
298
371
|
* @param lines - Container lines.
|
|
299
372
|
* @param start - Index of the opener line.
|
|
300
373
|
* @param rest - The opener line after its `$$`.
|
|
301
|
-
* @
|
|
374
|
+
* @param edge - The line the stream may still be typing, or -1.
|
|
375
|
+
* @param streaming - Whether the text is a live frame.
|
|
376
|
+
* @returns The TeX payload, the index after the block, and whether it is open.
|
|
302
377
|
*/
|
|
303
|
-
function parseMathFlow(lines, start, rest) {
|
|
378
|
+
function parseMathFlow(lines, start, rest, edge, streaming) {
|
|
304
379
|
const sameLine = rest.indexOf("$$");
|
|
305
380
|
if (sameLine >= 0 && rest.slice(sameLine + 2).trim() === "") {
|
|
306
|
-
return { text: rest.slice(0, sameLine), next: start + 1 };
|
|
381
|
+
return { text: rest.slice(0, sameLine), next: start + 1, pending: false };
|
|
382
|
+
}
|
|
383
|
+
if (start === edge) {
|
|
384
|
+
return { text: rest, next: lines.length, pending: true };
|
|
307
385
|
}
|
|
308
|
-
if (rest.trim() !== "")
|
|
309
|
-
return undefined;
|
|
310
386
|
const body = [];
|
|
387
|
+
if (rest.trim() !== "") {
|
|
388
|
+
if (!streaming)
|
|
389
|
+
return undefined;
|
|
390
|
+
// The line break under the opener says the block went on below it rather
|
|
391
|
+
// than closing on its own line, so the opener's TeX starts the body.
|
|
392
|
+
body.push(rest);
|
|
393
|
+
}
|
|
311
394
|
let index = start + 1;
|
|
312
395
|
while (index < lines.length && !MATH_FLOW_CLOSE.test(lines[index] ?? "")) {
|
|
313
396
|
body.push(lines[index] ?? "");
|
|
314
397
|
index += 1;
|
|
315
398
|
}
|
|
316
|
-
if (index >= lines.length)
|
|
317
|
-
return
|
|
318
|
-
|
|
399
|
+
if (index >= lines.length) {
|
|
400
|
+
return streaming
|
|
401
|
+
? { text: livePayload(body), next: lines.length, pending: true }
|
|
402
|
+
: undefined;
|
|
403
|
+
}
|
|
404
|
+
return { text: body.join("\n"), next: index + 1, pending: false };
|
|
319
405
|
}
|
|
320
406
|
/**
|
|
321
407
|
* Collect a footnote definition's body: the opener line's inline tail plus
|
|
@@ -363,9 +449,10 @@ function footnoteBody(lines, start, rest) {
|
|
|
363
449
|
* @param start - Index of the first item's marker.
|
|
364
450
|
* @param definitions - Document-wide definition accumulator.
|
|
365
451
|
* @param depth - Container nesting depth.
|
|
452
|
+
* @param streaming - Whether the text may still grow.
|
|
366
453
|
* @returns The list block and the index after its last item.
|
|
367
454
|
*/
|
|
368
|
-
function parseList(lines, start, definitions, footnotes, depth) {
|
|
455
|
+
function parseList(lines, start, definitions, footnotes, depth, streaming) {
|
|
369
456
|
const first = LIST_MARKER.exec(lines[start] ?? "");
|
|
370
457
|
const ordered = /^\d/u.test(first?.[2] ?? "-");
|
|
371
458
|
const bullet = first?.[2] ?? "-";
|
|
@@ -420,7 +507,7 @@ function parseList(lines, start, definitions, footnotes, depth) {
|
|
|
420
507
|
// that opens a block of its own ends the item instead.
|
|
421
508
|
if (startsBlock(current))
|
|
422
509
|
break;
|
|
423
|
-
if (tableAlignments(lines, index) !== undefined)
|
|
510
|
+
if (tableAlignments(lines, index, streaming) !== undefined)
|
|
424
511
|
break;
|
|
425
512
|
itemLines.push(current.trimStart());
|
|
426
513
|
index += 1;
|
|
@@ -432,7 +519,7 @@ function parseList(lines, start, definitions, footnotes, depth) {
|
|
|
432
519
|
}
|
|
433
520
|
const itemBlocks = depth >= MAX_DEPTH
|
|
434
521
|
? []
|
|
435
|
-
: parseBlocks(itemLines, definitions, footnotes, depth + 1);
|
|
522
|
+
: parseBlocks(itemLines, definitions, footnotes, depth + 1, streaming);
|
|
436
523
|
// Only a blank line inside the item spreads it: an item that merely carries
|
|
437
524
|
// a nested list or a fence still renders as a tight item, as GFM says.
|
|
438
525
|
if (itemSpread)
|