@tylertech/forge-ai 0.16.0-dev.0 → 0.16.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.
@@ -2,6 +2,68 @@
2
2
  "schemaVersion": "1.0.0",
3
3
  "readme": "",
4
4
  "modules": [
5
+ {
6
+ "kind": "javascript-module",
7
+ "path": "src/lib/ai-agent-info/ai-agent-info.ts",
8
+ "declarations": [
9
+ {
10
+ "kind": "variable",
11
+ "name": "AiAgentInfoComponentTagName",
12
+ "type": {
13
+ "text": "keyof HTMLElementTagNameMap"
14
+ },
15
+ "default": "'forge-ai-agent-info'"
16
+ },
17
+ {
18
+ "kind": "class",
19
+ "description": "",
20
+ "name": "AiAgentInfoComponent",
21
+ "members": [
22
+ {
23
+ "kind": "field",
24
+ "name": "agentInfo",
25
+ "type": {
26
+ "text": "AgentInfo | undefined"
27
+ },
28
+ "privacy": "public",
29
+ "description": "Agent information to display"
30
+ }
31
+ ],
32
+ "superclass": {
33
+ "name": "LitElement",
34
+ "package": "lit"
35
+ },
36
+ "tagName": "forge-ai-agent-info",
37
+ "customElement": true,
38
+ "summary": "Displays agent information in a grid layout"
39
+ }
40
+ ],
41
+ "exports": [
42
+ {
43
+ "kind": "js",
44
+ "name": "AiAgentInfoComponentTagName",
45
+ "declaration": {
46
+ "name": "AiAgentInfoComponentTagName",
47
+ "module": "src/lib/ai-agent-info/ai-agent-info.ts"
48
+ }
49
+ },
50
+ {
51
+ "kind": "js",
52
+ "name": "AiAgentInfoComponent",
53
+ "declaration": {
54
+ "name": "AiAgentInfoComponent",
55
+ "module": "src/lib/ai-agent-info/ai-agent-info.ts"
56
+ }
57
+ },
58
+ {
59
+ "kind": "custom-element-definition",
60
+ "declaration": {
61
+ "name": "AiAgentInfoComponent",
62
+ "module": "src/lib/ai-agent-info/ai-agent-info.ts"
63
+ }
64
+ }
65
+ ]
66
+ },
5
67
  {
6
68
  "kind": "javascript-module",
7
69
  "path": "src/lib/ai-agent-selector/ai-agent-selector.ts",
@@ -1781,62 +1843,70 @@
1781
1843
  },
1782
1844
  {
1783
1845
  "kind": "javascript-module",
1784
- "path": "src/lib/ai-agent-info/ai-agent-info.ts",
1846
+ "path": "src/lib/ai-context-items/ai-context-items.ts",
1785
1847
  "declarations": [
1786
1848
  {
1787
1849
  "kind": "variable",
1788
- "name": "AiAgentInfoComponentTagName",
1850
+ "name": "AiContextItemsComponentTagName",
1789
1851
  "type": {
1790
1852
  "text": "keyof HTMLElementTagNameMap"
1791
1853
  },
1792
- "default": "'forge-ai-agent-info'"
1854
+ "default": "'forge-ai-context-items'"
1793
1855
  },
1794
1856
  {
1795
1857
  "kind": "class",
1796
1858
  "description": "",
1797
- "name": "AiAgentInfoComponent",
1859
+ "name": "AiContextItemsComponent",
1798
1860
  "members": [
1799
1861
  {
1800
1862
  "kind": "field",
1801
- "name": "agentInfo",
1863
+ "name": "items",
1802
1864
  "type": {
1803
- "text": "AgentInfo | undefined"
1865
+ "text": "ContextItem[]"
1804
1866
  },
1805
1867
  "privacy": "public",
1806
- "description": "Agent information to display"
1868
+ "default": "[]"
1869
+ }
1870
+ ],
1871
+ "events": [
1872
+ {
1873
+ "name": "forge-ai-context-items-remove",
1874
+ "type": {
1875
+ "text": "CustomEvent<ForgeAiContextItemsRemoveEventData>"
1876
+ },
1877
+ "description": "Fired when a context item is removed."
1807
1878
  }
1808
1879
  ],
1809
1880
  "superclass": {
1810
1881
  "name": "LitElement",
1811
1882
  "package": "lit"
1812
1883
  },
1813
- "tagName": "forge-ai-agent-info",
1814
- "customElement": true,
1815
- "summary": "Displays agent information in a grid layout"
1884
+ "tagName": "forge-ai-context-items",
1885
+ "customElement": true
1816
1886
  }
1817
1887
  ],
1818
1888
  "exports": [
1819
1889
  {
1820
1890
  "kind": "js",
1821
- "name": "AiAgentInfoComponentTagName",
1891
+ "name": "AiContextItemsComponentTagName",
1822
1892
  "declaration": {
1823
- "name": "AiAgentInfoComponentTagName",
1824
- "module": "src/lib/ai-agent-info/ai-agent-info.ts"
1893
+ "name": "AiContextItemsComponentTagName",
1894
+ "module": "src/lib/ai-context-items/ai-context-items.ts"
1825
1895
  }
1826
1896
  },
1827
1897
  {
1828
1898
  "kind": "js",
1829
- "name": "AiAgentInfoComponent",
1899
+ "name": "AiContextItemsComponent",
1830
1900
  "declaration": {
1831
- "name": "AiAgentInfoComponent",
1832
- "module": "src/lib/ai-agent-info/ai-agent-info.ts"
1901
+ "name": "AiContextItemsComponent",
1902
+ "module": "src/lib/ai-context-items/ai-context-items.ts"
1833
1903
  }
1834
1904
  },
1835
1905
  {
1836
1906
  "kind": "custom-element-definition",
1837
1907
  "declaration": {
1838
- "name": "AiAgentInfoComponent",
1839
- "module": "src/lib/ai-agent-info/ai-agent-info.ts"
1908
+ "name": "AiContextItemsComponent",
1909
+ "module": "src/lib/ai-context-items/ai-context-items.ts"
1840
1910
  }
1841
1911
  }
1842
1912
  ]
@@ -2092,76 +2162,6 @@
2092
2162
  }
2093
2163
  ]
2094
2164
  },
2095
- {
2096
- "kind": "javascript-module",
2097
- "path": "src/lib/ai-context-items/ai-context-items.ts",
2098
- "declarations": [
2099
- {
2100
- "kind": "variable",
2101
- "name": "AiContextItemsComponentTagName",
2102
- "type": {
2103
- "text": "keyof HTMLElementTagNameMap"
2104
- },
2105
- "default": "'forge-ai-context-items'"
2106
- },
2107
- {
2108
- "kind": "class",
2109
- "description": "",
2110
- "name": "AiContextItemsComponent",
2111
- "members": [
2112
- {
2113
- "kind": "field",
2114
- "name": "items",
2115
- "type": {
2116
- "text": "ContextItem[]"
2117
- },
2118
- "privacy": "public",
2119
- "default": "[]"
2120
- }
2121
- ],
2122
- "events": [
2123
- {
2124
- "name": "forge-ai-context-items-remove",
2125
- "type": {
2126
- "text": "CustomEvent<ForgeAiContextItemsRemoveEventData>"
2127
- },
2128
- "description": "Fired when a context item is removed."
2129
- }
2130
- ],
2131
- "superclass": {
2132
- "name": "LitElement",
2133
- "package": "lit"
2134
- },
2135
- "tagName": "forge-ai-context-items",
2136
- "customElement": true
2137
- }
2138
- ],
2139
- "exports": [
2140
- {
2141
- "kind": "js",
2142
- "name": "AiContextItemsComponentTagName",
2143
- "declaration": {
2144
- "name": "AiContextItemsComponentTagName",
2145
- "module": "src/lib/ai-context-items/ai-context-items.ts"
2146
- }
2147
- },
2148
- {
2149
- "kind": "js",
2150
- "name": "AiContextItemsComponent",
2151
- "declaration": {
2152
- "name": "AiContextItemsComponent",
2153
- "module": "src/lib/ai-context-items/ai-context-items.ts"
2154
- }
2155
- },
2156
- {
2157
- "kind": "custom-element-definition",
2158
- "declaration": {
2159
- "name": "AiContextItemsComponent",
2160
- "module": "src/lib/ai-context-items/ai-context-items.ts"
2161
- }
2162
- }
2163
- ]
2164
- },
2165
2165
  {
2166
2166
  "kind": "javascript-module",
2167
2167
  "path": "src/lib/ai-copy-button/ai-copy-button.ts",
@@ -3563,226 +3563,226 @@
3563
3563
  },
3564
3564
  {
3565
3565
  "kind": "javascript-module",
3566
- "path": "src/lib/ai-fab/ai-fab.ts",
3566
+ "path": "src/lib/ai-error-message/ai-error-message.ts",
3567
3567
  "declarations": [
3568
3568
  {
3569
3569
  "kind": "variable",
3570
- "name": "AiFabComponentTagName",
3570
+ "name": "AiErrorMessageComponentTagName",
3571
3571
  "type": {
3572
3572
  "text": "keyof HTMLElementTagNameMap"
3573
3573
  },
3574
- "default": "'forge-ai-fab'"
3574
+ "default": "'forge-ai-error-message'"
3575
3575
  },
3576
3576
  {
3577
3577
  "kind": "class",
3578
3578
  "description": "",
3579
- "name": "AiFabComponent",
3580
- "cssProperties": [
3581
- {
3582
- "description": "The background color. Defaults to the gradient container background color.",
3583
- "name": "--forge-fab-background"
3584
- },
3585
- {
3586
- "description": "The color of the text. Only applies when in the extended state.",
3587
- "name": "--forge-fab-text-color"
3588
- },
3589
- {
3590
- "description": "The color of the outline. Defaults to the gradient container high state.",
3591
- "name": "--forge-fab-outline-color"
3592
- }
3593
- ],
3579
+ "name": "AiErrorMessageComponent",
3594
3580
  "slots": [
3595
3581
  {
3596
- "description": "Default slot for button content",
3597
- "name": ""
3582
+ "description": "The error title text. When empty the banner collapses to a single row alongside the icon.",
3583
+ "name": "title"
3598
3584
  },
3599
3585
  {
3600
- "description": "Slot for the icon",
3601
- "name": "icon"
3586
+ "description": "The error message content",
3587
+ "name": ""
3602
3588
  }
3603
3589
  ],
3604
3590
  "members": [
3605
3591
  {
3606
3592
  "kind": "field",
3607
- "name": "disabled",
3608
- "type": {
3609
- "text": "boolean"
3610
- },
3611
- "privacy": "public",
3612
- "default": "false",
3613
- "description": "Whether the button is disabled",
3614
- "attribute": "disabled",
3615
- "reflects": true
3616
- },
3617
- {
3618
- "kind": "field",
3619
- "name": "extended",
3593
+ "name": "density",
3620
3594
  "type": {
3621
- "text": "boolean"
3595
+ "text": "ErrorMessageDensity"
3622
3596
  },
3623
3597
  "privacy": "public",
3624
- "default": "false",
3625
- "description": "Whether the button is extended",
3626
- "attribute": "extended",
3598
+ "default": "'medium'",
3599
+ "description": "The density of the banner. `'small'` tightens the padding, gap, and icon for use in compact surfaces like lists and panels (default: 'medium')",
3600
+ "attribute": "density",
3627
3601
  "reflects": true
3628
- },
3629
- {
3630
- "kind": "field",
3631
- "name": "label",
3632
- "type": {
3633
- "text": "string"
3634
- },
3635
- "privacy": "public",
3636
- "default": "'Open AI assistant'",
3637
- "description": "Accessible label for the button, announced by screen readers.",
3638
- "attribute": "label"
3639
3602
  }
3640
3603
  ],
3641
3604
  "attributes": [
3642
3605
  {
3643
- "name": "disabled",
3644
- "type": {
3645
- "text": "boolean"
3646
- },
3647
- "default": "false",
3648
- "description": "Whether the button is disabled",
3649
- "fieldName": "disabled"
3650
- },
3651
- {
3652
- "name": "extended",
3606
+ "name": "density",
3653
3607
  "type": {
3654
- "text": "boolean"
3608
+ "text": "ErrorMessageDensity"
3655
3609
  },
3656
- "default": "false",
3657
- "description": "Whether the button is extended",
3658
- "fieldName": "extended"
3659
- },
3660
- {
3661
- "name": "label",
3662
- "type": {
3663
- "text": "string"
3664
- },
3665
- "default": "'Open AI assistant'",
3666
- "description": "Accessible label for the button, announced by screen readers.",
3667
- "fieldName": "label"
3610
+ "default": "'medium'",
3611
+ "description": "The density of the banner. `'small'` tightens the padding, gap, and icon for use in compact surfaces like lists and panels (default: 'medium')",
3612
+ "fieldName": "density"
3668
3613
  }
3669
3614
  ],
3670
3615
  "superclass": {
3671
3616
  "name": "LitElement",
3672
3617
  "package": "lit"
3673
3618
  },
3674
- "tagName": "forge-ai-fab",
3675
- "customElement": true
3619
+ "tagName": "forge-ai-error-message",
3620
+ "customElement": true,
3621
+ "summary": "Displays error messages using Forge inline message banner style."
3676
3622
  }
3677
3623
  ],
3678
3624
  "exports": [
3679
3625
  {
3680
3626
  "kind": "js",
3681
- "name": "AiFabComponentTagName",
3627
+ "name": "AiErrorMessageComponentTagName",
3682
3628
  "declaration": {
3683
- "name": "AiFabComponentTagName",
3684
- "module": "src/lib/ai-fab/ai-fab.ts"
3629
+ "name": "AiErrorMessageComponentTagName",
3630
+ "module": "src/lib/ai-error-message/ai-error-message.ts"
3685
3631
  }
3686
3632
  },
3687
3633
  {
3688
3634
  "kind": "js",
3689
- "name": "AiFabComponent",
3635
+ "name": "AiErrorMessageComponent",
3690
3636
  "declaration": {
3691
- "name": "AiFabComponent",
3692
- "module": "src/lib/ai-fab/ai-fab.ts"
3637
+ "name": "AiErrorMessageComponent",
3638
+ "module": "src/lib/ai-error-message/ai-error-message.ts"
3693
3639
  }
3694
3640
  },
3695
3641
  {
3696
3642
  "kind": "custom-element-definition",
3697
3643
  "declaration": {
3698
- "name": "AiFabComponent",
3699
- "module": "src/lib/ai-fab/ai-fab.ts"
3644
+ "name": "AiErrorMessageComponent",
3645
+ "module": "src/lib/ai-error-message/ai-error-message.ts"
3700
3646
  }
3701
3647
  }
3702
3648
  ]
3703
3649
  },
