@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 +13 -0
- package/README.md +19 -3
- package/bin/arazzo-ui.mjs +46 -0
- package/dist/arazzo-ui-standalone.js +25 -25
- package/dist/arazzo-ui-standalone.mjs +37 -29
- package/dist/arazzo-ui.js +24 -24
- package/dist/arazzo-ui.mjs +29 -26
- package/package.json +9 -5
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
|
-
[](https://arazzo-ui.jentic.com)
|
|
7
7
|
|
|
8
8
|
<p align="center">
|
|
9
|
-
<a href="https://jentic.
|
|
10
|
-
<img src="https://
|
|
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"?"#
|
|
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"?"#
|
|
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&<?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: #
|
|
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: #
|
|
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: #
|
|
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: #
|
|
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: #
|
|
1146
|
-
box-shadow: 0 2px 8px rgba(
|
|
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: #
|
|
1166
|
+
background: #6BA543;
|
|
1167
1167
|
color: #fff;
|
|
1168
1168
|
}
|
|
1169
1169
|
|
|
1170
1170
|
.source-type-arazzo {
|
|
1171
|
-
background: #
|
|
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: #
|
|
1236
|
-
border: 1px solid #
|
|
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: #
|
|
1240
|
+
color: #6BA543;
|
|
1241
1241
|
}
|
|
1242
1242
|
|
|
1243
1243
|
.timeline-line {
|
|
1244
1244
|
width: 2px;
|
|
1245
1245
|
flex: 1;
|
|
1246
|
-
background: #
|
|
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: #
|
|
1307
|
-
color: #
|
|
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: #
|
|
1340
|
-
color: #
|
|
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: #
|
|
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: #
|
|
1568
|
-
color: #
|
|
1569
|
-
border: 1px solid #
|
|
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: #
|
|
1579
|
-
color: #
|
|
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={"&":"&",">":">","<":"<",'"':""","'":"'"},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]*([^\\/#?]*?)(:|�*58|�*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={"&":"&",">":">","<":"<",'"':""","'":"'"},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]*([^\\/#?]*?)(:|�*58|�*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" ? "#
|
|
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
|
|
3830
|
+
`<span class="version-badge doc-version" title="Document version">${metadata.version}</span>`
|
|
3828
3831
|
);
|
|
3829
3832
|
sections.push(
|
|
3830
|
-
`<span class="version-badge
|
|
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" ? "#
|
|
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: #
|
|
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: #
|
|
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: #
|
|
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: #
|
|
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: #
|
|
4676
|
-
box-shadow: 0 2px 8px rgba(
|
|
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: #
|
|
4699
|
+
background: #6BA543;
|
|
4697
4700
|
color: #fff;
|
|
4698
4701
|
}
|
|
4699
4702
|
|
|
4700
4703
|
.source-type-arazzo {
|
|
4701
|
-
background: #
|
|
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: #
|
|
4766
|
-
border: 1px solid #
|
|
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: #
|
|
4773
|
+
color: #6BA543;
|
|
4771
4774
|
}
|
|
4772
4775
|
|
|
4773
4776
|
.timeline-line {
|
|
4774
4777
|
width: 2px;
|
|
4775
4778
|
flex: 1;
|
|
4776
|
-
background: #
|
|
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: #
|
|
4837
|
-
color: #
|
|
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: #
|
|
4870
|
-
color: #
|
|
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: #
|
|
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: #
|
|
5098
|
-
color: #
|
|
5099
|
-
border: 1px solid #
|
|
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: #
|
|
5109
|
-
color: #
|
|
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
|
|
5514
|
+
typeof initialDocument === "string" && /^https?:\/\//i.test(initialDocument) ? initialDocument : ""
|
|
5510
5515
|
);
|
|
5511
|
-
const [documentSource, setDocumentSource] = useState(
|
|
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: "#
|
|
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"?"#
|
|
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"?"#
|
|
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&<?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: #
|
|
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: #
|
|
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: #
|
|
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: #
|
|
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: #
|
|
1146
|
-
box-shadow: 0 2px 8px rgba(
|
|
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: #
|
|
1166
|
+
background: #6BA543;
|
|
1167
1167
|
color: #fff;
|
|
1168
1168
|
}
|
|
1169
1169
|
|
|
1170
1170
|
.source-type-arazzo {
|
|
1171
|
-
background: #
|
|
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: #
|
|
1236
|
-
border: 1px solid #
|
|
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: #
|
|
1240
|
+
color: #6BA543;
|
|
1241
1241
|
}
|
|
1242
1242
|
|
|
1243
1243
|
.timeline-line {
|
|
1244
1244
|
width: 2px;
|
|
1245
1245
|
flex: 1;
|
|
1246
|
-
background: #
|
|
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: #
|
|
1307
|
-
color: #
|
|
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: #
|
|
1340
|
-
color: #
|
|
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: #
|
|
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: #
|
|
1568
|
-
color: #
|
|
1569
|
-
border: 1px solid #
|
|
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: #
|
|
1579
|
-
color: #
|
|
1578
|
+
background: #e8f5d3;
|
|
1579
|
+
color: #6BA543;
|
|
1580
1580
|
}
|
|
1581
1581
|
|
|
1582
1582
|
/* Action badges (END, GOTO, RETRY) */
|
package/dist/arazzo-ui.mjs
CHANGED
|
@@ -3811,7 +3811,7 @@ function generateMetadata(document2) {
|
|
|
3811
3811
|
};
|
|
3812
3812
|
}
|
|
3813
3813
|
function sourceIcon(type) {
|
|
3814
|
-
const color = type === "openapi" ? "#
|
|
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
|
|
3830
|
+
`<span class="version-badge doc-version" title="Document version">${metadata.version}</span>`
|
|
3828
3831
|
);
|
|
3829
3832
|
sections.push(
|
|
3830
|
-
`<span class="version-badge
|
|
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" ? "#
|
|
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: #
|
|
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: #
|
|
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: #
|
|
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: #
|
|
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: #
|
|
4676
|
-
box-shadow: 0 2px 8px rgba(
|
|
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: #
|
|
4699
|
+
background: #6BA543;
|
|
4697
4700
|
color: #fff;
|
|
4698
4701
|
}
|
|
4699
4702
|
|
|
4700
4703
|
.source-type-arazzo {
|
|
4701
|
-
background: #
|
|
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: #
|
|
4766
|
-
border: 1px solid #
|
|
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: #
|
|
4773
|
+
color: #6BA543;
|
|
4771
4774
|
}
|
|
4772
4775
|
|
|
4773
4776
|
.timeline-line {
|
|
4774
4777
|
width: 2px;
|
|
4775
4778
|
flex: 1;
|
|
4776
|
-
background: #
|
|
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: #
|
|
4837
|
-
color: #
|
|
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: #
|
|
4870
|
-
color: #
|
|
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: #
|
|
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: #
|
|
5098
|
-
color: #
|
|
5099
|
-
border: 1px solid #
|
|
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: #
|
|
5109
|
-
color: #
|
|
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.
|
|
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/
|
|
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.
|
|
65
|
-
"@jentic/arazzo-resolver": "1.0.0-alpha.
|
|
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": "
|
|
97
|
+
"gitHead": "06f968a2268a2914eb9e2762f5554dcdceb32906"
|
|
94
98
|
}
|