@genesislcap/ai-assistant 14.408.0 → 14.409.0-FUI-2495.1

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.
Files changed (108) hide show
  1. package/dist/ai-assistant.api.json +455 -0
  2. package/dist/ai-assistant.d.ts +74 -0
  3. package/dist/dts/components/popout-manager/index.d.ts +2 -0
  4. package/dist/dts/components/popout-manager/index.d.ts.map +1 -0
  5. package/dist/dts/components/popout-manager/popout-manager.d.ts +74 -0
  6. package/dist/dts/components/popout-manager/popout-manager.d.ts.map +1 -0
  7. package/dist/dts/index.d.ts +1 -0
  8. package/dist/dts/index.d.ts.map +1 -1
  9. package/dist/esm/components/popout-manager/index.js +1 -0
  10. package/dist/esm/components/popout-manager/popout-manager.js +119 -0
  11. package/dist/esm/index.js +1 -0
  12. package/dist/tsconfig.tsbuildinfo +1 -1
  13. package/package.json +15 -15
  14. package/src/components/popout-manager/index.ts +1 -0
  15. package/src/components/popout-manager/popout-manager.ts +144 -0
  16. package/src/index.ts +1 -0
  17. package/docs/api/ai-assistant.agentconfig.description.md +0 -16
  18. package/docs/api/ai-assistant.agentconfig.md +0 -158
  19. package/docs/api/ai-assistant.agentconfig.name.md +0 -16
  20. package/docs/api/ai-assistant.agentconfig.primerhistory.md +0 -16
  21. package/docs/api/ai-assistant.agentconfig.systemprompt.md +0 -16
  22. package/docs/api/ai-assistant.agentconfig.tooldefinitions.md +0 -16
  23. package/docs/api/ai-assistant.agentconfig.toolhandlers.md +0 -16
  24. package/docs/api/ai-assistant.agenticactivitybus._constructor_.md +0 -53
  25. package/docs/api/ai-assistant.agenticactivitybus.addcrosstabevent.md +0 -55
  26. package/docs/api/ai-assistant.agenticactivitybus.close.md +0 -20
  27. package/docs/api/ai-assistant.agenticactivitybus.md +0 -18
  28. package/docs/api/ai-assistant.agenticactivitybus.publish.md +0 -69
  29. package/docs/api/ai-assistant.agenticactivitybus.subscribe.md +0 -69
  30. package/docs/api/ai-assistant.agenticactivitybusconfig.channelname.md +0 -16
  31. package/docs/api/ai-assistant.agenticactivitybusconfig.crosstabevents.md +0 -16
  32. package/docs/api/ai-assistant.agenticactivitybusconfig.md +0 -80
  33. package/docs/api/ai-assistant.agenticactivityevents._chat-popin_.md +0 -18
  34. package/docs/api/ai-assistant.agenticactivityevents._chat-popout_.md +0 -18
  35. package/docs/api/ai-assistant.agenticactivityevents._halo-start_.md +0 -18
  36. package/docs/api/ai-assistant.agenticactivityevents._halo-stop_.md +0 -16
  37. package/docs/api/ai-assistant.agenticactivityevents.md +0 -128
  38. package/docs/api/ai-assistant.aiassistantanimation.md +0 -18
  39. package/docs/api/ai-assistant.aiassistantanimationdef.label.md +0 -16
  40. package/docs/api/ai-assistant.aiassistantanimationdef.md +0 -80
  41. package/docs/api/ai-assistant.aiassistantanimationdef.tooltip.md +0 -16
  42. package/docs/api/ai-assistant.aiassistantserializedstate.enabledanimations.md +0 -14
  43. package/docs/api/ai-assistant.aiassistantserializedstate.md +0 -118
  44. package/docs/api/ai-assistant.aiassistantserializedstate.messages.md +0 -14
  45. package/docs/api/ai-assistant.aiassistantserializedstate.showthinkingsteps.md +0 -14
  46. package/docs/api/ai-assistant.aiassistantserializedstate.showtoolcalls.md +0 -14
  47. package/docs/api/ai-assistant.aiassistantstate.md +0 -16
  48. package/docs/api/ai-assistant.aichatwidget.data.md +0 -14
  49. package/docs/api/ai-assistant.aichatwidget.md +0 -80
  50. package/docs/api/ai-assistant.aichatwidget.resolved.md +0 -16
  51. package/docs/api/ai-assistant.animation_defs.md +0 -25
  52. package/docs/api/ai-assistant.chatdriver._constructor_.md +0 -131
  53. package/docs/api/ai-assistant.chatdriver.gethistory.md +0 -18
  54. package/docs/api/ai-assistant.chatdriver.isbusy.md +0 -18
  55. package/docs/api/ai-assistant.chatdriver.loadhistory.md +0 -55
  56. package/docs/api/ai-assistant.chatdriver.md +0 -158
  57. package/docs/api/ai-assistant.chatdriver.requestinteraction.md +0 -73
  58. package/docs/api/ai-assistant.chatdriver.resolveinteraction.md +0 -69
  59. package/docs/api/ai-assistant.chatdriver.sendmessage.md +0 -69
  60. package/docs/api/ai-assistant.chathistoryupdatedevent.md +0 -16
  61. package/docs/api/ai-assistant.foundationaiassistant.agents.md +0 -16
  62. package/docs/api/ai-assistant.foundationaiassistant.aiprovider.md +0 -14
  63. package/docs/api/ai-assistant.foundationaiassistant.applystate.md +0 -55
  64. package/docs/api/ai-assistant.foundationaiassistant.attachmenterrors.md +0 -14
  65. package/docs/api/ai-assistant.foundationaiassistant.attachments.md +0 -14
  66. package/docs/api/ai-assistant.foundationaiassistant.chatconfig.md +0 -14
  67. package/docs/api/ai-assistant.foundationaiassistant.connectedcallback.md +0 -18
  68. package/docs/api/ai-assistant.foundationaiassistant.debugstatefactory.md +0 -14
  69. package/docs/api/ai-assistant.foundationaiassistant.designsystemprefix.md +0 -14
  70. package/docs/api/ai-assistant.foundationaiassistant.disconnectedcallback.md +0 -18
  71. package/docs/api/ai-assistant.foundationaiassistant.downloadhistory.md +0 -18
  72. package/docs/api/ai-assistant.foundationaiassistant.enabledanimations.md +0 -16
  73. package/docs/api/ai-assistant.foundationaiassistant.handlefileselect.md +0 -53
  74. package/docs/api/ai-assistant.foundationaiassistant.handleinteractioncompleted.md +0 -53
  75. package/docs/api/ai-assistant.foundationaiassistant.handlepopout.md +0 -20
  76. package/docs/api/ai-assistant.foundationaiassistant.handlesendclick.md +0 -18
  77. package/docs/api/ai-assistant.foundationaiassistant.hasactivependinginteraction.md +0 -16
  78. package/docs/api/ai-assistant.foundationaiassistant.headertitle.md +0 -14
  79. package/docs/api/ai-assistant.foundationaiassistant.imagesrc.md +0 -14
  80. package/docs/api/ai-assistant.foundationaiassistant.inputvalue.md +0 -14
  81. package/docs/api/ai-assistant.foundationaiassistant.md +0 -769
  82. package/docs/api/ai-assistant.foundationaiassistant.messages.md +0 -14
  83. package/docs/api/ai-assistant.foundationaiassistant.messageschanged.md +0 -18
  84. package/docs/api/ai-assistant.foundationaiassistant.onchatheadermousedown.md +0 -53
  85. package/docs/api/ai-assistant.foundationaiassistant.placeholder.md +0 -14
  86. package/docs/api/ai-assistant.foundationaiassistant.popoutmode.md +0 -16
  87. package/docs/api/ai-assistant.foundationaiassistant.removeattachment.md +0 -53
  88. package/docs/api/ai-assistant.foundationaiassistant.removeattachmenterror.md +0 -53
  89. package/docs/api/ai-assistant.foundationaiassistant.setenabledanimations.md +0 -53
  90. package/docs/api/ai-assistant.foundationaiassistant.settingsopen.md +0 -16
  91. package/docs/api/ai-assistant.foundationaiassistant.showhalo.md +0 -16
  92. package/docs/api/ai-assistant.foundationaiassistant.showhalochanged.md +0 -18
  93. package/docs/api/ai-assistant.foundationaiassistant.showloadingindicator.md +0 -16
  94. package/docs/api/ai-assistant.foundationaiassistant.showloadingindicatorchanged.md +0 -18
  95. package/docs/api/ai-assistant.foundationaiassistant.showthinkingsteps.md +0 -16
  96. package/docs/api/ai-assistant.foundationaiassistant.showtoolcalls.md +0 -16
  97. package/docs/api/ai-assistant.foundationaiassistant.state.md +0 -14
  98. package/docs/api/ai-assistant.foundationaiassistant.statechanged.md +0 -18
  99. package/docs/api/ai-assistant.foundationaiassistant.togglesettings.md +0 -18
  100. package/docs/api/ai-assistant.foundationaiassistant.toggleshowthinkingsteps.md +0 -18
  101. package/docs/api/ai-assistant.foundationaiassistant.toggleshowtoolcalls.md +0 -18
  102. package/docs/api/ai-assistant.foundationaiassistant.triggerfileinput.md +0 -18
  103. package/docs/api/ai-assistant.foundationaiassistant.visiblemessages.md +0 -16
  104. package/docs/api/ai-assistant.md +0 -249
  105. package/docs/api/ai-assistant.popoutmode.md +0 -16
  106. package/docs/api/index.md +0 -30
  107. package/docs/api-report.md.api.md +0 -209
  108. package/temp/api-report.md.api.md +0 -209