3704
3650
  {
3705
3651
  "kind": "javascript-module",
3706
- "path": "src/lib/ai-error-message/ai-error-message.ts",
3652
+ "path": "src/lib/ai-fab/ai-fab.ts",
3707
3653
  "declarations": [
3708
3654
  {
3709
3655
  "kind": "variable",
3710
- "name": "AiErrorMessageComponentTagName",
3656
+ "name": "AiFabComponentTagName",
3711
3657
  "type": {
3712
3658
  "text": "keyof HTMLElementTagNameMap"
3713
3659
  },
3714
- "default": "'forge-ai-error-message'"
3660
+ "default": "'forge-ai-fab'"
3715
3661
  },
3716
3662
  {
3717
3663
  "kind": "class",
3718
3664
  "description": "",
3719
- "name": "AiErrorMessageComponent",
3720
- "slots": [
3665
+ "name": "AiFabComponent",
3666
+ "cssProperties": [
3721
3667
  {
3722
- "description": "The error title text. When empty the banner collapses to a single row alongside the icon.",
3723
- "name": "title"
3668
+ "description": "The background color. Defaults to the gradient container background color.",
3669
+ "name": "--forge-fab-background"
3724
3670
  },
3725
3671
  {
3726
- "description": "The error message content",
3672
+ "description": "The color of the text. Only applies when in the extended state.",
3673
+ "name": "--forge-fab-text-color"
3674
+ },
3675
+ {
3676
+ "description": "The color of the outline. Defaults to the gradient container high state.",
3677
+ "name": "--forge-fab-outline-color"
3678
+ }
3679
+ ],
3680
+ "slots": [
3681
+ {
3682
+ "description": "Default slot for button content",
3727
3683
  "name": ""
3684
+ },
3685
+ {
3686
+ "description": "Slot for the icon",
3687
+ "name": "icon"
3728
3688
  }
3729
3689
  ],
3730
3690
  "members": [
3731
3691
  {
3732
3692
  "kind": "field",
3733
- "name": "density",
3693
+ "name": "disabled",
3734
3694
  "type": {
3735
- "text": "ErrorMessageDensity"
3695
+ "text": "boolean"
3736
3696
  },
3737
3697
  "privacy": "public",
3738
- "default": "'medium'",
3739
- "description": "The density of the banner. `'small'` tightens the padding, gap, and icon for use in compact surfaces like lists and panels (default: 'medium')",
3740
- "attribute": "density",
3698
+ "default": "false",
3699
+ "description": "Whether the button is disabled",
3700
+ "attribute": "disabled",
3701
+ "reflects": true
3702
+ },
3703
+ {
3704
+ "kind": "field",
3705
+ "name": "extended",
3706
+ "type": {
3707
+ "text": "boolean"
3708
+ },
3709
+ "privacy": "public",
3710
+ "default": "false",
3711
+ "description": "Whether the button is extended",
3712
+ "attribute": "extended",
3741
3713
  "reflects": true
3714
+ },
3715
+ {
3716
+ "kind": "field",
3717
+ "name": "label",
3718
+ "type": {
3719
+ "text": "string"
3720
+ },
3721
+ "privacy": "public",
3722
+ "default": "'Open AI assistant'",
3723
+ "description": "Accessible label for the button, announced by screen readers.",
3724
+ "attribute": "label"
3742
3725
  }
3743
3726
  ],
3744
3727
  "attributes": [
3745
3728
  {
3746
- "name": "density",
3729
+ "name": "disabled",
3747
3730
  "type": {
3748
- "text": "ErrorMessageDensity"
3731
+ "text": "boolean"
3749
3732
  },
3750
- "default": "'medium'",
3751
- "description": "The density of the banner. `'small'` tightens the padding, gap, and icon for use in compact surfaces like lists and panels (default: 'medium')",
3752
- "fieldName": "density"
3733
+ "default": "false",
3734
+ "description": "Whether the button is disabled",
3735
+ "fieldName": "disabled"
3736
+ },
3737
+ {
3738
+ "name": "extended",
3739
+ "type": {
3740
+ "text": "boolean"
3741
+ },
3742
+ "default": "false",
3743
+ "description": "Whether the button is extended",
3744
+ "fieldName": "extended"
3745
+ },
3746
+ {
3747
+ "name": "label",
3748
+ "type": {
3749
+ "text": "string"
3750
+ },
3751
+ "default": "'Open AI assistant'",
3752
+ "description": "Accessible label for the button, announced by screen readers.",
3753
+ "fieldName": "label"
3753
3754
  }
3754
3755
  ],
3755
3756
  "superclass": {
3756
3757
  "name": "LitElement",
3757
3758
  "package": "lit"
3758
3759
  },
3759
- "tagName": "forge-ai-error-message",
3760
- "customElement": true,
3761
- "summary": "Displays error messages using Forge inline message banner style."
3760
+ "tagName": "forge-ai-fab",
3761
+ "customElement": true
3762
3762
  }
3763
3763
  ],
3764
3764
  "exports": [
3765
3765
  {
3766
3766
  "kind": "js",
3767
- "name": "AiErrorMessageComponentTagName",
3767
+ "name": "AiFabComponentTagName",
3768
3768
  "declaration": {
3769
- "name": "AiErrorMessageComponentTagName",
3770
- "module": "src/lib/ai-error-message/ai-error-message.ts"
3769
+ "name": "AiFabComponentTagName",
3770
+ "module": "src/lib/ai-fab/ai-fab.ts"
3771
3771
  }
3772
3772
  },
3773
3773
  {
3774
3774
  "kind": "js",
3775
- "name": "AiErrorMessageComponent",
3775
+ "name": "AiFabComponent",
3776
3776
  "declaration": {
3777
- "name": "AiErrorMessageComponent",
3778
- "module": "src/lib/ai-error-message/ai-error-message.ts"
3777
+ "name": "AiFabComponent",
3778
+ "module": "src/lib/ai-fab/ai-fab.ts"
3779
3779
  }
3780
3780
  },
3781
3781
  {
3782
3782
  "kind": "custom-element-definition",
3783
3783
  "declaration": {
3784
- "name": "AiErrorMessageComponent",
3785
- "module": "src/lib/ai-error-message/ai-error-message.ts"
3784
+ "name": "AiFabComponent",
3785
+ "module": "src/lib/ai-fab/ai-fab.ts"
3786
3786
  }
3787
3787
  }
3788
3788
  ]
@@ -4576,316 +4576,126 @@
4576
4576
  },
4577
4577
  {
4578
4578
  "kind": "javascript-module",
4579
- "path": "src/lib/ai-reasoning-header/ai-reasoning-header.ts",
4579
+ "path": "src/lib/ai-prompt/ai-prompt.ts",
4580
4580
  "declarations": [
4581
4581
  {
4582
4582
  "kind": "variable",
4583
- "name": "AiReasoningHeaderComponentTagName",
4583
+ "name": "AiPromptComponentTagName",
4584
4584
  "type": {
4585
4585
  "text": "keyof HTMLElementTagNameMap"
4586
4586
  },
4587
- "default": "'forge-ai-reasoning-header'"
4587
+ "default": "'forge-ai-prompt'"
4588
4588
  },
4589
4589
  {
4590
4590
  "kind": "class",
4591
4591
  "description": "",
4592
- "name": "AiReasoningHeaderComponent",
4592
+ "name": "AiPromptComponent",
4593
4593
  "slots": [
4594
4594
  {
4595
- "description": "Content for the header when in regular (non-reasoning) state",
4596
- "name": "title"
4595
+ "description": "Action components at the start of the actions row, hidden in inline mode (file picker, model selectors, web search, etc.)",
4596
+ "name": "actions-start"
4597
4597
  },
4598
4598
  {
4599
- "description": "Content for the header when in reasoning state",
4600
- "name": "reasoning-title"
4599
+ "description": "Action components at the end of the actions row, hidden in inline mode (voice input, etc.)",
4600
+ "name": "actions-end"
4601
4601
  }
4602
4602
  ],
4603
4603
  "members": [
4604
4604
  {
4605
4605
  "kind": "field",
4606
- "name": "expanded",
4606
+ "name": "placeholder",
4607
+ "type": {
4608
+ "text": "string"
4609
+ },
4610
+ "privacy": "public",
4611
+ "default": "'Ask a question...'",
4612
+ "description": "Placeholder text for the textarea field",
4613
+ "attribute": "placeholder"
4614
+ },
4615
+ {
4616
+ "kind": "field",
4617
+ "name": "value",
4618
+ "type": {
4619
+ "text": "string"
4620
+ },
4621
+ "privacy": "public",
4622
+ "default": "''",
4623
+ "description": "Current value of the textarea field",
4624
+ "attribute": "value"
4625
+ },
4626
+ {
4627
+ "kind": "field",
4628
+ "name": "variant",
4629
+ "type": {
4630
+ "text": "AiPromptVariant"
4631
+ },
4632
+ "privacy": "public",
4633
+ "default": "'stacked'",
4634
+ "description": "Layout variant for the prompt component",
4635
+ "attribute": "variant"
4636
+ },
4637
+ {
4638
+ "kind": "field",
4639
+ "name": "sendDisabled",
4607
4640
  "type": {
4608
4641
  "text": "boolean"
4609
4642
  },
4610
4643
  "privacy": "public",
4611
4644
  "default": "false",
4612
- "description": "Whether the header is expanded",
4613
- "attribute": "expanded",
4614
- "reflects": true
4645
+ "description": "Whether the send button is disabled",
4646
+ "attribute": "send-disabled"
4615
4647
  },
4616
4648
  {
4617
4649
  "kind": "field",
4618
- "name": "reasoning",
4650
+ "name": "autofocus",
4619
4651
  "type": {
4620
4652
  "text": "boolean"
4621
4653
  },
4622
4654
  "privacy": "public",
4623
4655
  "default": "false",
4624
- "description": "Whether this is a reasoning header",
4625
- "attribute": "reasoning",
4626
- "reflects": true
4627
- }
4628
- ],
4629
- "events": [
4656
+ "description": "Whether to autofocus the textarea field when the component renders",
4657
+ "attribute": "autofocus"
4658
+ },
4630
4659
  {
4631
- "name": "forge-ai-reasoning-header-toggle",
4660
+ "kind": "field",
4661
+ "name": "inputDisabled",
4632
4662
  "type": {
4633
- "text": "CustomEvent<ForgeAiReasoningHeaderToggleEventData>"
4663
+ "text": "boolean"
4634
4664
  },
4635
- "description": "Fired when the header is clicked and the expanded state changes"
4636
- }
4637
- ],
4638
- "attributes": [
4665
+ "privacy": "public",
4666
+ "default": "false",
4667
+ "description": "Whether the textarea field is disabled",
4668
+ "attribute": "input-disabled"
4669
+ },
4639
4670
  {
4640
- "name": "expanded",
4671
+ "kind": "field",
4672
+ "name": "cancelOnEscape",
4673
+ "type": {
4674
+ "text": "boolean"
4675
+ },
4676
+ "privacy": "public",
4677
+ "default": "true",
4678
+ "description": "Whether to dispatch escape events when Escape key is pressed",
4679
+ "attribute": "cancel-on-escape"
4680
+ },
4681
+ {
4682
+ "kind": "field",
4683
+ "name": "running",
4641
4684
  "type": {
4642
4685
  "text": "boolean"
4643
4686
  },
4687
+ "privacy": "public",
4644
4688
  "default": "false",
4645
- "description": "Whether the header is expanded",
4646
- "fieldName": "expanded"
4689
+ "description": "Whether the component is in running state (shows stop button instead of send button)",
4690
+ "attribute": "running"
4647
4691
  },
4648
4692
  {
4649
- "name": "reasoning",
4693
+ "kind": "field",
4694
+ "name": "debugMode",
4650
4695
  "type": {
4651
4696
  "text": "boolean"
4652
4697
  },
4653
- "default": "false",
4654
- "description": "Whether this is a reasoning header",
4655
- "fieldName": "reasoning"
4656
- }
4657
- ],
4658
- "superclass": {
4659
- "name": "LitElement",
4660
- "package": "lit"
4661
- },
4662
- "tagName": "forge-ai-reasoning-header",
4663
- "customElement": true
4664
- }
4665
- ],
4666
- "exports": [
4667
- {
4668
- "kind": "js",
4669
- "name": "AiReasoningHeaderComponentTagName",
4670
- "declaration": {
4671
- "name": "AiReasoningHeaderComponentTagName",
4672
- "module": "src/lib/ai-reasoning-header/ai-reasoning-header.ts"
4673
- }
4674
- },
4675
- {
4676
- "kind": "js",
4677
- "name": "AiReasoningHeaderComponent",
4678
- "declaration": {
4679
- "name": "AiReasoningHeaderComponent",
4680
- "module": "src/lib/ai-reasoning-header/ai-reasoning-header.ts"
4681
- }
4682
- },
4683
- {
4684
- "kind": "custom-element-definition",
4685
- "declaration": {
4686
- "name": "AiReasoningHeaderComponent",
4687
- "module": "src/lib/ai-reasoning-header/ai-reasoning-header.ts"
4688
- }
4689
- }
4690
- ]
4691
- },
4692
- {
4693
- "kind": "javascript-module",
4694
- "path": "src/lib/ai-reasoning/ai-reasoning.ts",
4695
- "declarations": [
4696
- {
4697
- "kind": "variable",
4698
- "name": "AiReasoningComponentTagName",
4699
- "type": {
4700
- "text": "keyof HTMLElementTagNameMap"
4701
- },
4702
- "default": "'forge-ai-reasoning'"
4703
- },
4704
- {
4705
- "kind": "class",
4706
- "description": "",
4707
- "name": "AiReasoningComponent",
4708
- "members": [
4709
- {
4710
- "kind": "field",
4711
- "name": "expanded",
4712
- "type": {
4713
- "text": "boolean"
4714
- },
4715
- "privacy": "public",
4716
- "default": "false",
4717
- "description": "Whether the reasoning is expanded",
4718
- "attribute": "expanded",
4719
- "reflects": true
4720
- }
4721
- ],
4722
- "attributes": [
4723
- {
4724
- "name": "expanded",
4725
- "type": {
4726
- "text": "boolean"
4727
- },
4728
- "default": "false",
4729
- "description": "Whether the reasoning is expanded",
4730
- "fieldName": "expanded"
4731
- }
4732
- ],
4733
- "superclass": {
4734
- "name": "LitElement",
4735
- "package": "lit"
4736
- },
4737
- "tagName": "forge-ai-reasoning",
4738
- "customElement": true
4739
- }
4740
- ],
4741
- "exports": [
4742
- {
4743
- "kind": "js",
4744
- "name": "AiReasoningComponentTagName",
4745
- "declaration": {
4746
- "name": "AiReasoningComponentTagName",
4747
- "module": "src/lib/ai-reasoning/ai-reasoning.ts"
4748
- }
4749
- },
4750
- {
4751
- "kind": "js",
4752
- "name": "AiReasoningComponent",
4753
- "declaration": {
4754
- "name": "AiReasoningComponent",
4755
- "module": "src/lib/ai-reasoning/ai-reasoning.ts"
4756
- }
4757
- },
4758
- {
4759
- "kind": "custom-element-definition",
4760
- "declaration": {
4761
- "name": "AiReasoningComponent",
4762
- "module": "src/lib/ai-reasoning/ai-reasoning.ts"
4763
- }
4764
- }
4765
- ]
4766
- },
4767
- {
4768
- "kind": "javascript-module",
4769
- "path": "src/lib/ai-prompt/ai-prompt.ts",
4770
- "declarations": [
4771
- {
4772
- "kind": "variable",
4773
- "name": "AiPromptComponentTagName",
4774
- "type": {
4775
- "text": "keyof HTMLElementTagNameMap"
4776
- },
4777
- "default": "'forge-ai-prompt'"
4778
- },
4779
- {
4780
- "kind": "class",
4781
- "description": "",
4782
- "name": "AiPromptComponent",
4783
- "slots": [
4784
- {
4785
- "description": "Action components at the start of the actions row, hidden in inline mode (file picker, model selectors, web search, etc.)",
4786
- "name": "actions-start"
4787
- },
4788
- {
4789
- "description": "Action components at the end of the actions row, hidden in inline mode (voice input, etc.)",
4790
- "name": "actions-end"
4791
- }
4792
- ],
4793
- "members": [
4794
- {
4795
- "kind": "field",
4796
- "name": "placeholder",
4797
- "type": {
4798
- "text": "string"
4799
- },
4800
- "privacy": "public",
4801
- "default": "'Ask a question...'",
4802
- "description": "Placeholder text for the textarea field",
4803
- "attribute": "placeholder"
4804
- },
4805
- {
4806
- "kind": "field",
4807
- "name": "value",
4808
- "type": {
4809
- "text": "string"
4810
- },
4811
- "privacy": "public",
4812
- "default": "''",
4813
- "description": "Current value of the textarea field",
4814
- "attribute": "value"
4815
- },
4816
- {
4817
- "kind": "field",
4818
- "name": "variant",
4819
- "type": {
4820
- "text": "AiPromptVariant"
4821
- },
4822
- "privacy": "public",
4823
- "default": "'stacked'",
4824
- "description": "Layout variant for the prompt component",
4825
- "attribute": "variant"
4826
- },
4827
- {
4828
- "kind": "field",
4829
- "name": "sendDisabled",
4830
- "type": {
4831
- "text": "boolean"
4832
- },
4833
- "privacy": "public",
4834
- "default": "false",
4835
- "description": "Whether the send button is disabled",
4836
- "attribute": "send-disabled"
4837
- },
4838
- {
4839
- "kind": "field",
4840
- "name": "autofocus",
4841
- "type": {
4842
- "text": "boolean"
4843
- },
4844
- "privacy": "public",
4845
- "default": "false",
4846
- "description": "Whether to autofocus the textarea field when the component renders",
4847
- "attribute": "autofocus"
4848
- },
4849
- {
4850
- "kind": "field",
4851
- "name": "inputDisabled",
4852
- "type": {
4853
- "text": "boolean"
4854
- },
4855
- "privacy": "public",
4856
- "default": "false",
4857
- "description": "Whether the textarea field is disabled",
4858
- "attribute": "input-disabled"
4859
- },
4860
- {
4861
- "kind": "field",
4862
- "name": "cancelOnEscape",
4863
- "type": {
4864
- "text": "boolean"
4865
- },
4866
- "privacy": "public",
4867
- "default": "true",
4868
- "description": "Whether to dispatch escape events when Escape key is pressed",
4869
- "attribute": "cancel-on-escape"
4870
- },
4871
- {
4872
- "kind": "field",
4873
- "name": "running",
4874
- "type": {
4875
- "text": "boolean"
4876
- },
4877
- "privacy": "public",
4878
- "default": "false",
4879
- "description": "Whether the component is in running state (shows stop button instead of send button)",
4880
- "attribute": "running"
4881
- },
4882
- {
4883
- "kind": "field",
4884
- "name": "debugMode",
4885
- "type": {
4886
- "text": "boolean"
4887
- },
4888
- "privacy": "public",
4698
+ "privacy": "public",
4889
4699
  "default": "false",
4890
4700
  "description": "Whether debug mode is active (shows debug icon button)",
4891
4701
  "attribute": "debug-mode"
@@ -5162,225 +4972,242 @@
5162
4972
  },
5163
4973
  {
5164
4974
  "kind": "javascript-module",
5165
- "path": "src/lib/ai-response-message/ai-response-message.ts",
4975
+ "path": "src/lib/ai-reasoning/ai-reasoning.ts",
5166
4976
  "declarations": [
5167
4977
  {
5168
4978
  "kind": "variable",
5169
- "name": "AiResponseMessageComponentTagName",
4979
+ "name": "AiReasoningComponentTagName",
5170
4980
  "type": {
5171
4981
  "text": "keyof HTMLElementTagNameMap"
5172
4982
  },
5173
- "default": "'forge-ai-response-message'"
4983
+ "default": "'forge-ai-reasoning'"
5174
4984
  },
5175
4985
  {
5176
4986
  "kind": "class",
5177
4987
  "description": "",
5178
- "name": "AiResponseMessageComponent",
5179
- "members": [],
5180
- "superclass": {
5181
- "name": "LitElement",
5182
- "package": "lit"
5183
- },
5184
- "tagName": "forge-ai-response-message",
5185
- "customElement": true,
5186
- "summary": "A simple wrapper component for rendering assistant response message content."
5187
- }
5188
- ],
5189
- "exports": [
5190
- {
5191
- "kind": "js",
5192
- "name": "AiResponseMessageComponentTagName",
5193
- "declaration": {
5194
- "name": "AiResponseMessageComponentTagName",
5195
- "module": "src/lib/ai-response-message/ai-response-message.ts"
5196
- }
5197
- },
5198
- {
5199
- "kind": "js",
5200
- "name": "AiResponseMessageComponent",
4988
+ "name": "AiReasoningComponent",
4989
+ "members": [
4990
+ {
4991
+ "kind": "field",
4992
+ "name": "expanded",
4993
+ "type": {
4994
+ "text": "boolean"
4995
+ },
4996
+ "privacy": "public",
4997
+ "default": "false",
4998
+ "description": "Whether the reasoning is expanded",
4999
+ "attribute": "expanded",
5000
+ "reflects": true
5001
+ }
5002
+ ],
5003
+ "attributes": [
5004
+ {
5005
+ "name": "expanded",
5006
+ "type": {
5007
+ "text": "boolean"
5008
+ },
5009
+ "default": "false",
5010
+ "description": "Whether the reasoning is expanded",
5011
+ "fieldName": "expanded"
5012
+ }
5013
+ ],
5014
+ "superclass": {
5015
+ "name": "LitElement",
5016
+ "package": "lit"
5017
+ },
5018
+ "tagName": "forge-ai-reasoning",
5019
+ "customElement": true
5020
+ }
5021
+ ],
5022
+ "exports": [
5023
+ {
5024
+ "kind": "js",
5025
+ "name": "AiReasoningComponentTagName",
5201
5026
  "declaration": {
5202
- "name": "AiResponseMessageComponent",
5203
- "module": "src/lib/ai-response-message/ai-response-message.ts"
5027
+ "name": "AiReasoningComponentTagName",
5028
+ "module": "src/lib/ai-reasoning/ai-reasoning.ts"
5029
+ }
5030
+ },
5031
+ {
5032
+ "kind": "js",
5033
+ "name": "AiReasoningComponent",
5034
+ "declaration": {
5035
+ "name": "AiReasoningComponent",
5036
+ "module": "src/lib/ai-reasoning/ai-reasoning.ts"
5204
5037
  }
5205
5038
  },
5206
5039
  {
5207
5040
  "kind": "custom-element-definition",
5208
5041
  "declaration": {
5209
- "name": "AiResponseMessageComponent",
5210
- "module": "src/lib/ai-response-message/ai-response-message.ts"
5042
+ "name": "AiReasoningComponent",
5043
+ "module": "src/lib/ai-reasoning/ai-reasoning.ts"
5211
5044
  }
5212
5045
  }
5213
5046
  ]
5214
5047
  },
5215
5048
  {
5216
5049
  "kind": "javascript-module",
5217
- "path": "src/lib/ai-sidebar/ai-sidebar.ts",
5050
+ "path": "src/lib/ai-reasoning-header/ai-reasoning-header.ts",
5218
5051
  "declarations": [
5219
5052
  {
5220
5053
  "kind": "variable",
5221
- "name": "AiSidebarComponentTagName",
5054
+ "name": "AiReasoningHeaderComponentTagName",
5222
5055
  "type": {
5223
5056
  "text": "keyof HTMLElementTagNameMap"
5224
5057
  },
5225
- "default": "'forge-ai-sidebar'"
5058
+ "default": "'forge-ai-reasoning-header'"
5226
5059
  },
5227
5060
  {
5228
5061
  "kind": "class",
5229
5062
  "description": "",
5230
- "name": "AiSidebarComponent",
5063
+ "name": "AiReasoningHeaderComponent",
5231
5064
  "slots": [
5232
5065
  {
5233
- "description": "Default slot for sidebar content (typically ai-chat-interface)",
5234
- "name": ""
5066
+ "description": "Content for the header when in regular (non-reasoning) state",
5067
+ "name": "title"
5068
+ },
5069
+ {
5070
+ "description": "Content for the header when in reasoning state",
5071
+ "name": "reasoning-title"
5235
5072
  }
5236
5073
  ],
5237
5074
  "members": [
5238
5075
  {
5239
5076
  "kind": "field",
5240
- "name": "open",
5077
+ "name": "expanded",
5241
5078
  "type": {
5242
5079
  "text": "boolean"
5243
5080
  },
5244
5081
  "privacy": "public",
5245
5082
  "default": "false",
5246
- "description": "Indicates whether the sidebar is open.",
5247
- "attribute": "open"
5248
- },
5249
- {
5250
- "kind": "field",
5251
- "name": "resizable",
5252
- "type": {
5253
- "text": "FeatureToggle"
5254
- },
5255
- "privacy": "public",
5256
- "default": "'on'",
5257
- "description": "Enables sidebar resizing. Set to `'off'` to disable and reset to the default width.",
5258
- "attribute": "resizable"
5083
+ "description": "Whether the header is expanded",
5084
+ "attribute": "expanded",
5085
+ "reflects": true
5259
5086
  },
5260
5087
  {
5261
5088
  "kind": "field",
5262
- "name": "width",
5263
- "privacy": "public",
5264
- "default": "420",
5265
- "description": "The current width of the sidebar in pixels. Clamped to the min/max bounds and viewport.\nResized widths are persisted per tab in sessionStorage and shared across tabs via localStorage.\nOn load the session value is preferred, then the local value, then the default.",
5266
- "attribute": "width",
5089
+ "name": "reasoning",
5267
5090
  "type": {
5268
- "text": "number"
5269
- }
5270
- },
5271
- {
5272
- "kind": "method",
5273
- "name": "show",
5274
- "privacy": "public",
5275
- "return": {
5276
- "type": {
5277
- "text": "void"
5278
- }
5279
- },
5280
- "description": "Opens the sidebar."
5281
- },
5282
- {
5283
- "kind": "method",
5284
- "name": "close",
5285
- "privacy": "public",
5286
- "return": {
5287
- "type": {
5288
- "text": "void"
5289
- }
5091
+ "text": "boolean"
5290
5092
  },
5291
- "description": "Closes the sidebar."
5292
- },
5293
- {
5294
- "kind": "method",
5295
- "name": "toggle",
5296
5093
  "privacy": "public",
5297
- "return": {
5298
- "type": {
5299
- "text": "void"
5300
- }
5301
- },
5302
- "description": "Toggles the sidebar open state."
5094
+ "default": "false",
5095
+ "description": "Whether this is a reasoning header",
5096
+ "attribute": "reasoning",
5097
+ "reflects": true
5303
5098
  }
5304
5099
  ],
5305
5100
  "events": [
5306
5101
  {
5102
+ "name": "forge-ai-reasoning-header-toggle",
5307
5103
  "type": {
5308
- "text": "CustomEvent<void>"
5309
- },
5310
- "description": "Fired when the sidebar is opened",
5311
- "name": "forge-ai-sidebar-open"
5312
- },
5313
- {
5314
- "type": {
5315
- "text": "CustomEvent<void>"
5316
- },
5317
- "description": "Fired when the sidebar is closed",
5318
- "name": "forge-ai-sidebar-close"
5319
- },
5320
- {
5321
- "type": {
5322
- "text": "CustomEvent<ForgeAiSidebarResizeEventData>"
5104
+ "text": "CustomEvent<ForgeAiReasoningHeaderToggleEventData>"
5323
5105
  },
5324
- "description": "Fired when a resize is committed via pointer release or keyboard step",
5325
- "name": "forge-ai-sidebar-resize"
5106
+ "description": "Fired when the header is clicked and the expanded state changes"
5326
5107
  }
5327
5108
  ],
5328
5109
  "attributes": [
5329
5110
  {
5330
- "name": "open",
5111
+ "name": "expanded",
5331
5112
  "type": {
5332
5113
  "text": "boolean"
5333
5114
  },
5334
5115
  "default": "false",
5335
- "description": "Indicates whether the sidebar is open.",
5336
- "fieldName": "open"
5116
+ "description": "Whether the header is expanded",
5117
+ "fieldName": "expanded"
5337
5118
  },
5338
5119
  {
5339
- "name": "resizable",
5120
+ "name": "reasoning",
5340
5121
  "type": {
5341
- "text": "FeatureToggle"
5122
+ "text": "boolean"
5342
5123
  },
5343
- "default": "'on'",
5344
- "description": "Enables sidebar resizing. Set to `'off'` to disable and reset to the default width.",
5345
- "fieldName": "resizable"
5346
- },
5347
- {
5348
- "name": "width",
5349
- "default": "DEFAULT_WIDTH",
5350
- "description": "The current width of the sidebar in pixels. Clamped to the min/max bounds and viewport.\nResized widths are persisted per tab in sessionStorage and shared across tabs via localStorage.\nOn load the session value is preferred, then the local value, then the default.",
5351
- "fieldName": "width"
5124
+ "default": "false",
5125
+ "description": "Whether this is a reasoning header",
5126
+ "fieldName": "reasoning"
5352
5127
  }
5353
5128
  ],
5354
5129
  "superclass": {
5355
5130
  "name": "LitElement",
5356
5131
  "package": "lit"
5357
5132
  },
5358
- "tagName": "forge-ai-sidebar",
5133
+ "tagName": "forge-ai-reasoning-header",
5359
5134
  "customElement": true
5360
5135
  }
5361
5136
  ],
5362
5137
  "exports": [
5363
5138
  {
5364
5139
  "kind": "js",
5365
- "name": "AiSidebarComponentTagName",
5140
+ "name": "AiReasoningHeaderComponentTagName",
5366
5141
  "declaration": {
5367
- "name": "AiSidebarComponentTagName",
5368
- "module": "src/lib/ai-sidebar/ai-sidebar.ts"
5142
+ "name": "AiReasoningHeaderComponentTagName",
5143
+ "module": "src/lib/ai-reasoning-header/ai-reasoning-header.ts"
5369
5144
  }
5370
5145
  },
5371
5146
  {
5372
5147
  "kind": "js",
5373
- "name": "AiSidebarComponent",
5148
+ "name": "AiReasoningHeaderComponent",
5374
5149
  "declaration": {
5375
- "name": "AiSidebarComponent",
5376
- "module": "src/lib/ai-sidebar/ai-sidebar.ts"
5150
+ "name": "AiReasoningHeaderComponent",
5151
+ "module": "src/lib/ai-reasoning-header/ai-reasoning-header.ts"
5377
5152
  }
5378
5153
  },
5379
5154
  {
5380
5155
  "kind": "custom-element-definition",
5381
5156
  "declaration": {
5382
- "name": "AiSidebarComponent",
5383
- "module": "src/lib/ai-sidebar/ai-sidebar.ts"
5157
+ "name": "AiReasoningHeaderComponent",
5158
+ "module": "src/lib/ai-reasoning-header/ai-reasoning-header.ts"
5159
+ }
5160
+ }
5161
+ ]
5162
+ },
5163
+ {
5164
+ "kind": "javascript-module",
5165
+ "path": "src/lib/ai-response-message/ai-response-message.ts",
5166
+ "declarations": [
5167
+ {
5168
+ "kind": "variable",
5169
+ "name": "AiResponseMessageComponentTagName",
5170
+ "type": {
5171
+ "text": "keyof HTMLElementTagNameMap"
5172
+ },
5173
+ "default": "'forge-ai-response-message'"
5174
+ },
5175
+ {
5176
+ "kind": "class",
5177
+ "description": "",
5178
+ "name": "AiResponseMessageComponent",
5179
+ "members": [],
5180
+ "superclass": {
5181
+ "name": "LitElement",
5182
+ "package": "lit"
5183
+ },
5184
+ "tagName": "forge-ai-response-message",
5185
+ "customElement": true,
5186
+ "summary": "A simple wrapper component for rendering assistant response message content."
5187
+ }
5188
+ ],
5189
+ "exports": [
5190
+ {
5191
+ "kind": "js",
5192
+ "name": "AiResponseMessageComponentTagName",
5193
+ "declaration": {
5194
+ "name": "AiResponseMessageComponentTagName",
5195
+ "module": "src/lib/ai-response-message/ai-response-message.ts"
5196
+ }
5197
+ },
5198
+ {
5199
+ "kind": "js",
5200
+ "name": "AiResponseMessageComponent",
5201
+ "declaration": {
5202
+ "name": "AiResponseMessageComponent",
5203
+ "module": "src/lib/ai-response-message/ai-response-message.ts"
5204
+ }
5205
+ },
5206
+ {
5207
+ "kind": "custom-element-definition",
5208
+ "declaration": {
5209
+ "name": "AiResponseMessageComponent",
5210
+ "module": "src/lib/ai-response-message/ai-response-message.ts"
5384
5211
  }
5385
5212
  }
5386
5213
  ]
@@ -5507,83 +5334,173 @@
5507
5334
  },
5508
5335
  {
5509
5336
  "kind": "javascript-module",
5510
- "path": "src/lib/ai-spinner/ai-spinner.ts",
5337
+ "path": "src/lib/ai-sidebar/ai-sidebar.ts",
5511
5338
  "declarations": [
5512
5339
  {
5513
5340
  "kind": "variable",
5514
- "name": "AiSpinnerComponentTagName",
5341
+ "name": "AiSidebarComponentTagName",
5515
5342
  "type": {
5516
5343
  "text": "keyof HTMLElementTagNameMap"
5517
5344
  },
5518
- "default": "'forge-ai-spinner'"
5345
+ "default": "'forge-ai-sidebar'"
5519
5346
  },
5520
5347
  {
5521
5348
  "kind": "class",
5522
5349
  "description": "",
5523
- "name": "AiSpinnerComponent",
5524
- "cssProperties": [
5350
+ "name": "AiSidebarComponent",
5351
+ "slots": [
5525
5352
  {
5526
- "description": "Color of the spinner indicator",
5527
- "name": "--forge-ai-spinner-color"
5528
- },
5529
- {
5530
- "description": "Color of the spinner track",
5531
- "name": "--forge-ai-spinner-track-color"
5353
+ "description": "Default slot for sidebar content (typically ai-chat-interface)",
5354
+ "name": ""
5532
5355
  }
5533
5356
  ],
5534
5357
  "members": [
5535
5358
  {
5536
5359
  "kind": "field",
5537
- "name": "size",
5360
+ "name": "open",
5538
5361
  "type": {
5539
- "text": "SpinnerSize"
5362
+ "text": "boolean"
5540
5363
  },
5541
5364
  "privacy": "public",
5542
- "default": "'medium'",
5543
- "attribute": "size"
5365
+ "default": "false",
5366
+ "description": "Indicates whether the sidebar is open.",
5367
+ "attribute": "open"
5368
+ },
5369
+ {
5370
+ "kind": "field",
5371
+ "name": "resizable",
5372
+ "type": {
5373
+ "text": "FeatureToggle"
5374
+ },
5375
+ "privacy": "public",
5376
+ "default": "'on'",
5377
+ "description": "Enables sidebar resizing. Set to `'off'` to disable and reset to the default width.",
5378
+ "attribute": "resizable"
5379
+ },
5380
+ {
5381
+ "kind": "field",
5382
+ "name": "width",
5383
+ "privacy": "public",
5384
+ "default": "420",
5385
+ "description": "The current width of the sidebar in pixels. Clamped to the min/max bounds and viewport.\nResized widths are persisted per tab in sessionStorage and shared across tabs via localStorage.\nOn load the session value is preferred, then the local value, then the default.",
5386
+ "attribute": "width",
5387
+ "type": {
5388
+ "text": "number"
5389
+ }
5390
+ },
5391
+ {
5392
+ "kind": "method",
5393
+ "name": "show",
5394
+ "privacy": "public",
5395
+ "return": {
5396
+ "type": {
5397
+ "text": "void"
5398
+ }
5399
+ },
5400
+ "description": "Opens the sidebar."
5401
+ },
5402
+ {
5403
+ "kind": "method",
5404
+ "name": "close",
5405
+ "privacy": "public",
5406
+ "return": {
5407
+ "type": {
5408
+ "text": "void"
5409
+ }
5410
+ },
5411
+ "description": "Closes the sidebar."
5412
+ },
5413
+ {
5414
+ "kind": "method",
5415
+ "name": "toggle",
5416
+ "privacy": "public",
5417
+ "return": {
5418
+ "type": {
5419
+ "text": "void"
5420
+ }
5421
+ },
5422
+ "description": "Toggles the sidebar open state."
5423
+ }
5424
+ ],
5425
+ "events": [
5426
+ {
5427
+ "type": {
5428
+ "text": "CustomEvent<void>"
5429
+ },
5430
+ "description": "Fired when the sidebar is opened",
5431
+ "name": "forge-ai-sidebar-open"
5432
+ },
5433
+ {
5434
+ "type": {
5435
+ "text": "CustomEvent<void>"
5436
+ },
5437
+ "description": "Fired when the sidebar is closed",
5438
+ "name": "forge-ai-sidebar-close"
5439
+ },
5440
+ {
5441
+ "type": {
5442
+ "text": "CustomEvent<ForgeAiSidebarResizeEventData>"
5443
+ },
5444
+ "description": "Fired when a resize is committed via pointer release or keyboard step",
5445
+ "name": "forge-ai-sidebar-resize"
5544
5446
  }
5545
5447
  ],
5546
5448
  "attributes": [
5547
5449
  {
5548
- "name": "size",
5450
+ "name": "open",
5549
5451
  "type": {
5550
- "text": "SpinnerSize"
5452
+ "text": "boolean"
5551
5453
  },
5552
- "default": "'medium'",
5553
- "fieldName": "size"
5454
+ "default": "false",
5455
+ "description": "Indicates whether the sidebar is open.",
5456
+ "fieldName": "open"
5457
+ },
5458
+ {
5459
+ "name": "resizable",
5460
+ "type": {
5461
+ "text": "FeatureToggle"
5462
+ },
5463
+ "default": "'on'",
5464
+ "description": "Enables sidebar resizing. Set to `'off'` to disable and reset to the default width.",
5465
+ "fieldName": "resizable"
5466
+ },
5467
+ {
5468
+ "name": "width",
5469
+ "default": "DEFAULT_WIDTH",
5470
+ "description": "The current width of the sidebar in pixels. Clamped to the min/max bounds and viewport.\nResized widths are persisted per tab in sessionStorage and shared across tabs via localStorage.\nOn load the session value is preferred, then the local value, then the default.",
5471
+ "fieldName": "width"
5554
5472
  }
5555
5473
  ],
5556
5474
  "superclass": {
5557
5475
  "name": "LitElement",
5558
5476
  "package": "lit"
5559
5477
  },
5560
- "tagName": "forge-ai-spinner",
5561
- "customElement": true,
5562
- "summary": "Indeterminate circular progress indicator."
5478
+ "tagName": "forge-ai-sidebar",
5479
+ "customElement": true
5563
5480
  }
5564
5481
  ],
5565
5482
  "exports": [
5566
5483
  {
5567
5484
  "kind": "js",
5568
- "name": "AiSpinnerComponentTagName",
5485
+ "name": "AiSidebarComponentTagName",
5569
5486
  "declaration": {
5570
- "name": "AiSpinnerComponentTagName",
5571
- "module": "src/lib/ai-spinner/ai-spinner.ts"
5487
+ "name": "AiSidebarComponentTagName",
5488
+ "module": "src/lib/ai-sidebar/ai-sidebar.ts"
5572
5489
  }
5573
5490
  },
5574
5491
  {
5575
5492
  "kind": "js",
5576
- "name": "AiSpinnerComponent",
5493
+ "name": "AiSidebarComponent",
5577
5494
  "declaration": {
5578
- "name": "AiSpinnerComponent",
5579
- "module": "src/lib/ai-spinner/ai-spinner.ts"
5495
+ "name": "AiSidebarComponent",
5496
+ "module": "src/lib/ai-sidebar/ai-sidebar.ts"
5580
5497
  }
5581
5498
  },
5582
5499
  {
5583
5500
  "kind": "custom-element-definition",
5584
5501
  "declaration": {
5585
- "name": "AiSpinnerComponent",
5586
- "module": "src/lib/ai-spinner/ai-spinner.ts"
5502
+ "name": "AiSidebarComponent",
5503
+ "module": "src/lib/ai-sidebar/ai-sidebar.ts"
5587
5504
  }
5588
5505
  }
5589
5506
  ]
@@ -5749,6 +5666,89 @@
5749
5666
  }
5750
5667
  ]
5751
5668
  },
5669
+ {
5670
+ "kind": "javascript-module",
5671
+ "path": "src/lib/ai-spinner/ai-spinner.ts",
5672
+ "declarations": [
5673
+ {
5674
+ "kind": "variable",
5675
+ "name": "AiSpinnerComponentTagName",
5676
+ "type": {
5677
+ "text": "keyof HTMLElementTagNameMap"
5678
+ },
5679
+ "default": "'forge-ai-spinner'"
5680
+ },
5681
+ {
5682
+ "kind": "class",
5683
+ "description": "",
5684
+ "name": "AiSpinnerComponent",
5685
+ "cssProperties": [
5686
+ {
5687
+ "description": "Color of the spinner indicator",
5688
+ "name": "--forge-ai-spinner-color"
5689
+ },
5690
+ {
5691
+ "description": "Color of the spinner track",
5692
+ "name": "--forge-ai-spinner-track-color"
5693
+ }
5694
+ ],
5695
+ "members": [
5696
+ {
5697
+ "kind": "field",
5698
+ "name": "size",
5699
+ "type": {
5700
+ "text": "SpinnerSize"
5701
+ },
5702
+ "privacy": "public",
5703
+ "default": "'medium'",
5704
+ "attribute": "size"
5705
+ }
5706
+ ],
5707
+ "attributes": [
5708
+ {
5709
+ "name": "size",
5710
+ "type": {
5711
+ "text": "SpinnerSize"
5712
+ },
5713
+ "default": "'medium'",
5714
+ "fieldName": "size"
5715
+ }
5716
+ ],
5717
+ "superclass": {
5718
+ "name": "LitElement",
5719
+ "package": "lit"
5720
+ },
5721
+ "tagName": "forge-ai-spinner",
5722
+ "customElement": true,
5723
+ "summary": "Indeterminate circular progress indicator."
5724
+ }
5725
+ ],
5726
+ "exports": [
5727
+ {
5728
+ "kind": "js",
5729
+ "name": "AiSpinnerComponentTagName",
5730
+ "declaration": {
5731
+ "name": "AiSpinnerComponentTagName",
5732
+ "module": "src/lib/ai-spinner/ai-spinner.ts"
5733
+ }
5734
+ },
5735
+ {
5736
+ "kind": "js",
5737
+ "name": "AiSpinnerComponent",
5738
+ "declaration": {
5739
+ "name": "AiSpinnerComponent",
5740
+ "module": "src/lib/ai-spinner/ai-spinner.ts"
5741
+ }
5742
+ },
5743
+ {
5744
+ "kind": "custom-element-definition",
5745
+ "declaration": {
5746
+ "name": "AiSpinnerComponent",
5747
+ "module": "src/lib/ai-spinner/ai-spinner.ts"
5748
+ }
5749
+ }
5750
+ ]
5751
+ },
5752
5752
  {
5753
5753
  "kind": "javascript-module",
5754
5754
  "path": "src/lib/ai-steps/ai-steps.ts",
@@ -6059,59 +6059,221 @@
6059
6059
  },
6060
6060
  {
6061
6061
  "kind": "javascript-module",
6062
- "path": "src/lib/ai-threads-search/ai-threads-search.ts",
6062
+ "path": "src/lib/ai-thread-actions-menu/ai-thread-actions-menu.ts",
6063
6063
  "declarations": [
6064
6064
  {
6065
6065
  "kind": "variable",
6066
- "name": "AiThreadsSearchComponentTagName",
6066
+ "name": "AiThreadActionsMenuComponentTagName",
6067
6067
  "type": {
6068
6068
  "text": "keyof HTMLElementTagNameMap"
6069
6069
  },
6070
- "default": "'forge-ai-threads-search'"
6070
+ "default": "'forge-ai-thread-actions-menu'"
6071
6071
  },
6072
6072
  {
6073
6073
  "kind": "class",
6074
6074
  "description": "",
6075
- "name": "AiThreadsSearchComponent",
6075
+ "name": "AiThreadActionsMenuComponent",
6076
6076
  "slots": [
6077
6077
  {
6078
- "description": "Slot for a persistent action pinned to the top-right of the header, alongside the \"New chat\" button (e.g. a \"View all\" button).",
6079
- "name": "header-actions"
6078
+ "description": "Slot for custom trigger icon (default: three-dot menu icon)",
6079
+ "name": "trigger-icon"
6080
6080
  }
6081
6081
  ],
6082
6082
  "members": [
6083
6083
  {
6084
6084
  "kind": "field",
6085
- "name": "threads",
6085
+ "name": "thread",
6086
6086
  "type": {
6087
- "text": "Thread[]"
6087
+ "text": "Thread"
6088
6088
  },
6089
6089
  "privacy": "public",
6090
- "default": "[]",
6091
- "attribute": "threads"
6090
+ "attribute": "thread"
6092
6091
  },
6093
6092
  {
6094
6093
  "kind": "field",
6095
- "name": "headerTitle",
6094
+ "name": "showRename",
6096
6095
  "type": {
6097
- "text": "string"
6096
+ "text": "boolean"
6098
6097
  },
6099
6098
  "privacy": "public",
6100
- "default": "'All chats'",
6101
- "description": "The title text shown in the header.",
6102
- "attribute": "header-title"
6099
+ "default": "false",
6100
+ "attribute": "show-rename"
6103
6101
  },
6104
6102
  {
6105
6103
  "kind": "field",
6106
- "name": "showNewChatButton",
6104
+ "name": "showDelete",
6107
6105
  "type": {
6108
6106
  "text": "boolean"
6109
6107
  },
6110
6108
  "privacy": "public",
6111
- "default": "true",
6112
- "description": "Whether to show the \"New chat\" button in the header.",
6113
- "attribute": "show-new-chat-button"
6114
- },
6109
+ "default": "false",
6110
+ "attribute": "show-delete"
6111
+ },
6112
+ {
6113
+ "kind": "field",
6114
+ "name": "density",
6115
+ "type": {
6116
+ "text": "DropdownMenuDensity"
6117
+ },
6118
+ "privacy": "public",
6119
+ "default": "'small'",
6120
+ "description": "The density of the trigger button",
6121
+ "attribute": "density"
6122
+ }
6123
+ ],
6124
+ "events": [
6125
+ {
6126
+ "type": {
6127
+ "text": "CustomEvent<ForgeAiThreadActionsMenuRenameEventData>"
6128
+ },
6129
+ "description": "Fired when rename menu item is clicked.",
6130
+ "name": "forge-ai-thread-actions-menu-rename"
6131
+ },
6132
+ {
6133
+ "type": {
6134
+ "text": "CustomEvent<ForgeAiThreadActionsMenuDeleteClickEventData>"
6135
+ },
6136
+ "description": "Fired when delete menu item is clicked. Parent should show confirmation modal.",
6137
+ "name": "forge-ai-thread-actions-menu-delete-click"
6138
+ },
6139
+ {
6140
+ "type": {
6141
+ "text": "CustomEvent<ForgeAiThreadActionsMenuOpenEventData>"
6142
+ },
6143
+ "description": "Fired when the dropdown menu is opened.",
6144
+ "name": "forge-ai-thread-actions-menu-open"
6145
+ },
6146
+ {
6147
+ "type": {
6148
+ "text": "CustomEvent<void>"
6149
+ },
6150
+ "description": "Fired when the dropdown menu is closed.",
6151
+ "name": "forge-ai-thread-actions-menu-close"
6152
+ }
6153
+ ],
6154
+ "attributes": [
6155
+ {
6156
+ "name": "thread",
6157
+ "type": {
6158
+ "text": "Thread"
6159
+ },
6160
+ "fieldName": "thread"
6161
+ },
6162
+ {
6163
+ "name": "show-rename",
6164
+ "type": {
6165
+ "text": "boolean"
6166
+ },
6167
+ "default": "false",
6168
+ "fieldName": "showRename"
6169
+ },
6170
+ {
6171
+ "name": "show-delete",
6172
+ "type": {
6173
+ "text": "boolean"
6174
+ },
6175
+ "default": "false",
6176
+ "fieldName": "showDelete"
6177
+ },
6178
+ {
6179
+ "name": "density",
6180
+ "type": {
6181
+ "text": "DropdownMenuDensity"
6182
+ },
6183
+ "default": "'small'",
6184
+ "description": "The density of the trigger button",
6185
+ "fieldName": "density"
6186
+ }
6187
+ ],
6188
+ "superclass": {
6189
+ "name": "LitElement",
6190
+ "package": "lit"
6191
+ },
6192
+ "tagName": "forge-ai-thread-actions-menu",
6193
+ "customElement": true
6194
+ }
6195
+ ],
6196
+ "exports": [
6197
+ {
6198
+ "kind": "js",
6199
+ "name": "AiThreadActionsMenuComponentTagName",
6200
+ "declaration": {
6201
+ "name": "AiThreadActionsMenuComponentTagName",
6202
+ "module": "src/lib/ai-thread-actions-menu/ai-thread-actions-menu.ts"
6203
+ }
6204
+ },
6205
+ {
6206
+ "kind": "js",
6207
+ "name": "AiThreadActionsMenuComponent",
6208
+ "declaration": {
6209
+ "name": "AiThreadActionsMenuComponent",
6210
+ "module": "src/lib/ai-thread-actions-menu/ai-thread-actions-menu.ts"
6211
+ }
6212
+ },
6213
+ {
6214
+ "kind": "custom-element-definition",
6215
+ "declaration": {
6216
+ "name": "AiThreadActionsMenuComponent",
6217
+ "module": "src/lib/ai-thread-actions-menu/ai-thread-actions-menu.ts"
6218
+ }
6219
+ }
6220
+ ]
6221
+ },
6222
+ {
6223
+ "kind": "javascript-module",
6224
+ "path": "src/lib/ai-threads-search/ai-threads-search.ts",
6225
+ "declarations": [
6226
+ {
6227
+ "kind": "variable",
6228
+ "name": "AiThreadsSearchComponentTagName",
6229
+ "type": {
6230
+ "text": "keyof HTMLElementTagNameMap"
6231
+ },
6232
+ "default": "'forge-ai-threads-search'"
6233
+ },
6234
+ {
6235
+ "kind": "class",
6236
+ "description": "",
6237
+ "name": "AiThreadsSearchComponent",
6238
+ "slots": [
6239
+ {
6240
+ "description": "Slot for a persistent action pinned to the top-right of the header, alongside the \"New chat\" button (e.g. a \"View all\" button).",
6241
+ "name": "header-actions"
6242
+ }
6243
+ ],
6244
+ "members": [
6245
+ {
6246
+ "kind": "field",
6247
+ "name": "threads",
6248
+ "type": {
6249
+ "text": "Thread[]"
6250
+ },
6251
+ "privacy": "public",
6252
+ "default": "[]",
6253
+ "attribute": "threads"
6254
+ },
6255
+ {
6256
+ "kind": "field",
6257
+ "name": "headerTitle",
6258
+ "type": {
6259
+ "text": "string"
6260
+ },
6261
+ "privacy": "public",
6262
+ "default": "'All chats'",
6263
+ "description": "The title text shown in the header.",
6264
+ "attribute": "header-title"
6265
+ },
6266
+ {
6267
+ "kind": "field",
6268
+ "name": "showNewChatButton",
6269
+ "type": {
6270
+ "text": "boolean"
6271
+ },
6272
+ "privacy": "public",
6273
+ "default": "true",
6274
+ "description": "Whether to show the \"New chat\" button in the header.",
6275
+ "attribute": "show-new-chat-button"
6276
+ },
6115
6277
  {
6116
6278
  "kind": "field",
6117
6279
  "name": "showBackButton",
@@ -6888,215 +7050,53 @@
6888
7050
  },
6889
7051
  {
6890
7052
  "kind": "javascript-module",
6891
- "path": "src/lib/ai-thread-actions-menu/ai-thread-actions-menu.ts",
7053
+ "path": "src/lib/ai-tool-call-indicator/ai-tool-call-indicator.ts",
6892
7054
  "declarations": [
6893
7055
  {
6894
7056
  "kind": "variable",
6895
- "name": "AiThreadActionsMenuComponentTagName",
7057
+ "name": "AiToolCallIndicatorComponentTagName",
6896
7058
  "type": {
6897
7059
  "text": "keyof HTMLElementTagNameMap"
6898
7060
  },
6899
- "default": "'forge-ai-thread-actions-menu'"
7061
+ "default": "'forge-ai-tool-call-indicator'"
6900
7062
  },
6901
7063
  {
6902
7064
  "kind": "class",
6903
7065
  "description": "",
6904
- "name": "AiThreadActionsMenuComponent",
6905
- "slots": [
6906
- {
6907
- "description": "Slot for custom trigger icon (default: three-dot menu icon)",
6908
- "name": "trigger-icon"
6909
- }
6910
- ],
7066
+ "name": "AiToolCallIndicatorComponent",
6911
7067
  "members": [
6912
7068
  {
6913
7069
  "kind": "field",
6914
- "name": "thread",
7070
+ "name": "toolCalls",
6915
7071
  "type": {
6916
- "text": "Thread"
7072
+ "text": "ToolCall[]"
6917
7073
  },
6918
7074
  "privacy": "public",
6919
- "attribute": "thread"
7075
+ "default": "[]"
6920
7076
  },
6921
7077
  {
6922
7078
  "kind": "field",
6923
- "name": "showRename",
7079
+ "name": "tools",
6924
7080
  "type": {
6925
- "text": "boolean"
7081
+ "text": "Map<string, AnyToolDefinition> | undefined"
6926
7082
  },
6927
- "privacy": "public",
6928
- "default": "false",
6929
- "attribute": "show-rename"
7083
+ "privacy": "public"
6930
7084
  },
6931
7085
  {
6932
7086
  "kind": "field",
6933
- "name": "showDelete",
7087
+ "name": "debugMode",
6934
7088
  "type": {
6935
7089
  "text": "boolean"
6936
7090
  },
6937
7091
  "privacy": "public",
6938
7092
  "default": "false",
6939
- "attribute": "show-delete"
6940
- },
6941
- {
6942
- "kind": "field",
6943
- "name": "density",
6944
- "type": {
6945
- "text": "DropdownMenuDensity"
6946
- },
6947
- "privacy": "public",
6948
- "default": "'small'",
6949
- "description": "The density of the trigger button",
6950
- "attribute": "density"
6951
- }
6952
- ],
6953
- "events": [
6954
- {
6955
- "type": {
6956
- "text": "CustomEvent<ForgeAiThreadActionsMenuRenameEventData>"
6957
- },
6958
- "description": "Fired when rename menu item is clicked.",
6959
- "name": "forge-ai-thread-actions-menu-rename"
6960
- },
6961
- {
6962
- "type": {
6963
- "text": "CustomEvent<ForgeAiThreadActionsMenuDeleteClickEventData>"
6964
- },
6965
- "description": "Fired when delete menu item is clicked. Parent should show confirmation modal.",
6966
- "name": "forge-ai-thread-actions-menu-delete-click"
6967
- },
6968
- {
6969
- "type": {
6970
- "text": "CustomEvent<ForgeAiThreadActionsMenuOpenEventData>"
6971
- },
6972
- "description": "Fired when the dropdown menu is opened.",
6973
- "name": "forge-ai-thread-actions-menu-open"
6974
- },
6975
- {
6976
- "type": {
6977
- "text": "CustomEvent<void>"
6978
- },
6979
- "description": "Fired when the dropdown menu is closed.",
6980
- "name": "forge-ai-thread-actions-menu-close"
7093
+ "attribute": "debug-mode",
7094
+ "reflects": true
6981
7095
  }
6982
7096
  ],
6983
7097
  "attributes": [
6984
7098
  {
6985
- "name": "thread",
6986
- "type": {
6987
- "text": "Thread"
6988
- },
6989
- "fieldName": "thread"
6990
- },
6991
- {
6992
- "name": "show-rename",
6993
- "type": {
6994
- "text": "boolean"
6995
- },
6996
- "default": "false",
6997
- "fieldName": "showRename"
6998
- },
6999
- {
7000
- "name": "show-delete",
7001
- "type": {
7002
- "text": "boolean"
7003
- },
7004
- "default": "false",
7005
- "fieldName": "showDelete"
7006
- },
7007
- {
7008
- "name": "density",
7009
- "type": {
7010
- "text": "DropdownMenuDensity"
7011
- },
7012
- "default": "'small'",
7013
- "description": "The density of the trigger button",
7014
- "fieldName": "density"
7015
- }
7016
- ],
7017
- "superclass": {
7018
- "name": "LitElement",
7019
- "package": "lit"
7020
- },
7021
- "tagName": "forge-ai-thread-actions-menu",
7022
- "customElement": true
7023
- }
7024
- ],
7025
- "exports": [
7026
- {
7027
- "kind": "js",
7028
- "name": "AiThreadActionsMenuComponentTagName",
7029
- "declaration": {
7030
- "name": "AiThreadActionsMenuComponentTagName",
7031
- "module": "src/lib/ai-thread-actions-menu/ai-thread-actions-menu.ts"
7032
- }
7033
- },
7034
- {
7035
- "kind": "js",
7036
- "name": "AiThreadActionsMenuComponent",
7037
- "declaration": {
7038
- "name": "AiThreadActionsMenuComponent",
7039
- "module": "src/lib/ai-thread-actions-menu/ai-thread-actions-menu.ts"
7040
- }
7041
- },
7042
- {
7043
- "kind": "custom-element-definition",
7044
- "declaration": {
7045
- "name": "AiThreadActionsMenuComponent",
7046
- "module": "src/lib/ai-thread-actions-menu/ai-thread-actions-menu.ts"
7047
- }
7048
- }
7049
- ]
7050
- },
7051
- {
7052
- "kind": "javascript-module",
7053
- "path": "src/lib/ai-tool-call-indicator/ai-tool-call-indicator.ts",
7054
- "declarations": [
7055
- {
7056
- "kind": "variable",
7057
- "name": "AiToolCallIndicatorComponentTagName",
7058
- "type": {
7059
- "text": "keyof HTMLElementTagNameMap"
7060
- },
7061
- "default": "'forge-ai-tool-call-indicator'"
7062
- },
7063
- {
7064
- "kind": "class",
7065
- "description": "",
7066
- "name": "AiToolCallIndicatorComponent",
7067
- "members": [
7068
- {
7069
- "kind": "field",
7070
- "name": "toolCalls",
7071
- "type": {
7072
- "text": "ToolCall[]"
7073
- },
7074
- "privacy": "public",
7075
- "default": "[]"
7076
- },
7077
- {
7078
- "kind": "field",
7079
- "name": "tools",
7080
- "type": {
7081
- "text": "Map<string, AnyToolDefinition> | undefined"
7082
- },
7083
- "privacy": "public"
7084
- },
7085
- {
7086
- "kind": "field",
7087
- "name": "debugMode",
7088
- "type": {
7089
- "text": "boolean"
7090
- },
7091
- "privacy": "public",
7092
- "default": "false",
7093
- "attribute": "debug-mode",
7094
- "reflects": true
7095
- }
7096
- ],
7097
- "attributes": [
7098
- {
7099
- "name": "debug-mode",
7099
+ "name": "debug-mode",
7100
7100
  "type": {
7101
7101
  "text": "boolean"
7102
7102
  },
@@ -7865,98 +7865,6 @@
7865
7865
  }
7866
7866
  ]
7867
7867
  },
7868
- {
7869
- "kind": "javascript-module",
7870
- "path": "src/lib/ai-chain-of-thought/thought-search-result/thought-search-result.ts",
7871
- "declarations": [
7872
- {
7873
- "kind": "variable",
7874
- "name": "ThoughtSearchResultComponentTagName",
7875
- "type": {
7876
- "text": "keyof HTMLElementTagNameMap"
7877
- },
7878
- "default": "'forge-ai-thought-search-result'"
7879
- },
7880
- {
7881
- "kind": "class",
7882
- "description": "",
7883
- "name": "ThoughtSearchResultComponent",
7884
- "members": [
7885
- {
7886
- "kind": "field",
7887
- "name": "step",
7888
- "type": {
7889
- "text": "number | undefined"
7890
- },
7891
- "privacy": "public",
7892
- "description": "The step number for this thought search result",
7893
- "attribute": "step"
7894
- },
7895
- {
7896
- "kind": "field",
7897
- "name": "sources",
7898
- "type": {
7899
- "text": "Source[]"
7900
- },
7901
- "privacy": "public",
7902
- "default": "[]",
7903
- "description": "Array of sources for the search result",
7904
- "attribute": "sources"
7905
- }
7906
- ],
7907
- "attributes": [
7908
- {
7909
- "name": "step",
7910
- "type": {
7911
- "text": "number | undefined"
7912
- },
7913
- "description": "The step number for this thought search result",
7914
- "fieldName": "step"
7915
- },
7916
- {
7917
- "name": "sources",
7918
- "type": {
7919
- "text": "Source[]"
7920
- },
7921
- "default": "[]",
7922
- "description": "Array of sources for the search result",
7923
- "fieldName": "sources"
7924
- }
7925
- ],
7926
- "superclass": {
7927
- "name": "LitElement",
7928
- "package": "lit"
7929
- },
7930
- "tagName": "forge-ai-thought-search-result",
7931
- "customElement": true
7932
- }
7933
- ],
7934
- "exports": [
7935
- {
7936
- "kind": "js",
7937
- "name": "ThoughtSearchResultComponentTagName",
7938
- "declaration": {
7939
- "name": "ThoughtSearchResultComponentTagName",
7940
- "module": "src/lib/ai-chain-of-thought/thought-search-result/thought-search-result.ts"
7941
- }
7942
- },
7943
- {
7944
- "kind": "js",
7945
- "name": "ThoughtSearchResultComponent",
7946
- "declaration": {
7947
- "name": "ThoughtSearchResultComponent",
7948
- "module": "src/lib/ai-chain-of-thought/thought-search-result/thought-search-result.ts"
7949
- }
7950
- },
7951
- {
7952
- "kind": "custom-element-definition",
7953
- "declaration": {
7954
- "name": "ThoughtSearchResultComponent",
7955
- "module": "src/lib/ai-chain-of-thought/thought-search-result/thought-search-result.ts"
7956
- }
7957
- }
7958
- ]
7959
- },
7960
7868
  {
7961
7869
  "kind": "javascript-module",
7962
7870
  "path": "src/lib/ai-reasoning/reasoning-content/reasoning-content.ts",
@@ -8010,174 +7918,354 @@
8010
7918
  },
8011
7919
  {
8012
7920
  "kind": "javascript-module",
8013
- "path": "src/lib/tools/ai-data-table/ai-data-table.ts",
7921
+ "path": "src/lib/core/overlay/overlay.ts",
8014
7922
  "declarations": [
8015
7923
  {
8016
7924
  "kind": "class",
8017
- "description": "Data table component tool renderer for displaying tabular data with pagination and filtering.",
8018
- "name": "DataTableToolElement",
7925
+ "description": "",
7926
+ "name": "ForgeAiOverlayComponent",
7927
+ "cssProperties": [
7928
+ {
7929
+ "description": "Set on the overlay when `autoSize` is enabled; the width available in the chosen placement direction. Consumers can use this to constrain slotted content instead of being clipped by the viewport.",
7930
+ "name": "--ai-overlay-available-width"
7931
+ },
7932
+ {
7933
+ "description": "Set on the overlay when `autoSize` is enabled; the height available in the chosen placement direction.",
7934
+ "name": "--ai-overlay-available-height"
7935
+ }
7936
+ ],
7937
+ "slots": [
7938
+ {
7939
+ "description": "The default slot for overlay content.",
7940
+ "name": ""
7941
+ }
7942
+ ],
8019
7943
  "members": [
8020
7944
  {
8021
- "kind": "field",
8022
- "name": "toolCall",
7945
+ "kind": "field",
7946
+ "name": "anchor",
7947
+ "type": {
7948
+ "text": "Element | null"
7949
+ },
7950
+ "privacy": "public",
7951
+ "default": "null",
7952
+ "description": "The anchor element to position the overlay relative to.",
7953
+ "attribute": "anchor"
7954
+ },
7955
+ {
7956
+ "kind": "field",
7957
+ "name": "placement",
7958
+ "type": {
7959
+ "text": "OverlayPlacement"
7960
+ },
7961
+ "privacy": "public",
7962
+ "default": "'bottom-start'",
7963
+ "description": "The placement of the overlay relative to the anchor.",
7964
+ "attribute": "placement"
7965
+ },
7966
+ {
7967
+ "kind": "field",
7968
+ "name": "flip",
7969
+ "type": {
7970
+ "text": "boolean"
7971
+ },
7972
+ "privacy": "public",
7973
+ "default": "true",
7974
+ "description": "Whether the overlay should flip to the opposite side when there's no space.",
7975
+ "attribute": "flip"
7976
+ },
7977
+ {
7978
+ "kind": "field",
7979
+ "name": "shift",
7980
+ "type": {
7981
+ "text": "boolean"
7982
+ },
7983
+ "privacy": "public",
7984
+ "default": "false",
7985
+ "description": "Whether the overlay should shift to stay in view.",
7986
+ "attribute": "shift"
7987
+ },
7988
+ {
7989
+ "kind": "field",
7990
+ "name": "autoSize",
7991
+ "type": {
7992
+ "text": "boolean"
7993
+ },
7994
+ "privacy": "public",
7995
+ "default": "false",
7996
+ "description": "Whether the overlay should constrain its own size to the space available in the chosen\nplacement direction, exposed as the `--ai-overlay-available-width`/`--ai-overlay-available-height`\nCSS custom properties on the overlay so slotted content can shrink (and scroll internally)\ninstead of being clipped by the viewport.",
7997
+ "attribute": "auto-size"
7998
+ },
7999
+ {
8000
+ "kind": "field",
8001
+ "name": "open",
8002
+ "type": {
8003
+ "text": "boolean"
8004
+ },
8005
+ "privacy": "public",
8006
+ "default": "false",
8007
+ "description": "Whether the overlay is open.",
8008
+ "attribute": "open",
8009
+ "reflects": true
8010
+ },
8011
+ {
8012
+ "kind": "field",
8013
+ "name": "arrowElement",
8014
+ "type": {
8015
+ "text": "HTMLElement | null"
8016
+ },
8017
+ "privacy": "public",
8018
+ "default": "null",
8019
+ "description": "The arrow element to position relative to the overlay.",
8020
+ "attribute": "arrowElement"
8021
+ },
8022
+ {
8023
+ "kind": "field",
8024
+ "name": "offset",
8025
+ "type": {
8026
+ "text": "OverlayOffset | undefined"
8027
+ },
8028
+ "privacy": "public",
8029
+ "default": "undefined",
8030
+ "description": "The offset of the overlay from the anchor element.\nCan be a number (main axis offset) or an object with mainAxis, crossAxis, and alignmentAxis properties.",
8031
+ "attribute": "offset"
8032
+ },
8033
+ {
8034
+ "kind": "field",
8035
+ "name": "dismissMode",
8036
+ "type": {
8037
+ "text": "'auto' | 'manual'"
8038
+ },
8039
+ "privacy": "public",
8040
+ "default": "'auto'",
8041
+ "description": "The dismiss mode for the overlay.\n- 'auto': Automatically closes on outside clicks and Escape key\n- 'manual': Requires manual control to close",
8042
+ "attribute": "dismiss-mode"
8043
+ }
8044
+ ],
8045
+ "attributes": [
8046
+ {
8047
+ "name": "anchor",
8048
+ "type": {
8049
+ "text": "Element | null"
8050
+ },
8051
+ "default": "null",
8052
+ "description": "The anchor element to position the overlay relative to.",
8053
+ "fieldName": "anchor"
8054
+ },
8055
+ {
8056
+ "name": "placement",
8057
+ "type": {
8058
+ "text": "OverlayPlacement"
8059
+ },
8060
+ "default": "'bottom-start'",
8061
+ "description": "The placement of the overlay relative to the anchor.",
8062
+ "fieldName": "placement"
8063
+ },
8064
+ {
8065
+ "name": "flip",
8066
+ "type": {
8067
+ "text": "boolean"
8068
+ },
8069
+ "default": "true",
8070
+ "description": "Whether the overlay should flip to the opposite side when there's no space.",
8071
+ "fieldName": "flip"
8072
+ },
8073
+ {
8074
+ "name": "shift",
8075
+ "type": {
8076
+ "text": "boolean"
8077
+ },
8078
+ "default": "false",
8079
+ "description": "Whether the overlay should shift to stay in view.",
8080
+ "fieldName": "shift"
8081
+ },
8082
+ {
8083
+ "name": "auto-size",
8084
+ "type": {
8085
+ "text": "boolean"
8086
+ },
8087
+ "default": "false",
8088
+ "description": "Whether the overlay should constrain its own size to the space available in the chosen\nplacement direction, exposed as the `--ai-overlay-available-width`/`--ai-overlay-available-height`\nCSS custom properties on the overlay so slotted content can shrink (and scroll internally)\ninstead of being clipped by the viewport.",
8089
+ "fieldName": "autoSize"
8090
+ },
8091
+ {
8092
+ "name": "open",
8093
+ "type": {
8094
+ "text": "boolean"
8095
+ },
8096
+ "default": "false",
8097
+ "description": "Whether the overlay is open.",
8098
+ "fieldName": "open"
8099
+ },
8100
+ {
8101
+ "name": "arrowElement",
8102
+ "type": {
8103
+ "text": "HTMLElement | null"
8104
+ },
8105
+ "default": "null",
8106
+ "description": "The arrow element to position relative to the overlay.",
8107
+ "fieldName": "arrowElement"
8108
+ },
8109
+ {
8110
+ "name": "offset",
8023
8111
  "type": {
8024
- "text": "ToolCall<TableData>"
8112
+ "text": "OverlayOffset | undefined"
8025
8113
  },
8026
- "privacy": "public",
8027
- "description": "Tool call data containing table configuration and data"
8114
+ "default": "undefined",
8115
+ "description": "The offset of the overlay from the anchor element.\nCan be a number (main axis offset) or an object with mainAxis, crossAxis, and alignmentAxis properties.",
8116
+ "fieldName": "offset"
8117
+ },
8118
+ {
8119
+ "name": "dismiss-mode",
8120
+ "type": {
8121
+ "text": "'auto' | 'manual'"
8122
+ },
8123
+ "default": "'auto'",
8124
+ "description": "The dismiss mode for the overlay.\n- 'auto': Automatically closes on outside clicks and Escape key\n- 'manual': Requires manual control to close",
8125
+ "fieldName": "dismissMode"
8028
8126
  }
8029
8127
  ],
8030
8128
  "superclass": {
8031
8129
  "name": "LitElement",
8032
8130
  "package": "lit"
8033
8131
  },
8034
- "tagName": "forge-ai-tool-data-table",
8132
+ "summary": "A low-level overlay component that positions content relative to an anchor. Used by `forge-ai-popover` and `forge-ai-tooltip`.",
8133
+ "tagName": "forge-ai-overlay",
8035
8134
  "customElement": true
8036
8135
  }
8037
8136
  ],
8038
8137
  "exports": [
8039
8138
  {
8040
8139
  "kind": "js",
8041
- "name": "DataTableToolElement",
8140
+ "name": "ForgeAiOverlayComponent",
8042
8141
  "declaration": {
8043
- "name": "DataTableToolElement",
8044
- "module": "src/lib/tools/ai-data-table/ai-data-table.ts"
8142
+ "name": "ForgeAiOverlayComponent",
8143
+ "module": "src/lib/core/overlay/overlay.ts"
8045
8144
  }
8046
8145
  },
8047
8146
  {
8048
8147
  "kind": "custom-element-definition",
8049
- "name": "forge-ai-tool-data-table",
8148
+ "name": "forge-ai-overlay",
8050
8149
  "declaration": {
8051
- "name": "DataTableToolElement",
8052
- "module": "src/lib/tools/ai-data-table/ai-data-table.ts"
8150
+ "name": "ForgeAiOverlayComponent",
8151
+ "module": "src/lib/core/overlay/overlay.ts"
8053
8152
  }
8054
8153
  }
8055
8154
  ]
8056
8155
  },
8057
8156
  {
8058
8157
  "kind": "javascript-module",
8059
- "path": "src/lib/tools/ai-paginator/ai-paginator.ts",
8158
+ "path": "src/lib/ai-chain-of-thought/thought-search-result/thought-search-result.ts",
8060
8159
  "declarations": [
8160
+ {
8161
+ "kind": "variable",
8162
+ "name": "ThoughtSearchResultComponentTagName",
8163
+ "type": {
8164
+ "text": "keyof HTMLElementTagNameMap"
8165
+ },
8166
+ "default": "'forge-ai-thought-search-result'"
8167
+ },
8061
8168
  {
8062
8169
  "kind": "class",
8063
- "description": "A compact previous/next paginator.",
8064
- "name": "AiPaginator",
8170
+ "description": "",
8171
+ "name": "ThoughtSearchResultComponent",
8065
8172
  "members": [
8066
8173
  {
8067
8174
  "kind": "field",
8068
- "name": "currentPage",
8069
- "type": {
8070
- "text": "number"
8071
- },
8072
- "privacy": "public",
8073
- "default": "1",
8074
- "attribute": "current-page"
8075
- },
8076
- {
8077
- "kind": "field",
8078
- "name": "totalPages",
8175
+ "name": "step",
8079
8176
  "type": {
8080
- "text": "number"
8177
+ "text": "number | undefined"
8081
8178
  },
8082
8179
  "privacy": "public",
8083
- "default": "1",
8084
- "attribute": "total-pages"
8180
+ "description": "The step number for this thought search result",
8181
+ "attribute": "step"
8085
8182
  },
8086
8183
  {
8087
8184
  "kind": "field",
8088
- "name": "disabled",
8185
+ "name": "sources",
8089
8186
  "type": {
8090
- "text": "boolean"
8187
+ "text": "Source[]"
8091
8188
  },
8092
8189
  "privacy": "public",
8093
- "default": "false",
8094
- "attribute": "disabled",
8095
- "reflects": true
8096
- }
8097
- ],
8098
- "events": [
8099
- {
8100
- "name": "forge-ai-paginator-page-change",
8101
- "type": {
8102
- "text": "CustomEvent<ForgeAiPaginatorPageChangeEventData>"
8103
- },
8104
- "description": "Fired when the previous or next button is clicked."
8190
+ "default": "[]",
8191
+ "description": "Array of sources for the search result",
8192
+ "attribute": "sources"
8105
8193
  }
8106
8194
  ],
8107
8195
  "attributes": [
8108
8196
  {
8109
- "name": "current-page",
8110
- "type": {
8111
- "text": "number"
8112
- },
8113
- "default": "1",
8114
- "fieldName": "currentPage"
8115
- },
8116
- {
8117
- "name": "total-pages",
8197
+ "name": "step",
8118
8198
  "type": {
8119
- "text": "number"
8199
+ "text": "number | undefined"
8120
8200
  },
8121
- "default": "1",
8122
- "fieldName": "totalPages"
8201
+ "description": "The step number for this thought search result",
8202
+ "fieldName": "step"
8123
8203
  },
8124
8204
  {
8125
- "name": "disabled",
8205
+ "name": "sources",
8126
8206
  "type": {
8127
- "text": "boolean"
8207
+ "text": "Source[]"
8128
8208
  },
8129
- "default": "false",
8130
- "fieldName": "disabled"
8209
+ "default": "[]",
8210
+ "description": "Array of sources for the search result",
8211
+ "fieldName": "sources"
8131
8212
  }
8132
8213
  ],
8133
8214
  "superclass": {
8134
8215
  "name": "LitElement",
8135
8216
  "package": "lit"
8136
8217
  },
8137
- "tagName": "forge-ai-paginator",
8218
+ "tagName": "forge-ai-thought-search-result",
8138
8219
  "customElement": true
8139
8220
  }
8140
8221
  ],
8141
8222
  "exports": [
8142
8223
  {
8143
8224
  "kind": "js",
8144
- "name": "AiPaginator",
8225
+ "name": "ThoughtSearchResultComponentTagName",
8145
8226
  "declaration": {
8146
- "name": "AiPaginator",
8147
- "module": "src/lib/tools/ai-paginator/ai-paginator.ts"
8227
+ "name": "ThoughtSearchResultComponentTagName",
8228
+ "module": "src/lib/ai-chain-of-thought/thought-search-result/thought-search-result.ts"
8229
+ }
8230
+ },
8231
+ {
8232
+ "kind": "js",
8233
+ "name": "ThoughtSearchResultComponent",
8234
+ "declaration": {
8235
+ "name": "ThoughtSearchResultComponent",
8236
+ "module": "src/lib/ai-chain-of-thought/thought-search-result/thought-search-result.ts"
8148
8237
  }
8149
8238
  },
8150
8239
  {
8151
8240
  "kind": "custom-element-definition",
8152
- "name": "forge-ai-paginator",
8153
8241
  "declaration": {
8154
- "name": "AiPaginator",
8155
- "module": "src/lib/tools/ai-paginator/ai-paginator.ts"
8242
+ "name": "ThoughtSearchResultComponent",
8243
+ "module": "src/lib/ai-chain-of-thought/thought-search-result/thought-search-result.ts"
8156
8244
  }
8157
8245
  }
8158
8246
  ]
8159
8247
  },
8160
8248
  {
8161
8249
  "kind": "javascript-module",
8162
- "path": "src/lib/core/overlay/overlay.ts",
8250
+ "path": "src/lib/core/popover/popover.ts",
8163
8251
  "declarations": [
8164
8252
  {
8165
8253
  "kind": "class",
8166
8254
  "description": "",
8167
- "name": "ForgeAiOverlayComponent",
8255
+ "name": "ForgeAiPopoverComponent",
8168
8256
  "cssProperties": [
8169
8257
  {
8170
- "description": "Set on the overlay when `autoSize` is enabled; the width available in the chosen placement direction. Consumers can use this to constrain slotted content instead of being clipped by the viewport.",
8258
+ "description": "Set on the popover when `autoSize` is enabled; the width available in the chosen placement direction.",
8171
8259
  "name": "--ai-overlay-available-width"
8172
8260
  },
8173
8261
  {
8174
- "description": "Set on the overlay when `autoSize` is enabled; the height available in the chosen placement direction.",
8262
+ "description": "Set on the popover when `autoSize` is enabled; the height available in the chosen placement direction.",
8175
8263
  "name": "--ai-overlay-available-height"
8176
8264
  }
8177
8265
  ],
8178
8266
  "slots": [
8179
8267
  {
8180
- "description": "The default slot for overlay content.",
8268
+ "description": "The default slot for popover content.",
8181
8269
  "name": ""
8182
8270
  }
8183
8271
  ],
@@ -8190,18 +8278,18 @@
8190
8278
  },
8191
8279
  "privacy": "public",
8192
8280
  "default": "null",
8193
- "description": "The anchor element to position the overlay relative to.",
8281
+ "description": "The anchor element to position the popover relative to.",
8194
8282
  "attribute": "anchor"
8195
8283
  },
8196
8284
  {
8197
8285
  "kind": "field",
8198
8286
  "name": "placement",
8199
8287
  "type": {
8200
- "text": "OverlayPlacement"
8288
+ "text": "PopoverPlacement"
8201
8289
  },
8202
8290
  "privacy": "public",
8203
8291
  "default": "'bottom-start'",
8204
- "description": "The placement of the overlay relative to the anchor.",
8292
+ "description": "The placement of the popover relative to the anchor.",
8205
8293
  "attribute": "placement"
8206
8294
  },
8207
8295
  {
@@ -8211,8 +8299,8 @@
8211
8299
  "text": "boolean"
8212
8300
  },
8213
8301
  "privacy": "public",
8214
- "default": "true",
8215
- "description": "Whether the overlay should flip to the opposite side when there's no space.",
8302
+ "default": "false",
8303
+ "description": "Whether the popover should flip to the opposite side when there's no space.",
8216
8304
  "attribute": "flip"
8217
8305
  },
8218
8306
  {
@@ -8223,7 +8311,7 @@
8223
8311
  },
8224
8312
  "privacy": "public",
8225
8313
  "default": "false",
8226
- "description": "Whether the overlay should shift to stay in view.",
8314
+ "description": "Whether the popover should shift to stay in view.",
8227
8315
  "attribute": "shift"
8228
8316
  },
8229
8317
  {
@@ -8234,7 +8322,7 @@
8234
8322
  },
8235
8323
  "privacy": "public",
8236
8324
  "default": "false",
8237
- "description": "Whether the overlay should constrain its own size to the space available in the chosen\nplacement direction, exposed as the `--ai-overlay-available-width`/`--ai-overlay-available-height`\nCSS custom properties on the overlay so slotted content can shrink (and scroll internally)\ninstead of being clipped by the viewport.",
8325
+ "description": "Whether the popover should constrain its own size to the space available in the chosen\nplacement direction, exposed as the `--ai-overlay-available-width`/`--ai-overlay-available-height`\nCSS custom properties so slotted content can shrink (and scroll internally) instead of being\nclipped by the viewport.",
8238
8326
  "attribute": "auto-size"
8239
8327
  },
8240
8328
  {
@@ -8245,30 +8333,30 @@
8245
8333
  },
8246
8334
  "privacy": "public",
8247
8335
  "default": "false",
8248
- "description": "Whether the overlay is open.",
8336
+ "description": "Whether the popover is open.",
8249
8337
  "attribute": "open",
8250
8338
  "reflects": true
8251
8339
  },
8252
8340
  {
8253
8341
  "kind": "field",
8254
- "name": "arrowElement",
8342
+ "name": "arrow",
8255
8343
  "type": {
8256
- "text": "HTMLElement | null"
8344
+ "text": "boolean"
8257
8345
  },
8258
8346
  "privacy": "public",
8259
- "default": "null",
8260
- "description": "The arrow element to position relative to the overlay.",
8261
- "attribute": "arrowElement"
8347
+ "default": "false",
8348
+ "description": "Whether to show an arrow pointing to the anchor element.",
8349
+ "attribute": "arrow"
8262
8350
  },
8263
8351
  {
8264
8352
  "kind": "field",
8265
8353
  "name": "offset",
8266
8354
  "type": {
8267
- "text": "OverlayOffset | undefined"
8355
+ "text": "PopoverOffset | undefined"
8268
8356
  },
8269
8357
  "privacy": "public",
8270
8358
  "default": "undefined",
8271
- "description": "The offset of the overlay from the anchor element.\nCan be a number (main axis offset) or an object with mainAxis, crossAxis, and alignmentAxis properties.",
8359
+ "description": "The offset of the popover from the anchor element.\nCan be a number (main axis offset) or an object with mainAxis, crossAxis, and alignmentAxis properties.",
8272
8360
  "attribute": "offset"
8273
8361
  },
8274
8362
  {
@@ -8279,7 +8367,7 @@
8279
8367
  },
8280
8368
  "privacy": "public",
8281
8369
  "default": "'auto'",
8282
- "description": "The dismiss mode for the overlay.\n- 'auto': Automatically closes on outside clicks and Escape key\n- 'manual': Requires manual control to close",
8370
+ "description": "The dismiss mode for the popover.\n- 'auto': Automatically closes on outside clicks and Escape key\n- 'manual': Requires manual control to close",
8283
8371
  "attribute": "dismiss-mode"
8284
8372
  }
8285
8373
  ],
@@ -8290,16 +8378,16 @@
8290
8378
  "text": "Element | null"
8291
8379
  },
8292
8380
  "default": "null",
8293
- "description": "The anchor element to position the overlay relative to.",
8381
+ "description": "The anchor element to position the popover relative to.",
8294
8382
  "fieldName": "anchor"
8295
8383
  },
8296
8384
  {
8297
8385
  "name": "placement",
8298
8386
  "type": {
8299
- "text": "OverlayPlacement"
8387
+ "text": "PopoverPlacement"
8300
8388
  },
8301
8389
  "default": "'bottom-start'",
8302
- "description": "The placement of the overlay relative to the anchor.",
8390
+ "description": "The placement of the popover relative to the anchor.",
8303
8391
  "fieldName": "placement"
8304
8392
  },
8305
8393
  {
@@ -8307,8 +8395,8 @@
8307
8395
  "type": {
8308
8396
  "text": "boolean"
8309
8397
  },
8310
- "default": "true",
8311
- "description": "Whether the overlay should flip to the opposite side when there's no space.",
8398
+ "default": "false",
8399
+ "description": "Whether the popover should flip to the opposite side when there's no space.",
8312
8400
  "fieldName": "flip"
8313
8401
  },
8314
8402
  {
@@ -8317,7 +8405,7 @@
8317
8405
  "text": "boolean"
8318
8406
  },
8319
8407
  "default": "false",
8320
- "description": "Whether the overlay should shift to stay in view.",
8408
+ "description": "Whether the popover should shift to stay in view.",
8321
8409
  "fieldName": "shift"
8322
8410
  },
