@osdk/react-components 0.33.0 → 0.34.0-main-d24cc61b1e7fde7722d8229ed2b6821f5ce1bf8a

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 (145) hide show
  1. package/AGENTS.md +3 -0
  2. package/CHANGELOG.md +19 -0
  3. package/README.md +14 -13
  4. package/build/browser/aip-agent-chat/AipAgentChat.js +113 -0
  5. package/build/browser/aip-agent-chat/AipAgentChat.js.map +1 -0
  6. package/build/browser/aip-agent-chat/AipAgentChat.module.css +231 -0
  7. package/build/browser/aip-agent-chat/AipAgentChat.module.css.js +29 -0
  8. package/build/browser/aip-agent-chat/AipAgentChatApi.js +2 -0
  9. package/build/browser/aip-agent-chat/AipAgentChatApi.js.map +1 -0
  10. package/build/browser/aip-agent-chat/BaseAipAgentChat.js +67 -0
  11. package/build/browser/aip-agent-chat/BaseAipAgentChat.js.map +1 -0
  12. package/build/browser/aip-agent-chat/components/AipAgentChatComposer.js +96 -0
  13. package/build/browser/aip-agent-chat/components/AipAgentChatComposer.js.map +1 -0
  14. package/build/browser/aip-agent-chat/components/AipAgentChatLoader.js +43 -0
  15. package/build/browser/aip-agent-chat/components/AipAgentChatLoader.js.map +1 -0
  16. package/build/browser/aip-agent-chat/components/AipAgentChatMessage.js +60 -0
  17. package/build/browser/aip-agent-chat/components/AipAgentChatMessage.js.map +1 -0
  18. package/build/browser/aip-agent-chat/components/AipAgentChatMessageList.js +60 -0
  19. package/build/browser/aip-agent-chat/components/AipAgentChatMessageList.js.map +1 -0
  20. package/build/browser/aip-agent-chat/components/AipAgentChatModelPicker.js +56 -0
  21. package/build/browser/aip-agent-chat/components/AipAgentChatModelPicker.js.map +1 -0
  22. package/build/browser/aip-agent-chat/hooks/useChatAutoScroll.js +61 -0
  23. package/build/browser/aip-agent-chat/hooks/useChatAutoScroll.js.map +1 -0
  24. package/build/browser/base-components/callout/Callout.js +65 -0
  25. package/build/browser/base-components/callout/Callout.js.map +1 -0
  26. package/build/browser/base-components/callout/Callout.module.css +59 -0
  27. package/build/browser/base-components/callout/Callout.module.css.js +15 -0
  28. package/build/browser/public/experimental/aip-agent-chat.js +22 -0
  29. package/build/browser/public/experimental/aip-agent-chat.js.map +1 -0
  30. package/build/browser/styles.css +402 -0
  31. package/build/browser/tokens/base-tokens/dark.css +10 -0
  32. package/build/browser/tokens/component-tokens/aip-agent-chat.css +56 -0
  33. package/build/browser/tokens/component-tokens/callout.css +40 -0
  34. package/build/browser/tokens.css +2 -0
  35. package/build/browser/util/UserAgent.js +1 -1
  36. package/build/browser/util/UserAgent.js.map +1 -1
  37. package/build/cjs/{chunk-N5NOB4G4.cjs → chunk-4SBWDLNA.cjs} +4 -4
  38. package/build/cjs/{chunk-N5NOB4G4.cjs.map → chunk-4SBWDLNA.cjs.map} +1 -1
  39. package/build/cjs/{chunk-PFGIO77A.cjs → chunk-5JPP5IKU.cjs} +4 -4
  40. package/build/cjs/{chunk-PFGIO77A.cjs.map → chunk-5JPP5IKU.cjs.map} +1 -1
  41. package/build/cjs/{chunk-56CFJTXV.cjs → chunk-73EYJP6Z.cjs} +6 -6
  42. package/build/cjs/{chunk-56CFJTXV.cjs.map → chunk-73EYJP6Z.cjs.map} +1 -1
  43. package/build/cjs/{chunk-XCZD54BD.cjs → chunk-ABKLMCWO.cjs} +4 -4
  44. package/build/cjs/{chunk-XCZD54BD.cjs.map → chunk-ABKLMCWO.cjs.map} +1 -1
  45. package/build/cjs/{chunk-QWFT3G4W.cjs → chunk-EOXGPHI7.cjs} +4 -4
  46. package/build/cjs/{chunk-QWFT3G4W.cjs.map → chunk-EOXGPHI7.cjs.map} +1 -1
  47. package/build/cjs/chunk-HM6F2PSA.cjs +11 -0
  48. package/build/cjs/{chunk-N7TOWLUY.cjs.map → chunk-HM6F2PSA.cjs.map} +1 -1
  49. package/build/cjs/chunk-ILBAVINW.cjs +11 -0
  50. package/build/cjs/{chunk-SUEZQS7M.cjs.map → chunk-ILBAVINW.cjs.map} +1 -1
  51. package/build/cjs/chunk-MSUA3D5M.cjs +11 -0
  52. package/build/cjs/{chunk-AEFCONAY.cjs.map → chunk-MSUA3D5M.cjs.map} +1 -1
  53. package/build/cjs/{chunk-4AGEVOFW.cjs → chunk-MV4WJDCS.cjs} +4 -4
  54. package/build/cjs/{chunk-4AGEVOFW.cjs.map → chunk-MV4WJDCS.cjs.map} +1 -1
  55. package/build/cjs/{chunk-LYAAHEAS.cjs → chunk-PSXAPQB3.cjs} +4 -4
  56. package/build/cjs/{chunk-LYAAHEAS.cjs.map → chunk-PSXAPQB3.cjs.map} +1 -1
  57. package/build/cjs/chunk-RCL5R3P4.cjs +11 -0
  58. package/build/cjs/{chunk-D6RQIMMX.cjs.map → chunk-RCL5R3P4.cjs.map} +1 -1
  59. package/build/cjs/{chunk-OTAWBR27.cjs → chunk-S7Z4MCUS.cjs} +4 -4
  60. package/build/cjs/{chunk-OTAWBR27.cjs.map → chunk-S7Z4MCUS.cjs.map} +1 -1
  61. package/build/cjs/{chunk-364UCCB2.cjs → chunk-WVRYCKJY.cjs} +3 -3
  62. package/build/cjs/chunk-WVRYCKJY.cjs.map +1 -0
  63. package/build/cjs/chunk-YNECVUTQ.cjs +11 -0
  64. package/build/cjs/{chunk-3MDT2TJK.cjs.map → chunk-YNECVUTQ.cjs.map} +1 -1
  65. package/build/cjs/public/experimental/action-form.cjs +4 -4
  66. package/build/cjs/public/experimental/aip-agent-chat.cjs +434 -0
  67. package/build/cjs/public/experimental/aip-agent-chat.cjs.map +1 -0
  68. package/build/cjs/public/experimental/aip-agent-chat.css +304 -0
  69. package/build/cjs/public/experimental/aip-agent-chat.css.map +1 -0
  70. package/build/cjs/public/experimental/aip-agent-chat.d.cts +202 -0
  71. package/build/cjs/public/experimental/cbac-picker.cjs +11 -11
  72. package/build/cjs/public/experimental/document-viewer.cjs +6 -6
  73. package/build/cjs/public/experimental/email-viewer.cjs +3 -3
  74. package/build/cjs/public/experimental/excel-viewer.cjs +3 -3
  75. package/build/cjs/public/experimental/filter-list.cjs +15 -15
  76. package/build/cjs/public/experimental/image-viewer.cjs +3 -3
  77. package/build/cjs/public/experimental/markdown-renderer.cjs +3 -3
  78. package/build/cjs/public/experimental/object-table.cjs +8 -8
  79. package/build/cjs/public/experimental/pdf-viewer.cjs +7 -7
  80. package/build/cjs/public/experimental/tiff-renderer.cjs +3 -3
  81. package/build/cjs/public/experimental/video-viewer.cjs +3 -3
  82. package/build/cjs/public/experimental/xml-viewer.cjs +3 -3
  83. package/build/cjs/public/experimental.cjs +74 -74
  84. package/build/esm/aip-agent-chat/AipAgentChat.js +113 -0
  85. package/build/esm/aip-agent-chat/AipAgentChat.js.map +1 -0
  86. package/build/esm/aip-agent-chat/AipAgentChat.module.css +231 -0
  87. package/build/esm/aip-agent-chat/AipAgentChatApi.js +2 -0
  88. package/build/esm/aip-agent-chat/AipAgentChatApi.js.map +1 -0
  89. package/build/esm/aip-agent-chat/BaseAipAgentChat.js +67 -0
  90. package/build/esm/aip-agent-chat/BaseAipAgentChat.js.map +1 -0
  91. package/build/esm/aip-agent-chat/components/AipAgentChatComposer.js +96 -0
  92. package/build/esm/aip-agent-chat/components/AipAgentChatComposer.js.map +1 -0
  93. package/build/esm/aip-agent-chat/components/AipAgentChatLoader.js +43 -0
  94. package/build/esm/aip-agent-chat/components/AipAgentChatLoader.js.map +1 -0
  95. package/build/esm/aip-agent-chat/components/AipAgentChatMessage.js +60 -0
  96. package/build/esm/aip-agent-chat/components/AipAgentChatMessage.js.map +1 -0
  97. package/build/esm/aip-agent-chat/components/AipAgentChatMessageList.js +60 -0
  98. package/build/esm/aip-agent-chat/components/AipAgentChatMessageList.js.map +1 -0
  99. package/build/esm/aip-agent-chat/components/AipAgentChatModelPicker.js +56 -0
  100. package/build/esm/aip-agent-chat/components/AipAgentChatModelPicker.js.map +1 -0
  101. package/build/esm/aip-agent-chat/hooks/useChatAutoScroll.js +61 -0
  102. package/build/esm/aip-agent-chat/hooks/useChatAutoScroll.js.map +1 -0
  103. package/build/esm/base-components/callout/Callout.js +65 -0
  104. package/build/esm/base-components/callout/Callout.js.map +1 -0
  105. package/build/esm/base-components/callout/Callout.module.css +59 -0
  106. package/build/esm/public/experimental/aip-agent-chat.js +22 -0
  107. package/build/esm/public/experimental/aip-agent-chat.js.map +1 -0
  108. package/build/esm/tokens/base-tokens/dark.css +10 -0
  109. package/build/esm/tokens/component-tokens/aip-agent-chat.css +56 -0
  110. package/build/esm/tokens/component-tokens/callout.css +40 -0
  111. package/build/esm/tokens.css +2 -0
  112. package/build/esm/util/UserAgent.js +1 -1
  113. package/build/esm/util/UserAgent.js.map +1 -1
  114. package/build/types/aip-agent-chat/AipAgentChat.d.ts +10 -0
  115. package/build/types/aip-agent-chat/AipAgentChat.d.ts.map +1 -0
  116. package/build/types/aip-agent-chat/AipAgentChatApi.d.ts +135 -0
  117. package/build/types/aip-agent-chat/AipAgentChatApi.d.ts.map +1 -0
  118. package/build/types/aip-agent-chat/BaseAipAgentChat.d.ts +55 -0
  119. package/build/types/aip-agent-chat/BaseAipAgentChat.d.ts.map +1 -0
  120. package/build/types/aip-agent-chat/components/AipAgentChatComposer.d.ts +19 -0
  121. package/build/types/aip-agent-chat/components/AipAgentChatComposer.d.ts.map +1 -0
  122. package/build/types/aip-agent-chat/components/AipAgentChatLoader.d.ts +9 -0
  123. package/build/types/aip-agent-chat/components/AipAgentChatLoader.d.ts.map +1 -0
  124. package/build/types/aip-agent-chat/components/AipAgentChatMessage.d.ts +12 -0
  125. package/build/types/aip-agent-chat/components/AipAgentChatMessage.d.ts.map +1 -0
  126. package/build/types/aip-agent-chat/components/AipAgentChatMessageList.d.ts +11 -0
  127. package/build/types/aip-agent-chat/components/AipAgentChatMessageList.d.ts.map +1 -0
  128. package/build/types/aip-agent-chat/components/AipAgentChatModelPicker.d.ts +16 -0
  129. package/build/types/aip-agent-chat/components/AipAgentChatModelPicker.d.ts.map +1 -0
  130. package/build/types/aip-agent-chat/hooks/useChatAutoScroll.d.ts +11 -0
  131. package/build/types/aip-agent-chat/hooks/useChatAutoScroll.d.ts.map +1 -0
  132. package/build/types/base-components/callout/Callout.d.ts +33 -0
  133. package/build/types/base-components/callout/Callout.d.ts.map +1 -0
  134. package/build/types/public/experimental/aip-agent-chat.d.ts +7 -0
  135. package/build/types/public/experimental/aip-agent-chat.d.ts.map +1 -0
  136. package/docs/AipAgentChat.md +207 -0
  137. package/docs/CSSVariables.md +52 -0
  138. package/docs/Welcome.md +1 -0
  139. package/package.json +24 -8
  140. package/build/cjs/chunk-364UCCB2.cjs.map +0 -1
  141. package/build/cjs/chunk-3MDT2TJK.cjs +0 -11
  142. package/build/cjs/chunk-AEFCONAY.cjs +0 -11
  143. package/build/cjs/chunk-D6RQIMMX.cjs +0 -11
  144. package/build/cjs/chunk-N7TOWLUY.cjs +0 -11
  145. package/build/cjs/chunk-SUEZQS7M.cjs +0 -11
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Callout.js","names":["Error","ErrorIcon","InfoSign","Tick","WarningSign","classNames","React","styles","DEFAULT_ICONS","error","warning","success","info","INTENT_STYLES","Callout","memo","intent","title","children","actions","icon","className","IconComponent","createElement","callout","role","size","body","message"],"sources":["Callout.tsx"],"sourcesContent":["/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Error as ErrorIcon,\n InfoSign,\n Tick,\n WarningSign,\n} from \"@blueprintjs/icons\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport styles from \"./Callout.module.css\";\n\nexport type CalloutIntent = \"error\" | \"warning\" | \"success\" | \"info\";\n\nexport interface CalloutProps {\n /**\n * Visual intent that determines background, border, and text color.\n */\n intent: CalloutIntent;\n\n /**\n * Optional bold heading displayed above the message content.\n */\n title?: string;\n\n /**\n * Message content rendered inside the callout body.\n */\n children?: React.ReactNode;\n\n /**\n * Optional slot for action buttons (e.g. dismiss, retry) rendered\n * on the trailing edge.\n */\n actions?: React.ReactNode;\n\n /**\n * Override the default intent icon.\n */\n icon?: React.ComponentType<{ size?: number }>;\n\n className?: string;\n}\n\nconst DEFAULT_ICONS: Record<\n CalloutIntent,\n React.ComponentType<{ size?: number }>\n> = {\n error: ErrorIcon,\n warning: WarningSign,\n success: Tick,\n info: InfoSign,\n};\n\nconst INTENT_STYLES: Record<CalloutIntent, string> = {\n error: styles.error,\n warning: styles.warning,\n success: styles.success,\n info: styles.info,\n};\n\n/**\n * A styled alert banner supporting four intent levels with an icon,\n * title, message body, and action slot.\n */\nexport const Callout: React.NamedExoticComponent<CalloutProps> = React.memo(\n function Callout({\n intent,\n title,\n children,\n actions,\n icon,\n className,\n }) {\n const IconComponent = icon ?? DEFAULT_ICONS[intent];\n\n return (\n <div\n aria-live=\"polite\"\n className={classNames(\n styles.callout,\n INTENT_STYLES[intent],\n className,\n )}\n role=\"alert\"\n >\n {IconComponent != null && (\n <span className={styles.icon}>\n <IconComponent size={16} />\n </span>\n )}\n <div className={styles.body}>\n {title != null && <div className={styles.title}>{title}</div>}\n {children != null && <div className={styles.message}>{children}</div>}\n </div>\n {actions != null && <div className={styles.actions}>{actions}</div>}\n </div>\n );\n },\n);\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SACEA,KAAK,IAAIC,SAAS,EAClBC,QAAQ,EACRC,IAAI,EACJC,WAAW,QACN,oBAAoB;AAC3B,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,OAAOC,MAAM,MAAM,sBAAsB;AAkCzC,MAAMC,aAGL,GAAG;EACFC,KAAK,EAAER,SAAS;EAChBS,OAAO,EAAEN,WAAW;EACpBO,OAAO,EAAER,IAAI;EACbS,IAAI,EAAEV;AACR,CAAC;AAED,MAAMW,aAA4C,GAAG;EACnDJ,KAAK,EAAEF,MAAM,CAACE,KAAK;EACnBC,OAAO,EAAEH,MAAM,CAACG,OAAO;EACvBC,OAAO,EAAEJ,MAAM,CAACI,OAAO;EACvBC,IAAI,EAAEL,MAAM,CAACK;AACf,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,MAAME,OAAiD,gBAAGR,KAAK,CAACS,IAAI,CACzE,UAAiB;EACfC,MAAM;EACNC,KAAK;EACLC,QAAQ;EACRC,OAAO;EACPC,IAAI;EACJC;AACF,CAAC,EAAE;EACD,MAAMC,aAAa,GAAGF,IAAI,IAAIZ,aAAa,CAACQ,MAAM,CAAC;EAEnD,oBACEV,KAAA,CAAAiB,aAAA;IACE,aAAU,QAAQ;IAClBF,SAAS,EAAEhB,UAAU,CACnBE,MAAM,CAACiB,OAAO,EACdX,aAAa,CAACG,MAAM,CAAC,EACrBK,SACF,CAAE;IACFI,IAAI,EAAC;EAAO,GAEXH,aAAa,IAAI,IAAI,iBACpBhB,KAAA,CAAAiB,aAAA;IAAMF,SAAS,EAAEd,MAAM,CAACa;EAAK,gBAC3Bd,KAAA,CAAAiB,aAAA,CAACD,aAAa;IAACI,IAAI,EAAE;EAAG,CAAE,CACtB,CACP,eACDpB,KAAA,CAAAiB,aAAA;IAAKF,SAAS,EAAEd,MAAM,CAACoB;EAAK,GACzBV,KAAK,IAAI,IAAI,iBAAIX,KAAA,CAAAiB,aAAA;IAAKF,SAAS,EAAEd,MAAM,CAACU;EAAM,GAAEA,KAAW,CAAC,EAC5DC,QAAQ,IAAI,IAAI,iBAAIZ,KAAA,CAAAiB,aAAA;IAAKF,SAAS,EAAEd,MAAM,CAACqB;EAAQ,GAAEV,QAAc,CACjE,CAAC,EACLC,OAAO,IAAI,IAAI,iBAAIb,KAAA,CAAAiB,aAAA;IAAKF,SAAS,EAAEd,MAAM,CAACY;EAAQ,GAAEA,OAAa,CAC/D,CAAC;AAEV,CACF,CAAC","ignoreList":[]}
@@ -0,0 +1,59 @@
1
+ .callout {
2
+ align-items: flex-start;
3
+ border-radius: var(--osdk-callout-border-radius);
4
+ display: flex;
5
+ gap: var(--osdk-callout-gap);
6
+ padding: var(--osdk-callout-padding);
7
+ }
8
+
9
+ .error {
10
+ background: var(--osdk-callout-error-background);
11
+ color: var(--osdk-callout-error-color);
12
+ }
13
+
14
+ .warning {
15
+ background: var(--osdk-callout-warning-background);
16
+ color: var(--osdk-callout-warning-color);
17
+ }
18
+
19
+ .success {
20
+ background: var(--osdk-callout-success-background);
21
+ color: var(--osdk-callout-success-color);
22
+ }
23
+
24
+ .info {
25
+ background: var(--osdk-callout-info-background);
26
+ color: var(--osdk-callout-info-color);
27
+ }
28
+
29
+ .icon {
30
+ flex: 0 0 auto;
31
+ line-height: 0;
32
+ padding-top: 1px;
33
+ }
34
+
35
+ .body {
36
+ display: flex;
37
+ flex: 1 1 auto;
38
+ flex-direction: column;
39
+ gap: calc(var(--osdk-surface-spacing) * 1);
40
+ min-width: 0;
41
+ }
42
+
43
+ .title {
44
+ font-size: var(--osdk-callout-title-font-size);
45
+ font-weight: var(--osdk-callout-title-font-weight);
46
+ }
47
+
48
+ .message {
49
+ font-size: var(--osdk-callout-message-font-size);
50
+ word-break: break-word;
51
+ }
52
+
53
+ .actions {
54
+ align-items: center;
55
+ align-self: stretch;
56
+ display: flex;
57
+ flex: 0 0 auto;
58
+ justify-content: center;
59
+ }
@@ -0,0 +1,22 @@
1
+ /*
2
+ * Copyright 2026 Palantir Technologies, Inc. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ // TODO: Add osdk metrics
18
+ // This component uses platformClient, maybe we want to add userAgent header to the platformClient instead
19
+ export { AipAgentChat } from "../../aip-agent-chat/AipAgentChat.js";
20
+ export { BaseAipAgentChat } from "../../aip-agent-chat/BaseAipAgentChat.js";
21
+ export { getUIMessageText } from "@osdk/aip-core";
22
+ //# sourceMappingURL=aip-agent-chat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aip-agent-chat.js","names":["AipAgentChat","BaseAipAgentChat","getUIMessageText"],"sources":["aip-agent-chat.ts"],"sourcesContent":["/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// TODO: Add osdk metrics\n// This component uses platformClient, maybe we want to add userAgent header to the platformClient instead\nexport { AipAgentChat } from \"../../aip-agent-chat/AipAgentChat.js\";\n\nexport type { AipAgentChatProps } from \"../../aip-agent-chat/AipAgentChatApi.js\";\n\nexport { BaseAipAgentChat } from \"../../aip-agent-chat/BaseAipAgentChat.js\";\nexport type { BaseAipAgentChatProps } from \"../../aip-agent-chat/BaseAipAgentChat.js\";\n\nexport type { UIMessage, UIMessageRole } from \"@osdk/aip-core\";\nexport { getUIMessageText } from \"@osdk/aip-core\";\n\nexport type { ChatStatus } from \"@osdk/react/experimental/aip\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAASA,YAAY,QAAQ,sCAAsC;AAInE,SAASC,gBAAgB,QAAQ,0CAA0C;AAI3E,SAASC,gBAAgB,QAAQ,gBAAgB","ignoreList":[]}
@@ -55,6 +55,12 @@
55
55
  var(--osdk-intent-primary-rest) 25%,
56
56
  var(--osdk-background-primary)
57
57
  );
58
+
59
+ /* Callout: use brighter rest shade for readability on dark backgrounds */
60
+ --osdk-dark-callout-error-color: var(--osdk-intent-danger-rest);
61
+ --osdk-dark-callout-warning-color: var(--osdk-intent-warning-rest);
62
+ --osdk-dark-callout-success-color: var(--osdk-intent-success-rest);
63
+ --osdk-dark-callout-info-color: var(--osdk-intent-primary-rest);
58
64
  }
