@arcgis/ai-components 5.1.0-next.39 → 5.1.0-next.40

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.
@@ -1 +1 @@
1
- {"timestamp":"2026-03-11T04:40:11","compiler":{"name":"@arcgis/lumina-compiler","version":"5.1.0-next.39","typescriptVersion":"5.9.3"},"schemaVersion":"2.1.0","modules":[{"kind":"javascript-module","path":"index","sourcePath":"src/index.ts","declarations":[{"kind":"function","name":"getAssetPath","description":"Get a resolved path from where an asset can be loaded.","parameters":[{"name":"suffix","description":"The relative path for the asset.","type":{"text":"string"}}],"return":{"type":{"text":"string"}}},{"kind":"function","name":"setAssetPath","description":"Used to manually set the base path where package assets (like localization\nand icons) can be found.\n\nBy default, the package assets are loaded from\n`https://js.arcgis.com/<version>/<simplified-package-name>/`. We are hosting\nour assets on a CDN (Content Delivery Network) to ensure fast and reliable\naccess. It is CORS-enabled, so you can load the assets from any domain. This\nis the recommended way to load the assets and avoid bundling them with your\napplication.\n\nHowever, if you need to host the assets locally, you can copy them manually\nas part of your build process and use `setAssetPath` to customize where the\nbrowser will load the assets from.","parameters":[{"name":"path","description":"Relative or absolute path to the assets folder.","type":{"text":"URL | string","references":[{"name":"URL","package":"global:","viewUrl":"https://developer.mozilla.org/docs/Web/API/URL","start":0,"end":3}]}}],"return":{"type":{"text":"void"}}}]},{"kind":"javascript-module","path":"components/arcgis-assistant","sourcePath":"src/components/assistant/assistant.tsx","declarations":[{"kind":"class","name":"ArcgisAssistant","customElement":true,"tagName":"arcgis-assistant","pascalCaseName":"ArcgisAssistant","description":"The ArcGIS Assistant component provides a chat-based natural language interface for interacting with\nweb map data via agents. This component uses an orchestrator, which relies on a large language model (LLM)\nfor determining user intent. Once the intent is determined, the assistant routes the user's request\nto an agent that uses an LLM to generate text and structured responses.\n\nBy default, the `arcgis-assistant` component does not include any agents. You must register at least one\nagent for the assistant to function. You can register agents declaratively using any of the\navailable agent components, or you can register custom agents.\n\n## Register agents\n\nTo register agents declaratively, include one or more agent components as children\nof the `arcgis-assistant` component. This can be done in HTML or programmatically using JavaScript.\n\n```html\n<arcgis-map id=\"my-map\"></arcgis-map>\n<arcgis-assistant reference-element=\"#my-map\">\n <arcgis-assistant-navigation-agent></arcgis-assistant-navigation-agent>\n <arcgis-assistant-data-exploration-agent></arcgis-assistant-data-exploration-agent>\n <arcgis-assistant-help-agent></arcgis-assistant-help-agent>\n</arcgis-assistant>\n```\n\n```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nconst navigationAgent = document.createElement(\"arcgis-assistant-navigation-agent\");\nconst dataExplorationAgent = document.createElement(\"arcgis-assistant-data-exploration-agent\");\nassistant.appendChild(navigationAgent);\nassistant.appendChild(dataExplorationAgent);\n```\n\nNote that the `reference-element` property on the `arcgis-assistant` component must point to a valid `arcgis-map` element\nfor the included ArcGIS agents to function properly, as they rely on the map context to perform their tasks. This is not\na requirement for [custom agents](https://developers.arcgis.com/javascript/latest/agentic-apps/ai-custom-agents/).\n\n## Context\n\nUse the [referenceElement](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/#referenceElement) property to provide a web map as context to the assistant and its agents.\nThis should be a reference to the map that the assistant will interact with, and is required for the included ArcGIS\nagents to function properly.\n\nTo learn more about this component, try out the [demo](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/#demos)\n\n## Important considerations and best practices\n\nDue to the non-deterministic nature of generative AI, there may be inaccuracies or unexpected behavior when using the\nout-of-the-box agents. Therefore, it is important to set clear expectations\nfor end users and provide guidance on how to interact with the assistant to help mitigate these issues. Some ways to do this include:\n\n- Provide [suggestedPrompts](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/#suggestedPrompts). This helps users understand the bounds of the assistant\nand gives them an idea of how to phrase questions to get the best results.\n- Use the [entryMessage](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/#entryMessage) property to provide an entry message with instructions and guidance.","docsTags":[{"name":"since","text":"5.0"},{"name":"beta"},{"name":"see","text":"[Intro to building agentic mapping applications](https://developers.arcgis.com/javascript/latest/agentic-apps/ai-introduction/)"},{"name":"see","text":"[AI Assistant component sample](https://developers.arcgis.com/javascript/latest/sample-code/ai-assistant/)"},{"name":"see","text":"[arcgis-assistant-data-exploration-agent](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant-data-exploration-agent/)"},{"name":"see","text":"[arcgis-assistant-navigation-agent](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant-navigation-agent/)"},{"name":"see","text":"[arcgis-assistant-help-agent](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant-help-agent/)"}],"demos":[{"description":"Docs","url":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/"},{"description":"Assistant Intro\nIntroduction to the Assistant component.","url":"https://developers.arcgis.com/javascript/latest/storybook/ai-components/?path=/story/arcgis-assistant--demo&singleStory=true"}],"superclass":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"members":[{"kind":"field","name":"copyEnabled","description":"When `true`, enables the copy action that, when clicked, copies the content of the message to the clipboard. This can be helpful for users to easily copy and share\ninformation provided by the assistant, such as a summary of findings, a set of instructions, or any other relevant details. Enabling this property can enhance the user experience by providing a convenient way for users to capture and utilize the information generated by the assistant.","docsTags":[{"name":"example","text":"```html\n<arcgis-assistant copy-enabled></arcgis-assistant>\n```"},{"name":"example","text":"```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nassistant.copyEnabled = true;\n```"}],"type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","attribute":"copy-enabled"},{"kind":"field","name":"description","description":"The description text displayed below the heading in the assistant. This text provides additional\ncontext about the assistant's capabilities and how users can interact with it.","docsTags":[{"name":"example","text":"```html\n<arcgis-assistant description=\"Explore parcel data ownership, zoning designations, and other relevant information.\"></arcgis-assistant>\n```"},{"name":"example","text":"```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nassistant.description = \"Explore parcel data ownership, zoning designations, and other relevant information.\";\n```"}],"type":{"text":"string | undefined","values":[{"type":"string"}]},"attribute":"description"},{"kind":"field","name":"entryMessage","description":"The instructions to display when the assistant is first loaded. This is intended to be a welcome or entry message that\nprovides guidance to users on how to interact with the assistant. Once the user submits their first message,\nthe entry message will be closed and replaced with the chat interface. You can use this property to provide\ninstructions, suggest prompts, or simply welcome users to the assistant.","docsTags":[{"name":"example","text":"```html\n<arcgis-assistant entry-message=\"I can answer questions about parcel ownership, zoning, and other relevant information.\"></arcgis-assistant>\n```"},{"name":"example","text":"```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nassistant.entryMessage = \"I can answer questions about parcel ownership, zoning, and other relevant information.\";\n```"}],"type":{"text":"string | undefined","values":[{"type":"string"}]},"attribute":"entry-message"},{"kind":"field","name":"feedbackEnabled","description":"When `true`, enables the feedback action in the chat interface, allowing developers to capture user feedback on the assistant's responses.\nThe action simply provides a thumbs up and thumbs down experience for users to indicate whether a response was helpful or not. When the\nuser submits feedback, the [@arcgisFeedback](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/#event-arcgisFeedback) event is emitted allowing the app developer to capture additional feedback\nthrough a custom interface and log it to a database or service for later analysis.","docsTags":[{"name":"example","text":"```html\n<arcgis-assistant feedback-enabled></arcgis-assistant>\n```"},{"name":"example","text":"```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nassistant.feedbackEnabled = true;\nassistant.addEventListener(\"arcgisFeedback\", (event) => {\n const feedback = event.detail;\n // Capture additional feedback from the user and log it to a database or service for later analysis\n});\n```"}],"type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","attribute":"feedback-enabled"},{"kind":"field","name":"heading","description":"The heading text displayed at the top of the assistant. This name should be concise and\ndescriptive of the assistant's purpose.\n\nFor applications where the primary interface is the assistant, this heading could also be used as the\napplication title. In cases where the assistant could be collapsed or is a secondary interface to a standard\nGUI, the heading should be more specific to the assistant's function to avoid confusion with the overall\napplication title.","docsTags":[{"name":"example","text":"```html\n<arcgis-assistant heading=\"Parcel Viewer\"></arcgis-assistant>\n```"},{"name":"example","text":"```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nassistant.heading = \"Zoning Assistant\";\n```"}],"type":{"text":"string | undefined","values":[{"type":"string"}]},"attribute":"heading"},{"kind":"field","name":"keepSuggestedPrompts","description":"When `true`, keeps suggested prompts displayed in the UI after the user submits a message. By default, suggested prompts are cleared,\nwhen the user submits a message.","docsTags":[{"name":"example","text":"```html\n<arcgis-assistant keep-suggested-prompts></arcgis-assistant>\n```"},{"name":"example","text":"```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nassistant.keepSuggestedPrompts = true;\n```"}],"type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","attribute":"keep-suggested-prompts"},{"kind":"field","name":"logEnabled","description":"When `true`, enables the log action that when clicked displays log messages in the chat interface. Log messages provide detailed messages including\nwhich agents or tools were invoked, the parameters generated by the LLM, and any relevant details about how the assistant arrived at its response.\nEnabling logs can be helpful for developers for debugging during the development of an assistant or agentic web application.\nIt may also be useful to end users for transparency purposes, allowing them to understand the assistant's behavior and decision-making process.\n\nEnabling this property for a production app depends on the role of the audience. More technical audiences may benefit from having access to these\nlogs while non-technical audiences may find them overwhelming or confusing.","docsTags":[{"name":"example","text":"```html\n<arcgis-assistant log-enabled></arcgis-assistant>\n```"},{"name":"example","text":"```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nassistant.logEnabled = true;\n```"}],"type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","attribute":"log-enabled"},{"kind":"field","name":"messages","description":"The collection of messages exchanged between the user and the assistant. Each message includes the role\n(user or assistant), along with any relevant logs or errors. These messages are rendered in the chat interface\nand are used to provide context for the conversation. When a user submits a message, it is added to this\ncollection with the role of \"user\". When the assistant generates a response, it is added to this collection\nwith the role of \"assistant\", along with any logs or errors that occurred during processing.","type":{"text":"Collection<ChatMessage>","references":[{"name":"default","module":"core/Collection.js","package":"@arcgis/core","viewUrl":"https://developers.arcgis.com/javascript/latest/references/core/core/Collection/","start":0,"end":10},{"name":"ChatMessage","module":"components/arcgis-assistant/types","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/types#ChatMessage","start":11,"end":22}]}},{"kind":"field","name":"referenceElement","description":"The reference element to the map that provides context for the assistant and its agents. Currently,\nthis is only scoped to `arcgis-map` elements. This is required when ArcGIS agents are registered to the assistant.\nFor example, this allows the navigation agent to execute a map navigation tool for a specific map.","docsTags":[{"name":"example","text":"```html\n<arcgis-map id=\"my-map\"></arcgis-map>\n<arcgis-assistant reference-element=\"my-map\"></arcgis-assistant>\n```"}],"type":{"text":"ArcgisMap | string | null","references":[{"name":"ArcgisMap","module":"components/arcgis-map","package":"@arcgis/map-components","start":0,"end":9}],"values":[{"type":"string"},{"type":"object"}]},"attribute":"reference-element"},{"kind":"field","name":"suggestedPrompts","description":"Prompts to suggest to the end user on load. These are intended to help users understand which questions they can ask.\nThis property should be set to establish boundaries for the end user. As all agents have limitations and LLMs can\nbe unpredictable, it's important to set clear expectations for users to give them a better chance to succeed.\nBy providing suggested prompts, you can guide users towards asking questions that are relevant to the data being\nused and the capabilities of the registered agents, which can help to ensure that the assistant provides accurate\nand helpful responses.\n\nYou should typically provide 2-3 suggested prompts.","docsTags":[{"name":"since","text":"5.0"},{"name":"example","text":"```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nassistant.suggestedPrompts = [\n \"What city has the highest population?\",\n \"What is the highest point in this area?\"\n];\n```"}],"type":{"text":"string[]"}},{"kind":"method","name":"clearChatHistory","description":"Clears the chat history between the user and the assistant. This method can be used to programmatically reset the conversation,\nremoving all messages from the chat interface.","docsTags":[{"name":"since","text":"5.0"},{"name":"example","text":"```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nassistant.clearChatHistory();\n```"}],"return":{"type":{"text":"Promise<void>","references":[{"name":"Promise","package":"global:","viewUrl":"https://next.gha.afd.arcgis.com/javascript/latest/programming-patterns/","start":0,"end":7}]}},"signature":"(): Promise<void>"},{"kind":"method","name":"componentOnReady","description":"Creates a promise that resolves once the component is fully loaded.","docsTags":[{"name":"example","text":"```js\nconst arcgisAssistant = document.querySelector(\"arcgis-assistant\");\ndocument.body.append(arcgisAssistant);\nawait arcgisAssistant.componentOnReady();\nconsole.log(\"arcgis-assistant is ready to go!\");\n```"}],"return":{"type":{"text":"Promise<this>","references":[{"name":"Promise","module":"lib/lib.es5.d.ts","package":"typescript","start":0,"end":7}]}},"inheritedFrom":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"signature":"(): Promise<this>"},{"kind":"method","name":"submitMessage","description":"Programmatically submits a message to the assistant. This method can be used to submit messages from outside the component,\nsuch as from another component or from custom JavaScript code. When a message is submitted using this method, it is added\nto the messages collection with the role of \"user\", and then processed by the assistant in the same way as if it were submitted\nthrough the chat interface. This allows for greater flexibility in how messages are sent to the assistant and can enable more\ncomplex interactions and integrations with other components or services.","docsTags":[{"name":"example","text":"```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nassistant.submitMessage(\"What is the population of New York City?\");\n```"}],"parameters":[{"name":"message","description":"The message to submit to the assistant. This should be a string containing the user's input or question they want to ask the assistant.","type":{"text":"string"}}],"return":{"type":{"text":"Promise<void>","references":[{"name":"Promise","package":"global:","viewUrl":"https://next.gha.afd.arcgis.com/javascript/latest/programming-patterns/","start":0,"end":7}]}},"signature":"(message: string): Promise<void>"}],"attributes":[{"name":"copy-enabled","description":"When `true`, enables the copy action that, when clicked, copies the content of the message to the clipboard. This can be helpful for users to easily copy and share\ninformation provided by the assistant, such as a summary of findings, a set of instructions, or any other relevant details. Enabling this property can enhance the user experience by providing a convenient way for users to capture and utilize the information generated by the assistant.","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","fieldName":"copyEnabled"},{"name":"description","description":"The description text displayed below the heading in the assistant. This text provides additional\ncontext about the assistant's capabilities and how users can interact with it.","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"description"},{"name":"entry-message","description":"The instructions to display when the assistant is first loaded. This is intended to be a welcome or entry message that\nprovides guidance to users on how to interact with the assistant. Once the user submits their first message,\nthe entry message will be closed and replaced with the chat interface. You can use this property to provide\ninstructions, suggest prompts, or simply welcome users to the assistant.","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"entryMessage"},{"name":"feedback-enabled","description":"When `true`, enables the feedback action in the chat interface, allowing developers to capture user feedback on the assistant's responses.\nThe action simply provides a thumbs up and thumbs down experience for users to indicate whether a response was helpful or not. When the\nuser submits feedback, the [@arcgisFeedback](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/#event-arcgisFeedback) event is emitted allowing the app developer to capture additional feedback\nthrough a custom interface and log it to a database or service for later analysis.","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","fieldName":"feedbackEnabled"},{"name":"heading","description":"The heading text displayed at the top of the assistant. This name should be concise and\ndescriptive of the assistant's purpose.\n\nFor applications where the primary interface is the assistant, this heading could also be used as the\napplication title. In cases where the assistant could be collapsed or is a secondary interface to a standard\nGUI, the heading should be more specific to the assistant's function to avoid confusion with the overall\napplication title.","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"heading"},{"name":"keep-suggested-prompts","description":"When `true`, keeps suggested prompts displayed in the UI after the user submits a message. By default, suggested prompts are cleared,\nwhen the user submits a message.","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","fieldName":"keepSuggestedPrompts"},{"name":"log-enabled","description":"When `true`, enables the log action that when clicked displays log messages in the chat interface. Log messages provide detailed messages including\nwhich agents or tools were invoked, the parameters generated by the LLM, and any relevant details about how the assistant arrived at its response.\nEnabling logs can be helpful for developers for debugging during the development of an assistant or agentic web application.\nIt may also be useful to end users for transparency purposes, allowing them to understand the assistant's behavior and decision-making process.\n\nEnabling this property for a production app depends on the role of the audience. More technical audiences may benefit from having access to these\nlogs while non-technical audiences may find them overwhelming or confusing.","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","fieldName":"logEnabled"},{"name":"reference-element","description":"The reference element to the map that provides context for the assistant and its agents. Currently,\nthis is only scoped to `arcgis-map` elements. This is required when ArcGIS agents are registered to the assistant.\nFor example, this allows the navigation agent to execute a map navigation tool for a specific map.","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"referenceElement"}],"events":[{"name":"arcgisCancel","description":"Emitted when the user cancels a message. This is typically invoked when a user submits a question while a previous question is still being processed.\nThis allows app developers to capture messages cancelled by the user and respond to them in custom ways, such as by providing additional information,\ntriggering other actions in the app, or logging them for analysis.","docsTags":[{"name":"example","text":"```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nassistant.addEventListener(\"arcgisCancel\", (event) => {\n // Handle the cancelled message\n});\n```"}],"type":{"text":"void"}},{"name":"arcgisError","description":"Emitted when the assistant encounters an error. The event detail includes an Error object with information about the error that occurred.\nThis allows app developers to capture errors that occur within the assistant and respond to them in custom ways, such as by displaying an\nerror message to the user, logging the error for analysis, or triggering other actions in the app.","docsTags":[{"name":"example","text":"```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nassistant.addEventListener(\"arcgisError\", (event) => {\n const error = event.detail;\n // Handle the error, such as by displaying an error message to the user or logging it for analysis\n});\n```"}],"type":{"text":"Error","references":[{"name":"Error","package":"global:","viewUrl":"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Error","start":0,"end":5}]}},{"name":"arcgisFeedback","description":"Emitted when the user clicks the thumbs up or thumbs down feedback action that is displayed when [feedbackEnabled](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/#feedbackEnabled) is `true`.\nThe event detail includes an AssistantMessage object that includes a feedback property with an object indicating whether the feedback is positive or negative.\nThis allows the application to capture user feedback on the assistant's responses and respond to it in custom ways, such as by providing additional\ninformation, adjusting the assistant's behavior, logging the feedback for analysis, or triggering other actions in the app.","docsTags":[{"name":"example","text":"```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nassistant.addEventListener(\"arcgisFeedback\", (event) => {\n const feedback = event.detail;\n // Handle the feedback, such as by providing additional information, adjusting the assistant's behavior, or logging it for analysis\n});\n```"}],"type":{"text":"AssistantMessage","references":[{"name":"AssistantMessage","module":"components/arcgis-assistant/types","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/types#AssistantMessage","start":0,"end":16}]}},{"name":"arcgisInterrupt","description":"Emitted when an agent triggers an interrupt. An interrupt is a human-in-the-loop mechanism that provides a UI component prompting\nthe user for additional information.","docsTags":[{"name":"example","text":"```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nassistant.addEventListener(\"arcgisInterrupt\", (event) => {\n const interrupt = event.detail;\n // Handle the interrupt\n});\n```"}],"type":{"text":"Interrupt","references":[{"name":"Interrupt","module":"components/arcgis-assistant/types","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/types#Interrupt","start":0,"end":9}]}},{"name":"arcgisInterruptCancel","description":"Emitted when the user cancels an interrupt. This is typically invoked when a user clicks the cancel button displayed in an interrupt message","docsTags":[{"name":"example","text":"```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nassistant.addEventListener(\"arcgisInterruptCancel\", (event) => {\n // Handle the interrupt cancellation such as logging it for analysis\n});\n```"}],"type":{"text":"void"}},{"name":"arcgisInterruptSubmit","description":"Emitted when the user submits a message during an interrupt. For example, this will be invoked if the user clicks the submit button\nin an interrupt message asking for confirmation, or when the user submits additional text or selects an option provided in an interrupt.","docsTags":[{"name":"example","text":"```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nassistant.addEventListener(\"arcgisInterruptSubmit\", (event) => {\n const message = event.detail; // The message or option selected by the user for the interrupt\n // Do something with the interrupt submission\n});\n```"}],"type":{"text":"string[] | boolean | string"}},{"name":"arcgisReady","description":"Emitted when the assistant is ready to receive messages from the end user. This indicates that the assistant has been successfully\ninitialized and is ready to process user input.","docsTags":[{"name":"example","text":"```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nassistant.addEventListener(\"arcgisReady\", (event) => {\n // Handle the assistant being ready, such as by hiding a loading indicator,\n // displaying a welcome message, or enabling certain UI elements for user interaction\n});\n```"}],"type":{"text":"void"}},{"name":"arcgisSubmit","description":"Emitted when the user submits a message. This is typically invoked when a user clicks the submit button in the chat interface or hits the Enter key.","docsTags":[{"name":"example","text":"```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nassistant.addEventListener(\"arcgisSubmit\", (event) => {\n const message = event.detail;\n // Do something with the submitted message, such as logging it for analysis or triggering other actions in the app\n});\n```"}],"type":{"text":"string"}}],"slots":[{"name":"","description":"This is the default slot"},{"name":"header-actions-end","description":"Slot for adding actions to the end of the header."},{"name":"entry-message","description":"Slot for adding a welcome or entry message on load."},{"name":"entry-actions-start","description":"Slot for adding actions to the start of the entry area."},{"name":"footer-content","description":"Slot for adding content to the footer."}],"importPath":"components/arcgis-assistant"}],"exports":[{"kind":"custom-element-definition","name":"arcgis-assistant","declaration":{"name":"ArcgisAssistant"}}]},{"kind":"javascript-module","path":"components/arcgis-assistant/types","sourcePath":"src/components/assistant/types.ts","declarations":[{"kind":"interface","name":"Interrupt","description":"An interrupt is a UI mechanism used by an agent to prompt the user for additional input or clarification.","members":[{"kind":"field","name":"id","description":"The unique identifier of the message associated with the interrupt. This is used to associate the interrupt\nwith specific messages.","type":{"text":"string | undefined"}},{"kind":"field","name":"type","description":"The type of interrupt, which determines how the assistant will prompt the user for input. The available types are:\n\n- `boolean-choice`: Presents the user with a yes/no question.\n- `multi-select`: Allows the user to select multiple options from a list using a checkbox interface.\n- `single-select`: Allows the user to select a single option from a list using a radio button interface.\n- `text-input`: Prompts the user to enter free-form text input.\n\nThe assistant will use the specified type to determine how to display the prompt and collect the user's response.\nFor example, a `boolean-choice` interrupt might be used to confirm an action, while a `text-input`\ninterrupt could be used to ask for more details about a request.","type":{"text":"\"boolean-choice\" | \"multi-select\" | \"single-select\" | \"text-input\""}},{"kind":"field","name":"message","description":"The message to display to the user when prompting for input. This should provide clear instructions or questions\nrelated to the interrupt, guiding the user on what information is needed or what action they should take in response\nto the prompt.\n\nFor example, if the interrupt type is `boolean-choice`, the message might be \"Do you want to proceed with this\naction?\" If the type is `text-input`, the message could be \"Please provide more details about your request.\"","type":{"text":"string | undefined"}},{"kind":"field","name":"options","description":"The options to present to the user for selection when the interrupt type is `multi-select` or `single-select`.\nThis should be an array of strings representing the available choices. For `boolean-choice`,\nthe options are implicitly \"Yes\" and \"No\" and do not need to be provided.\nFor `text-input`, options are not applicable and should be omitted.\n\nFor example, if the interrupt type is `multi-select`, the options might be [\"Option 1\", \"Option 2\", \"Option 3\"].\nIf the type is `single-select`, the options could be [\"Choice A\", \"Choice B\", \"Choice C\"].","type":{"text":"string[] | undefined"}}]},{"kind":"interface","name":"AssistantMessage","description":"A chat message sent by the assistant.","supertypes":[{"name":"ChatMessageBase","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/types#ChatMessageBase"}],"members":[{"kind":"field","name":"role","type":{"text":"\"assistant\""}},{"kind":"field","name":"content","description":"The content of the assistant's message. This can include text generated by the assistant in response to the user's message. The content is displayed in the chat interface for the user to read and interact with.","type":{"text":"string | undefined"}},{"kind":"field","name":"log","description":"Log messages related to the assistant's processing of the user's request. This can include information about\nthe agents or tools it invoked, the parameters generated by the LLM, and any relevant details about how it\narrived at its response. Log messages are primarily intended for debugging and transparency purposes, allowing\ndevelopers and users to understand the assistant's behavior and decision-making process.","type":{"text":"string[] | undefined"}},{"kind":"field","name":"error","description":"An error message indicating any issues that occurred while the assistant was processing the user's request.\nThe error message may be displayed in the chat interface to inform the user of the issue and can also be used for\ndebugging and improving the assistant's performance.","type":{"text":"string | undefined"}},{"kind":"field","name":"feedback","description":"Feedback provided by the user for this specific assistant message. This allows users to indicate whether the\nassistant's response was helpful or not, which the app developer can capture and use to improve the assistant's\nperformance over time.","type":{"text":"Feedback | undefined","references":[{"name":"Feedback","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/types#Feedback","start":0,"end":8}]}}]},{"kind":"interface","name":"ChatMessage","description":"A chat message from the user or the assistant. Messages include all relevant information such as content,\nlogs, errors, and feedback.","type":{"text":"AssistantMessage | UserMessage","references":[{"name":"AssistantMessage","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/types#AssistantMessage","start":0,"end":16},{"name":"UserMessage","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/types#UserMessage","start":19,"end":30}]}},{"kind":"interface","name":"ChatMessageBase","description":"The base interface for chat messages exchanged between the user and the assistant.","members":[{"kind":"field","name":"id","description":"The unique identifier for the message. This is used to associate messages with interrupts and feedback.\nIf not provided, a unique ID will be generated automatically.","type":{"text":"string"}}]},{"kind":"interface","name":"UserMessage","description":"A chat message sent by the user.","supertypes":[{"name":"ChatMessageBase","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/types#ChatMessageBase"}],"members":[{"kind":"field","name":"role","type":{"text":"\"user\""}},{"kind":"field","name":"content","description":"The content of the user's message. This is the text input provided by the user in the chat interface.\nThis content is sent to the assistant and its agents for processing and generating responses.","type":{"text":"string"}}]},{"kind":"interface","name":"Feedback","description":"Feedback provided by the user for a specific message.","members":[{"kind":"field","name":"positive","description":"Indicates whether the feedback is positive or negative.","type":{"text":"boolean"}}]}]},{"kind":"javascript-module","path":"components/arcgis-assistant-agent","sourcePath":"src/components/assistant/assistant-agents/assistant-agent/assistant-agent.tsx","declarations":[{"kind":"class","name":"ArcgisAssistantAgent","customElement":true,"tagName":"arcgis-assistant-agent","pascalCaseName":"ArcgisAssistantAgent","description":"The Assistant Agent component is a generic wrapper for registering custom agents to the [arcgis-assistant](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/) component. To define\na custom agent, you must be familiar with [LangGraph](https://docs.langchain.com/oss/javascript/langgraph/overview). Custom agents must\ninclude a StateGraph that defines the agent's graph and subgraphs.\n\nBuilding custom agents can only be done using modern JavaScript/TypeScript tooling and cannot be done directly in HTML using\nCDN imports. Therefore, you must use a package manager like npm or yarn to install the required dependencies. Please refer to the\n[Custom Agents guide](https://developers.arcgis.com/javascript/latest/agentic-apps/ai-custom-agents/) for more instructions on how to create a custom agent.\n\nUse the [utils](https://developers.arcgis.com/javascript/latest/references/ai-components/utils/index/) module for helper functions and types related to building custom agents, including the `AgentRegistration`\ntype and functions for making LLM calls, managing agent state, and setting up human-in-the-loop workflows.\n\n> We recommend that developers building custom agents have experience working with LLMs and generative AI, and have a good\nunderstanding of the limitations of these technologies when building applications for end users.\n\nThis is an unrendered component that must be added as a child of the `arcgis-assistant` component in either HTML or JavaScript.\n\n```html\n<arcgis-assistant></arcgis-assistant>\n```\n\n```js\nconst myCustomAgent = {\n id: \"my-custom-agent\",\n name: \"My Custom Agent\",\n description: \"An agent that does custom things. Use this agent when users want to do custom things.\",\n createGraph: {\n // StateGraph definition using LangGraph\n },\n workspace: {\n // AnnotationRoot definition using LangGraph\n // relevant variables and context required by the agent\n },\n};\n\nconst assistant = document.querySelector(\"arcgis-assistant\");\nconst assistantAgent = document.createElement(\"arcgis-assistant-agent\");\n\nassistantAgent.agent = myCustomAgent;\nassistant.appendChild(assistantAgent);\n```","docsTags":[{"name":"since","text":"5.0"},{"name":"beta"},{"name":"see","text":"[arcgis-assistant](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/)"},{"name":"see","text":"[LangGraph documentation](https://docs.langchain.com/oss/javascript/langgraph/overview)"},{"name":"see","text":"[Custom agents guide](https://developers.arcgis.com/javascript/latest/agentic-apps/ai-custom-agents/)"},{"name":"see","text":"[AI Assistant component sample](https://developers.arcgis.com/javascript/latest/sample-code/ai-assistant/)"},{"name":"see","text":"[AgentRegistration](https://developers.arcgis.com/javascript/latest/references/ai-components/utils/index/#AgentRegistration)"},{"name":"see","text":"[invokeStructuredPrompt](https://developers.arcgis.com/javascript/latest/references/ai-components/utils/index/#invokeStructuredPrompt)"},{"name":"see","text":"[invokeToolPrompt](https://developers.arcgis.com/javascript/latest/references/ai-components/utils/index/#invokeToolPrompt)"},{"name":"see","text":"[invokeTextPrompt](https://developers.arcgis.com/javascript/latest/references/ai-components/utils/index/#invokeTextPrompt)"}],"demos":[{"description":"Docs","url":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant-agent/"}],"typeParameters":[{"name":"TContext","default":{"text":"Record<string, unknown>","references":[{"name":"Record","package":"global:","viewUrl":"https://www.typescriptlang.org/docs/handbook/utility-types.html#recordkeys-type","start":0,"end":6}]}}],"superclass":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"members":[{"kind":"field","name":"agent","description":"The agent registration object that defines the AI agent's behavior and capabilities.\nThis must include a StateGraph definition (defined using\n[LangGraph](https://docs.langchain.com/oss/javascript/langgraph/overview)).\n\nThis is an agent defined in the client and can be invoked by the assistant from the browser to perform specific tasks\nusing functions defined in the client.\n\nSee the [Custom Agents guide](https://developers.arcgis.com/javascript/latest/agentic-apps/ai-custom-agents/) for more instructions\nand links to samples demonstrating how to create custom agents.","docsTags":[{"name":"required"},{"name":"see","text":"[LangGraph documentation](https://docs.langchain.com/oss/javascript/langgraph/overview)"},{"name":"see","text":"[Custom agents guide](https://developers.arcgis.com/javascript/latest/agentic-apps/ai-custom-agents/)"},{"name":"example","text":"```js\n// An example graph that updates a component property and replies with a confirmation message\nconst myCustomGraph = () => {\n const graph = new StateGraph(myCustomState)\n .addNode(\"updateComponentProperty\", updateComponentProperty)\n .addNode(\"replyComponentPropertyUpdate\", replyComponentPropertyUpdate)\n .addEdge(START, \"updateComponentProperty\")\n .addEdge(\"updateComponentProperty\", \"replyComponentPropertyUpdate\")\n .addEdge(\"replyComponentPropertyUpdate\", END);\n\n return graph;\n};\n\nconst myCustomAgentState = Annotation.Root({\n // This is required to keep track of chat messages between the user and the agent\n messages: Annotation<ChatHistory>({\n reducer: messagesStateReducer,\n default: () => [],\n }),\n // Accumulates user-visible output across graph nodes\n outputMessage: Annotation<string>({\n reducer: (current = \"\", update) =>\n typeof update === \"string\" && update.trim()\n ? current\n ? `${current}\\n\\n${update}`\n : update\n : current,\n default: () => \"\",\n }),\n // Result of the UI action performed by the agent\n // This is a custom type defined by the application\n result: Annotation<UIActionResult | null>({\n reducer: (_current, update) => update ?? null,\n default: () => null,\n }),\n});\n\nconst myCustomAgent = {\n id: \"my-custom-agent\",\n name: \"My Custom Agent\",\n description: \"An agent that does custom things. Use this agent when users want to do custom things.\",\n createGraph: myCustomGraph,\n workspace: myCustomAgentState,\n};\n\nconst assistant = document.querySelector(\"arcgis-assistant\");\nconst assistantAgent = document.createElement(\"arcgis-assistant-agent\");\n\nassistantAgent.agent = myCustomAgent;\nassistant.appendChild(assistantAgent);\n```"}],"type":{"text":"AgentRegistration","references":[{"name":"AgentRegistration","package":"@arcgis/ai-orchestrator","start":0,"end":17}]}},{"kind":"field","name":"context","description":"If the agent requires context provided by the application or user, it can be provided via this property and accessed in the\nagent's graph nodes.","docsTags":[{"name":"example","text":"```js\nassistantAgent.context = {\n myData: {\n // data required for the custom agent\n },\n};\n```"}],"type":{"text":"TContext | (() => Promise<TContext | undefined> | TContext | undefined) | undefined","references":[{"name":"TContext","start":0,"end":8},{"name":"Promise","package":"global:","viewUrl":"https://next.gha.afd.arcgis.com/javascript/latest/programming-patterns/","start":18,"end":25},{"name":"TContext","start":26,"end":34},{"name":"TContext","start":50,"end":58}]}},{"kind":"method","name":"componentOnReady","description":"Creates a promise that resolves once the component is fully loaded.","docsTags":[{"name":"example","text":"```js\nconst arcgisAssistantAgent = document.querySelector(\"arcgis-assistant-agent\");\ndocument.body.append(arcgisAssistantAgent);\nawait arcgisAssistantAgent.componentOnReady();\nconsole.log(\"arcgis-assistant-agent is ready to go!\");\n```"}],"return":{"type":{"text":"Promise<this>","references":[{"name":"Promise","module":"lib/lib.es5.d.ts","package":"typescript","start":0,"end":7}]}},"inheritedFrom":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"signature":"(): Promise<this>"}],"importPath":"components/arcgis-assistant-agent"}],"exports":[{"kind":"custom-element-definition","name":"arcgis-assistant-agent","declaration":{"name":"ArcgisAssistantAgent"}}]},{"kind":"javascript-module","path":"components/arcgis-assistant-data-exploration-agent","sourcePath":"src/components/assistant/assistant-agents/assistant-data-exploration-agent/assistant-data-exploration-agent.tsx","declarations":[{"kind":"class","name":"ArcgisAssistantDataExplorationAgent","customElement":true,"tagName":"arcgis-assistant-data-exploration-agent","pascalCaseName":"ArcgisAssistantDataExplorationAgent","description":"The Data Exploration Agent enables the end user to query features, statistics, and spatial proximity\nto features in a layer within a web map. Currently, this is only scoped to querying feature layers within\na 2D web map. See the list of capabilities below for more details.\n\nThe data exploration agent is designed to answer questions about the data in the map, and does not have\naccess to external data sources or the user's location. It also cannot create visualizations in the form of charts,\nlayer renderers, new maps, or other visual outputs. It can currently only provide answers in text form based on the\ndata in the map.\n\nThis agent can change the state of the map by filtering features in a layer, but it cannot change the symbology of\nfeatures or create new layers or export results of a query to a file or external source.\n\nThis is an unrendered component that must be added as a child of the `arcgis-assistant` component in either HTML or JavaScript.\n\n```html\n<arcgis-map id=\"my-map\"></arcgis-map>\n<arcgis-assistant reference-element=\"my-map\">\n <arcgis-assistant-data-exploration-agent></arcgis-assistant-data-exploration-agent>\n</arcgis-assistant>\n```\n\n```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nconst dataExplorationAgent = document.createElement(\"arcgis-assistant-data-exploration-agent\");\nassistant.appendChild(dataExplorationAgent);\n```\n\nOnce added to the assistant, the agent is loaded and ready to receive user messages related to data exploration.\n\n### Capabilities\n\nThe data exploration agent provides the following capabilities related to exploring data in the map:\n\n- **Query features** - Ask about the attributes of features in a layer, including a single feature or a set\n of features.\n- **Query statistics** - Ask about statistics related to features in a layer. Statistics that can be queried\n include count, average, minimum, maximum, and sum. This includes asking about the top number of features based on a\n particular attribute.\n- **Query spatial proximity** - Ask about the spatial proximity of features in a layer, such as\n the number of features that intersect a polygon, or information about features within a distance of a specified location or feature.\n This currently does not include questions about the closest feature, but this is planned to be included in a future release.\n- **Filter features** - Users can ask the agent to show a subset of features that filter by attributes, or spatial\n proximity to other features. This includes asking the agent to show features that intersect a particular area,\n or are within a certain distance of a location or feature.\n\n### Example questions\n\nThe following are example questions a user can ask within the bounds of the data exploration agent.\nThese questions assume a map with layers that include cities, states, and rivers.\n\n- \"What is the city with the largest population?\"\n- \"How does that population compare to the average population of the cities in this map?\"\n- \"How many cities are within 30 miles of the Colorado River?\"\n- \"Show all cities in the state of California.\"\n- \"List the top 5 rivers by length.\"\n- \"Emphasize the largest river on the map.\"\n\nThe following are examples of the types of questions that fall outside the bounds of the\ndata exploration agent and should therefore be avoided:\n\n- \"What is the closest restaurant to me?\" (the data exploration agent does not have access to the user's location,\nnor can it find the nearest feature from a location)\n- \"What is the projected growth of Phoenix in the next 10 years?\" (the data exploration agent can\nonly answer questions about the data in the map, not external data or projections)\n- \"Show me the population of cities in this map on a graph.\" (the data exploration agent can only\nprovide answers in text form, not visualizations)\n\n> Due to the non-deterministic nature of generative AI, there may be inaccuracies or unexpected behavior when using the\nout-of-the-box agents.","docsTags":[{"name":"since","text":"5.0"},{"name":"beta"},{"name":"see","text":"[arcgis-assistant](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/)"},{"name":"see","text":"[Intro to building agentic mapping applications](https://developers.arcgis.com/javascript/latest/agentic-apps/ai-introduction/)"},{"name":"see","text":"[AI Assistant component sample](https://developers.arcgis.com/javascript/latest/sample-code/ai-assistant/)"}],"demos":[{"description":"Docs","url":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant-data-exploration-agent/"}],"superclass":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"members":[{"kind":"field","name":"referenceElement","description":"The reference element to the map that provides context for the data exploration agent. Currently,\nthis is only scoped to `arcgis-map` elements. This provides the data exploration agent with the layers\nneeded for answering user questions about the data in the map.\n\nSetting this property is not necessary if you set the reference element on the parent\n`arcgis-assistant` component.","docsTags":[{"name":"see","text":"[arcgis-assistant.referenceElement](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/#referenceElement)"},{"name":"example","text":"```html\n<arcgis-map id=\"my-map\"></arcgis-map>\n<arcgis-assistant>\n <arcgis-assistant-data-exploration-agent reference-element=\"my-map\"></arcgis-assistant-data-exploration-agent>\n</arcgis-assistant>\n```"}],"type":{"text":"ArcgisMap | string | undefined","references":[{"name":"ArcgisMap","module":"components/arcgis-map","package":"@arcgis/map-components","start":0,"end":9}],"values":[{"type":"string"},{"type":"object"}]},"attribute":"reference-element"},{"kind":"method","name":"componentOnReady","description":"Creates a promise that resolves once the component is fully loaded.","docsTags":[{"name":"example","text":"```js\nconst arcgisAssistantDataExplorationAgent = document.querySelector(\"arcgis-assistant-data-exploration-agent\");\ndocument.body.append(arcgisAssistantDataExplorationAgent);\nawait arcgisAssistantDataExplorationAgent.componentOnReady();\nconsole.log(\"arcgis-assistant-data-exploration-agent is ready to go!\");\n```"}],"return":{"type":{"text":"Promise<this>","references":[{"name":"Promise","module":"lib/lib.es5.d.ts","package":"typescript","start":0,"end":7}]}},"inheritedFrom":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"signature":"(): Promise<this>"}],"attributes":[{"name":"reference-element","description":"The reference element to the map that provides context for the data exploration agent. Currently,\nthis is only scoped to `arcgis-map` elements. This provides the data exploration agent with the layers\nneeded for answering user questions about the data in the map.\n\nSetting this property is not necessary if you set the reference element on the parent\n`arcgis-assistant` component.","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"referenceElement"}],"importPath":"components/arcgis-assistant-data-exploration-agent"}],"exports":[{"kind":"custom-element-definition","name":"arcgis-assistant-data-exploration-agent","declaration":{"name":"ArcgisAssistantDataExplorationAgent"}}]},{"kind":"javascript-module","path":"components/arcgis-assistant-help-agent","sourcePath":"src/components/assistant/assistant-agents/assistant-help-agent/assistant-help-agent.tsx","declarations":[{"kind":"class","name":"ArcgisAssistantHelpAgent","customElement":true,"tagName":"arcgis-assistant-help-agent","pascalCaseName":"ArcgisAssistantHelpAgent","description":"The Help Agent provides contextual assistance and guidance to the end user within an\nagentic web mapping application. It can provide answers to questions about the web map provided\nto the [referenceElement](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant-help-agent/#referenceElement) property and answer questions about other agents included\nas subcomponents to the [arcgis-assistant](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/) component.\n\nThis is an unrendered component that must be added as a child of the `arcgis-assistant` component in\neither HTML or JavaScript.\n\n```html\n<arcgis-map id=\"my-map\"></arcgis-map>\n<arcgis-assistant reference-element=\"my-map\">\n <arcgis-assistant-help-agent></arcgis-assistant-help-agent>\n</arcgis-assistant>\n```\n\n```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nconst helpAgent = document.createElement(\"arcgis-assistant-help-agent\");\nassistant.appendChild(helpAgent);\n```\n\nOnce added to the assistant, the agent is loaded and ready to receive user messages related to help and guidance.\n\n### Example questions\n\nThe following are example questions a user can ask within the bounds of the help agent:\n\n- \"What kind of questions can I ask?\"\n- \"What layers are in this map?\"\n- \"What kind of data can I ask questions about?\"\n\nThe following are examples of the types of questions that fall outside the bounds of the\nhelp agent and should therefore be avoided:\n\n- \"Search the Esri documentation for ways that I can query my data.\"\n- \"Log a bug related to map navigation to the Esri support team.\"\n- \"How do I bake a cake?\"\n- \"How does map navigation work in ArcGIS?\"\n\n> Due to the non-deterministic nature of generative AI, there may be inaccuracies or unexpected behavior when using the\nout-of-the-box agents.","docsTags":[{"name":"since","text":"5.0"},{"name":"beta"},{"name":"see","text":"[arcgis-assistant](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/)"},{"name":"see","text":"[Intro to building agentic mapping applications](https://developers.arcgis.com/javascript/latest/agentic-apps/ai-introduction/)"},{"name":"see","text":"[AI Assistant component sample](https://developers.arcgis.com/javascript/latest/sample-code/ai-assistant/)"}],"demos":[{"description":"Docs","url":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant-help-agent/"}],"superclass":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"members":[{"kind":"field","name":"referenceElement","description":"The reference element to the map that provides context for the help agent. Currently,\nthis is only scoped to `arcgis-map` elements. This shows the help agent which map for which to\nprovide assistance. This allows users to ask questions about the specific map provided to the agent.\n\nSetting this property is not necessary if you set the reference element on the parent\n`arcgis-assistant` component.","docsTags":[{"name":"see","text":"[arcgis-assistant.referenceElement](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/#referenceElement)"},{"name":"example","text":"```html\n<arcgis-map id=\"my-map\"></arcgis-map>\n<arcgis-assistant>\n <arcgis-assistant-help-agent reference-element=\"my-map\"></arcgis-assistant-help-agent>\n</arcgis-assistant>\n```"}],"type":{"text":"ArcgisMap | string | undefined","references":[{"name":"ArcgisMap","module":"components/arcgis-map","package":"@arcgis/map-components","start":0,"end":9}],"values":[{"type":"string"},{"type":"object"}]},"attribute":"reference-element"},{"kind":"method","name":"componentOnReady","description":"Creates a promise that resolves once the component is fully loaded.","docsTags":[{"name":"example","text":"```js\nconst arcgisAssistantHelpAgent = document.querySelector(\"arcgis-assistant-help-agent\");\ndocument.body.append(arcgisAssistantHelpAgent);\nawait arcgisAssistantHelpAgent.componentOnReady();\nconsole.log(\"arcgis-assistant-help-agent is ready to go!\");\n```"}],"return":{"type":{"text":"Promise<this>","references":[{"name":"Promise","module":"lib/lib.es5.d.ts","package":"typescript","start":0,"end":7}]}},"inheritedFrom":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"signature":"(): Promise<this>"}],"attributes":[{"name":"reference-element","description":"The reference element to the map that provides context for the help agent. Currently,\nthis is only scoped to `arcgis-map` elements. This shows the help agent which map for which to\nprovide assistance. This allows users to ask questions about the specific map provided to the agent.\n\nSetting this property is not necessary if you set the reference element on the parent\n`arcgis-assistant` component.","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"referenceElement"}],"importPath":"components/arcgis-assistant-help-agent"}],"exports":[{"kind":"custom-element-definition","name":"arcgis-assistant-help-agent","declaration":{"name":"ArcgisAssistantHelpAgent"}}]},{"kind":"javascript-module","path":"components/arcgis-assistant-layer-filter-agent","sourcePath":"src/components/assistant/assistant-agents/assistant-layer-filter-agent/assistant-layer-filter-agent.tsx","declarations":[{"kind":"class","name":"ArcgisAssistantLayerFilterAgent","customElement":true,"tagName":"arcgis-assistant-layer-filter-agent","pascalCaseName":"ArcgisAssistantLayerFilterAgent","docsTags":[{"name":"internal"}],"demos":[{"description":"Docs","url":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant-layer-filter-agent/"}],"superclass":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"members":[{"kind":"field","name":"referenceElement","type":{"text":"ArcgisMap | string | undefined","references":[{"name":"ArcgisMap","module":"components/arcgis-map","package":"@arcgis/map-components","start":0,"end":9}],"values":[{"type":"string"},{"type":"object"}]},"attribute":"reference-element"},{"kind":"method","name":"componentOnReady","description":"Creates a promise that resolves once the component is fully loaded.","docsTags":[{"name":"example","text":"```js\nconst arcgisAssistantLayerFilterAgent = document.querySelector(\"arcgis-assistant-layer-filter-agent\");\ndocument.body.append(arcgisAssistantLayerFilterAgent);\nawait arcgisAssistantLayerFilterAgent.componentOnReady();\nconsole.log(\"arcgis-assistant-layer-filter-agent is ready to go!\");\n```"}],"return":{"type":{"text":"Promise<this>","references":[{"name":"Promise","module":"lib/lib.es5.d.ts","package":"typescript","start":0,"end":7}]}},"inheritedFrom":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"signature":"(): Promise<this>"}],"attributes":[{"name":"reference-element","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"referenceElement"}],"importPath":"components/arcgis-assistant-layer-filter-agent"}],"exports":[{"kind":"custom-element-definition","name":"arcgis-assistant-layer-filter-agent","declaration":{"name":"ArcgisAssistantLayerFilterAgent"}}]},{"kind":"javascript-module","path":"components/arcgis-assistant-layer-query-agent","sourcePath":"src/components/assistant/assistant-agents/assistant-layer-query-agent/assistant-layer-query-agent.tsx","declarations":[{"kind":"class","name":"ArcgisAssistantLayerQueryAgent","customElement":true,"tagName":"arcgis-assistant-layer-query-agent","pascalCaseName":"ArcgisAssistantLayerQueryAgent","docsTags":[{"name":"internal"}],"demos":[{"description":"Docs","url":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant-layer-query-agent/"}],"superclass":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"members":[{"kind":"field","name":"referenceElement","type":{"text":"ArcgisMap | string | undefined","references":[{"name":"ArcgisMap","module":"components/arcgis-map","package":"@arcgis/map-components","start":0,"end":9}],"values":[{"type":"string"},{"type":"object"}]},"attribute":"reference-element"},{"kind":"method","name":"componentOnReady","description":"Creates a promise that resolves once the component is fully loaded.","docsTags":[{"name":"example","text":"```js\nconst arcgisAssistantLayerQueryAgent = document.querySelector(\"arcgis-assistant-layer-query-agent\");\ndocument.body.append(arcgisAssistantLayerQueryAgent);\nawait arcgisAssistantLayerQueryAgent.componentOnReady();\nconsole.log(\"arcgis-assistant-layer-query-agent is ready to go!\");\n```"}],"return":{"type":{"text":"Promise<this>","references":[{"name":"Promise","module":"lib/lib.es5.d.ts","package":"typescript","start":0,"end":7}]}},"inheritedFrom":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"signature":"(): Promise<this>"}],"attributes":[{"name":"reference-element","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"referenceElement"}],"importPath":"components/arcgis-assistant-layer-query-agent"}],"exports":[{"kind":"custom-element-definition","name":"arcgis-assistant-layer-query-agent","declaration":{"name":"ArcgisAssistantLayerQueryAgent"}}]},{"kind":"javascript-module","path":"components/arcgis-assistant-layer-styling-agent","sourcePath":"src/components/assistant/assistant-agents/assistant-layer-styling-agent/assistant-layer-styling-agent.tsx","declarations":[{"kind":"class","name":"ArcgisAssistantLayerStylingAgent","customElement":true,"tagName":"arcgis-assistant-layer-styling-agent","pascalCaseName":"ArcgisAssistantLayerStylingAgent","docsTags":[{"name":"internal"}],"demos":[{"description":"Docs","url":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant-layer-styling-agent/"}],"superclass":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"members":[{"kind":"field","name":"referenceElement","type":{"text":"ArcgisMap | string | undefined","references":[{"name":"ArcgisMap","module":"components/arcgis-map","package":"@arcgis/map-components","start":0,"end":9}],"values":[{"type":"string"},{"type":"object"}]},"attribute":"reference-element"},{"kind":"method","name":"componentOnReady","description":"Creates a promise that resolves once the component is fully loaded.","docsTags":[{"name":"example","text":"```js\nconst arcgisAssistantLayerStylingAgent = document.querySelector(\"arcgis-assistant-layer-styling-agent\");\ndocument.body.append(arcgisAssistantLayerStylingAgent);\nawait arcgisAssistantLayerStylingAgent.componentOnReady();\nconsole.log(\"arcgis-assistant-layer-styling-agent is ready to go!\");\n```"}],"return":{"type":{"text":"Promise<this>","references":[{"name":"Promise","module":"lib/lib.es5.d.ts","package":"typescript","start":0,"end":7}]}},"inheritedFrom":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"signature":"(): Promise<this>"}],"attributes":[{"name":"reference-element","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"referenceElement"}],"importPath":"components/arcgis-assistant-layer-styling-agent"}],"exports":[{"kind":"custom-element-definition","name":"arcgis-assistant-layer-styling-agent","declaration":{"name":"ArcgisAssistantLayerStylingAgent"}}]},{"kind":"javascript-module","path":"components/arcgis-assistant-navigation-agent","sourcePath":"src/components/assistant/assistant-agents/assistant-navigation-agent/assistant-navigation-agent.tsx","declarations":[{"kind":"class","name":"ArcgisAssistantNavigationAgent","customElement":true,"tagName":"arcgis-assistant-navigation-agent","pascalCaseName":"ArcgisAssistantNavigationAgent","description":"The Navigation Agent enables the end user to navigate to different areas of a web map. See the list\nof capabilities below for more details.\n\nThis is an unrendered component that must be added as a child of the `arcgis-assistant` component in either HTML or JavaScript.\n\n```html\n<arcgis-map id=\"my-map\"></arcgis-map>\n<arcgis-assistant reference-element=\"my-map\">\n <arcgis-assistant-navigation-agent></arcgis-assistant-navigation-agent>\n</arcgis-assistant>\n```\n\n```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nconst navigationAgent = document.createElement(\"arcgis-assistant-navigation-agent\");\nassistant.appendChild(navigationAgent);\n```\n\nOnce added to the assistant, the agent is loaded and ready to receive user messages related to navigation.\n\n### Capabilities\n\nThe navigation agent provides the following capabilities related to map navigation:\n\n- **Geocoding** - Navigate to an address using Esri's World Geocoding Service.\n- **Go to extent** - Navigate to the extent of a bookmark in the map, the home extent of the web map,\n or the extent of a layer.\n- **Go to features** - Navigate to a specified feature or set of features.\n- **Go to viewpoint** - Navigate to a specified viewpoint, which can include center, zoom, and/or\n rotation.\n\n### Example questions\n\nThe following are example questions a user can ask within the bounds of the navigation agent:\n\n- \"Go to the Golden Gate Bridge\"\n- \"Zoom to a 1 to 24,000 scale\"\n- \"Zoom in\"\n- \"Go to the parks layer\"\n\nThe following are examples of the types of questions that fall outside the bounds of the\nnavigation agent and should therefore be avoided:\n\n- \"Rotate the map 45 degrees\" (this capability is not currently supported but may be in the future)\n- \"Make this map 3D and tilt the view to a 45 degree angle\" (3D navigation is currently not supported)\n- \"Where am I?\" (the navigation agent does not have access to the user's location)\n\n> Due to the non-deterministic nature of generative AI, there may be inaccuracies or unexpected behavior when using the\nout-of-the-box agents.","docsTags":[{"name":"since","text":"5.0"},{"name":"beta"},{"name":"see","text":"[arcgis-assistant](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/)"},{"name":"see","text":"[Intro to building agentic mapping applications](https://developers.arcgis.com/javascript/latest/agentic-apps/ai-introduction/)"},{"name":"see","text":"[AI Assistant component sample](https://developers.arcgis.com/javascript/latest/sample-code/ai-assistant/)"}],"demos":[{"description":"Docs","url":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant-navigation-agent/"}],"superclass":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"members":[{"kind":"field","name":"referenceElement","description":"The reference element to the map that provides context for the navigation agent. Currently,\nthis is only scoped to `arcgis-map` elements. This shows the navigation agent which map on which to\nperform navigation actions. This is required for the navigation agent to function properly.\n\nSetting this property is not necessary if you set the reference element on the parent\n`arcgis-assistant` component.","docsTags":[{"name":"see","text":"[arcgis-assistant.referenceElement](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/#referenceElement)"},{"name":"example","text":"```html\n<arcgis-map id=\"my-map\"></arcgis-map>\n<arcgis-assistant>\n <arcgis-assistant-navigation-agent reference-element=\"my-map\"></arcgis-assistant-navigation-agent>\n</arcgis-assistant>\n```"}],"type":{"text":"ArcgisMap | string | undefined","references":[{"name":"ArcgisMap","module":"components/arcgis-map","package":"@arcgis/map-components","start":0,"end":9}],"values":[{"type":"string"},{"type":"object"}]},"attribute":"reference-element"},{"kind":"method","name":"componentOnReady","description":"Creates a promise that resolves once the component is fully loaded.","docsTags":[{"name":"example","text":"```js\nconst arcgisAssistantNavigationAgent = document.querySelector(\"arcgis-assistant-navigation-agent\");\ndocument.body.append(arcgisAssistantNavigationAgent);\nawait arcgisAssistantNavigationAgent.componentOnReady();\nconsole.log(\"arcgis-assistant-navigation-agent is ready to go!\");\n```"}],"return":{"type":{"text":"Promise<this>","references":[{"name":"Promise","module":"lib/lib.es5.d.ts","package":"typescript","start":0,"end":7}]}},"inheritedFrom":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"signature":"(): Promise<this>"}],"attributes":[{"name":"reference-element","description":"The reference element to the map that provides context for the navigation agent. Currently,\nthis is only scoped to `arcgis-map` elements. This shows the navigation agent which map on which to\nperform navigation actions. This is required for the navigation agent to function properly.\n\nSetting this property is not necessary if you set the reference element on the parent\n`arcgis-assistant` component.","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"referenceElement"}],"importPath":"components/arcgis-assistant-navigation-agent"}],"exports":[{"kind":"custom-element-definition","name":"arcgis-assistant-navigation-agent","declaration":{"name":"ArcgisAssistantNavigationAgent"}}]},{"kind":"javascript-module","path":"components/arcgis-assistant-chat","sourcePath":"src/components/assistant/assistant-chat/assistant-chat.tsx","declarations":[{"kind":"class","name":"ArcgisAssistantChat","customElement":true,"tagName":"arcgis-assistant-chat","pascalCaseName":"ArcgisAssistantChat","docsTags":[{"name":"internal"}],"demos":[{"description":"Docs","url":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant-chat/"}],"superclass":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"members":[{"kind":"field","name":"copyEnabled","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","attribute":"copy-enabled"},{"kind":"field","name":"feedbackEnabled","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","attribute":"feedback-enabled"},{"kind":"field","name":"loading","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","attribute":"loading"},{"kind":"field","name":"loadingMessage","type":{"text":"string","values":[{"type":"string"}]},"default":"\"\"","attribute":"loading-message"},{"kind":"field","name":"logEnabled","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","attribute":"log-enabled"},{"kind":"field","name":"messages","type":{"text":"Collection<ChatMessage>","references":[{"name":"default","module":"core/Collection.js","package":"@arcgis/core","viewUrl":"https://developers.arcgis.com/javascript/latest/references/core/core/Collection/","start":0,"end":10},{"name":"ChatMessage","module":"components/arcgis-assistant/types","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/types#ChatMessage","start":11,"end":22}]}},{"kind":"field","name":"user","type":{"text":"string | undefined","values":[{"type":"string"}]},"attribute":"user"},{"kind":"method","name":"componentOnReady","description":"Creates a promise that resolves once the component is fully loaded.","docsTags":[{"name":"example","text":"```js\nconst arcgisAssistantChat = document.querySelector(\"arcgis-assistant-chat\");\ndocument.body.append(arcgisAssistantChat);\nawait arcgisAssistantChat.componentOnReady();\nconsole.log(\"arcgis-assistant-chat is ready to go!\");\n```"}],"return":{"type":{"text":"Promise<this>","references":[{"name":"Promise","module":"lib/lib.es5.d.ts","package":"typescript","start":0,"end":7}]}},"inheritedFrom":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"signature":"(): Promise<this>"}],"attributes":[{"name":"copy-enabled","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","fieldName":"copyEnabled"},{"name":"feedback-enabled","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","fieldName":"feedbackEnabled"},{"name":"loading","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","fieldName":"loading"},{"name":"loading-message","type":{"text":"string","values":[{"type":"string"}]},"default":"\"\"","fieldName":"loadingMessage"},{"name":"log-enabled","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","fieldName":"logEnabled"},{"name":"user","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"user"}],"importPath":"components/arcgis-assistant-chat"}],"exports":[{"kind":"custom-element-definition","name":"arcgis-assistant-chat","declaration":{"name":"ArcgisAssistantChat"}}]},{"kind":"javascript-module","path":"components/arcgis-assistant-chat-card","sourcePath":"src/components/assistant/assistant-chat-card/assistant-chat-card.tsx","declarations":[{"kind":"class","name":"ArcgisAssistantChatCard","customElement":true,"tagName":"arcgis-assistant-chat-card","pascalCaseName":"ArcgisAssistantChatCard","docsTags":[{"name":"internal"}],"demos":[{"description":"Docs","url":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant-chat-card/"}],"superclass":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"members":[{"kind":"field","name":"content","type":{"text":"string | undefined","values":[{"type":"string"}]},"attribute":"content"},{"kind":"field","name":"copyEnabled","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","attribute":"copy-enabled"},{"kind":"field","name":"error","type":{"text":"string | undefined","values":[{"type":"string"}]},"attribute":"error"},{"kind":"field","name":"feedbackEnabled","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","attribute":"feedback-enabled"},{"kind":"field","name":"loading","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","attribute":"loading"},{"kind":"field","name":"loadingMessage","type":{"text":"string | undefined","values":[{"type":"string"}]},"attribute":"loading-message"},{"kind":"field","name":"log","type":{"text":"string[] | undefined"}},{"kind":"field","name":"logEnabled","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","attribute":"log-enabled"},{"kind":"field","name":"message","type":{"text":"ChatMessage | undefined","references":[{"name":"ChatMessage","module":"components/arcgis-assistant/types","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/types#ChatMessage","start":0,"end":11}]}},{"kind":"field","name":"messageRole","type":{"text":"ChatMessage[\"role\"] | undefined","references":[{"name":"ChatMessage","module":"components/arcgis-assistant/types","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/types#ChatMessage","start":0,"end":11}],"values":[{"type":"string","value":"user"},{"type":"string","value":"assistant"}]},"attribute":"message-role"},{"kind":"field","name":"user","type":{"text":"string | undefined","values":[{"type":"string"}]},"attribute":"user"},{"kind":"method","name":"componentOnReady","description":"Creates a promise that resolves once the component is fully loaded.","docsTags":[{"name":"example","text":"```js\nconst arcgisAssistantChatCard = document.querySelector(\"arcgis-assistant-chat-card\");\ndocument.body.append(arcgisAssistantChatCard);\nawait arcgisAssistantChatCard.componentOnReady();\nconsole.log(\"arcgis-assistant-chat-card is ready to go!\");\n```"}],"return":{"type":{"text":"Promise<this>","references":[{"name":"Promise","module":"lib/lib.es5.d.ts","package":"typescript","start":0,"end":7}]}},"inheritedFrom":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"signature":"(): Promise<this>"}],"attributes":[{"name":"content","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"content"},{"name":"copy-enabled","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","fieldName":"copyEnabled"},{"name":"error","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"error"},{"name":"feedback-enabled","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","fieldName":"feedbackEnabled"},{"name":"loading","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","fieldName":"loading"},{"name":"loading-message","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"loadingMessage"},{"name":"log-enabled","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","fieldName":"logEnabled"},{"name":"message-role","type":{"text":"\"user\" | \"assistant\"","values":[{"type":"string","value":"user"},{"type":"string","value":"assistant"}]},"fieldName":"messageRole"},{"name":"user","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"user"}],"events":[{"name":"arcgisFeedback","type":{"text":"AssistantMessage","references":[{"name":"AssistantMessage","module":"components/arcgis-assistant/types","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/types#AssistantMessage","start":0,"end":16}]}}],"importPath":"components/arcgis-assistant-chat-card"}],"exports":[{"kind":"custom-element-definition","name":"arcgis-assistant-chat-card","declaration":{"name":"ArcgisAssistantChatCard"}}]},{"kind":"javascript-module","path":"components/arcgis-assistant-chat-card-content","sourcePath":"src/components/assistant/assistant-chat-card-content/assistant-chat-card-content.tsx","declarations":[{"kind":"class","name":"ArcgisAssistantChatCardContent","customElement":true,"tagName":"arcgis-assistant-chat-card-content","pascalCaseName":"ArcgisAssistantChatCardContent","docsTags":[{"name":"internal"}],"demos":[{"description":"Docs","url":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant-chat-card-content/"}],"superclass":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"members":[{"kind":"field","name":"content","type":{"text":"string | undefined","values":[{"type":"string"}]},"attribute":"content"},{"kind":"field","name":"loading","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","attribute":"loading"},{"kind":"field","name":"loadingMessage","type":{"text":"string | undefined","values":[{"type":"string"}]},"attribute":"loading-message"},{"kind":"field","name":"type","type":{"text":"\"chart\" | \"error\" | \"text\"","values":[{"type":"string","value":"chart"},{"type":"string","value":"error"},{"type":"string","value":"text"}]},"default":"\"text\"","attribute":"type"},{"kind":"method","name":"componentOnReady","description":"Creates a promise that resolves once the component is fully loaded.","docsTags":[{"name":"example","text":"```js\nconst arcgisAssistantChatCardContent = document.querySelector(\"arcgis-assistant-chat-card-content\");\ndocument.body.append(arcgisAssistantChatCardContent);\nawait arcgisAssistantChatCardContent.componentOnReady();\nconsole.log(\"arcgis-assistant-chat-card-content is ready to go!\");\n```"}],"return":{"type":{"text":"Promise<this>","references":[{"name":"Promise","module":"lib/lib.es5.d.ts","package":"typescript","start":0,"end":7}]}},"inheritedFrom":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"signature":"(): Promise<this>"}],"attributes":[{"name":"content","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"content"},{"name":"loading","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","fieldName":"loading"},{"name":"loading-message","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"loadingMessage"},{"name":"type","type":{"text":"\"chart\" | \"error\" | \"text\"","values":[{"type":"string","value":"chart"},{"type":"string","value":"error"},{"type":"string","value":"text"}]},"default":"\"text\"","fieldName":"type"}],"importPath":"components/arcgis-assistant-chat-card-content"}],"exports":[{"kind":"custom-element-definition","name":"arcgis-assistant-chat-card-content","declaration":{"name":"ArcgisAssistantChatCardContent"}}]},{"kind":"javascript-module","path":"components/arcgis-assistant-chat-entry","sourcePath":"src/components/assistant/assistant-chat-entry/assistant-chat-entry.tsx","declarations":[{"kind":"class","name":"ArcgisAssistantChatEntry","customElement":true,"tagName":"arcgis-assistant-chat-entry","pascalCaseName":"ArcgisAssistantChatEntry","docsTags":[{"name":"internal"}],"demos":[{"description":"Docs","url":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant-chat-entry/"}],"superclass":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"members":[{"kind":"field","name":"awaitingResponse","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","attribute":"awaiting-response"},{"kind":"field","name":"entryPlaceholder","type":{"text":"string | undefined","values":[{"type":"string"}]},"attribute":"entry-placeholder"},{"kind":"field","name":"inputValue","type":{"text":"string","values":[{"type":"string"}]},"default":"\"\"","attribute":"input-value"},{"kind":"field","name":"keyboardShortcutsDisabled","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","attribute":"keyboard-shortcuts-disabled"},{"kind":"field","name":"messages","type":{"text":"Collection<ChatMessage>","references":[{"name":"default","module":"core/Collection.js","package":"@arcgis/core","viewUrl":"https://developers.arcgis.com/javascript/latest/references/core/core/Collection/","start":0,"end":10},{"name":"ChatMessage","module":"components/arcgis-assistant/types","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/types#ChatMessage","start":11,"end":22}]}},{"kind":"field","name":"status","type":{"text":"\"error\" | \"ready\" | \"working\" | undefined","values":[{"type":"string","value":"error"},{"type":"string","value":"ready"},{"type":"string","value":"working"}]},"attribute":"status"},{"kind":"method","name":"componentOnReady","description":"Creates a promise that resolves once the component is fully loaded.","docsTags":[{"name":"example","text":"```js\nconst arcgisAssistantChatEntry = document.querySelector(\"arcgis-assistant-chat-entry\");\ndocument.body.append(arcgisAssistantChatEntry);\nawait arcgisAssistantChatEntry.componentOnReady();\nconsole.log(\"arcgis-assistant-chat-entry is ready to go!\");\n```"}],"return":{"type":{"text":"Promise<this>","references":[{"name":"Promise","module":"lib/lib.es5.d.ts","package":"typescript","start":0,"end":7}]}},"inheritedFrom":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"signature":"(): Promise<this>"}],"attributes":[{"name":"awaiting-response","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","fieldName":"awaitingResponse"},{"name":"entry-placeholder","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"entryPlaceholder"},{"name":"input-value","type":{"text":"string","values":[{"type":"string"}]},"default":"\"\"","fieldName":"inputValue"},{"name":"keyboard-shortcuts-disabled","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","fieldName":"keyboardShortcutsDisabled"},{"name":"status","type":{"text":"\"error\" | \"ready\" | \"working\"","values":[{"type":"string","value":"error"},{"type":"string","value":"ready"},{"type":"string","value":"working"}]},"fieldName":"status"}],"events":[{"name":"arcgisCancel","type":{"text":"void"}},{"name":"arcgisSubmit","type":{"text":"string"}}],"importPath":"components/arcgis-assistant-chat-entry"}],"exports":[{"kind":"custom-element-definition","name":"arcgis-assistant-chat-entry","declaration":{"name":"ArcgisAssistantChatEntry"}}]},{"kind":"javascript-module","path":"components/arcgis-assistant-interrupt","sourcePath":"src/components/assistant/assistant-interrupt/assistant-interrupt.tsx","declarations":[{"kind":"class","name":"ArcgisAssistantInterrupt","customElement":true,"tagName":"arcgis-assistant-interrupt","pascalCaseName":"ArcgisAssistantInterrupt","docsTags":[{"name":"internal"}],"demos":[{"description":"Docs","url":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant-interrupt/"}],"superclass":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"members":[{"kind":"field","name":"message","type":{"text":"string | undefined","values":[{"type":"string"}]},"attribute":"message"},{"kind":"field","name":"options","type":{"text":"string[] | undefined"}},{"kind":"field","name":"type","type":{"text":"\"boolean-choice\" | \"multi-select\" | \"single-select\" | \"text-input\"","values":[{"type":"string","value":"boolean-choice"},{"type":"string","value":"multi-select"},{"type":"string","value":"single-select"},{"type":"string","value":"text-input"}]},"attribute":"type"},{"kind":"method","name":"componentOnReady","description":"Creates a promise that resolves once the component is fully loaded.","docsTags":[{"name":"example","text":"```js\nconst arcgisAssistantInterrupt = document.querySelector(\"arcgis-assistant-interrupt\");\ndocument.body.append(arcgisAssistantInterrupt);\nawait arcgisAssistantInterrupt.componentOnReady();\nconsole.log(\"arcgis-assistant-interrupt is ready to go!\");\n```"}],"return":{"type":{"text":"Promise<this>","references":[{"name":"Promise","module":"lib/lib.es5.d.ts","package":"typescript","start":0,"end":7}]}},"inheritedFrom":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"signature":"(): Promise<this>"}],"attributes":[{"name":"message","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"message"},{"name":"type","type":{"text":"\"boolean-choice\" | \"multi-select\" | \"single-select\" | \"text-input\"","values":[{"type":"string","value":"boolean-choice"},{"type":"string","value":"multi-select"},{"type":"string","value":"single-select"},{"type":"string","value":"text-input"}]},"fieldName":"type"}],"events":[{"name":"arcgisCancel","type":{"text":"void"}},{"name":"arcgisSubmit","type":{"text":"string[] | boolean | string"}}],"importPath":"components/arcgis-assistant-interrupt"}],"exports":[{"kind":"custom-element-definition","name":"arcgis-assistant-interrupt","declaration":{"name":"ArcgisAssistantInterrupt"}}]},{"kind":"javascript-module","path":"components/arcgis-assistant-shell","sourcePath":"src/components/assistant/assistant-shell/assistant-shell.tsx","declarations":[{"kind":"class","name":"ArcgisAssistantShell","customElement":true,"tagName":"arcgis-assistant-shell","pascalCaseName":"ArcgisAssistantShell","docsTags":[{"name":"internal"}],"demos":[{"description":"Docs","url":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant-shell/"}],"superclass":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"members":[{"kind":"field","name":"awaitingResponse","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","attribute":"awaiting-response"},{"kind":"field","name":"description","type":{"text":"string","values":[{"type":"string"}]},"default":"\"\"","attribute":"description"},{"kind":"field","name":"entryMessage","type":{"text":"string | undefined","values":[{"type":"string"}]},"attribute":"entry-message"},{"kind":"field","name":"entryMessageClosed","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","attribute":"entry-message-closed"},{"kind":"field","name":"heading","type":{"text":"string | undefined","values":[{"type":"string"}]},"attribute":"heading"},{"kind":"field","name":"inputValue","type":{"text":"string","values":[{"type":"string"}]},"default":"\"\"","attribute":"input-value"},{"kind":"field","name":"loading","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","attribute":"loading"},{"kind":"field","name":"messages","type":{"text":"Collection<ChatMessage>","references":[{"name":"default","module":"core/Collection.js","package":"@arcgis/core","viewUrl":"https://developers.arcgis.com/javascript/latest/references/core/core/Collection/","start":0,"end":10},{"name":"ChatMessage","module":"components/arcgis-assistant/types","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/types#ChatMessage","start":11,"end":22}]}},{"kind":"field","name":"status","type":{"text":"\"error\" | \"ready\" | \"working\" | undefined","values":[{"type":"string","value":"error"},{"type":"string","value":"ready"},{"type":"string","value":"working"}]},"attribute":"status"},{"kind":"field","name":"suggestedPrompts","type":{"text":"string[]"}},{"kind":"method","name":"componentOnReady","description":"Creates a promise that resolves once the component is fully loaded.","docsTags":[{"name":"example","text":"```js\nconst arcgisAssistantShell = document.querySelector(\"arcgis-assistant-shell\");\ndocument.body.append(arcgisAssistantShell);\nawait arcgisAssistantShell.componentOnReady();\nconsole.log(\"arcgis-assistant-shell is ready to go!\");\n```"}],"return":{"type":{"text":"Promise<this>","references":[{"name":"Promise","module":"lib/lib.es5.d.ts","package":"typescript","start":0,"end":7}]}},"inheritedFrom":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"signature":"(): Promise<this>"}],"attributes":[{"name":"awaiting-response","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","fieldName":"awaitingResponse"},{"name":"description","type":{"text":"string","values":[{"type":"string"}]},"default":"\"\"","fieldName":"description"},{"name":"entry-message","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"entryMessage"},{"name":"entry-message-closed","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","fieldName":"entryMessageClosed"},{"name":"heading","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"heading"},{"name":"input-value","type":{"text":"string","values":[{"type":"string"}]},"default":"\"\"","fieldName":"inputValue"},{"name":"loading","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","fieldName":"loading"},{"name":"status","type":{"text":"\"error\" | \"ready\" | \"working\"","values":[{"type":"string","value":"error"},{"type":"string","value":"ready"},{"type":"string","value":"working"}]},"fieldName":"status"}],"events":[{"name":"arcgisCancel","type":{"text":"void"}},{"name":"arcgisSubmit","type":{"text":"string"}}],"importPath":"components/arcgis-assistant-shell"}],"exports":[{"kind":"custom-element-definition","name":"arcgis-assistant-shell","declaration":{"name":"ArcgisAssistantShell"}}]},{"kind":"javascript-module","path":"utils/index","sourcePath":"src/utils/index.ts","declarations":[{"kind":"interface","name":"UiInterrupt","description":"Represents a user-facing interruption emitted by an agent that requires\ninput before execution can continue. This is used to implement human-in-the-loop workflows where\nthe agent needs to ask the user for clarification, confirmation, or additional information\nbefore proceeding with its tasks.\n\nUsed to pause an agent flow and request clarification, confirmation,\nor additional information from the user.","docsTags":[{"name":"since","text":"5.0"}],"members":[{"kind":"field","name":"id","description":"Unique identifier for this interrupt instance. This is used to associate the interrupt with a\nspecific message or action in the agent's workflow, allowing the system to track and manage the\ninterrupt effectively.","type":{"text":"string"}},{"kind":"field","name":"agentId","description":"Identifier of the agent requesting input (e.g. \"navigation\", \"myCustomAgent\", etc.).\nThis is used to associate the interrupt with the specific agent that emitted it, which\ncan be helpful for debugging, logging, and providing context to the user about which agent\nis requesting input.","type":{"text":"string"}},{"kind":"field","name":"kind","description":"The type of input being requested. See the list below for the currently supported input types. This is used\nto determine how to render the interrupt in the user interface and what kind of input to expect from the user.\n\n- `booleanChoice` - Presents the user with a yes or no option. This is typically used for confirmation\nprompts where the agent needs to confirm an action with the user before proceeding. For example, some actions\nmay have a high risk of being destructive, such as applying an edit, submitting a form, or deleting data.\nIn these cases, the agent might ask for confirmation before proceeding.\n- `multipleSelection` - Presents the user with multiple options that the user may choose from in a checkbox\ninterface.\n- `singleSelection` - Presents the user with a list of options in a radio button interface, prompting the user\nto select a single option from a list.\n- `textInput` - Prompts the user to enter free-form text before proceeding. This is a flexible input\ntype that can be used for a wide variety of purposes, such as asking the user for more details about\na request, requesting specific information needed to complete a task, or allowing the user to\nprovide feedback or additional context.","type":{"text":"\"booleanChoice\" | \"multipleSelection\" | \"singleSelection\" | \"textInput\""}},{"kind":"field","name":"message","description":"The message shown to the user when prompting for input. This should provide clear instructions or\nquestions related to the interrupt, guiding the user on what information is needed or what action\nthey should take in response to the prompt.","type":{"text":"string | undefined"}},{"kind":"field","name":"metadata","description":"Additional data required to render or handle the interrupt. This is typically an array of strings\nrepresenting options for selection when the `kind` is `multipleSelection` or `singleSelection`.\nFor `booleanChoice`, the options are implicitly \"Yes\" and \"No\" and do not need to be provided.\nFor `textInput`, options are not applicable and should be omitted.","type":{"text":"unknown | undefined"}}]},{"kind":"interface","name":"AgentRegistration","description":"Definition of a client-side agent to register to the [arcgis-assistant-agent](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant-agent/) component.\nTo construct an agent, you must build a state graph using LangGraph that defines the agent's\nnodes, edges, workspace variables, and tools.","docsTags":[{"name":"see","text":"[LangGraph documentation](https://docs.langchain.com/oss/javascript/langgraph/overview)"},{"name":"see","text":"[Custom agents guide](https://developers.arcgis.com/javascript/latest/agentic-apps/ai-custom-agents/)"},{"name":"beta"},{"name":"since","text":"5.0"}],"members":[{"kind":"field","name":"id","description":"A unique identifier for the agent.","type":{"text":"string"}},{"kind":"field","name":"name","description":"A human-readable name for the agent. This must be unique, but also be semantically meaningful.","type":{"text":"string"}},{"kind":"field","name":"description","description":"A brief description of the agent's purpose and functionality. This is required for the agent to be\ndiscoverable in the orchestration of the [arcgis-assistant](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/). It should provide enough information\nfor the Assistant component and users to understand when to use this agent and what it can do.\nThis description should provide examples of user prompts that would indicate this agent should be used.","docsTags":[{"name":"example","text":"```js\nagentRegistration.description = \"This agent calculates service areas for a given location.\nUse this agent when users ask questions about drive or walk times from a specific location, or when they\nask for areas reachable within a certain time frame from a location.\";\n```"}],"type":{"text":"string"}},{"kind":"field","name":"createGraph","description":"A function that creates and returns the agent's state graph. This graph defines the agent's behavior,\nincluding how it processes inputs, makes decisions, and produces outputs. The graph consists of nodes and edges\nthat represent the agent's deterministic logic and flow. This is a structure defined using LangGraph's StateGraph.","docsTags":[{"name":"see","text":"[LangGraph documentation](https://docs.langchain.com/oss/javascript/langgraph/overview)"},{"name":"see","text":"[StateGraph documentation](https://langchain-ai.github.io/langgraphjs/reference/classes/langgraph.StateGraph.html)"},{"name":"see","text":"[Custom agents guide](https://developers.arcgis.com/javascript/latest/agentic-apps/ai-custom-agents/)"}],"type":{"text":"() => StateGraph<unknown>","references":[{"name":"StateGraph","module":"web","package":"@langchain/langgraph","start":6,"end":16}]}},{"kind":"field","name":"workspace","description":"The workspace variables or context required by the agent's graph. This includes messages, results,\nand any other relevant data required by the LLM to make decisions and determine parameters for function calls.\nThis is a structure defined using LangGraph's AnnotationRoot.","docsTags":[{"name":"see","text":"[LangGraph documentation](https://docs.langchain.com/oss/javascript/langgraph/overview)"},{"name":"see","text":"[AnnotationRoot documentation](https://langchain-ai.github.io/langgraphjs/reference/modules/langgraph.Annotation.html)"},{"name":"see","text":"[Custom agents guide](https://developers.arcgis.com/javascript/latest/agentic-apps/ai-custom-agents/)"}],"type":{"text":"AnnotationRoot<any>","references":[{"name":"AnnotationRoot","module":"web","package":"@langchain/langgraph","start":0,"end":14}]}}]},{"kind":"interface","name":"ArcgisPromptOptions","description":"Options for sending a prompt to an LLM.","docsTags":[{"name":"since","text":"5.0"}],"members":[{"kind":"field","name":"promptText","description":"The input prompt text to send to the model.","type":{"text":"string"}},{"kind":"field","name":"modelTier","description":"The model tier to use. See the following options:\n\n- `default` - The default model tier, which provides a balance of performance and cost.\n This is suitable for most general-purpose use cases. At JS SDK v5.0, this model\n tier corresponds to GPT-5 mini model.\n- `advanced` - An advanced model tier that may provide improved accuracy or capabilities compared to\n the default tier. However, it may also come with increased cost and slower performance. At\n JS SDK v5.0, this model tier corresponds to GPT-5.2 model.\n\nThe specific models available in each tier may evolve over time as new models are released and existing\nmodels are retired. The dates models are retired depends on the model provider and therefore may not\nalign with the semantic versioning rules of the JS SDK. Therefore, the user experience of apps may break\nin a minor version update of the JS SDK. It is important to keep your implementation flexible and test your prompts\nregularly to ensure they continue to perform as expected, especially when updating the JS SDK version or\n when new models are released.\n\nNote that the same prompt will not necessarily produce the same results across different\nmodels. As models are updated, you will need to re-evaluate the prompts you send to the LLM, including\nagent descriptions and tool node descriptions to\nensure they still return the expected responses. You should adjust your implementation as needed.","type":{"text":"\"advanced\" | \"default\" | undefined"}},{"kind":"field","name":"temperature","description":"The temperature to use for the model (a number between 0 and 1). Higher values will result in more\ncreative and varied responses, while lower values will produce more focused and deterministic responses.","type":{"text":"number | undefined"}},{"kind":"field","name":"messages","description":"The chat history used to provide context for the prompt. This should include the recent messages\nexchanged between the user and the assistant that are necessary for the model to generate an\ninformed response. Providing chat history can help the model understand the conversation context\nand produce more accurate and relevant responses.","type":{"text":"ChatHistory | undefined","references":[{"name":"ChatHistory","package":"@arcgis/ai-orchestrator","start":0,"end":11}]}},{"kind":"field","name":"inputVariables","description":"Input variables for the prompt. This can include any relevant variables related to the context\nprovided to the agent. This may be necessary for determining tool parameters or for providing additional\ncontext to the model when generating a response.","type":{"text":"Record<string, unknown> | undefined","references":[{"name":"Record","package":"global:","viewUrl":"https://www.typescriptlang.org/docs/handbook/utility-types.html#recordkeys-type","start":0,"end":6}]}}]},{"kind":"interface","name":"ArcgisStructuredPromptOptions","description":"Options when sending a prompt to an LLM that expects a structured response validated against a Zod schema.","docsTags":[{"name":"since","text":"5.0"}],"typeParameters":[{"name":"T"}],"supertypes":[{"name":"ArcgisPromptOptions","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/utils/index/#ArcgisPromptOptions"}],"members":[{"kind":"field","name":"schema","description":"A Zod schema that defines the expected structure of the model's response. For example, if the expected\nresult from a prompt sent to an LLM is parameters for a tool function that executes specific JS SDK core\nAPI calls, the schema should define the structure of those parameters. This allows the response from the model\nto be validated and parsed according to the defined schema, ensuring type safety and consistency.","docsTags":[{"name":"see","text":"[Zod documentation](https://zod.dev/api)"}],"type":{"text":"z.ZodType<T>","references":[{"name":"default","package":"zod","start":0,"end":1},{"name":"T","start":10,"end":11}]}}]},{"kind":"interface","name":"ArcgisToolPromptOptions","description":"Options when sending a prompt to an LLM when the node is expected to invoke tools (e.g. functions defined\nin the client). This includes the array of tools that the model can choose to invoke in response to the prompt.","docsTags":[{"name":"since","text":"5.0"}],"supertypes":[{"name":"ArcgisPromptOptions","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/utils/index/#ArcgisPromptOptions"}],"members":[{"kind":"field","name":"tools","description":"An array of tools that the model can choose to invoke in response to the prompt.","docsTags":[{"name":"see","text":"[StructuredToolInterface documentation](https://reference.langchain.com/javascript/interfaces/_langchain_core.tools.StructuredToolInterface.html)"}],"type":{"text":"StructuredToolInterface[]","references":[{"name":"StructuredToolInterface","module":"tools","package":"@langchain/core","start":0,"end":23}]}}]},{"kind":"interface","name":"TraceEventData","description":"Data structure for trace messages emitted by agents during graph execution.\nThis is used to send trace messages to the log in the chat interface, allowing users to see the\nintermediate steps and thought processes of the agent as it executes its graph.\nThis log will only be visible if the [ArcGISAssistant](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/#logEnabled) property is set to `true`.","docsTags":[{"name":"since","text":"5.0"},{"name":"see","text":"[ArcGISAssistant](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/#logEnabled)"}],"members":[{"kind":"field","name":"text","description":"The text content of the trace message. This should provide information about the agent's current state,\nthe actions it is taking, the decisions it is making, or any other relevant details that can help users\nunderstand the agent's behavior and thought process.","type":{"text":"string"}},{"kind":"field","name":"agentName","description":"The name of the agent associated with this trace message. This can help provide\nadditional context to users about which agent is emitting the trace message, especially in scenarios\nwhere multiple agents are involved in a conversation or workflow.","type":{"text":"string | undefined"}},{"kind":"field","name":"toolName","description":"The name of the tool associated with the trace message. This can help provide\nadditional context to users about which tool (e.g. function defined in the client) is being invoked or\nreferenced in the trace message, especially when the agent is using multiple tools in its workflow.","type":{"text":"string | undefined"}}]},{"kind":"function","name":"invokeTextPrompt","description":"Sends a prompt to an LLM and returns a plain text response. This function should be used when you expect\na simple text response from the model without the need for structured parsing or tool invocation.","docsTags":[{"name":"since","text":"5.0"},{"name":"see","text":"[Custom agents guide](https://developers.arcgis.com/javascript/latest/agentic-apps/ai-custom-agents/)"}],"parameters":[{"name":"options","description":"Options for the prompt, including the prompt text, model tier,\n temperature, chat history, and input variables.","type":{"text":"ArcgisPromptOptions","references":[{"name":"ArcgisPromptOptions","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/utils/index/#ArcgisPromptOptions","start":0,"end":19}]}}],"return":{"description":"The model response.","type":{"text":"Promise<string>","references":[{"name":"Promise","package":"global:","viewUrl":"https://next.gha.afd.arcgis.com/javascript/latest/programming-patterns/","start":0,"end":7}]}}},{"kind":"function","name":"invokeStructuredPrompt","description":"Sends a prompt to an LLM and returns a structured response validated against a Zod schema.","docsTags":[{"name":"see","text":"[Zod documentation](https://zod.dev/api)"},{"name":"since","text":"5.0"},{"name":"see","text":"[Custom agents guide](https://developers.arcgis.com/javascript/latest/agentic-apps/ai-custom-agents/)"}],"typeParameters":[{"name":"T"}],"parameters":[{"name":"options","description":"Prompt options, including a Zod schema for response validation.","type":{"text":"ArcgisStructuredPromptOptions<T>","references":[{"name":"ArcgisStructuredPromptOptions","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/utils/index/#ArcgisStructuredPromptOptions","start":0,"end":29},{"name":"T","start":30,"end":31}]}}],"return":{"description":"The model response parsed into the structure defined by the provided Zod schema.","type":{"text":"Promise<T>","references":[{"name":"Promise","package":"global:","viewUrl":"https://next.gha.afd.arcgis.com/javascript/latest/programming-patterns/","start":0,"end":7},{"name":"T","start":8,"end":9}]}}},{"kind":"function","name":"invokeToolPrompt","description":"Invokes a prompt with tools enabled and returns the model's tool call response.","docsTags":[{"name":"since","text":"5.0"},{"name":"see","text":"[AIMessage documentation](https://reference.langchain.com/javascript/classes/_langchain_core.messages.AIMessage.html)"},{"name":"see","text":"[Custom agents guide](https://developers.arcgis.com/javascript/latest/agentic-apps/ai-custom-agents/)"}],"parameters":[{"name":"options","description":"Prompt options, including an array of tools the model can invoke.","type":{"text":"ArcgisToolPromptOptions","references":[{"name":"ArcgisToolPromptOptions","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/utils/index/#ArcgisToolPromptOptions","start":0,"end":23}]}}],"return":{"description":"Resolves to the model's response as an AIMessage as defined in LangChain.","type":{"text":"Promise<AIMessage>","references":[{"name":"Promise","package":"global:","viewUrl":"https://next.gha.afd.arcgis.com/javascript/latest/programming-patterns/","start":0,"end":7},{"name":"AIMessage","module":"messages","package":"@langchain/core","start":8,"end":17}]}}},{"kind":"function","name":"sendTraceMessage","description":"Dispatches a graph trace message to the log in the chat interface. This allows agents to emit trace\nmessages during graph execution, providing users with insights into the intermediate steps, decisions,\nand actions taken by the agent. These trace messages can help users understand the agent's thought\nprocess and behavior as it executes its graph. It can also be useful for debugging and\ntransparency purposes.","docsTags":[{"name":"since","text":"5.0"},{"name":"see","text":"[ArcGISAssistant](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/#logEnabled)"},{"name":"see","text":"[RunnableConfig documentation](https://reference.langchain.com/javascript/interfaces/_langchain_core.runnables.RunnableConfig.html)"},{"name":"see","text":"[Custom agents guide](https://developers.arcgis.com/javascript/latest/agentic-apps/ai-custom-agents/)"}],"parameters":[{"name":"data","description":"Trace event data to display in the chat log, including the message, agent, and tool if applicable.","type":{"text":"TraceEventData","references":[{"name":"TraceEventData","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/utils/index/#TraceEventData","start":0,"end":14}]}},{"name":"config","description":"Optional runnable configuration\n [as defined in LangChain](https://reference.langchain.com/javascript/interfaces/_langchain_core.runnables.RunnableConfig.html),\n which can include additional context or variables to associate with the trace message.","optional":true,"type":{"text":"RunnableConfig","references":[{"name":"RunnableConfig","module":"runnables","package":"@langchain/core","start":0,"end":14}]}}],"return":{"description":"A promise that resolves once the event has been dispatched.","type":{"text":"Promise<void>","references":[{"name":"Promise","package":"global:","viewUrl":"https://next.gha.afd.arcgis.com/javascript/latest/programming-patterns/","start":0,"end":7}]}}},{"kind":"function","name":"getEmbeddings","description":"Generates vector embeddings for an array of strings.","parameters":[{"name":"inputs","description":"An array of text strings to be embedded.","type":{"text":"string[]"}}],"return":{"description":"A promise that resolves to an array of embedding vectors.","type":{"text":"Promise<number[][]>","references":[{"name":"Promise","package":"global:","viewUrl":"https://next.gha.afd.arcgis.com/javascript/latest/programming-patterns/","start":0,"end":7}]}}},{"kind":"function","name":"cosineSimilarity","description":"Calculates the cosine similarity between two numeric vectors. This is used to measure the similarity\nbetween two embedding vectors, where a score of 1 indicates identical vectors, 0 indicates orthogonal\nvectors, and -1 indicates opposite vectors.","parameters":[{"name":"vectorA","description":"The first vector array.","type":{"text":"number[]"}},{"name":"vectorB","description":"The second vector array.","type":{"text":"number[]"}}],"return":{"description":"A similarity score from -1 (opposite) to 1 (identical).","type":{"text":"number"}}}]}]}
1
+ {"timestamp":"2026-03-12T04:39:49","compiler":{"name":"@arcgis/lumina-compiler","version":"5.1.0-next.40","typescriptVersion":"5.9.3"},"schemaVersion":"2.1.0","modules":[{"kind":"javascript-module","path":"index","sourcePath":"src/index.ts","declarations":[{"kind":"function","name":"getAssetPath","description":"Get a resolved path from where an asset can be loaded.","parameters":[{"name":"suffix","description":"The relative path for the asset.","type":{"text":"string"}}],"return":{"type":{"text":"string"}}},{"kind":"function","name":"setAssetPath","description":"Used to manually set the base path where package assets (like localization\nand icons) can be found.\n\nBy default, the package assets are loaded from\n`https://js.arcgis.com/<version>/<simplified-package-name>/`. We are hosting\nour assets on a CDN (Content Delivery Network) to ensure fast and reliable\naccess. It is CORS-enabled, so you can load the assets from any domain. This\nis the recommended way to load the assets and avoid bundling them with your\napplication.\n\nHowever, if you need to host the assets locally, you can copy them manually\nas part of your build process and use `setAssetPath` to customize where the\nbrowser will load the assets from.","parameters":[{"name":"path","description":"Relative or absolute path to the assets folder.","type":{"text":"URL | string","references":[{"name":"URL","package":"global:","viewUrl":"https://developer.mozilla.org/docs/Web/API/URL","start":0,"end":3}]}}],"return":{"type":{"text":"void"}}}]},{"kind":"javascript-module","path":"components/arcgis-assistant","sourcePath":"src/components/assistant/assistant.tsx","declarations":[{"kind":"class","name":"ArcgisAssistant","customElement":true,"tagName":"arcgis-assistant","pascalCaseName":"ArcgisAssistant","description":"The ArcGIS Assistant component provides a chat-based natural language interface for interacting with\nweb map data via agents. This component uses an orchestrator, which relies on a large language model (LLM)\nfor determining user intent. Once the intent is determined, the assistant routes the user's request\nto an agent that uses an LLM to generate text and structured responses.\n\nBy default, the `arcgis-assistant` component does not include any agents. You must register at least one\nagent for the assistant to function. You can register agents declaratively using any of the\navailable agent components, or you can register custom agents.\n\n## Register agents\n\nTo register agents declaratively, include one or more agent components as children\nof the `arcgis-assistant` component. This can be done in HTML or programmatically using JavaScript.\n\n```html\n<arcgis-map id=\"my-map\"></arcgis-map>\n<arcgis-assistant reference-element=\"#my-map\">\n <arcgis-assistant-navigation-agent></arcgis-assistant-navigation-agent>\n <arcgis-assistant-data-exploration-agent></arcgis-assistant-data-exploration-agent>\n <arcgis-assistant-help-agent></arcgis-assistant-help-agent>\n</arcgis-assistant>\n```\n\n```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nconst navigationAgent = document.createElement(\"arcgis-assistant-navigation-agent\");\nconst dataExplorationAgent = document.createElement(\"arcgis-assistant-data-exploration-agent\");\nassistant.appendChild(navigationAgent);\nassistant.appendChild(dataExplorationAgent);\n```\n\nNote that the `reference-element` property on the `arcgis-assistant` component must point to a valid `arcgis-map` element\nfor the included ArcGIS agents to function properly, as they rely on the map context to perform their tasks. This is not\na requirement for [custom agents](https://developers.arcgis.com/javascript/latest/agentic-apps/ai-custom-agents/).\n\n## Context\n\nUse the [referenceElement](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/#referenceElement) property to provide a web map as context to the assistant and its agents.\nThis should be a reference to the map that the assistant will interact with, and is required for the included ArcGIS\nagents to function properly.\n\nTo learn more about this component, try out the [demo](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/#demos)\n\n## Important considerations and best practices\n\nDue to the non-deterministic nature of generative AI, there may be inaccuracies or unexpected behavior when using the\nout-of-the-box agents. Therefore, it is important to set clear expectations\nfor end users and provide guidance on how to interact with the assistant to help mitigate these issues. Some ways to do this include:\n\n- Provide [suggestedPrompts](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/#suggestedPrompts). This helps users understand the bounds of the assistant\nand gives them an idea of how to phrase questions to get the best results.\n- Use the [entryMessage](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/#entryMessage) property to provide an entry message with instructions and guidance.","docsTags":[{"name":"since","text":"5.0"},{"name":"beta"},{"name":"see","text":"[Intro to building agentic mapping applications](https://developers.arcgis.com/javascript/latest/agentic-apps/ai-introduction/)"},{"name":"see","text":"[AI Assistant component sample](https://developers.arcgis.com/javascript/latest/sample-code/ai-assistant/)"},{"name":"see","text":"[arcgis-assistant-data-exploration-agent](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant-data-exploration-agent/)"},{"name":"see","text":"[arcgis-assistant-navigation-agent](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant-navigation-agent/)"},{"name":"see","text":"[arcgis-assistant-help-agent](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant-help-agent/)"}],"demos":[{"description":"Docs","url":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/"},{"description":"Assistant Intro\nIntroduction to the Assistant component.","url":"https://developers.arcgis.com/javascript/latest/storybook/ai-components/?path=/story/arcgis-assistant--demo&singleStory=true"}],"superclass":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"members":[{"kind":"field","name":"copyEnabled","description":"When `true`, enables the copy action that, when clicked, copies the content of the message to the clipboard. This can be helpful for users to easily copy and share\ninformation provided by the assistant, such as a summary of findings, a set of instructions, or any other relevant details. Enabling this property can enhance the user experience by providing a convenient way for users to capture and utilize the information generated by the assistant.","docsTags":[{"name":"example","text":"```html\n<arcgis-assistant copy-enabled></arcgis-assistant>\n```"},{"name":"example","text":"```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nassistant.copyEnabled = true;\n```"}],"type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","attribute":"copy-enabled"},{"kind":"field","name":"description","description":"The description text displayed below the heading in the assistant. This text provides additional\ncontext about the assistant's capabilities and how users can interact with it.","docsTags":[{"name":"example","text":"```html\n<arcgis-assistant description=\"Explore parcel data ownership, zoning designations, and other relevant information.\"></arcgis-assistant>\n```"},{"name":"example","text":"```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nassistant.description = \"Explore parcel data ownership, zoning designations, and other relevant information.\";\n```"}],"type":{"text":"string | undefined","values":[{"type":"string"}]},"attribute":"description"},{"kind":"field","name":"entryMessage","description":"The instructions to display when the assistant is first loaded. This is intended to be a welcome or entry message that\nprovides guidance to users on how to interact with the assistant. Once the user submits their first message,\nthe entry message will be closed and replaced with the chat interface. You can use this property to provide\ninstructions, suggest prompts, or simply welcome users to the assistant.","docsTags":[{"name":"example","text":"```html\n<arcgis-assistant entry-message=\"I can answer questions about parcel ownership, zoning, and other relevant information.\"></arcgis-assistant>\n```"},{"name":"example","text":"```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nassistant.entryMessage = \"I can answer questions about parcel ownership, zoning, and other relevant information.\";\n```"}],"type":{"text":"string | undefined","values":[{"type":"string"}]},"attribute":"entry-message"},{"kind":"field","name":"feedbackEnabled","description":"When `true`, enables the feedback action in the chat interface, allowing developers to capture user feedback on the assistant's responses.\nThe action simply provides a thumbs up and thumbs down experience for users to indicate whether a response was helpful or not. When the\nuser submits feedback, the [@arcgisFeedback](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/#event-arcgisFeedback) event is emitted allowing the app developer to capture additional feedback\nthrough a custom interface and log it to a database or service for later analysis.","docsTags":[{"name":"example","text":"```html\n<arcgis-assistant feedback-enabled></arcgis-assistant>\n```"},{"name":"example","text":"```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nassistant.feedbackEnabled = true;\nassistant.addEventListener(\"arcgisFeedback\", (event) => {\n const feedback = event.detail;\n // Capture additional feedback from the user and log it to a database or service for later analysis\n});\n```"}],"type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","attribute":"feedback-enabled"},{"kind":"field","name":"heading","description":"The heading text displayed at the top of the assistant. This name should be concise and\ndescriptive of the assistant's purpose.\n\nFor applications where the primary interface is the assistant, this heading could also be used as the\napplication title. In cases where the assistant could be collapsed or is a secondary interface to a standard\nGUI, the heading should be more specific to the assistant's function to avoid confusion with the overall\napplication title.","docsTags":[{"name":"example","text":"```html\n<arcgis-assistant heading=\"Parcel Viewer\"></arcgis-assistant>\n```"},{"name":"example","text":"```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nassistant.heading = \"Zoning Assistant\";\n```"}],"type":{"text":"string | undefined","values":[{"type":"string"}]},"attribute":"heading"},{"kind":"field","name":"keepSuggestedPrompts","description":"When `true`, keeps suggested prompts displayed in the UI after the user submits a message. By default, suggested prompts are cleared,\nwhen the user submits a message.","docsTags":[{"name":"example","text":"```html\n<arcgis-assistant keep-suggested-prompts></arcgis-assistant>\n```"},{"name":"example","text":"```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nassistant.keepSuggestedPrompts = true;\n```"}],"type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","attribute":"keep-suggested-prompts"},{"kind":"field","name":"logEnabled","description":"When `true`, enables the log action that when clicked displays log messages in the chat interface. Log messages provide detailed messages including\nwhich agents or tools were invoked, the parameters generated by the LLM, and any relevant details about how the assistant arrived at its response.\nEnabling logs can be helpful for developers for debugging during the development of an assistant or agentic web application.\nIt may also be useful to end users for transparency purposes, allowing them to understand the assistant's behavior and decision-making process.\n\nEnabling this property for a production app depends on the role of the audience. More technical audiences may benefit from having access to these\nlogs while non-technical audiences may find them overwhelming or confusing.","docsTags":[{"name":"example","text":"```html\n<arcgis-assistant log-enabled></arcgis-assistant>\n```"},{"name":"example","text":"```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nassistant.logEnabled = true;\n```"}],"type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","attribute":"log-enabled"},{"kind":"field","name":"messages","description":"The collection of messages exchanged between the user and the assistant. Each message includes the role\n(user or assistant), along with any relevant logs or errors. These messages are rendered in the chat interface\nand are used to provide context for the conversation. When a user submits a message, it is added to this\ncollection with the role of \"user\". When the assistant generates a response, it is added to this collection\nwith the role of \"assistant\", along with any logs or errors that occurred during processing.","type":{"text":"Collection<ChatMessage>","references":[{"name":"default","module":"core/Collection.js","package":"@arcgis/core","viewUrl":"https://developers.arcgis.com/javascript/latest/references/core/core/Collection/","start":0,"end":10},{"name":"ChatMessage","module":"components/arcgis-assistant/types","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/types#ChatMessage","start":11,"end":22}]}},{"kind":"field","name":"referenceElement","description":"The reference element to the map that provides context for the assistant and its agents. Currently,\nthis is only scoped to `arcgis-map` elements. This is required when ArcGIS agents are registered to the assistant.\nFor example, this allows the navigation agent to execute a map navigation tool for a specific map.","docsTags":[{"name":"example","text":"```html\n<arcgis-map id=\"my-map\"></arcgis-map>\n<arcgis-assistant reference-element=\"my-map\"></arcgis-assistant>\n```"}],"type":{"text":"ArcgisMap | string | null","references":[{"name":"ArcgisMap","module":"components/arcgis-map","package":"@arcgis/map-components","start":0,"end":9}],"values":[{"type":"string"},{"type":"object"}]},"attribute":"reference-element"},{"kind":"field","name":"suggestedPrompts","description":"Prompts to suggest to the end user on load. These are intended to help users understand which questions they can ask.\nThis property should be set to establish boundaries for the end user. As all agents have limitations and LLMs can\nbe unpredictable, it's important to set clear expectations for users to give them a better chance to succeed.\nBy providing suggested prompts, you can guide users towards asking questions that are relevant to the data being\nused and the capabilities of the registered agents, which can help to ensure that the assistant provides accurate\nand helpful responses.\n\nYou should typically provide 2-3 suggested prompts.","docsTags":[{"name":"since","text":"5.0"},{"name":"example","text":"```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nassistant.suggestedPrompts = [\n \"What city has the highest population?\",\n \"What is the highest point in this area?\"\n];\n```"}],"type":{"text":"string[]"}},{"kind":"method","name":"clearChatHistory","description":"Clears the chat history between the user and the assistant. This method can be used to programmatically reset the conversation,\nremoving all messages from the chat interface.","docsTags":[{"name":"since","text":"5.0"},{"name":"example","text":"```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nassistant.clearChatHistory();\n```"}],"return":{"type":{"text":"Promise<void>","references":[{"name":"Promise","package":"global:","viewUrl":"https://next.gha.afd.arcgis.com/javascript/latest/programming-patterns/","start":0,"end":7}]}},"signature":"(): Promise<void>"},{"kind":"method","name":"componentOnReady","description":"Creates a promise that resolves once the component is fully loaded.","docsTags":[{"name":"example","text":"```js\nconst arcgisAssistant = document.querySelector(\"arcgis-assistant\");\ndocument.body.append(arcgisAssistant);\nawait arcgisAssistant.componentOnReady();\nconsole.log(\"arcgis-assistant is ready to go!\");\n```"}],"return":{"type":{"text":"Promise<this>","references":[{"name":"Promise","module":"lib/lib.es5.d.ts","package":"typescript","start":0,"end":7}]}},"inheritedFrom":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"signature":"(): Promise<this>"},{"kind":"method","name":"submitMessage","description":"Programmatically submits a message to the assistant. This method can be used to submit messages from outside the component,\nsuch as from another component or from custom JavaScript code. When a message is submitted using this method, it is added\nto the messages collection with the role of \"user\", and then processed by the assistant in the same way as if it were submitted\nthrough the chat interface. This allows for greater flexibility in how messages are sent to the assistant and can enable more\ncomplex interactions and integrations with other components or services.","docsTags":[{"name":"example","text":"```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nassistant.submitMessage(\"What is the population of New York City?\");\n```"}],"parameters":[{"name":"message","description":"The message to submit to the assistant. This should be a string containing the user's input or question they want to ask the assistant.","type":{"text":"string"}}],"return":{"type":{"text":"Promise<void>","references":[{"name":"Promise","package":"global:","viewUrl":"https://next.gha.afd.arcgis.com/javascript/latest/programming-patterns/","start":0,"end":7}]}},"signature":"(message: string): Promise<void>"}],"attributes":[{"name":"copy-enabled","description":"When `true`, enables the copy action that, when clicked, copies the content of the message to the clipboard. This can be helpful for users to easily copy and share\ninformation provided by the assistant, such as a summary of findings, a set of instructions, or any other relevant details. Enabling this property can enhance the user experience by providing a convenient way for users to capture and utilize the information generated by the assistant.","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","fieldName":"copyEnabled"},{"name":"description","description":"The description text displayed below the heading in the assistant. This text provides additional\ncontext about the assistant's capabilities and how users can interact with it.","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"description"},{"name":"entry-message","description":"The instructions to display when the assistant is first loaded. This is intended to be a welcome or entry message that\nprovides guidance to users on how to interact with the assistant. Once the user submits their first message,\nthe entry message will be closed and replaced with the chat interface. You can use this property to provide\ninstructions, suggest prompts, or simply welcome users to the assistant.","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"entryMessage"},{"name":"feedback-enabled","description":"When `true`, enables the feedback action in the chat interface, allowing developers to capture user feedback on the assistant's responses.\nThe action simply provides a thumbs up and thumbs down experience for users to indicate whether a response was helpful or not. When the\nuser submits feedback, the [@arcgisFeedback](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/#event-arcgisFeedback) event is emitted allowing the app developer to capture additional feedback\nthrough a custom interface and log it to a database or service for later analysis.","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","fieldName":"feedbackEnabled"},{"name":"heading","description":"The heading text displayed at the top of the assistant. This name should be concise and\ndescriptive of the assistant's purpose.\n\nFor applications where the primary interface is the assistant, this heading could also be used as the\napplication title. In cases where the assistant could be collapsed or is a secondary interface to a standard\nGUI, the heading should be more specific to the assistant's function to avoid confusion with the overall\napplication title.","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"heading"},{"name":"keep-suggested-prompts","description":"When `true`, keeps suggested prompts displayed in the UI after the user submits a message. By default, suggested prompts are cleared,\nwhen the user submits a message.","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","fieldName":"keepSuggestedPrompts"},{"name":"log-enabled","description":"When `true`, enables the log action that when clicked displays log messages in the chat interface. Log messages provide detailed messages including\nwhich agents or tools were invoked, the parameters generated by the LLM, and any relevant details about how the assistant arrived at its response.\nEnabling logs can be helpful for developers for debugging during the development of an assistant or agentic web application.\nIt may also be useful to end users for transparency purposes, allowing them to understand the assistant's behavior and decision-making process.\n\nEnabling this property for a production app depends on the role of the audience. More technical audiences may benefit from having access to these\nlogs while non-technical audiences may find them overwhelming or confusing.","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","fieldName":"logEnabled"},{"name":"reference-element","description":"The reference element to the map that provides context for the assistant and its agents. Currently,\nthis is only scoped to `arcgis-map` elements. This is required when ArcGIS agents are registered to the assistant.\nFor example, this allows the navigation agent to execute a map navigation tool for a specific map.","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"referenceElement"}],"events":[{"name":"arcgisCancel","description":"Emitted when the user cancels a message. This is typically invoked when a user submits a question while a previous question is still being processed.\nThis allows app developers to capture messages cancelled by the user and respond to them in custom ways, such as by providing additional information,\ntriggering other actions in the app, or logging them for analysis.","docsTags":[{"name":"example","text":"```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nassistant.addEventListener(\"arcgisCancel\", (event) => {\n // Handle the cancelled message\n});\n```"}],"type":{"text":"void"}},{"name":"arcgisError","description":"Emitted when the assistant encounters an error. The event detail includes an Error object with information about the error that occurred.\nThis allows app developers to capture errors that occur within the assistant and respond to them in custom ways, such as by displaying an\nerror message to the user, logging the error for analysis, or triggering other actions in the app.","docsTags":[{"name":"example","text":"```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nassistant.addEventListener(\"arcgisError\", (event) => {\n const error = event.detail;\n // Handle the error, such as by displaying an error message to the user or logging it for analysis\n});\n```"}],"type":{"text":"Error","references":[{"name":"Error","package":"global:","viewUrl":"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Error","start":0,"end":5}]}},{"name":"arcgisFeedback","description":"Emitted when the user clicks the thumbs up or thumbs down feedback action that is displayed when [feedbackEnabled](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/#feedbackEnabled) is `true`.\nThe event detail includes an AssistantMessage object that includes a feedback property with an object indicating whether the feedback is positive or negative.\nThis allows the application to capture user feedback on the assistant's responses and respond to it in custom ways, such as by providing additional\ninformation, adjusting the assistant's behavior, logging the feedback for analysis, or triggering other actions in the app.","docsTags":[{"name":"example","text":"```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nassistant.addEventListener(\"arcgisFeedback\", (event) => {\n const feedback = event.detail;\n // Handle the feedback, such as by providing additional information, adjusting the assistant's behavior, or logging it for analysis\n});\n```"}],"type":{"text":"AssistantMessage","references":[{"name":"AssistantMessage","module":"components/arcgis-assistant/types","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/types#AssistantMessage","start":0,"end":16}]}},{"name":"arcgisInterrupt","description":"Emitted when an agent triggers an interrupt. An interrupt is a human-in-the-loop mechanism that provides a UI component prompting\nthe user for additional information.","docsTags":[{"name":"example","text":"```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nassistant.addEventListener(\"arcgisInterrupt\", (event) => {\n const interrupt = event.detail;\n // Handle the interrupt\n});\n```"}],"type":{"text":"Interrupt","references":[{"name":"Interrupt","module":"components/arcgis-assistant/types","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/types#Interrupt","start":0,"end":9}]}},{"name":"arcgisInterruptCancel","description":"Emitted when the user cancels an interrupt. This is typically invoked when a user clicks the cancel button displayed in an interrupt message","docsTags":[{"name":"example","text":"```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nassistant.addEventListener(\"arcgisInterruptCancel\", (event) => {\n // Handle the interrupt cancellation such as logging it for analysis\n});\n```"}],"type":{"text":"void"}},{"name":"arcgisInterruptSubmit","description":"Emitted when the user submits a message during an interrupt. For example, this will be invoked if the user clicks the submit button\nin an interrupt message asking for confirmation, or when the user submits additional text or selects an option provided in an interrupt.","docsTags":[{"name":"example","text":"```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nassistant.addEventListener(\"arcgisInterruptSubmit\", (event) => {\n const message = event.detail; // The message or option selected by the user for the interrupt\n // Do something with the interrupt submission\n});\n```"}],"type":{"text":"string[] | boolean | string"}},{"name":"arcgisReady","description":"Emitted when the assistant is ready to receive messages from the end user. This indicates that the assistant has been successfully\ninitialized and is ready to process user input.","docsTags":[{"name":"example","text":"```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nassistant.addEventListener(\"arcgisReady\", (event) => {\n // Handle the assistant being ready, such as by hiding a loading indicator,\n // displaying a welcome message, or enabling certain UI elements for user interaction\n});\n```"}],"type":{"text":"void"}},{"name":"arcgisSubmit","description":"Emitted when the user submits a message. This is typically invoked when a user clicks the submit button in the chat interface or hits the Enter key.","docsTags":[{"name":"example","text":"```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nassistant.addEventListener(\"arcgisSubmit\", (event) => {\n const message = event.detail;\n // Do something with the submitted message, such as logging it for analysis or triggering other actions in the app\n});\n```"}],"type":{"text":"string"}}],"slots":[{"name":"","description":"This is the default slot"},{"name":"header-actions-end","description":"Slot for adding actions to the end of the header."},{"name":"entry-message","description":"Slot for adding a welcome or entry message on load."},{"name":"entry-actions-start","description":"Slot for adding actions to the start of the entry area."},{"name":"footer-content","description":"Slot for adding content to the footer."}],"importPath":"components/arcgis-assistant"}],"exports":[{"kind":"custom-element-definition","name":"arcgis-assistant","declaration":{"name":"ArcgisAssistant"}}]},{"kind":"javascript-module","path":"components/arcgis-assistant/types","sourcePath":"src/components/assistant/types.ts","declarations":[{"kind":"interface","name":"Interrupt","description":"An interrupt is a UI mechanism used by an agent to prompt the user for additional input or clarification.","members":[{"kind":"field","name":"id","description":"The unique identifier of the message associated with the interrupt. This is used to associate the interrupt\nwith specific messages.","type":{"text":"string | undefined"}},{"kind":"field","name":"type","description":"The type of interrupt, which determines how the assistant will prompt the user for input. The available types are:\n\n- `boolean-choice`: Presents the user with a yes/no question.\n- `multi-select`: Allows the user to select multiple options from a list using a checkbox interface.\n- `single-select`: Allows the user to select a single option from a list using a radio button interface.\n- `text-input`: Prompts the user to enter free-form text input.\n\nThe assistant will use the specified type to determine how to display the prompt and collect the user's response.\nFor example, a `boolean-choice` interrupt might be used to confirm an action, while a `text-input`\ninterrupt could be used to ask for more details about a request.","type":{"text":"\"boolean-choice\" | \"multi-select\" | \"single-select\" | \"text-input\""}},{"kind":"field","name":"message","description":"The message to display to the user when prompting for input. This should provide clear instructions or questions\nrelated to the interrupt, guiding the user on what information is needed or what action they should take in response\nto the prompt.\n\nFor example, if the interrupt type is `boolean-choice`, the message might be \"Do you want to proceed with this\naction?\" If the type is `text-input`, the message could be \"Please provide more details about your request.\"","type":{"text":"string | undefined"}},{"kind":"field","name":"options","description":"The options to present to the user for selection when the interrupt type is `multi-select` or `single-select`.\nThis should be an array of strings representing the available choices. For `boolean-choice`,\nthe options are implicitly \"Yes\" and \"No\" and do not need to be provided.\nFor `text-input`, options are not applicable and should be omitted.\n\nFor example, if the interrupt type is `multi-select`, the options might be [\"Option 1\", \"Option 2\", \"Option 3\"].\nIf the type is `single-select`, the options could be [\"Choice A\", \"Choice B\", \"Choice C\"].","type":{"text":"string[] | undefined"}}]},{"kind":"interface","name":"AssistantMessage","description":"A chat message sent by the assistant.","supertypes":[{"name":"ChatMessageBase","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/types#ChatMessageBase"}],"members":[{"kind":"field","name":"role","type":{"text":"\"assistant\""}},{"kind":"field","name":"content","description":"The content of the assistant's message. This can include text generated by the assistant in response to the user's message. The content is displayed in the chat interface for the user to read and interact with.","type":{"text":"string | undefined"}},{"kind":"field","name":"log","description":"Log messages related to the assistant's processing of the user's request. This can include information about\nthe agents or tools it invoked, the parameters generated by the LLM, and any relevant details about how it\narrived at its response. Log messages are primarily intended for debugging and transparency purposes, allowing\ndevelopers and users to understand the assistant's behavior and decision-making process.","type":{"text":"string[] | undefined"}},{"kind":"field","name":"error","description":"An error message indicating any issues that occurred while the assistant was processing the user's request.\nThe error message may be displayed in the chat interface to inform the user of the issue and can also be used for\ndebugging and improving the assistant's performance.","type":{"text":"string | undefined"}},{"kind":"field","name":"feedback","description":"Feedback provided by the user for this specific assistant message. This allows users to indicate whether the\nassistant's response was helpful or not, which the app developer can capture and use to improve the assistant's\nperformance over time.","type":{"text":"Feedback | undefined","references":[{"name":"Feedback","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/types#Feedback","start":0,"end":8}]}}]},{"kind":"interface","name":"ChatMessage","description":"A chat message from the user or the assistant. Messages include all relevant information such as content,\nlogs, errors, and feedback.","type":{"text":"AssistantMessage | UserMessage","references":[{"name":"AssistantMessage","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/types#AssistantMessage","start":0,"end":16},{"name":"UserMessage","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/types#UserMessage","start":19,"end":30}]}},{"kind":"interface","name":"ChatMessageBase","description":"The base interface for chat messages exchanged between the user and the assistant.","members":[{"kind":"field","name":"id","description":"The unique identifier for the message. This is used to associate messages with interrupts and feedback.\nIf not provided, a unique ID will be generated automatically.","type":{"text":"string"}}]},{"kind":"interface","name":"UserMessage","description":"A chat message sent by the user.","supertypes":[{"name":"ChatMessageBase","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/types#ChatMessageBase"}],"members":[{"kind":"field","name":"role","type":{"text":"\"user\""}},{"kind":"field","name":"content","description":"The content of the user's message. This is the text input provided by the user in the chat interface.\nThis content is sent to the assistant and its agents for processing and generating responses.","type":{"text":"string"}}]},{"kind":"interface","name":"Feedback","description":"Feedback provided by the user for a specific message.","members":[{"kind":"field","name":"positive","description":"Indicates whether the feedback is positive or negative.","type":{"text":"boolean"}}]}]},{"kind":"javascript-module","path":"components/arcgis-assistant-agent","sourcePath":"src/components/assistant/assistant-agents/assistant-agent/assistant-agent.tsx","declarations":[{"kind":"class","name":"ArcgisAssistantAgent","customElement":true,"tagName":"arcgis-assistant-agent","pascalCaseName":"ArcgisAssistantAgent","description":"The Assistant Agent component is a generic wrapper for registering custom agents to the [arcgis-assistant](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/) component. To define\na custom agent, you must be familiar with [LangGraph](https://docs.langchain.com/oss/javascript/langgraph/overview). Custom agents must\ninclude a StateGraph that defines the agent's graph and subgraphs.\n\nBuilding custom agents can only be done using modern JavaScript/TypeScript tooling and cannot be done directly in HTML using\nCDN imports. Therefore, you must use a package manager like npm or yarn to install the required dependencies. Please refer to the\n[Custom Agents guide](https://developers.arcgis.com/javascript/latest/agentic-apps/ai-custom-agents/) for more instructions on how to create a custom agent.\n\nUse the [utils](https://developers.arcgis.com/javascript/latest/references/ai-components/utils/index/) module for helper functions and types related to building custom agents, including the `AgentRegistration`\ntype and functions for making LLM calls, managing agent state, and setting up human-in-the-loop workflows.\n\n> We recommend that developers building custom agents have experience working with LLMs and generative AI, and have a good\nunderstanding of the limitations of these technologies when building applications for end users.\n\nThis is an unrendered component that must be added as a child of the `arcgis-assistant` component in either HTML or JavaScript.\n\n```html\n<arcgis-assistant></arcgis-assistant>\n```\n\n```js\nconst myCustomAgent = {\n id: \"my-custom-agent\",\n name: \"My Custom Agent\",\n description: \"An agent that does custom things. Use this agent when users want to do custom things.\",\n createGraph: {\n // StateGraph definition using LangGraph\n },\n workspace: {\n // AnnotationRoot definition using LangGraph\n // relevant variables and context required by the agent\n },\n};\n\nconst assistant = document.querySelector(\"arcgis-assistant\");\nconst assistantAgent = document.createElement(\"arcgis-assistant-agent\");\n\nassistantAgent.agent = myCustomAgent;\nassistant.appendChild(assistantAgent);\n```","docsTags":[{"name":"since","text":"5.0"},{"name":"beta"},{"name":"see","text":"[arcgis-assistant](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/)"},{"name":"see","text":"[LangGraph documentation](https://docs.langchain.com/oss/javascript/langgraph/overview)"},{"name":"see","text":"[Custom agents guide](https://developers.arcgis.com/javascript/latest/agentic-apps/ai-custom-agents/)"},{"name":"see","text":"[AI Assistant component sample](https://developers.arcgis.com/javascript/latest/sample-code/ai-assistant/)"},{"name":"see","text":"[AgentRegistration](https://developers.arcgis.com/javascript/latest/references/ai-components/utils/index/#AgentRegistration)"},{"name":"see","text":"[invokeStructuredPrompt](https://developers.arcgis.com/javascript/latest/references/ai-components/utils/index/#invokeStructuredPrompt)"},{"name":"see","text":"[invokeToolPrompt](https://developers.arcgis.com/javascript/latest/references/ai-components/utils/index/#invokeToolPrompt)"},{"name":"see","text":"[invokeTextPrompt](https://developers.arcgis.com/javascript/latest/references/ai-components/utils/index/#invokeTextPrompt)"}],"demos":[{"description":"Docs","url":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant-agent/"}],"typeParameters":[{"name":"TContext","default":{"text":"Record<string, unknown>","references":[{"name":"Record","package":"global:","viewUrl":"https://www.typescriptlang.org/docs/handbook/utility-types.html#recordkeys-type","start":0,"end":6}]}}],"superclass":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"members":[{"kind":"field","name":"agent","description":"The agent registration object that defines the AI agent's behavior and capabilities.\nThis must include a StateGraph definition (defined using\n[LangGraph](https://docs.langchain.com/oss/javascript/langgraph/overview)).\n\nThis is an agent defined in the client and can be invoked by the assistant from the browser to perform specific tasks\nusing functions defined in the client.\n\nSee the [Custom Agents guide](https://developers.arcgis.com/javascript/latest/agentic-apps/ai-custom-agents/) for more instructions\nand links to samples demonstrating how to create custom agents.","docsTags":[{"name":"required"},{"name":"see","text":"[LangGraph documentation](https://docs.langchain.com/oss/javascript/langgraph/overview)"},{"name":"see","text":"[Custom agents guide](https://developers.arcgis.com/javascript/latest/agentic-apps/ai-custom-agents/)"},{"name":"example","text":"```js\n// An example graph that updates a component property and replies with a confirmation message\nconst myCustomGraph = () => {\n const graph = new StateGraph(myCustomState)\n .addNode(\"updateComponentProperty\", updateComponentProperty)\n .addNode(\"replyComponentPropertyUpdate\", replyComponentPropertyUpdate)\n .addEdge(START, \"updateComponentProperty\")\n .addEdge(\"updateComponentProperty\", \"replyComponentPropertyUpdate\")\n .addEdge(\"replyComponentPropertyUpdate\", END);\n\n return graph;\n};\n\nconst myCustomAgentState = Annotation.Root({\n // This is required to keep track of chat messages between the user and the agent\n messages: Annotation<ChatHistory>({\n reducer: messagesStateReducer,\n default: () => [],\n }),\n // Accumulates user-visible output across graph nodes\n outputMessage: Annotation<string>({\n reducer: (current = \"\", update) =>\n typeof update === \"string\" && update.trim()\n ? current\n ? `${current}\\n\\n${update}`\n : update\n : current,\n default: () => \"\",\n }),\n // Result of the UI action performed by the agent\n // This is a custom type defined by the application\n result: Annotation<UIActionResult | null>({\n reducer: (_current, update) => update ?? null,\n default: () => null,\n }),\n});\n\nconst myCustomAgent = {\n id: \"my-custom-agent\",\n name: \"My Custom Agent\",\n description: \"An agent that does custom things. Use this agent when users want to do custom things.\",\n createGraph: myCustomGraph,\n workspace: myCustomAgentState,\n};\n\nconst assistant = document.querySelector(\"arcgis-assistant\");\nconst assistantAgent = document.createElement(\"arcgis-assistant-agent\");\n\nassistantAgent.agent = myCustomAgent;\nassistant.appendChild(assistantAgent);\n```"}],"type":{"text":"AgentRegistration","references":[{"name":"AgentRegistration","package":"@arcgis/ai-orchestrator","start":0,"end":17}]}},{"kind":"field","name":"context","description":"If the agent requires context provided by the application or user, it can be provided via this property and accessed in the\nagent's graph nodes.","docsTags":[{"name":"example","text":"```js\nassistantAgent.context = {\n myData: {\n // data required for the custom agent\n },\n};\n```"}],"type":{"text":"TContext | (() => Promise<TContext | undefined> | TContext | undefined) | undefined","references":[{"name":"TContext","start":0,"end":8},{"name":"Promise","package":"global:","viewUrl":"https://next.gha.afd.arcgis.com/javascript/latest/programming-patterns/","start":18,"end":25},{"name":"TContext","start":26,"end":34},{"name":"TContext","start":50,"end":58}]}},{"kind":"method","name":"componentOnReady","description":"Creates a promise that resolves once the component is fully loaded.","docsTags":[{"name":"example","text":"```js\nconst arcgisAssistantAgent = document.querySelector(\"arcgis-assistant-agent\");\ndocument.body.append(arcgisAssistantAgent);\nawait arcgisAssistantAgent.componentOnReady();\nconsole.log(\"arcgis-assistant-agent is ready to go!\");\n```"}],"return":{"type":{"text":"Promise<this>","references":[{"name":"Promise","module":"lib/lib.es5.d.ts","package":"typescript","start":0,"end":7}]}},"inheritedFrom":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"signature":"(): Promise<this>"}],"importPath":"components/arcgis-assistant-agent"}],"exports":[{"kind":"custom-element-definition","name":"arcgis-assistant-agent","declaration":{"name":"ArcgisAssistantAgent"}}]},{"kind":"javascript-module","path":"components/arcgis-assistant-data-exploration-agent","sourcePath":"src/components/assistant/assistant-agents/assistant-data-exploration-agent/assistant-data-exploration-agent.tsx","declarations":[{"kind":"class","name":"ArcgisAssistantDataExplorationAgent","customElement":true,"tagName":"arcgis-assistant-data-exploration-agent","pascalCaseName":"ArcgisAssistantDataExplorationAgent","description":"The Data Exploration Agent enables the end user to query features, statistics, and spatial proximity\nto features in a layer within a web map. Currently, this is only scoped to querying feature layers within\na 2D web map. See the list of capabilities below for more details.\n\nThe data exploration agent is designed to answer questions about the data in the map, and does not have\naccess to external data sources or the user's location. It also cannot create visualizations in the form of charts,\nlayer renderers, new maps, or other visual outputs. It can currently only provide answers in text form based on the\ndata in the map.\n\nThis agent can change the state of the map by filtering features in a layer, but it cannot change the symbology of\nfeatures or create new layers or export results of a query to a file or external source.\n\nThis is an unrendered component that must be added as a child of the `arcgis-assistant` component in either HTML or JavaScript.\n\n```html\n<arcgis-map id=\"my-map\"></arcgis-map>\n<arcgis-assistant reference-element=\"my-map\">\n <arcgis-assistant-data-exploration-agent></arcgis-assistant-data-exploration-agent>\n</arcgis-assistant>\n```\n\n```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nconst dataExplorationAgent = document.createElement(\"arcgis-assistant-data-exploration-agent\");\nassistant.appendChild(dataExplorationAgent);\n```\n\nOnce added to the assistant, the agent is loaded and ready to receive user messages related to data exploration.\n\n### Capabilities\n\nThe data exploration agent provides the following capabilities related to exploring data in the map:\n\n- **Query features** - Ask about the attributes of features in a layer, including a single feature or a set\n of features.\n- **Query statistics** - Ask about statistics related to features in a layer. Statistics that can be queried\n include count, average, minimum, maximum, and sum. This includes asking about the top number of features based on a\n particular attribute.\n- **Query spatial proximity** - Ask about the spatial proximity of features in a layer, such as\n the number of features that intersect a polygon, or information about features within a distance of a specified location or feature.\n This currently does not include questions about the closest feature, but this is planned to be included in a future release.\n- **Filter features** - Users can ask the agent to show a subset of features that filter by attributes, or spatial\n proximity to other features. This includes asking the agent to show features that intersect a particular area,\n or are within a certain distance of a location or feature.\n\n### Example questions\n\nThe following are example questions a user can ask within the bounds of the data exploration agent.\nThese questions assume a map with layers that include cities, states, and rivers.\n\n- \"What is the city with the largest population?\"\n- \"How does that population compare to the average population of the cities in this map?\"\n- \"How many cities are within 30 miles of the Colorado River?\"\n- \"Show all cities in the state of California.\"\n- \"List the top 5 rivers by length.\"\n- \"Emphasize the largest river on the map.\"\n\nThe following are examples of the types of questions that fall outside the bounds of the\ndata exploration agent and should therefore be avoided:\n\n- \"What is the closest restaurant to me?\" (the data exploration agent does not have access to the user's location,\nnor can it find the nearest feature from a location)\n- \"What is the projected growth of Phoenix in the next 10 years?\" (the data exploration agent can\nonly answer questions about the data in the map, not external data or projections)\n- \"Show me the population of cities in this map on a graph.\" (the data exploration agent can only\nprovide answers in text form, not visualizations)\n\n> Due to the non-deterministic nature of generative AI, there may be inaccuracies or unexpected behavior when using the\nout-of-the-box agents.","docsTags":[{"name":"since","text":"5.0"},{"name":"beta"},{"name":"see","text":"[arcgis-assistant](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/)"},{"name":"see","text":"[Intro to building agentic mapping applications](https://developers.arcgis.com/javascript/latest/agentic-apps/ai-introduction/)"},{"name":"see","text":"[AI Assistant component sample](https://developers.arcgis.com/javascript/latest/sample-code/ai-assistant/)"}],"demos":[{"description":"Docs","url":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant-data-exploration-agent/"}],"superclass":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"members":[{"kind":"field","name":"referenceElement","description":"The reference element to the map that provides context for the data exploration agent. Currently,\nthis is only scoped to `arcgis-map` elements. This provides the data exploration agent with the layers\nneeded for answering user questions about the data in the map.\n\nSetting this property is not necessary if you set the reference element on the parent\n`arcgis-assistant` component.","docsTags":[{"name":"see","text":"[arcgis-assistant.referenceElement](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/#referenceElement)"},{"name":"example","text":"```html\n<arcgis-map id=\"my-map\"></arcgis-map>\n<arcgis-assistant>\n <arcgis-assistant-data-exploration-agent reference-element=\"my-map\"></arcgis-assistant-data-exploration-agent>\n</arcgis-assistant>\n```"}],"type":{"text":"ArcgisMap | string | undefined","references":[{"name":"ArcgisMap","module":"components/arcgis-map","package":"@arcgis/map-components","start":0,"end":9}],"values":[{"type":"string"},{"type":"object"}]},"attribute":"reference-element"},{"kind":"method","name":"componentOnReady","description":"Creates a promise that resolves once the component is fully loaded.","docsTags":[{"name":"example","text":"```js\nconst arcgisAssistantDataExplorationAgent = document.querySelector(\"arcgis-assistant-data-exploration-agent\");\ndocument.body.append(arcgisAssistantDataExplorationAgent);\nawait arcgisAssistantDataExplorationAgent.componentOnReady();\nconsole.log(\"arcgis-assistant-data-exploration-agent is ready to go!\");\n```"}],"return":{"type":{"text":"Promise<this>","references":[{"name":"Promise","module":"lib/lib.es5.d.ts","package":"typescript","start":0,"end":7}]}},"inheritedFrom":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"signature":"(): Promise<this>"}],"attributes":[{"name":"reference-element","description":"The reference element to the map that provides context for the data exploration agent. Currently,\nthis is only scoped to `arcgis-map` elements. This provides the data exploration agent with the layers\nneeded for answering user questions about the data in the map.\n\nSetting this property is not necessary if you set the reference element on the parent\n`arcgis-assistant` component.","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"referenceElement"}],"importPath":"components/arcgis-assistant-data-exploration-agent"}],"exports":[{"kind":"custom-element-definition","name":"arcgis-assistant-data-exploration-agent","declaration":{"name":"ArcgisAssistantDataExplorationAgent"}}]},{"kind":"javascript-module","path":"components/arcgis-assistant-help-agent","sourcePath":"src/components/assistant/assistant-agents/assistant-help-agent/assistant-help-agent.tsx","declarations":[{"kind":"class","name":"ArcgisAssistantHelpAgent","customElement":true,"tagName":"arcgis-assistant-help-agent","pascalCaseName":"ArcgisAssistantHelpAgent","description":"The Help Agent provides contextual assistance and guidance to the end user within an\nagentic web mapping application. It can provide answers to questions about the web map provided\nto the [referenceElement](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant-help-agent/#referenceElement) property and answer questions about other agents included\nas subcomponents to the [arcgis-assistant](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/) component.\n\nThis is an unrendered component that must be added as a child of the `arcgis-assistant` component in\neither HTML or JavaScript.\n\n```html\n<arcgis-map id=\"my-map\"></arcgis-map>\n<arcgis-assistant reference-element=\"my-map\">\n <arcgis-assistant-help-agent></arcgis-assistant-help-agent>\n</arcgis-assistant>\n```\n\n```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nconst helpAgent = document.createElement(\"arcgis-assistant-help-agent\");\nassistant.appendChild(helpAgent);\n```\n\nOnce added to the assistant, the agent is loaded and ready to receive user messages related to help and guidance.\n\n### Example questions\n\nThe following are example questions a user can ask within the bounds of the help agent:\n\n- \"What kind of questions can I ask?\"\n- \"What layers are in this map?\"\n- \"What kind of data can I ask questions about?\"\n\nThe following are examples of the types of questions that fall outside the bounds of the\nhelp agent and should therefore be avoided:\n\n- \"Search the Esri documentation for ways that I can query my data.\"\n- \"Log a bug related to map navigation to the Esri support team.\"\n- \"How do I bake a cake?\"\n- \"How does map navigation work in ArcGIS?\"\n\n> Due to the non-deterministic nature of generative AI, there may be inaccuracies or unexpected behavior when using the\nout-of-the-box agents.","docsTags":[{"name":"since","text":"5.0"},{"name":"beta"},{"name":"see","text":"[arcgis-assistant](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/)"},{"name":"see","text":"[Intro to building agentic mapping applications](https://developers.arcgis.com/javascript/latest/agentic-apps/ai-introduction/)"},{"name":"see","text":"[AI Assistant component sample](https://developers.arcgis.com/javascript/latest/sample-code/ai-assistant/)"}],"demos":[{"description":"Docs","url":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant-help-agent/"}],"superclass":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"members":[{"kind":"field","name":"referenceElement","description":"The reference element to the map that provides context for the help agent. Currently,\nthis is only scoped to `arcgis-map` elements. This shows the help agent which map for which to\nprovide assistance. This allows users to ask questions about the specific map provided to the agent.\n\nSetting this property is not necessary if you set the reference element on the parent\n`arcgis-assistant` component.","docsTags":[{"name":"see","text":"[arcgis-assistant.referenceElement](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/#referenceElement)"},{"name":"example","text":"```html\n<arcgis-map id=\"my-map\"></arcgis-map>\n<arcgis-assistant>\n <arcgis-assistant-help-agent reference-element=\"my-map\"></arcgis-assistant-help-agent>\n</arcgis-assistant>\n```"}],"type":{"text":"ArcgisMap | string | undefined","references":[{"name":"ArcgisMap","module":"components/arcgis-map","package":"@arcgis/map-components","start":0,"end":9}],"values":[{"type":"string"},{"type":"object"}]},"attribute":"reference-element"},{"kind":"method","name":"componentOnReady","description":"Creates a promise that resolves once the component is fully loaded.","docsTags":[{"name":"example","text":"```js\nconst arcgisAssistantHelpAgent = document.querySelector(\"arcgis-assistant-help-agent\");\ndocument.body.append(arcgisAssistantHelpAgent);\nawait arcgisAssistantHelpAgent.componentOnReady();\nconsole.log(\"arcgis-assistant-help-agent is ready to go!\");\n```"}],"return":{"type":{"text":"Promise<this>","references":[{"name":"Promise","module":"lib/lib.es5.d.ts","package":"typescript","start":0,"end":7}]}},"inheritedFrom":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"signature":"(): Promise<this>"}],"attributes":[{"name":"reference-element","description":"The reference element to the map that provides context for the help agent. Currently,\nthis is only scoped to `arcgis-map` elements. This shows the help agent which map for which to\nprovide assistance. This allows users to ask questions about the specific map provided to the agent.\n\nSetting this property is not necessary if you set the reference element on the parent\n`arcgis-assistant` component.","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"referenceElement"}],"importPath":"components/arcgis-assistant-help-agent"}],"exports":[{"kind":"custom-element-definition","name":"arcgis-assistant-help-agent","declaration":{"name":"ArcgisAssistantHelpAgent"}}]},{"kind":"javascript-module","path":"components/arcgis-assistant-layer-filter-agent","sourcePath":"src/components/assistant/assistant-agents/assistant-layer-filter-agent/assistant-layer-filter-agent.tsx","declarations":[{"kind":"class","name":"ArcgisAssistantLayerFilterAgent","customElement":true,"tagName":"arcgis-assistant-layer-filter-agent","pascalCaseName":"ArcgisAssistantLayerFilterAgent","docsTags":[{"name":"internal"}],"demos":[{"description":"Docs","url":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant-layer-filter-agent/"}],"superclass":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"members":[{"kind":"field","name":"referenceElement","type":{"text":"ArcgisMap | string | undefined","references":[{"name":"ArcgisMap","module":"components/arcgis-map","package":"@arcgis/map-components","start":0,"end":9}],"values":[{"type":"string"},{"type":"object"}]},"attribute":"reference-element"},{"kind":"method","name":"componentOnReady","description":"Creates a promise that resolves once the component is fully loaded.","docsTags":[{"name":"example","text":"```js\nconst arcgisAssistantLayerFilterAgent = document.querySelector(\"arcgis-assistant-layer-filter-agent\");\ndocument.body.append(arcgisAssistantLayerFilterAgent);\nawait arcgisAssistantLayerFilterAgent.componentOnReady();\nconsole.log(\"arcgis-assistant-layer-filter-agent is ready to go!\");\n```"}],"return":{"type":{"text":"Promise<this>","references":[{"name":"Promise","module":"lib/lib.es5.d.ts","package":"typescript","start":0,"end":7}]}},"inheritedFrom":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"signature":"(): Promise<this>"}],"attributes":[{"name":"reference-element","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"referenceElement"}],"importPath":"components/arcgis-assistant-layer-filter-agent"}],"exports":[{"kind":"custom-element-definition","name":"arcgis-assistant-layer-filter-agent","declaration":{"name":"ArcgisAssistantLayerFilterAgent"}}]},{"kind":"javascript-module","path":"components/arcgis-assistant-layer-query-agent","sourcePath":"src/components/assistant/assistant-agents/assistant-layer-query-agent/assistant-layer-query-agent.tsx","declarations":[{"kind":"class","name":"ArcgisAssistantLayerQueryAgent","customElement":true,"tagName":"arcgis-assistant-layer-query-agent","pascalCaseName":"ArcgisAssistantLayerQueryAgent","docsTags":[{"name":"internal"}],"demos":[{"description":"Docs","url":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant-layer-query-agent/"}],"superclass":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"members":[{"kind":"field","name":"referenceElement","type":{"text":"ArcgisMap | string | undefined","references":[{"name":"ArcgisMap","module":"components/arcgis-map","package":"@arcgis/map-components","start":0,"end":9}],"values":[{"type":"string"},{"type":"object"}]},"attribute":"reference-element"},{"kind":"method","name":"componentOnReady","description":"Creates a promise that resolves once the component is fully loaded.","docsTags":[{"name":"example","text":"```js\nconst arcgisAssistantLayerQueryAgent = document.querySelector(\"arcgis-assistant-layer-query-agent\");\ndocument.body.append(arcgisAssistantLayerQueryAgent);\nawait arcgisAssistantLayerQueryAgent.componentOnReady();\nconsole.log(\"arcgis-assistant-layer-query-agent is ready to go!\");\n```"}],"return":{"type":{"text":"Promise<this>","references":[{"name":"Promise","module":"lib/lib.es5.d.ts","package":"typescript","start":0,"end":7}]}},"inheritedFrom":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"signature":"(): Promise<this>"}],"attributes":[{"name":"reference-element","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"referenceElement"}],"importPath":"components/arcgis-assistant-layer-query-agent"}],"exports":[{"kind":"custom-element-definition","name":"arcgis-assistant-layer-query-agent","declaration":{"name":"ArcgisAssistantLayerQueryAgent"}}]},{"kind":"javascript-module","path":"components/arcgis-assistant-layer-styling-agent","sourcePath":"src/components/assistant/assistant-agents/assistant-layer-styling-agent/assistant-layer-styling-agent.tsx","declarations":[{"kind":"class","name":"ArcgisAssistantLayerStylingAgent","customElement":true,"tagName":"arcgis-assistant-layer-styling-agent","pascalCaseName":"ArcgisAssistantLayerStylingAgent","docsTags":[{"name":"internal"}],"demos":[{"description":"Docs","url":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant-layer-styling-agent/"}],"superclass":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"members":[{"kind":"field","name":"referenceElement","type":{"text":"ArcgisMap | string | undefined","references":[{"name":"ArcgisMap","module":"components/arcgis-map","package":"@arcgis/map-components","start":0,"end":9}],"values":[{"type":"string"},{"type":"object"}]},"attribute":"reference-element"},{"kind":"method","name":"componentOnReady","description":"Creates a promise that resolves once the component is fully loaded.","docsTags":[{"name":"example","text":"```js\nconst arcgisAssistantLayerStylingAgent = document.querySelector(\"arcgis-assistant-layer-styling-agent\");\ndocument.body.append(arcgisAssistantLayerStylingAgent);\nawait arcgisAssistantLayerStylingAgent.componentOnReady();\nconsole.log(\"arcgis-assistant-layer-styling-agent is ready to go!\");\n```"}],"return":{"type":{"text":"Promise<this>","references":[{"name":"Promise","module":"lib/lib.es5.d.ts","package":"typescript","start":0,"end":7}]}},"inheritedFrom":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"signature":"(): Promise<this>"}],"attributes":[{"name":"reference-element","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"referenceElement"}],"importPath":"components/arcgis-assistant-layer-styling-agent"}],"exports":[{"kind":"custom-element-definition","name":"arcgis-assistant-layer-styling-agent","declaration":{"name":"ArcgisAssistantLayerStylingAgent"}}]},{"kind":"javascript-module","path":"components/arcgis-assistant-navigation-agent","sourcePath":"src/components/assistant/assistant-agents/assistant-navigation-agent/assistant-navigation-agent.tsx","declarations":[{"kind":"class","name":"ArcgisAssistantNavigationAgent","customElement":true,"tagName":"arcgis-assistant-navigation-agent","pascalCaseName":"ArcgisAssistantNavigationAgent","description":"The Navigation Agent enables the end user to navigate to different areas of a web map. See the list\nof capabilities below for more details.\n\nThis is an unrendered component that must be added as a child of the `arcgis-assistant` component in either HTML or JavaScript.\n\n```html\n<arcgis-map id=\"my-map\"></arcgis-map>\n<arcgis-assistant reference-element=\"my-map\">\n <arcgis-assistant-navigation-agent></arcgis-assistant-navigation-agent>\n</arcgis-assistant>\n```\n\n```js\nconst assistant = document.querySelector(\"arcgis-assistant\");\nconst navigationAgent = document.createElement(\"arcgis-assistant-navigation-agent\");\nassistant.appendChild(navigationAgent);\n```\n\nOnce added to the assistant, the agent is loaded and ready to receive user messages related to navigation.\n\n### Capabilities\n\nThe navigation agent provides the following capabilities related to map navigation:\n\n- **Geocoding** - Navigate to an address using Esri's World Geocoding Service.\n- **Go to extent** - Navigate to the extent of a bookmark in the map, the home extent of the web map,\n or the extent of a layer.\n- **Go to features** - Navigate to a specified feature or set of features.\n- **Go to viewpoint** - Navigate to a specified viewpoint, which can include center, zoom, and/or\n rotation.\n\n### Example questions\n\nThe following are example questions a user can ask within the bounds of the navigation agent:\n\n- \"Go to the Golden Gate Bridge\"\n- \"Zoom to a 1 to 24,000 scale\"\n- \"Zoom in\"\n- \"Go to the parks layer\"\n\nThe following are examples of the types of questions that fall outside the bounds of the\nnavigation agent and should therefore be avoided:\n\n- \"Rotate the map 45 degrees\" (this capability is not currently supported but may be in the future)\n- \"Make this map 3D and tilt the view to a 45 degree angle\" (3D navigation is currently not supported)\n- \"Where am I?\" (the navigation agent does not have access to the user's location)\n\n> Due to the non-deterministic nature of generative AI, there may be inaccuracies or unexpected behavior when using the\nout-of-the-box agents.","docsTags":[{"name":"since","text":"5.0"},{"name":"beta"},{"name":"see","text":"[arcgis-assistant](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/)"},{"name":"see","text":"[Intro to building agentic mapping applications](https://developers.arcgis.com/javascript/latest/agentic-apps/ai-introduction/)"},{"name":"see","text":"[AI Assistant component sample](https://developers.arcgis.com/javascript/latest/sample-code/ai-assistant/)"}],"demos":[{"description":"Docs","url":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant-navigation-agent/"}],"superclass":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"members":[{"kind":"field","name":"referenceElement","description":"The reference element to the map that provides context for the navigation agent. Currently,\nthis is only scoped to `arcgis-map` elements. This shows the navigation agent which map on which to\nperform navigation actions. This is required for the navigation agent to function properly.\n\nSetting this property is not necessary if you set the reference element on the parent\n`arcgis-assistant` component.","docsTags":[{"name":"see","text":"[arcgis-assistant.referenceElement](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/#referenceElement)"},{"name":"example","text":"```html\n<arcgis-map id=\"my-map\"></arcgis-map>\n<arcgis-assistant>\n <arcgis-assistant-navigation-agent reference-element=\"my-map\"></arcgis-assistant-navigation-agent>\n</arcgis-assistant>\n```"}],"type":{"text":"ArcgisMap | string | undefined","references":[{"name":"ArcgisMap","module":"components/arcgis-map","package":"@arcgis/map-components","start":0,"end":9}],"values":[{"type":"string"},{"type":"object"}]},"attribute":"reference-element"},{"kind":"method","name":"componentOnReady","description":"Creates a promise that resolves once the component is fully loaded.","docsTags":[{"name":"example","text":"```js\nconst arcgisAssistantNavigationAgent = document.querySelector(\"arcgis-assistant-navigation-agent\");\ndocument.body.append(arcgisAssistantNavigationAgent);\nawait arcgisAssistantNavigationAgent.componentOnReady();\nconsole.log(\"arcgis-assistant-navigation-agent is ready to go!\");\n```"}],"return":{"type":{"text":"Promise<this>","references":[{"name":"Promise","module":"lib/lib.es5.d.ts","package":"typescript","start":0,"end":7}]}},"inheritedFrom":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"signature":"(): Promise<this>"}],"attributes":[{"name":"reference-element","description":"The reference element to the map that provides context for the navigation agent. Currently,\nthis is only scoped to `arcgis-map` elements. This shows the navigation agent which map on which to\nperform navigation actions. This is required for the navigation agent to function properly.\n\nSetting this property is not necessary if you set the reference element on the parent\n`arcgis-assistant` component.","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"referenceElement"}],"importPath":"components/arcgis-assistant-navigation-agent"}],"exports":[{"kind":"custom-element-definition","name":"arcgis-assistant-navigation-agent","declaration":{"name":"ArcgisAssistantNavigationAgent"}}]},{"kind":"javascript-module","path":"components/arcgis-assistant-chat","sourcePath":"src/components/assistant/assistant-chat/assistant-chat.tsx","declarations":[{"kind":"class","name":"ArcgisAssistantChat","customElement":true,"tagName":"arcgis-assistant-chat","pascalCaseName":"ArcgisAssistantChat","docsTags":[{"name":"internal"}],"demos":[{"description":"Docs","url":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant-chat/"}],"superclass":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"members":[{"kind":"field","name":"copyEnabled","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","attribute":"copy-enabled"},{"kind":"field","name":"feedbackEnabled","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","attribute":"feedback-enabled"},{"kind":"field","name":"loading","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","attribute":"loading"},{"kind":"field","name":"loadingMessage","type":{"text":"string","values":[{"type":"string"}]},"default":"\"\"","attribute":"loading-message"},{"kind":"field","name":"logEnabled","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","attribute":"log-enabled"},{"kind":"field","name":"messages","type":{"text":"Collection<ChatMessage>","references":[{"name":"default","module":"core/Collection.js","package":"@arcgis/core","viewUrl":"https://developers.arcgis.com/javascript/latest/references/core/core/Collection/","start":0,"end":10},{"name":"ChatMessage","module":"components/arcgis-assistant/types","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/types#ChatMessage","start":11,"end":22}]}},{"kind":"field","name":"user","type":{"text":"string | undefined","values":[{"type":"string"}]},"attribute":"user"},{"kind":"method","name":"componentOnReady","description":"Creates a promise that resolves once the component is fully loaded.","docsTags":[{"name":"example","text":"```js\nconst arcgisAssistantChat = document.querySelector(\"arcgis-assistant-chat\");\ndocument.body.append(arcgisAssistantChat);\nawait arcgisAssistantChat.componentOnReady();\nconsole.log(\"arcgis-assistant-chat is ready to go!\");\n```"}],"return":{"type":{"text":"Promise<this>","references":[{"name":"Promise","module":"lib/lib.es5.d.ts","package":"typescript","start":0,"end":7}]}},"inheritedFrom":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"signature":"(): Promise<this>"}],"attributes":[{"name":"copy-enabled","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","fieldName":"copyEnabled"},{"name":"feedback-enabled","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","fieldName":"feedbackEnabled"},{"name":"loading","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","fieldName":"loading"},{"name":"loading-message","type":{"text":"string","values":[{"type":"string"}]},"default":"\"\"","fieldName":"loadingMessage"},{"name":"log-enabled","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","fieldName":"logEnabled"},{"name":"user","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"user"}],"importPath":"components/arcgis-assistant-chat"}],"exports":[{"kind":"custom-element-definition","name":"arcgis-assistant-chat","declaration":{"name":"ArcgisAssistantChat"}}]},{"kind":"javascript-module","path":"components/arcgis-assistant-chat-card","sourcePath":"src/components/assistant/assistant-chat-card/assistant-chat-card.tsx","declarations":[{"kind":"class","name":"ArcgisAssistantChatCard","customElement":true,"tagName":"arcgis-assistant-chat-card","pascalCaseName":"ArcgisAssistantChatCard","docsTags":[{"name":"internal"}],"demos":[{"description":"Docs","url":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant-chat-card/"}],"superclass":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"members":[{"kind":"field","name":"content","type":{"text":"string | undefined","values":[{"type":"string"}]},"attribute":"content"},{"kind":"field","name":"copyEnabled","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","attribute":"copy-enabled"},{"kind":"field","name":"error","type":{"text":"string | undefined","values":[{"type":"string"}]},"attribute":"error"},{"kind":"field","name":"feedbackEnabled","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","attribute":"feedback-enabled"},{"kind":"field","name":"loading","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","attribute":"loading"},{"kind":"field","name":"loadingMessage","type":{"text":"string | undefined","values":[{"type":"string"}]},"attribute":"loading-message"},{"kind":"field","name":"log","type":{"text":"string[] | undefined"}},{"kind":"field","name":"logEnabled","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","attribute":"log-enabled"},{"kind":"field","name":"message","type":{"text":"ChatMessage | undefined","references":[{"name":"ChatMessage","module":"components/arcgis-assistant/types","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/types#ChatMessage","start":0,"end":11}]}},{"kind":"field","name":"messageRole","type":{"text":"ChatMessage[\"role\"] | undefined","references":[{"name":"ChatMessage","module":"components/arcgis-assistant/types","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/types#ChatMessage","start":0,"end":11}],"values":[{"type":"string","value":"user"},{"type":"string","value":"assistant"}]},"attribute":"message-role"},{"kind":"field","name":"user","type":{"text":"string | undefined","values":[{"type":"string"}]},"attribute":"user"},{"kind":"method","name":"componentOnReady","description":"Creates a promise that resolves once the component is fully loaded.","docsTags":[{"name":"example","text":"```js\nconst arcgisAssistantChatCard = document.querySelector(\"arcgis-assistant-chat-card\");\ndocument.body.append(arcgisAssistantChatCard);\nawait arcgisAssistantChatCard.componentOnReady();\nconsole.log(\"arcgis-assistant-chat-card is ready to go!\");\n```"}],"return":{"type":{"text":"Promise<this>","references":[{"name":"Promise","module":"lib/lib.es5.d.ts","package":"typescript","start":0,"end":7}]}},"inheritedFrom":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"signature":"(): Promise<this>"}],"attributes":[{"name":"content","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"content"},{"name":"copy-enabled","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","fieldName":"copyEnabled"},{"name":"error","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"error"},{"name":"feedback-enabled","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","fieldName":"feedbackEnabled"},{"name":"loading","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","fieldName":"loading"},{"name":"loading-message","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"loadingMessage"},{"name":"log-enabled","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","fieldName":"logEnabled"},{"name":"message-role","type":{"text":"\"user\" | \"assistant\"","values":[{"type":"string","value":"user"},{"type":"string","value":"assistant"}]},"fieldName":"messageRole"},{"name":"user","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"user"}],"events":[{"name":"arcgisFeedback","type":{"text":"AssistantMessage","references":[{"name":"AssistantMessage","module":"components/arcgis-assistant/types","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/types#AssistantMessage","start":0,"end":16}]}}],"importPath":"components/arcgis-assistant-chat-card"}],"exports":[{"kind":"custom-element-definition","name":"arcgis-assistant-chat-card","declaration":{"name":"ArcgisAssistantChatCard"}}]},{"kind":"javascript-module","path":"components/arcgis-assistant-chat-card-content","sourcePath":"src/components/assistant/assistant-chat-card-content/assistant-chat-card-content.tsx","declarations":[{"kind":"class","name":"ArcgisAssistantChatCardContent","customElement":true,"tagName":"arcgis-assistant-chat-card-content","pascalCaseName":"ArcgisAssistantChatCardContent","docsTags":[{"name":"internal"}],"demos":[{"description":"Docs","url":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant-chat-card-content/"}],"superclass":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"members":[{"kind":"field","name":"content","type":{"text":"string | undefined","values":[{"type":"string"}]},"attribute":"content"},{"kind":"field","name":"loading","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","attribute":"loading"},{"kind":"field","name":"loadingMessage","type":{"text":"string | undefined","values":[{"type":"string"}]},"attribute":"loading-message"},{"kind":"field","name":"type","type":{"text":"\"chart\" | \"error\" | \"text\"","values":[{"type":"string","value":"chart"},{"type":"string","value":"error"},{"type":"string","value":"text"}]},"default":"\"text\"","attribute":"type"},{"kind":"method","name":"componentOnReady","description":"Creates a promise that resolves once the component is fully loaded.","docsTags":[{"name":"example","text":"```js\nconst arcgisAssistantChatCardContent = document.querySelector(\"arcgis-assistant-chat-card-content\");\ndocument.body.append(arcgisAssistantChatCardContent);\nawait arcgisAssistantChatCardContent.componentOnReady();\nconsole.log(\"arcgis-assistant-chat-card-content is ready to go!\");\n```"}],"return":{"type":{"text":"Promise<this>","references":[{"name":"Promise","module":"lib/lib.es5.d.ts","package":"typescript","start":0,"end":7}]}},"inheritedFrom":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"signature":"(): Promise<this>"}],"attributes":[{"name":"content","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"content"},{"name":"loading","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","fieldName":"loading"},{"name":"loading-message","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"loadingMessage"},{"name":"type","type":{"text":"\"chart\" | \"error\" | \"text\"","values":[{"type":"string","value":"chart"},{"type":"string","value":"error"},{"type":"string","value":"text"}]},"default":"\"text\"","fieldName":"type"}],"importPath":"components/arcgis-assistant-chat-card-content"}],"exports":[{"kind":"custom-element-definition","name":"arcgis-assistant-chat-card-content","declaration":{"name":"ArcgisAssistantChatCardContent"}}]},{"kind":"javascript-module","path":"components/arcgis-assistant-chat-entry","sourcePath":"src/components/assistant/assistant-chat-entry/assistant-chat-entry.tsx","declarations":[{"kind":"class","name":"ArcgisAssistantChatEntry","customElement":true,"tagName":"arcgis-assistant-chat-entry","pascalCaseName":"ArcgisAssistantChatEntry","docsTags":[{"name":"internal"}],"demos":[{"description":"Docs","url":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant-chat-entry/"}],"superclass":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"members":[{"kind":"field","name":"awaitingResponse","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","attribute":"awaiting-response"},{"kind":"field","name":"entryPlaceholder","type":{"text":"string | undefined","values":[{"type":"string"}]},"attribute":"entry-placeholder"},{"kind":"field","name":"inputValue","type":{"text":"string","values":[{"type":"string"}]},"default":"\"\"","attribute":"input-value"},{"kind":"field","name":"keyboardShortcutsDisabled","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","attribute":"keyboard-shortcuts-disabled"},{"kind":"field","name":"messages","type":{"text":"Collection<ChatMessage>","references":[{"name":"default","module":"core/Collection.js","package":"@arcgis/core","viewUrl":"https://developers.arcgis.com/javascript/latest/references/core/core/Collection/","start":0,"end":10},{"name":"ChatMessage","module":"components/arcgis-assistant/types","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/types#ChatMessage","start":11,"end":22}]}},{"kind":"field","name":"status","type":{"text":"\"error\" | \"ready\" | \"working\" | undefined","values":[{"type":"string","value":"error"},{"type":"string","value":"ready"},{"type":"string","value":"working"}]},"attribute":"status"},{"kind":"method","name":"componentOnReady","description":"Creates a promise that resolves once the component is fully loaded.","docsTags":[{"name":"example","text":"```js\nconst arcgisAssistantChatEntry = document.querySelector(\"arcgis-assistant-chat-entry\");\ndocument.body.append(arcgisAssistantChatEntry);\nawait arcgisAssistantChatEntry.componentOnReady();\nconsole.log(\"arcgis-assistant-chat-entry is ready to go!\");\n```"}],"return":{"type":{"text":"Promise<this>","references":[{"name":"Promise","module":"lib/lib.es5.d.ts","package":"typescript","start":0,"end":7}]}},"inheritedFrom":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"signature":"(): Promise<this>"}],"attributes":[{"name":"awaiting-response","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","fieldName":"awaitingResponse"},{"name":"entry-placeholder","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"entryPlaceholder"},{"name":"input-value","type":{"text":"string","values":[{"type":"string"}]},"default":"\"\"","fieldName":"inputValue"},{"name":"keyboard-shortcuts-disabled","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","fieldName":"keyboardShortcutsDisabled"},{"name":"status","type":{"text":"\"error\" | \"ready\" | \"working\"","values":[{"type":"string","value":"error"},{"type":"string","value":"ready"},{"type":"string","value":"working"}]},"fieldName":"status"}],"events":[{"name":"arcgisCancel","type":{"text":"void"}},{"name":"arcgisSubmit","type":{"text":"string"}}],"importPath":"components/arcgis-assistant-chat-entry"}],"exports":[{"kind":"custom-element-definition","name":"arcgis-assistant-chat-entry","declaration":{"name":"ArcgisAssistantChatEntry"}}]},{"kind":"javascript-module","path":"components/arcgis-assistant-interrupt","sourcePath":"src/components/assistant/assistant-interrupt/assistant-interrupt.tsx","declarations":[{"kind":"class","name":"ArcgisAssistantInterrupt","customElement":true,"tagName":"arcgis-assistant-interrupt","pascalCaseName":"ArcgisAssistantInterrupt","docsTags":[{"name":"internal"}],"demos":[{"description":"Docs","url":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant-interrupt/"}],"superclass":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"members":[{"kind":"field","name":"message","type":{"text":"string | undefined","values":[{"type":"string"}]},"attribute":"message"},{"kind":"field","name":"options","type":{"text":"string[] | undefined"}},{"kind":"field","name":"type","type":{"text":"\"boolean-choice\" | \"multi-select\" | \"single-select\" | \"text-input\"","values":[{"type":"string","value":"boolean-choice"},{"type":"string","value":"multi-select"},{"type":"string","value":"single-select"},{"type":"string","value":"text-input"}]},"attribute":"type"},{"kind":"method","name":"componentOnReady","description":"Creates a promise that resolves once the component is fully loaded.","docsTags":[{"name":"example","text":"```js\nconst arcgisAssistantInterrupt = document.querySelector(\"arcgis-assistant-interrupt\");\ndocument.body.append(arcgisAssistantInterrupt);\nawait arcgisAssistantInterrupt.componentOnReady();\nconsole.log(\"arcgis-assistant-interrupt is ready to go!\");\n```"}],"return":{"type":{"text":"Promise<this>","references":[{"name":"Promise","module":"lib/lib.es5.d.ts","package":"typescript","start":0,"end":7}]}},"inheritedFrom":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"signature":"(): Promise<this>"}],"attributes":[{"name":"message","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"message"},{"name":"type","type":{"text":"\"boolean-choice\" | \"multi-select\" | \"single-select\" | \"text-input\"","values":[{"type":"string","value":"boolean-choice"},{"type":"string","value":"multi-select"},{"type":"string","value":"single-select"},{"type":"string","value":"text-input"}]},"fieldName":"type"}],"events":[{"name":"arcgisCancel","type":{"text":"void"}},{"name":"arcgisSubmit","type":{"text":"string[] | boolean | string"}}],"importPath":"components/arcgis-assistant-interrupt"}],"exports":[{"kind":"custom-element-definition","name":"arcgis-assistant-interrupt","declaration":{"name":"ArcgisAssistantInterrupt"}}]},{"kind":"javascript-module","path":"components/arcgis-assistant-shell","sourcePath":"src/components/assistant/assistant-shell/assistant-shell.tsx","declarations":[{"kind":"class","name":"ArcgisAssistantShell","customElement":true,"tagName":"arcgis-assistant-shell","pascalCaseName":"ArcgisAssistantShell","docsTags":[{"name":"internal"}],"demos":[{"description":"Docs","url":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant-shell/"}],"superclass":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"members":[{"kind":"field","name":"awaitingResponse","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","attribute":"awaiting-response"},{"kind":"field","name":"description","type":{"text":"string","values":[{"type":"string"}]},"default":"\"\"","attribute":"description"},{"kind":"field","name":"entryMessage","type":{"text":"string | undefined","values":[{"type":"string"}]},"attribute":"entry-message"},{"kind":"field","name":"entryMessageClosed","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","attribute":"entry-message-closed"},{"kind":"field","name":"heading","type":{"text":"string | undefined","values":[{"type":"string"}]},"attribute":"heading"},{"kind":"field","name":"inputValue","type":{"text":"string","values":[{"type":"string"}]},"default":"\"\"","attribute":"input-value"},{"kind":"field","name":"loading","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","attribute":"loading"},{"kind":"field","name":"messages","type":{"text":"Collection<ChatMessage>","references":[{"name":"default","module":"core/Collection.js","package":"@arcgis/core","viewUrl":"https://developers.arcgis.com/javascript/latest/references/core/core/Collection/","start":0,"end":10},{"name":"ChatMessage","module":"components/arcgis-assistant/types","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/types#ChatMessage","start":11,"end":22}]}},{"kind":"field","name":"status","type":{"text":"\"error\" | \"ready\" | \"working\" | undefined","values":[{"type":"string","value":"error"},{"type":"string","value":"ready"},{"type":"string","value":"working"}]},"attribute":"status"},{"kind":"field","name":"suggestedPrompts","type":{"text":"string[]"}},{"kind":"method","name":"componentOnReady","description":"Creates a promise that resolves once the component is fully loaded.","docsTags":[{"name":"example","text":"```js\nconst arcgisAssistantShell = document.querySelector(\"arcgis-assistant-shell\");\ndocument.body.append(arcgisAssistantShell);\nawait arcgisAssistantShell.componentOnReady();\nconsole.log(\"arcgis-assistant-shell is ready to go!\");\n```"}],"return":{"type":{"text":"Promise<this>","references":[{"name":"Promise","module":"lib/lib.es5.d.ts","package":"typescript","start":0,"end":7}]}},"inheritedFrom":{"name":"PublicLitElement","module":"PublicLitElement","package":"@arcgis/lumina"},"signature":"(): Promise<this>"}],"attributes":[{"name":"awaiting-response","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","fieldName":"awaitingResponse"},{"name":"description","type":{"text":"string","values":[{"type":"string"}]},"default":"\"\"","fieldName":"description"},{"name":"entry-message","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"entryMessage"},{"name":"entry-message-closed","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","fieldName":"entryMessageClosed"},{"name":"heading","type":{"text":"string","values":[{"type":"string"}]},"fieldName":"heading"},{"name":"input-value","type":{"text":"string","values":[{"type":"string"}]},"default":"\"\"","fieldName":"inputValue"},{"name":"loading","type":{"text":"boolean","values":[{"type":"boolean"}]},"default":"false","fieldName":"loading"},{"name":"status","type":{"text":"\"error\" | \"ready\" | \"working\"","values":[{"type":"string","value":"error"},{"type":"string","value":"ready"},{"type":"string","value":"working"}]},"fieldName":"status"}],"events":[{"name":"arcgisCancel","type":{"text":"void"}},{"name":"arcgisSubmit","type":{"text":"string"}}],"importPath":"components/arcgis-assistant-shell"}],"exports":[{"kind":"custom-element-definition","name":"arcgis-assistant-shell","declaration":{"name":"ArcgisAssistantShell"}}]},{"kind":"javascript-module","path":"utils/index","sourcePath":"src/utils/index.ts","declarations":[{"kind":"interface","name":"UiInterrupt","description":"Represents a user-facing interruption emitted by an agent that requires\ninput before execution can continue. This is used to implement human-in-the-loop workflows where\nthe agent needs to ask the user for clarification, confirmation, or additional information\nbefore proceeding with its tasks.\n\nUsed to pause an agent flow and request clarification, confirmation,\nor additional information from the user.","docsTags":[{"name":"since","text":"5.0"}],"members":[{"kind":"field","name":"id","description":"Unique identifier for this interrupt instance. This is used to associate the interrupt with a\nspecific message or action in the agent's workflow, allowing the system to track and manage the\ninterrupt effectively.","type":{"text":"string"}},{"kind":"field","name":"agentId","description":"Identifier of the agent requesting input (e.g. \"navigation\", \"myCustomAgent\", etc.).\nThis is used to associate the interrupt with the specific agent that emitted it, which\ncan be helpful for debugging, logging, and providing context to the user about which agent\nis requesting input.","type":{"text":"string"}},{"kind":"field","name":"kind","description":"The type of input being requested. See the list below for the currently supported input types. This is used\nto determine how to render the interrupt in the user interface and what kind of input to expect from the user.\n\n- `booleanChoice` - Presents the user with a yes or no option. This is typically used for confirmation\nprompts where the agent needs to confirm an action with the user before proceeding. For example, some actions\nmay have a high risk of being destructive, such as applying an edit, submitting a form, or deleting data.\nIn these cases, the agent might ask for confirmation before proceeding.\n- `multipleSelection` - Presents the user with multiple options that the user may choose from in a checkbox\ninterface.\n- `singleSelection` - Presents the user with a list of options in a radio button interface, prompting the user\nto select a single option from a list.\n- `textInput` - Prompts the user to enter free-form text before proceeding. This is a flexible input\ntype that can be used for a wide variety of purposes, such as asking the user for more details about\na request, requesting specific information needed to complete a task, or allowing the user to\nprovide feedback or additional context.","type":{"text":"\"booleanChoice\" | \"multipleSelection\" | \"singleSelection\" | \"textInput\""}},{"kind":"field","name":"message","description":"The message shown to the user when prompting for input. This should provide clear instructions or\nquestions related to the interrupt, guiding the user on what information is needed or what action\nthey should take in response to the prompt.","type":{"text":"string | undefined"}},{"kind":"field","name":"metadata","description":"Additional data required to render or handle the interrupt. This is typically an array of strings\nrepresenting options for selection when the `kind` is `multipleSelection` or `singleSelection`.\nFor `booleanChoice`, the options are implicitly \"Yes\" and \"No\" and do not need to be provided.\nFor `textInput`, options are not applicable and should be omitted.","type":{"text":"unknown | undefined"}}]},{"kind":"interface","name":"AgentRegistration","description":"Definition of a client-side agent to register to the [arcgis-assistant-agent](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant-agent/) component.\nTo construct an agent, you must build a state graph using LangGraph that defines the agent's\nnodes, edges, workspace variables, and tools.","docsTags":[{"name":"see","text":"[LangGraph documentation](https://docs.langchain.com/oss/javascript/langgraph/overview)"},{"name":"see","text":"[Custom agents guide](https://developers.arcgis.com/javascript/latest/agentic-apps/ai-custom-agents/)"},{"name":"beta"},{"name":"since","text":"5.0"}],"members":[{"kind":"field","name":"id","description":"A unique identifier for the agent.","type":{"text":"string"}},{"kind":"field","name":"name","description":"A human-readable name for the agent. This must be unique, but also be semantically meaningful.","type":{"text":"string"}},{"kind":"field","name":"description","description":"A brief description of the agent's purpose and functionality. This is required for the agent to be\ndiscoverable in the orchestration of the [arcgis-assistant](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/). It should provide enough information\nfor the Assistant component and users to understand when to use this agent and what it can do.\nThis description should provide examples of user prompts that would indicate this agent should be used.","docsTags":[{"name":"example","text":"```js\nagentRegistration.description = \"This agent calculates service areas for a given location.\nUse this agent when users ask questions about drive or walk times from a specific location, or when they\nask for areas reachable within a certain time frame from a location.\";\n```"}],"type":{"text":"string"}},{"kind":"field","name":"createGraph","description":"A function that creates and returns the agent's state graph. This graph defines the agent's behavior,\nincluding how it processes inputs, makes decisions, and produces outputs. The graph consists of nodes and edges\nthat represent the agent's deterministic logic and flow. This is a structure defined using LangGraph's StateGraph.","docsTags":[{"name":"see","text":"[LangGraph documentation](https://docs.langchain.com/oss/javascript/langgraph/overview)"},{"name":"see","text":"[StateGraph documentation](https://langchain-ai.github.io/langgraphjs/reference/classes/langgraph.StateGraph.html)"},{"name":"see","text":"[Custom agents guide](https://developers.arcgis.com/javascript/latest/agentic-apps/ai-custom-agents/)"}],"type":{"text":"() => StateGraph<unknown>","references":[{"name":"StateGraph","module":"web","package":"@langchain/langgraph","start":6,"end":16}]}},{"kind":"field","name":"workspace","description":"The workspace variables or context required by the agent's graph. This includes messages, results,\nand any other relevant data required by the LLM to make decisions and determine parameters for function calls.\nThis is a structure defined using LangGraph's AnnotationRoot.","docsTags":[{"name":"see","text":"[LangGraph documentation](https://docs.langchain.com/oss/javascript/langgraph/overview)"},{"name":"see","text":"[AnnotationRoot documentation](https://langchain-ai.github.io/langgraphjs/reference/modules/langgraph.Annotation.html)"},{"name":"see","text":"[Custom agents guide](https://developers.arcgis.com/javascript/latest/agentic-apps/ai-custom-agents/)"}],"type":{"text":"AnnotationRoot<any>","references":[{"name":"AnnotationRoot","module":"web","package":"@langchain/langgraph","start":0,"end":14}]}}]},{"kind":"interface","name":"ArcgisPromptOptions","description":"Options for sending a prompt to an LLM.","docsTags":[{"name":"since","text":"5.0"}],"members":[{"kind":"field","name":"promptText","description":"The input prompt text to send to the model.","type":{"text":"string"}},{"kind":"field","name":"modelTier","description":"The model tier to use. See the following options:\n\n- `default` - The default model tier, which provides a balance of performance and cost.\n This is suitable for most general-purpose use cases. At JS SDK v5.0, this model\n tier corresponds to GPT-5 mini model.\n- `advanced` - An advanced model tier that may provide improved accuracy or capabilities compared to\n the default tier. However, it may also come with increased cost and slower performance. At\n JS SDK v5.0, this model tier corresponds to GPT-5.2 model.\n\nThe specific models available in each tier may evolve over time as new models are released and existing\nmodels are retired. The dates models are retired depends on the model provider and therefore may not\nalign with the semantic versioning rules of the JS SDK. Therefore, the user experience of apps may break\nin a minor version update of the JS SDK. It is important to keep your implementation flexible and test your prompts\nregularly to ensure they continue to perform as expected, especially when updating the JS SDK version or\n when new models are released.\n\nNote that the same prompt will not necessarily produce the same results across different\nmodels. As models are updated, you will need to re-evaluate the prompts you send to the LLM, including\nagent descriptions and tool node descriptions to\nensure they still return the expected responses. You should adjust your implementation as needed.","type":{"text":"\"advanced\" | \"default\" | undefined"}},{"kind":"field","name":"temperature","description":"The temperature to use for the model (a number between 0 and 1). Higher values will result in more\ncreative and varied responses, while lower values will produce more focused and deterministic responses.","type":{"text":"number | undefined"}},{"kind":"field","name":"messages","description":"The chat history used to provide context for the prompt. This should include the recent messages\nexchanged between the user and the assistant that are necessary for the model to generate an\ninformed response. Providing chat history can help the model understand the conversation context\nand produce more accurate and relevant responses.","type":{"text":"ChatHistory | undefined","references":[{"name":"ChatHistory","package":"@arcgis/ai-orchestrator","start":0,"end":11}]}},{"kind":"field","name":"inputVariables","description":"Input variables for the prompt. This can include any relevant variables related to the context\nprovided to the agent. This may be necessary for determining tool parameters or for providing additional\ncontext to the model when generating a response.","type":{"text":"Record<string, unknown> | undefined","references":[{"name":"Record","package":"global:","viewUrl":"https://www.typescriptlang.org/docs/handbook/utility-types.html#recordkeys-type","start":0,"end":6}]}}]},{"kind":"interface","name":"ArcgisStructuredPromptOptions","description":"Options when sending a prompt to an LLM that expects a structured response validated against a Zod schema.","docsTags":[{"name":"since","text":"5.0"}],"typeParameters":[{"name":"T"}],"supertypes":[{"name":"ArcgisPromptOptions","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/utils/index/#ArcgisPromptOptions"}],"members":[{"kind":"field","name":"schema","description":"A Zod schema that defines the expected structure of the model's response. For example, if the expected\nresult from a prompt sent to an LLM is parameters for a tool function that executes specific JS SDK core\nAPI calls, the schema should define the structure of those parameters. This allows the response from the model\nto be validated and parsed according to the defined schema, ensuring type safety and consistency.","docsTags":[{"name":"see","text":"[Zod documentation](https://zod.dev/api)"}],"type":{"text":"z.ZodType<T>","references":[{"name":"default","package":"zod","start":0,"end":1},{"name":"T","start":10,"end":11}]}}]},{"kind":"interface","name":"ArcgisToolPromptOptions","description":"Options when sending a prompt to an LLM when the node is expected to invoke tools (e.g. functions defined\nin the client). This includes the array of tools that the model can choose to invoke in response to the prompt.","docsTags":[{"name":"since","text":"5.0"}],"supertypes":[{"name":"ArcgisPromptOptions","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/utils/index/#ArcgisPromptOptions"}],"members":[{"kind":"field","name":"tools","description":"An array of tools that the model can choose to invoke in response to the prompt.","docsTags":[{"name":"see","text":"[StructuredToolInterface documentation](https://reference.langchain.com/javascript/interfaces/_langchain_core.tools.StructuredToolInterface.html)"}],"type":{"text":"StructuredToolInterface[]","references":[{"name":"StructuredToolInterface","module":"tools","package":"@langchain/core","start":0,"end":23}]}}]},{"kind":"interface","name":"TraceEventData","description":"Data structure for trace messages emitted by agents during graph execution.\nThis is used to send trace messages to the log in the chat interface, allowing users to see the\nintermediate steps and thought processes of the agent as it executes its graph.\nThis log will only be visible if the [ArcGISAssistant](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/#logEnabled) property is set to `true`.","docsTags":[{"name":"since","text":"5.0"},{"name":"see","text":"[ArcGISAssistant](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/#logEnabled)"}],"members":[{"kind":"field","name":"text","description":"The text content of the trace message. This should provide information about the agent's current state,\nthe actions it is taking, the decisions it is making, or any other relevant details that can help users\nunderstand the agent's behavior and thought process.","type":{"text":"string"}},{"kind":"field","name":"agentName","description":"The name of the agent associated with this trace message. This can help provide\nadditional context to users about which agent is emitting the trace message, especially in scenarios\nwhere multiple agents are involved in a conversation or workflow.","type":{"text":"string | undefined"}},{"kind":"field","name":"toolName","description":"The name of the tool associated with the trace message. This can help provide\nadditional context to users about which tool (e.g. function defined in the client) is being invoked or\nreferenced in the trace message, especially when the agent is using multiple tools in its workflow.","type":{"text":"string | undefined"}}]},{"kind":"function","name":"invokeTextPrompt","description":"Sends a prompt to an LLM and returns a plain text response. This function should be used when you expect\na simple text response from the model without the need for structured parsing or tool invocation.","docsTags":[{"name":"since","text":"5.0"},{"name":"see","text":"[Custom agents guide](https://developers.arcgis.com/javascript/latest/agentic-apps/ai-custom-agents/)"}],"parameters":[{"name":"options","description":"Options for the prompt, including the prompt text, model tier,\n temperature, chat history, and input variables.","type":{"text":"ArcgisPromptOptions","references":[{"name":"ArcgisPromptOptions","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/utils/index/#ArcgisPromptOptions","start":0,"end":19}]}}],"return":{"description":"The model response.","type":{"text":"Promise<string>","references":[{"name":"Promise","package":"global:","viewUrl":"https://next.gha.afd.arcgis.com/javascript/latest/programming-patterns/","start":0,"end":7}]}}},{"kind":"function","name":"invokeStructuredPrompt","description":"Sends a prompt to an LLM and returns a structured response validated against a Zod schema.","docsTags":[{"name":"see","text":"[Zod documentation](https://zod.dev/api)"},{"name":"since","text":"5.0"},{"name":"see","text":"[Custom agents guide](https://developers.arcgis.com/javascript/latest/agentic-apps/ai-custom-agents/)"}],"typeParameters":[{"name":"T"}],"parameters":[{"name":"options","description":"Prompt options, including a Zod schema for response validation.","type":{"text":"ArcgisStructuredPromptOptions<T>","references":[{"name":"ArcgisStructuredPromptOptions","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/utils/index/#ArcgisStructuredPromptOptions","start":0,"end":29},{"name":"T","start":30,"end":31}]}}],"return":{"description":"The model response parsed into the structure defined by the provided Zod schema.","type":{"text":"Promise<T>","references":[{"name":"Promise","package":"global:","viewUrl":"https://next.gha.afd.arcgis.com/javascript/latest/programming-patterns/","start":0,"end":7},{"name":"T","start":8,"end":9}]}}},{"kind":"function","name":"invokeToolPrompt","description":"Invokes a prompt with tools enabled and returns the model's tool call response.","docsTags":[{"name":"since","text":"5.0"},{"name":"see","text":"[AIMessage documentation](https://reference.langchain.com/javascript/classes/_langchain_core.messages.AIMessage.html)"},{"name":"see","text":"[Custom agents guide](https://developers.arcgis.com/javascript/latest/agentic-apps/ai-custom-agents/)"}],"parameters":[{"name":"options","description":"Prompt options, including an array of tools the model can invoke.","type":{"text":"ArcgisToolPromptOptions","references":[{"name":"ArcgisToolPromptOptions","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/utils/index/#ArcgisToolPromptOptions","start":0,"end":23}]}}],"return":{"description":"Resolves to the model's response as an AIMessage as defined in LangChain.","type":{"text":"Promise<AIMessage>","references":[{"name":"Promise","package":"global:","viewUrl":"https://next.gha.afd.arcgis.com/javascript/latest/programming-patterns/","start":0,"end":7},{"name":"AIMessage","module":"messages","package":"@langchain/core","start":8,"end":17}]}}},{"kind":"function","name":"sendTraceMessage","description":"Dispatches a graph trace message to the log in the chat interface. This allows agents to emit trace\nmessages during graph execution, providing users with insights into the intermediate steps, decisions,\nand actions taken by the agent. These trace messages can help users understand the agent's thought\nprocess and behavior as it executes its graph. It can also be useful for debugging and\ntransparency purposes.","docsTags":[{"name":"since","text":"5.0"},{"name":"see","text":"[ArcGISAssistant](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/#logEnabled)"},{"name":"see","text":"[RunnableConfig documentation](https://reference.langchain.com/javascript/interfaces/_langchain_core.runnables.RunnableConfig.html)"},{"name":"see","text":"[Custom agents guide](https://developers.arcgis.com/javascript/latest/agentic-apps/ai-custom-agents/)"}],"parameters":[{"name":"data","description":"Trace event data to display in the chat log, including the message, agent, and tool if applicable.","type":{"text":"TraceEventData","references":[{"name":"TraceEventData","viewUrl":"https://developers.arcgis.com/javascript/latest/references/ai-components/utils/index/#TraceEventData","start":0,"end":14}]}},{"name":"config","description":"Optional runnable configuration\n [as defined in LangChain](https://reference.langchain.com/javascript/interfaces/_langchain_core.runnables.RunnableConfig.html),\n which can include additional context or variables to associate with the trace message.","optional":true,"type":{"text":"RunnableConfig","references":[{"name":"RunnableConfig","module":"runnables","package":"@langchain/core","start":0,"end":14}]}}],"return":{"description":"A promise that resolves once the event has been dispatched.","type":{"text":"Promise<void>","references":[{"name":"Promise","package":"global:","viewUrl":"https://next.gha.afd.arcgis.com/javascript/latest/programming-patterns/","start":0,"end":7}]}}},{"kind":"function","name":"getEmbeddings","description":"Generates vector embeddings for an array of strings.","parameters":[{"name":"inputs","description":"An array of text strings to be embedded.","type":{"text":"string[]"}}],"return":{"description":"A promise that resolves to an array of embedding vectors.","type":{"text":"Promise<number[][]>","references":[{"name":"Promise","package":"global:","viewUrl":"https://next.gha.afd.arcgis.com/javascript/latest/programming-patterns/","start":0,"end":7}]}}},{"kind":"function","name":"cosineSimilarity","description":"Calculates the cosine similarity between two numeric vectors. This is used to measure the similarity\nbetween two embedding vectors, where a score of 1 indicates identical vectors, 0 indicates orthogonal\nvectors, and -1 indicates opposite vectors.","parameters":[{"name":"vectorA","description":"The first vector array.","type":{"text":"number[]"}},{"name":"vectorB","description":"The second vector array.","type":{"text":"number[]"}}],"return":{"description":"A similarity score from -1 (opposite) to 1 (identical).","type":{"text":"number"}}}]}]}