8323
8411
  {
@@ -8326,7 +8414,7 @@
8326
8414
  "text": "boolean"
8327
8415
  },
8328
8416
  "default": "false",
8329
- "description": "Whether the overlay should constrain its own size to the space available in the chosen\nplacement direction, exposed as the `--ai-overlay-available-width`/`--ai-overlay-available-height`\nCSS custom properties on the overlay so slotted content can shrink (and scroll internally)\ninstead of being clipped by the viewport.",
8417
+ "description": "Whether the popover should constrain its own size to the space available in the chosen\nplacement direction, exposed as the `--ai-overlay-available-width`/`--ai-overlay-available-height`\nCSS custom properties so slotted content can shrink (and scroll internally) instead of being\nclipped by the viewport.",
8330
8418
  "fieldName": "autoSize"
8331
8419
  },
8332
8420
  {
@@ -8335,107 +8423,61 @@
8335
8423
  "text": "boolean"
8336
8424
  },
8337
8425
  "default": "false",
8338
- "description": "Whether the overlay is open.",
8426
+ "description": "Whether the popover is open.",
8339
8427
  "fieldName": "open"
8340
8428
  },
8341
8429
  {
8342
- "name": "arrowElement",
8430
+ "name": "arrow",
8343
8431
  "type": {
8344
- "text": "HTMLElement | null"
8432
+ "text": "boolean"
8345
8433
  },
8346
- "default": "null",
8347
- "description": "The arrow element to position relative to the overlay.",
8348
- "fieldName": "arrowElement"
8434
+ "default": "false",
8435
+ "description": "Whether to show an arrow pointing to the anchor element.",
8436
+ "fieldName": "arrow"
8349
8437
  },