59
65
 
60
66
  [data-bp-color-scheme="dark"],
@@ -81,4 +87,8 @@
81
87
  var(--osdk-table-border-color);
82
88
  --osdk-table-row-bg-hover: var(--osdk-dark-table-row-bg-hover);
83
89
  --osdk-table-row-bg-active: var(--osdk-dark-table-row-bg-hover);
90
+ --osdk-callout-error-color: var(--osdk-dark-callout-error-color);
91
+ --osdk-callout-warning-color: var(--osdk-dark-callout-warning-color);
92
+ --osdk-callout-success-color: var(--osdk-dark-callout-success-color);
93
+ --osdk-callout-info-color: var(--osdk-dark-callout-info-color);
84
94
  }
@@ -0,0 +1,56 @@
1
+ :root {
2
+ /* Container */
3
+ --osdk-aip-agent-chat-background: var(--osdk-background-primary);
4
+ --osdk-aip-agent-chat-border-color: var(--osdk-surface-border-color-default);
5
+ --osdk-aip-agent-chat-border-radius: var(--osdk-surface-border-radius);
6
+
7
+ /* Spacing */
8
+ --osdk-aip-agent-chat-padding: calc(var(--osdk-surface-spacing) * 5);
9
+ --osdk-aip-agent-chat-message-gap: calc(var(--osdk-surface-spacing) * 5);
10
+ --osdk-aip-agent-chat-section-gap: calc(var(--osdk-surface-spacing) * 2.5);
11
+
12
+ /* Message bubble */
13
+ --osdk-aip-agent-chat-bubble-padding: calc(var(--osdk-surface-spacing) * 3);
14
+ --osdk-aip-agent-chat-bubble-border-radius: var(--osdk-surface-border-radius);
15
+ --osdk-aip-agent-chat-bubble-max-width: 80%;
16
+
17
+ --osdk-aip-agent-chat-user-bubble-background: var(--osdk-background-secondary);
18
+ --osdk-aip-agent-chat-user-bubble-color: var(
19
+ --osdk-typography-color-default-rest
20
+ );
21
+ --osdk-aip-agent-chat-user-bubble-border-radius: var(
22
+ --osdk-surface-border-radius
23
+ )
24
+ var(--osdk-surface-border-radius) 0 var(--osdk-surface-border-radius);
25
+
26
+ --osdk-aip-agent-chat-assistant-bubble-color: var(
27
+ --osdk-typography-color-default-rest
28
+ );
29
+
30
+ --osdk-aip-agent-chat-composer-border-radius: calc(
31
+ var(--osdk-surface-spacing) * 2.5
32
+ );
33
+
34
+ --osdk-aip-agent-chat-content-max-width: 780px;
35
+
36
+ /* Composer */
37
+ --osdk-aip-agent-chat-composer-background: var(
38
+ --osdk-surface-background-color-default-rest
39
+ );
40
+ --osdk-aip-agent-chat-composer-textarea-min-height: calc(
41
+ var(--osdk-surface-spacing) * 14
42
+ );
43
+ --osdk-aip-agent-chat-composer-textarea-max-height: 200px;
44
+
45
+ /* Empty state */
46
+ --osdk-aip-agent-chat-empty-color: var(--osdk-typography-color-muted);
47
+ --osdk-aip-agent-chat-empty-icon-color: var(--osdk-intent-primary-rest);
48
+ --osdk-aip-agent-chat-empty-icon-size: calc(var(--osdk-surface-spacing) * 12);
49
+
50
+ /* Loader (3-dot bouncing) */
51
+ --osdk-aip-agent-chat-loader-color: var(--osdk-typography-color-muted);
52
+ --osdk-aip-agent-chat-loader-dot-size: calc(
53
+ var(--osdk-surface-spacing) * 1.5
54
+ );
55
+ --osdk-aip-agent-chat-loader-dot-gap: calc(var(--osdk-surface-spacing) * 0.5);
56
+ }
@@ -0,0 +1,40 @@
1
+ :root {
2
+ /* Layout */
3
+ --osdk-callout-padding: calc(var(--osdk-surface-spacing) * 4);
4
+ --osdk-callout-gap: calc(var(--osdk-surface-spacing) * 2);
5
+ --osdk-callout-border-radius: var(--osdk-surface-border-radius);
6
+
7
+ /* Typography */
8
+ --osdk-callout-title-font-size: var(--osdk-typography-size-body-medium);
9
+ --osdk-callout-title-font-weight: var(--osdk-typography-weight-bold);
10
+ --osdk-callout-message-font-size: var(--osdk-typography-size-body-small);
11
+
12
+ /* Intent backgrounds: 10% tint of the intent rest color.
13
+ rgba() with semi-transparency naturally adapts to light/dark backgrounds. */
14
+ --osdk-callout-error-background: color-mix(
15
+ in srgb,
16
+ var(--osdk-intent-danger-rest) 10%,
17
+ transparent
18
+ );
19
+ --osdk-callout-warning-background: color-mix(
20
+ in srgb,
21
+ var(--osdk-intent-warning-rest) 10%,
22
+ transparent
23
+ );
24
+ --osdk-callout-success-background: color-mix(
25
+ in srgb,
26
+ var(--osdk-intent-success-rest) 10%,
27
+ transparent
28
+ );
29
+ --osdk-callout-info-background: color-mix(
30
+ in srgb,
31
+ var(--osdk-intent-primary-rest) 10%,
32
+ transparent
33
+ );
34
+
35
+ /* Intent text: darker hover shade for light mode */
36
+ --osdk-callout-error-color: var(--osdk-intent-danger-hover);
37
+ --osdk-callout-warning-color: var(--osdk-intent-warning-hover);
38
+ --osdk-callout-success-color: var(--osdk-intent-success-hover);
39
+ --osdk-callout-info-color: var(--osdk-intent-primary-hover);
40
+ }
@@ -3,6 +3,8 @@
3
3
  @import "./tokens/base-tokens/dark.css";
