@genesislcap/ai-assistant 15.18.0 → 15.19.0-DCD-4786.3
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/dist/ai-assistant.api.json +124 -139
- package/dist/ai-assistant.d.ts +98 -38
- package/dist/custom-elements.json +200 -61
- package/dist/dts/components/agent-picker/agent-picker.constants.d.ts +1 -1
- package/dist/dts/components/agent-picker/agent-picker.constants.d.ts.map +1 -1
- package/dist/dts/components/agent-picker/agent-picker.d.ts +29 -37
- package/dist/dts/components/agent-picker/agent-picker.d.ts.map +1 -1
- package/dist/dts/components/agent-picker/agent-picker.styles.d.ts.map +1 -1
- package/dist/dts/components/agent-picker/agent-picker.template.d.ts +1 -1
- package/dist/dts/components/agent-picker/agent-picker.template.d.ts.map +1 -1
- package/dist/dts/main/main.d.ts +69 -0
- package/dist/dts/main/main.d.ts.map +1 -1
- package/dist/dts/main/main.styles.d.ts.map +1 -1
- package/dist/dts/main/main.template.d.ts.map +1 -1
- package/dist/dts/styles/ai-colours.d.ts +13 -0
- package/dist/dts/styles/ai-colours.d.ts.map +1 -1
- package/dist/dts/styles/menu.d.ts +35 -0
- package/dist/dts/styles/menu.d.ts.map +1 -0
- package/dist/esm/components/agent-picker/agent-picker.constants.js +1 -1
- package/dist/esm/components/agent-picker/agent-picker.js +40 -75
- package/dist/esm/components/agent-picker/agent-picker.styles.js +9 -59
- package/dist/esm/components/agent-picker/agent-picker.template.js +49 -70
- package/dist/esm/main/main.js +192 -13
- package/dist/esm/main/main.styles.js +223 -98
- package/dist/esm/main/main.template.js +177 -99
- package/dist/esm/styles/ai-colours.js +18 -0
- package/dist/esm/styles/menu.js +186 -0
- package/docs/migration-GENC-1557.md +126 -0
- package/docs/styling.md +44 -1
- package/package.json +18 -18
- package/sandbox/README.md +72 -0
- package/sandbox/controls.ts +154 -0
- package/sandbox/fixtures.ts +315 -0
- package/sandbox/index.html +31 -0
- package/sandbox/sandbox.css +237 -0
- package/sandbox/sandbox.ts +559 -0
- package/sandbox/vite.config.mts +44 -0
- package/api-extractor.json +0 -11
- package/dist/dts/components/chat-driver/chat-driver.compact.test.d.ts +0 -2
- package/dist/dts/components/chat-driver/chat-driver.compact.test.d.ts.map +0 -1
- package/dist/dts/components/chat-driver/chat-driver.invocation-scope.test.d.ts +0 -2
- package/dist/dts/components/chat-driver/chat-driver.invocation-scope.test.d.ts.map +0 -1
- package/dist/dts/components/chat-driver/chat-driver.test.d.ts +0 -2
- package/dist/dts/components/chat-driver/chat-driver.test.d.ts.map +0 -1
- package/dist/dts/components/chat-driver/chat-driver.thinking-policy.test.d.ts +0 -2
- package/dist/dts/components/chat-driver/chat-driver.thinking-policy.test.d.ts.map +0 -1
- package/dist/dts/components/chat-driver/chat-driver.trace-capture.test.d.ts +0 -2
- package/dist/dts/components/chat-driver/chat-driver.trace-capture.test.d.ts.map +0 -1
- package/dist/dts/components/chat-driver/chat-driver.turn-usage.test.d.ts +0 -2
- package/dist/dts/components/chat-driver/chat-driver.turn-usage.test.d.ts.map +0 -1
- package/dist/dts/components/chat-interaction-wrapper/chat-interaction-wrapper.test.d.ts +0 -2
- package/dist/dts/components/chat-interaction-wrapper/chat-interaction-wrapper.test.d.ts.map +0 -1
- package/dist/dts/components/orchestrating-driver/orchestrating-driver.budget.test.d.ts +0 -2
- package/dist/dts/components/orchestrating-driver/orchestrating-driver.budget.test.d.ts.map +0 -1
- package/dist/dts/components/orchestrating-driver/orchestrating-driver.cost.test.d.ts +0 -2
- package/dist/dts/components/orchestrating-driver/orchestrating-driver.cost.test.d.ts.map +0 -1
- package/dist/dts/components/orchestrating-driver/orchestrating-driver.pin.test.d.ts +0 -2
- package/dist/dts/components/orchestrating-driver/orchestrating-driver.pin.test.d.ts.map +0 -1
- package/dist/dts/components/settings-modal/settings-modal.styles.test.d.ts +0 -2
- package/dist/dts/components/settings-modal/settings-modal.styles.test.d.ts.map +0 -1
- package/dist/dts/components/settings-modal/settings-modal.template.test.d.ts +0 -2
- package/dist/dts/components/settings-modal/settings-modal.template.test.d.ts.map +0 -1
- package/dist/dts/config/define-stateful-agent.test.d.ts +0 -2
- package/dist/dts/config/define-stateful-agent.test.d.ts.map +0 -1
- package/dist/dts/config/validate-providers.test.d.ts +0 -2
- package/dist/dts/config/validate-providers.test.d.ts.map +0 -1
- package/dist/dts/main/blocked-state.test.d.ts +0 -2
- package/dist/dts/main/blocked-state.test.d.ts.map +0 -1
- package/dist/dts/main/budget-meter.test.d.ts +0 -2
- package/dist/dts/main/budget-meter.test.d.ts.map +0 -1
- package/dist/dts/main/cost-session-banking.test.d.ts +0 -2
- package/dist/dts/main/cost-session-banking.test.d.ts.map +0 -1
- package/dist/dts/main/file-attachments.test.d.ts +0 -2
- package/dist/dts/main/file-attachments.test.d.ts.map +0 -1
- package/dist/dts/main/interaction-cost.test.d.ts +0 -2
- package/dist/dts/main/interaction-cost.test.d.ts.map +0 -1
- package/dist/dts/main/main.styles.test.d.ts +0 -2
- package/dist/dts/main/main.styles.test.d.ts.map +0 -1
- package/dist/dts/main/persistence-broken-sources.test.d.ts +0 -2
- package/dist/dts/main/persistence-broken-sources.test.d.ts.map +0 -1
- package/dist/dts/main/popout-interaction-gate.test.d.ts +0 -2
- package/dist/dts/main/popout-interaction-gate.test.d.ts.map +0 -1
- package/dist/dts/state/ai-assistant-slice.test.d.ts +0 -2
- package/dist/dts/state/ai-assistant-slice.test.d.ts.map +0 -1
- package/dist/dts/state/debug-event-log.test.d.ts +0 -2
- package/dist/dts/state/debug-event-log.test.d.ts.map +0 -1
- package/dist/dts/state/driver-registry.test.d.ts +0 -2
- package/dist/dts/state/driver-registry.test.d.ts.map +0 -1
- package/dist/dts/state/interaction-context.test.d.ts +0 -2
- package/dist/dts/state/interaction-context.test.d.ts.map +0 -1
- package/dist/dts/state/persistence/diagnostics-cursors.test.d.ts +0 -2
- package/dist/dts/state/persistence/diagnostics-cursors.test.d.ts.map +0 -1
- package/dist/dts/state/persistence/diagnostics.test.d.ts +0 -2
- package/dist/dts/state/persistence/diagnostics.test.d.ts.map +0 -1
- package/dist/dts/state/persistence/session-persistence-provider.test.d.ts +0 -2
- package/dist/dts/state/persistence/session-persistence-provider.test.d.ts.map +0 -1
- package/dist/dts/state/persistence/session-persistence.integration.test.d.ts +0 -2
- package/dist/dts/state/persistence/session-persistence.integration.test.d.ts.map +0 -1
- package/dist/dts/state/persistence/session-persister.test.d.ts +0 -2
- package/dist/dts/state/persistence/session-persister.test.d.ts.map +0 -1
- package/dist/dts/state/persistence/session-snapshot.test.d.ts +0 -2
- package/dist/dts/state/persistence/session-snapshot.test.d.ts.map +0 -1
- package/dist/dts/state/persistence/stateful-restore.e2e.test.d.ts +0 -2
- package/dist/dts/state/persistence/stateful-restore.e2e.test.d.ts.map +0 -1
- package/dist/dts/utils/animation-exclusivity.test.d.ts +0 -2
- package/dist/dts/utils/animation-exclusivity.test.d.ts.map +0 -1
- package/dist/dts/utils/collect-session-models.test.d.ts +0 -2
- package/dist/dts/utils/collect-session-models.test.d.ts.map +0 -1
- package/dist/dts/utils/condense-history.test.d.ts +0 -2
- package/dist/dts/utils/condense-history.test.d.ts.map +0 -1
- package/dist/dts/utils/cost-session-history.test.d.ts +0 -2
- package/dist/dts/utils/cost-session-history.test.d.ts.map +0 -1
- package/dist/dts/utils/derive-cost-session-title.test.d.ts +0 -2
- package/dist/dts/utils/derive-cost-session-title.test.d.ts.map +0 -1
- package/dist/dts/utils/flatten-sub-agent-messages.test.d.ts +0 -2
- package/dist/dts/utils/flatten-sub-agent-messages.test.d.ts.map +0 -1
- package/dist/dts/utils/history-transform.test.d.ts +0 -2
- package/dist/dts/utils/history-transform.test.d.ts.map +0 -1
- package/dist/dts/utils/message-partition.test.d.ts +0 -2
- package/dist/dts/utils/message-partition.test.d.ts.map +0 -1
- package/dist/dts/utils/resolve-cost-history-config.test.d.ts +0 -2
- package/dist/dts/utils/resolve-cost-history-config.test.d.ts.map +0 -1
- package/dist/dts/utils/resolve-preference-baseline.test.d.ts +0 -2
- package/dist/dts/utils/resolve-preference-baseline.test.d.ts.map +0 -1
- package/dist/dts/utils/strip-agent-handlers.test.d.ts +0 -2
- package/dist/dts/utils/strip-agent-handlers.test.d.ts.map +0 -1
- package/dist/dts/utils/sum-costs.test.d.ts +0 -2
- package/dist/dts/utils/sum-costs.test.d.ts.map +0 -1
- package/dist/dts/utils/sum-tokens.test.d.ts +0 -2
- package/dist/dts/utils/sum-tokens.test.d.ts.map +0 -1
- package/dist/dts/utils/sum-usage.test.d.ts +0 -2
- package/dist/dts/utils/sum-usage.test.d.ts.map +0 -1
- package/dist/dts/utils/usage-rows.test.d.ts +0 -2
- package/dist/dts/utils/usage-rows.test.d.ts.map +0 -1
- package/dist/esm/components/chat-driver/chat-driver.compact.test.js +0 -93
- package/dist/esm/components/chat-driver/chat-driver.invocation-scope.test.js +0 -238
- package/dist/esm/components/chat-driver/chat-driver.test.js +0 -2770
- package/dist/esm/components/chat-driver/chat-driver.thinking-policy.test.js +0 -137
- package/dist/esm/components/chat-driver/chat-driver.trace-capture.test.js +0 -200
- package/dist/esm/components/chat-driver/chat-driver.turn-usage.test.js +0 -268
- package/dist/esm/components/chat-interaction-wrapper/chat-interaction-wrapper.test.js +0 -104
- package/dist/esm/components/orchestrating-driver/orchestrating-driver.budget.test.js +0 -312
- package/dist/esm/components/orchestrating-driver/orchestrating-driver.cost.test.js +0 -76
- package/dist/esm/components/orchestrating-driver/orchestrating-driver.pin.test.js +0 -61
- package/dist/esm/components/settings-modal/settings-modal.styles.test.js +0 -80
- package/dist/esm/components/settings-modal/settings-modal.template.test.js +0 -91
- package/dist/esm/config/define-stateful-agent.test.js +0 -53
- package/dist/esm/config/validate-providers.test.js +0 -100
- package/dist/esm/main/blocked-state.test.js +0 -1065
- package/dist/esm/main/budget-meter.test.js +0 -359
- package/dist/esm/main/cost-session-banking.test.js +0 -538
- package/dist/esm/main/file-attachments.test.js +0 -164
- package/dist/esm/main/interaction-cost.test.js +0 -107
- package/dist/esm/main/main.styles.test.js +0 -126
- package/dist/esm/main/persistence-broken-sources.test.js +0 -180
- package/dist/esm/main/popout-interaction-gate.test.js +0 -54
- package/dist/esm/state/ai-assistant-slice.test.js +0 -229
- package/dist/esm/state/debug-event-log.test.js +0 -117
- package/dist/esm/state/driver-registry.test.js +0 -55
- package/dist/esm/state/interaction-context.test.js +0 -78
- package/dist/esm/state/persistence/diagnostics-cursors.test.js +0 -30
- package/dist/esm/state/persistence/diagnostics.test.js +0 -280
- package/dist/esm/state/persistence/session-persistence-provider.test.js +0 -110
- package/dist/esm/state/persistence/session-persistence.integration.test.js +0 -113
- package/dist/esm/state/persistence/session-persister.test.js +0 -613
- package/dist/esm/state/persistence/session-snapshot.test.js +0 -256
- package/dist/esm/state/persistence/stateful-restore.e2e.test.js +0 -158
- package/dist/esm/utils/animation-exclusivity.test.js +0 -52
- package/dist/esm/utils/collect-session-models.test.js +0 -53
- package/dist/esm/utils/condense-history.test.js +0 -547
- package/dist/esm/utils/cost-session-history.test.js +0 -174
- package/dist/esm/utils/derive-cost-session-title.test.js +0 -37
- package/dist/esm/utils/flatten-sub-agent-messages.test.js +0 -139
- package/dist/esm/utils/history-transform.test.js +0 -158
- package/dist/esm/utils/message-partition.test.js +0 -90
- package/dist/esm/utils/resolve-cost-history-config.test.js +0 -32
- package/dist/esm/utils/resolve-preference-baseline.test.js +0 -69
- package/dist/esm/utils/strip-agent-handlers.test.js +0 -81
- package/dist/esm/utils/sum-costs.test.js +0 -114
- package/dist/esm/utils/sum-tokens.test.js +0 -51
- package/dist/esm/utils/sum-usage.test.js +0 -164
- package/dist/esm/utils/usage-rows.test.js +0 -189
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/license.txt +0 -46
- package/src/channel/ai-activity-bus.ts +0 -209
- package/src/channel/ai-activity-channel.ts +0 -146
- package/src/chat-driver-node.ts +0 -159
- package/src/components/activity-halo/activity-halo.ts +0 -106
- package/src/components/agent-picker/agent-picker.constants.ts +0 -2
- package/src/components/agent-picker/agent-picker.styles.ts +0 -74
- package/src/components/agent-picker/agent-picker.template.ts +0 -89
- package/src/components/agent-picker/agent-picker.ts +0 -148
- package/src/components/agent-picker/index.ts +0 -1
- package/src/components/ai-driver/ai-driver.ts +0 -166
- package/src/components/ai-driver/index.ts +0 -1
- package/src/components/chat-bubble/chat-bubble.styles.ts +0 -194
- package/src/components/chat-bubble/chat-bubble.template.ts +0 -67
- package/src/components/chat-bubble/chat-bubble.ts +0 -436
- package/src/components/chat-bubble/index.ts +0 -1
- package/src/components/chat-driver/align-event-globals.ts +0 -23
- package/src/components/chat-driver/chat-driver.compact.test.ts +0 -131
- package/src/components/chat-driver/chat-driver.invocation-scope.test.ts +0 -285
- package/src/components/chat-driver/chat-driver.test.ts +0 -3679
- package/src/components/chat-driver/chat-driver.thinking-policy.test.ts +0 -185
- package/src/components/chat-driver/chat-driver.trace-capture.test.ts +0 -251
- package/src/components/chat-driver/chat-driver.ts +0 -3925
- package/src/components/chat-driver/chat-driver.turn-usage.test.ts +0 -362
- package/src/components/chat-driver/index.ts +0 -1
- package/src/components/chat-interaction-wrapper/chat-interaction-wrapper.styles.ts +0 -7
- package/src/components/chat-interaction-wrapper/chat-interaction-wrapper.template.ts +0 -6
- package/src/components/chat-interaction-wrapper/chat-interaction-wrapper.test.ts +0 -144
- package/src/components/chat-interaction-wrapper/chat-interaction-wrapper.ts +0 -243
- package/src/components/chat-interaction-wrapper/index.ts +0 -3
- package/src/components/chat-markdown/chat-markdown.ts +0 -89
- package/src/components/chat-markdown/index.ts +0 -1
- package/src/components/flowing-waves-indicator.ts +0 -286
- package/src/components/halo-overlay.ts +0 -184
- package/src/components/orchestrating-driver/index.ts +0 -1
- package/src/components/orchestrating-driver/orchestrating-driver.budget.test.ts +0 -438
- package/src/components/orchestrating-driver/orchestrating-driver.cost.test.ts +0 -107
- package/src/components/orchestrating-driver/orchestrating-driver.pin.test.ts +0 -96
- package/src/components/orchestrating-driver/orchestrating-driver.ts +0 -813
- package/src/components/plasma-orb-indicator.ts +0 -281
- package/src/components/popout-manager/index.ts +0 -1
- package/src/components/popout-manager/popout-manager.ts +0 -212
- package/src/components/settings-modal/index.ts +0 -2
- package/src/components/settings-modal/settings-modal.styles.test.ts +0 -94
- package/src/components/settings-modal/settings-modal.styles.ts +0 -853
- package/src/components/settings-modal/settings-modal.template.test.ts +0 -124
- package/src/components/settings-modal/settings-modal.template.ts +0 -943
- package/src/components/waves-indicator.ts +0 -241
- package/src/config/config.ts +0 -608
- package/src/config/define-stateful-agent.test.ts +0 -64
- package/src/config/define-stateful-agent.ts +0 -642
- package/src/config/fallback-agents.ts +0 -29
- package/src/config/index.ts +0 -2
- package/src/config/validate-providers.test.ts +0 -148
- package/src/config/validate-providers.ts +0 -58
- package/src/index.ts +0 -29
- package/src/main/blocked-state.test.ts +0 -1444
- package/src/main/budget-meter.test.ts +0 -477
- package/src/main/cost-session-banking.test.ts +0 -679
- package/src/main/file-attachments.test.ts +0 -215
- package/src/main/index.ts +0 -3
- package/src/main/interaction-cost.test.ts +0 -140
- package/src/main/main.styles.test.ts +0 -168
- package/src/main/main.styles.ts +0 -869
- package/src/main/main.template.ts +0 -1050
- package/src/main/main.ts +0 -5228
- package/src/main/main.types.ts +0 -225
- package/src/main/persistence-broken-sources.test.ts +0 -219
- package/src/main/popout-interaction-gate.test.ts +0 -87
- package/src/provider/ai-provider-switcher.ts +0 -40
- package/src/provider/assistant-app-settings.ts +0 -84
- package/src/state/ai-assistant-slice.test.ts +0 -336
- package/src/state/ai-assistant-slice.ts +0 -604
- package/src/state/debug-event-log.test.ts +0 -154
- package/src/state/debug-event-log.ts +0 -358
- package/src/state/driver-registry.test.ts +0 -70
- package/src/state/driver-registry.ts +0 -79
- package/src/state/interaction-context.test.ts +0 -90
- package/src/state/interaction-context.ts +0 -101
- package/src/state/persistence/build-timeline-entries.ts +0 -66
- package/src/state/persistence/diagnostics-cursors.test.ts +0 -53
- package/src/state/persistence/diagnostics-cursors.ts +0 -80
- package/src/state/persistence/diagnostics.test.ts +0 -346
- package/src/state/persistence/diagnostics.ts +0 -220
- package/src/state/persistence/index.ts +0 -10
- package/src/state/persistence/persister-registry.ts +0 -55
- package/src/state/persistence/session-persistence-provider.test.ts +0 -136
- package/src/state/persistence/session-persistence-provider.ts +0 -226
- package/src/state/persistence/session-persistence.integration.test.ts +0 -141
- package/src/state/persistence/session-persister.test.ts +0 -787
- package/src/state/persistence/session-persister.ts +0 -917
- package/src/state/persistence/session-snapshot.test.ts +0 -352
- package/src/state/persistence/session-snapshot.ts +0 -344
- package/src/state/persistence/stateful-restore.e2e.test.ts +0 -229
- package/src/state/session-store.ts +0 -56
- package/src/styles/ai-colours.ts +0 -9
- package/src/styles/settings-section.ts +0 -40
- package/src/suggestions/chat-suggestions.ts +0 -186
- package/src/tags/index.ts +0 -1
- package/src/types/ai-chat-widget.ts +0 -67
- package/src/types/interaction-context.ts +0 -82
- package/src/utils/animated-panel-toggle.ts +0 -62
- package/src/utils/animation-exclusivity.test.ts +0 -72
- package/src/utils/animation-exclusivity.ts +0 -40
- package/src/utils/banked-usage-baselines.ts +0 -90
- package/src/utils/collect-session-models.test.ts +0 -82
- package/src/utils/collect-session-models.ts +0 -65
- package/src/utils/condense-history.test.ts +0 -746
- package/src/utils/condense-history.ts +0 -448
- package/src/utils/cost-session-history.test.ts +0 -226
- package/src/utils/cost-session-history.ts +0 -218
- package/src/utils/derive-cost-session-title.test.ts +0 -63
- package/src/utils/derive-cost-session-title.ts +0 -76
- package/src/utils/flatten-sub-agent-messages.test.ts +0 -163
- package/src/utils/flatten-sub-agent-messages.ts +0 -88
- package/src/utils/format-usd.ts +0 -26
- package/src/utils/history-transform.test.ts +0 -228
- package/src/utils/history-transform.ts +0 -163
- package/src/utils/index.ts +0 -3
- package/src/utils/logger.ts +0 -3
- package/src/utils/message-partition.test.ts +0 -129
- package/src/utils/message-partition.ts +0 -115
- package/src/utils/resolve-cost-history-config.test.ts +0 -38
- package/src/utils/resolve-cost-history-config.ts +0 -38
- package/src/utils/resolve-preference-baseline.test.ts +0 -84
- package/src/utils/resolve-preference-baseline.ts +0 -80
- package/src/utils/strip-agent-handlers.test.ts +0 -99
- package/src/utils/strip-agent-handlers.ts +0 -53
- package/src/utils/sum-costs.test.ts +0 -136
- package/src/utils/sum-costs.ts +0 -18
- package/src/utils/sum-tokens.test.ts +0 -93
- package/src/utils/sum-tokens.ts +0 -68
- package/src/utils/sum-usage.test.ts +0 -191
- package/src/utils/sum-usage.ts +0 -208
- package/src/utils/tool-fold.ts +0 -181
- package/src/utils/usage-rows.test.ts +0 -237
- package/src/utils/usage-rows.ts +0 -187
- package/src/utils/with-timeout.ts +0 -24
- package/tsconfig.json +0 -9
|
@@ -291,7 +291,7 @@
|
|
|
291
291
|
{
|
|
292
292
|
"kind": "Variable",
|
|
293
293
|
"canonicalReference": "@genesislcap/ai-assistant!AGENT_PICKER_AUTO_VALUE:var",
|
|
294
|
-
"docComment": "/**\n * Sentinel value
|
|
294
|
+
"docComment": "/**\n * Sentinel value representing \"Auto\" where a menu row needs a string value.\n */\n",
|
|
295
295
|
"excerptTokens": [
|
|
296
296
|
{
|
|
297
297
|
"kind": "Content",
|
|
@@ -1398,7 +1398,7 @@
|
|
|
1398
1398
|
{
|
|
1399
1399
|
"kind": "Class",
|
|
1400
1400
|
"canonicalReference": "@genesislcap/ai-assistant!AgentPicker:class",
|
|
1401
|
-
"docComment": "/**\n *
|
|
1401
|
+
"docComment": "/**\n * The agent menu shown from the composer's agent button.\n *\n * Renders `Auto` plus each top-level agent with `manualSelection.enabled`, one row apiece, tinted with the same pin colour the composer button shows once that agent is pinned. Sub-agents and non-selectable specialists are excluded. Hidden when fewer than two agents are configured or none are manually selectable.\n *\n * The rows are all this element owns. The panel around them — surface, border, position, open/close animation — belongs to the assistant, which renders this menu and the session (⋮) menu into the same container so the two match.\n *\n * @fires\n *\n * agent-pinned - Fired when the user changes selection with the agent name or `null` for Auto. detail: `string | null`\n *\n * @beta\n */\n",
|
|
1402
1402
|
"excerptTokens": [
|
|
1403
1403
|
{
|
|
1404
1404
|
"kind": "Content",
|
|
@@ -1455,72 +1455,10 @@
|
|
|
1455
1455
|
"isProtected": false,
|
|
1456
1456
|
"isAbstract": false
|
|
1457
1457
|
},
|
|
1458
|
-
{
|
|
1459
|
-
"kind": "Method",
|
|
1460
|
-
"canonicalReference": "@genesislcap/ai-assistant!AgentPicker#agentsChanged:member(1)",
|
|
1461
|
-
"docComment": "/**\n * Re-measure when agents change — newly added selectable agents may push the segmented row past the container's width.\n */\n",
|
|
1462
|
-
"excerptTokens": [
|
|
1463
|
-
{
|
|
1464
|
-
"kind": "Content",
|
|
1465
|
-
"text": "agentsChanged(): "
|
|
1466
|
-
},
|
|
1467
|
-
{
|
|
1468
|
-
"kind": "Content",
|
|
1469
|
-
"text": "void"
|
|
1470
|
-
},
|
|
1471
|
-
{
|
|
1472
|
-
"kind": "Content",
|
|
1473
|
-
"text": ";"
|
|
1474
|
-
}
|
|
1475
|
-
],
|
|
1476
|
-
"isStatic": false,
|
|
1477
|
-
"returnTypeTokenRange": {
|
|
1478
|
-
"startIndex": 1,
|
|
1479
|
-
"endIndex": 2
|
|
1480
|
-
},
|
|
1481
|
-
"releaseTag": "Beta",
|
|
1482
|
-
"isProtected": false,
|
|
1483
|
-
"overloadIndex": 1,
|
|
1484
|
-
"parameters": [],
|
|
1485
|
-
"isOptional": false,
|
|
1486
|
-
"isAbstract": false,
|
|
1487
|
-
"name": "agentsChanged"
|
|
1488
|
-
},
|
|
1489
|
-
{
|
|
1490
|
-
"kind": "Method",
|
|
1491
|
-
"canonicalReference": "@genesislcap/ai-assistant!AgentPicker#connectedCallback:member(1)",
|
|
1492
|
-
"docComment": "",
|
|
1493
|
-
"excerptTokens": [
|
|
1494
|
-
{
|
|
1495
|
-
"kind": "Content",
|
|
1496
|
-
"text": "connectedCallback(): "
|
|
1497
|
-
},
|
|
1498
|
-
{
|
|
1499
|
-
"kind": "Content",
|
|
1500
|
-
"text": "void"
|
|
1501
|
-
},
|
|
1502
|
-
{
|
|
1503
|
-
"kind": "Content",
|
|
1504
|
-
"text": ";"
|
|
1505
|
-
}
|
|
1506
|
-
],
|
|
1507
|
-
"isStatic": false,
|
|
1508
|
-
"returnTypeTokenRange": {
|
|
1509
|
-
"startIndex": 1,
|
|
1510
|
-
"endIndex": 2
|
|
1511
|
-
},
|
|
1512
|
-
"releaseTag": "Beta",
|
|
1513
|
-
"isProtected": false,
|
|
1514
|
-
"overloadIndex": 1,
|
|
1515
|
-
"parameters": [],
|
|
1516
|
-
"isOptional": false,
|
|
1517
|
-
"isAbstract": false,
|
|
1518
|
-
"name": "connectedCallback"
|
|
1519
|
-
},
|
|
1520
1458
|
{
|
|
1521
1459
|
"kind": "Property",
|
|
1522
1460
|
"canonicalReference": "@genesislcap/ai-assistant!AgentPicker#currentValue:member",
|
|
1523
|
-
"docComment": "/**\n * Current pinned agent name as a value
|
|
1461
|
+
"docComment": "/**\n * Current pinned agent name as a bindable value.\n */\n",
|
|
1524
1462
|
"excerptTokens": [
|
|
1525
1463
|
{
|
|
1526
1464
|
"kind": "Content",
|
|
@@ -1549,16 +1487,16 @@
|
|
|
1549
1487
|
},
|
|
1550
1488
|
{
|
|
1551
1489
|
"kind": "Property",
|
|
1552
|
-
"canonicalReference": "@genesislcap/ai-assistant!AgentPicker#
|
|
1553
|
-
"docComment": "/**\n *
|
|
1490
|
+
"canonicalReference": "@genesislcap/ai-assistant!AgentPicker#disablePinColours:member",
|
|
1491
|
+
"docComment": "/**\n * When true, rows show a neutral dot instead of the per-agent brand tint.\n */\n",
|
|
1554
1492
|
"excerptTokens": [
|
|
1555
1493
|
{
|
|
1556
1494
|
"kind": "Content",
|
|
1557
|
-
"text": "
|
|
1495
|
+
"text": "disablePinColours: "
|
|
1558
1496
|
},
|
|
1559
1497
|
{
|
|
1560
1498
|
"kind": "Content",
|
|
1561
|
-
"text": "
|
|
1499
|
+
"text": "boolean"
|
|
1562
1500
|
},
|
|
1563
1501
|
{
|
|
1564
1502
|
"kind": "Content",
|
|
@@ -1568,7 +1506,7 @@
|
|
|
1568
1506
|
"isReadonly": false,
|
|
1569
1507
|
"isOptional": false,
|
|
1570
1508
|
"releaseTag": "Beta",
|
|
1571
|
-
"name": "
|
|
1509
|
+
"name": "disablePinColours",
|
|
1572
1510
|
"propertyTypeTokenRange": {
|
|
1573
1511
|
"startIndex": 1,
|
|
1574
1512
|
"endIndex": 2
|
|
@@ -1579,16 +1517,25 @@
|
|
|
1579
1517
|
},
|
|
1580
1518
|
{
|
|
1581
1519
|
"kind": "Method",
|
|
1582
|
-
"canonicalReference": "@genesislcap/ai-assistant!AgentPicker#
|
|
1583
|
-
"docComment": "",
|
|
1520
|
+
"canonicalReference": "@genesislcap/ai-assistant!AgentPicker#markStyleFor:member(1)",
|
|
1521
|
+
"docComment": "/**\n * Inline `--menu-item-mark` for one row, or `''` to leave the dot neutral.\n *\n * Indexed against the FULL agents array rather than `selectableAgents` so a row's tint matches what the composer button shows when that agent is pinned — the assistant resolves its pin colour the same way, and the two disagreeing is exactly the bug this shares `pinColourAt` to avoid.\n */\n",
|
|
1584
1522
|
"excerptTokens": [
|
|
1585
1523
|
{
|
|
1586
1524
|
"kind": "Content",
|
|
1587
|
-
"text": "
|
|
1525
|
+
"text": "markStyleFor(agent: "
|
|
1526
|
+
},
|
|
1527
|
+
{
|
|
1528
|
+
"kind": "Reference",
|
|
1529
|
+
"text": "AgentConfig",
|
|
1530
|
+
"canonicalReference": "@genesislcap/ai-assistant!AgentConfig:type"
|
|
1588
1531
|
},
|
|
1589
1532
|
{
|
|
1590
1533
|
"kind": "Content",
|
|
1591
|
-
"text": "
|
|
1534
|
+
"text": "): "
|
|
1535
|
+
},
|
|
1536
|
+
{
|
|
1537
|
+
"kind": "Content",
|
|
1538
|
+
"text": "string"
|
|
1592
1539
|
},
|
|
1593
1540
|
{
|
|
1594
1541
|
"kind": "Content",
|
|
@@ -1597,51 +1544,30 @@
|
|
|
1597
1544
|
],
|
|
1598
1545
|
"isStatic": false,
|
|
1599
1546
|
"returnTypeTokenRange": {
|
|
1600
|
-
"startIndex":
|
|
1601
|
-
"endIndex":
|
|
1547
|
+
"startIndex": 3,
|
|
1548
|
+
"endIndex": 4
|
|
1602
1549
|
},
|
|
1603
1550
|
"releaseTag": "Beta",
|
|
1604
1551
|
"isProtected": false,
|
|
1605
1552
|
"overloadIndex": 1,
|
|
1606
|
-
"parameters": [
|
|
1607
|
-
"isOptional": false,
|
|
1608
|
-
"isAbstract": false,
|
|
1609
|
-
"name": "disconnectedCallback"
|
|
1610
|
-
},
|
|
1611
|
-
{
|
|
1612
|
-
"kind": "Property",
|
|
1613
|
-
"canonicalReference": "@genesislcap/ai-assistant!AgentPicker#effectiveMode:member",
|
|
1614
|
-
"docComment": "/**\n * The variant actually rendered: `'select'` if user-configured or if the segmented row currently overflows; `'segmented-control'` otherwise.\n */\n",
|
|
1615
|
-
"excerptTokens": [
|
|
1616
|
-
{
|
|
1617
|
-
"kind": "Content",
|
|
1618
|
-
"text": "get effectiveMode(): "
|
|
1619
|
-
},
|
|
1620
|
-
{
|
|
1621
|
-
"kind": "Content",
|
|
1622
|
-
"text": "'select' | 'segmented-control'"
|
|
1623
|
-
},
|
|
1553
|
+
"parameters": [
|
|
1624
1554
|
{
|
|
1625
|
-
"
|
|
1626
|
-
"
|
|
1555
|
+
"parameterName": "agent",
|
|
1556
|
+
"parameterTypeTokenRange": {
|
|
1557
|
+
"startIndex": 1,
|
|
1558
|
+
"endIndex": 2
|
|
1559
|
+
},
|
|
1560
|
+
"isOptional": false
|
|
1627
1561
|
}
|
|
1628
1562
|
],
|
|
1629
|
-
"isReadonly": true,
|
|
1630
1563
|
"isOptional": false,
|
|
1631
|
-
"
|
|
1632
|
-
"name": "
|
|
1633
|
-
"propertyTypeTokenRange": {
|
|
1634
|
-
"startIndex": 1,
|
|
1635
|
-
"endIndex": 2
|
|
1636
|
-
},
|
|
1637
|
-
"isStatic": false,
|
|
1638
|
-
"isProtected": false,
|
|
1639
|
-
"isAbstract": false
|
|
1564
|
+
"isAbstract": false,
|
|
1565
|
+
"name": "markStyleFor"
|
|
1640
1566
|
},
|
|
1641
1567
|
{
|
|
1642
1568
|
"kind": "Property",
|
|
1643
1569
|
"canonicalReference": "@genesislcap/ai-assistant!AgentPicker#mode:member",
|
|
1644
|
-
"docComment": "/**\n * Picker variant, sourced from the assistant's `chatConfig.
|
|
1570
|
+
"docComment": "/**\n * Picker variant, sourced from the assistant's `chatConfig.picker.mode`. `'disabled'` hides the picker; every other value renders the same menu — `'select'` and `'segmented-control'` are retained so existing configuration stays valid, but no longer select between two layouts.\n */\n",
|
|
1645
1571
|
"excerptTokens": [
|
|
1646
1572
|
{
|
|
1647
1573
|
"kind": "Content",
|
|
@@ -1669,37 +1595,6 @@
|
|
|
1669
1595
|
"isProtected": false,
|
|
1670
1596
|
"isAbstract": false
|
|
1671
1597
|
},
|
|
1672
|
-
{
|
|
1673
|
-
"kind": "Method",
|
|
1674
|
-
"canonicalReference": "@genesislcap/ai-assistant!AgentPicker#modeChanged:member(1)",
|
|
1675
|
-
"docComment": "",
|
|
1676
|
-
"excerptTokens": [
|
|
1677
|
-
{
|
|
1678
|
-
"kind": "Content",
|
|
1679
|
-
"text": "modeChanged(): "
|
|
1680
|
-
},
|
|
1681
|
-
{
|
|
1682
|
-
"kind": "Content",
|
|
1683
|
-
"text": "void"
|
|
1684
|
-
},
|
|
1685
|
-
{
|
|
1686
|
-
"kind": "Content",
|
|
1687
|
-
"text": ";"
|
|
1688
|
-
}
|
|
1689
|
-
],
|
|
1690
|
-
"isStatic": false,
|
|
1691
|
-
"returnTypeTokenRange": {
|
|
1692
|
-
"startIndex": 1,
|
|
1693
|
-
"endIndex": 2
|
|
1694
|
-
},
|
|
1695
|
-
"releaseTag": "Beta",
|
|
1696
|
-
"isProtected": false,
|
|
1697
|
-
"overloadIndex": 1,
|
|
1698
|
-
"parameters": [],
|
|
1699
|
-
"isOptional": false,
|
|
1700
|
-
"isAbstract": false,
|
|
1701
|
-
"name": "modeChanged"
|
|
1702
|
-
},
|
|
1703
1598
|
{
|
|
1704
1599
|
"kind": "Property",
|
|
1705
1600
|
"canonicalReference": "@genesislcap/ai-assistant!AgentPicker#pinnedAgentName:member",
|
|
@@ -1816,7 +1711,7 @@
|
|
|
1816
1711
|
{
|
|
1817
1712
|
"kind": "Method",
|
|
1818
1713
|
"canonicalReference": "@genesislcap/ai-assistant!AgentPicker#selectByValue:member(1)",
|
|
1819
|
-
"docComment": "/**\n * Maps a value
|
|
1714
|
+
"docComment": "/**\n * Maps a value using {@link AGENT_PICKER_AUTO_VALUE} for Auto back to the `string | null` form {@link AgentPicker.selectAgent} expects. Retained for hosts driving the picker from a value rather than a name.\n */\n",
|
|
1820
1715
|
"excerptTokens": [
|
|
1821
1716
|
{
|
|
1822
1717
|
"kind": "Content",
|
|
@@ -7462,6 +7357,36 @@
|
|
|
7462
7357
|
"isProtected": false,
|
|
7463
7358
|
"isAbstract": false
|
|
7464
7359
|
},
|
|
7360
|
+
{
|
|
7361
|
+
"kind": "Property",
|
|
7362
|
+
"canonicalReference": "@genesislcap/ai-assistant!FoundationAiAssistant#agentButtonLabel:member",
|
|
7363
|
+
"docComment": "/**\n * Label beside the composer's agent glyph: `AUTO` while the orchestrator is routing, otherwise the pinned agent's name. The name is NOT shortened here — the button truncates with an ellipsis in CSS, so the full name stays available to a screen reader and to the `title` tooltip.\n */\n",
|
|
7364
|
+
"excerptTokens": [
|
|
7365
|
+
{
|
|
7366
|
+
"kind": "Content",
|
|
7367
|
+
"text": "get agentButtonLabel(): "
|
|
7368
|
+
},
|
|
7369
|
+
{
|
|
7370
|
+
"kind": "Content",
|
|
7371
|
+
"text": "string"
|
|
7372
|
+
},
|
|
7373
|
+
{
|
|
7374
|
+
"kind": "Content",
|
|
7375
|
+
"text": ";"
|
|
7376
|
+
}
|
|
7377
|
+
],
|
|
7378
|
+
"isReadonly": true,
|
|
7379
|
+
"isOptional": false,
|
|
7380
|
+
"releaseTag": "Beta",
|
|
7381
|
+
"name": "agentButtonLabel",
|
|
7382
|
+
"propertyTypeTokenRange": {
|
|
7383
|
+
"startIndex": 1,
|
|
7384
|
+
"endIndex": 2
|
|
7385
|
+
},
|
|
7386
|
+
"isStatic": false,
|
|
7387
|
+
"isProtected": false,
|
|
7388
|
+
"isAbstract": false
|
|
7389
|
+
},
|
|
7465
7390
|
{
|
|
7466
7391
|
"kind": "Property",
|
|
7467
7392
|
"canonicalReference": "@genesislcap/ai-assistant!FoundationAiAssistant#agentPicker:member",
|
|
@@ -11185,6 +11110,36 @@
|
|
|
11185
11110
|
"isProtected": false,
|
|
11186
11111
|
"isAbstract": false
|
|
11187
11112
|
},
|
|
11113
|
+
{
|
|
11114
|
+
"kind": "Property",
|
|
11115
|
+
"canonicalReference": "@genesislcap/ai-assistant!FoundationAiAssistant#sendButtonVisible:member",
|
|
11116
|
+
"docComment": "/**\n * Whether Send is rendered at all. Hidden exactly when Stop has taken its place — so a host that suppressed Stop via `hideStopButton` keeps Send throughout, disabled for the duration, and the slot is never left empty mid-turn.\n */\n",
|
|
11117
|
+
"excerptTokens": [
|
|
11118
|
+
{
|
|
11119
|
+
"kind": "Content",
|
|
11120
|
+
"text": "get sendButtonVisible(): "
|
|
11121
|
+
},
|
|
11122
|
+
{
|
|
11123
|
+
"kind": "Content",
|
|
11124
|
+
"text": "boolean"
|
|
11125
|
+
},
|
|
11126
|
+
{
|
|
11127
|
+
"kind": "Content",
|
|
11128
|
+
"text": ";"
|
|
11129
|
+
}
|
|
11130
|
+
],
|
|
11131
|
+
"isReadonly": true,
|
|
11132
|
+
"isOptional": false,
|
|
11133
|
+
"releaseTag": "Beta",
|
|
11134
|
+
"name": "sendButtonVisible",
|
|
11135
|
+
"propertyTypeTokenRange": {
|
|
11136
|
+
"startIndex": 1,
|
|
11137
|
+
"endIndex": 2
|
|
11138
|
+
},
|
|
11139
|
+
"isStatic": false,
|
|
11140
|
+
"isProtected": false,
|
|
11141
|
+
"isAbstract": false
|
|
11142
|
+
},
|
|
11188
11143
|
{
|
|
11189
11144
|
"kind": "Property",
|
|
11190
11145
|
"canonicalReference": "@genesislcap/ai-assistant!FoundationAiAssistant#sessionCostUsd:member",
|
|
@@ -13024,6 +12979,36 @@
|
|
|
13024
12979
|
"isProtected": false,
|
|
13025
12980
|
"isAbstract": false
|
|
13026
12981
|
},
|
|
12982
|
+
{
|
|
12983
|
+
"kind": "Property",
|
|
12984
|
+
"canonicalReference": "@genesislcap/ai-assistant!FoundationAiAssistant#stopButtonVisible:member",
|
|
12985
|
+
"docComment": "/**\n * Whether the Stop control is showing.\n *\n * While a turn runs Stop REPLACES Send rather than sitting beside it: the two are mutually exclusive actions, and a disabled Send next to a live Stop just gives the eye a dead control to skip past. Reads `busy`, so `cancelling` keeps it up (in its \"Stopping…\" state) until the turn actually winds down.\n */\n",
|
|
12986
|
+
"excerptTokens": [
|
|
12987
|
+
{
|
|
12988
|
+
"kind": "Content",
|
|
12989
|
+
"text": "get stopButtonVisible(): "
|
|
12990
|
+
},
|
|
12991
|
+
{
|
|
12992
|
+
"kind": "Content",
|
|
12993
|
+
"text": "boolean"
|
|
12994
|
+
},
|
|
12995
|
+
{
|
|
12996
|
+
"kind": "Content",
|
|
12997
|
+
"text": ";"
|
|
12998
|
+
}
|
|
12999
|
+
],
|
|
13000
|
+
"isReadonly": true,
|
|
13001
|
+
"isOptional": false,
|
|
13002
|
+
"releaseTag": "Beta",
|
|
13003
|
+
"name": "stopButtonVisible",
|
|
13004
|
+
"propertyTypeTokenRange": {
|
|
13005
|
+
"startIndex": 1,
|
|
13006
|
+
"endIndex": 2
|
|
13007
|
+
},
|
|
13008
|
+
"isStatic": false,
|
|
13009
|
+
"isProtected": false,
|
|
13010
|
+
"isAbstract": false
|
|
13011
|
+
},
|
|
13027
13012
|
{
|
|
13028
13013
|
"kind": "Method",
|
|
13029
13014
|
"canonicalReference": "@genesislcap/ai-assistant!FoundationAiAssistant#submitMessage:member(1)",
|
package/dist/ai-assistant.d.ts
CHANGED
|
@@ -38,7 +38,7 @@ export declare interface ActivityBus {
|
|
|
38
38
|
publish<K extends keyof AgenticActivityEvents>(type: K, detail: AgenticActivityEvents[K]): void;
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
/** Sentinel value
|
|
41
|
+
/** Sentinel value representing "Auto" where a menu row needs a string value. */
|
|
42
42
|
export declare const AGENT_PICKER_AUTO_VALUE = "__auto__";
|
|
43
43
|
|
|
44
44
|
/**
|
|
@@ -348,11 +348,17 @@ export declare interface AgentPersistenceContext {
|
|
|
348
348
|
}
|
|
349
349
|
|
|
350
350
|
/**
|
|
351
|
-
*
|
|
351
|
+
* The agent menu shown from the composer's agent button.
|
|
352
352
|
*
|
|
353
|
-
* Renders `Auto` plus each top-level agent
|
|
354
|
-
*
|
|
355
|
-
*
|
|
353
|
+
* Renders `Auto` plus each top-level agent with `manualSelection.enabled`, one
|
|
354
|
+
* row apiece, tinted with the same pin colour the composer button shows once
|
|
355
|
+
* that agent is pinned. Sub-agents and non-selectable specialists are excluded.
|
|
356
|
+
* Hidden when fewer than two agents are configured or none are manually
|
|
357
|
+
* selectable.
|
|
358
|
+
*
|
|
359
|
+
* The rows are all this element owns. The panel around them — surface, border,
|
|
360
|
+
* position, open/close animation — belongs to the assistant, which renders this
|
|
361
|
+
* menu and the session (⋮) menu into the same container so the two match.
|
|
356
362
|
*
|
|
357
363
|
* @fires agent-pinned - Fired when the user changes selection with the
|
|
358
364
|
* agent name or `null` for Auto. detail: `string | null`
|
|
@@ -360,54 +366,40 @@ export declare interface AgentPersistenceContext {
|
|
|
360
366
|
* @beta
|
|
361
367
|
*/
|
|
362
368
|
export declare class AgentPicker extends GenesisElement {
|
|
363
|
-
/**
|
|
364
|
-
|
|
365
|
-
|
|
369
|
+
/**
|
|
370
|
+
* Picker variant, sourced from the assistant's `chatConfig.picker.mode`.
|
|
371
|
+
* `'disabled'` hides the picker; every other value renders the same menu —
|
|
372
|
+
* `'select'` and `'segmented-control'` are retained so existing configuration
|
|
373
|
+
* stays valid, but no longer select between two layouts.
|
|
374
|
+
*/
|
|
366
375
|
mode: AgentPickerMode;
|
|
367
376
|
/** Top-level agents passed to the assistant. */
|
|
368
377
|
agents: AgentConfig[];
|
|
369
378
|
/** Currently pinned agent name, or `null` for Auto. */
|
|
370
379
|
pinnedAgentName: string | null;
|
|
371
|
-
/**
|
|
372
|
-
|
|
373
|
-
/**
|
|
374
|
-
* @internal — true when the segmented row's content overflows its container.
|
|
375
|
-
* Drives the fallback to `select` rendering. Only meaningful when
|
|
376
|
-
* `mode === 'segmented-control'`.
|
|
377
|
-
*/
|
|
378
|
-
overflowing: boolean;
|
|
379
|
-
private resizeObserver?;
|
|
380
|
+
/** When true, rows show a neutral dot instead of the per-agent brand tint. */
|
|
381
|
+
disablePinColours: boolean;
|
|
380
382
|
/** Top-level agents that opted in to manual selection. */
|
|
381
383
|
get selectableAgents(): AgentConfig[];
|
|
382
384
|
/** Whether the picker should render at all. */
|
|
383
385
|
get visible(): boolean;
|
|
384
386
|
/**
|
|
385
|
-
*
|
|
386
|
-
*
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
/**
|
|
392
|
-
* Re-measure when agents change — newly added selectable agents may push the
|
|
393
|
-
* segmented row past the container's width.
|
|
394
|
-
*/
|
|
395
|
-
agentsChanged(): void;
|
|
396
|
-
modeChanged(): void;
|
|
397
|
-
/**
|
|
398
|
-
* Measures whether the segmented row's natural content width exceeds the
|
|
399
|
-
* container's visible width. Bails when the row isn't currently rendered
|
|
400
|
-
* (e.g. when `mode !== 'segmented-control'`).
|
|
387
|
+
* Inline `--menu-item-mark` for one row, or `''` to leave the dot neutral.
|
|
388
|
+
*
|
|
389
|
+
* Indexed against the FULL agents array rather than `selectableAgents` so a
|
|
390
|
+
* row's tint matches what the composer button shows when that agent is
|
|
391
|
+
* pinned — the assistant resolves its pin colour the same way, and the two
|
|
392
|
+
* disagreeing is exactly the bug this shares `pinColourAt` to avoid.
|
|
401
393
|
*/
|
|
402
|
-
|
|
394
|
+
markStyleFor(agent: AgentConfig): string;
|
|
403
395
|
selectAgent(name: string | null): void;
|
|
404
396
|
/**
|
|
405
|
-
* Maps a value
|
|
406
|
-
*
|
|
407
|
-
*
|
|
397
|
+
* Maps a value using {@link AGENT_PICKER_AUTO_VALUE} for Auto back to the
|
|
398
|
+
* `string | null` form {@link AgentPicker.selectAgent} expects. Retained for
|
|
399
|
+
* hosts driving the picker from a value rather than a name.
|
|
408
400
|
*/
|
|
409
401
|
selectByValue(value: string): void;
|
|
410
|
-
/** Current pinned agent name as a value
|
|
402
|
+
/** Current pinned agent name as a bindable value. */
|
|
411
403
|
get currentValue(): string;
|
|
412
404
|
}
|
|
413
405
|
|
|
@@ -3742,6 +3734,51 @@ export declare class FoundationAiAssistant extends GenesisElement {
|
|
|
3742
3734
|
* shared across pop-in/pop-out and survives driver rebuilds.
|
|
3743
3735
|
*/
|
|
3744
3736
|
private logMeta;
|
|
3737
|
+
/**
|
|
3738
|
+
* Document-level dismissal for whichever composer menu is open. Bound only
|
|
3739
|
+
* while one IS open — a permanently-attached listener on a component that can
|
|
3740
|
+
* be mounted twice (bubble + popout panel) is a cost every click on the page
|
|
3741
|
+
* pays for a menu that is usually closed.
|
|
3742
|
+
*
|
|
3743
|
+
* Uses `composedPath()` rather than `event.target`: the click lands on a node
|
|
3744
|
+
* inside this element's shadow root, which retargets to the host, so a plain
|
|
3745
|
+
* `contains()` check cannot tell "clicked the menu" from "clicked the
|
|
3746
|
+
* transcript". The path crosses the boundary and carries both.
|
|
3747
|
+
*/
|
|
3748
|
+
private _dismissPointerHandler?;
|
|
3749
|
+
private _dismissKeyHandler?;
|
|
3750
|
+
private _dismissResizeHandler?;
|
|
3751
|
+
private closeOpenComposerMenus;
|
|
3752
|
+
/**
|
|
3753
|
+
* Places an open composer menu directly above the control that opened it.
|
|
3754
|
+
*
|
|
3755
|
+
* CSS alone cannot: the menu is a child of `.composer` — which is what lets its
|
|
3756
|
+
* width be capped against the composer rather than against a button — while its
|
|
3757
|
+
* anchor is a button several levels down the bar, and no selector can read a
|
|
3758
|
+
* sibling's offset. So the left edge is measured on open and written as a
|
|
3759
|
+
* custom property.
|
|
3760
|
+
*
|
|
3761
|
+
* Clamped to the composer, so a menu opened from a control near the right edge
|
|
3762
|
+
* of a narrow panel slides back inside instead of overhanging. The animation
|
|
3763
|
+
* origin is written separately and keeps pointing at the button's centre even
|
|
3764
|
+
* after such a shift — the menu still grows out of the thing that opened it,
|
|
3765
|
+
* which is the whole point of anchoring it there.
|
|
3766
|
+
*/
|
|
3767
|
+
private positionComposerMenu;
|
|
3768
|
+
/** Re-place whichever menu is open. Cheap enough to run from a resize. */
|
|
3769
|
+
private repositionOpenComposerMenu;
|
|
3770
|
+
private syncComposerMenuDismissal;
|
|
3771
|
+
private teardownComposerMenuDismissal;
|
|
3772
|
+
/**
|
|
3773
|
+
* Vertical space an open menu must leave free above the button, covering BOTH
|
|
3774
|
+
* the gap the menu sits off the button by (8px, declared in design units in
|
|
3775
|
+
* main.styles.ts) and the breathing room wanted above it. The two are lumped
|
|
3776
|
+
* together because only the second half is a free choice: the first is fixed by
|
|
3777
|
+
* the stylesheet and simply has to be subtracted from the headroom, and a
|
|
3778
|
+
* constant named for only one of them invites someone to "fix" a gap that is
|
|
3779
|
+
* doing exactly what it should.
|
|
3780
|
+
*/
|
|
3781
|
+
private static readonly MENU_HEADROOM_RESERVE;
|
|
3745
3782
|
private readonly _agentPickerToggle;
|
|
3746
3783
|
toggleAgentPicker(): void;
|
|
3747
3784
|
/** Two-step confirm for the destructive Clear action; reset whenever the menu toggles. */
|
|
@@ -3974,6 +4011,13 @@ export declare class FoundationAiAssistant extends GenesisElement {
|
|
|
3974
4011
|
* via `chatConfig.picker.disablePinColours`.
|
|
3975
4012
|
*/
|
|
3976
4013
|
get pinnedAgentColour(): string | undefined;
|
|
4014
|
+
/**
|
|
4015
|
+
* Label beside the composer's agent glyph: `AUTO` while the orchestrator is
|
|
4016
|
+
* routing, otherwise the pinned agent's name. The name is NOT shortened here —
|
|
4017
|
+
* the button truncates with an ellipsis in CSS, so the full name stays
|
|
4018
|
+
* available to a screen reader and to the `title` tooltip.
|
|
4019
|
+
*/
|
|
4020
|
+
get agentButtonLabel(): string;
|
|
3977
4021
|
/**
|
|
3978
4022
|
* Placeholder shown in the chat input. Substitutes the pinned agent's name
|
|
3979
4023
|
* when one is selected so the user has a clearer signal of where their
|
|
@@ -4177,6 +4221,22 @@ export declare class FoundationAiAssistant extends GenesisElement {
|
|
|
4177
4221
|
* @internal
|
|
4178
4222
|
*/
|
|
4179
4223
|
getInteractionContext(interactionId: string): InteractionContext | undefined;
|
|
4224
|
+
/**
|
|
4225
|
+
* Whether the Stop control is showing.
|
|
4226
|
+
*
|
|
4227
|
+
* While a turn runs Stop REPLACES Send rather than sitting beside it: the two
|
|
4228
|
+
* are mutually exclusive actions, and a disabled Send next to a live Stop just
|
|
4229
|
+
* gives the eye a dead control to skip past. Reads `busy`, so `cancelling`
|
|
4230
|
+
* keeps it up (in its "Stopping…" state) until the turn actually winds down.
|
|
4231
|
+
*/
|
|
4232
|
+
get stopButtonVisible(): boolean;
|
|
4233
|
+
/**
|
|
4234
|
+
* Whether Send is rendered at all. Hidden exactly when Stop has taken its
|
|
4235
|
+
* place — so a host that suppressed Stop via `hideStopButton` keeps Send
|
|
4236
|
+
* throughout, disabled for the duration, and the slot is never left empty
|
|
4237
|
+
* mid-turn.
|
|
4238
|
+
*/
|
|
4239
|
+
get sendButtonVisible(): boolean;
|
|
4180
4240
|
/** Whether the message input shows a drag handle to resize its height.
|
|
4181
4241
|
* On by default; hosts opt out via `chatConfig.ui.resizableInput: false`. */
|
|
4182
4242
|
get isComposerResizable(): boolean;
|