8350
8438
  {
8351
8439
  "name": "offset",
8352
8440
  "type": {
8353
- "text": "OverlayOffset | undefined"
8354
- },
8355
- "default": "undefined",
8356
- "description": "The offset of the overlay from the anchor element.\nCan be a number (main axis offset) or an object with mainAxis, crossAxis, and alignmentAxis properties.",
8357
- "fieldName": "offset"
8358
- },
8359
- {
8360
- "name": "dismiss-mode",
8361
- "type": {
8362
- "text": "'auto' | 'manual'"
8363
- },
8364
- "default": "'auto'",
8365
- "description": "The dismiss mode for the overlay.\n- 'auto': Automatically closes on outside clicks and Escape key\n- 'manual': Requires manual control to close",
8366
- "fieldName": "dismissMode"
8367
- }
8368
- ],
8369
- "superclass": {
8370
- "name": "LitElement",
8371
- "package": "lit"
8372
- },
8373
- "summary": "A low-level overlay component that positions content relative to an anchor. Used by `forge-ai-popover` and `forge-ai-tooltip`.",
8374
- "tagName": "forge-ai-overlay",
8375
- "customElement": true
8376
- }
8377
- ],
8378
- "exports": [
8379
- {
8380
- "kind": "js",
8381
- "name": "ForgeAiOverlayComponent",
8382
- "declaration": {
8383
- "name": "ForgeAiOverlayComponent",
8384
- "module": "src/lib/core/overlay/overlay.ts"
8385
- }
8386
- },
8387
- {
8388
- "kind": "custom-element-definition",
8389
- "name": "forge-ai-overlay",
8390
- "declaration": {
8391
- "name": "ForgeAiOverlayComponent",
8392
- "module": "src/lib/core/overlay/overlay.ts"
8393
- }
8394
- }
8395
- ]
8396
- },
8397
- {
8398
- "kind": "javascript-module",
8399
- "path": "src/lib/tools/ai-steps/ai-steps.ts",
8400
- "declarations": [
8401
- {
8402
- "kind": "class",
8403
- "description": "Steps component tool renderer. Maps a `displaySteps` tool call onto the presentational\n`forge-ai-steps` primitive, so the primitive stays unaware of tool calls.",
8404
- "name": "StepsToolElement",
8405
- "members": [
8441
+ "text": "PopoverOffset | undefined"
8442
+ },
8443
+ "default": "undefined",
8444
+ "description": "The offset of the popover from the anchor element.\nCan be a number (main axis offset) or an object with mainAxis, crossAxis, and alignmentAxis properties.",
8445
+ "fieldName": "offset"
8446
+ },
8406
8447
  {
8407
- "kind": "field",
8408
- "name": "toolCall",
8448
+ "name": "dismiss-mode",
8409
8449
  "type": {
8410
- "text": "ToolCall<StepsData>"
8450
+ "text": "'auto' | 'manual'"
8411
8451
  },
8412
- "privacy": "public",
8413
- "description": "Tool call data containing the agent-provided steps."
8452
+ "default": "'auto'",
8453
+ "description": "The dismiss mode for the popover.\n- 'auto': Automatically closes on outside clicks and Escape key\n- 'manual': Requires manual control to close",
8454
+ "fieldName": "dismissMode"
8414
8455
  }
8415
8456
  ],
8416
8457
  "superclass": {
8417
8458
  "name": "LitElement",
8418
8459
  "package": "lit"
8419
8460
  },
8420
- "tagName": "forge-ai-tool-steps",
8461
+ "summary": "A popover component that provides styled overlay functionality.",
8462
+ "tagName": "forge-ai-popover",
8421
8463
  "customElement": true
8422
8464
  }