@@ -1279,6 +1279,157 @@
1279
1279
  ],
1280
1280
  "extendsTokenRanges": []
1281
1281
  },
1282
+ {
1283
+ "kind": "Interface",
1284
+ "canonicalReference": "@genesislcap/ai-assistant!AiDockProvider:interface",
1285
+ "docComment": "/**\n * Contract for pages that support docking the AI assistant. Register an implementation with {@link getAiPopoutManager} on mount and deregister on unmount.\n *\n * @beta\n */\n",
1286
+ "excerptTokens": [
1287
+ {
1288
+ "kind": "Content",
1289
+ "text": "export interface AiDockProvider "
1290
+ }
1291
+ ],
1292
+ "fileUrlPath": "src/components/popout-manager/popout-manager.ts",
1293
+ "releaseTag": "Beta",
1294
+ "name": "AiDockProvider",
1295
+ "preserveMemberOrder": false,
1296
+ "members": [
1297
+ {
1298
+ "kind": "MethodSignature",
1299
+ "canonicalReference": "@genesislcap/ai-assistant!AiDockProvider#initiateCollapse:member(1)",
1300
+ "docComment": "/**\n * Called by `collapseIfDocked` before navigation. The provider is responsible for finding the docked assistant element and calling `handlePopout()` on it, which publishes `chat-popin` and returns the assistant to the bubble.\n */\n",
1301
+ "excerptTokens": [
1302
+ {
1303
+ "kind": "Content",
1304
+ "text": "initiateCollapse(): "
1305
+ },
1306
+ {
1307
+ "kind": "Content",
1308
+ "text": "void"
1309
+ },
1310
+ {
1311
+ "kind": "Content",
1312
+ "text": ";"
1313
+ }
1314
+ ],
1315
+ "isOptional": false,
1316
+ "returnTypeTokenRange": {
1317
+ "startIndex": 1,
1318
+ "endIndex": 2
1319
+ },
1320
+ "releaseTag": "Beta",
1321
+ "overloadIndex": 1,
1322
+ "parameters": [],
1323
+ "name": "initiateCollapse"
1324
+ },
1325
+ {
1326
+ "kind": "MethodSignature",
1327
+ "canonicalReference": "@genesislcap/ai-assistant!AiDockProvider#onDock:member(1)",
1328
+ "docComment": "/**\n * Called when the user expands the bubble. Receives the assistant element and the serialized state to restore. The provider is responsible for inserting the element into its layout and calling `applyState` once the element is connected. Resolves when the element is connected and state has been applied.\n */\n",
1329
+ "excerptTokens": [
1330
+ {
1331
+ "kind": "Content",
1332
+ "text": "onDock(element: "
1333
+ },
1334
+ {
1335
+ "kind": "Reference",
1336
+ "text": "HTMLElement",
1337
+ "canonicalReference": "!HTMLElement:interface"
1338
+ },
1339
+ {
1340
+ "kind": "Content",
1341
+ "text": ", state: "
1342
+ },
1343
+ {
1344
+ "kind": "Reference",
1345
+ "text": "AiAssistantSerializedState",
1346
+ "canonicalReference": "@genesislcap/ai-assistant!AiAssistantSerializedState:interface"
1347
+ },
1348
+ {
1349
+ "kind": "Content",
1350
+ "text": " | undefined"
1351
+ },
1352
+ {
1353
+ "kind": "Content",
1354
+ "text": "): "
1355
+ },
1356
+ {
1357
+ "kind": "Reference",
1358
+ "text": "Promise",
1359
+ "canonicalReference": "!Promise:interface"
1360
+ },
1361
+ {
1362
+ "kind": "Content",
1363
+ "text": "<void>"
1364
+ },
1365
+ {
1366
+ "kind": "Content",
1367
+ "text": ";"
1368
+ }
1369
+ ],
1370
+ "isOptional": false,
1371
+ "returnTypeTokenRange": {
1372
+ "startIndex": 6,
1373
+ "endIndex": 8
1374
+ },
1375
+ "releaseTag": "Beta",
1376
+ "overloadIndex": 1,
1377
+ "parameters": [
1378
+ {
1379
+ "parameterName": "element",
1380
+ "parameterTypeTokenRange": {
1381
+ "startIndex": 1,
1382
+ "endIndex": 2
1383
+ },
1384
+ "isOptional": false
1385
+ },
1386
+ {
1387
+ "parameterName": "state",
1388
+ "parameterTypeTokenRange": {
1389
+ "startIndex": 3,
1390
+ "endIndex": 5
1391
+ },
1392
+ "isOptional": false
1393
+ }
1394
+ ],
1395
+ "name": "onDock"
1396
+ },
1397
+ {
1398
+ "kind": "MethodSignature",
1399
+ "canonicalReference": "@genesislcap/ai-assistant!AiDockProvider#onUndock:member(1)",
1400
+ "docComment": "/**\n * Called when the user collapses the panel or before navigation.\n */\n",
1401
+ "excerptTokens": [
1402
+ {
1403
+ "kind": "Content",
1404
+ "text": "onUndock(): "
1405
+ },
1406
+ {
1407
+ "kind": "Reference",
1408
+ "text": "Promise",
1409
+ "canonicalReference": "!Promise:interface"
1410
+ },
1411
+ {
1412
+ "kind": "Content",
1413
+ "text": "<void>"
1414
+ },
1415
+ {
1416
+ "kind": "Content",
1417
+ "text": ";"
1418
+ }
1419
+ ],
1420
+ "isOptional": false,
1421
+ "returnTypeTokenRange": {
1422
+ "startIndex": 1,
1423
+ "endIndex": 3
1424
+ },
1425
+ "releaseTag": "Beta",
1426
+ "overloadIndex": 1,
1427
+ "parameters": [],
1428
+ "name": "onUndock"
1429
+ }
1430
+ ],
1431
+ "extendsTokenRanges": []
1432
+ },
1282
1433
  {
1283
1434
  "kind": "Variable",
1284
1435
  "canonicalReference": "@genesislcap/ai-assistant!ANIMATION_DEFS:var",
@@ -3326,6 +3477,310 @@
3326
3477
  },