4
4
 
5
5
  /* Component tokens: component-specific tokens that reference base tokens */
6
+ @import "./tokens/component-tokens/aip-agent-chat.css";
7
+ @import "./tokens/component-tokens/callout.css";
6
8
  @import "./tokens/component-tokens/async-dropdown.css";
7
9
  @import "./tokens/component-tokens/button.css";
8
10
  @import "./tokens/component-tokens/cbac-picker.css";
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- const PACKAGE_USER_AGENT = `osdk-react-components/${"0.33.0"}`;
17
+ const PACKAGE_USER_AGENT = `osdk-react-components/${"0.34.0-main-d24cc61b1e7fde7722d8229ed2b6821f5ce1bf8a"}`;
18
18
  export function componentUserAgent(componentName) {
19
19
  return `${PACKAGE_USER_AGENT}/${componentName}`;
20
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UserAgent.js","names":["PACKAGE_USER_AGENT","componentUserAgent","componentName"],"sources":["UserAgent.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst PACKAGE_USER_AGENT =\n `osdk-react-components/${process.env.PACKAGE_VERSION}`;\n\nexport function componentUserAgent(componentName: string): string {\n return `${PACKAGE_USER_AGENT}/${componentName}`;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMA,kBAAkB,GACtB,mCAAsD;AAExD,OAAO,SAASC,kBAAkBA,CAACC,aAAqB,EAAU;EAChE,OAAO,GAAGF,kBAAkB,IAAIE,aAAa,EAAE;AACjD","ignoreList":[]}
1
+ {"version":3,"file":"UserAgent.js","names":["PACKAGE_USER_AGENT","componentUserAgent","componentName"],"sources":["UserAgent.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst PACKAGE_USER_AGENT =\n `osdk-react-components/${process.env.PACKAGE_VERSION}`;\n\nexport function componentUserAgent(componentName: string): string {\n return `${PACKAGE_USER_AGENT}/${componentName}`;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMA,kBAAkB,GACtB,iFAAsD;AAExD,OAAO,SAASC,kBAAkBA,CAACC,aAAqB,EAAU;EAChE,OAAO,GAAGF,kBAAkB,IAAIE,aAAa,EAAE;AACjD","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import * as React from "react";
2
+ import type { AipAgentChatProps } from "./AipAgentChatApi.js";
3
+ export type { AipAgentChatProps } from "./AipAgentChatApi.js";
4
+ /**
5
+ * OSDK-aware chat surface backed by Foundry's Language Model Service.
6
+ * Constructs the LMS-backed model internally and uses `useChat` to
7
+ * manage conversation state, so consumers never need to import `useChat`,
8
+ * `streamText`, or `foundryModel` themselves.
9
+ */
10
+ export declare function AipAgentChat({ client, model: controlledModel, defaultModel, availableModels, onModelChange, system, initialMessages, className, placeholder, enableAutoScroll, onError, onFinish, renderEmptyState, renderMessage }: AipAgentChatProps): React.ReactElement;
@@ -0,0 +1 @@
1
+ {"mappings":"AAkBA,YAAY,WAAW,OAAQ;AAC/B,cAAc,yBAAyB,sBAAuB;AAI9D,cAAc,yBAAyB;;;;;;;AAUvC,OAAO,iBAAS,aAAa,EAC3B,QACA,OAAO,iBACP,cACA,iBACA,eACA,QACA,iBACA,WACA,aACA,kBACA,SACA,UACA,kBACA,eACkB,EAAjB,oBAAoB,MAAM","names":[],"sources":["../../../src/aip-agent-chat/AipAgentChat.tsx"],"version":3,"file":"AipAgentChat.d.ts"}
@@ -0,0 +1,135 @@
1
+ import type { UIMessage } from "@osdk/aip-core";
2
+ import type { PlatformClient } from "@osdk/client";
3
+ import type * as React from "react";
4
+ /**
5
+ * Props for {@link AipAgentChat}, an OSDK-aware chat surface backed by
6
+ * Foundry's Language Model Service. Consumers do not need to import
7
+ * `streamText` or `foundryModel` themselves — passing the platform
8
+ * client is enough to render a working chat.
9
+ *
10
+ * If neither `model` nor `defaultModel` is supplied, the chat falls
11
+ * back to the first entry of `availableModels` (when provided), or to
12
+ * the LMS model API name `"gpt-4o"`.
13
+ *
14
+ * Default rendering is feature-complete with no overrides supplied;
15
+ * render slots and `on*` listeners are layered on top of the built-in
16
+ * behavior.
17
+ */
18
+ export interface AipAgentChatProps {
19
+ /**
20
+ * Foundry platform client returned by `createPlatformClient` from
21
+ * `@osdk/client`. Used internally to construct the LMS-backed model
22
+ * for `useChat`.
23
+ */
24
+ client: PlatformClient;
25
+ /**
26
+ * Active LMS model API name (for example `"gpt-4o"`). Resolved
27
+ * internally via `foundryModel({ client, model })`.
28
+ *
29
+ * Controlled mode: when provided, the consumer holds the model state.
30
+ * Updates from the picker fire {@link AipAgentChatProps.onModelChange};
31
+ * the consumer is expected to update this prop in response.
32
+ *
33
+ * Uncontrolled mode: omit and pass {@link AipAgentChatProps.defaultModel}
34
+ * instead. If both are omitted, the chat falls back to the first
35
+ * entry of {@link AipAgentChatProps.availableModels} (when provided),
36
+ * or to `"gpt-4o"`.
37
+ */
38
+ model?: string;
39
+ /**
40
+ * Initial LMS model API name for uncontrolled mode. The component
41
+ * manages model state internally, switching when the user picks a
42
+ * different option from the picker. Ignored when
43
+ * {@link AipAgentChatProps.model} is also provided (controlled mode
44
+ * wins).
45
+ *
46
+ * @default the first entry of {@link AipAgentChatProps.availableModels}
47
+ * when provided, otherwise `"gpt-4o"`.
48
+ */
49
+ defaultModel?: string;
50
+ /**
51
+ * When provided, the chat renders a model picker in the composer
52
+ * footer populated with these API names.
53
+ *
54
+ * If omitted, no picker is rendered.
55
+ */
56
+ availableModels?: ReadonlyArray<string>;
57
+ /**
58
+ * Fires when the user selects a different model API name from the
59
+ * picker.
60
+ *
61
+ * - **Controlled mode** (`model` is set): the consumer is expected to
62
+ * update {@link AipAgentChatProps.model} in response.
63
+ * - **Uncontrolled mode** (only `defaultModel` is set): a
64
+ * non-controlling listener; the picker still mutates internal state
65
+ * regardless. Use this for analytics or to persist the user's
66
+ * choice.
67
+ *
68
+ * Has no effect unless {@link AipAgentChatProps.availableModels} is
69
+ * provided.
70
+ *
71
+ * @param model The model API name the user just selected.
72
+ */
73
+ onModelChange?: (model: string) => void;
74
+ /**
75
+ * System prompt prepended to every request.
76
+ */
77
+ system?: string;
78
+ /**
79
+ * Seed messages — used as the initial conversation snapshot. Forwarded
80
+ * to `useChat`'s `messages` option.
81
+ */
82
+ initialMessages?: ReadonlyArray<UIMessage>;
83
+ /**
84
+ * Additional CSS class name applied to the root chat container.
85
+ */
86
+ className?: string;
87
+ /**
88
+ * Placeholder text for the message composer input.
89
+ *
90
+ * @default "Type a message..."
91
+ */
92
+ placeholder?: string;
93
+ /**
94
+ * Whether the message list automatically scrolls to the most recent
95
+ * message as the conversation grows.
96
+ *
97
+ * @default true
98
+ */
99
+ enableAutoScroll?: boolean;
100
+ /**
101
+ * Listener fired when the underlying chat hook surfaces an error
102
+ * (for example a failed send or a dropped stream). Forwarded to
103
+ * `useChat`'s `onError`.
104
+ *
105
+ * @param error The error reported by the chat backend.
106
+ */
107
+ onError?: (error: Error) => void;
108
+ /**
109
+ * Listener fired once after a stream completes successfully. Forwarded
110
+ * to `useChat`'s `onFinish`.
111
+ *
112
+ * @param event The completed assistant message and the resulting
113
+ * messages array.
114
+ */
115
+ onFinish?: (event: {
116
+ message: UIMessage
117
+ messages: ReadonlyArray<UIMessage>
118
+ }) => void;
119
+ /**
120
+ * Render override for the empty state shown when no messages exist
121
+ * yet. If omitted, a default welcome panel is rendered.
122
+ *
123
+ * @returns A React node rendered in place of the default empty state.
124
+ */
125
+ renderEmptyState?: () => React.ReactNode;
126
+ /**
127
+ * Render override for an individual message bubble. If omitted, the
128
+ * default user/assistant bubble layout is used.
129
+ *
130
+ * @param message The {@link UIMessage} to render.
131
+ * @returns A React node rendered in place of the default message
132
+ * bubble.
133
+ */
134
+ renderMessage?: (message: UIMessage) => React.ReactNode;
135
+ }
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,cAAc,iBAAiB,gBAAiB;AAChD,cAAc,sBAAsB,cAAe;AACnD,iBAAiB,WAAW,OAAQ;;;;;;;;;;;;;;;AAuBpC,iBAAiB,kBAAkB;;;;;;CAMjC,QAAQ;;;;;;;;;;;;;;CAeR;;;;;;;;;;;CAYA;;;;;;;CAQA,kBAAkB;;;;;;;;;;;;;;;;;CAkBlB,iBAAiBA;;;;CAKjB;;;;;CAMA,kBAAkB,cAAc;;;;CAKhC;;;;;;CAOA;;;;;;;CAQA;;;;;;;;CASA,WAAWC,OAAO;;;;;;;;CASlB,YAAYC,OAAO;EACjB,SAAS;EACT,UAAU,cAAc;CACzB;;;;;;;CAQD,yBAAyB,MAAM;;;;;;;;;CAU/B,iBAAiBC,SAAS,cAAc,MAAM;AAC/C","names":["model: string","error: Error","event: {\n message: UIMessage;\n messages: ReadonlyArray<UIMessage>;\n }","message: UIMessage"],"sources":["../../../src/aip-agent-chat/AipAgentChatApi.ts"],"version":3,"file":"AipAgentChatApi.d.ts"}
@@ -0,0 +1,55 @@
1
+ import type { UIMessage } from "@osdk/aip-core";
2
+ import type { ChatStatus } from "@osdk/react/experimental/aip";
3
+ import * as React from "react";
4
+ export interface BaseAipAgentChatProps {
5
+ /**
6
+ * Current messages in the conversation.
7
+ */
8
+ messages: ReadonlyArray<UIMessage>;
9
+ /**
10
+ * Current status of the chat lifecycle.
11
+ */
12
+ status: ChatStatus;
13
+ /**
14
+ * Current error, if any.
15
+ */
16
+ error: Error | undefined;
17
+ /**
18
+ * Called when the user sends a message. Should return a promise that
19
+ * resolves when the message has been sent.
20
+ *
21
+ * @param text The text the user just submitted (already trimmed).
22
+ */
23
+ onSendMessage: (text: string) => Promise<void>;
24
+ /**
25
+ * Called to stop an in-flight request.
26
+ */
27
+ onStop: () => void;
28
+ /**
29
+ * Called to clear the current error.
30
+ */
31
+ onClearError: () => void;
32
+ /**
33
+ * Optional content rendered in the composer footer, to the left of
34
+ * the send button. The OSDK wrapper uses this slot for the model
35
+ * picker.
36
+ */
37
+ composerFooter?: React.ReactNode;
38
+ className?: string;
39
+ /**
40
+ * @default "Type a message..."
41
+ */
42
+ placeholder?: string;
43
+ /**
44
+ * @default true
45
+ */
46
+ enableAutoScroll?: boolean;
47
+ renderEmptyState?: () => React.ReactNode;
48
+ renderMessage?: (message: UIMessage) => React.ReactNode;
49
+ }
50
+ /**
51
+ * OSDK-agnostic chat surface. Manages conversation state, streaming UI,
52
+ * and error display internally; the consumer provides the current state
53
+ * and callbacks for sending messages and managing state.
54
+ */
55
+ export declare const BaseAipAgentChat: React.NamedExoticComponent<BaseAipAgentChatProps>;
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,cAAc,iBAAiB,gBAAiB;AAChD,cAAc,kBAAkB,8BAA+B;AAE/D,YAAY,WAAW,OAAQ;AAO/B,iBAAiB,sBAAsB;;;;CAIrC,UAAU,cAAc;;;;CAKxB,QAAQ;;;;CAKR,OAAO;;;;;;;CAQP,gBAAgBA,iBAAiB;;;;CAKjC;;;;CAKA;;;;;;CAOA,iBAAiB,MAAM;CAEvB;;;;CAKA;;;;CAKA;CAEA,yBAAyB,MAAM;CAC/B,iBAAiBC,SAAS,cAAc,MAAM;AAC/C;;;;;;AAOD,OAAO,cAAMC,kBAAkB,MAAM,qBACnC","names":["text: string","message: UIMessage","BaseAipAgentChat: React.NamedExoticComponent<\n BaseAipAgentChatProps\n>"],"sources":["../../../src/aip-agent-chat/BaseAipAgentChat.tsx"],"version":3,"file":"BaseAipAgentChat.d.ts"}
@@ -0,0 +1,19 @@
1
+ import * as React from "react";
2
+ export interface AipAgentChatComposerProps {
3
+ isInFlight: boolean;
4
+ onSendMessage: (text: string) => void;
5
+ onStop?: () => void;
6
+ placeholder?: string;
7
+ className?: string;
8
+ /**
9
+ * Optional content rendered to the left of the send button (e.g. the
10
+ * model picker passed in by the OSDK wrapper).
11
+ */
12
+ footerLeft?: React.ReactNode;
13
+ }
14
+ /**
15
+ * Textarea + send/stop button. Enter sends; Shift+Enter inserts a newline.
16
+ * The button toggles to "Stop" while a stream is in flight (when an
17
+ * `onStop` callback is provided).
18
+ */
19
+ export declare function AipAgentChatComposer({ isInFlight, onSendMessage, onStop, placeholder, className, footerLeft }: AipAgentChatComposerProps): React.ReactElement;
@@ -0,0 +1 @@
1
+ {"mappings":"AAkBA,YAAY,WAAW,OAAQ;AAI/B,iBAAiB,0BAA0B;CACzC;CACA,gBAAgBA;CAChB;CACA;CACA;;;;;CAKA,aAAa,MAAM;AACpB;;;;;;AAOD,OAAO,iBAAS,qBAAqB,EACnC,YACA,eACA,QACA,aACA,WACA,YAC0B,EAAzB,4BAA4B,MAAM","names":["text: string"],"sources":["../../../../src/aip-agent-chat/components/AipAgentChatComposer.tsx"],"version":3,"file":"AipAgentChatComposer.d.ts"}
@@ -0,0 +1,9 @@
1
+ import * as React from "react";
2
+ export interface AipAgentChatLoaderProps {
3
+ className?: string;
4
+ label?: string;
5
+ }
6
+ /**
7
+ * Three-dot bouncing animation rendered while the agent is responding.
8
+ */
9
+ export declare function AipAgentChatLoader({ className, label }: AipAgentChatLoaderProps): React.ReactElement;
@@ -0,0 +1 @@
1
+ {"mappings":"AAiBA,YAAY,WAAW,OAAQ;AAG/B,iBAAiB,wBAAwB;CACvC;CACA;AACD;;;;AAKD,OAAO,iBAAS,mBACd,EAAE,WAAW,OAA4D,EAAvB,0BACjD,MAAM","names":[],"sources":["../../../../src/aip-agent-chat/components/AipAgentChatLoader.tsx"],"version":3,"file":"AipAgentChatLoader.d.ts"}
@@ -0,0 +1,12 @@
1
+ import { type UIMessage } from "@osdk/aip-core";
2
+ import * as React from "react";
3
+ export interface AipAgentChatMessageProps {
4
+ message: UIMessage;
5
+ }
6
+ /**
7
+ * Default rendering for a single chat message bubble. User messages are
8
+ * right-aligned with a primary background; assistant messages are
9
+ * left-aligned with a secondary background; system messages render
10
+ * centered in muted style.
11
+ */
12
+ export declare function AipAgentChatMessage({ message }: AipAgentChatMessageProps): React.ReactElement;
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,cAAgC,iBAAiB,gBAAiB;AAElE,YAAY,WAAW,OAAQ;AAG/B,iBAAiB,yBAAyB;CACxC,SAAS;AACV;;;;;;;AAQD,OAAO,iBAAS,oBACd,EAAE,SAAmC,EAAxB,2BACZ,MAAM","names":[],"sources":["../../../../src/aip-agent-chat/components/AipAgentChatMessage.tsx"],"version":3,"file":"AipAgentChatMessage.d.ts"}
@@ -0,0 +1,11 @@
1
+ import { type UIMessage } from "@osdk/aip-core";
2
+ import * as React from "react";
3
+ export interface AipAgentChatMessageListProps {
4
+ messages: ReadonlyArray<UIMessage>;
5
+ isStreaming: boolean;
6
+ enableAutoScroll: boolean;
7
+ className?: string;
8
+ renderEmptyState?: () => React.ReactNode;
9
+ renderMessage?: (message: UIMessage) => React.ReactNode;
10
+ }
11
+ export declare function AipAgentChatMessageList({ messages, isStreaming, enableAutoScroll, className, renderEmptyState, renderMessage }: AipAgentChatMessageListProps): React.ReactElement;
@@ -0,0 +1 @@
1
+ {"mappings":"AAiBA,cAAgC,iBAAiB,gBAAiB;AAElE,YAAY,WAAW,OAAQ;AAM/B,iBAAiB,6BAA6B;CAC5C,UAAU,cAAc;CACxB;CACA;CACA;CACA,yBAAyB,MAAM;CAC/B,iBAAiBA,SAAS,cAAc,MAAM;AAC/C;AAUD,OAAO,iBAAS,wBAAwB,EACtC,UACA,aACA,kBACA,WACA,kBACA,eAC6B,EAA5B,+BAA+B,MAAM","names":["message: UIMessage"],"sources":["../../../../src/aip-agent-chat/components/AipAgentChatMessageList.tsx"],"version":3,"file":"AipAgentChatMessageList.d.ts"}
@@ -0,0 +1,16 @@
1
+ import * as React from "react";
2
+ export interface AipAgentChatModelPickerProps {
3
+ models: ReadonlyArray<string>;
4
+ activeModel: string;
5
+ onModelChange: (model: string) => void;
6
+ disabled?: boolean;
7
+ className?: string;
8
+ }
9
+ /**
10
+ * Native-select model picker rendered in the composer footer when the
11
+ * OSDK wrapper is given an `availableModels` list. Operates on Foundry
12
+ * LMS model API names. Renders a read-only label when exactly one model
13
+ * is available so the active model stays visible without offering a
14
+ * dropdown the user can't act on; renders nothing when the list is empty.
15
+ */
16
+ export declare function AipAgentChatModelPicker({ models, activeModel, onModelChange, disabled, className }: AipAgentChatModelPickerProps): React.ReactElement | null;
@@ -0,0 +1 @@
1
+ {"mappings":"AAiBA,YAAY,WAAW,OAAQ;AAG/B,iBAAiB,6BAA6B;CAC5C,QAAQ;CACR;CACA,gBAAgBA;CAChB;CACA;AACD;;;;;;;;AASD,OAAO,iBAAS,wBAAwB,EACtC,QACA,aACA,eACA,UACA,WAC6B,EAA5B,+BAA+B,MAAM","names":["model: string"],"sources":["../../../../src/aip-agent-chat/components/AipAgentChatModelPicker.tsx"],"version":3,"file":"AipAgentChatModelPicker.d.ts"}
@@ -0,0 +1,11 @@
1
+ import * as React from "react";
2
+ /**
3
+ * Keeps a scrollable container pinned to its bottom whenever `signal` changes
4
+ * (typically a string encoding the messages array length and streaming token
5
+ * count).
6
+ *
7
+ * Disengages temporarily once the user scrolls up — pinning resumes when the
8
+ * user scrolls back near the bottom. Returns a callback ref to attach to the
9
+ * scrollable element; the listener follows the element across re-mounts.
10
+ */
11
+ export declare function useChatAutoScroll<T extends HTMLElement>(signal: string, enabled: boolean): React.RefCallback<T>;
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,YAAY,WAAW,OAAQ;;;;;;;;;;AAW/B,OAAO,iBAAS,kBAAkB,UAAU,aAC1CA,gBACAC,mBACC,MAAM,YAAY","names":["signal: string","enabled: boolean"],"sources":["../../../../src/aip-agent-chat/hooks/useChatAutoScroll.ts"],"version":3,"file":"useChatAutoScroll.d.ts"}
@@ -0,0 +1,33 @@
1
+ import * as React from "react";
2
+ export type CalloutIntent = "error" | "warning" | "success" | "info";
3
+ export interface CalloutProps {
4
+ /**
5
+ * Visual intent that determines background, border, and text color.
6
+ */
7
+ intent: CalloutIntent;
8
+ /**
9
+ * Optional bold heading displayed above the message content.
10
+ */
11
+ title?: string;
12
+ /**
13
+ * Message content rendered inside the callout body.
14
+ */
15
+ children?: React.ReactNode;
16
+ /**
17
+ * Optional slot for action buttons (e.g. dismiss, retry) rendered
18
+ * on the trailing edge.
19
+ */
20
+ actions?: React.ReactNode;
21
+ /**
22
+ * Override the default intent icon.
23
+ */
24
+ icon?: React.ComponentType<{
25
+ size?: number
26
+ }>;
27
+ className?: string;
28
+ }
29
+ /**
30
+ * A styled alert banner supporting four intent levels with an icon,
31
+ * title, message body, and action slot.
32
+ */
33
+ export declare const Callout: React.NamedExoticComponent<CalloutProps>;
@@ -0,0 +1 @@
1
+ {"mappings":"AAuBA,YAAY,WAAW,OAAQ;AAG/B,YAAY,gBAAgB,UAAU,YAAY,YAAY;AAE9D,iBAAiB,aAAa;;;;CAI5B,QAAQ;;;;CAKR;;;;CAKA,WAAW,MAAM;;;;;CAMjB,UAAU,MAAM;;;;CAKhB,OAAO,MAAM,cAAc;EAAE;CAAe;CAE5C;AACD;;;;;AAuBD,OAAO,cAAMA,SAAS,MAAM,qBAAqB","names":["Callout: React.NamedExoticComponent<CalloutProps>"],"sources":["../../../../src/base-components/callout/Callout.tsx"],"version":3,"file":"Callout.d.ts"}
@@ -0,0 +1,7 @@
1
+ export { AipAgentChat } from "../../aip-agent-chat/AipAgentChat.js";
2
+ export type { AipAgentChatProps } from "../../aip-agent-chat/AipAgentChatApi.js";
3
+ export { BaseAipAgentChat } from "../../aip-agent-chat/BaseAipAgentChat.js";
4
+ export type { BaseAipAgentChatProps } from "../../aip-agent-chat/BaseAipAgentChat.js";
5
+ export type { UIMessage, UIMessageRole } from "@osdk/aip-core";
6
+ export { getUIMessageText } from "@osdk/aip-core";
7
+ export type { ChatStatus } from "@osdk/react/experimental/aip";
@@ -0,0 +1 @@
1
+ {"mappings":"AAkBA,SAAS,oBAAoB;AAE7B,cAAc,yBAAyB;AAEvC,SAAS,wBAAwB;AACjC,cAAc,6BAA6B;AAE3C,cAAc,WAAW,qBAAqB;AAC9C,SAAS,wBAAwB;AAEjC,cAAc,kBAAkB","names":[],"sources":["../../../../src/public/experimental/aip-agent-chat.ts"],"version":3,"file":"aip-agent-chat.d.ts"}