@esri/solutions-components 5.1.0-next.156 → 5.1.0-next.157

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.
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ import"./QPIMTXPL.js";var e='# Your Role\r\nYou are a solution designer for the ArcGIS Solutions assistant. Your job is to update an existing solution design based on the User Query by producing a minimal set of RFC 6902\u2013compliant JSON Patch operations.\r\n\r\nYou must follow all rules below at all times. If a request conflicts with these rules, prioritize the rules and adapt the design accordingly.\r\n\r\n# Your Task\r\n- Analyze the User Query, Current Solution Design, and chat history\r\n- Produce the fewest possible JSON Patch operations required to satisfy the request\r\n- Never modify, remove, or replace sections unrelated to the request\r\n- Use chat history to reconstruct prior changes when needed and as context for the current requested change\r\n\r\n# Response Guidelines\r\n- Populate `response` with a concise explanation of exactly what you changed\r\n- Refer to yourself as \u201CI\u201D or \u201Cwe\u201D.\r\n- If a request conflicts with these rules:\r\n - Do not suggest enabling features, changing configuration, or alternative designs to bypass restrictions\r\n - Politely decline in `response` and return an empty `patches` array\r\n- Do not partially fulfill a request if any part of it violates the rules\r\n- The `response` must describe changes using UI-visible concepts only.\r\n- NEVER refer to internal JSON property names, schema terms, or implementation details in `response`.\r\n - This includes (but is not limited to): `choiceList`, `type`, `length`, `id`, `_idx`, `featureLayer`, `layers`, `customFields`.\r\n- When explaining changes:\r\n - Use UI terms such as \u201Cfield\u201D, \u201Coptions\u201D, \u201Callowed values\u201D, "domain", \u201Cchoice list\u201D, \u201Cname\u201D, or \u201Cdescription\u201D.\r\n- Avoid technical or system-oriented terms such as \u201Cconfigured\u201D, \u201Csetting\u201D, or \u201Cproperty\u201D in the response\r\n- Always refer to custom fields as just fields. Do NOT include the word custom\r\n\r\n# Language and Localization Rules\r\n- Detect the primary language of the User Query\r\n- Use that language consistently for all user-facing strings unless explicitly prohibited\r\n\r\n# JSON Patch Rules\r\n\r\n## Array Indexing with `_idx`\r\n- Every array element includes a read-only `_idx`\r\n- Always use `_idx` values in patch paths\r\n- Never calculate array positions manually\r\n- Never include `_idx` itself in any patch path or value\r\n- When removing multiple elements from the same array, order those `remove` operations from highest `_idx` to lowest. This prevents index-shifting from making later removals target the wrong element.\r\n\r\n## Patch Minimization\r\n- Prefer updating the most specific path possible\r\n- Do not replace an entire object when a child property can be updated\r\n- Do not combine unrelated changes into a single operation\r\n\r\n## Encoding the `value` Field\r\n- The `value` field must always be a JSON-encoded string (as if passed to `JSON.stringify`).\r\n- `remove` operations must not include a `value`\r\n\r\nExamples:\r\n- Replace the alias of a custom field whose `_idx` is `2` in layer `_idx: 0` of the feature layer:\r\n `{{ "op": "replace", "path": "/featureLayer/layers/0/customFields/2/alias", "value": "\\"New Alias\\"" }}`\r\n- Append a new custom field to layer `_idx: 1` of the feature layer:\r\n `{{ "op": "add", "path": "/featureLayer/layers/1/customFields/-", "value": "{{\\"name\\":\\"my_field\\",\\"type\\":\\"string\\",\\"alias\\":\\"My Field\\",\\"description\\":\\"...\\",\\"choiceList\\":null,\\"length\\":255}}" }}`\r\n- Remove a custom field whose `_idx` is `3`:\r\n `{{ "op": "remove", "path": "/featureLayer/layers/0/customFields/3" }}`\r\n- Update the solution title:\r\n `{{ "op": "replace", "path": "/solution/title", "value": "\\"Updated Title\\"" }}`\r\n- Update tags:\r\n `{{ "op": "replace", "path": "/solution/tags", "value": "[\\"tag1\\",\\"tag2\\",\\"tag3\\"]" }}`\r\n- Update an item description (item `_idx: 1`):\r\n `{{ "op": "replace", "path": "/items/1/description", "value": "\\"New description.\\"" }}`\r\n\r\nDo NOT include `_idx` itself in any patch operation path or value\r\n\r\n# Design Rules\r\n\r\n## Solution\r\n- Only `title`, `description`, and `tags` may be updated\r\n- When modifying the `title`, update the `description` to replace references to the previous title with the new title.\r\n- Only modify values. Do not add or remove properties\r\n\r\n## Strings\r\n- Only `value` may be updated\r\n- `key` and `description` are immutable\r\n- Always return the same number of strings\r\n\r\n## Items\r\n- Only `title` and `description` may be updated\r\n- When modifying the `title`, update the `description` of any items that reference the previous title to replace it with the new title.\r\n- `id` and `type` are immutable\r\n- Items cannot be added or removed\r\n\r\n## Feature Layers\r\n- Supported layer types: `Point`, `Polyline`, `Polygon`, `Table`\r\n\r\n### Layer Naming Rules\r\n- Layer `name` values should be written in Title Case unless specifically requested otherwise\r\n- Layer names should be localized to the detected User Query language unless specifically requested otherwise\r\n\r\n### Add Layers Rule\r\n- If `addLayers: false`:\r\n - Layers can NOT be added or removed\r\n - Layer `id` values are immutable\r\n- If `addLayers: true`:\r\n - Layers may be added or removed\r\n - Each new layer must receive a unique `id` starting at 0\r\n- Regardless of `addLayers`:\r\n - Fields within a layer or table may be modified according to the Required Fields and Custom Fields rules.\r\n - Custom fields may be added or removed when explicitly requested.\r\n\r\n### Layer Type Mutability Rule\r\n- Never edit the `typeMutable` property\r\n- If `typeMutable: true`:\r\n - The layer type must be chosen: `Point`, `Polyline`, `Polygon`, `Table`\r\n - The layer type may be changed without restriction\r\n- If `typeMutable: false`:\r\n - The layer type may never be changed\r\n - Requests to change the layer type should be rejected\r\n\r\n### Required Fields\r\n- Required fields are protected:\r\n - Cannot be removed\r\n - Cannot be moved\r\n - `name`, `type`, `length`, and `choiceList` are immutable\r\n - `alias` and `description` can be modified\r\n\r\n### Custom Fields\r\n- Custom fields may be added, modified, or removed\r\n - All properties of the field can be modified\r\n- Field names:\r\n - must be 31 characters or fewer\r\n - lowercase in the detected User Query language when that language has letter case\r\n - contain letters from any writing system (Unicode letters are allowed, e.g., `\xE4`, `\xF1`, `\u540D`, `\u3042`)\r\n - do not contain special characters other than underscores (`_`)\r\n - do not start with a number or underscore\r\n- Localize the field `name` to the detected User Query language\r\n- Valid types: `string`, `integer`, `double`, `date`\r\n- String fields:\r\n - Set `choiceList` to an array of allowed values if applicable, else `null`\r\n - All`choiceList` values should be written in the detected User Query language unless specifically requested otherwise\r\n - Set an appropriate `length`. When setting a default length use 256 instead of 255.\r\n- Non-string fields:\r\n - `choiceList` and `length` should be set to `null`\r\n - Existing string fields can be changed to a non-string field when requested \r\n- Boolean values must be implemented as:\r\n - `string` with a two-value `choiceList`\r\n - The two values should be localized to the detected User Query language unless specifically requested otherwise\r\n - Preserve meaning equivalent to \u201CYes\u201D and \u201CNo\u201D (affirmative/negative)\r\n- No duplicate field names within the same layer\r\n\r\n# Current Solution Design\r\n{currentDesign}\r\n\r\n# User Query\r\n{query}';export{e as default};
package/dist/cdn/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{a}from"./2I5LGZNX.js";import{u as e}from"./FFF5HUPM.js";import"./QPIMTXPL.js";var o=e(a,{"arcgis-solutions-assistant":[()=>import("./KDSK7F55.js"),"_translations:,builderVisible,hasActiveBuilderDesign,open,userFirstName"],"buffer-tools":[()=>import("./AZDHGEBN.js"),"_translations:,appearance,disabled,distance,geometries:,max,min,sliderTicks,unionResults,unit;getTranslatedUnit"],"card-manager":[()=>import("./DMX66TUK.js"),"_translations:,allowedPasteLayerIds:,createBtnLabel,customInfoText,enableCreateFeatures,enableEditGeometry,enableSnapping,isMobile,layerOrTable:,mapComponentId,mapView:,pasteEnabled,selectedFeaturesIds:,selectingFeatureFromMap,showCopyPasteActions,showSketchWidgets,zoomAndScrollToSelected"],"consent-manager":[()=>import("./6RONZCGM.js"),"_translations:,amazonAppId,amazonAppName,amazonUserPoolID,amazonVersion,firstUseVar,measurementIds:,portal:;getInstance"],"create-feature":[()=>import("./E4BPYNC5.js"),"_translations:,aiImageExtraction:,aiTextExtraction:,allowMultipleCreation,appName,customizeSubmit,enableMessageLocation,enablePhotoLocation,enableSearch,enableSnapping,floorLevel,formElements,isMobile,mapView:,popupEnabled,reportingArea,reportingAreaLayer,reportingAreaMessage,searchConfiguration:,selectedLayerId,showGuidingMsg,showLayerVisibilityMsg,showSketchWidgets,submitNewReportsMessage,updateMapPosition;refresh,showForm,submit"],"create-related-feature":[()=>import("./EF4LWVLU.js"),"_translations:,customizeSubmit,enableSnapping,mapView:,selectedFeature:,showGuidingMsg,table:;submit"],"crowdsource-manager":[()=>import("./GBDBGOCT.js"),"_translations:,appLayout,appProxies,basemapConfig:,coverPageEnabled,customInfoText,defaultAppLayout,defaultCenter,defaultGlobalId,defaultLayer,defaultLevel,defaultOid,defaultWebmap,enableAutoRefresh,enableBasemap,enableColumnReorder,enableCopyPaste,enableCSV,enableFloorFilter,enableFullscreen,enableHome,enableLayerList,enableLegend,enableMapList,enableSearch,enableSelectionTool,enableShare,enableSnapping,enableZoom,featureSelectionMode,honorMapFieldSettings,introductionWindowEnabled,mapInfos:,onlyShowUpdatableLayers,popupHeaderColor,popupHeaderHoverColor,popupHeaderHoverTextColor,popupHeaderTextColor,searchConfiguration:,shareIncludeEmbed,shareIncludeSocial,showNewestFirst,theme,visibilityIcon,zoomAndScrollToSelected,zoomToScale"],"crowdsource-reporter":[()=>import("./EZ5PKNLU.js"),"_translations:,aiImageExtraction:,aiTextExtraction:,center,commentButtonText,commentSubmittedMessage,defaultWebmap,description,enableAnonymousAccess,enableAnonymousComments,enableComments,enableHome,enableLogin,enableMessageLocation,enableNewReports,enablePhotoLocation,enableSearch,enableSnapping,enableZoom,filterByMapExtent,floorLevel,isMobile,layerExpressions:,layerId,level,loginTitle,mapInfos:,mapView:,objectId,reportButtonText,reportingArea,reportingAreaLayer,reportingAreaMessage,reportingOptions:,reportsHeader,reportSubmittedMessage,searchConfiguration:,showComments,showFeatureSymbol,showFullCommentTitle,showMyReportsOnly,showUserImageInCommentsList,sortFields:,sortOption,submitNewReportsMessage,theme,zoomToScale;updateLayerExpressionsT9n"],"deduct-calculator":[()=>import("./YJBXJNUR.js")],"delete-button":[()=>import("./BFC6PQCO.js"),"_translations:,buttonType,deleteDialog,disabled,icon,ids:,layer:,showDeleteCount"],"delete-dialog":[()=>import("./JM4BUUFY.js"),"_translations:,ids:,layer:,open"],"edit-card":[()=>import("./ZQAD6SUE.js"),"_translations:,allowMultipleEditing,enableEditGeometry,enableSnapping,graphicIndex,graphics:,mapView:,open"],"feature-details":[()=>import("./6BIHAEOS.js"),"enableSnapping,graphics:,layerItemsHash:,mapView:,reportingOptions:,showFullCommentTitle,showUserImageInCommentsList;back,next,refresh,toggleListView"],"feature-list":[()=>import("./DQ7I7HGP.js"),"_translations:,applyLayerViewFilter,filterByMapExtent,highlightOnHover,highlightOnMap,mapView:,noFeaturesFoundMsg,pageSize,reportingOptions:,selectedLayerId,showErrorWhenNoFeatures,showFeatureSymbol,showFullTitle,showInitialLoading,showUserImageInList,sortingInfo:,textSize,whereClause;refresh"],"field-selection":[()=>import("./OL5LAOD5.js"),"_translations:,configExtraFields,layer:,mapView:,table:,tableRef:"],"info-card":[()=>import("./PBENK36A.js"),"_translations:,allowEditing,enableEditGeometry,enableSnapping,featuresReferenceId,graphics:,highlightEnabled,isLoading,isMobile,mapView:,paginationEnabled,pasteEnabled,position,showCloseBtn,showCopyPasteActions;back,getSelectedFeature,next,refresh,toggleListView"],"layer-list":[()=>import("./TRXDA7G2.js"),"_translations:,applyLayerViewFilter,filterByMapExtent,layers:,mapView:,showFeatureCount,showNextIcon;refresh"],"layer-list-widget":[()=>import("./P6VUY7UX.js"),"layerListRef:,mapView:,visibilityIcon"],"layer-table":[()=>import("./R7A62RZ4.js"),"_translations:,appLayout,defaultGlobalId:,defaultLayerId,defaultOid:,enableAutoRefresh,enableColumnReorder,enableCSV,enableInlineEdit,enableShare,enableTableAutosave,featureSelectionMode,honorMapFieldSettings,isMobile,layerIds:,mapHidden,mapInfo:,mapView:,pasteEnabled,selectedIds:,selectedRelatedIds:,shareIncludeEmbed,shareIncludeSocial,showCopyPasteActions,showNewestFirst,showOnlyUpdatableLayers,zoomAndScrollToSelected,zoomToScale;closeFilter,filterReset,filterUpdate,refresh,setColumnOrder,validateActiveEdits,validateTableUpdate"],"map-basemap-gallery":[()=>import("./P2NKBGLG.js"),"basemapConfig:,basemapGalleryRef:,mapView:"],"map-card":[()=>import("./HS55CSUO.js"),"_translations:,appLayout,appProxies,basemapConfig:,defaultLayerId,defaultWebmapId,enableBasemap,enableFloorFilter,enableFullscreen,enableHome,enableLayerList,enableLegend,enableMapLayerPicker,enableMapPicker,enableSearch,enableSelectionTool,enableShare,enableSingleExpand,featureSelectionMode,hide,isMapLayout,isMobile,mapComponentId,mapInfo:,mapInfos:,mapToolsOrder:,mapView:,mapWidgetsIndex,mapWidgetsPosition,mapWidgetsSize,mobileMapWidgetsPosition,mobileToolsOrder:,pasteEnabled,selectedFeaturesIds:,selectedLayer:,shareIncludeEmbed,shareIncludeSocial,showCopyPasteActions,showOnlyUpdatableLayers,stackTools,theme,visibilityIcon,zoomToolsSize,zoomToScale;resetFilter,updateFilterState,updateLayer"],"map-draw-tools":[()=>import("./7IXJB2CS.js"),"_translations:,active,drawMode,editGraphicsEnabled,graphics:,mapView:,pointSymbol:,polygonSymbol:,polylineSymbol:,redoEnabled,undoEnabled;clear,updateGraphics"],"map-floor-filter":[()=>import("./DIMSALHW.js"),"enabled,floorFilterRef:,mapView:"],"map-fullscreen":[()=>import("./SHGAD5MK.js"),"fullscreenRef:,mapView:"],"map-layer-picker":[()=>import("./ENTBR5YC.js"),"_translations:,appearance,configLayerOrderDefined,defaultLayerId,disabled,display,enabledLayerIds:,height,isMobile,mapView:,placeholderIcon,referenceElement,scale,selectedIds:,showLayersListInPopover,showOnlyUpdatableLayers,showSingleLayerAsLabel,showTables,showTablesDisabled,type;setLayerById,setLayerByIds,updateLayer"],"map-legend":[()=>import("./SQ3AHKIW.js"),"legendRef:,mapView:"],"map-picker":[()=>import("./O4YFJXGF.js"),"_translations:,height,isMapLayout,mapInfos:,referenceElement,selectedWebMapId,showMapListInPopover;close,setMapByID,toggle"],"map-search":[()=>import("./JJV3TD42.js"),"mapView:,popupEnabled,resultGraphicEnabled,searchComponent:,searchConfiguration:,searchTerm"],"map-select-tools":[()=>import("./G5PL37M5.js"),"_translations:,bufferColor,bufferOutlineColor,customLabelEnabled,defaultBufferDistance,defaultBufferUnit,enabledLayerIds:,enableLayerFeatures,enableLayerFeaturesOnLoad,enableSearchDistance,enableSearchDistanceOnLoad,enableSketchTools,geometries:,headerLabelClass,isUpdate,layerViews:,mapView:,noResultText,searchConfiguration:,searchDistanceEnabled,selectionLayerIds:,selectionSet:,selectLayerView:,sketchLineSymbol:,sketchPointSymbol:,sketchPolygonSymbol:,useLayerFeaturesEnabled;clearSelection,getSelection"],"map-tools":[()=>import("./CQQH3XK5.js"),"_translations:,basemapConfig:,configLayerOrderDefined,defaultLayerId,enableBasemap,enabledLayerIds:,enableFloorFilter,enableFullscreen,enableHome,enableLayerList,enableLegend,enableMapLayerPicker,enableMapPicker,enableSearch,enableSelectionTool,enableSingleExpand,isMobile,layout,mapInfo:,mapInfos:,mapView:,mapWidgetsSize,parentComponentHeight,parentComponentWidth,position,searchConfiguration:,selectedFeaturesIds:,selectedLayer:,selectedWebMapId,selectionTools:,showOnlyUpdatableLayers,stackTools,toolOrder:,visibilityIcon,zoomToolsSize"],"pci-calculator":[()=>import("./KZSBETIP.js")],"pdf-download":[()=>import("./6RTL3IJQ.js"),"_translations:,defaultNumLabelsPerPage,disabled;downloadCSV,downloadPDF"],"public-notification":[()=>import("./7CZG6NDM.js"),"_translations:,addresseeLayerIds:,bufferColor,bufferOutlineColor,customExport,customExportURL,customLabelEnabled,defaultBufferDistance,defaultBufferUnit,defaultExportTitle,defaultNumLabelsPerPage,enableLayerFeatures,enableLayerFeaturesOnLoad,enableSearchDistance,enableSearchDistanceOnLoad,enableSketchTools,featureEffect:,featureHighlightEnabled,initialNotice,mapView:,noResultText,searchConfiguration:,selectionLayerIds:,showRefineSelection,showSearchSettings,sketchLineSymbol:,sketchPointSymbol:,sketchPolygonSymbol:"],"refine-selection":[()=>import("./VYCVNEK2.js"),"_translations:,addresseeLayer:,bufferColor,bufferOutlineColor,defaultBufferDistance,defaultBufferUnit,drawnGraphicsArr:,enabledLayerIds:,enableSearchDistance,enableSearchDistanceOnLoad,geometries:,mapView:,searchDistanceEnabled,selectionSets:,sketchLineSymbol:,sketchPointSymbol:,sketchPolygonSymbol:"],"selection-tool":[()=>import("./NM2PQIH6.js"),"mapView:,selectedLayerId,tool;toggleSelectionTool"],"solution-builder-assistant":[()=>import("./7NKBQ4G6.js"),"_translations:,design,readOnlyNotice"],"solution-configure-titles":[()=>import("./IR55PBAU.js"),"_translations:,card:,open,solutionData,source,templateInfos:"],"solution-delete-dialog":[()=>import("./LOPXSWVG.js"),"_translations:,card:,open,source;;close,delete"],"solution-deploy-dialog":[()=>import("./MDMFIEM7.js"),"_translations:,card:,debugFailDeployment,design:,open,userOptions:;;close,deploy"],"solution-deployed-card":[()=>import("./JET6MYZJ.js"),"_translations:,card:,deployedDate,description,diagramKey,heading,itemId,owner,templateInfos:,thumbnail,updateAvailable;getTemplates,renderDeleteDialog,renderDiagramDialog"],"solution-deployed-card-panel":[()=>import("./QCCLUBLV.js"),"_translations:,card:,cardRef,diagramKey,open,readOnlyNotice,templateInfos:"],"solution-deploying-dialog":[()=>import("./TK235QG4.js"),"_translations:,abortController:,card:,deploymentProgress,isWaitingForCard,open;;cancelDeployment,close,confirmCancel"],"solution-details-card":[()=>import("./WAJG744H.js"),"_translations:,card:,referrerSolutionId,referrerSolutionTitle,referrerSolutionVersion,source"],"solution-details-panel":[()=>import("./IM3C52I6.js"),"_translations:,card:,readOnlyNotice"],"solution-item-accordion":[()=>import("./EKFKOS5K.js"),"_translations:,itemRelationshipDependencies:,linkType,listSelectionMode,reuseWarning,templateInfos:,typeKeywords:,usageContext;collapseAll,deselectAll,expandFirstItem,expandItemById,expandItems,selectFirstItem,selectItem,selectItems"],"solution-item-diagram":[()=>import("./CFQKZMGC.js"),"_translations:,diagramKey,templateInfoGraph:,typeKeywords:"],"solution-item-icon":[()=>import("./NVEAYDYI.js"),"designType,isPortal,type,typeKeywords:"],"solution-resource-card":[()=>import("./UY66XIX3.js"),"_translations:,description,heading,headingEn,icon,meridianIcon,sectionHeadingEn,url"],"solution-snapshot-gallery":[()=>import("./I3A27HFS.js"),"_translations:,card:,itemProperties:,open,screenshot:"],"solution-social-share":[()=>import("./L2XO4YLV.js"),"_translations:,actionApperance,autoUpdateShareUrl,buttonAppearance,inlineSuccessPopoverPlacement,mode,popoverButtonIconScale,popoverPositioning,removePopoverOffset,scale,shareButtonKind,shareButtonScale,shareButtonText,shareButtonType,shareIconsLayout,shareText,shareUrl,shortenShareUrl,socialMedia,solutionId,solutionTitle,solutionVersion,successMessage"],"solution-user-avatar":[()=>import("./IZDAQGZD.js"),"fullname,lookupProfile,thumbnailUrl,username"],"solutions-all-panel":[()=>import("./QA3SYWWX.js"),"_translations:,sortType;searchSolutions,setSearchOptions;getDisplayedSolutionIds"],"solutions-all-shell":[()=>import("./OZFVLORO.js"),"_translations:,solutionsCount;searchSolutions"],"solutions-deploy-app":[()=>import("./JAYARGS3.js"),"_translations:,appConfig,initTab,initTitleOrId,loadExampleBuilderData,sortType,useLocalAppConfig;selectTab"],"solutions-deploy-app-nav":[()=>import("./7ZEDJMU7.js"),"_translations:,appConfig,assistantOpen,initTab;;activateMenuItem,clearMenuItems"],"solutions-deployed-list":[()=>import("./GFEDQ7WH.js"),"_translations:,hasLinks,listTitle,referenceCards:,results:"],"solutions-deployed-panel":[()=>import("./ALQFRJNC.js"),"_translations:,sortType;reload,searchSolutions,setSearchOptions"],"solutions-deployed-shell":[()=>import("./AKQEDHUS.js"),"_translations:,solutionsCount;searchSolutions"],"solutions-filter-panel":[()=>import("./Q7GMS6X2.js"),"_translations:,hideIndustryFilter,showReset;;changeIndustryFilter,clearFilters"],"solutions-resources-section":[()=>import("./XKBOPER7.js"),"cards,heading,subheading"],"solutions-resources-shell":[()=>import("./XDONARND.js"),"_translations:;scrollToSection"],"solutions-searchsort-toolbar":[()=>import("./S2A7SDYB.js"),"_translations:,defaultSortType,isOrgSolutions,scope;;changeOwnerFilter,changeSearchFilter,sortChanged"]});o({resourcesUrl:import.meta.url});var t=new CSSStyleSheet;t.replaceSync("@layer{:not([hydrated]):is(arcgis-solutions-assistant,buffer-tools,card-manager,consent-manager,create-feature,create-related-feature,crowdsource-manager,crowdsource-reporter,deduct-calculator,delete-button,delete-dialog,edit-card,feature-details,feature-list,field-selection,info-card,layer-list,layer-list-widget,layer-table,map-basemap-gallery,map-card,map-draw-tools,map-floor-filter,map-fullscreen,map-layer-picker,map-legend,map-picker,map-search,map-select-tools,map-tools,pci-calculator,pdf-download,public-notification,refine-selection,selection-tool,solution-builder-assistant,solution-configure-titles,solution-delete-dialog,solution-deploy-dialog,solution-deployed-card,solution-deployed-card-panel,solution-deploying-dialog,solution-details-card,solution-details-panel,solution-item-accordion,solution-item-diagram,solution-item-icon,solution-resource-card,solution-snapshot-gallery,solution-social-share,solution-user-avatar,solutions-all-panel,solutions-all-shell,solutions-deploy-app,solutions-deploy-app-nav,solutions-deployed-list,solutions-deployed-panel,solutions-deployed-shell,solutions-filter-panel,solutions-resources-section,solutions-resources-shell,solutions-searchsort-toolbar){visibility:hidden}}");document.adoptedStyleSheets=[...document.adoptedStyleSheets,t];window.$arcgis||Object.defineProperty(window,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),((a,r)=>{a.t=(c,...x)=>Promise.all(x.map(x=>x.then?x:(!a?.forceESM&&a?.import||(x=>import(x+".js").then(m=>m.default??m)))("@arcgis/core/"+x))).then(c);r.p=a.t(([m])=>{r.t=m.trackAccess;r.o=m.createObservable;r.c=m.createTrackingTarget;r.r=m.runTracked},"applications/Components/reactiveUtils")})($arcgis,a)
2
+ import{a}from"./2I5LGZNX.js";import{u as e}from"./FFF5HUPM.js";import"./QPIMTXPL.js";var o=e(a,{"arcgis-solutions-assistant":[()=>import("./CNGHMKQK.js"),"_translations:,builderVisible,hasActiveBuilderDesign,open,userFirstName"],"buffer-tools":[()=>import("./AZDHGEBN.js"),"_translations:,appearance,disabled,distance,geometries:,max,min,sliderTicks,unionResults,unit;getTranslatedUnit"],"card-manager":[()=>import("./DMX66TUK.js"),"_translations:,allowedPasteLayerIds:,createBtnLabel,customInfoText,enableCreateFeatures,enableEditGeometry,enableSnapping,isMobile,layerOrTable:,mapComponentId,mapView:,pasteEnabled,selectedFeaturesIds:,selectingFeatureFromMap,showCopyPasteActions,showSketchWidgets,zoomAndScrollToSelected"],"consent-manager":[()=>import("./6RONZCGM.js"),"_translations:,amazonAppId,amazonAppName,amazonUserPoolID,amazonVersion,firstUseVar,measurementIds:,portal:;getInstance"],"create-feature":[()=>import("./E4BPYNC5.js"),"_translations:,aiImageExtraction:,aiTextExtraction:,allowMultipleCreation,appName,customizeSubmit,enableMessageLocation,enablePhotoLocation,enableSearch,enableSnapping,floorLevel,formElements,isMobile,mapView:,popupEnabled,reportingArea,reportingAreaLayer,reportingAreaMessage,searchConfiguration:,selectedLayerId,showGuidingMsg,showLayerVisibilityMsg,showSketchWidgets,submitNewReportsMessage,updateMapPosition;refresh,showForm,submit"],"create-related-feature":[()=>import("./EF4LWVLU.js"),"_translations:,customizeSubmit,enableSnapping,mapView:,selectedFeature:,showGuidingMsg,table:;submit"],"crowdsource-manager":[()=>import("./GBDBGOCT.js"),"_translations:,appLayout,appProxies,basemapConfig:,coverPageEnabled,customInfoText,defaultAppLayout,defaultCenter,defaultGlobalId,defaultLayer,defaultLevel,defaultOid,defaultWebmap,enableAutoRefresh,enableBasemap,enableColumnReorder,enableCopyPaste,enableCSV,enableFloorFilter,enableFullscreen,enableHome,enableLayerList,enableLegend,enableMapList,enableSearch,enableSelectionTool,enableShare,enableSnapping,enableZoom,featureSelectionMode,honorMapFieldSettings,introductionWindowEnabled,mapInfos:,onlyShowUpdatableLayers,popupHeaderColor,popupHeaderHoverColor,popupHeaderHoverTextColor,popupHeaderTextColor,searchConfiguration:,shareIncludeEmbed,shareIncludeSocial,showNewestFirst,theme,visibilityIcon,zoomAndScrollToSelected,zoomToScale"],"crowdsource-reporter":[()=>import("./EZ5PKNLU.js"),"_translations:,aiImageExtraction:,aiTextExtraction:,center,commentButtonText,commentSubmittedMessage,defaultWebmap,description,enableAnonymousAccess,enableAnonymousComments,enableComments,enableHome,enableLogin,enableMessageLocation,enableNewReports,enablePhotoLocation,enableSearch,enableSnapping,enableZoom,filterByMapExtent,floorLevel,isMobile,layerExpressions:,layerId,level,loginTitle,mapInfos:,mapView:,objectId,reportButtonText,reportingArea,reportingAreaLayer,reportingAreaMessage,reportingOptions:,reportsHeader,reportSubmittedMessage,searchConfiguration:,showComments,showFeatureSymbol,showFullCommentTitle,showMyReportsOnly,showUserImageInCommentsList,sortFields:,sortOption,submitNewReportsMessage,theme,zoomToScale;updateLayerExpressionsT9n"],"deduct-calculator":[()=>import("./YJBXJNUR.js")],"delete-button":[()=>import("./BFC6PQCO.js"),"_translations:,buttonType,deleteDialog,disabled,icon,ids:,layer:,showDeleteCount"],"delete-dialog":[()=>import("./JM4BUUFY.js"),"_translations:,ids:,layer:,open"],"edit-card":[()=>import("./ZQAD6SUE.js"),"_translations:,allowMultipleEditing,enableEditGeometry,enableSnapping,graphicIndex,graphics:,mapView:,open"],"feature-details":[()=>import("./6BIHAEOS.js"),"enableSnapping,graphics:,layerItemsHash:,mapView:,reportingOptions:,showFullCommentTitle,showUserImageInCommentsList;back,next,refresh,toggleListView"],"feature-list":[()=>import("./DQ7I7HGP.js"),"_translations:,applyLayerViewFilter,filterByMapExtent,highlightOnHover,highlightOnMap,mapView:,noFeaturesFoundMsg,pageSize,reportingOptions:,selectedLayerId,showErrorWhenNoFeatures,showFeatureSymbol,showFullTitle,showInitialLoading,showUserImageInList,sortingInfo:,textSize,whereClause;refresh"],"field-selection":[()=>import("./OL5LAOD5.js"),"_translations:,configExtraFields,layer:,mapView:,table:,tableRef:"],"info-card":[()=>import("./PBENK36A.js"),"_translations:,allowEditing,enableEditGeometry,enableSnapping,featuresReferenceId,graphics:,highlightEnabled,isLoading,isMobile,mapView:,paginationEnabled,pasteEnabled,position,showCloseBtn,showCopyPasteActions;back,getSelectedFeature,next,refresh,toggleListView"],"layer-list":[()=>import("./TRXDA7G2.js"),"_translations:,applyLayerViewFilter,filterByMapExtent,layers:,mapView:,showFeatureCount,showNextIcon;refresh"],"layer-list-widget":[()=>import("./P6VUY7UX.js"),"layerListRef:,mapView:,visibilityIcon"],"layer-table":[()=>import("./R7A62RZ4.js"),"_translations:,appLayout,defaultGlobalId:,defaultLayerId,defaultOid:,enableAutoRefresh,enableColumnReorder,enableCSV,enableInlineEdit,enableShare,enableTableAutosave,featureSelectionMode,honorMapFieldSettings,isMobile,layerIds:,mapHidden,mapInfo:,mapView:,pasteEnabled,selectedIds:,selectedRelatedIds:,shareIncludeEmbed,shareIncludeSocial,showCopyPasteActions,showNewestFirst,showOnlyUpdatableLayers,zoomAndScrollToSelected,zoomToScale;closeFilter,filterReset,filterUpdate,refresh,setColumnOrder,validateActiveEdits,validateTableUpdate"],"map-basemap-gallery":[()=>import("./P2NKBGLG.js"),"basemapConfig:,basemapGalleryRef:,mapView:"],"map-card":[()=>import("./HS55CSUO.js"),"_translations:,appLayout,appProxies,basemapConfig:,defaultLayerId,defaultWebmapId,enableBasemap,enableFloorFilter,enableFullscreen,enableHome,enableLayerList,enableLegend,enableMapLayerPicker,enableMapPicker,enableSearch,enableSelectionTool,enableShare,enableSingleExpand,featureSelectionMode,hide,isMapLayout,isMobile,mapComponentId,mapInfo:,mapInfos:,mapToolsOrder:,mapView:,mapWidgetsIndex,mapWidgetsPosition,mapWidgetsSize,mobileMapWidgetsPosition,mobileToolsOrder:,pasteEnabled,selectedFeaturesIds:,selectedLayer:,shareIncludeEmbed,shareIncludeSocial,showCopyPasteActions,showOnlyUpdatableLayers,stackTools,theme,visibilityIcon,zoomToolsSize,zoomToScale;resetFilter,updateFilterState,updateLayer"],"map-draw-tools":[()=>import("./7IXJB2CS.js"),"_translations:,active,drawMode,editGraphicsEnabled,graphics:,mapView:,pointSymbol:,polygonSymbol:,polylineSymbol:,redoEnabled,undoEnabled;clear,updateGraphics"],"map-floor-filter":[()=>import("./DIMSALHW.js"),"enabled,floorFilterRef:,mapView:"],"map-fullscreen":[()=>import("./SHGAD5MK.js"),"fullscreenRef:,mapView:"],"map-layer-picker":[()=>import("./ENTBR5YC.js"),"_translations:,appearance,configLayerOrderDefined,defaultLayerId,disabled,display,enabledLayerIds:,height,isMobile,mapView:,placeholderIcon,referenceElement,scale,selectedIds:,showLayersListInPopover,showOnlyUpdatableLayers,showSingleLayerAsLabel,showTables,showTablesDisabled,type;setLayerById,setLayerByIds,updateLayer"],"map-legend":[()=>import("./SQ3AHKIW.js"),"legendRef:,mapView:"],"map-picker":[()=>import("./O4YFJXGF.js"),"_translations:,height,isMapLayout,mapInfos:,referenceElement,selectedWebMapId,showMapListInPopover;close,setMapByID,toggle"],"map-search":[()=>import("./JJV3TD42.js"),"mapView:,popupEnabled,resultGraphicEnabled,searchComponent:,searchConfiguration:,searchTerm"],"map-select-tools":[()=>import("./G5PL37M5.js"),"_translations:,bufferColor,bufferOutlineColor,customLabelEnabled,defaultBufferDistance,defaultBufferUnit,enabledLayerIds:,enableLayerFeatures,enableLayerFeaturesOnLoad,enableSearchDistance,enableSearchDistanceOnLoad,enableSketchTools,geometries:,headerLabelClass,isUpdate,layerViews:,mapView:,noResultText,searchConfiguration:,searchDistanceEnabled,selectionLayerIds:,selectionSet:,selectLayerView:,sketchLineSymbol:,sketchPointSymbol:,sketchPolygonSymbol:,useLayerFeaturesEnabled;clearSelection,getSelection"],"map-tools":[()=>import("./CQQH3XK5.js"),"_translations:,basemapConfig:,configLayerOrderDefined,defaultLayerId,enableBasemap,enabledLayerIds:,enableFloorFilter,enableFullscreen,enableHome,enableLayerList,enableLegend,enableMapLayerPicker,enableMapPicker,enableSearch,enableSelectionTool,enableSingleExpand,isMobile,layout,mapInfo:,mapInfos:,mapView:,mapWidgetsSize,parentComponentHeight,parentComponentWidth,position,searchConfiguration:,selectedFeaturesIds:,selectedLayer:,selectedWebMapId,selectionTools:,showOnlyUpdatableLayers,stackTools,toolOrder:,visibilityIcon,zoomToolsSize"],"pci-calculator":[()=>import("./KZSBETIP.js")],"pdf-download":[()=>import("./6RTL3IJQ.js"),"_translations:,defaultNumLabelsPerPage,disabled;downloadCSV,downloadPDF"],"public-notification":[()=>import("./7CZG6NDM.js"),"_translations:,addresseeLayerIds:,bufferColor,bufferOutlineColor,customExport,customExportURL,customLabelEnabled,defaultBufferDistance,defaultBufferUnit,defaultExportTitle,defaultNumLabelsPerPage,enableLayerFeatures,enableLayerFeaturesOnLoad,enableSearchDistance,enableSearchDistanceOnLoad,enableSketchTools,featureEffect:,featureHighlightEnabled,initialNotice,mapView:,noResultText,searchConfiguration:,selectionLayerIds:,showRefineSelection,showSearchSettings,sketchLineSymbol:,sketchPointSymbol:,sketchPolygonSymbol:"],"refine-selection":[()=>import("./VYCVNEK2.js"),"_translations:,addresseeLayer:,bufferColor,bufferOutlineColor,defaultBufferDistance,defaultBufferUnit,drawnGraphicsArr:,enabledLayerIds:,enableSearchDistance,enableSearchDistanceOnLoad,geometries:,mapView:,searchDistanceEnabled,selectionSets:,sketchLineSymbol:,sketchPointSymbol:,sketchPolygonSymbol:"],"selection-tool":[()=>import("./NM2PQIH6.js"),"mapView:,selectedLayerId,tool;toggleSelectionTool"],"solution-builder-assistant":[()=>import("./7NKBQ4G6.js"),"_translations:,design,readOnlyNotice"],"solution-configure-titles":[()=>import("./IR55PBAU.js"),"_translations:,card:,open,solutionData,source,templateInfos:"],"solution-delete-dialog":[()=>import("./LOPXSWVG.js"),"_translations:,card:,open,source;;close,delete"],"solution-deploy-dialog":[()=>import("./MDMFIEM7.js"),"_translations:,card:,debugFailDeployment,design:,open,userOptions:;;close,deploy"],"solution-deployed-card":[()=>import("./JET6MYZJ.js"),"_translations:,card:,deployedDate,description,diagramKey,heading,itemId,owner,templateInfos:,thumbnail,updateAvailable;getTemplates,renderDeleteDialog,renderDiagramDialog"],"solution-deployed-card-panel":[()=>import("./QCCLUBLV.js"),"_translations:,card:,cardRef,diagramKey,open,readOnlyNotice,templateInfos:"],"solution-deploying-dialog":[()=>import("./TK235QG4.js"),"_translations:,abortController:,card:,deploymentProgress,isWaitingForCard,open;;cancelDeployment,close,confirmCancel"],"solution-details-card":[()=>import("./WAJG744H.js"),"_translations:,card:,referrerSolutionId,referrerSolutionTitle,referrerSolutionVersion,source"],"solution-details-panel":[()=>import("./IM3C52I6.js"),"_translations:,card:,readOnlyNotice"],"solution-item-accordion":[()=>import("./EKFKOS5K.js"),"_translations:,itemRelationshipDependencies:,linkType,listSelectionMode,reuseWarning,templateInfos:,typeKeywords:,usageContext;collapseAll,deselectAll,expandFirstItem,expandItemById,expandItems,selectFirstItem,selectItem,selectItems"],"solution-item-diagram":[()=>import("./CFQKZMGC.js"),"_translations:,diagramKey,templateInfoGraph:,typeKeywords:"],"solution-item-icon":[()=>import("./NVEAYDYI.js"),"designType,isPortal,type,typeKeywords:"],"solution-resource-card":[()=>import("./UY66XIX3.js"),"_translations:,description,heading,headingEn,icon,meridianIcon,sectionHeadingEn,url"],"solution-snapshot-gallery":[()=>import("./I3A27HFS.js"),"_translations:,card:,itemProperties:,open,screenshot:"],"solution-social-share":[()=>import("./L2XO4YLV.js"),"_translations:,actionApperance,autoUpdateShareUrl,buttonAppearance,inlineSuccessPopoverPlacement,mode,popoverButtonIconScale,popoverPositioning,removePopoverOffset,scale,shareButtonKind,shareButtonScale,shareButtonText,shareButtonType,shareIconsLayout,shareText,shareUrl,shortenShareUrl,socialMedia,solutionId,solutionTitle,solutionVersion,successMessage"],"solution-user-avatar":[()=>import("./IZDAQGZD.js"),"fullname,lookupProfile,thumbnailUrl,username"],"solutions-all-panel":[()=>import("./QA3SYWWX.js"),"_translations:,sortType;searchSolutions,setSearchOptions;getDisplayedSolutionIds"],"solutions-all-shell":[()=>import("./OZFVLORO.js"),"_translations:,solutionsCount;searchSolutions"],"solutions-deploy-app":[()=>import("./JAYARGS3.js"),"_translations:,appConfig,initTab,initTitleOrId,loadExampleBuilderData,sortType,useLocalAppConfig;selectTab"],"solutions-deploy-app-nav":[()=>import("./7ZEDJMU7.js"),"_translations:,appConfig,assistantOpen,initTab;;activateMenuItem,clearMenuItems"],"solutions-deployed-list":[()=>import("./GFEDQ7WH.js"),"_translations:,hasLinks,listTitle,referenceCards:,results:"],"solutions-deployed-panel":[()=>import("./ALQFRJNC.js"),"_translations:,sortType;reload,searchSolutions,setSearchOptions"],"solutions-deployed-shell":[()=>import("./AKQEDHUS.js"),"_translations:,solutionsCount;searchSolutions"],"solutions-filter-panel":[()=>import("./Q7GMS6X2.js"),"_translations:,hideIndustryFilter,showReset;;changeIndustryFilter,clearFilters"],"solutions-resources-section":[()=>import("./XKBOPER7.js"),"cards,heading,subheading"],"solutions-resources-shell":[()=>import("./XDONARND.js"),"_translations:;scrollToSection"],"solutions-searchsort-toolbar":[()=>import("./S2A7SDYB.js"),"_translations:,defaultSortType,isOrgSolutions,scope;;changeOwnerFilter,changeSearchFilter,sortChanged"]});o({resourcesUrl:import.meta.url});var t=new CSSStyleSheet;t.replaceSync("@layer{:not([hydrated]):is(arcgis-solutions-assistant,buffer-tools,card-manager,consent-manager,create-feature,create-related-feature,crowdsource-manager,crowdsource-reporter,deduct-calculator,delete-button,delete-dialog,edit-card,feature-details,feature-list,field-selection,info-card,layer-list,layer-list-widget,layer-table,map-basemap-gallery,map-card,map-draw-tools,map-floor-filter,map-fullscreen,map-layer-picker,map-legend,map-picker,map-search,map-select-tools,map-tools,pci-calculator,pdf-download,public-notification,refine-selection,selection-tool,solution-builder-assistant,solution-configure-titles,solution-delete-dialog,solution-deploy-dialog,solution-deployed-card,solution-deployed-card-panel,solution-deploying-dialog,solution-details-card,solution-details-panel,solution-item-accordion,solution-item-diagram,solution-item-icon,solution-resource-card,solution-snapshot-gallery,solution-social-share,solution-user-avatar,solutions-all-panel,solutions-all-shell,solutions-deploy-app,solutions-deploy-app-nav,solutions-deployed-list,solutions-deployed-panel,solutions-deployed-shell,solutions-filter-panel,solutions-resources-section,solutions-resources-shell,solutions-searchsort-toolbar){visibility:hidden}}");document.adoptedStyleSheets=[...document.adoptedStyleSheets,t];window.$arcgis||Object.defineProperty(window,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),((a,r)=>{a.t=(c,...x)=>Promise.all(x.map(x=>x.then?x:(!a?.forceESM&&a?.import||(x=>import(x+".js").then(m=>m.default??m)))("@arcgis/core/"+x))).then(c);r.p=a.t(([m])=>{r.t=m.trackAccess;r.o=m.createObservable;r.c=m.createTrackingTarget;r.r=m.runTracked},"applications/Components/reactiveUtils")})($arcgis,a)
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- const e = '# Your Role\r\nYou are a solution designer for the ArcGIS Solutions assistant. Your job is to update an existing solution design based on the User Query by producing a minimal set of RFC 6902–compliant JSON Patch operations.\r\n\r\nYou must follow all rules below at all times. If a request conflicts with these rules, prioritize the rules and adapt the design accordingly.\r\n\r\n# Your Task\r\n- Analyze the User Query, Current Solution Design, and chat history\r\n- Produce the fewest possible JSON Patch operations required to satisfy the request\r\n- Never modify, remove, or replace sections unrelated to the request\r\n- Use chat history to reconstruct prior changes when needed and as context for the current requested change\r\n\r\n# Response Guidelines\r\n- Populate `response` with a concise explanation of exactly what you changed\r\n- Refer to yourself as “I” or “we”.\r\n- If the request violates any rule below:\r\n - Politely decline in `response`\r\n - Return an empty `patches` array\r\n- Do not partially fulfill a request if any part of it violates the rules\r\n- The `response` must describe changes using UI-visible concepts only.\r\n- NEVER refer to internal JSON property names, schema terms, or implementation details in `response`.\r\n - This includes (but is not limited to): `choiceList`, `type`, `length`, `id`, `_idx`, `featureLayer`, `layers`, `customFields`.\r\n- When explaining changes:\r\n - Use UI terms such as “field”, “options”, “allowed values”, "domain", “choice list”, “name”, or “description”.\r\n- Always refer to custom fields as just fields. Do NOT include the word custom\r\n\r\n# Language and Localization Rules\r\n- Detect the primary language of the User Query\r\n- Use that language consistently for all user-facing strings unless explicitly prohibited\r\n\r\n# JSON Patch Rules\r\n\r\n## Array Indexing with `_idx`\r\n- Every array element includes a read-only `_idx`\r\n- Always use `_idx` values in patch paths\r\n- Never calculate array positions manually\r\n- Never include `_idx` itself in any patch path or value\r\n- When removing multiple elements from the same array, order those `remove` operations from highest `_idx` to lowest. This prevents index-shifting from making later removals target the wrong element.\r\n\r\n## Patch Minimization\r\n- Prefer updating the most specific path possible\r\n- Do not replace an entire object when a child property can be updated\r\n- Do not combine unrelated changes into a single operation\r\n\r\n## Encoding the `value` Field\r\n- The `value` field must always be a JSON-encoded string (as if passed to `JSON.stringify`).\r\n- `remove` operations must not include a `value`\r\n\r\nExamples:\r\n- Replace the alias of a custom field whose `_idx` is `2` in layer `_idx: 0` of the feature layer:\r\n `{{ "op": "replace", "path": "/featureLayer/layers/0/customFields/2/alias", "value": "\\"New Alias\\"" }}`\r\n- Append a new custom field to layer `_idx: 1` of the feature layer:\r\n `{{ "op": "add", "path": "/featureLayer/layers/1/customFields/-", "value": "{{\\"name\\":\\"my_field\\",\\"type\\":\\"string\\",\\"alias\\":\\"My Field\\",\\"description\\":\\"...\\",\\"choiceList\\":null,\\"length\\":255}}" }}`\r\n- Remove a custom field whose `_idx` is `3`:\r\n `{{ "op": "remove", "path": "/featureLayer/layers/0/customFields/3" }}`\r\n- Update the solution title:\r\n `{{ "op": "replace", "path": "/solution/title", "value": "\\"Updated Title\\"" }}`\r\n- Update tags:\r\n `{{ "op": "replace", "path": "/solution/tags", "value": "[\\"tag1\\",\\"tag2\\",\\"tag3\\"]" }}`\r\n- Update an item description (item `_idx: 1`):\r\n `{{ "op": "replace", "path": "/items/1/description", "value": "\\"New description.\\"" }}`\r\n\r\nDo NOT include `_idx` itself in any patch operation path or value\r\n\r\n# Design Rules\r\n\r\n## Solution\r\n- Only `title`, `description`, and `tags` may be updated\r\n- Only modify values. Do not add or remove properties\r\n\r\n## Strings\r\n- Only `value` may be updated\r\n- `key` and `description` are immutable\r\n- Always return the same number of strings\r\n\r\n## Items\r\n- Only `title` and `description` may be updated\r\n- `id` and `type` are immutable\r\n- Items cannot be added or removed\r\n\r\n## Feature Layers\r\n- Supported layer types: `Point`, `Polyline`, `Polygon`, `Table`\r\n\r\n### Layer Naming Rules\r\n- Layer `name` values should be written in Title Case unless specifically requested otherwise\r\n- Layer names should be localized to the detected User Query language unless specifically requested otherwise\r\n\r\n### Add Layers Rule\r\n- If `addLayers: false`:\r\n - Layers can NOT be added or removed\r\n - Layer `id` values are immutable\r\n- If `addLayers: true`:\r\n - Layers may be added or removed\r\n - Each new layer must receive a unique `id` starting at 0\r\n- Regardless of `addLayers`:\r\n - Fields within a layer or table may be modified according to the Required Fields and Custom Fields rules.\r\n - Custom fields may be added or removed when explicitly requested.\r\n\r\n### Layer Type Mutability Rule\r\n- Never edit the `typeMutable` property\r\n- If `typeMutable: true`:\r\n - The layer type must be chosen: `Point`, `Polyline`, `Polygon`, `Table`\r\n - The layer type may be changed without restriction\r\n- If `typeMutable: false`:\r\n - The layer type may never be changed\r\n - Requests to change the layer type should be rejected\r\n\r\n### Required Fields\r\n- Required fields are protected:\r\n - Cannot be removed\r\n - Cannot be moved\r\n - `name`, `type`, and `choiceList` are immutable\r\n- Only `alias` and `description` may be updated if explicitly requested\r\n\r\n### Custom Fields\r\n- Custom fields may be added, modified, or removed\r\n- Field names:\r\n - lowercase in the detected User Query language when that language has letter case\r\n - contain letters from any writing system (Unicode letters are allowed, e.g., `ä`, `ñ`, `名`, `あ`)\r\n - do not contain special characters other than underscores (`_`)\r\n - do not start with a number or underscore\r\n- Localize the field `name` to the detected User Query language\r\n- Valid types: `string`, `integer`, `double`, `date`\r\n- String fields:\r\n - Set `choiceList` to an array of allowed values if applicable, else `null`\r\n - All`choiceList` values should be written in the detected User Query language unless specifically requested otherwise\r\n - Set an appropriate `length`. When setting a default length use 256 instead of 255.\r\n- Non-string fields:\r\n - `choiceList: null`\r\n - `length: null`\r\n- Boolean values must be implemented as:\r\n - `string` with a two-value `choiceList`\r\n - The two values should be localized to the detected User Query language unless specifically requested otherwise\r\n - Preserve meaning equivalent to “Yes” and “No” (affirmative/negative)\r\n- No duplicate field names within the same layer\r\n\r\n# Current Solution Design\r\n{currentDesign}\r\n\r\n# User Query\r\n{query}';
2
+ const e = '# Your Role\r\nYou are a solution designer for the ArcGIS Solutions assistant. Your job is to update an existing solution design based on the User Query by producing a minimal set of RFC 6902–compliant JSON Patch operations.\r\n\r\nYou must follow all rules below at all times. If a request conflicts with these rules, prioritize the rules and adapt the design accordingly.\r\n\r\n# Your Task\r\n- Analyze the User Query, Current Solution Design, and chat history\r\n- Produce the fewest possible JSON Patch operations required to satisfy the request\r\n- Never modify, remove, or replace sections unrelated to the request\r\n- Use chat history to reconstruct prior changes when needed and as context for the current requested change\r\n\r\n# Response Guidelines\r\n- Populate `response` with a concise explanation of exactly what you changed\r\n- Refer to yourself as “I” or “we”.\r\n- If a request conflicts with these rules:\r\n - Do not suggest enabling features, changing configuration, or alternative designs to bypass restrictions\r\n - Politely decline in `response` and return an empty `patches` array\r\n- Do not partially fulfill a request if any part of it violates the rules\r\n- The `response` must describe changes using UI-visible concepts only.\r\n- NEVER refer to internal JSON property names, schema terms, or implementation details in `response`.\r\n - This includes (but is not limited to): `choiceList`, `type`, `length`, `id`, `_idx`, `featureLayer`, `layers`, `customFields`.\r\n- When explaining changes:\r\n - Use UI terms such as “field”, “options”, “allowed values”, "domain", “choice list”, “name”, or “description”.\r\n- Avoid technical or system-oriented terms such as “configured”, “setting”, or “property” in the response\r\n- Always refer to custom fields as just fields. Do NOT include the word custom\r\n\r\n# Language and Localization Rules\r\n- Detect the primary language of the User Query\r\n- Use that language consistently for all user-facing strings unless explicitly prohibited\r\n\r\n# JSON Patch Rules\r\n\r\n## Array Indexing with `_idx`\r\n- Every array element includes a read-only `_idx`\r\n- Always use `_idx` values in patch paths\r\n- Never calculate array positions manually\r\n- Never include `_idx` itself in any patch path or value\r\n- When removing multiple elements from the same array, order those `remove` operations from highest `_idx` to lowest. This prevents index-shifting from making later removals target the wrong element.\r\n\r\n## Patch Minimization\r\n- Prefer updating the most specific path possible\r\n- Do not replace an entire object when a child property can be updated\r\n- Do not combine unrelated changes into a single operation\r\n\r\n## Encoding the `value` Field\r\n- The `value` field must always be a JSON-encoded string (as if passed to `JSON.stringify`).\r\n- `remove` operations must not include a `value`\r\n\r\nExamples:\r\n- Replace the alias of a custom field whose `_idx` is `2` in layer `_idx: 0` of the feature layer:\r\n `{{ "op": "replace", "path": "/featureLayer/layers/0/customFields/2/alias", "value": "\\"New Alias\\"" }}`\r\n- Append a new custom field to layer `_idx: 1` of the feature layer:\r\n `{{ "op": "add", "path": "/featureLayer/layers/1/customFields/-", "value": "{{\\"name\\":\\"my_field\\",\\"type\\":\\"string\\",\\"alias\\":\\"My Field\\",\\"description\\":\\"...\\",\\"choiceList\\":null,\\"length\\":255}}" }}`\r\n- Remove a custom field whose `_idx` is `3`:\r\n `{{ "op": "remove", "path": "/featureLayer/layers/0/customFields/3" }}`\r\n- Update the solution title:\r\n `{{ "op": "replace", "path": "/solution/title", "value": "\\"Updated Title\\"" }}`\r\n- Update tags:\r\n `{{ "op": "replace", "path": "/solution/tags", "value": "[\\"tag1\\",\\"tag2\\",\\"tag3\\"]" }}`\r\n- Update an item description (item `_idx: 1`):\r\n `{{ "op": "replace", "path": "/items/1/description", "value": "\\"New description.\\"" }}`\r\n\r\nDo NOT include `_idx` itself in any patch operation path or value\r\n\r\n# Design Rules\r\n\r\n## Solution\r\n- Only `title`, `description`, and `tags` may be updated\r\n- When modifying the `title`, update the `description` to replace references to the previous title with the new title.\r\n- Only modify values. Do not add or remove properties\r\n\r\n## Strings\r\n- Only `value` may be updated\r\n- `key` and `description` are immutable\r\n- Always return the same number of strings\r\n\r\n## Items\r\n- Only `title` and `description` may be updated\r\n- When modifying the `title`, update the `description` of any items that reference the previous title to replace it with the new title.\r\n- `id` and `type` are immutable\r\n- Items cannot be added or removed\r\n\r\n## Feature Layers\r\n- Supported layer types: `Point`, `Polyline`, `Polygon`, `Table`\r\n\r\n### Layer Naming Rules\r\n- Layer `name` values should be written in Title Case unless specifically requested otherwise\r\n- Layer names should be localized to the detected User Query language unless specifically requested otherwise\r\n\r\n### Add Layers Rule\r\n- If `addLayers: false`:\r\n - Layers can NOT be added or removed\r\n - Layer `id` values are immutable\r\n- If `addLayers: true`:\r\n - Layers may be added or removed\r\n - Each new layer must receive a unique `id` starting at 0\r\n- Regardless of `addLayers`:\r\n - Fields within a layer or table may be modified according to the Required Fields and Custom Fields rules.\r\n - Custom fields may be added or removed when explicitly requested.\r\n\r\n### Layer Type Mutability Rule\r\n- Never edit the `typeMutable` property\r\n- If `typeMutable: true`:\r\n - The layer type must be chosen: `Point`, `Polyline`, `Polygon`, `Table`\r\n - The layer type may be changed without restriction\r\n- If `typeMutable: false`:\r\n - The layer type may never be changed\r\n - Requests to change the layer type should be rejected\r\n\r\n### Required Fields\r\n- Required fields are protected:\r\n - Cannot be removed\r\n - Cannot be moved\r\n - `name`, `type`, `length`, and `choiceList` are immutable\r\n - `alias` and `description` can be modified\r\n\r\n### Custom Fields\r\n- Custom fields may be added, modified, or removed\r\n - All properties of the field can be modified\r\n- Field names:\r\n - must be 31 characters or fewer\r\n - lowercase in the detected User Query language when that language has letter case\r\n - contain letters from any writing system (Unicode letters are allowed, e.g., `ä`, `ñ`, `名`, `あ`)\r\n - do not contain special characters other than underscores (`_`)\r\n - do not start with a number or underscore\r\n- Localize the field `name` to the detected User Query language\r\n- Valid types: `string`, `integer`, `double`, `date`\r\n- String fields:\r\n - Set `choiceList` to an array of allowed values if applicable, else `null`\r\n - All`choiceList` values should be written in the detected User Query language unless specifically requested otherwise\r\n - Set an appropriate `length`. When setting a default length use 256 instead of 255.\r\n- Non-string fields:\r\n - `choiceList` and `length` should be set to `null`\r\n - Existing string fields can be changed to a non-string field when requested \r\n- Boolean values must be implemented as:\r\n - `string` with a two-value `choiceList`\r\n - The two values should be localized to the detected User Query language unless specifically requested otherwise\r\n - Preserve meaning equivalent to “Yes” and “No” (affirmative/negative)\r\n- No duplicate field names within the same layer\r\n\r\n# Current Solution Design\r\n{currentDesign}\r\n\r\n# User Query\r\n{query}';
3
3
  export {
4
4
  e as default
5
5
  };