8423
8465
  ],
8424
8466
  "exports": [
8425
8467
  {
8426
8468
  "kind": "js",
8427
- "name": "StepsToolElement",
8469
+ "name": "ForgeAiPopoverComponent",
8428
8470
  "declaration": {
8429
- "name": "StepsToolElement",
8430
- "module": "src/lib/tools/ai-steps/ai-steps.ts"
8471
+ "name": "ForgeAiPopoverComponent",
8472
+ "module": "src/lib/core/popover/popover.ts"
8431
8473
  }
8432
8474
  },
8433
8475
  {
8434
8476
  "kind": "custom-element-definition",
8435
- "name": "forge-ai-tool-steps",
8477
+ "name": "forge-ai-popover",
8436
8478
  "declaration": {
8437
- "name": "StepsToolElement",
8438
- "module": "src/lib/tools/ai-steps/ai-steps.ts"
8479
+ "name": "ForgeAiPopoverComponent",
8480
+ "module": "src/lib/core/popover/popover.ts"
8439
8481
  }
8440
8482
  }
8441
8483
  ]
@@ -8672,244 +8714,209 @@
8672
8714
  },
8673
8715
  {
8674
8716
  "kind": "javascript-module",
8675
- "path": "src/lib/core/popover/popover.ts",
8717
+ "path": "src/lib/tools/ai-data-table/ai-data-table.ts",
8676
8718
  "declarations": [
8677
8719
  {
8678
8720
  "kind": "class",
8679
- "description": "",
8680
- "name": "ForgeAiPopoverComponent",
8681
- "cssProperties": [
8682
- {
8683
- "description": "Set on the popover when `autoSize` is enabled; the width available in the chosen placement direction.",
8684
- "name": "--ai-overlay-available-width"
8685
- },
8686
- {
8687
- "description": "Set on the popover when `autoSize` is enabled; the height available in the chosen placement direction.",
8688
- "name": "--ai-overlay-available-height"
8689
- }
8690
- ],
8691
- "slots": [
8692
- {
8693
- "description": "The default slot for popover content.",
8694
- "name": ""
8695
- }
8696
- ],
8721
+ "description": "Data table component tool renderer for displaying tabular data with pagination and filtering.",
8722
+ "name": "DataTableToolElement",
8697
8723
  "members": [
8698
8724
  {
8699
8725
  "kind": "field",
8700
- "name": "anchor",
8701
- "type": {
8702
- "text": "Element | null"
8703
- },
8704
- "privacy": "public",
8705
- "default": "null",
8706
- "description": "The anchor element to position the popover relative to.",
8707
- "attribute": "anchor"
8708
- },
8709
- {
8710
- "kind": "field",
8711
- "name": "placement",
8712
- "type": {
8713
- "text": "PopoverPlacement"
8714
- },
8715
- "privacy": "public",
8716
- "default": "'bottom-start'",
8717
- "description": "The placement of the popover relative to the anchor.",
8718
- "attribute": "placement"
8719
- },
8720
- {
8721
- "kind": "field",
8722
- "name": "flip",
8726
+ "name": "toolCall",
8723
8727
  "type": {
8724
- "text": "boolean"
8728
+ "text": "ToolCall<TableData>"
8725
8729
  },
8726
8730
  "privacy": "public",
8727
- "default": "false",
8728
- "description": "Whether the popover should flip to the opposite side when there's no space.",
8729
- "attribute": "flip"
8730
- },
8731
+ "description": "Tool call data containing table configuration and data"
8732
+ }
8733
+ ],
8734
+ "superclass": {
8735
+ "name": "LitElement",
8736
+ "package": "lit"
8737
+ },
8738
+ "tagName": "forge-ai-tool-data-table",
8739
+ "customElement": true
8740
+ }
8741
+ ],
8742
+ "exports": [
8743
+ {
8744
+ "kind": "js",
8745
+ "name": "DataTableToolElement",
8746
+ "declaration": {
8747
+ "name": "DataTableToolElement",
8748
+ "module": "src/lib/tools/ai-data-table/ai-data-table.ts"
8749
+ }
8750
+ },
8751
+ {
8752
+ "kind": "custom-element-definition",
8753
+ "name": "forge-ai-tool-data-table",
8754
+ "declaration": {
8755
+ "name": "DataTableToolElement",
8756
+ "module": "src/lib/tools/ai-data-table/ai-data-table.ts"
8757
+ }
8758
+ }
8759
+ ]
8760
+ },
8761
+ {
8762
+ "kind": "javascript-module",
8763
+ "path": "src/lib/tools/ai-paginator/ai-paginator.ts",
8764
+ "declarations": [
8765
+ {
8766
+ "kind": "class",
8767
+ "description": "A compact previous/next paginator.",
8768
+ "name": "AiPaginator",
8769
+ "members": [
8731
8770
  {
8732
8771
  "kind": "field",
8733
- "name": "shift",
8772
+ "name": "currentPage",
8734
8773
  "type": {
8735
- "text": "boolean"
8774
+ "text": "number"
8736
8775
  },
8737
8776
  "privacy": "public",
8738
- "default": "false",
8739
- "description": "Whether the popover should shift to stay in view.",
8740
- "attribute": "shift"
8777
+ "default": "1",
8778
+ "attribute": "current-page"
8741
8779
  },
8742
8780
  {
8743
8781
  "kind": "field",
8744
- "name": "autoSize",
8782
+ "name": "totalPages",
8745
8783
  "type": {
8746
- "text": "boolean"
8784
+ "text": "number"
8747
8785
  },
8748
8786
  "privacy": "public",
8749
- "default": "false",
8750
- "description": "Whether the popover should constrain its own size to the space available in the chosen\nplacement direction, exposed as the `--ai-overlay-available-width`/`--ai-overlay-available-height`\nCSS custom properties so slotted content can shrink (and scroll internally) instead of being\nclipped by the viewport.",
8751
- "attribute": "auto-size"
8787
+ "default": "1",
8788
+ "attribute": "total-pages"
8752
8789
  },
8753
8790
  {
8754
8791
  "kind": "field",
8755
- "name": "open",
8792
+ "name": "disabled",
8756
8793
  "type": {
8757
8794
  "text": "boolean"
8758
8795
  },
8759
8796
  "privacy": "public",
8760
8797
  "default": "false",
8761
- "description": "Whether the popover is open.",
8762
- "attribute": "open",
8798
+ "attribute": "disabled",
8763
8799
  "reflects": true
8764
- },
8765
- {
8766
- "kind": "field",
8767
- "name": "arrow",
8768
- "type": {
8769
- "text": "boolean"
8770
- },
8771
- "privacy": "public",
8772
- "default": "false",
8773
- "description": "Whether to show an arrow pointing to the anchor element.",
8774
- "attribute": "arrow"
8775
- },
8776
- {
8777
- "kind": "field",
8778
- "name": "offset",
8779
- "type": {
8780
- "text": "PopoverOffset | undefined"
8781
- },
8782
- "privacy": "public",
8783
- "default": "undefined",
8784
- "description": "The offset of the popover from the anchor element.\nCan be a number (main axis offset) or an object with mainAxis, crossAxis, and alignmentAxis properties.",
8785
- "attribute": "offset"
8786
- },
8800
+ }
8801
+ ],
8802
+ "events": [
8787
8803
  {
8788
- "kind": "field",
8789
- "name": "dismissMode",
8804
+ "name": "forge-ai-paginator-page-change",
8790
8805
  "type": {
8791
- "text": "'auto' | 'manual'"
8806
+ "text": "CustomEvent<ForgeAiPaginatorPageChangeEventData>"
8792
8807
  },
8793
- "privacy": "public",
8794
- "default": "'auto'",
8795
- "description": "The dismiss mode for the popover.\n- 'auto': Automatically closes on outside clicks and Escape key\n- 'manual': Requires manual control to close",
8796
- "attribute": "dismiss-mode"
8808
+ "description": "Fired when the previous or next button is clicked."
8797
8809
  }
8798
8810
  ],
8799
8811
  "attributes": [
8800
8812
  {
8801
- "name": "anchor",
8802
- "type": {
8803
- "text": "Element | null"
8804
- },
8805
- "default": "null",
8806
- "description": "The anchor element to position the popover relative to.",
8807
- "fieldName": "anchor"
8808
- },
8809
- {
8810
- "name": "placement",
8811
- "type": {
8812
- "text": "PopoverPlacement"
8813
- },
8814
- "default": "'bottom-start'",
8815
- "description": "The placement of the popover relative to the anchor.",
8816
- "fieldName": "placement"
8817
- },
8818
- {
8819
- "name": "flip",
8820
- "type": {
8821
- "text": "boolean"
8822
- },
8823
- "default": "false",
8824
- "description": "Whether the popover should flip to the opposite side when there's no space.",
8825
- "fieldName": "flip"
8826
- },
8827
- {
8828
- "name": "shift",
8829
- "type": {
8830
- "text": "boolean"
8831
- },
8832
- "default": "false",
8833
- "description": "Whether the popover should shift to stay in view.",
8834
- "fieldName": "shift"
8835
- },
8836
- {
8837
- "name": "auto-size",
8813
+ "name": "current-page",
8838
8814
  "type": {
8839
- "text": "boolean"
8815
+ "text": "number"
8840
8816
  },
8841
- "default": "false",
8842
- "description": "Whether the popover should constrain its own size to the space available in the chosen\nplacement direction, exposed as the `--ai-overlay-available-width`/`--ai-overlay-available-height`\nCSS custom properties so slotted content can shrink (and scroll internally) instead of being\nclipped by the viewport.",
8843
- "fieldName": "autoSize"
8817
+ "default": "1",
8818
+ "fieldName": "currentPage"
8844
8819
  },
8845
8820
  {
8846
- "name": "open",
8821
+ "name": "total-pages",
8847
8822
  "type": {
8848
- "text": "boolean"
8823
+ "text": "number"
8849
8824
  },
8850
- "default": "false",
8851
- "description": "Whether the popover is open.",
8852
- "fieldName": "open"
8825
+ "default": "1",
8826
+ "fieldName": "totalPages"
8853
8827
  },
8854
8828
  {
8855
- "name": "arrow",
8829
+ "name": "disabled",
8856
8830
  "type": {
8857
8831
  "text": "boolean"
8858
8832
  },
8859
8833
  "default": "false",
8860
- "description": "Whether to show an arrow pointing to the anchor element.",
8861
- "fieldName": "arrow"
8862
- },
8863
- {
8864
- "name": "offset",
8865
- "type": {
8866
- "text": "PopoverOffset | undefined"
8867
- },
8868
- "default": "undefined",
8869
- "description": "The offset of the popover from the anchor element.\nCan be a number (main axis offset) or an object with mainAxis, crossAxis, and alignmentAxis properties.",
8870
- "fieldName": "offset"
8871
- },
8834
+ "fieldName": "disabled"
8835
+ }
8836
+ ],
8837
+ "superclass": {
8838
+ "name": "LitElement",
8839
+ "package": "lit"
8840
+ },
8841
+ "tagName": "forge-ai-paginator",
8842
+ "customElement": true
8843
+ }
8844
+ ],
8845
+ "exports": [
8846
+ {
8847
+ "kind": "js",
8848
+ "name": "AiPaginator",
8849
+ "declaration": {
8850
+ "name": "AiPaginator",
8851
+ "module": "src/lib/tools/ai-paginator/ai-paginator.ts"
8852
+ }
8853
+ },
8854
+ {
8855
+ "kind": "custom-element-definition",
8856
+ "name": "forge-ai-paginator",
8857
+ "declaration": {
8858
+ "name": "AiPaginator",
8859
+ "module": "src/lib/tools/ai-paginator/ai-paginator.ts"
8860
+ }
8861
+ }
8862
+ ]
8863
+ },
8864
+ {
8865
+ "kind": "javascript-module",
8866
+ "path": "src/lib/tools/ai-steps/ai-steps.ts",
8867
+ "declarations": [
8868
+ {
8869
+ "kind": "class",
8870
+ "description": "Steps component tool renderer. Maps a `displaySteps` tool call onto the presentational\n`forge-ai-steps` primitive, so the primitive stays unaware of tool calls.",
8871
+ "name": "StepsToolElement",
8872
+ "members": [
8872
8873
  {
8873
- "name": "dismiss-mode",
8874
+ "kind": "field",
8875
+ "name": "toolCall",
8874
8876
  "type": {
8875
- "text": "'auto' | 'manual'"
8877
+ "text": "ToolCall<StepsData>"
8876
8878
  },
8877
- "default": "'auto'",
8878
- "description": "The dismiss mode for the popover.\n- 'auto': Automatically closes on outside clicks and Escape key\n- 'manual': Requires manual control to close",
8879
- "fieldName": "dismissMode"
8879
+ "privacy": "public",
8880
+ "description": "Tool call data containing the agent-provided steps."
8880
8881
  }
8881
8882
  ],
8882
8883
  "superclass": {
8883
8884
  "name": "LitElement",
8884
8885
  "package": "lit"
8885
8886
  },
8886
- "summary": "A popover component that provides styled overlay functionality.",
8887
- "tagName": "forge-ai-popover",
8887
+ "tagName": "forge-ai-tool-steps",
8888
8888
  "customElement": true
8889
8889
  }
8890
8890
  ],
8891
8891
  "exports": [
8892
8892
  {
8893
8893
  "kind": "js",
8894
- "name": "ForgeAiPopoverComponent",
8894
+ "name": "StepsToolElement",
8895
8895
  "declaration": {
8896
- "name": "ForgeAiPopoverComponent",
8897
- "module": "src/lib/core/popover/popover.ts"
8896
+ "name": "StepsToolElement",
8897
+ "module": "src/lib/tools/ai-steps/ai-steps.ts"
8898
8898
  }
8899
8899
  },
8900
8900
  {
8901
8901
  "kind": "custom-element-definition",
8902
- "name": "forge-ai-popover",
8902
+ "name": "forge-ai-tool-steps",
8903
8903
  "declaration": {
8904
- "name": "ForgeAiPopoverComponent",
8905
- "module": "src/lib/core/popover/popover.ts"
8904
+ "name": "StepsToolElement",
8905
+ "module": "src/lib/tools/ai-steps/ai-steps.ts"
8906
8906
  }
8907
8907
  }
8908
8908
  ]
8909
8909
  }
