@jentic/arazzo-ui 1.0.0-alpha.18 → 1.0.0-alpha.19

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,19 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [1.0.0-alpha.19](https://github.com/jentic/jentic-arazzo-tools/compare/v1.0.0-alpha.18...v1.0.0-alpha.19) (2026-02-23)
7
+
8
+ ### Bug Fixes
9
+
10
+ - **arazzo-ui:** fix demo URL ([418982e](https://github.com/jentic/jentic-arazzo-tools/commit/418982e231e83e509e2e0705d9a2029ea639b6ae))
11
+
12
+ ### Features
13
+
14
+ - **arazoo-ui:** align with Arazzo logo color scheme ([#101](https://github.com/jentic/jentic-arazzo-tools/issues/101)) ([850fdca](https://github.com/jentic/jentic-arazzo-tools/commit/850fdca3d067c28b79b6590ed1cbf449b7d510a1))
15
+ - **arazzo-ui:** add CLI for opening any URL from command cli ([#103](https://github.com/jentic/jentic-arazzo-tools/issues/103)) ([6923e7b](https://github.com/jentic/jentic-arazzo-tools/commit/6923e7bdcb62e86266789e18ef6af5dc27459110)), closes [#96](https://github.com/jentic/jentic-arazzo-tools/issues/96)
16
+ - **arazzo-ui:** add support for document url query param ([2a1aed6](https://github.com/jentic/jentic-arazzo-tools/commit/2a1aed6cb1f07bcbe9a0cd7fd9d2e04cc27cf599))
17
+ - **arazzo-ui:** provide Arazzo favicon ([019b45d](https://github.com/jentic/jentic-arazzo-tools/commit/019b45d42a8746b23e7328d5d03ce9328e82fb70))
18
+
6
19
  # [1.0.0-alpha.18](https://github.com/jentic/jentic-arazzo-tools/compare/v1.0.0-alpha.17...v1.0.0-alpha.18) (2026-02-20)
7
20
 
8
21
  **Note:** Version bump only for package @jentic/arazzo-ui
package/README.md CHANGED
@@ -3,14 +3,20 @@
3
3
  `@jentic/arazzo-ui` is a UI component for visualizing [Arazzo Specification](https://spec.openapis.org/arazzo/latest.html) workflows.
4
4
  It provides interactive diagram views, documentation views, and a split view combining both.
5
5
 
6
- [![Live Demo](https://img.shields.io/badge/Live%20Demo-jentic.github.io-blue?style=for-the-badge)](https://jentic.github.io/jentic-arazzo-tools/)
6
+ [![Live Demo](https://img.shields.io/badge/Live%20Demo-arazzo--ui.jentic.com-blue?style=for-the-badge)](https://arazzo-ui.jentic.com)
7
7
 
8
8
  <p align="center">
9
- <a href="https://jentic.github.io/jentic-arazzo-tools/">
10
- <img src="https://github.com/jentic/jentic-arazzo-tools/blob/main/assets/arazzo-ui.png" alt="ArazzoUI Screenshot" />
9
+ <a href="https://arazzo-ui.jentic.com">
10
+ <img src="https://raw.githubusercontent.com/jentic/jentic-arazzo-tools/main/assets/arazzo-ui.png" alt="ArazzoUI Screenshot" />
11
11
  </a>
12
12
  </p>
13
13
 
14
+ Load any Arazzo Document by appending a `?document=` query parameter:
15
+
16
+ ```
17
+ https://arazzo-ui.jentic.com?document=https://arazzo-ui.jentic.com/petstore-order-workflow.arazzo.yaml
18
+ ```
19
+
14
20
  **Supported Arazzo versions:**
15
21
  - [Arazzo 1.0.0](https://spec.openapis.org/arazzo/v1.0.0)
16
22
  - [Arazzo 1.0.1](https://spec.openapis.org/arazzo/v1.0.1)
@@ -25,6 +31,16 @@ npm install @jentic/arazzo-ui
25
31
 
26
32
  **Peer dependencies:** React 18 or 19 ([react](https://www.npmjs.com/package/react) and [react-dom](https://www.npmjs.com/package/react-dom)).
27
33
 
34
+ ## CLI
35
+
36
+ Open any Arazzo document in the browser without installing anything locally:
37
+
38
+ ```sh
39
+ npx @jentic/arazzo-ui https://arazzo-ui.jentic.com/petstore-order-workflow.arazzo.yaml
40
+ ```
41
+
42
+ This opens `https://arazzo-ui.jentic.com` with the document pre-loaded.
43
+
28
44
  ## Components
29
45
 
30
46
  ### ArazzoUI
@@ -0,0 +1,46 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { execFile } from 'node:child_process';
4
+
5
+ const BASE_URL = 'https://arazzo-ui.jentic.com';
6
+
7
+ function openBrowser(url) {
8
+ const { platform } = process;
9
+
10
+ const onError = (error) => {
11
+ if (error) {
12
+ console.error(`Could not open browser. Visit the URL manually:\n${url}`);
13
+ }
14
+ };
15
+
16
+ if (platform === 'darwin') {
17
+ execFile('open', [url], onError);
18
+ } else if (platform === 'win32') {
19
+ execFile('cmd', ['/c', 'start', '', url], onError);
20
+ } else {
21
+ execFile('xdg-open', [url], onError);
22
+ }
23
+ }
24
+
25
+ const url = process.argv[2];
26
+
27
+ if (!url || url === '--help' || url === '-h') {
28
+ console.log('Usage: arazzo-ui <url>\n');
29
+ console.log('Open an Arazzo document in the browser.\n');
30
+ console.log('Example:');
31
+ console.log(
32
+ ' npx @jentic/arazzo-ui https://arazzo-ui.jentic.com/petstore-order-workflow.arazzo.yaml',
33
+ );
34
+ process.exit(url ? 0 : 1);
35
+ }
36
+
37
+ try {
38
+ new URL(url);
39
+ } catch {
40
+ console.error(`Invalid URL: ${url}\nPlease provide a valid URL to an Arazzo document.`);
41
+ process.exit(1);
42
+ }
43
+
44
+ const viewerURL = `${BASE_URL}?document=${encodeURIComponent(url)}`;
45
+ console.log(`Opening ${viewerURL}`);
46
+ openBrowser(viewerURL);
@@ -931,7 +931,7 @@ ${te.themeCSS}`),te.fontFamily!==void 0&&(ne+=`
931
931
  ${IFRAME_NOT_SUPPORTED_MSG}
932
932
  </iframe>`},"putIntoIFrame"),appendDivSvgG=__name$1((te,ee,ne,xe,rt)=>{const it=te.append("div");it.attr("id",ne),xe&&it.attr("style",xe);const At=it.append("svg").attr("id",ee).attr("width","100%").attr("xmlns",XMLNS_SVG_STD);return rt&&At.attr("xmlns:xlink",rt),At.append("g"),te},"appendDivSvgG");function sandboxedIframe(te,ee){return te.append("iframe").attr("id",ee).attr("style","width: 100%; height: 100%;").attr("sandbox","")}__name$1(sandboxedIframe,"sandboxedIframe");var removeExistingElements=__name$1((te,ee,ne,xe)=>{var rt,it,At;(rt=te.getElementById(ee))==null||rt.remove(),(it=te.getElementById(ne))==null||it.remove(),(At=te.getElementById(xe))==null||At.remove()},"removeExistingElements"),render$3=__name$1(async function(te,ee,ne){var Ot,Ut,xt,kt,Lt,$t;addDiagrams();const xe=processAndSetConfigs(ee);ee=xe.code;const rt=getConfig();log.debug(rt),ee.length>((rt==null?void 0:rt.maxTextSize)??MAX_TEXTLENGTH)&&(ee=MAX_TEXTLENGTH_EXCEEDED_MSG);const it="#"+te,At="i"+te,lt="#"+At,ct="d"+te,ut="#"+ct,dt=__name$1(()=>{const Pt=select(pt?lt:ut).node();Pt&&"remove"in Pt&&Pt.remove()},"removeTempElements");let ht=select("body");const pt=rt.securityLevel===SECURITY_LVL_SANDBOX,ft=rt.securityLevel===SECURITY_LVL_LOOSE,mt=rt.fontFamily;if(ne!==void 0){if(ne&&(ne.innerHTML=""),pt){const Mt=sandboxedIframe(select(ne),At);ht=select(Mt.nodes()[0].contentDocument.body),ht.node().style.margin=0}else ht=select(ne);appendDivSvgG(ht,te,ct,`font-family: ${mt}`,XMLNS_XLINK_STD)}else{if(removeExistingElements(document,te,ct,At),pt){const Mt=sandboxedIframe(select("body"),At);ht=select(Mt.nodes()[0].contentDocument.body),ht.node().style.margin=0}else ht=select("body");appendDivSvgG(ht,te,ct)}let It,Ct;try{It=await Diagram.fromText(ee,{title:xe.title})}catch(Mt){if(rt.suppressErrorRendering)throw dt(),Mt;It=await Diagram.fromText("error"),Ct=Mt}const Et=ht.select(ut).node(),Bt=It.type,vt=Et.firstChild,wt=vt.firstChild,St=(Ut=(Ot=It.renderer).getClasses)==null?void 0:Ut.call(Ot,ee,It),_t=createUserStyles(rt,Bt,St,it),bt=document.createElement("style");bt.innerHTML=_t,vt.insertBefore(bt,wt);try{await It.renderer.draw(ee,te,package_default.version,It)}catch(Mt){throw rt.suppressErrorRendering?dt():errorRenderer_default.draw(ee,te,package_default.version),Mt}const Dt=ht.select(`${ut} svg`),Nt=(kt=(xt=It.db).getAccTitle)==null?void 0:kt.call(xt),Rt=($t=(Lt=It.db).getAccDescription)==null?void 0:$t.call(Lt);addA11yInfo(Bt,Dt,Nt,Rt),ht.select(`[id="${te}"]`).selectAll("foreignobject > *").attr("xmlns",XMLNS_XHTML_STD);let Tt=ht.select(ut).node().innerHTML;if(log.debug("config.arrowMarkerAbsolute",rt.arrowMarkerAbsolute),Tt=cleanUpSvgCode(Tt,pt,evaluate(rt.arrowMarkerAbsolute)),pt){const Mt=ht.select(ut+" svg").node();Tt=putIntoIFrame(Tt,Mt)}else ft||(Tt=purify.sanitize(Tt,{ADD_TAGS:DOMPURIFY_TAGS,ADD_ATTR:DOMPURIFY_ATTR,HTML_INTEGRATION_POINTS:{foreignobject:!0}}));if(attachFunctions(),Ct)throw Ct;return dt(),{diagramType:Bt,svg:Tt,bindFunctions:It.db.bindFunctions}},"render");function initialize(te={}){var xe;const ee=assignWithDepth_default({},te);ee!=null&&ee.fontFamily&&!((xe=ee.themeVariables)!=null&&xe.fontFamily)&&(ee.themeVariables||(ee.themeVariables={}),ee.themeVariables.fontFamily=ee.fontFamily),saveConfigFromInitialize(ee),ee!=null&&ee.theme&&ee.theme in themes_default?ee.themeVariables=themes_default[ee.theme].getThemeVariables(ee.themeVariables):ee&&(ee.themeVariables=themes_default.default.getThemeVariables(ee.themeVariables));const ne=typeof ee=="object"?setSiteConfig(ee):getSiteConfig();setLogLevel(ne.logLevel),addDiagrams()}__name$1(initialize,"initialize");var getDiagramFromText=__name$1((te,ee={})=>{const{code:ne}=preprocessDiagram(te);return Diagram.fromText(ne,ee)},"getDiagramFromText");function addA11yInfo(te,ee,ne,xe){setA11yDiagramInfo(ee,te),addSVGa11yTitleDescription(ee,ne,xe,ee.attr("id"))}__name$1(addA11yInfo,"addA11yInfo");var mermaidAPI=Object.freeze({render:render$3,parse:parse$2,getDiagramFromText,initialize,getConfig,setConfig,getSiteConfig,updateSiteConfig,reset:__name$1(()=>{reset$1()},"reset"),globalReset:__name$1(()=>{reset$1(defaultConfig$1)},"globalReset"),defaultConfig:defaultConfig$1});setLogLevel(getConfig().logLevel),reset$1(getConfig());var handleError=__name$1((te,ee,ne)=>{log.warn(te),isDetailedError(te)?(ne&&ne(te.str,te.hash),ee.push({...te,message:te.str,error:te})):(ne&&ne(te),te instanceof Error&&ee.push({str:te.message,message:te.message,hash:te.name,error:te}))},"handleError"),run$3=__name$1(async function(te={querySelector:".mermaid"}){try{await runThrowsErrors(te)}catch(ee){if(isDetailedError(ee)&&log.error(ee.str),mermaid.parseError&&mermaid.parseError(ee),!te.suppressErrors)throw log.error("Use the suppressErrors option to suppress these errors"),ee}},"run"),runThrowsErrors=__name$1(async function({postRenderCallback:te,querySelector:ee,nodes:ne}={querySelector:".mermaid"}){const xe=mermaidAPI.getConfig();log.debug(`${te?"":"No "}Callback function found`);let rt;if(ne)rt=ne;else if(ee)rt=document.querySelectorAll(ee);else throw new Error("Nodes and querySelector are both undefined");log.debug(`Found ${rt.length} diagrams`),(xe==null?void 0:xe.startOnLoad)!==void 0&&(log.debug("Start On Load: "+(xe==null?void 0:xe.startOnLoad)),mermaidAPI.updateSiteConfig({startOnLoad:xe==null?void 0:xe.startOnLoad}));const it=new utils_default.InitIDGenerator(xe.deterministicIds,xe.deterministicIDSeed);let At;const lt=[];for(const ct of Array.from(rt)){if(log.info("Rendering diagram: "+ct.id),ct.getAttribute("data-processed"))continue;ct.setAttribute("data-processed","true");const ut=`mermaid-${it.next()}`;At=ct.innerHTML,At=dedent(utils_default.entityDecode(At)).trim().replace(/<br\s*\/?>/gi,"<br/>");const dt=utils_default.detectInit(At);dt&&log.debug("Detected early reinit: ",dt);try{const{svg:ht,bindFunctions:pt}=await render2$1(ut,At,ct);ct.innerHTML=ht,te&&await te(ut),pt&&pt(ct)}catch(ht){handleError(ht,lt,mermaid.parseError)}}if(lt.length>0)throw lt[0]},"runThrowsErrors"),initialize2=__name$1(function(te){mermaidAPI.initialize(te)},"initialize"),init=__name$1(async function(te,ee,ne){log.warn("mermaid.init is deprecated. Please use run instead."),te&&initialize2(te);const xe={postRenderCallback:ne,querySelector:".mermaid"};typeof ee=="string"?xe.querySelector=ee:ee&&(ee instanceof HTMLElement?xe.nodes=[ee]:xe.nodes=ee),await run$3(xe)},"init"),registerExternalDiagrams=__name$1(async(te,{lazyLoad:ee=!0}={})=>{addDiagrams(),registerLazyLoadedDiagrams(...te),ee===!1&&await loadRegisteredDiagrams()},"registerExternalDiagrams"),contentLoaded=__name$1(function(){if(mermaid.startOnLoad){const{startOnLoad:te}=mermaidAPI.getConfig();te&&mermaid.run().catch(ee=>log.error("Mermaid failed to initialize",ee))}},"contentLoaded");typeof document<"u"&&window.addEventListener("load",contentLoaded,!1);var setParseErrorHandler=__name$1(function(te){mermaid.parseError=te},"setParseErrorHandler"),executionQueue=[],executionQueueRunning=!1,executeQueue=__name$1(async()=>{if(!executionQueueRunning){for(executionQueueRunning=!0;executionQueue.length>0;){const te=executionQueue.shift();if(te)try{await te()}catch(ee){log.error("Error executing queue",ee)}}executionQueueRunning=!1}},"executeQueue"),parse2=__name$1(async(te,ee)=>new Promise((ne,xe)=>{const rt=__name$1(()=>new Promise((it,At)=>{mermaidAPI.parse(te,ee).then(lt=>{it(lt),ne(lt)},lt=>{var ct;log.error("Error parsing",lt),(ct=mermaid.parseError)==null||ct.call(mermaid,lt),At(lt),xe(lt)})}),"performCall");executionQueue.push(rt),executeQueue().catch(xe)}),"parse"),render2$1=__name$1((te,ee,ne)=>new Promise((xe,rt)=>{const it=__name$1(()=>new Promise((At,lt)=>{mermaidAPI.render(te,ee,ne).then(ct=>{At(ct),xe(ct)},ct=>{var ut;log.error("Error parsing",ct),(ut=mermaid.parseError)==null||ut.call(mermaid,ct),lt(ct),rt(ct)})}),"performCall");executionQueue.push(it),executeQueue().catch(rt)}),"render"),getRegisteredDiagramsMetadata=__name$1(()=>Object.keys(detectors).map(te=>({id:te})),"getRegisteredDiagramsMetadata"),mermaid={startOnLoad:!0,mermaidAPI,parse:parse2,render:render2$1,init,run:run$3,registerExternalDiagrams,registerLayoutLoaders,initialize:initialize2,parseError:void 0,contentLoaded,setParseErrorHandler,detectType:detectType$1,registerIconPacks,getRegisteredDiagramsMetadata},mermaid_default=mermaid;/*! Check if previously processed *//*!
933
933
  * Wait for document loaded before starting the execution
934
- */function generateMetadata(te){return{title:te.info.title,version:te.info.version,arazzoVersion:te.arazzo,summary:te.info.summary,description:te.info.description,sourceDescriptions:(te.sourceDescriptions||[]).map(ee=>({name:ee.name,url:ee.url,type:ee.type}))}}function sourceIcon(te){const ee=te==="openapi"?"#49cc90":"#61affe";return`<svg class="source-icon" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="1" y="1" width="12" height="12" rx="3" fill="${ee}" opacity="0.15" stroke="${ee}" stroke-width="1"/><circle cx="7" cy="7" r="2" fill="${ee}"/></svg>`}function formatHeaderAsMarkdown(te,ee={}){const{includeMetadata:ne=!0}=ee,xe=[];return xe.push(`<div style="display: flex; align-items: flex-start; gap: 10px; margin-bottom: ${te.documentURL?"8px":"20px"}; flex-wrap: wrap;">`),xe.push(`<h1 style="margin: 0; font-size: 2.25rem; font-weight: 700; color: #111827; line-height: 1;">${te.title}</h1>`),xe.push(`<span class="version-badge spec-version" title="Document version">${te.version}</span>`),xe.push(`<span class="version-badge doc-version" title="Arazzo Specification version">Arazzo ${te.arazzoVersion||"1.0.1"}</span>`),xe.push(`</div>
934
+ */function generateMetadata(te){return{title:te.info.title,version:te.info.version,arazzoVersion:te.arazzo,summary:te.info.summary,description:te.info.description,sourceDescriptions:(te.sourceDescriptions||[]).map(ee=>({name:ee.name,url:ee.url,type:ee.type}))}}function sourceIcon(te){const ee=te==="openapi"?"#6BA543":"#94C83D";return`<svg class="source-icon" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="1" y="1" width="12" height="12" rx="3" fill="${ee}" opacity="0.15" stroke="${ee}" stroke-width="1"/><circle cx="7" cy="7" r="2" fill="${ee}"/></svg>`}function formatHeaderAsMarkdown(te,ee={}){const{includeMetadata:ne=!0}=ee,xe=[];return xe.push(`<div style="display: flex; align-items: flex-start; gap: 10px; margin-bottom: ${te.documentURL?"8px":"20px"}; flex-wrap: wrap;">`),xe.push('<svg xmlns="http://www.w3.org/2000/svg" viewBox="215 -5 380 380" style="width: 2.25rem; height: 2.25rem; flex-shrink: 0;"><path fill="#94C83D" d="M268.3,78.8c26.8,0,48.6,21.7,48.6,48.6c0,7.3-1.6,14.1-4.4,20.3c-1.1,2.4-0.8,5.3,1.1,7.1l77.9,78.2c1.3,1.3,1.3,3.4,0,4.6l-12.8,12.9c-1.3,1.3-3.4,1.3-4.6,0l-42.1-41.9c-3.8-3.8-10-3.8-13.9,0l-4.9,4.8c-1.9,1.9-2.2,4.8-1.1,7.3c3,6.2,4.8,13.1,4.8,20.3c0,26.8-21.7,48.6-48.6,48.6c-26.8,0-48.6-21.7-48.6-48.6c0-26.8,21.7-48.6,48.6-48.6c7.1,0,14,1.7,20.3,4.8c2.4,1.2,5.4,0.9,7.3-1.1l4.8-4.8c3.8-3.8,3.8-10.1,0-13.9l-4.8-4.8c-1.9-1.9-4.7-2.2-7.1-1.1c-6.2,2.9-13.1,4.4-20.3,4.4c-26.8,0-48.6-21.7-48.6-48.6C219.8,100.5,241.5,78.8,268.3,78.8z"/><path fill="#6BA543" d="M460.7,271.2c26.8,0,48.6,21.7,48.6,48.6c0,26.8-21.7,48.6-48.6,48.6c-26.8,0-48.6-21.7-48.6-48.6c0-7.1,4-16.3,7.1-22.6c1.2-2.4-1.5-3-3.4-4.9l-5-5c-3.8-3.8-10-3.8-13.9,0l-5,5c-1.9,1.9-2.2,4.8-1.1,7.3c3,6.2,4.8,13.1,4.8,20.3c0,26.8-21.7,48.6-48.6,48.6c-26.8,0-48.6-21.7-48.6-48.6c0-26.8,21.7-48.6,48.6-48.6c7.1,0,14,1.7,20.3,4.8c2.4,1.2,5.4,0.8,7.3-1.1l77.7-78c1.3-1.3,3.4-1.3,4.6,0l13,13c1.3,1.3,1.3,3.4,0,4.6l-41.7,41.6c-3.8,3.8-3.9,10.1,0,13.9l4.9,4.9c1.9,1.9,4.8,2.2,7.3,1.1C446.7,272.9,453.5,271.2,460.7,271.2z"/><path fill="#94C83D" d="M539.5,192.4c26.8,0,48.6,21.7,48.6,48.6s-21.7,48.6-48.6,48.6c-26.8,0-48.6-21.7-48.6-48.6c0-7.1,1.7-14,4.8-20.3c1.2-2.4,0.9-5.4-1.1-7.3l-78.4-78.1c-1.3-1.3-1.3-3.4,0-4.6l13-13c1.3-1.3,3.4-1.3,4.6,0l44.1,44.2c2.6,2.6,6.7,2.6,9.3,0l7.1-7.1c1.9-1.9,2.2-4.7,1.1-7.1c-2.9-6.2-4.4-13.1-4.4-20.3c0-26.8,21.7-48.6,48.6-48.6c26.8,0,48.6,21.7,48.6,48.6s-21.7,48.6-48.6,48.6c-7.3,0-14.1-1.6-20.3-4.4c-2.4-1.1-5.3-0.8-7.1,1.1l-4.8,4.8c-3.8,3.8-3.9,10.1,0,13.9l4.8,4.8c1.9,1.9,4.8,2.2,7.3,1.1C525.5,194.1,532.4,192.4,539.5,192.4z"/><path fill="#6BA543" d="M347.1,0c26.8,0,48.6,21.7,48.6,48.6c0,7.3-1.6,14.1-4.4,20.3c-1.1,2.4-0.8,5.3,1.1,7.1l6.9,6.9c2.6,2.6,6.7,2.6,9.3,0l6.9-7c1.9-1.9,2.2-4.7,1.1-7.1c-2.9-6.2-4.4-13.1-4.4-20.3c0-26.8,21.7-48.6,48.6-48.6c26.8,0,48.6,21.7,48.6,48.6c0,26.8-21.7,48.6-48.6,48.6c-7.3,0-14.1-1.6-20.3-4.4c-2.4-1.1-5.3-0.8-7.1,1.1l-78.1,77.8c-1.3,1.3-3.4,1.3-4.6,0l-12.8-12.8c-1.3-1.3-1.3-3.4,0-4.6l44-44.1c2.6-2.6,2.5-6.7,0-9.3l-7-7c-1.9-1.9-4.7-2.2-7.1-1.1c-6.2,2.9-13.1,4.4-20.3,4.4c-26.8,0-48.6-21.7-48.6-48.6C298.6,21.8,320.3,0,347.1,0z"/></svg>'),xe.push(`<h1 style="margin: 0; font-size: 2.25rem; font-weight: 700; color: #111827; line-height: 1;">${te.title}</h1>`),xe.push(`<span class="version-badge doc-version" title="Document version">${te.version}</span>`),xe.push(`<span class="version-badge spec-version" title="Arazzo Specification version">Arazzo ${te.arazzoVersion||"1.0.1"}</span>`),xe.push(`</div>
935
935
  `),te.documentURL&&xe.push(`<div style="margin-bottom: 20px;"><a href="${te.documentURL}" target="_blank" rel="noopener noreferrer" style="font-size: 0.75rem; word-break: break-all;">${te.documentURL}</a></div>
936
936
  `),te.summary&&xe.push(`
937
937
  ${te.summary}
@@ -954,7 +954,7 @@ Before starting this workflow, you need to provide the following inputs:
954
954
  </div>
955
955
  `)}}return ne.push(`
956
956
  <div class="timeline">
957
- `),ee.steps.forEach((rt,it)=>{const At=it===ee.steps.length-1;ne.push(`<div class="timeline-item${At?" timeline-item-last":""}" data-step-id="${rt.stepId}">`),ne.push(`<div class="timeline-marker"><div class="timeline-dot">${it+1}</div><div class="timeline-line"></div></div>`),ne.push('<div class="timeline-content">'),ne.push('<div class="step-card">'),ne.push('<div class="timeline-step-header">'),ne.push(`<span class="timeline-step-name">${rt.stepId}</span>`),ne.push("</div>");let lt="";if(rt.operationId){const dt=rt.operationId.indexOf(".");if(dt>0){const ht=rt.operationId.substring(0,dt),pt=rt.operationId.substring(dt+1),ft=xe.get(ht)||"arazzo";lt=`<span class="timeline-operation-group">${sourceIcon(ft)}<span class="timeline-source">${ht}</span><span class="timeline-op-name">${pt}</span></span>`}else lt=`<span class="step-op-ref" style="color: ${(te.sourceDescriptions.length>0&&te.sourceDescriptions[0].type||"arazzo")==="openapi"?"#49cc90":"#61affe"}">${rt.operationId}</span>`}else rt.operationPath?lt=`<code>${rt.operationPath}</code>`:rt.workflowId&&(lt=`<code>${rt.workflowId}</code>`);if(rt.description&&lt?ne.push(`<div class="step-description">${rt.description} via ${lt} Operation</div>`):rt.description?ne.push(`<div class="step-description">${rt.description}</div>`):lt&&ne.push(`<div class="step-description">via ${lt} Operation</div>`),rt.parameters&&rt.parameters.length>0&&(ne.push(`<details class="step-detail"><summary class="step-detail-summary">Parameters <span class="step-detail-count">${rt.parameters.length}</span></summary>`),ne.push('<div class="step-detail-body step-grid-3">'),rt.parameters.forEach(dt=>{if("$ref"in dt)ne.push(`<div class="step-row">Reference: <code>${dt.$ref}</code></div>`);else if("name"in dt&&"in"in dt){const ht=typeof dt.value=="string"?dt.value:JSON.stringify(dt.value),pt=typeof ht=="string"&&ht.startsWith("$")?"←":"=";ne.push(`<div class="step-grid-row"><span><code>${dt.name}</code> <span class="step-in">${dt.in}</span></span><span class="step-arrow">${pt}</span><span><code>${ht}</code></span></div>`)}}),ne.push("</div></details>")),rt.successCriteria&&rt.successCriteria.length>0&&(ne.push(`<details class="step-detail"><summary class="step-detail-summary">Success Criteria <span class="step-detail-count">${rt.successCriteria.length}</span></summary>`),ne.push('<div class="step-detail-body">'),rt.successCriteria.forEach(dt=>{ne.push(`<div class="step-row"><code>${dt.condition}</code></div>`)}),ne.push("</div></details>")),rt.outputs&&Object.keys(rt.outputs).length>0){const dt=Object.keys(rt.outputs).length;ne.push(`<details class="step-detail"><summary class="step-detail-summary">Outputs <span class="step-detail-count">${dt}</span></summary>`),ne.push('<div class="step-detail-body step-grid-3">'),Object.entries(rt.outputs).forEach(([ht,pt])=>{ne.push(`<div class="step-grid-row"><span><code>${ht}</code></span><span class="step-arrow">←</span><span><code>${pt}</code></span></div>`)}),ne.push("</div></details>")}const ct=[...rt.onSuccess||[],...ee.successActions||[]],ut=[...rt.onFailure||[],...ee.failureActions||[]];if(ct.length>0||ut.length>0){const dt=ct.length+ut.length;ne.push(`<details class="step-detail"><summary class="step-detail-summary">Actions <span class="step-detail-count">${dt}</span></summary>`),ne.push('<div class="step-detail-body step-grid-3">'),ct.forEach(ht=>{if("$ref"in ht)ne.push(`<div class="step-grid-row"><span><code>${ht.$ref}</code></span><span></span><span></span></div>`);else if("type"in ht){const pt=ht.name?`<strong>${ht.name}</strong>`:"";if(ht.type==="goto"){const ft=ht.stepId||ht.workflowId||"end";ne.push(`<div class="step-grid-row"><span>${pt}</span><span class="step-arrow">→</span><span>Continue to <code>${ft}</code> <span class="badge badge-success">GOTO</span></span></div>`)}else ht.type==="end"&&ne.push(`<div class="step-grid-row"><span>${pt}</span><span class="step-arrow">→</span><span>Workflow completes <span class="badge badge-success">END</span></span></div>`)}}),ut.forEach(ht=>{if("$ref"in ht)ne.push(`<div class="step-grid-row"><span><code>${ht.$ref}</code></span><span></span><span></span></div>`);else if("type"in ht){const pt=ht.name?`<strong>${ht.name}</strong>`:"";if(ht.type==="goto"){const ft=ht.stepId||ht.workflowId||"end";ne.push(`<div class="step-grid-row"><span>${pt}</span><span class="step-arrow">→</span><span>Jump to <code>${ft}</code> <span class="badge badge-error">GOTO</span></span></div>`)}else if(ht.type==="retry"){const ft=ht.retryLimit?`${ht.retryLimit} times`:"unlimited",mt=ht.retryAfter?` (wait ${ht.retryAfter}s)`:"";ne.push(`<div class="step-grid-row"><span>${pt}</span><span class="step-arrow">→</span><span>Retry ${ft}${mt} <span class="badge badge-warning">RETRY</span></span></div>`)}else ht.type==="end"&&ne.push(`<div class="step-grid-row"><span>${pt}</span><span class="step-arrow">→</span><span>Workflow terminates <span class="badge badge-error">END</span></span></div>`)}}),ne.push("</div></details>")}ne.push("</div>"),ne.push("</div>"),ne.push(`</div>
957
+ `),ee.steps.forEach((rt,it)=>{const At=it===ee.steps.length-1;ne.push(`<div class="timeline-item${At?" timeline-item-last":""}" data-step-id="${rt.stepId}">`),ne.push(`<div class="timeline-marker"><div class="timeline-dot">${it+1}</div><div class="timeline-line"></div></div>`),ne.push('<div class="timeline-content">'),ne.push('<div class="step-card">'),ne.push('<div class="timeline-step-header">'),ne.push(`<span class="timeline-step-name">${rt.stepId}</span>`),ne.push("</div>");let lt="";if(rt.operationId){const dt=rt.operationId.indexOf(".");if(dt>0){const ht=rt.operationId.substring(0,dt),pt=rt.operationId.substring(dt+1),ft=xe.get(ht)||"arazzo";lt=`<span class="timeline-operation-group">${sourceIcon(ft)}<span class="timeline-source">${ht}</span><span class="timeline-op-name">${pt}</span></span>`}else lt=`<span class="step-op-ref" style="color: ${(te.sourceDescriptions.length>0&&te.sourceDescriptions[0].type||"arazzo")==="openapi"?"#6BA543":"#94C83D"}">${rt.operationId}</span>`}else rt.operationPath?lt=`<code>${rt.operationPath}</code>`:rt.workflowId&&(lt=`<code>${rt.workflowId}</code>`);if(rt.description&&lt?ne.push(`<div class="step-description">${rt.description} via ${lt} Operation</div>`):rt.description?ne.push(`<div class="step-description">${rt.description}</div>`):lt&&ne.push(`<div class="step-description">via ${lt} Operation</div>`),rt.parameters&&rt.parameters.length>0&&(ne.push(`<details class="step-detail"><summary class="step-detail-summary">Parameters <span class="step-detail-count">${rt.parameters.length}</span></summary>`),ne.push('<div class="step-detail-body step-grid-3">'),rt.parameters.forEach(dt=>{if("$ref"in dt)ne.push(`<div class="step-row">Reference: <code>${dt.$ref}</code></div>`);else if("name"in dt&&"in"in dt){const ht=typeof dt.value=="string"?dt.value:JSON.stringify(dt.value),pt=typeof ht=="string"&&ht.startsWith("$")?"←":"=";ne.push(`<div class="step-grid-row"><span><code>${dt.name}</code> <span class="step-in">${dt.in}</span></span><span class="step-arrow">${pt}</span><span><code>${ht}</code></span></div>`)}}),ne.push("</div></details>")),rt.successCriteria&&rt.successCriteria.length>0&&(ne.push(`<details class="step-detail"><summary class="step-detail-summary">Success Criteria <span class="step-detail-count">${rt.successCriteria.length}</span></summary>`),ne.push('<div class="step-detail-body">'),rt.successCriteria.forEach(dt=>{ne.push(`<div class="step-row"><code>${dt.condition}</code></div>`)}),ne.push("</div></details>")),rt.outputs&&Object.keys(rt.outputs).length>0){const dt=Object.keys(rt.outputs).length;ne.push(`<details class="step-detail"><summary class="step-detail-summary">Outputs <span class="step-detail-count">${dt}</span></summary>`),ne.push('<div class="step-detail-body step-grid-3">'),Object.entries(rt.outputs).forEach(([ht,pt])=>{ne.push(`<div class="step-grid-row"><span><code>${ht}</code></span><span class="step-arrow">←</span><span><code>${pt}</code></span></div>`)}),ne.push("</div></details>")}const ct=[...rt.onSuccess||[],...ee.successActions||[]],ut=[...rt.onFailure||[],...ee.failureActions||[]];if(ct.length>0||ut.length>0){const dt=ct.length+ut.length;ne.push(`<details class="step-detail"><summary class="step-detail-summary">Actions <span class="step-detail-count">${dt}</span></summary>`),ne.push('<div class="step-detail-body step-grid-3">'),ct.forEach(ht=>{if("$ref"in ht)ne.push(`<div class="step-grid-row"><span><code>${ht.$ref}</code></span><span></span><span></span></div>`);else if("type"in ht){const pt=ht.name?`<strong>${ht.name}</strong>`:"";if(ht.type==="goto"){const ft=ht.stepId||ht.workflowId||"end";ne.push(`<div class="step-grid-row"><span>${pt}</span><span class="step-arrow">→</span><span>Continue to <code>${ft}</code> <span class="badge badge-success">GOTO</span></span></div>`)}else ht.type==="end"&&ne.push(`<div class="step-grid-row"><span>${pt}</span><span class="step-arrow">→</span><span>Workflow completes <span class="badge badge-success">END</span></span></div>`)}}),ut.forEach(ht=>{if("$ref"in ht)ne.push(`<div class="step-grid-row"><span><code>${ht.$ref}</code></span><span></span><span></span></div>`);else if("type"in ht){const pt=ht.name?`<strong>${ht.name}</strong>`:"";if(ht.type==="goto"){const ft=ht.stepId||ht.workflowId||"end";ne.push(`<div class="step-grid-row"><span>${pt}</span><span class="step-arrow">→</span><span>Jump to <code>${ft}</code> <span class="badge badge-error">GOTO</span></span></div>`)}else if(ht.type==="retry"){const ft=ht.retryLimit?`${ht.retryLimit} times`:"unlimited",mt=ht.retryAfter?` (wait ${ht.retryAfter}s)`:"";ne.push(`<div class="step-grid-row"><span>${pt}</span><span class="step-arrow">→</span><span>Retry ${ft}${mt} <span class="badge badge-warning">RETRY</span></span></div>`)}else ht.type==="end"&&ne.push(`<div class="step-grid-row"><span>${pt}</span><span class="step-arrow">→</span><span>Workflow terminates <span class="badge badge-error">END</span></span></div>`)}}),ne.push("</div></details>")}ne.push("</div>"),ne.push("</div>"),ne.push(`</div>
958
958
  `)}),ne.push(`</div>
959
959
  `),ee.outputs&&Object.keys(ee.outputs).length>0&&(ne.push(`
960
960
  <div class="doc-section">
@@ -988,7 +988,7 @@ When this workflow completes successfully, it returns:
988
988
  }
989
989
 
990
990
  .workflow-details[open] {
991
- border-color: #93c5fd;
991
+ border-color: #94C83D;
992
992
  }
993
993
 
994
994
  .workflow-summary-bar {
@@ -999,7 +999,7 @@ When this workflow completes successfully, it returns:
999
999
  cursor: pointer;
1000
1000
  user-select: none;
1001
1001
  list-style: none;
1002
- background: #eef6ff;
1002
+ background: #f3fae8;
1003
1003
  transition: background 0.15s;
1004
1004
  }
1005
1005
 
@@ -1010,7 +1010,7 @@ When this workflow completes successfully, it returns:
1010
1010
  .workflow-summary-bar::before {
1011
1011
  content: '▶';
1012
1012
  font-size: 10px;
1013
- color: #61affe;
1013
+ color: #6BA543;
1014
1014
  transition: transform 0.15s;
1015
1015
  flex-shrink: 0;
1016
1016
  }
@@ -1020,7 +1020,7 @@ When this workflow completes successfully, it returns:
1020
1020
  }
1021
1021
 
1022
1022
  .workflow-summary-bar:hover {
1023
- background: #e0f0ff;
1023
+ background: #ecf5dc;
1024
1024
  }
1025
1025
 
1026
1026
  .workflow-summary-title {
@@ -1142,8 +1142,8 @@ When this workflow completes successfully, it returns:
1142
1142
  }
1143
1143
 
1144
1144
  .source-card:hover {
1145
- border-color: #93c5fd;
1146
- box-shadow: 0 2px 8px rgba(59, 130, 246, 0.1);
1145
+ border-color: #94C83D;
1146
+ box-shadow: 0 2px 8px rgba(107, 165, 67, 0.15);
1147
1147
  }
1148
1148
 
1149
1149
  .source-card-top {
@@ -1163,12 +1163,12 @@ When this workflow completes successfully, it returns:
1163
1163
  }
1164
1164
 
1165
1165
  .source-type-openapi {
1166
- background: #49cc90;
1166
+ background: #6BA543;
1167
1167
  color: #fff;
1168
1168
  }
1169
1169
 
1170
1170
  .source-type-arazzo {
1171
- background: #61affe;
1171
+ background: #94C83D;
1172
1172
  color: #fff;
1173
1173
  }
1174
1174
 
@@ -1232,18 +1232,18 @@ When this workflow completes successfully, it returns:
1232
1232
  width: 24px;
1233
1233
  height: 24px;
1234
1234
  border-radius: 50%;
1235
- background: #fef3c7;
1236
- border: 1px solid #fde68a;
1235
+ background: #e8f5d3;
1236
+ border: 1px solid #94C83D;
1237
1237
  flex-shrink: 0;
1238
1238
  font-size: 11px;
1239
1239
  font-weight: 700;
1240
- color: #92400e;
1240
+ color: #6BA543;
1241
1241
  }
1242
1242
 
1243
1243
  .timeline-line {
1244
1244
  width: 2px;
1245
1245
  flex: 1;
1246
- background: #fde68a;
1246
+ background: #94C83D;
1247
1247
  margin: 4px 0;
1248
1248
  }
1249
1249
 
@@ -1303,8 +1303,8 @@ When this workflow completes successfully, it returns:
1303
1303
  font-size: 11px;
1304
1304
  padding: 2px 6px;
1305
1305
  border-radius: 4px;
1306
- background: #dbeafe;
1307
- color: #1e40af;
1306
+ background: #e8f5d3;
1307
+ color: #6BA543;
1308
1308
  font-weight: 600;
1309
1309
  }
1310
1310
 
@@ -1336,8 +1336,8 @@ When this workflow completes successfully, it returns:
1336
1336
 
1337
1337
  .timeline-op-name {
1338
1338
  padding: 3px 6px;
1339
- background: #dbeafe;
1340
- color: #1e40af;
1339
+ background: #e8f5d3;
1340
+ color: #6BA543;
1341
1341
  }
1342
1342
 
1343
1343
  .source-card-top .source-icon {
@@ -1549,7 +1549,7 @@ When this workflow completes successfully, it returns:
1549
1549
  }
1550
1550
 
1551
1551
  .spec-version {
1552
- background: #49cc90;
1552
+ background: #94C83D;
1553
1553
  color: #fff;
1554
1554
  }
1555
1555
 
@@ -1564,9 +1564,9 @@ When this workflow completes successfully, it returns:
1564
1564
  border-radius: 6px;
1565
1565
  font-size: 12px;
1566
1566
  font-weight: 600;
1567
- background: #fef3c7;
1568
- color: #92400e;
1569
- border: 1px solid #fde68a;
1567
+ background: #94C83D;
1568
+ color: #fff;
1569
+ border: 1px solid #6BA543;
1570
1570
  }
1571
1571
 
1572
1572
  .operation-badge {
@@ -1575,8 +1575,8 @@ When this workflow completes successfully, it returns:
1575
1575
  border-radius: 4px;
1576
1576
  font-size: 11px;
1577
1577
  font-weight: 600;
1578
- background: #dbeafe;
1579
- color: #1e40af;
1578
+ background: #e8f5d3;
1579
+ color: #6BA543;
1580
1580
  }
1581
1581
 
1582
1582
  /* Action badges (END, GOTO, RETRY) */
@@ -1627,7 +1627,7 @@ When this workflow completes successfully, it returns:
1627
1627
  height: auto;
1628
1628
  }
1629
1629
 
1630
- `}),jsxRuntimeExports.jsxs("article",{className:"arazzo-docs-prose",children:[jsxRuntimeExports.jsx(Markdown,{remarkPlugins:markdownPlugins,rehypePlugins,children:It.headerMarkdown}),jsxRuntimeExports.jsxs("div",{className:"workflows-header-row",children:[jsxRuntimeExports.jsx("span",{className:"sources-header",style:{margin:0},children:"Workflows"}),jsxRuntimeExports.jsx("button",{className:"expand-all-btn",onClick:wt,children:Bt?"Collapse All":"Expand All"})]}),It.workflows.map(bt=>{const Dt=bt.steps.length,Nt=ht(bt.workflowId),Rt=It.workflowMarkdowns.get(bt.workflowId)||"",Tt=Ct.get(bt.workflowId)||null,Ot=Et.get(bt.workflowId)||null;return jsxRuntimeExports.jsxs("details",{className:"workflow-details","data-workflow-id":bt.workflowId,onToggle:Ut=>ft(bt.workflowId,Ut),children:[jsxRuntimeExports.jsxs("summary",{className:"workflow-summary-bar",children:[jsxRuntimeExports.jsxs("span",{className:"step-count-badge",children:[Dt," ",Dt===1?"Step":"Steps"]}),jsxRuntimeExports.jsx("span",{className:"workflow-summary-title",children:bt.workflowId}),bt.summary&&jsxRuntimeExports.jsx("span",{className:"workflow-summary-text",children:bt.summary})]}),jsxRuntimeExports.jsxs("div",{className:"workflow-details-content",children:[jsxRuntimeExports.jsx("div",{className:"workflow-view-toggle",children:St.map(Ut=>jsxRuntimeExports.jsx("button",{className:`workflow-view-btn ${Nt===Ut?"workflow-view-btn-active":""}`,onClick:()=>pt(bt.workflowId,Ut),children:_t[Ut]},Ut))}),jsxRuntimeExports.jsx("div",{style:{display:Nt==="docs"?"block":"none"},children:jsxRuntimeExports.jsx(Markdown,{remarkPlugins:markdownPlugins,rehypePlugins,children:Rt})}),Tt&&ut.has(bt.workflowId)&&jsxRuntimeExports.jsx("div",{style:{display:Nt==="sequence"?"block":"none"},children:jsxRuntimeExports.jsx(MermaidDiagram,{source:Tt})}),Ot&&ut.has(bt.workflowId)&&jsxRuntimeExports.jsx("div",{style:{display:Nt==="flowchart"?"block":"none"},children:jsxRuntimeExports.jsx(MermaidDiagram,{source:Ot})})]})]},bt.workflowId)})]})]})})};function detectUrl(te){return typeof te=="string"&&/^https?:\/\//i.test(te.trim())?te.trim():null}async function parseDocument(te){const ee=await parse$9(te,{}),ne=await dereferenceElement(ee,{parse:{parserOpts:{sourceDescriptions:!1}},resolve:{baseURI:document.baseURI},dereference:{circular:"error",immutable:!1}});return serializer$1(ne.result)}const ArazzoUI=reactExports.forwardRef(function te(ee,ne){const{document:xe,view:rt="docs",activeWorkflowId:it,selectedNodeId:At,className:lt,style:ct,onNodeSelect:ut,onEdgeSelect:dt,onWorkflowSelect:ht,onViewChange:pt}=ee,ft=detectUrl(xe),[mt,It]=reactExports.useState(null),[Ct,Et]=reactExports.useState(null),[Bt,vt]=reactExports.useState(!0);reactExports.useEffect(()=>{let St=!1;return vt(!0),Et(null),parseDocument(xe).then(_t=>{St||(It(_t),vt(!1))}).catch(_t=>{St||(Et(_t instanceof Error?_t.message:String(_t)),It(null),vt(!1))}),()=>{St=!0}},[xe]);const wt=reactExports.useMemo(()=>({onNodeSelect:ut,onEdgeSelect:dt,onWorkflowSelect:ht,onViewChange:pt}),[ut,dt,ht,pt]);return Bt?jsxRuntimeExports.jsx("div",{className:`arazzo-ui ${lt??""}`,style:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"#6b7280",fontSize:"14px",...ct},children:"Loading document..."}):Ct||!mt?jsxRuntimeExports.jsx("div",{className:`arazzo-ui ${lt??""}`,style:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"#dc2626",fontSize:"14px",padding:"24px",...ct},children:Ct||"Failed to load document"}):jsxRuntimeExports.jsx("div",{className:`arazzo-ui ${lt??""}`,style:{width:"100%",height:"100%",display:"flex",...ct},children:jsxRuntimeExports.jsx(ArazzoViewerProvider,{document:mt,documentURL:ft,initialActiveWorkflowId:it,initialSelectedNodeId:At,events:wt,children:jsxRuntimeExports.jsx(ReactFlowProvider,{children:jsxRuntimeExports.jsx(ArazzoUIInner,{ref:ne,view:rt})})})})}),ArazzoUIInner=reactExports.forwardRef(function te({view:ee},ne){const xe=reactExports.useRef(null),rt=useArazzoViewer();reactExports.useImperativeHandle(ne,()=>({fitView:()=>{var lt;return(lt=xe.current)==null?void 0:lt.fitView()},setZoom:lt=>{var ct;return(ct=xe.current)==null?void 0:ct.setZoom(lt)},getDocument:()=>stripInternalIds(rt.document),setActiveWorkflow:lt=>rt.setActiveWorkflow(lt),selectStep:lt=>{const ct=rt.nodes.find(ut=>{var dt;return((dt=ut.data)==null?void 0:dt.type)==="step"&&"step"in ut.data&&ut.data.step.stepId===lt});ct&&rt.setSelectedNode(ct.id)},clearSelection:()=>rt.setSelectedNode(null),getActiveWorkflowId:()=>rt.activeWorkflowId,getSelectedStepId:()=>{var ct;if(!rt.selectedNodeId)return null;const lt=rt.nodes.find(ut=>ut.id===rt.selectedNodeId);return((ct=lt==null?void 0:lt.data)==null?void 0:ct.type)==="step"&&"step"in lt.data?lt.data.step.stepId:null}}),[rt]);const it=ee==="diagram"||ee==="split",At=ee==="docs"||ee==="split";return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[it&&jsxRuntimeExports.jsx("div",{style:{flex:1,minWidth:0,height:"100%"},children:jsxRuntimeExports.jsx(DiagramView,{ref:xe,showWorkflowTabs:!0})}),At&&jsxRuntimeExports.jsx("div",{style:{flex:1,minWidth:0,height:"100%",overflow:"auto"},children:jsxRuntimeExports.jsx(DocsView,{})})]})});function JenticLogo(te){return jsxRuntimeExports.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1200 400",...te,children:[jsxRuntimeExports.jsx("rect",{fill:"none",width:"1200",height:"400",rx:"16",ry:"16"}),jsxRuntimeExports.jsxs("g",{children:[jsxRuntimeExports.jsxs("g",{children:[jsxRuntimeExports.jsx("path",{fill:"#fff",d:"M362.5,78c-8.8-1.2-18.9,11.2-27.7,33.4-10.1,25.8-20.3,51.6-31.1,76.6v.2c-.1,0-6.1,14.2-6.1,14.2h0s-.2.5-.2.5c-4.5,10.6-19.3,45.4-24,56.6-3.2,7.5-6.6,14.7-10.2,21.5,0,0,0,0,0,0h0s0,0,0,.1c-2.5,4.8-5.3,9.2-8.3,13.1-20.6,26.7-48.3,33.8-68.6,35-30.4.5-70.8-11.8-87.6-57.3-8-20.6-9.9-45.6-9.3-69.6h140.1s-5.6,13-5.6,13l-1.2,2.6-11.8.3c-10.2.3-20.2.1-30.6.6-9.2.4-17.8-.3-25,7.9-2.9,3.2-4.8,7.2-5.7,11.4-1.4,5.8-.6,10.1,2.3,17.2,5.9,13,17.9,20.8,32.1,20.8s.9,0,1.3,0c8.1-.3,16.5-3.1,23.4-8.3,6.1-4.6,10.7-11.6,14.3-19.5l9-22.5,57.3-135.2h0s0,0,0,0c1.5-3.7,2.9-7.4,4.4-11.1,0,0,0,0,0-.1,2.6-6.4,5.6-6.4,5.6-6.4,0,0,9.5-2.4,29.6-2.4s30.5,1.6,31.1,2c.5.4,2.6.6,2.5,5.3h0Z"}),jsxRuntimeExports.jsx("path",{fill:"#fff",d:"M404,202.5h-.1l-7.5-23.9v-.2c0,0-8-25.1-8-25.1h0s-14.8-46.9-14.8-46.9c-2.8-8.3-5.2-16.9-12-15.5-12,2.6-18.9,22.6-24.6,38.3-1.4,3.7-2.8,7.8-3.6,12.2l1.8,2.2,47.8,58.8.5.6h-74.2c0,0-.1.2-.1.2l-5.4,12.5-1.2,2.7h106.6l-5.1-15.9h0ZM388.2,213.5h0s0,0,0,0h0Z"})]}),jsxRuntimeExports.jsxs("g",{children:[jsxRuntimeExports.jsx("path",{fill:"#fff",d:"M963.6,166.7c-6.2,0-10.7-1.6-13.7-4.8-3-3.2-4.4-7.3-4.4-12.2s1.5-9.2,4.4-12.5c3-3.2,7.5-4.8,13.7-4.8s10.7,1.6,13.7,4.8c3,3.2,4.4,7.4,4.4,12.5s-1.5,9-4.4,12.2c-3,3.2-7.5,4.8-13.7,4.8Z"}),jsxRuntimeExports.jsxs("g",{children:[jsxRuntimeExports.jsx("path",{fill:"#fff",d:"M682.6,182.1c-8.3-5.4-18.5-8.1-30.6-8.1s-17.4,1.6-24.6,4.8c-7.2,3.2-13.2,7.6-18.1,13.1-4.9,5.5-8.6,11.7-11.1,18.6-2.5,6.9-3.8,14.2-3.8,21.7v4.1c0,7.3,1.3,14.4,3.8,21.3s6.3,13.2,11.2,18.8c4.9,5.6,11.1,10.1,18.4,13.4,7.3,3.3,15.8,4.9,25.4,4.9s17.8-1.7,25.1-5c7.3-3.4,13.3-8,18.1-13.9,4.8-5.9,8-12.6,9.7-20.2h-30.3c-1.4,3.4-4,6.3-7.8,8.6-3.8,2.3-8.8,3.5-14.8,3.5s-11.9-1.4-16.1-4.1c-4.1-2.7-7.1-6.6-9.1-11.6-1.1-2.8-1.8-5.9-2.3-9.2h82.4v-11.1c0-10.3-2.2-19.8-6.6-28.5-4.4-8.7-10.7-15.8-19-21.2h0ZM628.4,216.1c2.1-5,5.1-8.8,9.1-11.3,4-2.5,8.8-3.8,14.6-3.8s10.3,1.3,14.1,3.8c3.8,2.5,6.6,6.2,8.4,10.9,1,2.5,1.7,5.4,2.2,8.5h-50.7c.5-3,1.3-5.7,2.3-8.1h0Z"}),jsxRuntimeExports.jsx("path",{fill:"#fff",d:"M791.6,174.4h-1.4c-8.7,0-16,1.9-22,5.8-6,3.8-10.5,9.6-13.5,17.3-1,2.7-1.9,5.7-2.6,8.9v-28.5h-26.3v112.8h33.2v-65.7c0-6.3,1.9-11.4,5.7-15.2,3.8-3.8,8.8-5.8,14.9-5.8s10.8,1.9,14.3,5.7c3.5,3.8,5.2,8.7,5.2,14.7v66.3h33.2v-64.4c0-17.4-3.5-30.4-10.4-39-6.9-8.6-17-12.9-30.2-12.9h0Z"}),jsxRuntimeExports.jsx("path",{fill:"#fff",d:"M890.3,147.4h-30.7v30.5h-17.3v24.3h17.2v44.5c0,11.4,1.6,20.4,4.8,27.1,3.3,6.7,8.4,11.4,15.4,14.3,7,2.9,16.2,4.3,27.6,4.3h15.8v-28h-16.7c-5.2,0-9.2-1.4-12-4.2-2.8-2.8-4.2-6.9-4.2-12.2v-45.7h32.9v-24.3h-32.9v-30.5h0Z"}),jsxRuntimeExports.jsx("polygon",{fill:"#fff",points:"983.8 177.9 950.6 177.9 950.6 177.9 943.5 177.9 935.7 202.3 950.6 202.3 950.6 290.7 983.8 290.7 983.8 202.4 983.8 202.4 983.8 177.9 983.8 177.9 983.8 177.9"}),jsxRuntimeExports.jsx("path",{fill:"#fff",d:"M1078.7,247.7c-.6,3.7-1.7,7-3.5,9.8-1.8,2.8-4.2,5-7.3,6.6-3.1,1.6-6.8,2.4-11.2,2.4s-10.7-1.3-14.3-4c-3.6-2.7-6.3-6.5-7.9-11.3s-2.5-10.3-2.5-16.4.9-12.1,2.7-17c1.8-4.9,4.5-8.7,8.1-11.4,3.6-2.7,8.2-4.1,13.7-4.1s11.5,1.8,15,5.2c3.6,3.5,5.6,7.9,6.2,13.1h32.3c-.6-9.2-3.2-17.3-7.8-24.3-4.7-7-10.9-12.5-18.7-16.4-7.8-3.9-16.8-5.9-27-5.9s-17.6,1.6-24.8,4.7c-7.2,3.2-13.2,7.5-18.1,13s-8.5,11.8-11,18.8c-2.5,7.1-3.7,14.4-3.7,22.1v3.9c0,7.4,1.2,14.6,3.6,21.5,2.4,6.9,6,13.1,10.8,18.6,4.8,5.5,10.8,9.9,17.9,13.2,7.1,3.3,15.7,4.9,25.5,4.9s19.2-2,27.2-6c8-4,14.3-9.5,19.2-16.6,4.8-7.1,7.4-15.3,7.8-24.6h-32.1,0Z"}),jsxRuntimeExports.jsx("path",{fill:"#fff",d:"M508.7,138l-9.8,30.6h43.8l.7.5c1.2.9,1.7,1.7,1.7,3.2,0,9.5-.1,19.1-.2,27.5-.2,11.7-.3,25-.1,37.6v.3c-1.6,17.5-16.8,27-30.2,27s-19.8-5.9-24.2-15.7c-4.8-10.6-1.3-20,2.2-26.9l1.5-3h-33l-.5,1.3c-5.2,13.1-5.1,27.6.4,41,5.9,14.5,17.6,26,32,31.4,7,2.6,14.3,4,21.6,4,15.8,0,31.1-6.2,43.1-17.4,12.1-11.4,19.4-26.6,20.6-43h0c0,0,0-98.4,0-98.4h-69.5,0Z"})]})]})]})]})}const views=["diagram","docs","split"],ViewModeControl=({value:te,onChange:ee,className:ne,style:xe})=>jsxRuntimeExports.jsx("div",{className:`arazzo-view-mode-control ${ne??""}`,style:{display:"inline-flex",borderRadius:"6px",border:"1px solid #444",overflow:"hidden",fontSize:"13px",...xe},children:views.map(rt=>jsxRuntimeExports.jsx("button",{onClick:()=>ee(rt),style:{padding:"4px 12px",border:"none",borderRight:rt!==views[views.length-1]?"1px solid #444":"none",background:te===rt?"#fff":"#2a2a2a",color:te===rt?"#1B1B1B":"#ccc",cursor:te===rt?"default":"pointer",fontWeight:te===rt?600:400,textTransform:"capitalize"},children:rt},rt))}),ArazzoUIStandalone$1=reactExports.forwardRef(function te(ee,ne){const{initialView:xe="docs",onViewChange:rt,...it}=ee,[At,lt]=reactExports.useState(xe),[ct,ut]=reactExports.useState(typeof ee.document=="string"&&/^https?:\/\//i.test(ee.document)?ee.document:""),[dt,ht]=reactExports.useState(ee.document),pt=reactExports.useCallback(It=>{lt(It),rt==null||rt(It)},[rt]),ft=reactExports.useCallback(()=>{const It=ct.trim();It&&ht(It)},[ct]),mt=reactExports.useCallback(It=>{It.key==="Enter"&&ft()},[ft]);return jsxRuntimeExports.jsxs("div",{className:`arazzo-ui-standalone ${ee.className??""}`,style:{display:"flex",flexDirection:"column",width:"100%",height:"100%",...ee.style},children:[jsxRuntimeExports.jsxs("div",{className:"arazzo-ui-toolbar",style:{position:"relative",height:"60px",padding:"0 16px",borderBottom:"1px solid #333",display:"flex",alignItems:"center",justifyContent:"center",background:"#1B1B1B"},children:[jsxRuntimeExports.jsx("a",{href:"https://jentic.com",target:"_blank",rel:"noopener noreferrer",title:"Supported by Jentic",style:{position:"absolute",left:"16px"},children:jsxRuntimeExports.jsx(JenticLogo,{style:{height:"36px"}})}),jsxRuntimeExports.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px",width:"520px"},children:[jsxRuntimeExports.jsx("input",{type:"text",value:ct,onChange:It=>ut(It.target.value),onKeyDown:mt,placeholder:"Enter Arazzo document URL...",style:{flex:1,padding:"6px 12px",border:"1px solid #444",borderRadius:"6px",fontSize:"13px",outline:"none",background:"#2a2a2a",color:"#fff"}}),jsxRuntimeExports.jsx("button",{onClick:ft,style:{padding:"6px 16px",border:"none",borderRadius:"6px",background:"#61affe",color:"#fff",fontSize:"13px",cursor:"pointer",fontWeight:500,whiteSpace:"nowrap"},children:"Explore"})]}),jsxRuntimeExports.jsx("div",{style:{position:"absolute",right:"16px"},children:jsxRuntimeExports.jsx(ViewModeControl,{value:At,onChange:pt})})]}),jsxRuntimeExports.jsx("div",{style:{flex:1,minHeight:0},children:jsxRuntimeExports.jsx(ArazzoUI,{ref:ne,...it,document:dt,view:At,onViewChange:pt,className:void 0,style:void 0})})]})});function ArazzoUIStandalone(te){const{dom_id:ee,domNode:ne,...xe}=te,rt=ne??(ee?globalThis.document.querySelector(ee):null);if(!rt)throw new Error("ArazzoUIStandalone: provide either dom_id (CSS selector) or domNode (HTMLElement)");const it=reactExports.createRef(),At=clientExports.createRoot(rt);return At.render(React.createElement(ArazzoUIStandalone$1,{...xe,ref:it})),{unmount:()=>At.unmount(),getRef:()=>it.current}}const empty={},empty$1=Object.freeze(Object.defineProperty({__proto__:null,default:empty},Symbol.toStringTag,{value:"Module"}));class SourceLocation{constructor(ee,ne,xe){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=ee,this.start=ne,this.end=xe}static range(ee,ne){return ne?!ee||!ee.loc||!ne.loc||ee.loc.lexer!==ne.loc.lexer?null:new SourceLocation(ee.loc.lexer,ee.loc.start,ne.loc.end):ee&&ee.loc}}class Token{constructor(ee,ne){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=ee,this.loc=ne}range(ee,ne){return new Token(ne,SourceLocation.range(this,ee))}}class ParseError{constructor(ee,ne){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;var xe="KaTeX parse error: "+ee,rt,it,At=ne&&ne.loc;if(At&&At.start<=At.end){var lt=At.lexer.input;rt=At.start,it=At.end,rt===lt.length?xe+=" at end of input: ":xe+=" at position "+(rt+1)+": ";var ct=lt.slice(rt,it).replace(/[^]/g,"$&̲"),ut;rt>15?ut="…"+lt.slice(rt-15,rt):ut=lt.slice(0,rt);var dt;it+15<lt.length?dt=lt.slice(it,it+15)+"…":dt=lt.slice(it),xe+=ut+ct+dt}var ht=new Error(xe);return ht.name="ParseError",ht.__proto__=ParseError.prototype,ht.position=rt,rt!=null&&it!=null&&(ht.length=it-rt),ht.rawMessage=ee,ht}}ParseError.prototype.__proto__=Error.prototype;var deflt=function te(ee,ne){return ee===void 0?ne:ee},uppercase=/([A-Z])/g,hyphenate=function te(ee){return ee.replace(uppercase,"-$1").toLowerCase()},ESCAPE_LOOKUP={"&":"&amp;",">":"&gt;","<":"&lt;",'"':"&quot;","'":"&#x27;"},ESCAPE_REGEX=/[&><"']/g;function escape$1(te){return String(te).replace(ESCAPE_REGEX,ee=>ESCAPE_LOOKUP[ee])}var getBaseElem=function te(ee){return ee.type==="ordgroup"||ee.type==="color"?ee.body.length===1?te(ee.body[0]):ee:ee.type==="font"?te(ee.body):ee},isCharacterBox=function te(ee){var ne=getBaseElem(ee);return ne.type==="mathord"||ne.type==="textord"||ne.type==="atom"},assert=function te(ee){if(!ee)throw new Error("Expected non-null, but got "+String(ee));return ee},protocolFromUrl=function te(ee){var ne=/^[\x00-\x20]*([^\\/#?]*?)(:|&#0*58|&#x0*3a|&colon)/i.exec(ee);return ne?ne[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(ne[1])?null:ne[1].toLowerCase():"_relative"},utils={deflt,escape:escape$1,hyphenate,getBaseElem,isCharacterBox,protocolFromUrl},SETTINGS_SCHEMA={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format <type>"},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color <color>",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:te=>"#"+te},macros:{type:"object",cli:"-m, --macro <def>",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(te,ee)=>(ee.push(te),ee)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:te=>Math.max(0,te),cli:"--min-rule-thickness <size>",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:te=>Math.max(0,te),cli:"-s, --max-size <n>",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:te=>Math.max(0,te),cli:"-e, --max-expand <n>",cliProcessor:te=>te==="Infinity"?1/0:parseInt(te)},globalGroup:{type:"boolean",cli:!1}};function getDefaultValue(te){if(te.default)return te.default;var ee=te.type,ne=Array.isArray(ee)?ee[0]:ee;if(typeof ne!="string")return ne.enum[0];switch(ne){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class Settings{constructor(ee){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,ee=ee||{};for(var ne in SETTINGS_SCHEMA)if(SETTINGS_SCHEMA.hasOwnProperty(ne)){var xe=SETTINGS_SCHEMA[ne];this[ne]=ee[ne]!==void 0?xe.processor?xe.processor(ee[ne]):ee[ne]:getDefaultValue(xe)}}reportNonstrict(ee,ne,xe){var rt=this.strict;if(typeof rt=="function"&&(rt=rt(ee,ne,xe)),!(!rt||rt==="ignore")){if(rt===!0||rt==="error")throw new ParseError("LaTeX-incompatible input and strict mode is set to 'error': "+(ne+" ["+ee+"]"),xe);rt==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(ne+" ["+ee+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+rt+"': "+ne+" ["+ee+"]"))}}useStrictBehavior(ee,ne,xe){var rt=this.strict;if(typeof rt=="function")try{rt=rt(ee,ne,xe)}catch{rt="error"}return!rt||rt==="ignore"?!1:rt===!0||rt==="error"?!0:rt==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(ne+" ["+ee+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+rt+"': "+ne+" ["+ee+"]")),!1)}isTrusted(ee){if(ee.url&&!ee.protocol){var ne=utils.protocolFromUrl(ee.url);if(ne==null)return!1;ee.protocol=ne}var xe=typeof this.trust=="function"?this.trust(ee):this.trust;return!!xe}}class Style{constructor(ee,ne,xe){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=ee,this.size=ne,this.cramped=xe}sup(){return styles$2[sup[this.id]]}sub(){return styles$2[sub[this.id]]}fracNum(){return styles$2[fracNum[this.id]]}fracDen(){return styles$2[fracDen[this.id]]}cramp(){return styles$2[cramp[this.id]]}text(){return styles$2[text$1[this.id]]}isTight(){return this.size>=2}}var D=0,Dc=1,T=2,Tc=3,S=4,Sc=5,SS=6,SSc=7,styles$2=[new Style(D,0,!1),new Style(Dc,0,!0),new Style(T,1,!1),new Style(Tc,1,!0),new Style(S,2,!1),new Style(Sc,2,!0),new Style(SS,3,!1),new Style(SSc,3,!0)],sup=[S,Sc,S,Sc,SS,SSc,SS,SSc],sub=[Sc,Sc,Sc,Sc,SSc,SSc,SSc,SSc],fracNum=[T,Tc,S,Sc,SS,SSc,SS,SSc],fracDen=[Tc,Tc,Sc,Sc,SSc,SSc,SSc,SSc],cramp=[Dc,Dc,Tc,Tc,Sc,Sc,SSc,SSc],text$1=[D,Dc,T,Tc,T,Tc,T,Tc],Style$1={DISPLAY:styles$2[D],TEXT:styles$2[T],SCRIPT:styles$2[S],SCRIPTSCRIPT:styles$2[SS]},scriptData=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function scriptFromCodepoint(te){for(var ee=0;ee<scriptData.length;ee++)for(var ne=scriptData[ee],xe=0;xe<ne.blocks.length;xe++){var rt=ne.blocks[xe];if(te>=rt[0]&&te<=rt[1])return ne.name}return null}var allBlocks=[];scriptData.forEach(te=>te.blocks.forEach(ee=>allBlocks.push(...ee)));function supportedCodepoint(te){for(var ee=0;ee<allBlocks.length;ee+=2)if(te>=allBlocks[ee]&&te<=allBlocks[ee+1])return!0;return!1}var hLinePad=80,sqrtMain=function te(ee,ne){return"M95,"+(622+ee+ne)+`
1630
+ `}),jsxRuntimeExports.jsxs("article",{className:"arazzo-docs-prose",children:[jsxRuntimeExports.jsx(Markdown,{remarkPlugins:markdownPlugins,rehypePlugins,children:It.headerMarkdown}),jsxRuntimeExports.jsxs("div",{className:"workflows-header-row",children:[jsxRuntimeExports.jsx("span",{className:"sources-header",style:{margin:0},children:"Workflows"}),jsxRuntimeExports.jsx("button",{className:"expand-all-btn",onClick:wt,children:Bt?"Collapse All":"Expand All"})]}),It.workflows.map(bt=>{const Dt=bt.steps.length,Nt=ht(bt.workflowId),Rt=It.workflowMarkdowns.get(bt.workflowId)||"",Tt=Ct.get(bt.workflowId)||null,Ot=Et.get(bt.workflowId)||null;return jsxRuntimeExports.jsxs("details",{className:"workflow-details","data-workflow-id":bt.workflowId,onToggle:Ut=>ft(bt.workflowId,Ut),children:[jsxRuntimeExports.jsxs("summary",{className:"workflow-summary-bar",children:[jsxRuntimeExports.jsxs("span",{className:"step-count-badge",children:[Dt," ",Dt===1?"Step":"Steps"]}),jsxRuntimeExports.jsx("span",{className:"workflow-summary-title",children:bt.workflowId}),bt.summary&&jsxRuntimeExports.jsx("span",{className:"workflow-summary-text",children:bt.summary})]}),jsxRuntimeExports.jsxs("div",{className:"workflow-details-content",children:[jsxRuntimeExports.jsx("div",{className:"workflow-view-toggle",children:St.map(Ut=>jsxRuntimeExports.jsx("button",{className:`workflow-view-btn ${Nt===Ut?"workflow-view-btn-active":""}`,onClick:()=>pt(bt.workflowId,Ut),children:_t[Ut]},Ut))}),jsxRuntimeExports.jsx("div",{style:{display:Nt==="docs"?"block":"none"},children:jsxRuntimeExports.jsx(Markdown,{remarkPlugins:markdownPlugins,rehypePlugins,children:Rt})}),Tt&&ut.has(bt.workflowId)&&jsxRuntimeExports.jsx("div",{style:{display:Nt==="sequence"?"block":"none"},children:jsxRuntimeExports.jsx(MermaidDiagram,{source:Tt})}),Ot&&ut.has(bt.workflowId)&&jsxRuntimeExports.jsx("div",{style:{display:Nt==="flowchart"?"block":"none"},children:jsxRuntimeExports.jsx(MermaidDiagram,{source:Ot})})]})]},bt.workflowId)})]})]})})};function detectUrl(te){return typeof te=="string"&&/^https?:\/\//i.test(te.trim())?te.trim():null}async function parseDocument(te){const ee=await parse$9(te,{}),ne=await dereferenceElement(ee,{parse:{parserOpts:{sourceDescriptions:!1}},resolve:{baseURI:document.baseURI},dereference:{circular:"error",immutable:!1}});return serializer$1(ne.result)}const ArazzoUI=reactExports.forwardRef(function te(ee,ne){const{document:xe,view:rt="docs",activeWorkflowId:it,selectedNodeId:At,className:lt,style:ct,onNodeSelect:ut,onEdgeSelect:dt,onWorkflowSelect:ht,onViewChange:pt}=ee,ft=detectUrl(xe),[mt,It]=reactExports.useState(null),[Ct,Et]=reactExports.useState(null),[Bt,vt]=reactExports.useState(!0);reactExports.useEffect(()=>{let St=!1;return vt(!0),Et(null),parseDocument(xe).then(_t=>{St||(It(_t),vt(!1))}).catch(_t=>{St||(Et(_t instanceof Error?_t.message:String(_t)),It(null),vt(!1))}),()=>{St=!0}},[xe]);const wt=reactExports.useMemo(()=>({onNodeSelect:ut,onEdgeSelect:dt,onWorkflowSelect:ht,onViewChange:pt}),[ut,dt,ht,pt]);return Bt?jsxRuntimeExports.jsx("div",{className:`arazzo-ui ${lt??""}`,style:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"#6b7280",fontSize:"14px",...ct},children:"Loading document..."}):Ct||!mt?jsxRuntimeExports.jsx("div",{className:`arazzo-ui ${lt??""}`,style:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"#dc2626",fontSize:"14px",padding:"24px",...ct},children:Ct||"Failed to load document"}):jsxRuntimeExports.jsx("div",{className:`arazzo-ui ${lt??""}`,style:{width:"100%",height:"100%",display:"flex",...ct},children:jsxRuntimeExports.jsx(ArazzoViewerProvider,{document:mt,documentURL:ft,initialActiveWorkflowId:it,initialSelectedNodeId:At,events:wt,children:jsxRuntimeExports.jsx(ReactFlowProvider,{children:jsxRuntimeExports.jsx(ArazzoUIInner,{ref:ne,view:rt})})})})}),ArazzoUIInner=reactExports.forwardRef(function te({view:ee},ne){const xe=reactExports.useRef(null),rt=useArazzoViewer();reactExports.useImperativeHandle(ne,()=>({fitView:()=>{var lt;return(lt=xe.current)==null?void 0:lt.fitView()},setZoom:lt=>{var ct;return(ct=xe.current)==null?void 0:ct.setZoom(lt)},getDocument:()=>stripInternalIds(rt.document),setActiveWorkflow:lt=>rt.setActiveWorkflow(lt),selectStep:lt=>{const ct=rt.nodes.find(ut=>{var dt;return((dt=ut.data)==null?void 0:dt.type)==="step"&&"step"in ut.data&&ut.data.step.stepId===lt});ct&&rt.setSelectedNode(ct.id)},clearSelection:()=>rt.setSelectedNode(null),getActiveWorkflowId:()=>rt.activeWorkflowId,getSelectedStepId:()=>{var ct;if(!rt.selectedNodeId)return null;const lt=rt.nodes.find(ut=>ut.id===rt.selectedNodeId);return((ct=lt==null?void 0:lt.data)==null?void 0:ct.type)==="step"&&"step"in lt.data?lt.data.step.stepId:null}}),[rt]);const it=ee==="diagram"||ee==="split",At=ee==="docs"||ee==="split";return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[it&&jsxRuntimeExports.jsx("div",{style:{flex:1,minWidth:0,height:"100%"},children:jsxRuntimeExports.jsx(DiagramView,{ref:xe,showWorkflowTabs:!0})}),At&&jsxRuntimeExports.jsx("div",{style:{flex:1,minWidth:0,height:"100%",overflow:"auto"},children:jsxRuntimeExports.jsx(DocsView,{})})]})});function JenticLogo(te){return jsxRuntimeExports.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1200 400",...te,children:[jsxRuntimeExports.jsx("rect",{fill:"none",width:"1200",height:"400",rx:"16",ry:"16"}),jsxRuntimeExports.jsxs("g",{children:[jsxRuntimeExports.jsxs("g",{children:[jsxRuntimeExports.jsx("path",{fill:"#fff",d:"M362.5,78c-8.8-1.2-18.9,11.2-27.7,33.4-10.1,25.8-20.3,51.6-31.1,76.6v.2c-.1,0-6.1,14.2-6.1,14.2h0s-.2.5-.2.5c-4.5,10.6-19.3,45.4-24,56.6-3.2,7.5-6.6,14.7-10.2,21.5,0,0,0,0,0,0h0s0,0,0,.1c-2.5,4.8-5.3,9.2-8.3,13.1-20.6,26.7-48.3,33.8-68.6,35-30.4.5-70.8-11.8-87.6-57.3-8-20.6-9.9-45.6-9.3-69.6h140.1s-5.6,13-5.6,13l-1.2,2.6-11.8.3c-10.2.3-20.2.1-30.6.6-9.2.4-17.8-.3-25,7.9-2.9,3.2-4.8,7.2-5.7,11.4-1.4,5.8-.6,10.1,2.3,17.2,5.9,13,17.9,20.8,32.1,20.8s.9,0,1.3,0c8.1-.3,16.5-3.1,23.4-8.3,6.1-4.6,10.7-11.6,14.3-19.5l9-22.5,57.3-135.2h0s0,0,0,0c1.5-3.7,2.9-7.4,4.4-11.1,0,0,0,0,0-.1,2.6-6.4,5.6-6.4,5.6-6.4,0,0,9.5-2.4,29.6-2.4s30.5,1.6,31.1,2c.5.4,2.6.6,2.5,5.3h0Z"}),jsxRuntimeExports.jsx("path",{fill:"#fff",d:"M404,202.5h-.1l-7.5-23.9v-.2c0,0-8-25.1-8-25.1h0s-14.8-46.9-14.8-46.9c-2.8-8.3-5.2-16.9-12-15.5-12,2.6-18.9,22.6-24.6,38.3-1.4,3.7-2.8,7.8-3.6,12.2l1.8,2.2,47.8,58.8.5.6h-74.2c0,0-.1.2-.1.2l-5.4,12.5-1.2,2.7h106.6l-5.1-15.9h0ZM388.2,213.5h0s0,0,0,0h0Z"})]}),jsxRuntimeExports.jsxs("g",{children:[jsxRuntimeExports.jsx("path",{fill:"#fff",d:"M963.6,166.7c-6.2,0-10.7-1.6-13.7-4.8-3-3.2-4.4-7.3-4.4-12.2s1.5-9.2,4.4-12.5c3-3.2,7.5-4.8,13.7-4.8s10.7,1.6,13.7,4.8c3,3.2,4.4,7.4,4.4,12.5s-1.5,9-4.4,12.2c-3,3.2-7.5,4.8-13.7,4.8Z"}),jsxRuntimeExports.jsxs("g",{children:[jsxRuntimeExports.jsx("path",{fill:"#fff",d:"M682.6,182.1c-8.3-5.4-18.5-8.1-30.6-8.1s-17.4,1.6-24.6,4.8c-7.2,3.2-13.2,7.6-18.1,13.1-4.9,5.5-8.6,11.7-11.1,18.6-2.5,6.9-3.8,14.2-3.8,21.7v4.1c0,7.3,1.3,14.4,3.8,21.3s6.3,13.2,11.2,18.8c4.9,5.6,11.1,10.1,18.4,13.4,7.3,3.3,15.8,4.9,25.4,4.9s17.8-1.7,25.1-5c7.3-3.4,13.3-8,18.1-13.9,4.8-5.9,8-12.6,9.7-20.2h-30.3c-1.4,3.4-4,6.3-7.8,8.6-3.8,2.3-8.8,3.5-14.8,3.5s-11.9-1.4-16.1-4.1c-4.1-2.7-7.1-6.6-9.1-11.6-1.1-2.8-1.8-5.9-2.3-9.2h82.4v-11.1c0-10.3-2.2-19.8-6.6-28.5-4.4-8.7-10.7-15.8-19-21.2h0ZM628.4,216.1c2.1-5,5.1-8.8,9.1-11.3,4-2.5,8.8-3.8,14.6-3.8s10.3,1.3,14.1,3.8c3.8,2.5,6.6,6.2,8.4,10.9,1,2.5,1.7,5.4,2.2,8.5h-50.7c.5-3,1.3-5.7,2.3-8.1h0Z"}),jsxRuntimeExports.jsx("path",{fill:"#fff",d:"M791.6,174.4h-1.4c-8.7,0-16,1.9-22,5.8-6,3.8-10.5,9.6-13.5,17.3-1,2.7-1.9,5.7-2.6,8.9v-28.5h-26.3v112.8h33.2v-65.7c0-6.3,1.9-11.4,5.7-15.2,3.8-3.8,8.8-5.8,14.9-5.8s10.8,1.9,14.3,5.7c3.5,3.8,5.2,8.7,5.2,14.7v66.3h33.2v-64.4c0-17.4-3.5-30.4-10.4-39-6.9-8.6-17-12.9-30.2-12.9h0Z"}),jsxRuntimeExports.jsx("path",{fill:"#fff",d:"M890.3,147.4h-30.7v30.5h-17.3v24.3h17.2v44.5c0,11.4,1.6,20.4,4.8,27.1,3.3,6.7,8.4,11.4,15.4,14.3,7,2.9,16.2,4.3,27.6,4.3h15.8v-28h-16.7c-5.2,0-9.2-1.4-12-4.2-2.8-2.8-4.2-6.9-4.2-12.2v-45.7h32.9v-24.3h-32.9v-30.5h0Z"}),jsxRuntimeExports.jsx("polygon",{fill:"#fff",points:"983.8 177.9 950.6 177.9 950.6 177.9 943.5 177.9 935.7 202.3 950.6 202.3 950.6 290.7 983.8 290.7 983.8 202.4 983.8 202.4 983.8 177.9 983.8 177.9 983.8 177.9"}),jsxRuntimeExports.jsx("path",{fill:"#fff",d:"M1078.7,247.7c-.6,3.7-1.7,7-3.5,9.8-1.8,2.8-4.2,5-7.3,6.6-3.1,1.6-6.8,2.4-11.2,2.4s-10.7-1.3-14.3-4c-3.6-2.7-6.3-6.5-7.9-11.3s-2.5-10.3-2.5-16.4.9-12.1,2.7-17c1.8-4.9,4.5-8.7,8.1-11.4,3.6-2.7,8.2-4.1,13.7-4.1s11.5,1.8,15,5.2c3.6,3.5,5.6,7.9,6.2,13.1h32.3c-.6-9.2-3.2-17.3-7.8-24.3-4.7-7-10.9-12.5-18.7-16.4-7.8-3.9-16.8-5.9-27-5.9s-17.6,1.6-24.8,4.7c-7.2,3.2-13.2,7.5-18.1,13s-8.5,11.8-11,18.8c-2.5,7.1-3.7,14.4-3.7,22.1v3.9c0,7.4,1.2,14.6,3.6,21.5,2.4,6.9,6,13.1,10.8,18.6,4.8,5.5,10.8,9.9,17.9,13.2,7.1,3.3,15.7,4.9,25.5,4.9s19.2-2,27.2-6c8-4,14.3-9.5,19.2-16.6,4.8-7.1,7.4-15.3,7.8-24.6h-32.1,0Z"}),jsxRuntimeExports.jsx("path",{fill:"#fff",d:"M508.7,138l-9.8,30.6h43.8l.7.5c1.2.9,1.7,1.7,1.7,3.2,0,9.5-.1,19.1-.2,27.5-.2,11.7-.3,25-.1,37.6v.3c-1.6,17.5-16.8,27-30.2,27s-19.8-5.9-24.2-15.7c-4.8-10.6-1.3-20,2.2-26.9l1.5-3h-33l-.5,1.3c-5.2,13.1-5.1,27.6.4,41,5.9,14.5,17.6,26,32,31.4,7,2.6,14.3,4,21.6,4,15.8,0,31.1-6.2,43.1-17.4,12.1-11.4,19.4-26.6,20.6-43h0c0,0,0-98.4,0-98.4h-69.5,0Z"})]})]})]})]})}const views=["diagram","docs","split"],ViewModeControl=({value:te,onChange:ee,className:ne,style:xe})=>jsxRuntimeExports.jsx("div",{className:`arazzo-view-mode-control ${ne??""}`,style:{display:"inline-flex",borderRadius:"6px",border:"1px solid #444",overflow:"hidden",fontSize:"13px",...xe},children:views.map(rt=>jsxRuntimeExports.jsx("button",{onClick:()=>ee(rt),style:{padding:"4px 12px",border:"none",borderRight:rt!==views[views.length-1]?"1px solid #444":"none",background:te===rt?"#fff":"#2a2a2a",color:te===rt?"#1B1B1B":"#ccc",cursor:te===rt?"default":"pointer",fontWeight:te===rt?600:400,textTransform:"capitalize"},children:rt},rt))}),ArazzoUIStandalone$1=reactExports.forwardRef(function te(ee,ne){const{initialView:xe="docs",onViewChange:rt,...it}=ee,[At,lt]=reactExports.useState(xe),ut=new URLSearchParams(globalThis.location.search).get("document")||ee.document,[dt,ht]=reactExports.useState(typeof ut=="string"&&/^https?:\/\//i.test(ut)?ut:""),[pt,ft]=reactExports.useState(ut),mt=reactExports.useCallback(Et=>{lt(Et),rt==null||rt(Et)},[rt]),It=reactExports.useCallback(()=>{const Et=dt.trim();if(Et){ft(Et);const Bt=new URLSearchParams(globalThis.location.search);Bt.set("document",Et),globalThis.history.replaceState(null,"",`?${Bt.toString()}`)}},[dt]),Ct=reactExports.useCallback(Et=>{Et.key==="Enter"&&It()},[It]);return jsxRuntimeExports.jsxs("div",{className:`arazzo-ui-standalone ${ee.className??""}`,style:{display:"flex",flexDirection:"column",width:"100%",height:"100%",...ee.style},children:[jsxRuntimeExports.jsxs("div",{className:"arazzo-ui-toolbar",style:{position:"relative",height:"60px",padding:"0 16px",borderBottom:"1px solid #333",display:"flex",alignItems:"center",justifyContent:"center",background:"#1B1B1B"},children:[jsxRuntimeExports.jsx("a",{href:"https://jentic.com",target:"_blank",rel:"noopener noreferrer",title:"Supported by Jentic",style:{position:"absolute",left:"16px"},children:jsxRuntimeExports.jsx(JenticLogo,{style:{height:"36px"}})}),jsxRuntimeExports.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px",width:"520px"},children:[jsxRuntimeExports.jsx("input",{type:"text",value:dt,onChange:Et=>ht(Et.target.value),onKeyDown:Ct,placeholder:"Enter Arazzo document URL...",style:{flex:1,padding:"6px 12px",border:"1px solid #444",borderRadius:"6px",fontSize:"13px",outline:"none",background:"#2a2a2a",color:"#fff"}}),jsxRuntimeExports.jsx("button",{onClick:It,style:{padding:"6px 16px",border:"none",borderRadius:"6px",background:"#94C83D",color:"#fff",fontSize:"13px",cursor:"pointer",fontWeight:500,whiteSpace:"nowrap"},children:"Explore"})]}),jsxRuntimeExports.jsx("div",{style:{position:"absolute",right:"16px"},children:jsxRuntimeExports.jsx(ViewModeControl,{value:At,onChange:mt})})]}),jsxRuntimeExports.jsx("div",{style:{flex:1,minHeight:0},children:jsxRuntimeExports.jsx(ArazzoUI,{ref:ne,...it,document:pt,view:At,onViewChange:mt,className:void 0,style:void 0})})]})});function ArazzoUIStandalone(te){const{dom_id:ee,domNode:ne,...xe}=te,rt=ne??(ee?globalThis.document.querySelector(ee):null);if(!rt)throw new Error("ArazzoUIStandalone: provide either dom_id (CSS selector) or domNode (HTMLElement)");const it=reactExports.createRef(),At=clientExports.createRoot(rt);return At.render(React.createElement(ArazzoUIStandalone$1,{...xe,ref:it})),{unmount:()=>At.unmount(),getRef:()=>it.current}}const empty={},empty$1=Object.freeze(Object.defineProperty({__proto__:null,default:empty},Symbol.toStringTag,{value:"Module"}));class SourceLocation{constructor(ee,ne,xe){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=ee,this.start=ne,this.end=xe}static range(ee,ne){return ne?!ee||!ee.loc||!ne.loc||ee.loc.lexer!==ne.loc.lexer?null:new SourceLocation(ee.loc.lexer,ee.loc.start,ne.loc.end):ee&&ee.loc}}class Token{constructor(ee,ne){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=ee,this.loc=ne}range(ee,ne){return new Token(ne,SourceLocation.range(this,ee))}}class ParseError{constructor(ee,ne){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;var xe="KaTeX parse error: "+ee,rt,it,At=ne&&ne.loc;if(At&&At.start<=At.end){var lt=At.lexer.input;rt=At.start,it=At.end,rt===lt.length?xe+=" at end of input: ":xe+=" at position "+(rt+1)+": ";var ct=lt.slice(rt,it).replace(/[^]/g,"$&̲"),ut;rt>15?ut="…"+lt.slice(rt-15,rt):ut=lt.slice(0,rt);var dt;it+15<lt.length?dt=lt.slice(it,it+15)+"…":dt=lt.slice(it),xe+=ut+ct+dt}var ht=new Error(xe);return ht.name="ParseError",ht.__proto__=ParseError.prototype,ht.position=rt,rt!=null&&it!=null&&(ht.length=it-rt),ht.rawMessage=ee,ht}}ParseError.prototype.__proto__=Error.prototype;var deflt=function te(ee,ne){return ee===void 0?ne:ee},uppercase=/([A-Z])/g,hyphenate=function te(ee){return ee.replace(uppercase,"-$1").toLowerCase()},ESCAPE_LOOKUP={"&":"&amp;",">":"&gt;","<":"&lt;",'"':"&quot;","'":"&#x27;"},ESCAPE_REGEX=/[&><"']/g;function escape$1(te){return String(te).replace(ESCAPE_REGEX,ee=>ESCAPE_LOOKUP[ee])}var getBaseElem=function te(ee){return ee.type==="ordgroup"||ee.type==="color"?ee.body.length===1?te(ee.body[0]):ee:ee.type==="font"?te(ee.body):ee},isCharacterBox=function te(ee){var ne=getBaseElem(ee);return ne.type==="mathord"||ne.type==="textord"||ne.type==="atom"},assert=function te(ee){if(!ee)throw new Error("Expected non-null, but got "+String(ee));return ee},protocolFromUrl=function te(ee){var ne=/^[\x00-\x20]*([^\\/#?]*?)(:|&#0*58|&#x0*3a|&colon)/i.exec(ee);return ne?ne[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(ne[1])?null:ne[1].toLowerCase():"_relative"},utils={deflt,escape:escape$1,hyphenate,getBaseElem,isCharacterBox,protocolFromUrl},SETTINGS_SCHEMA={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format <type>"},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color <color>",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:te=>"#"+te},macros:{type:"object",cli:"-m, --macro <def>",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(te,ee)=>(ee.push(te),ee)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:te=>Math.max(0,te),cli:"--min-rule-thickness <size>",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:te=>Math.max(0,te),cli:"-s, --max-size <n>",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:te=>Math.max(0,te),cli:"-e, --max-expand <n>",cliProcessor:te=>te==="Infinity"?1/0:parseInt(te)},globalGroup:{type:"boolean",cli:!1}};function getDefaultValue(te){if(te.default)return te.default;var ee=te.type,ne=Array.isArray(ee)?ee[0]:ee;if(typeof ne!="string")return ne.enum[0];switch(ne){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class Settings{constructor(ee){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,ee=ee||{};for(var ne in SETTINGS_SCHEMA)if(SETTINGS_SCHEMA.hasOwnProperty(ne)){var xe=SETTINGS_SCHEMA[ne];this[ne]=ee[ne]!==void 0?xe.processor?xe.processor(ee[ne]):ee[ne]:getDefaultValue(xe)}}reportNonstrict(ee,ne,xe){var rt=this.strict;if(typeof rt=="function"&&(rt=rt(ee,ne,xe)),!(!rt||rt==="ignore")){if(rt===!0||rt==="error")throw new ParseError("LaTeX-incompatible input and strict mode is set to 'error': "+(ne+" ["+ee+"]"),xe);rt==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(ne+" ["+ee+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+rt+"': "+ne+" ["+ee+"]"))}}useStrictBehavior(ee,ne,xe){var rt=this.strict;if(typeof rt=="function")try{rt=rt(ee,ne,xe)}catch{rt="error"}return!rt||rt==="ignore"?!1:rt===!0||rt==="error"?!0:rt==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(ne+" ["+ee+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+rt+"': "+ne+" ["+ee+"]")),!1)}isTrusted(ee){if(ee.url&&!ee.protocol){var ne=utils.protocolFromUrl(ee.url);if(ne==null)return!1;ee.protocol=ne}var xe=typeof this.trust=="function"?this.trust(ee):this.trust;return!!xe}}class Style{constructor(ee,ne,xe){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=ee,this.size=ne,this.cramped=xe}sup(){return styles$2[sup[this.id]]}sub(){return styles$2[sub[this.id]]}fracNum(){return styles$2[fracNum[this.id]]}fracDen(){return styles$2[fracDen[this.id]]}cramp(){return styles$2[cramp[this.id]]}text(){return styles$2[text$1[this.id]]}isTight(){return this.size>=2}}var D=0,Dc=1,T=2,Tc=3,S=4,Sc=5,SS=6,SSc=7,styles$2=[new Style(D,0,!1),new Style(Dc,0,!0),new Style(T,1,!1),new Style(Tc,1,!0),new Style(S,2,!1),new Style(Sc,2,!0),new Style(SS,3,!1),new Style(SSc,3,!0)],sup=[S,Sc,S,Sc,SS,SSc,SS,SSc],sub=[Sc,Sc,Sc,Sc,SSc,SSc,SSc,SSc],fracNum=[T,Tc,S,Sc,SS,SSc,SS,SSc],fracDen=[Tc,Tc,Sc,Sc,SSc,SSc,SSc,SSc],cramp=[Dc,Dc,Tc,Tc,Sc,Sc,SSc,SSc],text$1=[D,Dc,T,Tc,T,Tc,T,Tc],Style$1={DISPLAY:styles$2[D],TEXT:styles$2[T],SCRIPT:styles$2[S],SCRIPTSCRIPT:styles$2[SS]},scriptData=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function scriptFromCodepoint(te){for(var ee=0;ee<scriptData.length;ee++)for(var ne=scriptData[ee],xe=0;xe<ne.blocks.length;xe++){var rt=ne.blocks[xe];if(te>=rt[0]&&te<=rt[1])return ne.name}return null}var allBlocks=[];scriptData.forEach(te=>te.blocks.forEach(ee=>allBlocks.push(...ee)));function supportedCodepoint(te){for(var ee=0;ee<allBlocks.length;ee+=2)if(te>=allBlocks[ee]&&te<=allBlocks[ee+1])return!0;return!1}var hLinePad=80,sqrtMain=function te(ee,ne){return"M95,"+(622+ee+ne)+`
1631
1631
  c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14
1632
1632
  c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54
1633
1633
  c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10
@@ -3811,7 +3811,7 @@ function generateMetadata(document2) {
3811
3811
  };
3812
3812
  }
3813
3813
  function sourceIcon(type) {
3814
- const color = type === "openapi" ? "#49cc90" : "#61affe";
3814
+ const color = type === "openapi" ? "#6BA543" : "#94C83D";
3815
3815
  return `<svg class="source-icon" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="1" y="1" width="12" height="12" rx="3" fill="${color}" opacity="0.15" stroke="${color}" stroke-width="1"/><circle cx="7" cy="7" r="2" fill="${color}"/></svg>`;
3816
3816
  }
3817
3817
  function formatHeaderAsMarkdown(metadata, options = {}) {
@@ -3820,14 +3820,17 @@ function formatHeaderAsMarkdown(metadata, options = {}) {
3820
3820
  sections.push(
3821
3821
  `<div style="display: flex; align-items: flex-start; gap: 10px; margin-bottom: ${metadata.documentURL ? "8px" : "20px"}; flex-wrap: wrap;">`
3822
3822
  );
3823
+ sections.push(
3824
+ `<svg xmlns="http://www.w3.org/2000/svg" viewBox="215 -5 380 380" style="width: 2.25rem; height: 2.25rem; flex-shrink: 0;"><path fill="#94C83D" d="M268.3,78.8c26.8,0,48.6,21.7,48.6,48.6c0,7.3-1.6,14.1-4.4,20.3c-1.1,2.4-0.8,5.3,1.1,7.1l77.9,78.2c1.3,1.3,1.3,3.4,0,4.6l-12.8,12.9c-1.3,1.3-3.4,1.3-4.6,0l-42.1-41.9c-3.8-3.8-10-3.8-13.9,0l-4.9,4.8c-1.9,1.9-2.2,4.8-1.1,7.3c3,6.2,4.8,13.1,4.8,20.3c0,26.8-21.7,48.6-48.6,48.6c-26.8,0-48.6-21.7-48.6-48.6c0-26.8,21.7-48.6,48.6-48.6c7.1,0,14,1.7,20.3,4.8c2.4,1.2,5.4,0.9,7.3-1.1l4.8-4.8c3.8-3.8,3.8-10.1,0-13.9l-4.8-4.8c-1.9-1.9-4.7-2.2-7.1-1.1c-6.2,2.9-13.1,4.4-20.3,4.4c-26.8,0-48.6-21.7-48.6-48.6C219.8,100.5,241.5,78.8,268.3,78.8z"/><path fill="#6BA543" d="M460.7,271.2c26.8,0,48.6,21.7,48.6,48.6c0,26.8-21.7,48.6-48.6,48.6c-26.8,0-48.6-21.7-48.6-48.6c0-7.1,4-16.3,7.1-22.6c1.2-2.4-1.5-3-3.4-4.9l-5-5c-3.8-3.8-10-3.8-13.9,0l-5,5c-1.9,1.9-2.2,4.8-1.1,7.3c3,6.2,4.8,13.1,4.8,20.3c0,26.8-21.7,48.6-48.6,48.6c-26.8,0-48.6-21.7-48.6-48.6c0-26.8,21.7-48.6,48.6-48.6c7.1,0,14,1.7,20.3,4.8c2.4,1.2,5.4,0.8,7.3-1.1l77.7-78c1.3-1.3,3.4-1.3,4.6,0l13,13c1.3,1.3,1.3,3.4,0,4.6l-41.7,41.6c-3.8,3.8-3.9,10.1,0,13.9l4.9,4.9c1.9,1.9,4.8,2.2,7.3,1.1C446.7,272.9,453.5,271.2,460.7,271.2z"/><path fill="#94C83D" d="M539.5,192.4c26.8,0,48.6,21.7,48.6,48.6s-21.7,48.6-48.6,48.6c-26.8,0-48.6-21.7-48.6-48.6c0-7.1,1.7-14,4.8-20.3c1.2-2.4,0.9-5.4-1.1-7.3l-78.4-78.1c-1.3-1.3-1.3-3.4,0-4.6l13-13c1.3-1.3,3.4-1.3,4.6,0l44.1,44.2c2.6,2.6,6.7,2.6,9.3,0l7.1-7.1c1.9-1.9,2.2-4.7,1.1-7.1c-2.9-6.2-4.4-13.1-4.4-20.3c0-26.8,21.7-48.6,48.6-48.6c26.8,0,48.6,21.7,48.6,48.6s-21.7,48.6-48.6,48.6c-7.3,0-14.1-1.6-20.3-4.4c-2.4-1.1-5.3-0.8-7.1,1.1l-4.8,4.8c-3.8,3.8-3.9,10.1,0,13.9l4.8,4.8c1.9,1.9,4.8,2.2,7.3,1.1C525.5,194.1,532.4,192.4,539.5,192.4z"/><path fill="#6BA543" d="M347.1,0c26.8,0,48.6,21.7,48.6,48.6c0,7.3-1.6,14.1-4.4,20.3c-1.1,2.4-0.8,5.3,1.1,7.1l6.9,6.9c2.6,2.6,6.7,2.6,9.3,0l6.9-7c1.9-1.9,2.2-4.7,1.1-7.1c-2.9-6.2-4.4-13.1-4.4-20.3c0-26.8,21.7-48.6,48.6-48.6c26.8,0,48.6,21.7,48.6,48.6c0,26.8-21.7,48.6-48.6,48.6c-7.3,0-14.1-1.6-20.3-4.4c-2.4-1.1-5.3-0.8-7.1,1.1l-78.1,77.8c-1.3,1.3-3.4,1.3-4.6,0l-12.8-12.8c-1.3-1.3-1.3-3.4,0-4.6l44-44.1c2.6-2.6,2.5-6.7,0-9.3l-7-7c-1.9-1.9-4.7-2.2-7.1-1.1c-6.2,2.9-13.1,4.4-20.3,4.4c-26.8,0-48.6-21.7-48.6-48.6C298.6,21.8,320.3,0,347.1,0z"/></svg>`
3825
+ );
3823
3826
  sections.push(
3824
3827
  `<h1 style="margin: 0; font-size: 2.25rem; font-weight: 700; color: #111827; line-height: 1;">${metadata.title}</h1>`
3825
3828
  );
3826
3829
  sections.push(
3827
- `<span class="version-badge spec-version" title="Document version">${metadata.version}</span>`
3830
+ `<span class="version-badge doc-version" title="Document version">${metadata.version}</span>`
3828
3831
  );
3829
3832
  sections.push(
3830
- `<span class="version-badge doc-version" title="Arazzo Specification version">Arazzo ${metadata.arazzoVersion || "1.0.1"}</span>`
3833
+ `<span class="version-badge spec-version" title="Arazzo Specification version">Arazzo ${metadata.arazzoVersion || "1.0.1"}</span>`
3831
3834
  );
3832
3835
  sections.push(`</div>
3833
3836
  `);
@@ -3926,7 +3929,7 @@ function formatWorkflowAsMarkdown(metadata, workflow) {
3926
3929
  opHtml = `<span class="timeline-operation-group">${sourceIcon(type)}<span class="timeline-source">${source}</span><span class="timeline-op-name">${operation}</span></span>`;
3927
3930
  } else {
3928
3931
  const defaultType = metadata.sourceDescriptions.length > 0 ? metadata.sourceDescriptions[0].type || "arazzo" : "arazzo";
3929
- const color = defaultType === "openapi" ? "#49cc90" : "#61affe";
3932
+ const color = defaultType === "openapi" ? "#6BA543" : "#94C83D";
3930
3933
  opHtml = `<span class="step-op-ref" style="color: ${color}">${step.operationId}</span>`;
3931
3934
  }
3932
3935
  } else if (step.operationPath) {
@@ -4518,7 +4521,7 @@ const DocsView = () => {
4518
4521
  }
4519
4522
 
4520
4523
  .workflow-details[open] {
4521
- border-color: #93c5fd;
4524
+ border-color: #94C83D;
4522
4525
  }
4523
4526
 
4524
4527
  .workflow-summary-bar {
@@ -4529,7 +4532,7 @@ const DocsView = () => {
4529
4532
  cursor: pointer;
4530
4533
  user-select: none;
4531
4534
  list-style: none;
4532
- background: #eef6ff;
4535
+ background: #f3fae8;
4533
4536
  transition: background 0.15s;
4534
4537
  }
4535
4538
 
@@ -4540,7 +4543,7 @@ const DocsView = () => {
4540
4543
  .workflow-summary-bar::before {
4541
4544
  content: '▶';
4542
4545
  font-size: 10px;
4543
- color: #61affe;
4546
+ color: #6BA543;
4544
4547
  transition: transform 0.15s;
4545
4548
  flex-shrink: 0;
4546
4549
  }
@@ -4550,7 +4553,7 @@ const DocsView = () => {
4550
4553
  }
4551
4554
 
4552
4555
  .workflow-summary-bar:hover {
4553
- background: #e0f0ff;
4556
+ background: #ecf5dc;
4554
4557
  }
4555
4558
 
4556
4559
  .workflow-summary-title {
@@ -4672,8 +4675,8 @@ const DocsView = () => {
4672
4675
  }
4673
4676
 
4674
4677
  .source-card:hover {
4675
- border-color: #93c5fd;
4676
- box-shadow: 0 2px 8px rgba(59, 130, 246, 0.1);
4678
+ border-color: #94C83D;
4679
+ box-shadow: 0 2px 8px rgba(107, 165, 67, 0.15);
4677
4680
  }
4678
4681
 
4679
4682
  .source-card-top {
@@ -4693,12 +4696,12 @@ const DocsView = () => {
4693
4696
  }
4694
4697
 
4695
4698
  .source-type-openapi {
4696
- background: #49cc90;
4699
+ background: #6BA543;
4697
4700
  color: #fff;
4698
4701
  }
4699
4702
 
4700
4703
  .source-type-arazzo {
4701
- background: #61affe;
4704
+ background: #94C83D;
4702
4705
  color: #fff;
4703
4706
  }
4704
4707
 
@@ -4762,18 +4765,18 @@ const DocsView = () => {
4762
4765
  width: 24px;
4763
4766
  height: 24px;
4764
4767
  border-radius: 50%;
4765
- background: #fef3c7;
4766
- border: 1px solid #fde68a;
4768
+ background: #e8f5d3;
4769
+ border: 1px solid #94C83D;
4767
4770
  flex-shrink: 0;
4768
4771
  font-size: 11px;
4769
4772
  font-weight: 700;
4770
- color: #92400e;
4773
+ color: #6BA543;
4771
4774
  }
4772
4775
 
4773
4776
  .timeline-line {
4774
4777
  width: 2px;
4775
4778
  flex: 1;
4776
- background: #fde68a;
4779
+ background: #94C83D;
4777
4780
  margin: 4px 0;
4778
4781
  }
4779
4782
 
@@ -4833,8 +4836,8 @@ const DocsView = () => {
4833
4836
  font-size: 11px;
4834
4837
  padding: 2px 6px;
4835
4838
  border-radius: 4px;
4836
- background: #dbeafe;
4837
- color: #1e40af;
4839
+ background: #e8f5d3;
4840
+ color: #6BA543;
4838
4841
  font-weight: 600;
4839
4842
  }
4840
4843
 
@@ -4866,8 +4869,8 @@ const DocsView = () => {
4866
4869
 
4867
4870
  .timeline-op-name {
4868
4871
  padding: 3px 6px;
4869
- background: #dbeafe;
4870
- color: #1e40af;
4872
+ background: #e8f5d3;
4873
+ color: #6BA543;
4871
4874
  }
4872
4875
 
4873
4876
  .source-card-top .source-icon {
@@ -5079,7 +5082,7 @@ const DocsView = () => {
5079
5082
  }
5080
5083
 
5081
5084
  .spec-version {
5082
- background: #49cc90;
5085
+ background: #94C83D;
5083
5086
  color: #fff;
5084
5087
  }
5085
5088
 
@@ -5094,9 +5097,9 @@ const DocsView = () => {
5094
5097
  border-radius: 6px;
5095
5098
  font-size: 12px;
5096
5099
  font-weight: 600;
5097
- background: #fef3c7;
5098
- color: #92400e;
5099
- border: 1px solid #fde68a;
5100
+ background: #94C83D;
5101
+ color: #fff;
5102
+ border: 1px solid #6BA543;
5100
5103
  }
5101
5104
 
5102
5105
  .operation-badge {
@@ -5105,8 +5108,8 @@ const DocsView = () => {
5105
5108
  border-radius: 4px;
5106
5109
  font-size: 11px;
5107
5110
  font-weight: 600;
5108
- background: #dbeafe;
5109
- color: #1e40af;
5111
+ background: #e8f5d3;
5112
+ color: #6BA543;
5110
5113
  }
5111
5114
 
5112
5115
  /* Action badges (END, GOTO, RETRY) */
@@ -5505,10 +5508,12 @@ const ArazzoUIStandalone = forwardRef(
5505
5508
  function ArazzoUIStandalone2(props, ref) {
5506
5509
  const { initialView = "docs", onViewChange, ...rest } = props;
5507
5510
  const [view, setView] = useState(initialView);
5511
+ const documentParam = new URLSearchParams(globalThis.location.search).get("document");
5512
+ const initialDocument = documentParam || props.document;
5508
5513
  const [urlInput, setUrlInput] = useState(
5509
- typeof props.document === "string" && /^https?:\/\//i.test(props.document) ? props.document : ""
5514
+ typeof initialDocument === "string" && /^https?:\/\//i.test(initialDocument) ? initialDocument : ""
5510
5515
  );
5511
- const [documentSource, setDocumentSource] = useState(props.document);
5516
+ const [documentSource, setDocumentSource] = useState(initialDocument);
5512
5517
  const handleViewChange = useCallback(
5513
5518
  (v) => {
5514
5519
  setView(v);
@@ -5520,6 +5525,9 @@ const ArazzoUIStandalone = forwardRef(
5520
5525
  const trimmed = urlInput.trim();
5521
5526
  if (trimmed) {
5522
5527
  setDocumentSource(trimmed);
5528
+ const params = new URLSearchParams(globalThis.location.search);
5529
+ params.set("document", trimmed);
5530
+ globalThis.history.replaceState(null, "", `?${params.toString()}`);
5523
5531
  }
5524
5532
  }, [urlInput]);
5525
5533
  const handleKeyDown = useCallback(
@@ -5606,7 +5614,7 @@ const ArazzoUIStandalone = forwardRef(
5606
5614
  padding: "6px 16px",
5607
5615
  border: "none",
5608
5616
  borderRadius: "6px",
5609
- background: "#61affe",
5617
+ background: "#94C83D",
5610
5618
  color: "#fff",
5611
5619
  fontSize: "13px",
5612
5620
  cursor: "pointer",
package/dist/arazzo-ui.js CHANGED
@@ -931,7 +931,7 @@ ${te.themeCSS}`),te.fontFamily!==void 0&&(ne+=`
931
931
  ${IFRAME_NOT_SUPPORTED_MSG}
932
932
  </iframe>`},"putIntoIFrame"),appendDivSvgG=__name$1((te,ee,ne,xe,rt)=>{const it=te.append("div");it.attr("id",ne),xe&&it.attr("style",xe);const At=it.append("svg").attr("id",ee).attr("width","100%").attr("xmlns",XMLNS_SVG_STD);return rt&&At.attr("xmlns:xlink",rt),At.append("g"),te},"appendDivSvgG");function sandboxedIframe(te,ee){return te.append("iframe").attr("id",ee).attr("style","width: 100%; height: 100%;").attr("sandbox","")}__name$1(sandboxedIframe,"sandboxedIframe");var removeExistingElements=__name$1((te,ee,ne,xe)=>{var rt,it,At;(rt=te.getElementById(ee))==null||rt.remove(),(it=te.getElementById(ne))==null||it.remove(),(At=te.getElementById(xe))==null||At.remove()},"removeExistingElements"),render$3=__name$1(async function(te,ee,ne){var Ot,Ut,xt,kt,Lt,$t;addDiagrams();const xe=processAndSetConfigs(ee);ee=xe.code;const rt=getConfig();log.debug(rt),ee.length>((rt==null?void 0:rt.maxTextSize)??MAX_TEXTLENGTH)&&(ee=MAX_TEXTLENGTH_EXCEEDED_MSG);const it="#"+te,At="i"+te,lt="#"+At,ct="d"+te,ut="#"+ct,dt=__name$1(()=>{const Pt=select(pt?lt:ut).node();Pt&&"remove"in Pt&&Pt.remove()},"removeTempElements");let ht=select("body");const pt=rt.securityLevel===SECURITY_LVL_SANDBOX,ft=rt.securityLevel===SECURITY_LVL_LOOSE,mt=rt.fontFamily;if(ne!==void 0){if(ne&&(ne.innerHTML=""),pt){const Mt=sandboxedIframe(select(ne),At);ht=select(Mt.nodes()[0].contentDocument.body),ht.node().style.margin=0}else ht=select(ne);appendDivSvgG(ht,te,ct,`font-family: ${mt}`,XMLNS_XLINK_STD)}else{if(removeExistingElements(document,te,ct,At),pt){const Mt=sandboxedIframe(select("body"),At);ht=select(Mt.nodes()[0].contentDocument.body),ht.node().style.margin=0}else ht=select("body");appendDivSvgG(ht,te,ct)}let It,Ct;try{It=await Diagram.fromText(ee,{title:xe.title})}catch(Mt){if(rt.suppressErrorRendering)throw dt(),Mt;It=await Diagram.fromText("error"),Ct=Mt}const Et=ht.select(ut).node(),Bt=It.type,vt=Et.firstChild,wt=vt.firstChild,St=(Ut=(Ot=It.renderer).getClasses)==null?void 0:Ut.call(Ot,ee,It),_t=createUserStyles(rt,Bt,St,it),bt=document.createElement("style");bt.innerHTML=_t,vt.insertBefore(bt,wt);try{await It.renderer.draw(ee,te,package_default.version,It)}catch(Mt){throw rt.suppressErrorRendering?dt():errorRenderer_default.draw(ee,te,package_default.version),Mt}const Dt=ht.select(`${ut} svg`),Nt=(kt=(xt=It.db).getAccTitle)==null?void 0:kt.call(xt),Rt=($t=(Lt=It.db).getAccDescription)==null?void 0:$t.call(Lt);addA11yInfo(Bt,Dt,Nt,Rt),ht.select(`[id="${te}"]`).selectAll("foreignobject > *").attr("xmlns",XMLNS_XHTML_STD);let Tt=ht.select(ut).node().innerHTML;if(log.debug("config.arrowMarkerAbsolute",rt.arrowMarkerAbsolute),Tt=cleanUpSvgCode(Tt,pt,evaluate(rt.arrowMarkerAbsolute)),pt){const Mt=ht.select(ut+" svg").node();Tt=putIntoIFrame(Tt,Mt)}else ft||(Tt=purify.sanitize(Tt,{ADD_TAGS:DOMPURIFY_TAGS,ADD_ATTR:DOMPURIFY_ATTR,HTML_INTEGRATION_POINTS:{foreignobject:!0}}));if(attachFunctions(),Ct)throw Ct;return dt(),{diagramType:Bt,svg:Tt,bindFunctions:It.db.bindFunctions}},"render");function initialize(te={}){var xe;const ee=assignWithDepth_default({},te);ee!=null&&ee.fontFamily&&!((xe=ee.themeVariables)!=null&&xe.fontFamily)&&(ee.themeVariables||(ee.themeVariables={}),ee.themeVariables.fontFamily=ee.fontFamily),saveConfigFromInitialize(ee),ee!=null&&ee.theme&&ee.theme in themes_default?ee.themeVariables=themes_default[ee.theme].getThemeVariables(ee.themeVariables):ee&&(ee.themeVariables=themes_default.default.getThemeVariables(ee.themeVariables));const ne=typeof ee=="object"?setSiteConfig(ee):getSiteConfig();setLogLevel(ne.logLevel),addDiagrams()}__name$1(initialize,"initialize");var getDiagramFromText=__name$1((te,ee={})=>{const{code:ne}=preprocessDiagram(te);return Diagram.fromText(ne,ee)},"getDiagramFromText");function addA11yInfo(te,ee,ne,xe){setA11yDiagramInfo(ee,te),addSVGa11yTitleDescription(ee,ne,xe,ee.attr("id"))}__name$1(addA11yInfo,"addA11yInfo");var mermaidAPI=Object.freeze({render:render$3,parse:parse$2,getDiagramFromText,initialize,getConfig,setConfig,getSiteConfig,updateSiteConfig,reset:__name$1(()=>{reset$1()},"reset"),globalReset:__name$1(()=>{reset$1(defaultConfig$1)},"globalReset"),defaultConfig:defaultConfig$1});setLogLevel(getConfig().logLevel),reset$1(getConfig());var handleError=__name$1((te,ee,ne)=>{log.warn(te),isDetailedError(te)?(ne&&ne(te.str,te.hash),ee.push({...te,message:te.str,error:te})):(ne&&ne(te),te instanceof Error&&ee.push({str:te.message,message:te.message,hash:te.name,error:te}))},"handleError"),run$3=__name$1(async function(te={querySelector:".mermaid"}){try{await runThrowsErrors(te)}catch(ee){if(isDetailedError(ee)&&log.error(ee.str),mermaid.parseError&&mermaid.parseError(ee),!te.suppressErrors)throw log.error("Use the suppressErrors option to suppress these errors"),ee}},"run"),runThrowsErrors=__name$1(async function({postRenderCallback:te,querySelector:ee,nodes:ne}={querySelector:".mermaid"}){const xe=mermaidAPI.getConfig();log.debug(`${te?"":"No "}Callback function found`);let rt;if(ne)rt=ne;else if(ee)rt=document.querySelectorAll(ee);else throw new Error("Nodes and querySelector are both undefined");log.debug(`Found ${rt.length} diagrams`),(xe==null?void 0:xe.startOnLoad)!==void 0&&(log.debug("Start On Load: "+(xe==null?void 0:xe.startOnLoad)),mermaidAPI.updateSiteConfig({startOnLoad:xe==null?void 0:xe.startOnLoad}));const it=new utils_default.InitIDGenerator(xe.deterministicIds,xe.deterministicIDSeed);let At;const lt=[];for(const ct of Array.from(rt)){if(log.info("Rendering diagram: "+ct.id),ct.getAttribute("data-processed"))continue;ct.setAttribute("data-processed","true");const ut=`mermaid-${it.next()}`;At=ct.innerHTML,At=dedent(utils_default.entityDecode(At)).trim().replace(/<br\s*\/?>/gi,"<br/>");const dt=utils_default.detectInit(At);dt&&log.debug("Detected early reinit: ",dt);try{const{svg:ht,bindFunctions:pt}=await render2$1(ut,At,ct);ct.innerHTML=ht,te&&await te(ut),pt&&pt(ct)}catch(ht){handleError(ht,lt,mermaid.parseError)}}if(lt.length>0)throw lt[0]},"runThrowsErrors"),initialize2=__name$1(function(te){mermaidAPI.initialize(te)},"initialize"),init=__name$1(async function(te,ee,ne){log.warn("mermaid.init is deprecated. Please use run instead."),te&&initialize2(te);const xe={postRenderCallback:ne,querySelector:".mermaid"};typeof ee=="string"?xe.querySelector=ee:ee&&(ee instanceof HTMLElement?xe.nodes=[ee]:xe.nodes=ee),await run$3(xe)},"init"),registerExternalDiagrams=__name$1(async(te,{lazyLoad:ee=!0}={})=>{addDiagrams(),registerLazyLoadedDiagrams(...te),ee===!1&&await loadRegisteredDiagrams()},"registerExternalDiagrams"),contentLoaded=__name$1(function(){if(mermaid.startOnLoad){const{startOnLoad:te}=mermaidAPI.getConfig();te&&mermaid.run().catch(ee=>log.error("Mermaid failed to initialize",ee))}},"contentLoaded");typeof document<"u"&&window.addEventListener("load",contentLoaded,!1);var setParseErrorHandler=__name$1(function(te){mermaid.parseError=te},"setParseErrorHandler"),executionQueue=[],executionQueueRunning=!1,executeQueue=__name$1(async()=>{if(!executionQueueRunning){for(executionQueueRunning=!0;executionQueue.length>0;){const te=executionQueue.shift();if(te)try{await te()}catch(ee){log.error("Error executing queue",ee)}}executionQueueRunning=!1}},"executeQueue"),parse2=__name$1(async(te,ee)=>new Promise((ne,xe)=>{const rt=__name$1(()=>new Promise((it,At)=>{mermaidAPI.parse(te,ee).then(lt=>{it(lt),ne(lt)},lt=>{var ct;log.error("Error parsing",lt),(ct=mermaid.parseError)==null||ct.call(mermaid,lt),At(lt),xe(lt)})}),"performCall");executionQueue.push(rt),executeQueue().catch(xe)}),"parse"),render2$1=__name$1((te,ee,ne)=>new Promise((xe,rt)=>{const it=__name$1(()=>new Promise((At,lt)=>{mermaidAPI.render(te,ee,ne).then(ct=>{At(ct),xe(ct)},ct=>{var ut;log.error("Error parsing",ct),(ut=mermaid.parseError)==null||ut.call(mermaid,ct),lt(ct),rt(ct)})}),"performCall");executionQueue.push(it),executeQueue().catch(rt)}),"render"),getRegisteredDiagramsMetadata=__name$1(()=>Object.keys(detectors).map(te=>({id:te})),"getRegisteredDiagramsMetadata"),mermaid={startOnLoad:!0,mermaidAPI,parse:parse2,render:render2$1,init,run:run$3,registerExternalDiagrams,registerLayoutLoaders,initialize:initialize2,parseError:void 0,contentLoaded,setParseErrorHandler,detectType:detectType$1,registerIconPacks,getRegisteredDiagramsMetadata},mermaid_default=mermaid;/*! Check if previously processed *//*!
933
933
  * Wait for document loaded before starting the execution
934
- */function generateMetadata(te){return{title:te.info.title,version:te.info.version,arazzoVersion:te.arazzo,summary:te.info.summary,description:te.info.description,sourceDescriptions:(te.sourceDescriptions||[]).map(ee=>({name:ee.name,url:ee.url,type:ee.type}))}}function sourceIcon(te){const ee=te==="openapi"?"#49cc90":"#61affe";return`<svg class="source-icon" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="1" y="1" width="12" height="12" rx="3" fill="${ee}" opacity="0.15" stroke="${ee}" stroke-width="1"/><circle cx="7" cy="7" r="2" fill="${ee}"/></svg>`}function formatHeaderAsMarkdown(te,ee={}){const{includeMetadata:ne=!0}=ee,xe=[];return xe.push(`<div style="display: flex; align-items: flex-start; gap: 10px; margin-bottom: ${te.documentURL?"8px":"20px"}; flex-wrap: wrap;">`),xe.push(`<h1 style="margin: 0; font-size: 2.25rem; font-weight: 700; color: #111827; line-height: 1;">${te.title}</h1>`),xe.push(`<span class="version-badge spec-version" title="Document version">${te.version}</span>`),xe.push(`<span class="version-badge doc-version" title="Arazzo Specification version">Arazzo ${te.arazzoVersion||"1.0.1"}</span>`),xe.push(`</div>
934
+ */function generateMetadata(te){return{title:te.info.title,version:te.info.version,arazzoVersion:te.arazzo,summary:te.info.summary,description:te.info.description,sourceDescriptions:(te.sourceDescriptions||[]).map(ee=>({name:ee.name,url:ee.url,type:ee.type}))}}function sourceIcon(te){const ee=te==="openapi"?"#6BA543":"#94C83D";return`<svg class="source-icon" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="1" y="1" width="12" height="12" rx="3" fill="${ee}" opacity="0.15" stroke="${ee}" stroke-width="1"/><circle cx="7" cy="7" r="2" fill="${ee}"/></svg>`}function formatHeaderAsMarkdown(te,ee={}){const{includeMetadata:ne=!0}=ee,xe=[];return xe.push(`<div style="display: flex; align-items: flex-start; gap: 10px; margin-bottom: ${te.documentURL?"8px":"20px"}; flex-wrap: wrap;">`),xe.push('<svg xmlns="http://www.w3.org/2000/svg" viewBox="215 -5 380 380" style="width: 2.25rem; height: 2.25rem; flex-shrink: 0;"><path fill="#94C83D" d="M268.3,78.8c26.8,0,48.6,21.7,48.6,48.6c0,7.3-1.6,14.1-4.4,20.3c-1.1,2.4-0.8,5.3,1.1,7.1l77.9,78.2c1.3,1.3,1.3,3.4,0,4.6l-12.8,12.9c-1.3,1.3-3.4,1.3-4.6,0l-42.1-41.9c-3.8-3.8-10-3.8-13.9,0l-4.9,4.8c-1.9,1.9-2.2,4.8-1.1,7.3c3,6.2,4.8,13.1,4.8,20.3c0,26.8-21.7,48.6-48.6,48.6c-26.8,0-48.6-21.7-48.6-48.6c0-26.8,21.7-48.6,48.6-48.6c7.1,0,14,1.7,20.3,4.8c2.4,1.2,5.4,0.9,7.3-1.1l4.8-4.8c3.8-3.8,3.8-10.1,0-13.9l-4.8-4.8c-1.9-1.9-4.7-2.2-7.1-1.1c-6.2,2.9-13.1,4.4-20.3,4.4c-26.8,0-48.6-21.7-48.6-48.6C219.8,100.5,241.5,78.8,268.3,78.8z"/><path fill="#6BA543" d="M460.7,271.2c26.8,0,48.6,21.7,48.6,48.6c0,26.8-21.7,48.6-48.6,48.6c-26.8,0-48.6-21.7-48.6-48.6c0-7.1,4-16.3,7.1-22.6c1.2-2.4-1.5-3-3.4-4.9l-5-5c-3.8-3.8-10-3.8-13.9,0l-5,5c-1.9,1.9-2.2,4.8-1.1,7.3c3,6.2,4.8,13.1,4.8,20.3c0,26.8-21.7,48.6-48.6,48.6c-26.8,0-48.6-21.7-48.6-48.6c0-26.8,21.7-48.6,48.6-48.6c7.1,0,14,1.7,20.3,4.8c2.4,1.2,5.4,0.8,7.3-1.1l77.7-78c1.3-1.3,3.4-1.3,4.6,0l13,13c1.3,1.3,1.3,3.4,0,4.6l-41.7,41.6c-3.8,3.8-3.9,10.1,0,13.9l4.9,4.9c1.9,1.9,4.8,2.2,7.3,1.1C446.7,272.9,453.5,271.2,460.7,271.2z"/><path fill="#94C83D" d="M539.5,192.4c26.8,0,48.6,21.7,48.6,48.6s-21.7,48.6-48.6,48.6c-26.8,0-48.6-21.7-48.6-48.6c0-7.1,1.7-14,4.8-20.3c1.2-2.4,0.9-5.4-1.1-7.3l-78.4-78.1c-1.3-1.3-1.3-3.4,0-4.6l13-13c1.3-1.3,3.4-1.3,4.6,0l44.1,44.2c2.6,2.6,6.7,2.6,9.3,0l7.1-7.1c1.9-1.9,2.2-4.7,1.1-7.1c-2.9-6.2-4.4-13.1-4.4-20.3c0-26.8,21.7-48.6,48.6-48.6c26.8,0,48.6,21.7,48.6,48.6s-21.7,48.6-48.6,48.6c-7.3,0-14.1-1.6-20.3-4.4c-2.4-1.1-5.3-0.8-7.1,1.1l-4.8,4.8c-3.8,3.8-3.9,10.1,0,13.9l4.8,4.8c1.9,1.9,4.8,2.2,7.3,1.1C525.5,194.1,532.4,192.4,539.5,192.4z"/><path fill="#6BA543" d="M347.1,0c26.8,0,48.6,21.7,48.6,48.6c0,7.3-1.6,14.1-4.4,20.3c-1.1,2.4-0.8,5.3,1.1,7.1l6.9,6.9c2.6,2.6,6.7,2.6,9.3,0l6.9-7c1.9-1.9,2.2-4.7,1.1-7.1c-2.9-6.2-4.4-13.1-4.4-20.3c0-26.8,21.7-48.6,48.6-48.6c26.8,0,48.6,21.7,48.6,48.6c0,26.8-21.7,48.6-48.6,48.6c-7.3,0-14.1-1.6-20.3-4.4c-2.4-1.1-5.3-0.8-7.1,1.1l-78.1,77.8c-1.3,1.3-3.4,1.3-4.6,0l-12.8-12.8c-1.3-1.3-1.3-3.4,0-4.6l44-44.1c2.6-2.6,2.5-6.7,0-9.3l-7-7c-1.9-1.9-4.7-2.2-7.1-1.1c-6.2,2.9-13.1,4.4-20.3,4.4c-26.8,0-48.6-21.7-48.6-48.6C298.6,21.8,320.3,0,347.1,0z"/></svg>'),xe.push(`<h1 style="margin: 0; font-size: 2.25rem; font-weight: 700; color: #111827; line-height: 1;">${te.title}</h1>`),xe.push(`<span class="version-badge doc-version" title="Document version">${te.version}</span>`),xe.push(`<span class="version-badge spec-version" title="Arazzo Specification version">Arazzo ${te.arazzoVersion||"1.0.1"}</span>`),xe.push(`</div>
935
935
  `),te.documentURL&&xe.push(`<div style="margin-bottom: 20px;"><a href="${te.documentURL}" target="_blank" rel="noopener noreferrer" style="font-size: 0.75rem; word-break: break-all;">${te.documentURL}</a></div>
936
936
  `),te.summary&&xe.push(`
937
937
  ${te.summary}
@@ -954,7 +954,7 @@ Before starting this workflow, you need to provide the following inputs:
954
954
  </div>
955
955
  `)}}return ne.push(`
956
956
  <div class="timeline">
957
- `),ee.steps.forEach((rt,it)=>{const At=it===ee.steps.length-1;ne.push(`<div class="timeline-item${At?" timeline-item-last":""}" data-step-id="${rt.stepId}">`),ne.push(`<div class="timeline-marker"><div class="timeline-dot">${it+1}</div><div class="timeline-line"></div></div>`),ne.push('<div class="timeline-content">'),ne.push('<div class="step-card">'),ne.push('<div class="timeline-step-header">'),ne.push(`<span class="timeline-step-name">${rt.stepId}</span>`),ne.push("</div>");let lt="";if(rt.operationId){const dt=rt.operationId.indexOf(".");if(dt>0){const ht=rt.operationId.substring(0,dt),pt=rt.operationId.substring(dt+1),ft=xe.get(ht)||"arazzo";lt=`<span class="timeline-operation-group">${sourceIcon(ft)}<span class="timeline-source">${ht}</span><span class="timeline-op-name">${pt}</span></span>`}else lt=`<span class="step-op-ref" style="color: ${(te.sourceDescriptions.length>0&&te.sourceDescriptions[0].type||"arazzo")==="openapi"?"#49cc90":"#61affe"}">${rt.operationId}</span>`}else rt.operationPath?lt=`<code>${rt.operationPath}</code>`:rt.workflowId&&(lt=`<code>${rt.workflowId}</code>`);if(rt.description&&lt?ne.push(`<div class="step-description">${rt.description} via ${lt} Operation</div>`):rt.description?ne.push(`<div class="step-description">${rt.description}</div>`):lt&&ne.push(`<div class="step-description">via ${lt} Operation</div>`),rt.parameters&&rt.parameters.length>0&&(ne.push(`<details class="step-detail"><summary class="step-detail-summary">Parameters <span class="step-detail-count">${rt.parameters.length}</span></summary>`),ne.push('<div class="step-detail-body step-grid-3">'),rt.parameters.forEach(dt=>{if("$ref"in dt)ne.push(`<div class="step-row">Reference: <code>${dt.$ref}</code></div>`);else if("name"in dt&&"in"in dt){const ht=typeof dt.value=="string"?dt.value:JSON.stringify(dt.value),pt=typeof ht=="string"&&ht.startsWith("$")?"←":"=";ne.push(`<div class="step-grid-row"><span><code>${dt.name}</code> <span class="step-in">${dt.in}</span></span><span class="step-arrow">${pt}</span><span><code>${ht}</code></span></div>`)}}),ne.push("</div></details>")),rt.successCriteria&&rt.successCriteria.length>0&&(ne.push(`<details class="step-detail"><summary class="step-detail-summary">Success Criteria <span class="step-detail-count">${rt.successCriteria.length}</span></summary>`),ne.push('<div class="step-detail-body">'),rt.successCriteria.forEach(dt=>{ne.push(`<div class="step-row"><code>${dt.condition}</code></div>`)}),ne.push("</div></details>")),rt.outputs&&Object.keys(rt.outputs).length>0){const dt=Object.keys(rt.outputs).length;ne.push(`<details class="step-detail"><summary class="step-detail-summary">Outputs <span class="step-detail-count">${dt}</span></summary>`),ne.push('<div class="step-detail-body step-grid-3">'),Object.entries(rt.outputs).forEach(([ht,pt])=>{ne.push(`<div class="step-grid-row"><span><code>${ht}</code></span><span class="step-arrow">←</span><span><code>${pt}</code></span></div>`)}),ne.push("</div></details>")}const ct=[...rt.onSuccess||[],...ee.successActions||[]],ut=[...rt.onFailure||[],...ee.failureActions||[]];if(ct.length>0||ut.length>0){const dt=ct.length+ut.length;ne.push(`<details class="step-detail"><summary class="step-detail-summary">Actions <span class="step-detail-count">${dt}</span></summary>`),ne.push('<div class="step-detail-body step-grid-3">'),ct.forEach(ht=>{if("$ref"in ht)ne.push(`<div class="step-grid-row"><span><code>${ht.$ref}</code></span><span></span><span></span></div>`);else if("type"in ht){const pt=ht.name?`<strong>${ht.name}</strong>`:"";if(ht.type==="goto"){const ft=ht.stepId||ht.workflowId||"end";ne.push(`<div class="step-grid-row"><span>${pt}</span><span class="step-arrow">→</span><span>Continue to <code>${ft}</code> <span class="badge badge-success">GOTO</span></span></div>`)}else ht.type==="end"&&ne.push(`<div class="step-grid-row"><span>${pt}</span><span class="step-arrow">→</span><span>Workflow completes <span class="badge badge-success">END</span></span></div>`)}}),ut.forEach(ht=>{if("$ref"in ht)ne.push(`<div class="step-grid-row"><span><code>${ht.$ref}</code></span><span></span><span></span></div>`);else if("type"in ht){const pt=ht.name?`<strong>${ht.name}</strong>`:"";if(ht.type==="goto"){const ft=ht.stepId||ht.workflowId||"end";ne.push(`<div class="step-grid-row"><span>${pt}</span><span class="step-arrow">→</span><span>Jump to <code>${ft}</code> <span class="badge badge-error">GOTO</span></span></div>`)}else if(ht.type==="retry"){const ft=ht.retryLimit?`${ht.retryLimit} times`:"unlimited",mt=ht.retryAfter?` (wait ${ht.retryAfter}s)`:"";ne.push(`<div class="step-grid-row"><span>${pt}</span><span class="step-arrow">→</span><span>Retry ${ft}${mt} <span class="badge badge-warning">RETRY</span></span></div>`)}else ht.type==="end"&&ne.push(`<div class="step-grid-row"><span>${pt}</span><span class="step-arrow">→</span><span>Workflow terminates <span class="badge badge-error">END</span></span></div>`)}}),ne.push("</div></details>")}ne.push("</div>"),ne.push("</div>"),ne.push(`</div>
957
+ `),ee.steps.forEach((rt,it)=>{const At=it===ee.steps.length-1;ne.push(`<div class="timeline-item${At?" timeline-item-last":""}" data-step-id="${rt.stepId}">`),ne.push(`<div class="timeline-marker"><div class="timeline-dot">${it+1}</div><div class="timeline-line"></div></div>`),ne.push('<div class="timeline-content">'),ne.push('<div class="step-card">'),ne.push('<div class="timeline-step-header">'),ne.push(`<span class="timeline-step-name">${rt.stepId}</span>`),ne.push("</div>");let lt="";if(rt.operationId){const dt=rt.operationId.indexOf(".");if(dt>0){const ht=rt.operationId.substring(0,dt),pt=rt.operationId.substring(dt+1),ft=xe.get(ht)||"arazzo";lt=`<span class="timeline-operation-group">${sourceIcon(ft)}<span class="timeline-source">${ht}</span><span class="timeline-op-name">${pt}</span></span>`}else lt=`<span class="step-op-ref" style="color: ${(te.sourceDescriptions.length>0&&te.sourceDescriptions[0].type||"arazzo")==="openapi"?"#6BA543":"#94C83D"}">${rt.operationId}</span>`}else rt.operationPath?lt=`<code>${rt.operationPath}</code>`:rt.workflowId&&(lt=`<code>${rt.workflowId}</code>`);if(rt.description&&lt?ne.push(`<div class="step-description">${rt.description} via ${lt} Operation</div>`):rt.description?ne.push(`<div class="step-description">${rt.description}</div>`):lt&&ne.push(`<div class="step-description">via ${lt} Operation</div>`),rt.parameters&&rt.parameters.length>0&&(ne.push(`<details class="step-detail"><summary class="step-detail-summary">Parameters <span class="step-detail-count">${rt.parameters.length}</span></summary>`),ne.push('<div class="step-detail-body step-grid-3">'),rt.parameters.forEach(dt=>{if("$ref"in dt)ne.push(`<div class="step-row">Reference: <code>${dt.$ref}</code></div>`);else if("name"in dt&&"in"in dt){const ht=typeof dt.value=="string"?dt.value:JSON.stringify(dt.value),pt=typeof ht=="string"&&ht.startsWith("$")?"←":"=";ne.push(`<div class="step-grid-row"><span><code>${dt.name}</code> <span class="step-in">${dt.in}</span></span><span class="step-arrow">${pt}</span><span><code>${ht}</code></span></div>`)}}),ne.push("</div></details>")),rt.successCriteria&&rt.successCriteria.length>0&&(ne.push(`<details class="step-detail"><summary class="step-detail-summary">Success Criteria <span class="step-detail-count">${rt.successCriteria.length}</span></summary>`),ne.push('<div class="step-detail-body">'),rt.successCriteria.forEach(dt=>{ne.push(`<div class="step-row"><code>${dt.condition}</code></div>`)}),ne.push("</div></details>")),rt.outputs&&Object.keys(rt.outputs).length>0){const dt=Object.keys(rt.outputs).length;ne.push(`<details class="step-detail"><summary class="step-detail-summary">Outputs <span class="step-detail-count">${dt}</span></summary>`),ne.push('<div class="step-detail-body step-grid-3">'),Object.entries(rt.outputs).forEach(([ht,pt])=>{ne.push(`<div class="step-grid-row"><span><code>${ht}</code></span><span class="step-arrow">←</span><span><code>${pt}</code></span></div>`)}),ne.push("</div></details>")}const ct=[...rt.onSuccess||[],...ee.successActions||[]],ut=[...rt.onFailure||[],...ee.failureActions||[]];if(ct.length>0||ut.length>0){const dt=ct.length+ut.length;ne.push(`<details class="step-detail"><summary class="step-detail-summary">Actions <span class="step-detail-count">${dt}</span></summary>`),ne.push('<div class="step-detail-body step-grid-3">'),ct.forEach(ht=>{if("$ref"in ht)ne.push(`<div class="step-grid-row"><span><code>${ht.$ref}</code></span><span></span><span></span></div>`);else if("type"in ht){const pt=ht.name?`<strong>${ht.name}</strong>`:"";if(ht.type==="goto"){const ft=ht.stepId||ht.workflowId||"end";ne.push(`<div class="step-grid-row"><span>${pt}</span><span class="step-arrow">→</span><span>Continue to <code>${ft}</code> <span class="badge badge-success">GOTO</span></span></div>`)}else ht.type==="end"&&ne.push(`<div class="step-grid-row"><span>${pt}</span><span class="step-arrow">→</span><span>Workflow completes <span class="badge badge-success">END</span></span></div>`)}}),ut.forEach(ht=>{if("$ref"in ht)ne.push(`<div class="step-grid-row"><span><code>${ht.$ref}</code></span><span></span><span></span></div>`);else if("type"in ht){const pt=ht.name?`<strong>${ht.name}</strong>`:"";if(ht.type==="goto"){const ft=ht.stepId||ht.workflowId||"end";ne.push(`<div class="step-grid-row"><span>${pt}</span><span class="step-arrow">→</span><span>Jump to <code>${ft}</code> <span class="badge badge-error">GOTO</span></span></div>`)}else if(ht.type==="retry"){const ft=ht.retryLimit?`${ht.retryLimit} times`:"unlimited",mt=ht.retryAfter?` (wait ${ht.retryAfter}s)`:"";ne.push(`<div class="step-grid-row"><span>${pt}</span><span class="step-arrow">→</span><span>Retry ${ft}${mt} <span class="badge badge-warning">RETRY</span></span></div>`)}else ht.type==="end"&&ne.push(`<div class="step-grid-row"><span>${pt}</span><span class="step-arrow">→</span><span>Workflow terminates <span class="badge badge-error">END</span></span></div>`)}}),ne.push("</div></details>")}ne.push("</div>"),ne.push("</div>"),ne.push(`</div>
958
958
  `)}),ne.push(`</div>
959
959
  `),ee.outputs&&Object.keys(ee.outputs).length>0&&(ne.push(`
960
960
  <div class="doc-section">
@@ -988,7 +988,7 @@ When this workflow completes successfully, it returns:
988
988
  }
989
989
 
990
990
  .workflow-details[open] {
991
- border-color: #93c5fd;
991
+ border-color: #94C83D;
992
992
  }
993
993
 
994
994
  .workflow-summary-bar {
@@ -999,7 +999,7 @@ When this workflow completes successfully, it returns:
999
999
  cursor: pointer;
1000
1000
  user-select: none;
1001
1001
  list-style: none;
1002
- background: #eef6ff;
1002
+ background: #f3fae8;
1003
1003
  transition: background 0.15s;
1004
1004
  }
1005
1005
 
@@ -1010,7 +1010,7 @@ When this workflow completes successfully, it returns:
1010
1010
  .workflow-summary-bar::before {
1011
1011
  content: '▶';
1012
1012
  font-size: 10px;
1013
- color: #61affe;
1013
+ color: #6BA543;
1014
1014
  transition: transform 0.15s;
1015
1015
  flex-shrink: 0;
1016
1016
  }
@@ -1020,7 +1020,7 @@ When this workflow completes successfully, it returns:
1020
1020
  }
1021
1021
 
1022
1022
  .workflow-summary-bar:hover {
1023
- background: #e0f0ff;
1023
+ background: #ecf5dc;
1024
1024
  }
1025
1025
 
1026
1026
  .workflow-summary-title {
@@ -1142,8 +1142,8 @@ When this workflow completes successfully, it returns:
1142
1142
  }
1143
1143
 
1144
1144
  .source-card:hover {
1145
- border-color: #93c5fd;
1146
- box-shadow: 0 2px 8px rgba(59, 130, 246, 0.1);
1145
+ border-color: #94C83D;
1146
+ box-shadow: 0 2px 8px rgba(107, 165, 67, 0.15);
1147
1147
  }
1148
1148
 
1149
1149
  .source-card-top {
@@ -1163,12 +1163,12 @@ When this workflow completes successfully, it returns:
1163
1163
  }
1164
1164
 
1165
1165
  .source-type-openapi {
1166
- background: #49cc90;
1166
+ background: #6BA543;
1167
1167
  color: #fff;
1168
1168
  }
1169
1169
 
1170
1170
  .source-type-arazzo {
1171
- background: #61affe;
1171
+ background: #94C83D;
1172
1172
  color: #fff;
1173
1173
  }
1174
1174
 
@@ -1232,18 +1232,18 @@ When this workflow completes successfully, it returns:
1232
1232
  width: 24px;
1233
1233
  height: 24px;
1234
1234
  border-radius: 50%;
1235
- background: #fef3c7;
1236
- border: 1px solid #fde68a;
1235
+ background: #e8f5d3;
1236
+ border: 1px solid #94C83D;
1237
1237
  flex-shrink: 0;
1238
1238
  font-size: 11px;
1239
1239
  font-weight: 700;
1240
- color: #92400e;
1240
+ color: #6BA543;
1241
1241
  }
1242
1242
 
1243
1243
  .timeline-line {
1244
1244
  width: 2px;
1245
1245
  flex: 1;
1246
- background: #fde68a;
1246
+ background: #94C83D;
1247
1247
  margin: 4px 0;
1248
1248
  }
1249
1249
 
@@ -1303,8 +1303,8 @@ When this workflow completes successfully, it returns:
1303
1303
  font-size: 11px;
1304
1304
  padding: 2px 6px;
1305
1305
  border-radius: 4px;
1306
- background: #dbeafe;
1307
- color: #1e40af;
1306
+ background: #e8f5d3;
1307
+ color: #6BA543;
1308
1308
  font-weight: 600;
1309
1309
  }
1310
1310
 
@@ -1336,8 +1336,8 @@ When this workflow completes successfully, it returns:
1336
1336
 
1337
1337
  .timeline-op-name {
1338
1338
  padding: 3px 6px;
1339
- background: #dbeafe;
1340
- color: #1e40af;
1339
+ background: #e8f5d3;
1340
+ color: #6BA543;
1341
1341
  }
1342
1342
 
1343
1343
  .source-card-top .source-icon {
@@ -1549,7 +1549,7 @@ When this workflow completes successfully, it returns:
1549
1549
  }
1550
1550
 
1551
1551
  .spec-version {
1552
- background: #49cc90;
1552
+ background: #94C83D;
1553
1553
  color: #fff;
1554
1554
  }
1555
1555
 
@@ -1564,9 +1564,9 @@ When this workflow completes successfully, it returns:
1564
1564
  border-radius: 6px;
1565
1565
  font-size: 12px;
1566
1566
  font-weight: 600;
1567
- background: #fef3c7;
1568
- color: #92400e;
1569
- border: 1px solid #fde68a;
1567
+ background: #94C83D;
1568
+ color: #fff;
1569
+ border: 1px solid #6BA543;
1570
1570
  }
1571
1571
 
1572
1572
  .operation-badge {
@@ -1575,8 +1575,8 @@ When this workflow completes successfully, it returns:
1575
1575
  border-radius: 4px;
1576
1576
  font-size: 11px;
1577
1577
  font-weight: 600;
1578
- background: #dbeafe;
1579
- color: #1e40af;
1578
+ background: #e8f5d3;
1579
+ color: #6BA543;
1580
1580
  }
1581
1581
 
1582
1582
  /* Action badges (END, GOTO, RETRY) */
@@ -3811,7 +3811,7 @@ function generateMetadata(document2) {
3811
3811
  };
3812
3812
  }
3813
3813
  function sourceIcon(type) {
3814
- const color = type === "openapi" ? "#49cc90" : "#61affe";
3814
+ const color = type === "openapi" ? "#6BA543" : "#94C83D";
3815
3815
  return `<svg class="source-icon" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="1" y="1" width="12" height="12" rx="3" fill="${color}" opacity="0.15" stroke="${color}" stroke-width="1"/><circle cx="7" cy="7" r="2" fill="${color}"/></svg>`;
3816
3816
  }
3817
3817
  function formatHeaderAsMarkdown(metadata, options = {}) {
@@ -3820,14 +3820,17 @@ function formatHeaderAsMarkdown(metadata, options = {}) {
3820
3820
  sections.push(
3821
3821
  `<div style="display: flex; align-items: flex-start; gap: 10px; margin-bottom: ${metadata.documentURL ? "8px" : "20px"}; flex-wrap: wrap;">`
3822
3822
  );
3823
+ sections.push(
3824
+ `<svg xmlns="http://www.w3.org/2000/svg" viewBox="215 -5 380 380" style="width: 2.25rem; height: 2.25rem; flex-shrink: 0;"><path fill="#94C83D" d="M268.3,78.8c26.8,0,48.6,21.7,48.6,48.6c0,7.3-1.6,14.1-4.4,20.3c-1.1,2.4-0.8,5.3,1.1,7.1l77.9,78.2c1.3,1.3,1.3,3.4,0,4.6l-12.8,12.9c-1.3,1.3-3.4,1.3-4.6,0l-42.1-41.9c-3.8-3.8-10-3.8-13.9,0l-4.9,4.8c-1.9,1.9-2.2,4.8-1.1,7.3c3,6.2,4.8,13.1,4.8,20.3c0,26.8-21.7,48.6-48.6,48.6c-26.8,0-48.6-21.7-48.6-48.6c0-26.8,21.7-48.6,48.6-48.6c7.1,0,14,1.7,20.3,4.8c2.4,1.2,5.4,0.9,7.3-1.1l4.8-4.8c3.8-3.8,3.8-10.1,0-13.9l-4.8-4.8c-1.9-1.9-4.7-2.2-7.1-1.1c-6.2,2.9-13.1,4.4-20.3,4.4c-26.8,0-48.6-21.7-48.6-48.6C219.8,100.5,241.5,78.8,268.3,78.8z"/><path fill="#6BA543" d="M460.7,271.2c26.8,0,48.6,21.7,48.6,48.6c0,26.8-21.7,48.6-48.6,48.6c-26.8,0-48.6-21.7-48.6-48.6c0-7.1,4-16.3,7.1-22.6c1.2-2.4-1.5-3-3.4-4.9l-5-5c-3.8-3.8-10-3.8-13.9,0l-5,5c-1.9,1.9-2.2,4.8-1.1,7.3c3,6.2,4.8,13.1,4.8,20.3c0,26.8-21.7,48.6-48.6,48.6c-26.8,0-48.6-21.7-48.6-48.6c0-26.8,21.7-48.6,48.6-48.6c7.1,0,14,1.7,20.3,4.8c2.4,1.2,5.4,0.8,7.3-1.1l77.7-78c1.3-1.3,3.4-1.3,4.6,0l13,13c1.3,1.3,1.3,3.4,0,4.6l-41.7,41.6c-3.8,3.8-3.9,10.1,0,13.9l4.9,4.9c1.9,1.9,4.8,2.2,7.3,1.1C446.7,272.9,453.5,271.2,460.7,271.2z"/><path fill="#94C83D" d="M539.5,192.4c26.8,0,48.6,21.7,48.6,48.6s-21.7,48.6-48.6,48.6c-26.8,0-48.6-21.7-48.6-48.6c0-7.1,1.7-14,4.8-20.3c1.2-2.4,0.9-5.4-1.1-7.3l-78.4-78.1c-1.3-1.3-1.3-3.4,0-4.6l13-13c1.3-1.3,3.4-1.3,4.6,0l44.1,44.2c2.6,2.6,6.7,2.6,9.3,0l7.1-7.1c1.9-1.9,2.2-4.7,1.1-7.1c-2.9-6.2-4.4-13.1-4.4-20.3c0-26.8,21.7-48.6,48.6-48.6c26.8,0,48.6,21.7,48.6,48.6s-21.7,48.6-48.6,48.6c-7.3,0-14.1-1.6-20.3-4.4c-2.4-1.1-5.3-0.8-7.1,1.1l-4.8,4.8c-3.8,3.8-3.9,10.1,0,13.9l4.8,4.8c1.9,1.9,4.8,2.2,7.3,1.1C525.5,194.1,532.4,192.4,539.5,192.4z"/><path fill="#6BA543" d="M347.1,0c26.8,0,48.6,21.7,48.6,48.6c0,7.3-1.6,14.1-4.4,20.3c-1.1,2.4-0.8,5.3,1.1,7.1l6.9,6.9c2.6,2.6,6.7,2.6,9.3,0l6.9-7c1.9-1.9,2.2-4.7,1.1-7.1c-2.9-6.2-4.4-13.1-4.4-20.3c0-26.8,21.7-48.6,48.6-48.6c26.8,0,48.6,21.7,48.6,48.6c0,26.8-21.7,48.6-48.6,48.6c-7.3,0-14.1-1.6-20.3-4.4c-2.4-1.1-5.3-0.8-7.1,1.1l-78.1,77.8c-1.3,1.3-3.4,1.3-4.6,0l-12.8-12.8c-1.3-1.3-1.3-3.4,0-4.6l44-44.1c2.6-2.6,2.5-6.7,0-9.3l-7-7c-1.9-1.9-4.7-2.2-7.1-1.1c-6.2,2.9-13.1,4.4-20.3,4.4c-26.8,0-48.6-21.7-48.6-48.6C298.6,21.8,320.3,0,347.1,0z"/></svg>`
3825
+ );
3823
3826
  sections.push(
3824
3827
  `<h1 style="margin: 0; font-size: 2.25rem; font-weight: 700; color: #111827; line-height: 1;">${metadata.title}</h1>`
3825
3828
  );
3826
3829
  sections.push(
3827
- `<span class="version-badge spec-version" title="Document version">${metadata.version}</span>`
3830
+ `<span class="version-badge doc-version" title="Document version">${metadata.version}</span>`
3828
3831
  );
3829
3832
  sections.push(
3830
- `<span class="version-badge doc-version" title="Arazzo Specification version">Arazzo ${metadata.arazzoVersion || "1.0.1"}</span>`
3833
+ `<span class="version-badge spec-version" title="Arazzo Specification version">Arazzo ${metadata.arazzoVersion || "1.0.1"}</span>`
3831
3834
  );
3832
3835
  sections.push(`</div>
3833
3836
  `);
@@ -3926,7 +3929,7 @@ function formatWorkflowAsMarkdown(metadata, workflow) {
3926
3929
  opHtml = `<span class="timeline-operation-group">${sourceIcon(type)}<span class="timeline-source">${source}</span><span class="timeline-op-name">${operation}</span></span>`;
3927
3930
  } else {
3928
3931
  const defaultType = metadata.sourceDescriptions.length > 0 ? metadata.sourceDescriptions[0].type || "arazzo" : "arazzo";
3929
- const color = defaultType === "openapi" ? "#49cc90" : "#61affe";
3932
+ const color = defaultType === "openapi" ? "#6BA543" : "#94C83D";
3930
3933
  opHtml = `<span class="step-op-ref" style="color: ${color}">${step.operationId}</span>`;
3931
3934
  }
3932
3935
  } else if (step.operationPath) {
@@ -4518,7 +4521,7 @@ const DocsView = () => {
4518
4521
  }
4519
4522
 
4520
4523
  .workflow-details[open] {
4521
- border-color: #93c5fd;
4524
+ border-color: #94C83D;
4522
4525
  }
4523
4526
 
4524
4527
  .workflow-summary-bar {
@@ -4529,7 +4532,7 @@ const DocsView = () => {
4529
4532
  cursor: pointer;
4530
4533
  user-select: none;
4531
4534
  list-style: none;
4532
- background: #eef6ff;
4535
+ background: #f3fae8;
4533
4536
  transition: background 0.15s;
4534
4537
  }
4535
4538
 
@@ -4540,7 +4543,7 @@ const DocsView = () => {
4540
4543
  .workflow-summary-bar::before {
4541
4544
  content: '▶';
4542
4545
  font-size: 10px;
4543
- color: #61affe;
4546
+ color: #6BA543;
4544
4547
  transition: transform 0.15s;
4545
4548
  flex-shrink: 0;
4546
4549
  }
@@ -4550,7 +4553,7 @@ const DocsView = () => {
4550
4553
  }
4551
4554
 
4552
4555
  .workflow-summary-bar:hover {
4553
- background: #e0f0ff;
4556
+ background: #ecf5dc;
4554
4557
  }
4555
4558
 
4556
4559
  .workflow-summary-title {
@@ -4672,8 +4675,8 @@ const DocsView = () => {
4672
4675
  }
4673
4676
 
4674
4677
  .source-card:hover {
4675
- border-color: #93c5fd;
4676
- box-shadow: 0 2px 8px rgba(59, 130, 246, 0.1);
4678
+ border-color: #94C83D;
4679
+ box-shadow: 0 2px 8px rgba(107, 165, 67, 0.15);
4677
4680
  }
4678
4681
 
4679
4682
  .source-card-top {
@@ -4693,12 +4696,12 @@ const DocsView = () => {
4693
4696
  }
4694
4697
 
4695
4698
  .source-type-openapi {
4696
- background: #49cc90;
4699
+ background: #6BA543;
4697
4700
  color: #fff;
4698
4701
  }
4699
4702
 
4700
4703
  .source-type-arazzo {
4701
- background: #61affe;
4704
+ background: #94C83D;
4702
4705
  color: #fff;
4703
4706
  }
4704
4707
 
@@ -4762,18 +4765,18 @@ const DocsView = () => {
4762
4765
  width: 24px;
4763
4766
  height: 24px;
4764
4767
  border-radius: 50%;
4765
- background: #fef3c7;
4766
- border: 1px solid #fde68a;
4768
+ background: #e8f5d3;
4769
+ border: 1px solid #94C83D;
4767
4770
  flex-shrink: 0;
4768
4771
  font-size: 11px;
4769
4772
  font-weight: 700;
4770
- color: #92400e;
4773
+ color: #6BA543;
4771
4774
  }
4772
4775
 
4773
4776
  .timeline-line {
4774
4777
  width: 2px;
4775
4778
  flex: 1;
4776
- background: #fde68a;
4779
+ background: #94C83D;
4777
4780
  margin: 4px 0;
4778
4781
  }
4779
4782
 
@@ -4833,8 +4836,8 @@ const DocsView = () => {
4833
4836
  font-size: 11px;
4834
4837
  padding: 2px 6px;
4835
4838
  border-radius: 4px;
4836
- background: #dbeafe;
4837
- color: #1e40af;
4839
+ background: #e8f5d3;
4840
+ color: #6BA543;
4838
4841
  font-weight: 600;
4839
4842
  }
4840
4843
 
@@ -4866,8 +4869,8 @@ const DocsView = () => {
4866
4869
 
4867
4870
  .timeline-op-name {
4868
4871
  padding: 3px 6px;
4869
- background: #dbeafe;
4870
- color: #1e40af;
4872
+ background: #e8f5d3;
4873
+ color: #6BA543;
4871
4874
  }
4872
4875
 
4873
4876
  .source-card-top .source-icon {
@@ -5079,7 +5082,7 @@ const DocsView = () => {
5079
5082
  }
5080
5083
 
5081
5084
  .spec-version {
5082
- background: #49cc90;
5085
+ background: #94C83D;
5083
5086
  color: #fff;
5084
5087
  }
5085
5088
 
@@ -5094,9 +5097,9 @@ const DocsView = () => {
5094
5097
  border-radius: 6px;
5095
5098
  font-size: 12px;
5096
5099
  font-weight: 600;
5097
- background: #fef3c7;
5098
- color: #92400e;
5099
- border: 1px solid #fde68a;
5100
+ background: #94C83D;
5101
+ color: #fff;
5102
+ border: 1px solid #6BA543;
5100
5103
  }
5101
5104
 
5102
5105
  .operation-badge {
@@ -5105,8 +5108,8 @@ const DocsView = () => {
5105
5108
  border-radius: 4px;
5106
5109
  font-size: 11px;
5107
5110
  font-weight: 600;
5108
- background: #dbeafe;
5109
- color: #1e40af;
5111
+ background: #e8f5d3;
5112
+ color: #6BA543;
5110
5113
  }
5111
5114
 
5112
5115
  /* Action badges (END, GOTO, RETRY) */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jentic/arazzo-ui",
3
- "version": "1.0.0-alpha.18",
3
+ "version": "1.0.0-alpha.19",
4
4
  "description": "UI for Arazzo Workflows.",
5
5
  "keywords": [
6
6
  "arazzo",
@@ -37,6 +37,9 @@
37
37
  "./styles.css": "./dist/arazzo-ui.css"
38
38
  },
39
39
  "types": "./types/arazzo-ui.d.ts",
40
+ "bin": {
41
+ "arazzo-ui": "./bin/arazzo-ui.mjs"
42
+ },
40
43
  "scripts": {
41
44
  "dev": "vite serve --config config/vite/vite.dev.config.ts",
42
45
  "build": "npm run clean && run-p --max-parallel ${CPU_CORES:-2} typescript:declaration build:umd:ui build:umd:standalone build:esm:ui build:esm:standalone && npm run build:app",
@@ -44,7 +47,7 @@
44
47
  "build:umd:standalone": "cross-env BUILD_ENTRY=ArazzoUIStandalone vite build --config config/vite/vite.config.ts",
45
48
  "build:esm:ui": "cross-env BUILD_FORMAT=esm BUILD_ENTRY=ArazzoUI vite build --config config/vite/vite.config.ts",
46
49
  "build:esm:standalone": "cross-env BUILD_FORMAT=esm BUILD_ENTRY=ArazzoUIStandalone vite build --config config/vite/vite.config.ts",
47
- "build:app": "npm run build:umd:standalone && rimraf ./build && mkdir -p ./build && cp ./dist/arazzo-ui-standalone.js ./dist/arazzo-ui.css ./build/ && cp ./public/app.html ./build/index.html && cp ./public/petstore-order-workflow.arazzo.yaml ./build/",
50
+ "build:app": "npm run build:umd:standalone && rimraf ./build && mkdir -p ./build && cp ./dist/arazzo-ui-standalone.js ./dist/arazzo-ui.css ./build/ && cp ./public/* ./build/ && rm -f ./build/main.tsx ./build/index.html && mv ./build/app.html ./build/index.html",
48
51
  "lint": "eslint ./",
49
52
  "lint:fix": "eslint ./ --fix",
50
53
  "clean": "rimraf ./dist ./types ./build",
@@ -61,8 +64,8 @@
61
64
  "author": "Jentic <hello@jentic.com>",
62
65
  "license": "Apache-2.0",
63
66
  "dependencies": {
64
- "@jentic/arazzo-parser": "1.0.0-alpha.18",
65
- "@jentic/arazzo-resolver": "1.0.0-alpha.18",
67
+ "@jentic/arazzo-parser": "1.0.0-alpha.19",
68
+ "@jentic/arazzo-resolver": "1.0.0-alpha.19",
66
69
  "@speclynx/apidom-core": "^2.12.2",
67
70
  "mermaid": "^11.12.2",
68
71
  "react-markdown": "^10.1.0",
@@ -82,6 +85,7 @@
82
85
  "vite": "^6.3.5"
83
86
  },
84
87
  "files": [
88
+ "bin/",
85
89
  "dist/",
86
90
  "types/arazzo-ui.d.ts",
87
91
  "types/arazzo-ui-standalone.d.ts",
@@ -90,5 +94,5 @@
90
94
  "README.md",
91
95
  "CHANGELOG.md"
92
96
  ],
93
- "gitHead": "72d17ffa07c1ac857526b248a1c4504a75c94ff9"
97
+ "gitHead": "06f968a2268a2914eb9e2762f5554dcdceb32906"
94
98
  }