@@ -1,23 +1,23 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
2
  import { c as Ae } from "../../chunks/runtime.js";
3
3
  import { u as Le } from "../../chunks/useT9n.js";
4
- import { LitElement as $e, createEvent as se, nothing as ie } from "@arcgis/lumina";
4
+ import { LitElement as $e, createEvent as ie, nothing as ne } from "@arcgis/lumina";
5
5
  import { css as Fe, html as C } from "lit";
6
6
  import { unsafeHTML as Re } from "lit/directives/unsafe-html.js";
7
- import { useContextConsumer as ne } from "@arcgis/lumina/context";
7
+ import { useContextConsumer as ae } from "@arcgis/lumina/context";
8
8
  import { c as De, b as Ne } from "../../chunks/deployAppContexts.js";
9
9
  import { T as R } from "../../chunks/interfaces.js";
10
10
  import { m as Me } from "../../chunks/helpers.js";
11
- import ae from "@arcgis/core/config.js";
11
+ import O from "@arcgis/core/config.js";
12
12
  import { createRef as Be, ref as Pe } from "lit-html/directives/ref.js";
13
- import { Annotation as y, StateGraph as J, START as G, END as S, NodeInterrupt as re } from "@langchain/langgraph/web";
14
- import { createAgentRuntimeState as H, sendTraceMessage as w, invokeStructuredPrompt as k, getEmbeddings as qe, cosineSimilarity as Ue, invokeTextPrompt as Oe } from "@arcgis/ai-orchestrator";
13
+ import { Annotation as y, StateGraph as G, START as H, END as S, NodeInterrupt as re } from "@langchain/langgraph/web";
14
+ import { createAgentRuntimeState as W, sendTraceMessage as w, invokeStructuredPrompt as k, getEmbeddings as qe, cosineSimilarity as Ue, invokeTextPrompt as Oe } from "@arcgis/ai-orchestrator";
15
15
  import r, { z as D } from "zod";
