@tylertech/forge-ai 0.11.6 → 0.12.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.
Files changed (117) hide show
  1. package/custom-elements.json +808 -779
  2. package/dist/ai-agent-info/ai-agent-info.d.ts +2 -2
  3. package/dist/ai-agent-info/ai-agent-info.scss.mjs +1 -1
  4. package/dist/ai-agent-selector/ai-agent-selector.d.ts +2 -2
  5. package/dist/ai-agent-selector/ai-agent-selector.scss.mjs +1 -1
  6. package/dist/ai-artifact/ai-artifact.d.ts +2 -2
  7. package/dist/ai-artifact/ai-artifact.scss.mjs +1 -1
  8. package/dist/ai-assistant-response/ai-assistant-response.d.ts +2 -2
  9. package/dist/ai-assistant-response/ai-assistant-response.scss.mjs +1 -1
  10. package/dist/ai-attachment/ai-attachment.d.ts +2 -2
  11. package/dist/ai-attachment/ai-attachment.scss.mjs +1 -1
  12. package/dist/ai-button/ai-button.d.ts +2 -2
  13. package/dist/ai-button/ai-button.scss.mjs +1 -1
  14. package/dist/ai-chain-of-thought/ai-chain-of-thought.d.ts +2 -2
  15. package/dist/ai-chain-of-thought/ai-chain-of-thought.scss.mjs +1 -1
  16. package/dist/ai-chain-of-thought/thought-base/thought-base.d.ts +2 -2
  17. package/dist/ai-chain-of-thought/thought-base/thought-base.scss.mjs +1 -1
  18. package/dist/ai-chain-of-thought/thought-detail/thought-detail.d.ts +2 -2
  19. package/dist/ai-chain-of-thought/thought-detail/thought-detail.scss.mjs +1 -1
  20. package/dist/ai-chain-of-thought/thought-image/thought-image.d.ts +2 -2
  21. package/dist/ai-chain-of-thought/thought-image/thought-image.scss.mjs +1 -1
  22. package/dist/ai-chain-of-thought/thought-search-result/thought-search-result.d.ts +2 -2
  23. package/dist/ai-chain-of-thought/thought-search-result/thought-search-result.scss.mjs +1 -1
  24. package/dist/ai-chat-header/ai-chat-header.d.ts +2 -2
  25. package/dist/ai-chat-header/ai-chat-header.scss.mjs +1 -1
  26. package/dist/ai-chat-interface/ai-chat-interface.d.ts +2 -2
  27. package/dist/ai-chat-interface/ai-chat-interface.scss.mjs +1 -1
  28. package/dist/ai-chatbot/ai-chatbot-tool-call.d.ts +2 -2
  29. package/dist/ai-chatbot/ai-chatbot-tool-call.mjs +13 -3
  30. package/dist/ai-chatbot/ai-chatbot-tool-call.scss.mjs +1 -1
  31. package/dist/ai-chatbot/ai-chatbot.d.ts +10 -4
  32. package/dist/ai-chatbot/ai-chatbot.scss.mjs +1 -1
  33. package/dist/ai-chatbot/index.d.ts +1 -1
  34. package/dist/ai-chatbot/types.d.ts +34 -0
  35. package/dist/ai-chatbot-launcher/ai-chatbot-launcher.d.ts +5 -4
  36. package/dist/ai-chatbot-launcher/ai-chatbot-launcher.scss.mjs +1 -1
  37. package/dist/ai-confirmation-prompt/ai-confirmation-prompt.d.ts +2 -2
  38. package/dist/ai-confirmation-prompt/ai-confirmation-prompt.scss.mjs +1 -1
  39. package/dist/ai-dialog/ai-dialog.d.ts +2 -2
  40. package/dist/ai-dialog/ai-dialog.scss.mjs +1 -1
  41. package/dist/ai-dropdown-menu/ai-dropdown-menu-item-group.d.ts +2 -2
  42. package/dist/ai-dropdown-menu/ai-dropdown-menu-item-group.scss.mjs +1 -1
  43. package/dist/ai-dropdown-menu/ai-dropdown-menu-item.d.ts +2 -2
  44. package/dist/ai-dropdown-menu/ai-dropdown-menu-item.scss.mjs +1 -1
  45. package/dist/ai-dropdown-menu/ai-dropdown-menu-separator.d.ts +2 -2
  46. package/dist/ai-dropdown-menu/ai-dropdown-menu-separator.scss.mjs +1 -1
  47. package/dist/ai-dropdown-menu/ai-dropdown-menu.d.ts +2 -2
  48. package/dist/ai-dropdown-menu/ai-dropdown-menu.scss.mjs +1 -1
  49. package/dist/ai-embedded-chat/ai-embedded-chat.d.ts +2 -2
  50. package/dist/ai-embedded-chat/ai-embedded-chat.scss.mjs +1 -1
  51. package/dist/ai-empty-state/ai-empty-state.d.ts +2 -2
  52. package/dist/ai-empty-state/ai-empty-state.scss.mjs +1 -1
  53. package/dist/ai-error-message/ai-error-message.d.ts +2 -2
  54. package/dist/ai-error-message/ai-error-message.scss.mjs +1 -1
  55. package/dist/ai-event-stream-viewer/ai-event-stream-viewer.d.ts +2 -2
  56. package/dist/ai-event-stream-viewer/ai-event-stream-viewer.scss.mjs +1 -1
  57. package/dist/ai-fab/ai-fab.d.ts +2 -2
  58. package/dist/ai-fab/ai-fab.scss.mjs +1 -1
  59. package/dist/ai-file-picker/ai-file-picker.d.ts +2 -2
  60. package/dist/ai-file-picker/ai-file-picker.scss.mjs +1 -1
  61. package/dist/ai-floating-chat/ai-floating-chat.d.ts +2 -2
  62. package/dist/ai-floating-chat/ai-floating-chat.scss.mjs +1 -1
  63. package/dist/ai-gradient-container/ai-gradient-container.d.ts +2 -2
  64. package/dist/ai-gradient-container/ai-gradient-container.scss.mjs +1 -1
  65. package/dist/ai-icon/ai-icon.d.ts +2 -2
  66. package/dist/ai-icon/ai-icon.scss.mjs +1 -1
  67. package/dist/ai-icon-button/ai-icon-button.d.ts +2 -2
  68. package/dist/ai-icon-button/ai-icon-button.scss.mjs +1 -1
  69. package/dist/ai-message-thread/ai-message-thread.d.ts +2 -2
  70. package/dist/ai-message-thread/ai-message-thread.scss.mjs +1 -1
  71. package/dist/ai-modal/ai-modal.d.ts +2 -2
  72. package/dist/ai-modal/ai-modal.scss.mjs +1 -1
  73. package/dist/ai-prompt/ai-prompt.d.ts +2 -2
  74. package/dist/ai-prompt/ai-prompt.scss.mjs +1 -1
  75. package/dist/ai-prompt/prompt-button/prompt-button.d.ts +2 -2
  76. package/dist/ai-prompt/prompt-button/prompt-button.scss.mjs +1 -1
  77. package/dist/ai-reasoning/ai-reasoning.d.ts +2 -2
  78. package/dist/ai-reasoning/ai-reasoning.scss.mjs +1 -1
  79. package/dist/ai-reasoning/reasoning-content/reasoning-content.d.ts +2 -2
  80. package/dist/ai-reasoning-header/ai-reasoning-header.d.ts +2 -2
  81. package/dist/ai-reasoning-header/ai-reasoning-header.scss.mjs +1 -1
  82. package/dist/ai-response-message/ai-response-message.d.ts +2 -2
  83. package/dist/ai-response-message/ai-response-message.scss.mjs +1 -1
  84. package/dist/ai-response-message-toolbar/ai-response-message-toolbar.d.ts +2 -2
  85. package/dist/ai-response-message-toolbar/ai-response-message-toolbar.scss.mjs +1 -1
  86. package/dist/ai-sidebar/ai-sidebar.d.ts +2 -2
  87. package/dist/ai-sidebar/ai-sidebar.scss.mjs +1 -1
  88. package/dist/ai-sidebar-chat/ai-sidebar-chat.d.ts +2 -2
  89. package/dist/ai-slash-command-menu/ai-slash-command-menu.d.ts +2 -2
  90. package/dist/ai-slash-command-menu/ai-slash-command-menu.scss.mjs +1 -1
  91. package/dist/ai-spinner/ai-spinner.d.ts +2 -2
  92. package/dist/ai-spinner/ai-spinner.scss.mjs +1 -1
  93. package/dist/ai-suggestions/ai-suggestions.d.ts +2 -2
  94. package/dist/ai-suggestions/ai-suggestions.scss.mjs +116 -520
  95. package/dist/ai-thinking-indicator/ai-thinking-indicator.d.ts +2 -2
  96. package/dist/ai-thinking-indicator/ai-thinking-indicator.scss.mjs +1 -181
  97. package/dist/ai-threads/ai-threads.d.ts +2 -2
  98. package/dist/ai-threads/ai-threads.scss.mjs +1 -1
  99. package/dist/ai-tool-call-indicator/ai-tool-call-indicator.d.ts +2 -2
  100. package/dist/ai-tool-call-indicator/ai-tool-call-indicator.scss.mjs +1 -1
  101. package/dist/ai-user-message/ai-user-message.d.ts +2 -2
  102. package/dist/ai-user-message/ai-user-message.scss.mjs +1 -1
  103. package/dist/ai-user-message-toolbar/ai-user-message-toolbar.d.ts +2 -2
  104. package/dist/ai-user-message-toolbar/ai-user-message-toolbar.scss.mjs +1 -1
  105. package/dist/ai-voice-input/ai-voice-input.d.ts +2 -2
  106. package/dist/ai-voice-input/ai-voice-input.scss.mjs +1 -1
  107. package/dist/core/chatbot-core-controller.mjs +18 -0
  108. package/dist/core/overlay/overlay.d.ts +2 -2
  109. package/dist/core/popover/popover.d.ts +2 -2
  110. package/dist/core/popover/popover.scss.mjs +1 -1
  111. package/dist/core/tooltip/tooltip.d.ts +2 -2
  112. package/dist/core/tooltip/tooltip.scss.mjs +1 -1
  113. package/dist/tools/ai-data-table/ai-data-table.d.ts +2 -2
  114. package/dist/tools/ai-data-table/ai-data-table.scss.mjs +1 -1
  115. package/dist/tools/ai-paginator/ai-paginator.d.ts +2 -2
  116. package/dist/tools/ai-paginator/ai-paginator.scss.mjs +1 -1
  117. package/package.json +15 -13
@@ -138,6 +138,77 @@
138
138
  }
139
139
  ]
140
140
  },