8910
8910
  ],
8911
- "branchName": "feat/TAI-438-forge-ai-package",
8912
8911
  "forgeTypes": {
8912
+ "AgentInfo": {
8913
+ "path": "src/lib/ai-chat-header/ai-chat-header.ts",
8914
+ "lineNumber": 48
8915
+ },
8916
+ "AiAgentInfoComponent": {
8917
+ "path": "src/lib/ai-agent-info/ai-agent-info.ts",
8918
+ "lineNumber": 31
8919
+ },
8913
8920
  "ForgeAiAgentSelectorChangeEventData": {
8914
8921
  "path": "src/lib/ai-agent-selector/ai-agent-selector.ts",
8915
8922
  "lineNumber": 23
@@ -8966,10 +8973,6 @@
8966
8973
  "path": "src/lib/ai-chat-header/ai-chat-header.ts",
8967
8974
  "lineNumber": 46
8968
8975
  },
8969
- "AgentInfo": {
8970
- "path": "src/lib/ai-agent-info/ai-agent-info.ts",
8971
- "lineNumber": 16
8972
- },
8973
8976
  "AiChatHeaderComponent": {
8974
8977
  "path": "src/lib/ai-chat-header/ai-chat-header.ts",
8975
8978
  "lineNumber": 84
@@ -8990,9 +8993,13 @@
8990
8993
  "path": "src/lib/ai-context-chip/ai-context-chip.ts",
8991
8994
  "lineNumber": 42
8992
8995
  },
8993
- "AiAgentInfoComponent": {
8994
- "path": "src/lib/ai-agent-info/ai-agent-info.ts",
8995
- "lineNumber": 31
8996
+ "ForgeAiContextItemsRemoveEventData": {
8997
+ "path": "src/lib/ai-context-items/ai-context-items.ts",
8998
+ "lineNumber": 18
8999
+ },
9000
+ "AiContextItemsComponent": {
9001
+ "path": "src/lib/ai-context-items/ai-context-items.ts",
9002
+ "lineNumber": 30
8996
9003
  },
8997
9004
  "ForgeAiConversationsPanelSelectEventData": {
8998
9005
  "path": "src/lib/ai-conversations-panel/ai-conversations-panel.ts",
@@ -9018,14 +9025,6 @@
9018
9025
  "path": "src/lib/ai-conversations-panel/ai-conversations-panel.ts",
9019
9026
  "lineNumber": 80
9020
9027
  },
9021
- "ForgeAiContextItemsRemoveEventData": {
9022
- "path": "src/lib/ai-context-items/ai-context-items.ts",
9023
- "lineNumber": 18
9024
- },
9025
- "AiContextItemsComponent": {
9026
- "path": "src/lib/ai-context-items/ai-context-items.ts",
9027
- "lineNumber": 30
9028
- },
9029
9028
  "ForgeAiCopyButtonCopyEventData": {
9030
9029
  "path": "src/lib/ai-copy-button/ai-copy-button.ts",
9031
9030
  "lineNumber": 18
@@ -9122,10 +9121,6 @@
9122
9121
  "path": "src/lib/ai-empty-state/ai-empty-state.ts",
9123
9122
  "lineNumber": 23
9124
9123
  },
9125
- "AiFabComponent": {
9126
- "path": "src/lib/ai-fab/ai-fab.ts",
9127
- "lineNumber": 27
9128
- },
9129
9124
  "ErrorMessageDensity": {
9130
9125
  "path": "src/lib/ai-error-message/ai-error-message.ts",
9131
9126
  "lineNumber": 13
@@ -9134,6 +9129,10 @@
9134
9129
  "path": "src/lib/ai-error-message/ai-error-message.ts",
9135
9130
  "lineNumber": 27
9136
9131
  },
9132
+ "AiFabComponent": {
9133
+ "path": "src/lib/ai-fab/ai-fab.ts",
9134
+ "lineNumber": 27
9135
+ },
9137
9136
  "ForgeAiFilePickerChangeEventData": {
9138
9137
  "path": "src/lib/ai-file-picker/ai-file-picker.ts",
9139
9138
  "lineNumber": 24
@@ -9190,18 +9189,6 @@
9190
9189
  "path": "src/lib/ai-modal/ai-modal.ts",
9191
9190
  "lineNumber": 38
9192
9191
  },
9193
- "ForgeAiReasoningHeaderToggleEventData": {
9194
- "path": "src/lib/ai-reasoning-header/ai-reasoning-header.ts",
9195
- "lineNumber": 16
9196
- },
9197
- "AiReasoningHeaderComponent": {
9198
- "path": "src/lib/ai-reasoning-header/ai-reasoning-header.ts",
9199
- "lineNumber": 30
9200
- },
9201
- "AiReasoningComponent": {
9202
- "path": "src/lib/ai-reasoning/ai-reasoning.ts",
9203
- "lineNumber": 18
9204
- },
9205
9192
  "ForgeAiPromptSendEventData": {
9206
9193
  "path": "src/lib/ai-prompt/ai-prompt.ts",
9207
9194
  "lineNumber": 31
@@ -9226,18 +9213,22 @@
9226
9213
  "path": "src/lib/ai-prompt/ai-prompt.ts",
9227
9214
  "lineNumber": 73
9228
9215
  },
9216
+ "AiReasoningComponent": {
9217
+ "path": "src/lib/ai-reasoning/ai-reasoning.ts",
9218
+ "lineNumber": 18
9219
+ },
9220
+ "ForgeAiReasoningHeaderToggleEventData": {
9221
+ "path": "src/lib/ai-reasoning-header/ai-reasoning-header.ts",
9222
+ "lineNumber": 16
9223
+ },
9224
+ "AiReasoningHeaderComponent": {
9225
+ "path": "src/lib/ai-reasoning-header/ai-reasoning-header.ts",
9226
+ "lineNumber": 30
9227
+ },
9229
9228
  "AiResponseMessageComponent": {
9230
9229
  "path": "src/lib/ai-response-message/ai-response-message.ts",
9231
9230
  "lineNumber": 19
9232
9231
  },
9233
- "ForgeAiSidebarResizeEventData": {
9234
- "path": "src/lib/ai-sidebar/ai-sidebar.ts",
9235
- "lineNumber": 33
9236
- },
9237
- "AiSidebarComponent": {
9238
- "path": "src/lib/ai-sidebar/ai-sidebar.ts",
9239
- "lineNumber": 48
9240
- },
9241
9232
  "ForgeAiResponseMessageToolbarActionEventData": {
9242
9233
  "path": "src/lib/ai-response-message-toolbar/ai-response-message-toolbar.ts",
9243
9234
  "lineNumber": 23
@@ -9254,6 +9245,18 @@
9254
9245
  "path": "src/lib/ai-response-message-toolbar/ai-response-message-toolbar.ts",
9255
9246
  "lineNumber": 42
9256
9247
  },
9248
+ "ForgeAiSidebarResizeEventData": {
9249
+ "path": "src/lib/ai-sidebar/ai-sidebar.ts",
9250
+ "lineNumber": 33
9251
+ },
9252
+ "AiSidebarComponent": {
9253
+ "path": "src/lib/ai-sidebar/ai-sidebar.ts",
9254
+ "lineNumber": 48
9255
+ },
9256
+ "AiSlashCommandMenuComponent": {
9257
+ "path": "src/lib/ai-slash-command-menu/ai-slash-command-menu.ts",
9258
+ "lineNumber": 32
9259
+ },
9257
9260
  "SpinnerSize": {
9258
9261
  "path": "src/lib/ai-spinner/ai-spinner.ts",
9259
9262
  "lineNumber": 14
@@ -9262,10 +9265,6 @@
9262
9265
  "path": "src/lib/ai-spinner/ai-spinner.ts",
9263
9266
  "lineNumber": 27
9264
9267
  },
9265
- "AiSlashCommandMenuComponent": {
9266
- "path": "src/lib/ai-slash-command-menu/ai-slash-command-menu.ts",
9267
- "lineNumber": 32
9268
- },
9269
9268
  "AiStepStatus": {
9270
9269
  "path": "src/lib/ai-steps/ai-steps.ts",
9271
9270
  "lineNumber": 21
@@ -9294,6 +9293,22 @@
9294
9293
  "path": "src/lib/ai-thinking-indicator/ai-thinking-indicator.ts",
9295
9294
  "lineNumber": 68
9296
9295
  },
9296
+ "ForgeAiThreadActionsMenuRenameEventData": {
9297
+ "path": "src/lib/ai-thread-actions-menu/ai-thread-actions-menu.ts",
9298
+ "lineNumber": 25
9299
+ },
9300
+ "ForgeAiThreadActionsMenuDeleteClickEventData": {
9301
+ "path": "src/lib/ai-thread-actions-menu/ai-thread-actions-menu.ts",
9302
+ "lineNumber": 29
9303
+ },
9304
+ "ForgeAiThreadActionsMenuOpenEventData": {
9305
+ "path": "src/lib/ai-thread-actions-menu/ai-thread-actions-menu.ts",
9306
+ "lineNumber": 33
9307
+ },
9308
+ "AiThreadActionsMenuComponent": {
9309
+ "path": "src/lib/ai-thread-actions-menu/ai-thread-actions-menu.ts",
9310
+ "lineNumber": 52
9311
+ },
9297
9312
  "ForgeAiThreadsSearchQueryEventData": {
9298
9313
  "path": "src/lib/ai-threads-search/ai-threads-search.ts",
9299
9314
  "lineNumber": 36
@@ -9354,22 +9369,6 @@
9354
9369
  "path": "src/lib/ai-tool-call/tool-canvas.ts",
9355
9370
  "lineNumber": 68
9356
9371
  },
9357
- "ForgeAiThreadActionsMenuRenameEventData": {
9358
- "path": "src/lib/ai-thread-actions-menu/ai-thread-actions-menu.ts",
9359
- "lineNumber": 25
9360
- },
9361
- "ForgeAiThreadActionsMenuDeleteClickEventData": {
9362
- "path": "src/lib/ai-thread-actions-menu/ai-thread-actions-menu.ts",
9363
- "lineNumber": 29
9364
- },
9365
- "ForgeAiThreadActionsMenuOpenEventData": {
9366
- "path": "src/lib/ai-thread-actions-menu/ai-thread-actions-menu.ts",
9367
- "lineNumber": 33
9368
- },
9369
- "AiThreadActionsMenuComponent": {
9370
- "path": "src/lib/ai-thread-actions-menu/ai-thread-actions-menu.ts",
9371
- "lineNumber": 52
9372
- },
9373
9372
  "AiToolCallIndicatorComponent": {
9374
9373
  "path": "src/lib/ai-tool-call-indicator/ai-tool-call-indicator.ts",
9375
9374
  "lineNumber": 32
@@ -9642,34 +9641,10 @@
9642
9641
  "path": "src/lib/ai-chain-of-thought/thought-image/thought-image.ts",
9643
9642
  "lineNumber": 19
9644
9643
  },
9645
- "Source": {
9646
- "path": "src/lib/ai-chain-of-thought/thought-search-result/thought-search-result.ts",
9647
- "lineNumber": 14
9648
- },
9649
- "ThoughtSearchResultComponent": {
9650
- "path": "src/lib/ai-chain-of-thought/thought-search-result/thought-search-result.ts",
9651
- "lineNumber": 24
9652
- },
9653
9644
  "ReasoningContentComponent": {
9654
9645
  "path": "src/lib/ai-reasoning/reasoning-content/reasoning-content.ts",
9655
9646
  "lineNumber": 17
9656
9647
  },
9657
- "TableData": {
9658
- "path": "src/lib/tools/ai-data-table/ai-data-table.ts",
9659
- "lineNumber": 23
9660
- },
9661
- "DataTableToolElement": {
9662
- "path": "src/lib/tools/ai-data-table/ai-data-table.ts",
9663
- "lineNumber": 38
9664
- },
9665
- "ForgeAiPaginatorPageChangeEventData": {
9666
- "path": "src/lib/tools/ai-paginator/ai-paginator.ts",
9667
- "lineNumber": 17
9668
- },
9669
- "AiPaginator": {
9670
- "path": "src/lib/tools/ai-paginator/ai-paginator.ts",
9671
- "lineNumber": 29
9672
- },
9673
9648
  "OverlayPlacement": {
9674
9649
  "path": "src/lib/core/overlay/overlay.ts",
9675
9650
  "lineNumber": 21
@@ -9682,14 +9657,30 @@
9682
9657
  "path": "src/lib/core/overlay/overlay.ts",
9683
9658
  "lineNumber": 33
9684
9659
  },
9685
- "StepsData": {
9686
- "path": "src/lib/tools/ai-steps/ai-steps.ts",
9687
- "lineNumber": 16
9660
+ "Source": {
9661
+ "path": "src/lib/ai-chain-of-thought/thought-search-result/thought-search-result.ts",
9662
+ "lineNumber": 14
9688
9663
  },
9689
- "StepsToolElement": {
9690
- "path": "src/lib/tools/ai-steps/ai-steps.ts",
9664
+ "ThoughtSearchResultComponent": {
9665
+ "path": "src/lib/ai-chain-of-thought/thought-search-result/thought-search-result.ts",
9666
+ "lineNumber": 24
9667
+ },
9668
+ "PopoverToggleEventData": {
9669
+ "path": "src/lib/core/popover/popover.ts",
9670
+ "lineNumber": 18
9671
+ },
9672
+ "PopoverPlacement": {
9673
+ "path": "src/lib/core/popover/popover.ts",
9674
+ "lineNumber": 24
9675
+ },
9676
+ "PopoverOffset": {
9677
+ "path": "src/lib/core/popover/popover.ts",
9691
9678
  "lineNumber": 26
9692
9679
  },
9680
+ "ForgeAiPopoverComponent": {
9681
+ "path": "src/lib/core/popover/popover.ts",
9682
+ "lineNumber": 40
9683
+ },
9693
9684
  "TooltipToggleEventDetail": {
9694
9685
  "path": "src/lib/core/tooltip/tooltip.ts",
9695
9686
  "lineNumber": 20
@@ -9706,21 +9697,29 @@
9706
9697
  "path": "src/lib/core/tooltip/tooltip.ts",
9707
9698
  "lineNumber": 44
9708
9699
  },
9709
- "PopoverToggleEventData": {
9710
- "path": "src/lib/core/popover/popover.ts",
9711
- "lineNumber": 18
9700
+ "TableData": {
9701
+ "path": "src/lib/tools/ai-data-table/ai-data-table.ts",
9702
+ "lineNumber": 23
9712
9703
  },
9713
- "PopoverPlacement": {
9714
- "path": "src/lib/core/popover/popover.ts",
9715
- "lineNumber": 24
9704
+ "DataTableToolElement": {
9705
+ "path": "src/lib/tools/ai-data-table/ai-data-table.ts",
9706
+ "lineNumber": 38
9716
9707
  },
9717
- "PopoverOffset": {
9718
- "path": "src/lib/core/popover/popover.ts",
9719
- "lineNumber": 26
9708
+ "ForgeAiPaginatorPageChangeEventData": {
9709
+ "path": "src/lib/tools/ai-paginator/ai-paginator.ts",
9710
+ "lineNumber": 17
9720
9711
  },
9721
- "ForgeAiPopoverComponent": {
9722
- "path": "src/lib/core/popover/popover.ts",
9723
- "lineNumber": 40
9712
+ "AiPaginator": {
9713
+ "path": "src/lib/tools/ai-paginator/ai-paginator.ts",
9714
+ "lineNumber": 29
9715
+ },
9716
+ "StepsData": {
9717
+ "path": "src/lib/tools/ai-steps/ai-steps.ts",
9718
+ "lineNumber": 16
9719
+ },
9720
+ "StepsToolElement": {
9721
+ "path": "src/lib/tools/ai-steps/ai-steps.ts",
9722
+ "lineNumber": 26
9724
9723
  }
9725
9724
  }
9726
9725
  }