16
- import * as W from "@esri/arcgis-rest-portal";
16
+ import * as Q from "@esri/arcgis-rest-portal";
17
17
  import { applyPatch as ze } from "fast-json-patch";
18
18
  import "@langchain/core/messages";
19
19
  import { C as le } from "../../chunks/converter.js";
20
- import { v as O, b as z, S as je, g as Ve } from "../../chunks/validators.js";
20
+ import { v as z, b as j, S as je, g as Ve } from "../../chunks/validators.js";
21
21
  import { t as ce, g as P, c as de, r as ue, d as $ } from "../../chunks/templates.js";
22
22
  import Je from "@arcgis/core/portal/Portal.js";
23
23
  import Ge from "@arcgis/core/portal/PortalItem.js";
@@ -101,7 +101,7 @@ function Ye(t) {
101
101
  function ge(t) {
102
102
  return t && t.helperServices.aiAssistantServices ? `${t.helperServices.aiAssistantServices.url}/skills/doc_ai_assistant/api/pre-chat` : null;
103
103
  }
104
- async function V(t, e, s) {
104
+ async function J(t, e, s) {
105
105
  const i = await fetch(e, {
106
106
  method: "POST",
107
107
  headers: {
@@ -119,7 +119,7 @@ const Xe = (t) => new Promise((e) => setTimeout(e, t)), Ze = y.Root({
119
119
  // channels with the orchestrator's standard reducers/defaults so the
120
120
  // sub-agent reports back through the same shape the orchestrator
121
121
  // persists into priorSteps.
122
- ...H(),
122
+ ...W(),
123
123
  solutionResponse: y({
124
124
  reducer: (t, e) => e ?? null,
125
125
  default: () => null
@@ -135,7 +135,7 @@ const Xe = (t) => new Promise((e) => setTimeout(e, t)), Ze = y.Root({
135
135
  reducer: (t, e) => e ?? t,
136
136
  default: () => null
137
137
  })
138
- }), et = () => new J(Ze).addNode("initializeAgent", st).addNode("askSolutionsQuestions", tt).addEdge(G, "initializeAgent").addEdge("initializeAgent", "askSolutionsQuestions").addEdge("askSolutionsQuestions", S), he = async (t, e, s, i) => {
138
+ }), et = () => new G(Ze).addNode("initializeAgent", st).addNode("askSolutionsQuestions", tt).addEdge(H, "initializeAgent").addEdge("initializeAgent", "askSolutionsQuestions").addEdge("askSolutionsQuestions", S), he = async (t, e, s, i) => {
139
139
  if (!t) return;
140
140
  const n = ge(t);
141
141
  if (!n) return;
@@ -149,7 +149,7 @@ const Xe = (t) => new Promise((e) => setTimeout(e, t)), Ze = y.Root({
149
149
  }
150
150
  }
151
151
  } };
152
- i && (o.conversationId = i), V(o, n, e ?? "");
152
+ i && (o.conversationId = i), J(o, n, e ?? "");
153
153
  }, tt = async (t, e) => {
154
154
  if (e?.configurable?.abortSignal?.aborted)
155
155
  return {};
@@ -159,7 +159,7 @@ const Xe = (t) => new Promise((e) => setTimeout(e, t)), Ze = y.Root({
159
159
  { text: s.agentProgress.explorerAgentSearching },
160
160
  e
161
161
  );
162
- let a = await V(
162
+ let a = await J(
163
163
  {
164
164
  message: t.agentExecutionContext.userRequest,
165
165
  conversationId: e?.configurable?.context?.convoId ?? void 0,
@@ -205,7 +205,7 @@ const Xe = (t) => new Promise((e) => setTimeout(e, t)), Ze = y.Root({
205
205
  for (await u(a); o.hasMore; ) {
206
206
  if (e?.configurable?.abortSignal?.aborted)
207
207
  return {};
208
- await Xe(500), a = await V(
208
+ await Xe(500), a = await J(
209
209
  {
210
210
  conversationId: o.conversationId,
211
211
  ackSequenceNumber: o.ackSequenceNumber,
@@ -311,9 +311,9 @@ class be {
311
311
  }
312
312
  }
313
313
  validateSolutionProps() {
314
- const e = this.response.solution.title, s = this.response.solution.description, i = O(e ?? "");
314
+ const e = this.response.solution.title, s = this.response.solution.description, i = z(e ?? "");
315
315
  if (i.isValid || this.logIssue(`Solution title is invalid (${i.errorType}).`), s) {
316
- const n = z(s, 2048);
316
+ const n = j(s, 2048);
317
317
  n.isValid || this.logIssue(`Solution description is invalid (${n.errorType}).`);
318
318
  }
319
319
  }
@@ -324,9 +324,9 @@ class be {
324
324
  ]);
325
325
  for (const s of this.response.items) {
326
326
  e.has(s.type) && s.title.length > 100 && this.logIssue(`Service name '${s.title}' exceeds 100 characters.`);
327
- const i = O(s.title ?? "");
327
+ const i = z(s.title ?? "");
328
328
  if (i.isValid || this.logIssue(`Item '${s.id}' title is invalid (${i.errorType}).`), s.description) {
329
- const n = z(s.description, 2048);
329
+ const n = j(s.description, 2048);
330
330
  n.isValid || this.logIssue(`Item '${s.id}' description is invalid (${n.errorType}).`);
331
331
  }
332
332
  }
@@ -351,9 +351,9 @@ class be {
351
351
  !s && e.typeMutable === !0 && e.type === "Table" && this.logIssue(
352
352
  `Layer '${e.name}' cannot be a Table. It may be a Point, Line, or Polygon.`
353
353
  );
354
- const i = O(e.name ?? "");
354
+ const i = z(e.name ?? "");
355
355
  if (i.isValid || this.logIssue(`Layer '${e.name}' name is invalid (${i.errorType}).`), e.description) {
356
- const n = z(e.description, 2048);
356
+ const n = j(e.description, 2048);
357
357
  n.isValid || this.logIssue(`Layer '${e.name}' description is invalid (${n.errorType}).`);
358
358
  }
359
359
  this.validateLayerFields(e);
@@ -491,7 +491,7 @@ const ct = r.object({
491
491
  itemId: r.string().describe("ArcGIS item id for the feature layer."),
492
492
  addLayers: r.boolean().describe("Indicates whether new layers can be added during solution design."),
493
493
  layers: r.array(ut)
494
- }), Q = r.object({
494
+ }), K = r.object({
495
495
  response: r.string().describe("Conversational response to the user's query."),
496
496
  solution: r.object({
497
497
  itemId: r.string().nullable().describe("ArcGIS item id of the source Solution template used for deployment. Preserve the existing value exactly when known; otherwise use null."),
@@ -553,8 +553,8 @@ const ct = r.object({
553
553
  { error: o }
554
554
  ), n;
555
555
  }
556
- }, K = (t) => t in $, St = 5, It = 0.8, Ct = 0.15, _t = "Web Mapping Application", Tt = "Embeddings";
557
- let N = null, j = null, M = null, B = null;
556
+ }, Y = (t) => t in $, St = 5, It = 0.8, Ct = 0.15, _t = "Web Mapping Application", Tt = "Embeddings";
557
+ let N = null, V = null, M = null, B = null;
558
558
  const kt = "Build", _ = /* @__PURE__ */ Object.assign({
559
559
  "./prompts/assessBuildRequest.md": () => import("../../chunks/assessBuildRequest.js").then((t) => t.default),
560
560
  "./prompts/assessUpdateRequest.md": () => import("../../chunks/assessUpdateRequest.js").then((t) => t.default),
@@ -570,7 +570,7 @@ const kt = "Build", _ = /* @__PURE__ */ Object.assign({
570
570
  }, At = async (t, e, s) => {
571
571
  if (!t) return null;
572
572
  const i = `type:"${_t}" AND typekeywords:${Tt} AND group:${t}`;
573
- return (await W.searchItems({
573
+ return (await Q.searchItems({
574
574
  q: i,
575
575
  params: e ? { token: e } : void 0,
576
576
  portal: s,
@@ -591,7 +591,7 @@ async function Lt(t, e, s, i) {
591
591
  const $t = async (t, e, s) => {
592
592
  if (!t) return [];
593
593
  const i = `type:Solution AND typekeywords:${kt} AND group:${t}`;
594
- return (await W.searchItems({
594
+ return (await Q.searchItems({
595
595
  q: i,
596
596
  params: e ? { token: e } : void 0,
597
597
  portal: s,
@@ -599,7 +599,7 @@ const $t = async (t, e, s) => {
599
599
  }))?.results ?? [];
600
600
  }, Ft = async (t, e, s) => {
601
601
  try {
602
- const i = await W.getItemData(t, {
602
+ const i = await Q.getItemData(t, {
603
603
  params: e ? { token: e } : void 0,
604
604
  portal: s
605
605
  }), n = i?.buildSolution;
@@ -639,9 +639,9 @@ const $t = async (t, e, s) => {
639
639
  error: s instanceof Error ? s.stack ?? s.message : String(s)
640
640
  };
641
641
  }
642
- }, Y = async (t) => {
643
- if (j) {
644
- Object.entries(j).forEach(([o, l]) => {
642
+ }, X = async (t) => {
643
+ if (V) {
644
+ Object.entries(V).forEach(([o, l]) => {
645
645
  $[o] && ($[o].initialTemplate = l);
646
646
  });
647
647
  return;
@@ -680,7 +680,7 @@ const $t = async (t, e, s) => {
680
680
  ...l,
681
681
  initialTemplate: a[u]
682
682
  };
683
- })), j = a);
683
+ })), V = a);
684
684
  }, xe = (t) => {
685
685
  const e = t?.configurable?.context?.token;
686
686
  return typeof e != "string" || !e.trim() ? null : e;
@@ -694,7 +694,7 @@ const $t = async (t, e, s) => {
694
694
  }, Rt = async (t) => {
695
695
  await Promise.all([
696
696
  Ce(t),
697
- Y(t)
697
+ X(t)
698
698
  ]);
699
699
  }, Ie = async (t) => {
700
700
  const e = xe(t);
@@ -725,10 +725,10 @@ Description: ${e.description}`).join(`
725
725
  const s = JSON.parse(e), i = T(
726
726
  { response: "", ...s },
727
727
  { itemId: s?.solution?.itemId ?? null }
728
- ), n = Q.safeParse(i);
728
+ ), n = K.safeParse(i);
729
729
  if (!n.success)
730
730
  return null;
731
- const { response: a, ...o } = n.data, l = s.templateId, u = typeof l == "string" && K(l) ? l : null;
731
+ const { response: a, ...o } = n.data, l = s.templateId, u = typeof l == "string" && Y(l) ? l : null;
732
732
  return T(
733
733
  o,
734
734
  {
@@ -741,7 +741,7 @@ Description: ${e.description}`).join(`
741
741
  return null;
742
742
  }
743
743
  }, Mt = y.Root({
744
- ...H(),
744
+ ...W(),
745
745
  /** Optional human-readable template description retained for UI use. */
746
746
  templateDescription: y({
747
747
  reducer: (t, e) => typeof e == "string" || e === null ? e : t ?? null,
@@ -794,7 +794,7 @@ Description: ${e.description}`).join(`
794
794
  messages: n,
795
795
  inputVariables: { query: s, availableTemplates: i }
796
796
  }), o = a.matchedTemplates.filter(
797
- (d) => K(d.templateId)
797
+ (d) => Y(d.templateId)
798
798
  ), l = {
799
799
  ...a,
800
800
  matchedTemplates: o
@@ -849,7 +849,7 @@ Description: ${e.description}`).join(`
849
849
  if (h(e))
850
850
  return {};
851
851
  const { hitlResponse: s } = e.configurable, i = "selectTemplate", n = t.assessment?.matchedTemplates.filter(
852
- (c) => K(c.templateId)
852
+ (c) => Y(c.templateId)
853
853
  ) ?? [], a = n.map((c) => `${c.templateDescription}`);
854
854
  if (s?.agentId !== "solutionBuilder" || s.id !== i) {
855
855
  const c = {
@@ -935,7 +935,7 @@ Description: ${d.description}`).join(`
935
935
  const { currentDesign: s } = t, i = t.agentExecutionContext.userRequest;
936
936
  await w({ text: f("creatingDesign", e) }, e);
937
937
  let n = P(t.selectedTemplate);
938
- if (n?.initialTemplate || (await Y(e), n = P(t.selectedTemplate)), h(e))
938
+ if (n?.initialTemplate || (await X(e), n = P(t.selectedTemplate)), h(e))
939
939
  return {};
940
940
  if (!n?.initialTemplate)
941
941
  throw new Error("No hydrated templates are available for solution design.");
@@ -950,7 +950,7 @@ Description: ${d.description}`).join(`
950
950
  promptText: await v(_, "designSolution"),
951
951
  modelTier: "advanced",
952
952
  temperature: 0,
953
- schema: Q,
953
+ schema: K,
954
954
  messages: o,
955
955
  inputVariables: {
956
956
  currentDesign: JSON.stringify(de(a)),
@@ -1039,8 +1039,8 @@ Description: ${d.description}`).join(`
1039
1039
  try {
1040
1040
  return JSON.parse(p);
1041
1041
  } catch {
1042
- const x = p.replace(/[\u0000-\u001F]/g, (te) => {
1043
- switch (te) {
1042
+ const x = p.replace(/[\u0000-\u001F]/g, (se) => {
1043
+ switch (se) {
1044
1044
  case "\b":
1045
1045
  return "\\b";
1046
1046
  case "\f":
@@ -1053,7 +1053,7 @@ Description: ${d.description}`).join(`
1053
1053
  case " ":
1054
1054
  return "\\t";
1055
1055
  default:
1056
- return "\\u" + te.charCodeAt(0).toString(16).padStart(4, "0");
1056
+ return "\\u" + se.charCodeAt(0).toString(16).padStart(4, "0");
1057
1057
  }
1058
1058
  });
1059
1059
  try {
@@ -1087,7 +1087,7 @@ Description: ${d.description}`).join(`
1087
1087
  const d = T(
1088
1088
  { response: "", ...b },
1089
1089
  { itemId: s.solution?.itemId ?? null }
1090
- ), g = Q.safeParse(d);
1090
+ ), g = K.safeParse(d);
1091
1091
  if (!g.success) {
1092
1092
  console.warn(
1093
1093
  "[SolutionBuilder] updateDesign schema validation failed:",
@@ -1113,7 +1113,7 @@ Description: ${d.description}`).join(`
1113
1113
  }
1114
1114
  );
1115
1115
  let F = P(t.selectedTemplate);
1116
- if (F?.initialTemplate || (await Y(e), F = P(t.selectedTemplate)), h(e))
1116
+ if (F?.initialTemplate || (await X(e), F = P(t.selectedTemplate)), h(e))
1117
1117
  return {};
1118
1118
  if (!F?.initialTemplate)
1119
1119
  throw new Error("No hydrated templates are available for solution design.");
@@ -1136,11 +1136,11 @@ Description: ${d.description}`).join(`
1136
1136
  status: "success"
1137
1137
  };
1138
1138
  }
1139
- const Ee = I.sourceBuildSolution, ee = ve(I, Ee);
1140
- if (!ee.ok) {
1139
+ const Ee = I.sourceBuildSolution, te = ve(I, Ee);
1140
+ if (!te.ok) {
1141
1141
  console.warn(
1142
1142
  "[SolutionBuilder] updateDesign Esri JSON conversion failed:",
1143
- { error: ee.error, llmResponse: a, design: I }
1143
+ { error: te.error, llmResponse: a, design: I }
1144
1144
  );
1145
1145
  const p = f("applyChangeFailed", e);
1146
1146
  return {
@@ -1155,7 +1155,7 @@ Description: ${d.description}`).join(`
1155
1155
  status: "success",
1156
1156
  currentDesign: I
1157
1157
  });
1158
- }, Ht = (t) => t.currentDesign !== null ? "assessUpdateRequest" : "assessBuildRequest", Wt = (t) => !t.updateAssessment || !t.updateAssessment.isValidUpdate ? "invalidUpdateExit" : "updateDesign", Qt = (t) => !t.assessment || !t.assessment.isValidUseCase ? "invalidBuildExit" : !t.selectedTemplate && t.assessment.matchedTemplates.length > 1 ? "selectTemplateHIL" : "findExistingSolutions", Kt = (t) => t.existingMatches.length > 0 ? "confirmContinueBuildingHIL" : "designSolution", Yt = (t) => t.continueBuilding === !1 ? "declineContinueBuildingExit" : "designSolution", Xt = () => new J(Mt).addNode("syncCurrentDesignFromContext", Bt).addNode("assessBuildRequest", Pt).addNode("assessUpdateRequest", Ut).addNode("invalidBuildExit", qt).addNode("invalidUpdateExit", Ot).addNode("selectTemplateHIL", zt).addNode("findExistingSolutions", jt).addNode("confirmContinueBuildingHIL", Vt).addNode("declineContinueBuildingExit", Jt).addNode("designSolution", _e).addNode("updateDesign", Gt).addEdge(G, "syncCurrentDesignFromContext").addConditionalEdges("syncCurrentDesignFromContext", Ht, {
1158
+ }, Ht = (t) => t.currentDesign !== null ? "assessUpdateRequest" : "assessBuildRequest", Wt = (t) => !t.updateAssessment || !t.updateAssessment.isValidUpdate ? "invalidUpdateExit" : "updateDesign", Qt = (t) => !t.assessment || !t.assessment.isValidUseCase ? "invalidBuildExit" : !t.selectedTemplate && t.assessment.matchedTemplates.length > 1 ? "selectTemplateHIL" : "findExistingSolutions", Kt = (t) => t.existingMatches.length > 0 ? "confirmContinueBuildingHIL" : "designSolution", Yt = (t) => t.continueBuilding === !1 ? "declineContinueBuildingExit" : "designSolution", Xt = () => new G(Mt).addNode("syncCurrentDesignFromContext", Bt).addNode("assessBuildRequest", Pt).addNode("assessUpdateRequest", Ut).addNode("invalidBuildExit", qt).addNode("invalidUpdateExit", Ot).addNode("selectTemplateHIL", zt).addNode("findExistingSolutions", jt).addNode("confirmContinueBuildingHIL", Vt).addNode("declineContinueBuildingExit", Jt).addNode("designSolution", _e).addNode("updateDesign", Gt).addEdge(H, "syncCurrentDesignFromContext").addConditionalEdges("syncCurrentDesignFromContext", Ht, {
1159
1159
  assessUpdateRequest: "assessUpdateRequest",
1160
1160
  assessBuildRequest: "assessBuildRequest"
1161
1161
  }).addConditionalEdges("assessUpdateRequest", Wt, {
@@ -1177,17 +1177,17 @@ const Zt = D.object({
1177
1177
  tool: D.enum(["explorer", "builder", "other"]).describe("The selected tool based on the user's query."),
1178
1178
  confidence: D.number().min(0).max(1).describe("A confidence score (0.00–1.00)."),
1179
1179
  rationale: D.string().min(1).describe("A brief rationale for the tool choice (≤140 characters)")
1180
- }), X = /* @__PURE__ */ Object.assign({
1180
+ }), Z = /* @__PURE__ */ Object.assign({
1181
1181
  "./prompts/assistantResponse.md": () => import("../../chunks/assistantResponse.js").then((t) => t.default),
1182
1182
  "./prompts/classifyIntent.md": () => import("../../chunks/classifyIntent.js").then((t) => t.default),
1183
1183
  "./prompts/description.md": () => import("../../chunks/description.js").then((t) => t.default)
1184
- }), Z = (t) => {
1184
+ }), ee = (t) => {
1185
1185
  const e = new CustomEvent("assistantProcessing", {
1186
1186
  detail: { finished: !0, agent: t }
1187
1187
  });
1188
1188
  window.dispatchEvent(e);
1189
1189
  }, Te = y.Root({
1190
- ...H(),
1190
+ ...W(),
1191
1191
  selectedTool: y({
1192
1192
  reducer: (t, e) => e ?? null,
1193
1193
  default: () => null
@@ -1212,7 +1212,7 @@ const Zt = D.object({
1212
1212
  } catch {
1213
1213
  o = !1;
1214
1214
  }
1215
- const l = await v(X, "classifyIntent"), u = await k({
1215
+ const l = await v(Z, "classifyIntent"), u = await k({
1216
1216
  promptText: l,
1217
1217
  modelTier: "advanced",
1218
1218
  temperature: 0,
@@ -1228,12 +1228,12 @@ const Zt = D.object({
1228
1228
  if (e?.configurable?.abortSignal?.aborted)
1229
1229
  return {};
1230
1230
  const i = await et().compile().invoke(t, e);
1231
- return Z("explorer"), i;
1231
+ return ee("explorer"), i;
1232
1232
  }, ss = async (t, e) => {
1233
1233
  if (e?.configurable?.abortSignal?.aborted)
1234
1234
  return {};
1235
1235
  const i = await Xt().compile().invoke(t, e);
1236
- return Z("builder"), i;
1236
+ return ee("builder"), i;
1237
1237
  }, is = async (t, e) => {
1238
1238
  if (e?.configurable?.abortSignal?.aborted)
1239
1239
  return {};
@@ -1242,23 +1242,23 @@ const Zt = D.object({
1242
1242
  { text: s?.executingSolutionsAssistantAgent },
1243
1243
  e
1244
1244
  );
1245
- const a = await v(X, "assistantResponse"), o = t.agentExecutionContext.messages.slice(-11), l = await Oe({
1245
+ const a = await v(Z, "assistantResponse"), o = t.agentExecutionContext.messages.slice(-11), l = await Oe({
1246
1246
  promptText: a,
1247
1247
  modelTier: "advanced",
1248
1248
  temperature: 0,
1249
1249
  messages: o,
1250
1250
  inputVariables: { query: i, rationale: n }
1251
1251
  });
1252
- return Z("assistant"), {
1252
+ return ee("assistant"), {
1253
1253
  outputMessage: l,
1254
1254
  summary: l,
1255
1255
  status: "success"
1256
1256
  };
1257
- }, ns = (t) => t.selectedTool ?? "other", as = () => new J(Te).addNode("classifyIntent", es).addNode("routeToExplorer", ts).addNode("routeToBuilder", ss).addNode("assistantResponse", is).addEdge(G, "classifyIntent").addConditionalEdges("classifyIntent", ns, {
1257
+ }, ns = (t) => t.selectedTool ?? "other", as = () => new G(Te).addNode("classifyIntent", es).addNode("routeToExplorer", ts).addNode("routeToBuilder", ss).addNode("assistantResponse", is).addEdge(H, "classifyIntent").addConditionalEdges("classifyIntent", ns, {
1258
1258
  explorer: "routeToExplorer",
1259
1259
  builder: "routeToBuilder",
1260
1260
  other: "assistantResponse"
1261
- }).addEdge("routeToExplorer", S).addEdge("routeToBuilder", S).addEdge("assistantResponse", S), os = await v(X, "description"), rs = {
1261
+ }).addEdge("routeToExplorer", S).addEdge("routeToBuilder", S).addEdge("assistantResponse", S), os = await v(Z, "description"), rs = {
1262
1262
  id: "solutionsAssistant",
1263
1263
  name: "Solutions Assistant Agent",
1264
1264
  description: os,
@@ -1271,13 +1271,13 @@ class ds extends $e {
1271
1271
  aiAssistantsEnabled: !1,
1272
1272
  blockBetaApps: !0,
1273
1273
  colocateCompute: !1
1274
- }, this._suggestedPrompts = [], this._hasInteracted = !1, this._isMobile = window.innerWidth <= 800, this._translations = Le({ name: "arcgis-solutions-assistant", blocking: !0 }), this._builderWidth = 48, this._solutionDesignJson = '{ "solution": null }', this._isAssistantBusy = !1, this._isBuilderBusy = !1, this._preChatCheck = !1, this._showNewChatConfirm = !1, this._assistantRef = Be(), this._configContextConsumer = ne({
1274
+ }, this._suggestedPrompts = [], this._hasInteracted = !1, this._isMobile = window.innerWidth <= 800, this._translations = Le({ name: "arcgis-solutions-assistant", blocking: !0 }), this._builderWidth = 48, this._solutionDesignJson = '{ "solution": null }', this._isAssistantBusy = !1, this._isBuilderBusy = !1, this._preChatCheck = !1, this._showNewChatConfirm = !1, this._assistantRef = Be(), this._configContextConsumer = ae({
1275
1275
  context: De,
1276
1276
  subscribe: !0,
1277
1277
  callback: (e) => {
1278
- e?.portalURL && (ae.portalUrl = e.portalURL), e?.userSession && !this.userFirstName && this._loadUserFirstName(), e?.authentication?.PortalSubset?.orgSettings && (this._orgSettings = e?.authentication?.PortalSubset?.orgSettings);
1278
+ e?.portalURL && (O.portalUrl = e.portalURL), e?.userSession && !this.userFirstName && this._loadUserFirstName(), e?.authentication?.PortalSubset?.orgSettings && (this._orgSettings = e?.authentication?.PortalSubset?.orgSettings);
1279
1279
  }
1280
- }), this._builderDesignContextConsumer = ne({
1280
+ }), this._builderDesignContextConsumer = ae({
1281
1281
  context: Ne,
1282
1282
  subscribe: !0,
1283
1283
  callback: (e) => {
@@ -1296,7 +1296,7 @@ class ds extends $e {
1296
1296
  metrics: [i]
1297
1297
  }), this._chatStartTime = null, this.assistantProcessing.emit(!1);
1298
1298
  }
1299
- }, this.closeAssistant = se(), this.assistantProcessing = se(), this._handleAssistantLinkClick = (e) => {
1299
+ }, this.closeAssistant = ie(), this.assistantProcessing = ie(), this._handleAssistantLinkClick = (e) => {
1300
1300
  const s = e.composedPath().find((i) => i instanceof HTMLAnchorElement);
1301
1301
  if (s?.href)
1302
1302
  if (e.preventDefault(), s.target.indexOf("solutionId:") > -1) {
@@ -1337,7 +1337,7 @@ class ds extends $e {
1337
1337
  this._checkURLOpenParameter();
1338
1338
  }
1339
1339
  load() {
1340
- this._configContextConsumer.value?.portalURL && (ae.portalUrl = this._configContextConsumer.value.portalURL);
1340
+ O.applicationName = "Solutions", this._configContextConsumer.value?.portalURL && (O.portalUrl = this._configContextConsumer.value.portalURL);
1341
1341
  }
1342
1342
  firstUpdated(e) {
1343
1343
  this._loadUserFirstName();
@@ -1346,7 +1346,7 @@ class ds extends $e {
1346
1346
  e.has("open") && this.open && window.dispatchEvent(new CustomEvent("openAssistant")), this._configContextConsumer.value?.authentication && this._configContextConsumer.value?.userSession?.token && (this._preChatCheck || (he(this._configContextConsumer.value?.authentication.Portal, this._configContextConsumer.value?.userSession?.token, this._configContextConsumer.value?.locale ?? "en"), this._preChatCheck = !0)), this._configContextConsumer.value?.userSession?.token && this._configContextConsumer.value?.authentication?.CanUseAI;
1347
1347
  }
1348
1348
  _renderNoSign() {
1349
- return C`<calcite-notice class="margin-lg" open scale=m icon=effects kind=info><div slot=message>${this._translations.signInMessage}</div><calcite-link @click=${this._handleSignIn} slot=link title=${this._translations.signInMessage ?? ie} class="padding-top-10">${this._translations.signIn}</calcite-link></calcite-notice>`;
1349
+ return C`<calcite-notice class="margin-lg" open scale=m icon=effects kind=info><div slot=message>${this._translations.signInMessage}</div><calcite-link @click=${this._handleSignIn} slot=link title=${this._translations.signInMessage ?? ne} class="padding-top-10">${this._translations.signIn}</calcite-link></calcite-notice>`;
1350
1350
  }
1351
1351
  _renderNoPermission() {
1352
1352
  return C`<calcite-notice class="margin-lg" open scale=m icon=effects kind=info><div slot=title>${this._translations.noPermissionTitle}</div><div slot=message class="padding-top-10">${Re(this._translations.noPermissionMessage.replace("{{orgUrl}}", ls).replace("{{configAI}}", cs))}</div></calcite-notice>`;
@@ -1359,7 +1359,7 @@ class ds extends $e {
1359
1359
  action: "Toggle Builder Panel",
1360
1360
  dimensions: [this.builderVisible ? "Close" : "Open"]
1361
1361
  }), window.dispatchEvent(new CustomEvent("toggleSolutionBuilder"));
1362
- }} scale=m slot=header-actions-end></calcite-action>` || ""}${!this._isMobile && C`<calcite-tooltip placement=bottom reference-element=solutionBuilderAction><span>${this._translations.tooltips.solutionBuilder}</span></calcite-tooltip>` || ""}<arcgis-assistant reference-element copy-enabled feedback-enabled heading description entry-message=${this._translations.defaultStartUpMessage ?? ie} .suggestedPrompts=${e} @arcgisSubmit=${(s) => {
1362
+ }} scale=m slot=header-actions-end></calcite-action>` || ""}${!this._isMobile && C`<calcite-tooltip placement=bottom reference-element=solutionBuilderAction><span>${this._translations.tooltips.solutionBuilder}</span></calcite-tooltip>` || ""}<arcgis-assistant reference-element copy-enabled feedback-enabled heading description entry-message=${this._translations.defaultStartUpMessage ?? ne} .suggestedPrompts=${e} @arcgisSubmit=${(s) => {
1363
1363
  console.log("arcgis submit: ", s.detail), this._suggestedPrompts = [], e = [], this._hasInteracted = !0, this._chatStartTime = Date.now(), this.assistantProcessing.emit(!0);
1364
1364
  }} @arcgisFeedback=${(s) => {
1365
1365
  s.detail;