141
+ {
142
+ "kind": "javascript-module",
143
+ "path": "src/lib/ai-artifact/ai-artifact.ts",
144
+ "declarations": [
145
+ {
146
+ "kind": "variable",
147
+ "name": "AiArtifactComponentTagName",
148
+ "type": {
149
+ "text": "keyof HTMLElementTagNameMap"
150
+ },
151
+ "default": "'forge-ai-artifact'"
152
+ },
153
+ {
154
+ "kind": "class",
155
+ "description": "",
156
+ "name": "AiArtifactComponent",
157
+ "cssProperties": [
158
+ {
159
+ "description": "Surface color override for the toolbar (defaults to transparent)",
160
+ "name": "--forge-theme-surface"
161
+ }
162
+ ],
163
+ "slots": [
164
+ {
165
+ "description": "Content for the start (left) side of the toolbar, typically used for titles or headings",
166
+ "name": "start"
167
+ },
168
+ {
169
+ "description": "Action buttons for the end (right) side of the toolbar",
170
+ "name": "actions"
171
+ },
172
+ {
173
+ "description": "Main content area below the toolbar",
174
+ "name": ""
175
+ }
176
+ ],
177
+ "members": [],
178
+ "superclass": {
179
+ "name": "LitElement",
180
+ "package": "lit"
181
+ },
182
+ "tagName": "forge-ai-artifact",
183
+ "customElement": true
184
+ }
185
+ ],
186
+ "exports": [
187
+ {
188
+ "kind": "js",
189
+ "name": "AiArtifactComponentTagName",
190
+ "declaration": {
191
+ "name": "AiArtifactComponentTagName",
192
+ "module": "src/lib/ai-artifact/ai-artifact.ts"
193
+ }
194
+ },
195
+ {
196
+ "kind": "js",
197
+ "name": "AiArtifactComponent",
198
+ "declaration": {
199
+ "name": "AiArtifactComponent",
200
+ "module": "src/lib/ai-artifact/ai-artifact.ts"
201
+ }
202
+ },
203
+ {
204
+ "kind": "custom-element-definition",
205
+ "declaration": {
206
+ "name": "AiArtifactComponent",
207
+ "module": "src/lib/ai-artifact/ai-artifact.ts"
208
+ }
209
+ }
210
+ ]
211
+ },
141
212
  {
142
213
  "kind": "javascript-module",
143
214
  "path": "src/lib/ai-agent-selector/ai-agent-selector.ts",
@@ -271,77 +342,6 @@
271
342
  }
272
343
  ]
273
344
  },
274
- {
275
- "kind": "javascript-module",
276
- "path": "src/lib/ai-artifact/ai-artifact.ts",
277
- "declarations": [
278
- {
279
- "kind": "variable",
280
- "name": "AiArtifactComponentTagName",
281
- "type": {
282
- "text": "keyof HTMLElementTagNameMap"
283
- },
284
- "default": "'forge-ai-artifact'"
285
- },
286
- {
287
- "kind": "class",
288
- "description": "",
289
- "name": "AiArtifactComponent",
290
- "cssProperties": [
291
- {
292
- "description": "Surface color override for the toolbar (defaults to transparent)",
293
- "name": "--forge-theme-surface"
294
- }
295
- ],
296
- "slots": [
297
- {
298
- "description": "Content for the start (left) side of the toolbar, typically used for titles or headings",
299
- "name": "start"
300
- },
301
- {
302
- "description": "Action buttons for the end (right) side of the toolbar",
303
- "name": "actions"
304
- },
305
- {
306
- "description": "Main content area below the toolbar",
307
- "name": ""
308
- }
309
- ],
310
- "members": [],
311
- "superclass": {
312
- "name": "LitElement",
313
- "package": "lit"
314
- },
315
- "tagName": "forge-ai-artifact",
316
- "customElement": true
317
- }
318
- ],
319
- "exports": [
320
- {
321
- "kind": "js",
322
- "name": "AiArtifactComponentTagName",
323
- "declaration": {
324
- "name": "AiArtifactComponentTagName",
325
- "module": "src/lib/ai-artifact/ai-artifact.ts"
326
- }
327
- },
328
- {
329
- "kind": "js",
330
- "name": "AiArtifactComponent",
331
- "declaration": {
332
- "name": "AiArtifactComponent",
333
- "module": "src/lib/ai-artifact/ai-artifact.ts"
334
- }
335
- },
336
- {
337
- "kind": "custom-element-definition",
338
- "declaration": {
339
- "name": "AiArtifactComponent",
340
- "module": "src/lib/ai-artifact/ai-artifact.ts"
341
- }
342
- }
343
- ]
344
- },
345
345
  {
346
346
  "kind": "javascript-module",
347
347
  "path": "src/lib/ai-assistant-response/ai-assistant-response.ts",
@@ -3462,11 +3462,12 @@
3462
3462
  },