3327
3478
  "implementsTokenRanges": []
3328
3479
  },
3480
+ {
3481
+ "kind": "Class",
3482
+ "canonicalReference": "@genesislcap/ai-assistant!FoundationAiPopoutManager:class",
3483
+ "docComment": "/**\n * App-shell component that owns the pop-out/pop-in lifecycle for the AI assistant bubble.\n *\n * @remarks\n *\n * Place this in the persistent app shell, wrapping a `foundation-ai-chat-bubble` that contains an AI assistant element in the `dialog-content` slot. The component will auto-create a matching collapse-mode element for docking into pages, and will control the expand button visibility based on whether a dock provider is registered.\n *\n * Pages that support docking call `aiPopoutManager.registerDockProvider()` on mount and `aiPopoutManager.deregisterDockProvider()` on unmount.\n *\n * @example\n * ```html\n * <foundation-ai-popout-manager>\n * <foundation-ai-chat-bubble title=\"My Assistant\">\n * <my-assistant slot=\"dialog-content\"></my-assistant>\n * </foundation-ai-chat-bubble>\n * </foundation-ai-popout-manager>\n * ```\n *\n * @beta\n */\n",
3484
+ "excerptTokens": [
3485
+ {
3486
+ "kind": "Content",
3487
+ "text": "export declare class FoundationAiPopoutManager extends "
3488
+ },
3489
+ {
3490
+ "kind": "Reference",
3491
+ "text": "GenesisElement",
3492
+ "canonicalReference": "@microsoft/fast-element!FASTElement:interface"
3493
+ },
3494
+ {
3495
+ "kind": "Content",
3496
+ "text": " "
3497
+ }
3498
+ ],
3499
+ "fileUrlPath": "src/components/popout-manager/popout-manager.ts",
3500
+ "releaseTag": "Beta",
3501
+ "isAbstract": false,
3502
+ "name": "FoundationAiPopoutManager",
3503
+ "preserveMemberOrder": false,
3504
+ "members": [
3505
+ {
3506
+ "kind": "Property",
3507
+ "canonicalReference": "@genesislcap/ai-assistant!FoundationAiPopoutManager#canDock:member",
3508
+ "docComment": "/**\n * True when a dock provider is registered — controls expand button visibility.\n */\n",
3509
+ "excerptTokens": [
3510
+ {
3511
+ "kind": "Content",
3512
+ "text": "canDock: "
3513
+ },
3514
+ {
3515
+ "kind": "Content",
3516
+ "text": "boolean"
3517
+ },
3518
+ {
3519
+ "kind": "Content",
3520
+ "text": ";"
3521
+ }
3522
+ ],
3523
+ "isReadonly": false,
3524
+ "isOptional": false,
3525
+ "releaseTag": "Beta",
3526
+ "name": "canDock",
3527
+ "propertyTypeTokenRange": {
3528
+ "startIndex": 1,
3529
+ "endIndex": 2
3530
+ },
3531
+ "isStatic": false,
3532
+ "isProtected": false,
3533
+ "isAbstract": false
3534
+ },
3535
+ {
3536
+ "kind": "Method",
3537
+ "canonicalReference": "@genesislcap/ai-assistant!FoundationAiPopoutManager#canDockChanged:member(1)",
3538
+ "docComment": "",
3539
+ "excerptTokens": [
3540
+ {
3541
+ "kind": "Content",
3542
+ "text": "canDockChanged(): "
3543
+ },
3544
+ {
3545
+ "kind": "Content",
3546
+ "text": "void"
3547
+ },
3548
+ {
3549
+ "kind": "Content",
3550
+ "text": ";"
3551
+ }
3552
+ ],
3553
+ "isStatic": false,
3554
+ "returnTypeTokenRange": {
3555
+ "startIndex": 1,
3556
+ "endIndex": 2
3557
+ },
3558
+ "releaseTag": "Beta",
3559
+ "isProtected": false,
3560
+ "overloadIndex": 1,
3561
+ "parameters": [],
3562
+ "isOptional": false,
3563
+ "isAbstract": false,
3564
+ "name": "canDockChanged"
3565
+ },
3566
+ {
3567
+ "kind": "Method",
3568
+ "canonicalReference": "@genesislcap/ai-assistant!FoundationAiPopoutManager#collapseIfDocked:member(1)",
3569
+ "docComment": "/**\n * If the assistant is currently docked, collapses it back into the bubble. Await this in `onBeforeNavButtonClick` to ensure cleanup before navigation.\n */\n",
3570
+ "excerptTokens": [
3571
+ {
3572
+ "kind": "Content",
3573
+ "text": "collapseIfDocked(): "
3574
+ },
3575
+ {
3576
+ "kind": "Reference",
3577
+ "text": "Promise",
3578
+ "canonicalReference": "!Promise:interface"
3579
+ },
3580
+ {
3581
+ "kind": "Content",
3582
+ "text": "<void>"
3583
+ },
3584
+ {
3585
+ "kind": "Content",
3586
+ "text": ";"
3587
+ }
3588
+ ],
3589
+ "isStatic": false,
3590
+ "returnTypeTokenRange": {
3591
+ "startIndex": 1,
3592
+ "endIndex": 3
3593
+ },
3594
+ "releaseTag": "Beta",
3595
+ "isProtected": false,
3596
+ "overloadIndex": 1,
3597
+ "parameters": [],
3598
+ "isOptional": false,
3599
+ "isAbstract": false,
3600
+ "name": "collapseIfDocked"
3601
+ },
3602
+ {
3603
+ "kind": "Method",
3604
+ "canonicalReference": "@genesislcap/ai-assistant!FoundationAiPopoutManager#connectedCallback:member(1)",
3605
+ "docComment": "",
3606
+ "excerptTokens": [
3607
+ {
3608
+ "kind": "Content",
3609
+ "text": "connectedCallback(): "
3610
+ },
3611
+ {
3612
+ "kind": "Content",
3613
+ "text": "void"
3614
+ },
3615
+ {
3616
+ "kind": "Content",
3617
+ "text": ";"
3618
+ }
3619
+ ],
3620
+ "isStatic": false,
3621
+ "returnTypeTokenRange": {
3622
+ "startIndex": 1,
3623
+ "endIndex": 2
3624
+ },
3625
+ "releaseTag": "Beta",
3626
+ "isProtected": false,
3627
+ "overloadIndex": 1,
3628
+ "parameters": [],
3629
+ "isOptional": false,
3630
+ "isAbstract": false,
3631
+ "name": "connectedCallback"
3632
+ },
3633
+ {
3634
+ "kind": "Method",
3635
+ "canonicalReference": "@genesislcap/ai-assistant!FoundationAiPopoutManager#deregisterDockProvider:member(1)",
3636
+ "docComment": "",
3637
+ "excerptTokens": [
3638
+ {
3639
+ "kind": "Content",
3640
+ "text": "deregisterDockProvider(): "
3641
+ },
3642
+ {
3643
+ "kind": "Content",
3644
+ "text": "void"
3645
+ },
3646
+ {
3647
+ "kind": "Content",
3648
+ "text": ";"
3649
+ }
3650
+ ],
3651
+ "isStatic": false,
3652
+ "returnTypeTokenRange": {
3653
+ "startIndex": 1,
3654
+ "endIndex": 2
3655
+ },
3656
+ "releaseTag": "Beta",
3657
+ "isProtected": false,
3658
+ "overloadIndex": 1,
3659
+ "parameters": [],
3660
+ "isOptional": false,
3661
+ "isAbstract": false,
3662
+ "name": "deregisterDockProvider"
3663
+ },
3664
+ {
3665
+ "kind": "Method",
3666
+ "canonicalReference": "@genesislcap/ai-assistant!FoundationAiPopoutManager#disconnectedCallback:member(1)",
3667
+ "docComment": "",
3668
+ "excerptTokens": [
3669
+ {
3670
+ "kind": "Content",
3671
+ "text": "disconnectedCallback(): "
3672
+ },
3673
+ {
3674
+ "kind": "Content",
3675
+ "text": "void"
3676
+ },
3677
+ {
3678
+ "kind": "Content",
3679
+ "text": ";"
3680
+ }
3681
+ ],
3682
+ "isStatic": false,
3683
+ "returnTypeTokenRange": {
3684
+ "startIndex": 1,
3685
+ "endIndex": 2
3686
+ },
3687
+ "releaseTag": "Beta",
3688
+ "isProtected": false,
3689
+ "overloadIndex": 1,
3690
+ "parameters": [],
3691
+ "isOptional": false,
3692
+ "isAbstract": false,
3693
+ "name": "disconnectedCallback"
3694
+ },
3695
+ {
3696
+ "kind": "Method",
3697
+ "canonicalReference": "@genesislcap/ai-assistant!FoundationAiPopoutManager#registerDockProvider:member(1)",
3698
+ "docComment": "",
3699
+ "excerptTokens": [
3700
+ {
3701
+ "kind": "Content",
3702
+ "text": "registerDockProvider(provider: "
3703
+ },
3704
+ {
3705
+ "kind": "Reference",
3706
+ "text": "AiDockProvider",
3707
+ "canonicalReference": "@genesislcap/ai-assistant!AiDockProvider:interface"
3708
+ },
3709
+ {
3710
+ "kind": "Content",
3711
+ "text": "): "
3712
+ },
3713
+ {
3714
+ "kind": "Content",
3715
+ "text": "void"
3716
+ },
3717
+ {
3718
+ "kind": "Content",
3719
+ "text": ";"
3720
+ }
3721
+ ],
3722
+ "isStatic": false,
3723
+ "returnTypeTokenRange": {
3724
+ "startIndex": 3,
3725
+ "endIndex": 4
3726
+ },
3727
+ "releaseTag": "Beta",
3728
+ "isProtected": false,
3729
+ "overloadIndex": 1,
3730
+ "parameters": [
3731
+ {
3732
+ "parameterName": "provider",
3733
+ "parameterTypeTokenRange": {
3734
+ "startIndex": 1,
3735
+ "endIndex": 2
3736
+ },
3737
+ "isOptional": false
3738
+ }
3739
+ ],
3740
+ "isOptional": false,
3741
+ "isAbstract": false,
3742
+ "name": "registerDockProvider"
3743
+ }
3744
+ ],
3745
+ "extendsTokenRange": {
3746
+ "startIndex": 1,
3747
+ "endIndex": 2
3748
+ },
3749
+ "implementsTokenRanges": []
3750
+ },
3751
+ {
3752
+ "kind": "Function",
3753
+ "canonicalReference": "@genesislcap/ai-assistant!getAiPopoutManager:function(1)",
3754
+ "docComment": "/**\n * Returns the active `FoundationAiPopoutManager` instance, or `undefined` if none is mounted. Import this in pages to call `registerDockProvider` / `deregisterDockProvider`.\n *\n * @beta\n */\n",
3755
+ "excerptTokens": [
3756
+ {
3757
+ "kind": "Content",
3758
+ "text": "export declare function getAiPopoutManager(): "
3759
+ },
3760
+ {
3761
+ "kind": "Reference",
3762
+ "text": "FoundationAiPopoutManager",
3763
+ "canonicalReference": "@genesislcap/ai-assistant!FoundationAiPopoutManager:class"
3764
+ },
3765
+ {
3766
+ "kind": "Content",
3767
+ "text": " | undefined"
3768
+ },
3769
+ {
3770
+ "kind": "Content",
3771
+ "text": ";"
3772
+ }
3773
+ ],
3774
+ "fileUrlPath": "src/components/popout-manager/popout-manager.ts",
3775
+ "returnTypeTokenRange": {
3776
+ "startIndex": 1,
3777
+ "endIndex": 3
3778
+ },
3779
+ "releaseTag": "Beta",
3780
+ "overloadIndex": 1,
3781
+ "parameters": [],
3782
+ "name": "getAiPopoutManager"
3783
+ },
3329
3784
  {
3330
3785
  "kind": "TypeAlias",
3331
3786
  "canonicalReference": "@genesislcap/ai-assistant!PopoutMode:type",
@@ -205,6 +205,30 @@ export declare interface AiChatWidget {
205
205
  resolved?: boolean;
206
206
  }
207
207
 
208
+ /**
209
+ * Contract for pages that support docking the AI assistant.
210
+ * Register an implementation with {@link getAiPopoutManager} on mount and deregister on unmount.
211
+ *
212
+ * @beta
213
+ */
214
+ export declare interface AiDockProvider {
215
+ /**
216
+ * Called when the user expands the bubble. Receives the assistant element and the
217
+ * serialized state to restore. The provider is responsible for inserting the element
218
+ * into its layout and calling `applyState` once the element is connected.
219
+ * Resolves when the element is connected and state has been applied.
220
+ */
221
+ onDock(element: HTMLElement, state: AiAssistantSerializedState | undefined): Promise<void>;
222
+ /** Called when the user collapses the panel or before navigation. */
223
+ onUndock(): Promise<void>;
224
+ /**
225
+ * Called by `collapseIfDocked` before navigation. The provider is responsible for
226
+ * finding the docked assistant element and calling `handlePopout()` on it, which
227
+ * publishes `chat-popin` and returns the assistant to the bubble.
228
+ */
229
+ initiateCollapse(): void;
230
+ }
231
+
208
232
  /**
209
233
  * All available animation names, derived from the registry.
210
234
  *
@@ -382,6 +406,56 @@ export declare class FoundationAiAssistant extends GenesisElement {
382
406
  /** @internal */
383
407
  export declare const FoundationAiAssistantTemplate: (designSystemPrefix: string) => ViewTemplate<FoundationAiAssistant>;
384
408
 
409
+ /**
410
+ * App-shell component that owns the pop-out/pop-in lifecycle for the AI assistant bubble.
411
+ *
412
+ * @remarks
413
+ * Place this in the persistent app shell, wrapping a `foundation-ai-chat-bubble` that
414
+ * contains an AI assistant element in the `dialog-content` slot. The component will
415
+ * auto-create a matching collapse-mode element for docking into pages, and will
416
+ * control the expand button visibility based on whether a dock provider is registered.
417
+ *
418
+ * Pages that support docking call `aiPopoutManager.registerDockProvider()` on mount
419
+ * and `aiPopoutManager.deregisterDockProvider()` on unmount.
420
+ *
421
+ * @example
422
+ * ```html
423
+ * <foundation-ai-popout-manager>
424
+ * <foundation-ai-chat-bubble title="My Assistant">
425
+ * <my-assistant slot="dialog-content"></my-assistant>
426
+ * </foundation-ai-chat-bubble>
427
+ * </foundation-ai-popout-manager>
428
+ * ```
429
+ *
430
+ * @beta
431
+ */
432
+ export declare class FoundationAiPopoutManager extends GenesisElement {
433
+ /** True when a dock provider is registered — controls expand button visibility. */
434
+ canDock: boolean;
435
+ private collapseEl;
436
+ private dockProvider;
437
+ private isDocked;
438
+ private unsubBus?;
439
+ connectedCallback(): void;
440
+ disconnectedCallback(): void;
441
+ canDockChanged(): void;
442
+ registerDockProvider(provider: AiDockProvider): void;
443
+ deregisterDockProvider(): void;
444
+ /**
445
+ * If the assistant is currently docked, collapses it back into the bubble.
446
+ * Await this in `onBeforeNavButtonClick` to ensure cleanup before navigation.
447
+ */
448
+ collapseIfDocked(): Promise<void>;
449
+ }
450
+
451
+ /**
452
+ * Returns the active `FoundationAiPopoutManager` instance, or `undefined` if none is mounted.
453
+ * Import this in pages to call `registerDockProvider` / `deregisterDockProvider`.
454
+ *
455
+ * @beta
456
+ */
457
+ export declare function getAiPopoutManager(): FoundationAiPopoutManager | undefined;
458
+
385
459
  /**
386
460
  * Controls the pop-out button shown in the assistant header.
387
461
  * - `"expand"` — assistant is embedded in the bubble dialog; button expands it to a layout panel.
@@ -0,0 +1,2 @@
1
+ export * from './popout-manager';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/popout-manager/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,74 @@
1
+ import { GenesisElement } from '@genesislcap/web-core';
2
+ import type { AiAssistantSerializedState } from '../../channel/ai-activity-channel';
3
+ /**
4
+ * Contract for pages that support docking the AI assistant.
5
+ * Register an implementation with {@link getAiPopoutManager} on mount and deregister on unmount.
6
+ *
7
+ * @beta
8
+ */
9
+ export interface AiDockProvider {
10
+ /**
11
+ * Called when the user expands the bubble. Receives the assistant element and the
12
+ * serialized state to restore. The provider is responsible for inserting the element
13
+ * into its layout and calling `applyState` once the element is connected.
14
+ * Resolves when the element is connected and state has been applied.
15
+ */
16
+ onDock(element: HTMLElement, state: AiAssistantSerializedState | undefined): Promise<void>;
17
+ /** Called when the user collapses the panel or before navigation. */
18
+ onUndock(): Promise<void>;
19
+ /**
20
+ * Called by `collapseIfDocked` before navigation. The provider is responsible for
21
+ * finding the docked assistant element and calling `handlePopout()` on it, which
22
+ * publishes `chat-popin` and returns the assistant to the bubble.
23
+ */
24
+ initiateCollapse(): void;
25
+ }
26
+ /**
27
+ * App-shell component that owns the pop-out/pop-in lifecycle for the AI assistant bubble.
28
+ *
29
+ * @remarks
30
+ * Place this in the persistent app shell, wrapping a `foundation-ai-chat-bubble` that
31
+ * contains an AI assistant element in the `dialog-content` slot. The component will
32
+ * auto-create a matching collapse-mode element for docking into pages, and will
33
+ * control the expand button visibility based on whether a dock provider is registered.
34
+ *
35
+ * Pages that support docking call `aiPopoutManager.registerDockProvider()` on mount
36
+ * and `aiPopoutManager.deregisterDockProvider()` on unmount.
37
+ *
38
+ * @example
39
+ * ```html
40
+ * <foundation-ai-popout-manager>
41
+ * <foundation-ai-chat-bubble title="My Assistant">
42
+ * <my-assistant slot="dialog-content"></my-assistant>
43
+ * </foundation-ai-chat-bubble>
44
+ * </foundation-ai-popout-manager>
45
+ * ```
46
+ *
47
+ * @beta
48
+ */
49
+ export declare class FoundationAiPopoutManager extends GenesisElement {
50
+ /** True when a dock provider is registered — controls expand button visibility. */
51
+ canDock: boolean;
52
+ private collapseEl;
53
+ private dockProvider;
54
+ private isDocked;
55
+ private unsubBus?;
56
+ connectedCallback(): void;
57
+ disconnectedCallback(): void;
58
+ canDockChanged(): void;
59
+ registerDockProvider(provider: AiDockProvider): void;
60
+ deregisterDockProvider(): void;
61
+ /**
62
+ * If the assistant is currently docked, collapses it back into the bubble.
63
+ * Await this in `onBeforeNavButtonClick` to ensure cleanup before navigation.
64
+ */
65
+ collapseIfDocked(): Promise<void>;
66
+ }
67
+ /**
68
+ * Returns the active `FoundationAiPopoutManager` instance, or `undefined` if none is mounted.
69
+ * Import this in pages to call `registerDockProvider` / `deregisterDockProvider`.
70
+ *
71
+ * @beta
72
+ */
73
+ export declare function getAiPopoutManager(): FoundationAiPopoutManager | undefined;
74
+ //# sourceMappingURL=popout-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popout-manager.d.ts","sourceRoot":"","sources":["../../../../src/components/popout-manager/popout-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,cAAc,EAAoB,MAAM,uBAAuB,CAAC;AAExF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAEpF;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,0BAA0B,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3F,qEAAqE;IACrE,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B;;;;OAIG;IACH,gBAAgB,IAAI,IAAI,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAMa,yBAA0B,SAAQ,cAAc;IAC3D,mFAAmF;IACvE,OAAO,UAAS;IAE5B,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,CAAa;IAE9B,iBAAiB;IA4BjB,oBAAoB;IAOpB,cAAc;IAUd,oBAAoB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAKpD,sBAAsB,IAAI,IAAI;IAM9B;;;OAGG;IACH,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;CAKlC;AAID;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,yBAAyB,GAAG,SAAS,CAE1E"}
@@ -2,6 +2,7 @@ export * from './main/main';
2
2
  export * from './main/main.types';
3
3
  export * from './main/main.template';
4
4
  export * from './components/chat-driver';
5
+ export * from './components/popout-manager';
5
6
  export * from './channel/ai-activity-channel';
6
7
  export * from './channel/ai-activity-bus';
7
8
  export * from './config/config';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './popout-manager';