3463
3463
  {
3464
3464
  "kind": "field",
3465
- "name": "adapter",
3465
+ "name": "agentInfo",
3466
3466
  "type": {
3467
- "text": "AgentAdapter | undefined"
3467
+ "text": "AgentInfo | undefined"
3468
3468
  },
3469
3469
  "privacy": "public",
3470
+ "description": "Agent metadata for info dialog",
3470
3471
  "inheritedFrom": {
3471
3472
  "name": "AiChatbotBase",
3472
3473
  "module": "src/lib/ai-chatbot/ai-chatbot-base.ts"
@@ -3474,13 +3475,13 @@
3474
3475
  },
3475
3476
  {
3476
3477
  "kind": "field",
3477
- "name": "fileUpload",
3478
+ "name": "agents",
3478
3479
  "type": {
3479
- "text": "FeatureToggle"
3480
+ "text": "Agent[]"
3480
3481
  },
3481
3482
  "privacy": "public",
3482
- "default": "'off'",
3483
- "attribute": "file-upload",
3483
+ "default": "[]",
3484
+ "description": "List of available agents for selector",
3484
3485
  "inheritedFrom": {
3485
3486
  "name": "AiChatbotBase",
3486
3487
  "module": "src/lib/ai-chatbot/ai-chatbot-base.ts"
@@ -3488,13 +3489,12 @@
3488
3489
  },
3489
3490
  {
3490
3491
  "kind": "field",
3491
- "name": "voiceInput",
3492
+ "name": "suggestions",
3492
3493
  "type": {
3493
- "text": "FeatureToggle"
3494
+ "text": "Suggestion[] | undefined"
3494
3495
  },
3495
3496
  "privacy": "public",
3496
- "default": "'on'",
3497
- "attribute": "voice-input",
3497
+ "description": "Suggestions to display in the empty state",
3498
3498
  "inheritedFrom": {
3499
3499
  "name": "AiChatbotBase",
3500
3500
  "module": "src/lib/ai-chatbot/ai-chatbot-base.ts"
@@ -3502,13 +3502,11 @@
3502
3502
  },
3503
3503
  {
3504
3504
  "kind": "field",
3505
- "name": "placeholder",
3505
+ "name": "adapter",
3506
3506
  "type": {
3507
- "text": "string"
3507
+ "text": "AgentAdapter | undefined"
3508
3508
  },
3509
3509
  "privacy": "public",
3510
- "default": "'Ask a question...'",
3511
- "attribute": "placeholder",
3512
3510
  "inheritedFrom": {
3513
3511
  "name": "AiChatbotBase",
3514
3512
  "module": "src/lib/ai-chatbot/ai-chatbot-base.ts"
@@ -3516,11 +3514,13 @@
3516
3514
  },
3517
3515
  {
3518
3516
  "kind": "field",
3519
- "name": "suggestions",
3517
+ "name": "fileUpload",
3520
3518
  "type": {
3521
- "text": "Suggestion[] | undefined"
3519
+ "text": "FeatureToggle"
3522
3520
  },
3523
3521
  "privacy": "public",
3522
+ "default": "'off'",
3523
+ "attribute": "file-upload",
3524
3524
  "inheritedFrom": {
3525
3525
  "name": "AiChatbotBase",
3526
3526
  "module": "src/lib/ai-chatbot/ai-chatbot-base.ts"
@@ -3528,13 +3528,13 @@
3528
3528
  },
3529
3529
  {
3530
3530
  "kind": "field",
3531
- "name": "enableReactions",
3531
+ "name": "voiceInput",
3532
3532
  "type": {
3533
- "text": "boolean"
3533
+ "text": "FeatureToggle"
3534
3534
  },
3535
3535
  "privacy": "public",
3536
- "default": "false",
3537
- "attribute": "enable-reactions",
3536
+ "default": "'on'",
3537
+ "attribute": "voice-input",
3538
3538
  "inheritedFrom": {
3539
3539
  "name": "AiChatbotBase",
3540
3540
  "module": "src/lib/ai-chatbot/ai-chatbot-base.ts"
@@ -3542,13 +3542,13 @@
3542
3542
  },
3543
3543
  {
3544
3544
  "kind": "field",
3545
- "name": "debugMode",
3545
+ "name": "placeholder",
3546
3546
  "type": {
3547
- "text": "boolean"
3547
+ "text": "string"
3548
3548
  },
3549
3549
  "privacy": "public",
3550
- "default": "false",
3551
- "attribute": "debug-mode",
3550
+ "default": "'Ask a question...'",
3551
+ "attribute": "placeholder",
3552
3552
  "inheritedFrom": {
3553
3553
  "name": "AiChatbotBase",
3554
3554
  "module": "src/lib/ai-chatbot/ai-chatbot-base.ts"
@@ -3556,13 +3556,13 @@
3556
3556
  },
3557
3557
  {
3558
3558
  "kind": "field",
3559
- "name": "debugCommand",
3559
+ "name": "enableReactions",
3560
3560
  "type": {
3561
- "text": "FeatureToggle"
3561
+ "text": "boolean"
3562
3562
  },
3563
3563
  "privacy": "public",
3564
- "default": "'on'",
3565
- "attribute": "debug-command",
3564
+ "default": "false",
3565
+ "attribute": "enable-reactions",
3566
3566
  "inheritedFrom": {
3567
3567
  "name": "AiChatbotBase",
3568
3568
  "module": "src/lib/ai-chatbot/ai-chatbot-base.ts"
@@ -3570,11 +3570,13 @@
3570
3570
  },
3571
3571
  {
3572
3572
  "kind": "field",
3573
- "name": "agentInfo",
3573
+ "name": "debugMode",
3574
3574
  "type": {
3575
- "text": "AgentInfo | undefined"
3575
+ "text": "boolean"
3576
3576
  },
3577
3577
  "privacy": "public",
3578
+ "default": "false",
3579
+ "attribute": "debug-mode",
3578
3580
  "inheritedFrom": {
3579
3581
  "name": "AiChatbotBase",
3580
3582
  "module": "src/lib/ai-chatbot/ai-chatbot-base.ts"
@@ -3582,12 +3584,13 @@
3582
3584
  },
3583
3585
  {
3584
3586
  "kind": "field",
3585
- "name": "agents",
3587
+ "name": "debugCommand",
3586
3588
  "type": {
3587
- "text": "Agent[]"
3589
+ "text": "FeatureToggle"
3588
3590
  },
3589
3591
  "privacy": "public",
3590
- "default": "[]",
3592
+ "default": "'on'",
3593
+ "attribute": "debug-command",
3591
3594
  "inheritedFrom": {
3592
3595
  "name": "AiChatbotBase",
3593
3596
  "module": "src/lib/ai-chatbot/ai-chatbot-base.ts"
@@ -3828,6 +3831,20 @@
3828
3831
  },
3829
3832
  "description": "Fired when user provides feedback on a response (thumbs up/down)",
3830
3833
  "name": "forge-ai-chatbot-response-feedback"
3834
+ },
3835
+ {
3836
+ "type": {
3837
+ "text": "CustomEvent<ForgeAiChatbotAgentChangeEventData>"
3838
+ },
3839
+ "description": "Fired when user changes agent from the header",
3840
+ "name": "forge-ai-chatbot-agent-change"
3841
+ },
3842
+ {
3843
+ "type": {
3844
+ "text": "CustomEvent<void>"
3845
+ },
3846
+ "description": "Fired when there is a change to the thread state (messages, files, selected agent, etc). Use this to capture the latest thread state for persistence.",
3847
+ "name": "forge-ai-chatbot-thread-state-change"
3831
3848
  }
3832
3849
  ],
3833
3850
  "attributes": [
@@ -7980,117 +7997,42 @@
7980
7997
  },
7981
7998
  {
7982
7999
  "kind": "javascript-module",
7983
- "path": "src/lib/ai-icon-button/ai-icon-button.ts",
8000
+ "path": "src/lib/ai-message-thread/ai-message-thread.ts",
7984
8001
  "declarations": [
7985
8002
  {
7986
8003
  "kind": "variable",
7987
- "name": "AiIconButtonComponentTagName",
8004
+ "name": "AiMessageThreadComponentTagName",
7988
8005
  "type": {
7989
8006
  "text": "keyof HTMLElementTagNameMap"
7990
8007
  },
7991
- "default": "'forge-ai-icon-button'"
8008
+ "default": "'forge-ai-message-thread'"
7992
8009
  },
7993
8010
  {
7994
8011
  "kind": "class",
7995
8012
  "description": "",
7996
- "name": "AiIconButtonComponent",
8013
+ "name": "AiMessageThreadComponent",
8014
+ "cssProperties": [
8015
+ {
8016
+ "description": "Controls the max-width of the message content area while keeping the scroll container full width.",
8017
+ "name": "--forge-ai-message-thread-content-max-width"
8018
+ }
8019
+ ],
8020
+ "slots": [
8021
+ {
8022
+ "description": "Slot for custom empty state heading content",
8023
+ "name": "empty-state-heading"
8024
+ },
8025
+ {
8026
+ "description": "Slot for custom empty state actions (e.g., suggestions)",
8027
+ "name": "empty-state-actions"
8028
+ }
8029
+ ],
7997
8030
  "members": [
7998
8031
  {
7999
8032
  "kind": "field",
8000
- "name": "disabled",
8033
+ "name": "messageItems",
8001
8034
  "type": {
8002
- "text": "boolean"
8003
- },
8004
- "privacy": "public",
8005
- "default": "false",
8006
- "description": "Whether the button is disabled",
8007
- "attribute": "disabled",
8008
- "reflects": true
8009
- }
8010
- ],
8011
- "attributes": [
8012
- {
8013
- "name": "disabled",
8014
- "type": {
8015
- "text": "boolean"
8016
- },
8017
- "default": "false",
8018
- "description": "Whether the button is disabled",
8019
- "fieldName": "disabled"
8020
- }
8021
- ],
8022
- "superclass": {
8023
- "name": "LitElement",
8024
- "package": "lit"
8025
- },
8026
- "tagName": "forge-ai-icon-button",
8027
- "customElement": true
8028
- }
8029
- ],
8030
- "exports": [
8031
- {
8032
- "kind": "js",
8033
- "name": "AiIconButtonComponentTagName",
8034
- "declaration": {
8035
- "name": "AiIconButtonComponentTagName",
8036
- "module": "src/lib/ai-icon-button/ai-icon-button.ts"
8037
- }
8038
- },
8039
- {
8040
- "kind": "js",
8041
- "name": "AiIconButtonComponent",
8042
- "declaration": {
8043
- "name": "AiIconButtonComponent",
8044
- "module": "src/lib/ai-icon-button/ai-icon-button.ts"
8045
- }
8046
- },
8047
- {
8048
- "kind": "custom-element-definition",
8049
- "declaration": {
8050
- "name": "AiIconButtonComponent",
8051
- "module": "src/lib/ai-icon-button/ai-icon-button.ts"
8052
- }
8053
- }
8054
- ]
8055
- },
8056
- {
8057
- "kind": "javascript-module",
8058
- "path": "src/lib/ai-message-thread/ai-message-thread.ts",
8059
- "declarations": [
8060
- {
8061
- "kind": "variable",
8062
- "name": "AiMessageThreadComponentTagName",
8063
- "type": {
8064
- "text": "keyof HTMLElementTagNameMap"
8065
- },
8066
- "default": "'forge-ai-message-thread'"
8067
- },
8068
- {
8069
- "kind": "class",
8070
- "description": "",
8071
- "name": "AiMessageThreadComponent",
8072
- "cssProperties": [
8073
- {
8074
- "description": "Controls the max-width of the message content area while keeping the scroll container full width.",
8075
- "name": "--forge-ai-message-thread-content-max-width"
8076
- }
8077
- ],
8078
- "slots": [
8079
- {
8080
- "description": "Slot for custom empty state heading content",
8081
- "name": "empty-state-heading"
8082
- },
8083
- {
8084
- "description": "Slot for custom empty state actions (e.g., suggestions)",
8085
- "name": "empty-state-actions"
8086
- }
8087
- ],
8088
- "members": [
8089
- {
8090
- "kind": "field",
8091
- "name": "messageItems",
8092
- "type": {
8093
- "text": "MessageItem[]"
8035
+ "text": "MessageItem[]"
8094
8036
  },
8095
8037
  "privacy": "public",
8096
8038
  "default": "[]"
@@ -8264,144 +8206,75 @@
8264
8206
  },
8265
8207
  {
8266
8208
  "kind": "javascript-module",
8267
- "path": "src/lib/ai-modal/ai-modal.ts",
8209
+ "path": "src/lib/ai-icon-button/ai-icon-button.ts",
8268
8210
  "declarations": [
8211
+ {
8212
+ "kind": "variable",
8213
+ "name": "AiIconButtonComponentTagName",
8214
+ "type": {
8215
+ "text": "keyof HTMLElementTagNameMap"
8216
+ },
8217
+ "default": "'forge-ai-icon-button'"
8218
+ },
8269
8219
  {
8270
8220
  "kind": "class",
8271
8221
  "description": "",
8272
- "name": "AiModalComponent",
8273
- "cssProperties": [
8274
- {
8275
- "description": "Width of the modal in non-fullscreen mode",
8276
- "name": "--forge-ai-modal-width"
8277
- },
8278
- {
8279
- "description": "Height of the modal in non-fullscreen mode",
8280
- "name": "--forge-ai-modal-height"
8281
- }
8282
- ],
8283
- "slots": [
8284
- {
8285
- "description": "Default slot for modal content",
8286
- "name": ""
8287
- }
8288
- ],
8222
+ "name": "AiIconButtonComponent",
8289
8223
  "members": [
8290
8224
  {
8291
8225
  "kind": "field",
8292
- "name": "open",
8226
+ "name": "disabled",
8293
8227
  "type": {
8294
8228
  "text": "boolean"
8295
8229
  },
8296
8230
  "privacy": "public",
8297
8231
  "default": "false",
8298
- "description": "Controls whether the modal is open or closed.",
8299
- "attribute": "open"
8300
- },
8301
- {
8302
- "kind": "field",
8303
- "name": "fullscreen",
8304
- "type": {
8305
- "text": "boolean | undefined"
8306
- },
8307
- "privacy": "public",
8308
- "description": "Controls whether the modal is displayed in fullscreen mode.\nWhen not explicitly set, this will be automatically determined based on viewport size.",
8309
- "attribute": "fullscreen"
8310
- },
8311
- {
8312
- "kind": "method",
8313
- "name": "show",
8314
- "privacy": "public",
8315
- "return": {
8316
- "type": {
8317
- "text": "void"
8318
- }
8319
- },
8320
- "description": "Shows the modal dialog."
8321
- },
8322
- {
8323
- "kind": "method",
8324
- "name": "close",
8325
- "privacy": "public",
8326
- "return": {
8327
- "type": {
8328
- "text": "void"
8329
- }
8330
- },
8331
- "description": "Closes the modal dialog."
8332
- }
8333
- ],
8334
- "events": [
8335
- {
8336
- "name": "forge-ai-modal-open",
8337
- "type": {
8338
- "text": "CustomEvent<void>"
8339
- },
8340
- "description": "Fired when the modal is opened"
8341
- },
8342
- {
8343
- "name": "forge-ai-modal-close",
8344
- "type": {
8345
- "text": "CustomEvent<void>"
8346
- },
8347
- "description": "Fired when the modal is closed"
8348
- },
8349
- {
8350
- "type": {
8351
- "text": "CustomEvent<{ isFullscreen: boolean }>"
8352
- },
8353
- "description": "Fired when the fullscreen state changes",
8354
- "name": "forge-ai-modal-fullscreen-change"
8232
+ "description": "Whether the button is disabled",
8233
+ "attribute": "disabled",
8234
+ "reflects": true
8355
8235
  }
8356
8236
  ],
8357
8237
  "attributes": [
8358
8238
  {
8359
- "name": "open",
8239
+ "name": "disabled",
8360
8240
  "type": {
8361
8241
  "text": "boolean"
8362
8242
  },
8363
8243
  "default": "false",
8364
- "description": "Controls whether the modal is open or closed.",
8365
- "fieldName": "open"
8366
- },
8367
- {
8368
- "name": "fullscreen",
8369
- "type": {
8370
- "text": "boolean | undefined"
8371
- },
8372
- "description": "Controls whether the modal is displayed in fullscreen mode.\nWhen not explicitly set, this will be automatically determined based on viewport size.",
8373
- "fieldName": "fullscreen"
8244
+ "description": "Whether the button is disabled",
8245
+ "fieldName": "disabled"
8374
8246
  }
8375
8247
  ],
8376
8248
  "superclass": {
8377
8249
  "name": "LitElement",
8378
8250
  "package": "lit"
8379
8251
  },
8380
- "tagName": "forge-ai-modal",
8381
- "customElement": true,
8382
- "states": [
8383
- {
8384
- "name": "fullscreen",
8385
- "description": "The modal is in fullscreen mode"
8386
- }
8387
- ]
8252
+ "tagName": "forge-ai-icon-button",
8253
+ "customElement": true
8388
8254
  }
8389
8255
  ],
8390
8256
  "exports": [
8391
8257
  {
8392
8258
  "kind": "js",
8393
- "name": "AiModalComponent",
8259
+ "name": "AiIconButtonComponentTagName",
8394
8260
  "declaration": {
8395
- "name": "AiModalComponent",
8396
- "module": "src/lib/ai-modal/ai-modal.ts"
8261
+ "name": "AiIconButtonComponentTagName",
8262
+ "module": "src/lib/ai-icon-button/ai-icon-button.ts"
8263
+ }
8264
+ },
8265
+ {
8266
+ "kind": "js",
8267
+ "name": "AiIconButtonComponent",
8268
+ "declaration": {
8269
+ "name": "AiIconButtonComponent",
8270
+ "module": "src/lib/ai-icon-button/ai-icon-button.ts"
8397
8271
  }
8398
8272
  },
8399
8273
  {
8400
8274
  "kind": "custom-element-definition",
8401
- "name": "forge-ai-modal",
8402
8275
  "declaration": {
8403
- "name": "AiModalComponent",
8404
- "module": "src/lib/ai-modal/ai-modal.ts"
8276
+ "name": "AiIconButtonComponent",
8277
+ "module": "src/lib/ai-icon-button/ai-icon-button.ts"
8405
8278
  }
8406
8279
  }
8407
8280
  ]
@@ -8788,35 +8661,179 @@
8788
8661
  },
8789
8662
  {
8790
8663
  "kind": "javascript-module",
8791
- "path": "src/lib/ai-reasoning/ai-reasoning.ts",
8664
+ "path": "src/lib/ai-modal/ai-modal.ts",
8792
8665
  "declarations": [
8793
- {
8794
- "kind": "variable",
8795
- "name": "AiReasoningComponentTagName",
8796
- "type": {
8797
- "text": "keyof HTMLElementTagNameMap"
8798
- },
8799
- "default": "'forge-ai-reasoning'"
8800
- },
8801
8666
  {
8802
8667
  "kind": "class",
8803
8668
  "description": "",
8804
- "name": "AiReasoningComponent",
8669
+ "name": "AiModalComponent",
8670
+ "cssProperties": [
8671
+ {
8672
+ "description": "Width of the modal in non-fullscreen mode",
8673
+ "name": "--forge-ai-modal-width"
8674
+ },
8675
+ {
8676
+ "description": "Height of the modal in non-fullscreen mode",
8677
+ "name": "--forge-ai-modal-height"
8678
+ }
8679
+ ],
8680
+ "slots": [
8681
+ {
8682
+ "description": "Default slot for modal content",
8683
+ "name": ""
8684
+ }
8685
+ ],
8805
8686
  "members": [
8806
8687
  {
8807
8688
  "kind": "field",
8808
- "name": "expanded",
8689
+ "name": "open",
8809
8690
  "type": {
8810
8691
  "text": "boolean"
8811
8692
  },
8812
8693
  "privacy": "public",
8813
8694
  "default": "false",
8814
- "description": "Whether the reasoning is expanded",
8815
- "attribute": "expanded",
8816
- "reflects": true
8817
- }
8818
- ],
8819
- "attributes": [
8695
+ "description": "Controls whether the modal is open or closed.",
8696
+ "attribute": "open"
8697
+ },
8698
+ {
8699
+ "kind": "field",
8700
+ "name": "fullscreen",
8701
+ "type": {
8702
+ "text": "boolean | undefined"
8703
+ },
8704
+ "privacy": "public",
8705
+ "description": "Controls whether the modal is displayed in fullscreen mode.\nWhen not explicitly set, this will be automatically determined based on viewport size.",
8706
+ "attribute": "fullscreen"
8707
+ },
8708
+ {
8709
+ "kind": "method",
8710
+ "name": "show",
8711
+ "privacy": "public",
8712
+ "return": {
8713
+ "type": {
8714
+ "text": "void"
8715
+ }
8716
+ },
8717
+ "description": "Shows the modal dialog."
8718
+ },
8719
+ {
8720
+ "kind": "method",
8721
+ "name": "close",
8722
+ "privacy": "public",
8723
+ "return": {
8724
+ "type": {
8725
+ "text": "void"
8726
+ }
8727
+ },
8728
+ "description": "Closes the modal dialog."
8729
+ }
8730
+ ],
8731
+ "events": [
8732
+ {
8733
+ "name": "forge-ai-modal-open",
8734
+ "type": {
8735
+ "text": "CustomEvent<void>"
8736
+ },
8737
+ "description": "Fired when the modal is opened"
8738
+ },
8739
+ {
8740
+ "name": "forge-ai-modal-close",
8741
+ "type": {
8742
+ "text": "CustomEvent<void>"
8743
+ },
8744
+ "description": "Fired when the modal is closed"
8745
+ },
8746
+ {
8747
+ "type": {
8748
+ "text": "CustomEvent<{ isFullscreen: boolean }>"
8749
+ },
8750
+ "description": "Fired when the fullscreen state changes",
8751
+ "name": "forge-ai-modal-fullscreen-change"
8752
+ }
8753
+ ],
8754
+ "attributes": [
8755
+ {
8756
+ "name": "open",
8757
+ "type": {
8758
+ "text": "boolean"
8759
+ },
8760
+ "default": "false",
8761
+ "description": "Controls whether the modal is open or closed.",
8762
+ "fieldName": "open"
8763
+ },
8764
+ {
8765
+ "name": "fullscreen",
8766
+ "type": {
8767
+ "text": "boolean | undefined"
8768
+ },
8769
+ "description": "Controls whether the modal is displayed in fullscreen mode.\nWhen not explicitly set, this will be automatically determined based on viewport size.",
8770
+ "fieldName": "fullscreen"
8771
+ }
8772
+ ],
8773
+ "superclass": {
8774
+ "name": "LitElement",
8775
+ "package": "lit"
8776
+ },
8777
+ "tagName": "forge-ai-modal",
8778
+ "customElement": true,
8779
+ "states": [
8780
+ {
8781
+ "name": "fullscreen",
8782
+ "description": "The modal is in fullscreen mode"
8783
+ }
8784
+ ]
8785
+ }
8786
+ ],
8787
+ "exports": [
8788
+ {
8789
+ "kind": "js",
8790
+ "name": "AiModalComponent",
8791
+ "declaration": {
8792
+ "name": "AiModalComponent",
8793
+ "module": "src/lib/ai-modal/ai-modal.ts"
8794
+ }
8795
+ },
8796
+ {
8797
+ "kind": "custom-element-definition",
8798
+ "name": "forge-ai-modal",
8799
+ "declaration": {
8800
+ "name": "AiModalComponent",
8801
+ "module": "src/lib/ai-modal/ai-modal.ts"
8802
+ }
8803
+ }
8804
+ ]
8805
+ },
8806
+ {
8807
+ "kind": "javascript-module",
8808
+ "path": "src/lib/ai-reasoning/ai-reasoning.ts",
8809
+ "declarations": [
8810
+ {
8811
+ "kind": "variable",
8812
+ "name": "AiReasoningComponentTagName",
8813
+ "type": {
8814
+ "text": "keyof HTMLElementTagNameMap"
8815
+ },
8816
+ "default": "'forge-ai-reasoning'"
8817
+ },
8818
+ {
8819
+ "kind": "class",
8820
+ "description": "",
8821
+ "name": "AiReasoningComponent",
8822
+ "members": [
8823
+ {
8824
+ "kind": "field",
8825
+ "name": "expanded",
8826
+ "type": {
8827
+ "text": "boolean"
8828
+ },
8829
+ "privacy": "public",
8830
+ "default": "false",
8831
+ "description": "Whether the reasoning is expanded",
8832
+ "attribute": "expanded",
8833
+ "reflects": true
8834
+ }
8835
+ ],
8836
+ "attributes": [
8820
8837
  {
8821
8838
  "name": "expanded",
8822
8839
  "type": {
@@ -8861,6 +8878,58 @@
8861
8878
  }
8862
8879
  ]
8863
8880
  },
8881
+ {
8882
+ "kind": "javascript-module",
8883
+ "path": "src/lib/ai-response-message/ai-response-message.ts",
8884
+ "declarations": [
8885
+ {
8886
+ "kind": "variable",
8887
+ "name": "AiResponseMessageComponentTagName",
8888
+ "type": {
8889
+ "text": "keyof HTMLElementTagNameMap"
8890
+ },
8891
+ "default": "'forge-ai-response-message'"
8892
+ },
8893
+ {
8894
+ "kind": "class",
8895
+ "description": "",
8896
+ "name": "AiResponseMessageComponent",
8897
+ "members": [],
8898
+ "superclass": {
8899
+ "name": "LitElement",
8900
+ "package": "lit"
8901
+ },
8902
+ "tagName": "forge-ai-response-message",
8903
+ "customElement": true,
8904
+ "summary": "A simple wrapper component for rendering assistant response message content."
8905
+ }
8906
+ ],
8907
+ "exports": [
8908
+ {
8909
+ "kind": "js",
8910
+ "name": "AiResponseMessageComponentTagName",
8911
+ "declaration": {
8912
+ "name": "AiResponseMessageComponentTagName",
8913
+ "module": "src/lib/ai-response-message/ai-response-message.ts"
8914
+ }
8915
+ },
8916
+ {
8917
+ "kind": "js",
8918
+ "name": "AiResponseMessageComponent",
8919
+ "declaration": {
8920
+ "name": "AiResponseMessageComponent",
8921
+ "module": "src/lib/ai-response-message/ai-response-message.ts"
8922
+ }
8923
+ },
8924
+ {
8925
+ "kind": "custom-element-definition",
8926
+ "declaration": {
8927
+ "name": "AiResponseMessageComponent",
8928
+ "module": "src/lib/ai-response-message/ai-response-message.ts"
8929
+ }
8930
+ }
8931
+ ]
8932
+ },
8864
8933
  {
8865
8934
  "kind": "javascript-module",
8866
8935
  "path": "src/lib/ai-reasoning-header/ai-reasoning-header.ts",
@@ -9096,58 +9165,6 @@
9096
9165
  }
9097
9166
  ]
9098
9167
  },
9099
- {
9100
- "kind": "javascript-module",
9101
- "path": "src/lib/ai-response-message/ai-response-message.ts",
9102
- "declarations": [
9103
- {
9104
- "kind": "variable",
9105
- "name": "AiResponseMessageComponentTagName",
9106
- "type": {
9107
- "text": "keyof HTMLElementTagNameMap"
9108
- },
9109
- "default": "'forge-ai-response-message'"
9110
- },
9111
- {
9112
- "kind": "class",
9113
- "description": "",
9114
- "name": "AiResponseMessageComponent",
9115
- "members": [],
9116
- "superclass": {
9117
- "name": "LitElement",
9118
- "package": "lit"
9119
- },
9120
- "tagName": "forge-ai-response-message",
9121
- "customElement": true,
9122
- "summary": "A simple wrapper component for rendering assistant response message content."
9123
- }
9124
- ],
9125
- "exports": [
9126
- {
9127
- "kind": "js",
9128
- "name": "AiResponseMessageComponentTagName",
9129
- "declaration": {
9130
- "name": "AiResponseMessageComponentTagName",
9131
- "module": "src/lib/ai-response-message/ai-response-message.ts"
9132
- }
9133
- },
9134
- {
9135
- "kind": "js",
9136
- "name": "AiResponseMessageComponent",
9137
- "declaration": {
9138
- "name": "AiResponseMessageComponent",
9139
- "module": "src/lib/ai-response-message/ai-response-message.ts"
9140
- }
9141
- },
9142
- {
9143
- "kind": "custom-element-definition",
9144
- "declaration": {
9145
- "name": "AiResponseMessageComponent",
9146
- "module": "src/lib/ai-response-message/ai-response-message.ts"
9147
- }
9148
- }
9149
- ]
9150
- },
9151
9168
  {
9152
9169
  "kind": "javascript-module",
9153
9170
  "path": "src/lib/ai-sidebar-chat/ai-sidebar-chat.ts",
@@ -11331,207 +11348,164 @@
11331
11348
  },
11332
11349
  {
11333
11350
  "kind": "javascript-module",
11334
- "path": "src/lib/core/popover/popover.ts",
11351
+ "path": "src/lib/tools/ai-data-table/ai-data-table-definition.ts",
11335
11352
  "declarations": [
11336
11353
  {
11337
- "kind": "class",
11338
- "description": "",
11339
- "name": "ForgeAiPopoverComponent",
11340
- "slots": [
11341
- {
11342
- "description": "The default slot for popover content.",
11343
- "name": ""
11344
- }
11345
- ],
11346
- "members": [
11347
- {
11348
- "kind": "field",
11349
- "name": "anchor",
11350
- "type": {
11351
- "text": "Element | null"
11352
- },
11353
- "privacy": "public",
11354
- "default": "null",
11355
- "description": "The anchor element to position the popover relative to.",
11356
- "attribute": "anchor"
11357
- },
11354
+ "kind": "variable",
11355
+ "name": "displayDataTableTool",
11356
+ "type": {
11357
+ "text": "ToolDefinition"
11358
+ },
11359
+ "default": "{ name: 'displayDataTable', displayName: 'Display Data Table', description: 'Display tabular data in a formatted table with headers and rows. Use this tool when you want to present structured data, lists where there are 2 or more columns, statistics, or any information that works well in a table format.', parameters: { type: 'object' as const, properties: { title: { type: 'string', description: 'Table title or caption displayed above the data.' }, headers: { type: 'array', items: { type: 'string' }, description: 'Column names displayed as table headers. Order matches the row data order.' }, maxNumberOfRows: { type: 'number', description: 'Limit total rows shown. Useful for large datasets to prevent overwhelming display.' }, rows: { type: 'array', items: { type: 'array', items: { anyOf: [{ type: 'string' }, { type: 'number' }] } }, description: 'Data rows where each row is an array of values matching header order.' } }, required: ['headers', 'rows'] }, renderer: createToolRenderer({ elementTag: 'forge-ai-tool-data-table' }) }"
11360
+ }
11361
+ ],
11362
+ "exports": [
11363
+ {
11364
+ "kind": "js",
11365
+ "name": "displayDataTableTool",
11366
+ "declaration": {
11367
+ "name": "displayDataTableTool",
11368
+ "module": "src/lib/tools/ai-data-table/ai-data-table-definition.ts"
11369
+ }
11370
+ }
11371
+ ]
11372
+ },
11373
+ {
11374
+ "kind": "javascript-module",
11375
+ "path": "src/lib/tools/ai-data-table/ai-data-table.ts",
11376
+ "declarations": [
11377
+ {
11378
+ "kind": "class",
11379
+ "description": "Data table component tool renderer for displaying tabular data with pagination and filtering.",
11380
+ "name": "DataTableToolElement",
11381
+ "members": [
11358
11382
  {
11359
11383
  "kind": "field",
11360
- "name": "placement",
11384
+ "name": "toolCall",
11361
11385
  "type": {
11362
- "text": "PopoverPlacement"
11386
+ "text": "ToolCall<TableData>"
11363
11387
  },
11364
11388
  "privacy": "public",
11365
- "default": "'bottom-start'",
11366
- "description": "The placement of the popover relative to the anchor.",
11367
- "attribute": "placement"
11368
- },
11389
+ "description": "Tool call data containing table configuration and data"
11390
+ }
11391
+ ],
11392
+ "superclass": {
11393
+ "name": "LitElement",
11394
+ "package": "lit"
11395
+ },
11396
+ "tagName": "forge-ai-tool-data-table",
11397
+ "customElement": true
11398
+ }
11399
+ ],
11400
+ "exports": [
11401
+ {
11402
+ "kind": "custom-element-definition",
11403
+ "name": "forge-ai-tool-data-table",
11404
+ "declaration": {
11405
+ "name": "DataTableToolElement",
11406
+ "module": "src/lib/tools/ai-data-table/ai-data-table.ts"
11407
+ }
11408
+ }
11409
+ ]
11410
+ },
11411
+ {
11412
+ "kind": "javascript-module",
11413
+ "path": "src/lib/tools/ai-paginator/ai-paginator.ts",
11414
+ "declarations": [
11415
+ {
11416
+ "kind": "class",
11417
+ "description": "",
11418
+ "name": "AiPaginator",
11419
+ "members": [
11369
11420
  {
11370
11421
  "kind": "field",
11371
- "name": "flip",
11422
+ "name": "currentPage",
11372
11423
  "type": {
11373
- "text": "boolean"
11424
+ "text": "number"
11374
11425
  },
11375
11426
  "privacy": "public",
11376
- "default": "false",
11377
- "description": "Whether the popover should flip to the opposite side when there's no space.",
11378
- "attribute": "flip"
11427
+ "default": "1",
11428
+ "attribute": "current-page"
11379
11429
  },
11380
11430
  {
11381
11431
  "kind": "field",
11382
- "name": "shift",
11432
+ "name": "totalPages",
11383
11433
  "type": {
11384
- "text": "boolean"
11434
+ "text": "number"
11385
11435
  },
11386
11436
  "privacy": "public",
11387
- "default": "false",
11388
- "description": "Whether the popover should shift to stay in view.",
11389
- "attribute": "shift"
11437
+ "default": "1",
11438
+ "attribute": "total-pages"
11390
11439
  },
11391
11440
  {
11392
11441
  "kind": "field",
11393
- "name": "open",
11442
+ "name": "disabled",
11394
11443
  "type": {
11395
11444
  "text": "boolean"
11396
11445
  },
11397
11446
  "privacy": "public",
11398
11447
  "default": "false",
11399
- "description": "Whether the popover is open.",
11400
- "attribute": "open",
11448
+ "attribute": "disabled",
11401
11449
  "reflects": true
11402
- },
11403
- {
11404
- "kind": "field",
11405
- "name": "arrow",
11406
- "type": {
11407
- "text": "boolean"
11408
- },
11409
- "privacy": "public",
11410
- "default": "false",
11411
- "description": "Whether to show an arrow pointing to the anchor element.",
11412
- "attribute": "arrow"
11413
- },
11414
- {
11415
- "kind": "field",
11416
- "name": "offset",
11417
- "type": {
11418
- "text": "PopoverOffset | undefined"
11419
- },
11420
- "privacy": "public",
11421
- "default": "undefined",
11422
- "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.",
11423
- "attribute": "offset"
11424
- },
11450
+ }
11451
+ ],
11452
+ "events": [
11425
11453
  {
11426
- "kind": "field",
11427
- "name": "dismissMode",
11454
+ "name": "page-change",
11428
11455
  "type": {
11429
- "text": "'auto' | 'manual'"
11430
- },
11431
- "privacy": "public",
11432
- "default": "'auto'",
11433
- "description": "The dismiss mode for the popover.\n- 'auto': Automatically closes on outside clicks and Escape key\n- 'manual': Requires manual control to close",
11434
- "attribute": "dismiss-mode"
11456
+ "text": "CustomEvent"
11457
+ }
11435
11458
  }
11436
11459
  ],
11437
11460
  "attributes": [
11438
11461
  {
11439
- "name": "anchor",
11440
- "type": {
11441
- "text": "Element | null"
11442
- },
11443
- "default": "null",
11444
- "description": "The anchor element to position the popover relative to.",
11445
- "fieldName": "anchor"
11446
- },
11447
- {
11448
- "name": "placement",
11449
- "type": {
11450
- "text": "PopoverPlacement"
11451
- },
11452
- "default": "'bottom-start'",
11453
- "description": "The placement of the popover relative to the anchor.",
11454
- "fieldName": "placement"
11455
- },
11456
- {
11457
- "name": "flip",
11458
- "type": {
11459
- "text": "boolean"
11460
- },
11461
- "default": "false",
11462
- "description": "Whether the popover should flip to the opposite side when there's no space.",
11463
- "fieldName": "flip"
11464
- },
11465
- {
11466
- "name": "shift",
11462
+ "name": "current-page",
11467
11463
  "type": {
11468
- "text": "boolean"
11464
+ "text": "number"
11469
11465
  },
11470
- "default": "false",
11471
- "description": "Whether the popover should shift to stay in view.",
11472
- "fieldName": "shift"
11466
+ "default": "1",
11467
+ "fieldName": "currentPage"
11473
11468
  },
11474
11469
  {
11475
- "name": "open",
11470
+ "name": "total-pages",
11476
11471
  "type": {
11477
- "text": "boolean"
11472
+ "text": "number"
11478
11473
  },
11479
- "default": "false",
11480
- "description": "Whether the popover is open.",
11481
- "fieldName": "open"
11474
+ "default": "1",
11475
+ "fieldName": "totalPages"
11482
11476
  },
11483
11477
  {
11484
- "name": "arrow",
11478
+ "name": "disabled",
11485
11479
  "type": {
11486
11480
  "text": "boolean"
11487
11481
  },
11488
11482
  "default": "false",
11489
- "description": "Whether to show an arrow pointing to the anchor element.",
11490
- "fieldName": "arrow"
11491
- },
11492
- {
11493
- "name": "offset",
11494
- "type": {
11495
- "text": "PopoverOffset | undefined"
11496
- },
11497
- "default": "undefined",
11498
- "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.",
11499
- "fieldName": "offset"
11500
- },
11501
- {
11502
- "name": "dismiss-mode",
11503
- "type": {
11504
- "text": "'auto' | 'manual'"
11505
- },
11506
- "default": "'auto'",
11507
- "description": "The dismiss mode for the popover.\n- 'auto': Automatically closes on outside clicks and Escape key\n- 'manual': Requires manual control to close",
11508
- "fieldName": "dismissMode"
11483
+ "fieldName": "disabled"
11509
11484
  }
11510
11485
  ],
11511
11486
  "superclass": {
11512
11487
  "name": "LitElement",
11513
11488
  "package": "lit"
11514
11489
  },
11515
- "summary": "A popover component that provides styled overlay functionality.",
11516
- "tagName": "forge-ai-popover",
11490
+ "tagName": "forge-ai-paginator",
11517
11491
  "customElement": true
11518
11492
  }
11519
11493
  ],
11520
11494
  "exports": [
11521
11495
  {
11522
11496
  "kind": "js",
11523
- "name": "ForgeAiPopoverComponent",
11497
+ "name": "AiPaginator",
11524
11498
  "declaration": {
11525
- "name": "ForgeAiPopoverComponent",
11526
- "module": "src/lib/core/popover/popover.ts"
11499
+ "name": "AiPaginator",
11500
+ "module": "src/lib/tools/ai-paginator/ai-paginator.ts"
11527
11501
  }
11528
11502
  },
11529
11503
  {
11530
11504
  "kind": "custom-element-definition",
11531
- "name": "forge-ai-popover",
11505
+ "name": "forge-ai-paginator",
11532
11506
  "declaration": {
11533
- "name": "ForgeAiPopoverComponent",
11534
- "module": "src/lib/core/popover/popover.ts"
11507
+ "name": "AiPaginator",
11508
+ "module": "src/lib/tools/ai-paginator/ai-paginator.ts"
11535
11509
  }
11536
11510
  }
11537
11511
  ]
@@ -11745,72 +11719,62 @@
11745
11719
  },
11746
11720
  {
11747
11721
  "kind": "javascript-module",
11748
- "path": "src/lib/core/tooltip/tooltip.ts",
11722
+ "path": "src/lib/core/popover/popover.ts",
11749
11723
  "declarations": [
11750
11724
  {
11751
11725
  "kind": "class",
11752
11726
  "description": "",
11753
- "name": "ForgeAiTooltipComponent",
11754
- "cssProperties": [
11755
- {
11756
- "description": "The maximum width of the tooltip.",
11757
- "name": "--forge-ai-tooltip-max-width"
11758
- },
11759
- {
11760
- "description": "The z-index of the tooltip overlay.",
11761
- "name": "--forge-ai-tooltip-z-index"
11762
- }
11763
- ],
11727
+ "name": "ForgeAiPopoverComponent",
11764
11728
  "slots": [
11765
11729
  {
11766
- "description": "The default slot for tooltip content.",
11730
+ "description": "The default slot for popover content.",
11767
11731
  "name": ""
11768
11732
  }
11769
11733
  ],
11770
11734
  "members": [
11771
11735
  {
11772
11736
  "kind": "field",
11773
- "name": "for",
11737
+ "name": "anchor",
11774
11738
  "type": {
11775
- "text": "string"
11739
+ "text": "Element | null"
11776
11740
  },
11777
11741
  "privacy": "public",
11778
- "default": "''",
11779
- "description": "The ID of the anchor element to attach the tooltip to.",
11780
- "attribute": "for"
11742
+ "default": "null",
11743
+ "description": "The anchor element to position the popover relative to.",
11744
+ "attribute": "anchor"
11781
11745
  },
11782
11746
  {
11783
11747
  "kind": "field",
11784
- "name": "text",
11748
+ "name": "placement",
11785
11749
  "type": {
11786
- "text": "string"
11750
+ "text": "PopoverPlacement"
11787
11751
  },
11788
11752
  "privacy": "public",
11789
- "default": "''",
11790
- "description": "The text content of the tooltip (alternative to slotted content).",
11791
- "attribute": "text"
11753
+ "default": "'bottom-start'",
11754
+ "description": "The placement of the popover relative to the anchor.",
11755
+ "attribute": "placement"
11792
11756
  },
11793
11757
  {
11794
11758
  "kind": "field",
11795
- "name": "placement",
11759
+ "name": "flip",
11796
11760
  "type": {
11797
- "text": "TooltipPlacement"
11761
+ "text": "boolean"
11798
11762
  },
11799
11763
  "privacy": "public",
11800
- "default": "'top'",
11801
- "description": "The placement of the tooltip relative to the anchor.",
11802
- "attribute": "placement"
11764
+ "default": "false",
11765
+ "description": "Whether the popover should flip to the opposite side when there's no space.",
11766
+ "attribute": "flip"
11803
11767
  },
11804
11768
  {
11805
11769
  "kind": "field",
11806
- "name": "trigger",
11770
+ "name": "shift",
11807
11771
  "type": {
11808
- "text": "TooltipTrigger"
11772
+ "text": "boolean"
11809
11773
  },
11810
11774
  "privacy": "public",
11811
- "default": "'hover'",
11812
- "description": "How the tooltip should be triggered.",
11813
- "attribute": "trigger"
11775
+ "default": "false",
11776
+ "description": "Whether the popover should shift to stay in view.",
11777
+ "attribute": "shift"
11814
11778
  },
11815
11779
  {
11816
11780
  "kind": "field",
@@ -11820,102 +11784,80 @@
11820
11784
  },
11821
11785
  "privacy": "public",
11822
11786
  "default": "false",
11823
- "description": "Whether the tooltip is open.",
11787
+ "description": "Whether the popover is open.",
11824
11788
  "attribute": "open",
11825
11789
  "reflects": true
11826
11790
  },
11827
11791
  {
11828
11792
  "kind": "field",
11829
- "name": "delay",
11793
+ "name": "arrow",
11830
11794
  "type": {
11831
- "text": "number"
11795
+ "text": "boolean"
11832
11796
  },
11833
11797
  "privacy": "public",
11834
- "default": "500",
11835
- "description": "Delay in milliseconds before showing the tooltip.",
11836
- "attribute": "delay"
11798
+ "default": "false",
11799
+ "description": "Whether to show an arrow pointing to the anchor element.",
11800
+ "attribute": "arrow"
11837
11801
  },
11838
11802
  {
11839
11803
  "kind": "field",
11840
- "name": "hideDelay",
11804
+ "name": "offset",
11841
11805
  "type": {
11842
- "text": "number"
11806
+ "text": "PopoverOffset | undefined"
11843
11807
  },
11844
11808
  "privacy": "public",
11845
- "default": "0",
11846
- "description": "Delay in milliseconds before hiding the tooltip.",
11847
- "attribute": "hide-delay"
11848
- },
11849
- {
11850
- "kind": "method",
11851
- "name": "show",
11852
- "privacy": "public",
11853
- "return": {
11854
- "type": {
11855
- "text": "void"
11856
- }
11857
- },
11858
- "description": "Show the tooltip programmatically."
11809
+ "default": "undefined",
11810
+ "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.",
11811
+ "attribute": "offset"
11859
11812
  },
11860
11813
  {
11861
- "kind": "method",
11862
- "name": "hide",
11863
- "privacy": "public",
11864
- "return": {
11865
- "type": {
11866
- "text": "void"
11867
- }
11814
+ "kind": "field",
11815
+ "name": "dismissMode",
11816
+ "type": {
11817
+ "text": "'auto' | 'manual'"
11868
11818
  },
11869
- "description": "Hide the tooltip programmatically."
11870
- },
11871
- {
11872
- "kind": "method",
11873
- "name": "toggle",
11874
11819
  "privacy": "public",
11875
- "return": {
11876
- "type": {
11877
- "text": "void"
11878
- }
11879
- },
11880
- "description": "Toggle the tooltip programmatically."
11820
+ "default": "'auto'",
11821
+ "description": "The dismiss mode for the popover.\n- 'auto': Automatically closes on outside clicks and Escape key\n- 'manual': Requires manual control to close",
11822
+ "attribute": "dismiss-mode"
11881
11823
  }
11882
11824
  ],
11883
11825
  "attributes": [
11884
11826
  {
11885
- "name": "for",
11827
+ "name": "anchor",
11886
11828
  "type": {
11887
- "text": "string"
11829
+ "text": "Element | null"
11888
11830
  },
11889
- "default": "''",
11890
- "description": "The ID of the anchor element to attach the tooltip to.",
11891
- "fieldName": "for"
11831
+ "default": "null",
11832
+ "description": "The anchor element to position the popover relative to.",
11833
+ "fieldName": "anchor"
11892
11834
  },
11893
11835
  {
11894
- "name": "text",
11836
+ "name": "placement",
11895
11837
  "type": {
11896
- "text": "string"
11838
+ "text": "PopoverPlacement"
11897
11839
  },
11898
- "default": "''",
11899
- "description": "The text content of the tooltip (alternative to slotted content).",
11900
- "fieldName": "text"
11840
+ "default": "'bottom-start'",
11841
+ "description": "The placement of the popover relative to the anchor.",
11842
+ "fieldName": "placement"
11901
11843
  },
11902
11844
  {
11903
- "name": "placement",
11845
+ "name": "flip",
11904
11846
  "type": {
11905
- "text": "TooltipPlacement"
11847
+ "text": "boolean"
11906
11848
  },
11907
- "default": "'top'",
11908
- "description": "The placement of the tooltip relative to the anchor.",
11909
- "fieldName": "placement"
11849
+ "default": "false",
11850
+ "description": "Whether the popover should flip to the opposite side when there's no space.",
11851
+ "fieldName": "flip"
11910
11852
  },
11911
11853
  {
11912
- "name": "trigger",
11854
+ "name": "shift",
11913
11855
  "type": {
11914
- "text": "TooltipTrigger"
11856
+ "text": "boolean"
11915
11857
  },
11916
- "default": "'hover'",
11917
- "description": "How the tooltip should be triggered.",
11918
- "fieldName": "trigger"
11858
+ "default": "false",
11859
+ "description": "Whether the popover should shift to stay in view.",
11860
+ "fieldName": "shift"
11919
11861
  },
11920
11862
  {
11921
11863
  "name": "open",
@@ -11923,216 +11865,291 @@
11923
11865
  "text": "boolean"
11924
11866
  },
11925
11867
  "default": "false",
11926
- "description": "Whether the tooltip is open.",
11868
+ "description": "Whether the popover is open.",
11927
11869
  "fieldName": "open"
11928
11870
  },
11929
11871
  {
11930
- "name": "delay",
11872
+ "name": "arrow",
11931
11873
  "type": {
11932
- "text": "number"
11874
+ "text": "boolean"
11933
11875
  },
11934
- "default": "500",
11935
- "description": "Delay in milliseconds before showing the tooltip.",
11936
- "fieldName": "delay"
11876
+ "default": "false",
11877
+ "description": "Whether to show an arrow pointing to the anchor element.",
11878
+ "fieldName": "arrow"
11937
11879
  },
11938
11880
  {
11939
- "name": "hide-delay",
11881
+ "name": "offset",
11940
11882
  "type": {
11941
- "text": "number"
11883
+ "text": "PopoverOffset | undefined"
11942
11884
  },
11943
- "default": "0",
11944
- "description": "Delay in milliseconds before hiding the tooltip.",
11945
- "fieldName": "hideDelay"
11885
+ "default": "undefined",
11886
+ "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.",
11887
+ "fieldName": "offset"
11888
+ },
11889
+ {
11890
+ "name": "dismiss-mode",
11891
+ "type": {
11892
+ "text": "'auto' | 'manual'"
11893
+ },
11894
+ "default": "'auto'",
11895
+ "description": "The dismiss mode for the popover.\n- 'auto': Automatically closes on outside clicks and Escape key\n- 'manual': Requires manual control to close",
11896
+ "fieldName": "dismissMode"
11946
11897
  }
11947
11898
  ],
11948
11899
  "superclass": {
11949
11900
  "name": "LitElement",
11950
11901
  "package": "lit"
11951
11902
  },
11952
- "summary": "A tooltip component with accessibility features and dynamic positioning.",
11953
- "tagName": "forge-ai-tooltip",
11903
+ "summary": "A popover component that provides styled overlay functionality.",
11904
+ "tagName": "forge-ai-popover",
11954
11905
  "customElement": true
11955
11906
  }
11956
11907
  ],
11957
11908
  "exports": [
11958
11909
  {
11959
11910
  "kind": "js",
11960
- "name": "ForgeAiTooltipComponent",
11911
+ "name": "ForgeAiPopoverComponent",
11961
11912
  "declaration": {
11962
- "name": "ForgeAiTooltipComponent",
11963
- "module": "src/lib/core/tooltip/tooltip.ts"
11913
+ "name": "ForgeAiPopoverComponent",
11914
+ "module": "src/lib/core/popover/popover.ts"
11964
11915
  }
11965
11916
  },
11966
11917
  {
11967
11918
  "kind": "custom-element-definition",
11968
- "name": "forge-ai-tooltip",
11969
- "declaration": {
11970
- "name": "ForgeAiTooltipComponent",
11971
- "module": "src/lib/core/tooltip/tooltip.ts"
11972
- }
11973
- }
11974
- ]
11975
- },
11976
- {
11977
- "kind": "javascript-module",
11978
- "path": "src/lib/tools/ai-data-table/ai-data-table-definition.ts",
11979
- "declarations": [
11980
- {
11981
- "kind": "variable",
11982
- "name": "displayDataTableTool",
11983
- "type": {
11984
- "text": "ToolDefinition"
11985
- },
11986
- "default": "{ name: 'displayDataTable', displayName: 'Display Data Table', description: 'Display tabular data in a formatted table with headers and rows. Use this tool when you want to present structured data, lists where there are 2 or more columns, statistics, or any information that works well in a table format.', parameters: { type: 'object' as const, properties: { title: { type: 'string', description: 'Table title or caption displayed above the data.' }, headers: { type: 'array', items: { type: 'string' }, description: 'Column names displayed as table headers. Order matches the row data order.' }, maxNumberOfRows: { type: 'number', description: 'Limit total rows shown. Useful for large datasets to prevent overwhelming display.' }, rows: { type: 'array', items: { type: 'array', items: { anyOf: [{ type: 'string' }, { type: 'number' }] } }, description: 'Data rows where each row is an array of values matching header order.' } }, required: ['headers', 'rows'] }, renderer: createToolRenderer({ elementTag: 'forge-ai-tool-data-table' }) }"
11987
- }
11988
- ],
11989
- "exports": [
11990
- {
11991
- "kind": "js",
11992
- "name": "displayDataTableTool",
11919
+ "name": "forge-ai-popover",
11993
11920
  "declaration": {
11994
- "name": "displayDataTableTool",
11995
- "module": "src/lib/tools/ai-data-table/ai-data-table-definition.ts"
11921
+ "name": "ForgeAiPopoverComponent",
11922
+ "module": "src/lib/core/popover/popover.ts"
11996
11923
  }
11997
11924
  }
11998
11925
  ]
11999
11926
  },
12000
11927
  {
12001
11928
  "kind": "javascript-module",
12002
- "path": "src/lib/tools/ai-data-table/ai-data-table.ts",
11929
+ "path": "src/lib/core/tooltip/tooltip.ts",
12003
11930
  "declarations": [
12004
11931
  {
12005
11932
  "kind": "class",
12006
- "description": "Data table component tool renderer for displaying tabular data with pagination and filtering.",
12007
- "name": "DataTableToolElement",
11933
+ "description": "",
11934
+ "name": "ForgeAiTooltipComponent",
11935
+ "cssProperties": [
11936
+ {
11937
+ "description": "The maximum width of the tooltip.",
11938
+ "name": "--forge-ai-tooltip-max-width"
11939
+ },
11940
+ {
11941
+ "description": "The z-index of the tooltip overlay.",
11942
+ "name": "--forge-ai-tooltip-z-index"
11943
+ }
11944
+ ],
11945
+ "slots": [
11946
+ {
11947
+ "description": "The default slot for tooltip content.",
11948
+ "name": ""
11949
+ }
11950
+ ],
12008
11951
  "members": [
12009
11952
  {
12010
11953
  "kind": "field",
12011
- "name": "toolCall",
11954
+ "name": "for",
12012
11955
  "type": {
12013
- "text": "ToolCall<TableData>"
11956
+ "text": "string"
12014
11957
  },
12015
11958
  "privacy": "public",
12016
- "description": "Tool call data containing table configuration and data"
12017
- }
12018
- ],
12019
- "superclass": {
12020
- "name": "LitElement",
12021
- "package": "lit"
12022
- },
12023
- "tagName": "forge-ai-tool-data-table",
12024
- "customElement": true
12025
- }
12026
- ],
12027
- "exports": [
12028
- {
12029
- "kind": "custom-element-definition",
12030
- "name": "forge-ai-tool-data-table",
12031
- "declaration": {
12032
- "name": "DataTableToolElement",
12033
- "module": "src/lib/tools/ai-data-table/ai-data-table.ts"
12034
- }
12035
- }
12036
- ]
12037
- },
12038
- {
12039
- "kind": "javascript-module",
12040
- "path": "src/lib/tools/ai-paginator/ai-paginator.ts",
12041
- "declarations": [
12042
- {
12043
- "kind": "class",
12044
- "description": "",
12045
- "name": "AiPaginator",
12046
- "members": [
11959
+ "default": "''",
11960
+ "description": "The ID of the anchor element to attach the tooltip to.",
11961
+ "attribute": "for"
11962
+ },
11963
+ {
11964
+ "kind": "field",
11965
+ "name": "text",
11966
+ "type": {
11967
+ "text": "string"
11968
+ },
11969
+ "privacy": "public",
11970
+ "default": "''",
11971
+ "description": "The text content of the tooltip (alternative to slotted content).",
11972
+ "attribute": "text"
11973
+ },
12047
11974
  {
12048
11975
  "kind": "field",
12049
- "name": "currentPage",
11976
+ "name": "placement",
12050
11977
  "type": {
12051
- "text": "number"
11978
+ "text": "TooltipPlacement"
12052
11979
  },
12053
11980
  "privacy": "public",
12054
- "default": "1",
12055
- "attribute": "current-page"
11981
+ "default": "'top'",
11982
+ "description": "The placement of the tooltip relative to the anchor.",
11983
+ "attribute": "placement"
12056
11984
  },
12057
11985
  {
12058
11986
  "kind": "field",
12059
- "name": "totalPages",
11987
+ "name": "trigger",
12060
11988
  "type": {
12061
- "text": "number"
11989
+ "text": "TooltipTrigger"
12062
11990
  },
12063
11991
  "privacy": "public",
12064
- "default": "1",
12065
- "attribute": "total-pages"
11992
+ "default": "'hover'",
11993
+ "description": "How the tooltip should be triggered.",
11994
+ "attribute": "trigger"
12066
11995
  },
12067
11996
  {
12068
11997
  "kind": "field",
12069
- "name": "disabled",
11998
+ "name": "open",
12070
11999
  "type": {
12071
12000
  "text": "boolean"
12072
12001
  },
12073
12002
  "privacy": "public",
12074
12003
  "default": "false",
12075
- "attribute": "disabled",
12004
+ "description": "Whether the tooltip is open.",
12005
+ "attribute": "open",
12076
12006
  "reflects": true
12077
- }
12078
- ],
12079
- "events": [
12007
+ },
12080
12008
  {
12081
- "name": "page-change",
12009
+ "kind": "field",
12010
+ "name": "delay",
12082
12011
  "type": {
12083
- "text": "CustomEvent"
12084
- }
12012
+ "text": "number"
12013
+ },
12014
+ "privacy": "public",
12015
+ "default": "500",
12016
+ "description": "Delay in milliseconds before showing the tooltip.",
12017
+ "attribute": "delay"
12018
+ },
12019
+ {
12020
+ "kind": "field",
12021
+ "name": "hideDelay",
12022
+ "type": {
12023
+ "text": "number"
12024
+ },
12025
+ "privacy": "public",
12026
+ "default": "0",
12027
+ "description": "Delay in milliseconds before hiding the tooltip.",
12028
+ "attribute": "hide-delay"
12029
+ },
12030
+ {
12031
+ "kind": "method",
12032
+ "name": "show",
12033
+ "privacy": "public",
12034
+ "return": {
12035
+ "type": {
12036
+ "text": "void"
12037
+ }
12038
+ },
12039
+ "description": "Show the tooltip programmatically."
12040
+ },
12041
+ {
12042
+ "kind": "method",
12043
+ "name": "hide",
12044
+ "privacy": "public",
12045
+ "return": {
12046
+ "type": {
12047
+ "text": "void"
12048
+ }
12049
+ },
12050
+ "description": "Hide the tooltip programmatically."
12051
+ },
12052
+ {
12053
+ "kind": "method",
12054
+ "name": "toggle",
12055
+ "privacy": "public",
12056
+ "return": {
12057
+ "type": {
12058
+ "text": "void"
12059
+ }
12060
+ },
12061
+ "description": "Toggle the tooltip programmatically."
12085
12062
  }
12086
12063
  ],
12087
12064
  "attributes": [
12088
12065
  {
12089
- "name": "current-page",
12066
+ "name": "for",
12090
12067
  "type": {
12091
- "text": "number"
12068
+ "text": "string"
12092
12069
  },
12093
- "default": "1",
12094
- "fieldName": "currentPage"
12070
+ "default": "''",
12071
+ "description": "The ID of the anchor element to attach the tooltip to.",
12072
+ "fieldName": "for"
12095
12073
  },
12096
12074
  {
12097
- "name": "total-pages",
12075
+ "name": "text",
12098
12076
  "type": {
12099
- "text": "number"
12077
+ "text": "string"
12100
12078
  },
12101
- "default": "1",
12102
- "fieldName": "totalPages"
12079
+ "default": "''",
12080
+ "description": "The text content of the tooltip (alternative to slotted content).",
12081
+ "fieldName": "text"
12103
12082
  },
12104
12083
  {
12105
- "name": "disabled",
12084
+ "name": "placement",
12085
+ "type": {
12086
+ "text": "TooltipPlacement"
12087
+ },
12088
+ "default": "'top'",
12089
+ "description": "The placement of the tooltip relative to the anchor.",
12090
+ "fieldName": "placement"
12091
+ },
12092
+ {
12093
+ "name": "trigger",
12094
+ "type": {
12095
+ "text": "TooltipTrigger"
12096
+ },
12097
+ "default": "'hover'",
12098
+ "description": "How the tooltip should be triggered.",
12099
+ "fieldName": "trigger"
12100
+ },
12101
+ {
12102
+ "name": "open",
12106
12103
  "type": {
12107
12104
  "text": "boolean"
12108
12105
  },
12109
12106
  "default": "false",
12110
- "fieldName": "disabled"
12107
+ "description": "Whether the tooltip is open.",
12108
+ "fieldName": "open"
12109
+ },
12110
+ {
12111
+ "name": "delay",
12112
+ "type": {
12113
+ "text": "number"
12114
+ },
12115
+ "default": "500",
12116
+ "description": "Delay in milliseconds before showing the tooltip.",
12117
+ "fieldName": "delay"
12118
+ },
12119
+ {
12120
+ "name": "hide-delay",
12121
+ "type": {
12122
+ "text": "number"
12123
+ },
12124
+ "default": "0",
12125
+ "description": "Delay in milliseconds before hiding the tooltip.",
12126
+ "fieldName": "hideDelay"
12111
12127
  }
12112
12128
  ],
12113
12129
  "superclass": {
12114
12130
  "name": "LitElement",
12115
12131
  "package": "lit"
12116
12132
  },
12117
- "tagName": "forge-ai-paginator",
12133
+ "summary": "A tooltip component with accessibility features and dynamic positioning.",
12134
+ "tagName": "forge-ai-tooltip",
12118
12135
  "customElement": true
12119
12136
  }
12120
12137
  ],
12121
12138
  "exports": [
12122
12139
  {
12123
12140
  "kind": "js",
12124
- "name": "AiPaginator",
12141
+ "name": "ForgeAiTooltipComponent",
12125
12142
  "declaration": {
12126
- "name": "AiPaginator",
12127
- "module": "src/lib/tools/ai-paginator/ai-paginator.ts"
12143
+ "name": "ForgeAiTooltipComponent",
12144
+ "module": "src/lib/core/tooltip/tooltip.ts"
12128
12145
  }
12129
12146
  },
12130
12147
  {
12131
12148
  "kind": "custom-element-definition",
12132
- "name": "forge-ai-paginator",
12149
+ "name": "forge-ai-tooltip",
12133
12150
  "declaration": {
12134
- "name": "AiPaginator",
12135
- "module": "src/lib/tools/ai-paginator/ai-paginator.ts"
12151
+ "name": "ForgeAiTooltipComponent",
12152
+ "module": "src/lib/core/tooltip/tooltip.ts"
12136
12153
  }
12137
12154
  }
12138
12155
  ]
@@ -12148,6 +12165,10 @@
12148
12165
  "path": "src/lib/ai-agent-info/ai-agent-info.ts",
12149
12166
  "lineNumber": 29
12150
12167
  },
12168
+ "AiArtifactComponent": {
12169
+ "path": "src/lib/ai-artifact/ai-artifact.ts",
12170
+ "lineNumber": 23
12171
+ },
12151
12172
  "ForgeAiAgentSelectorChangeEventData": {
12152
12173
  "path": "src/lib/ai-agent-selector/ai-agent-selector.ts",
12153
12174
  "lineNumber": 23
@@ -12156,10 +12177,6 @@
12156
12177
  "path": "src/lib/ai-agent-selector/ai-agent-selector.ts",
12157
12178
  "lineNumber": 48
12158
12179
  },
12159
- "AiArtifactComponent": {
12160
- "path": "src/lib/ai-artifact/ai-artifact.ts",
12161
- "lineNumber": 23
12162
- },
12163
12180
  "ForgeAiAssistantResponseFeedbackEventData": {
12164
12181
  "path": "src/lib/ai-assistant-response/ai-assistant-response.ts",
12165
12182
  "lineNumber": 31
@@ -12218,15 +12235,15 @@
12218
12235
  },
12219
12236
  "MessageStartEvent": {
12220
12237
  "path": "src/lib/ai-chatbot/types.ts",
12221
- "lineNumber": 81
12238
+ "lineNumber": 118
12222
12239
  },
12223
12240
  "MessageDeltaEvent": {
12224
12241
  "path": "src/lib/ai-chatbot/types.ts",
12225
- "lineNumber": 85
12242
+ "lineNumber": 122
12226
12243
  },
12227
12244
  "MessageEndEvent": {
12228
12245
  "path": "src/lib/ai-chatbot/types.ts",
12229
- "lineNumber": 90
12246
+ "lineNumber": 127
12230
12247
  },
12231
12248
  "ToolCallEvent": {
12232
12249
  "path": "src/lib/ai-chatbot/agent-adapter.ts",
@@ -12234,19 +12251,19 @@
12234
12251
  },
12235
12252
  "ToolCallStartEvent": {
12236
12253
  "path": "src/lib/ai-chatbot/types.ts",
12237
- "lineNumber": 94
12254
+ "lineNumber": 131
12238
12255
  },
12239
12256
  "ToolCallArgsEvent": {
12240
12257
  "path": "src/lib/ai-chatbot/types.ts",
12241
- "lineNumber": 100
12258
+ "lineNumber": 137
12242
12259
  },
12243
12260
  "ToolCallEndEvent": {
12244
12261
  "path": "src/lib/ai-chatbot/types.ts",
12245
- "lineNumber": 108
12262
+ "lineNumber": 145
12246
12263
  },
12247
12264
  "ToolResultEvent": {
12248
12265
  "path": "src/lib/ai-chatbot/types.ts",
12249
- "lineNumber": 115
12266
+ "lineNumber": 152
12250
12267
  },
12251
12268
  "AdapterState": {
12252
12269
  "path": "src/lib/ai-chatbot/agent-adapter.ts",
@@ -12258,7 +12275,7 @@
12258
12275
  },
12259
12276
  "FileRemoveEvent": {
12260
12277
  "path": "src/lib/ai-chatbot/types.ts",
12261
- "lineNumber": 213
12278
+ "lineNumber": 250
12262
12279
  },
12263
12280
  "ErrorEvent": {
12264
12281
  "path": "src/lib/ai-chatbot/agent-adapter.ts",
@@ -12346,7 +12363,7 @@
12346
12363
  },
12347
12364
  "ForgeAiChatbotFileSelectEventData": {
12348
12365
  "path": "src/lib/ai-chatbot/types.ts",
12349
- "lineNumber": 217
12366
+ "lineNumber": 254
12350
12367
  },
12351
12368
  "ForgeAiChatbotFileRemoveEventData": {
12352
12369
  "path": "src/lib/ai-chatbot/ai-chatbot.ts",
@@ -12362,7 +12379,7 @@
12362
12379
  },
12363
12380
  "AiChatbotComponent": {
12364
12381
  "path": "src/lib/ai-chatbot/ai-chatbot.ts",
12365
- "lineNumber": 127
12382
+ "lineNumber": 132
12366
12383
  },
12367
12384
  "CreateToolRendererElementConfig": {
12368
12385
  "path": "src/lib/ai-chatbot/create-tool-renderer.ts",
@@ -12452,69 +12469,81 @@
12452
12469
  "path": "src/lib/ai-chatbot/types.ts",
12453
12470
  "lineNumber": 44
12454
12471
  },
12472
+ "ToolStartContext": {
12473
+ "path": "src/lib/ai-chatbot/types.ts",
12474
+ "lineNumber": 58
12475
+ },
12476
+ "ToolDeltaContext": {
12477
+ "path": "src/lib/ai-chatbot/types.ts",
12478
+ "lineNumber": 67
12479
+ },
12480
+ "ToolEndContext": {
12481
+ "path": "src/lib/ai-chatbot/types.ts",
12482
+ "lineNumber": 78
12483
+ },
12455
12484
  "ToolType": {
12456
12485
  "path": "src/lib/ai-chatbot/types.ts",
12457
- "lineNumber": 55
12486
+ "lineNumber": 84
12458
12487
  },
12459
12488
  "ToolDefinition": {
12460
12489
  "path": "src/lib/ai-chatbot/types.ts",
12461
- "lineNumber": 61
12490
+ "lineNumber": 90
12462
12491
  },
12463
12492
  "StreamEvent": {
12464
12493
  "path": "src/lib/ai-chatbot/types.ts",
12465
- "lineNumber": 121
12494
+ "lineNumber": 158
12466
12495
  },
12467
12496
  "ChatMessage": {
12468
12497
  "path": "src/lib/ai-chatbot/types.ts",
12469
- "lineNumber": 130
12498
+ "lineNumber": 167
12470
12499
  },
12471
12500
  "ToolCall": {
12472
12501
  "path": "src/lib/ai-chatbot/types.ts",
12473
- "lineNumber": 144
12502
+ "lineNumber": 181
12474
12503
  },
12475
12504
  "ResponseItem": {
12476
12505
  "path": "src/lib/ai-chatbot/types.ts",
12477
- "lineNumber": 158
12506
+ "lineNumber": 195
12478
12507
  },
12479
12508
  "FeedbackType": {
12480
12509
  "path": "src/lib/ai-chatbot/types.ts",
12481
- "lineNumber": 162
12510
+ "lineNumber": 199
12482
12511
  },
12483
12512
  "ResponseFeedback": {
12484
12513
  "path": "src/lib/ai-chatbot/types.ts",
12485
- "lineNumber": 164
12514
+ "lineNumber": 201
12486
12515
  },
12487
12516
  "AssistantResponse": {
12488
12517
  "path": "src/lib/ai-chatbot/types.ts",
12489
- "lineNumber": 169
12518
+ "lineNumber": 206
12490
12519
  },
12491
12520
  "FileAttachment": {
12492
12521
  "path": "src/lib/ai-chatbot/types.ts",
12493
- "lineNumber": 178
12522
+ "lineNumber": 215
12494
12523
  },
12495
12524
  "UploadedFileMetadata": {
12496
12525
  "path": "src/lib/ai-chatbot/types.ts",
12497
- "lineNumber": 191
12526
+ "lineNumber": 228
12498
12527
  },
12499
12528
  "FileUploadCallbacks": {
12500
12529
  "path": "src/lib/ai-chatbot/types.ts",
12501
- "lineNumber": 199
12530
+ "lineNumber": 236
12502
12531
  },
12503
12532
  "FileUploadHandler": {
12504
12533
  "path": "src/lib/ai-chatbot/types.ts",
12505
- "lineNumber": 206
12534
+ "lineNumber": 243
12506
12535
  },
12507
12536
  "FileRemoveCallbacks": {
12508
12537
  "path": "src/lib/ai-chatbot/types.ts",
12509
- "lineNumber": 208
12538
+ "lineNumber": 245
12510
12539
  },
12511
12540
  "MessageItem": {
12512
12541
  "path": "src/lib/ai-chatbot/types.ts",
12513
- "lineNumber": 230
12542
+ "lineNumber": 267
12514
12543
  },
12515
12544
  "ThreadState": {
12516
12545
  "path": "src/lib/ai-chatbot/types.ts",
12517
- "lineNumber": 235
12546
+ "lineNumber": 272
12518
12547
  },
12519
12548
  "LauncherViewState": {
12520
12549
  "path": "src/lib/ai-chatbot-launcher/ai-chatbot-launcher.ts",
@@ -12644,10 +12673,6 @@
12644
12673
  "path": "src/lib/ai-icon/ai-icon.ts",
12645
12674
  "lineNumber": 23
12646
12675
  },
12647
- "AiIconButtonComponent": {
12648
- "path": "src/lib/ai-icon-button/ai-icon-button.ts",
12649
- "lineNumber": 19
12650
- },
12651
12676
  "ForgeAiMessageThreadCopyEventData": {
12652
12677
  "path": "src/lib/ai-message-thread/ai-message-thread.ts",
12653
12678
  "lineNumber": 37
@@ -12668,9 +12693,9 @@
12668
12693
  "path": "src/lib/ai-message-thread/ai-message-thread.ts",
12669
12694
  "lineNumber": 78
12670
12695
  },
12671
- "AiModalComponent": {
12672
- "path": "src/lib/ai-modal/ai-modal.ts",
12673
- "lineNumber": 36
12696
+ "AiIconButtonComponent": {
12697
+ "path": "src/lib/ai-icon-button/ai-icon-button.ts",
12698
+ "lineNumber": 19
12674
12699
  },
12675
12700
  "ForgeAiPromptSendEventData": {
12676
12701
  "path": "src/lib/ai-prompt/ai-prompt.ts",
@@ -12692,10 +12717,18 @@
12692
12717
  "path": "src/lib/ai-prompt/ai-prompt.ts",
12693
12718
  "lineNumber": 63
12694
12719
  },
12720
+ "AiModalComponent": {
12721
+ "path": "src/lib/ai-modal/ai-modal.ts",
12722
+ "lineNumber": 36
12723
+ },
12695
12724
  "AiReasoningComponent": {
12696
12725
  "path": "src/lib/ai-reasoning/ai-reasoning.ts",
12697
12726
  "lineNumber": 17
12698
12727
  },
12728
+ "AiResponseMessageComponent": {
12729
+ "path": "src/lib/ai-response-message/ai-response-message.ts",
12730
+ "lineNumber": 19
12731
+ },
12699
12732
  "AiReasoningHeaderComponent": {
12700
12733
  "path": "src/lib/ai-reasoning-header/ai-reasoning-header.ts",
12701
12734
  "lineNumber": 22
@@ -12716,10 +12749,6 @@
12716
12749
  "path": "src/lib/ai-response-message-toolbar/ai-response-message-toolbar.ts",
12717
12750
  "lineNumber": 43
12718
12751
  },
12719
- "AiResponseMessageComponent": {
12720
- "path": "src/lib/ai-response-message/ai-response-message.ts",
12721
- "lineNumber": 19
12722
- },
12723
12752
  "AiSidebarChatComponent": {
12724
12753
  "path": "src/lib/ai-sidebar-chat/ai-sidebar-chat.ts",
12725
12754
  "lineNumber": 42
@@ -12872,6 +12901,30 @@
12872
12901
  "path": "src/lib/ai-reasoning/reasoning-content/reasoning-content.ts",
12873
12902
  "lineNumber": 17
12874
12903
  },
12904
+ "TableData": {
12905
+ "path": "src/lib/tools/ai-data-table/ai-data-table.ts",
12906
+ "lineNumber": 16
12907
+ },
12908
+ "DataTableToolElement": {
12909
+ "path": "src/lib/tools/ai-data-table/ai-data-table.ts",
12910
+ "lineNumber": 32
12911
+ },
12912
+ "AiPaginator": {
12913
+ "path": "src/lib/tools/ai-paginator/ai-paginator.ts",
12914
+ "lineNumber": 13
12915
+ },
12916
+ "OverlayPlacement": {
12917
+ "path": "src/lib/core/overlay/overlay.ts",
12918
+ "lineNumber": 31
12919
+ },
12920
+ "OverlayOffset": {
12921
+ "path": "src/lib/core/overlay/overlay.ts",
12922
+ "lineNumber": 33
12923
+ },
12924
+ "ForgeAiOverlayComponent": {
12925
+ "path": "src/lib/core/overlay/overlay.ts",
12926
+ "lineNumber": 40
12927
+ },
12875
12928
  "PopoverToggleEventData": {
12876
12929
  "path": "src/lib/core/popover/popover.ts",
12877
12930
  "lineNumber": 18
@@ -12888,18 +12941,6 @@
12888
12941
  "path": "src/lib/core/popover/popover.ts",
12889
12942
  "lineNumber": 37
12890
12943
  },
12891
- "OverlayPlacement": {
12892
- "path": "src/lib/core/overlay/overlay.ts",
12893
- "lineNumber": 31
12894
- },
12895
- "OverlayOffset": {
12896
- "path": "src/lib/core/overlay/overlay.ts",
12897
- "lineNumber": 33
12898
- },
12899
- "ForgeAiOverlayComponent": {
12900
- "path": "src/lib/core/overlay/overlay.ts",
12901
- "lineNumber": 40
12902
- },
12903
12944
  "TooltipToggleEventDetail": {
12904
12945
  "path": "src/lib/core/tooltip/tooltip.ts",
12905
12946
  "lineNumber": 20
@@ -12915,18 +12956,6 @@
12915
12956
  "ForgeAiTooltipComponent": {
12916
12957
  "path": "src/lib/core/tooltip/tooltip.ts",
12917
12958
  "lineNumber": 44
12918
- },
12919
- "TableData": {
12920
- "path": "src/lib/tools/ai-data-table/ai-data-table.ts",
12921
- "lineNumber": 16
12922
- },
12923
- "DataTableToolElement": {
12924
- "path": "src/lib/tools/ai-data-table/ai-data-table.ts",
12925
- "lineNumber": 32
12926
- },
12927
- "AiPaginator": {
12928
- "path": "src/lib/tools/ai-paginator/ai-paginator.ts",
12929
- "lineNumber": 13
12930
12959
  }
12931
12960
  }
12932
12961
  }