@next-bricks/ai-portal 0.50.0 → 0.50.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/dist/bricks.json +1 -1
  2. package/dist/chunks/2142.c02a98d9.js +2 -0
  3. package/dist/chunks/2142.c02a98d9.js.map +1 -0
  4. package/dist/chunks/3735.0389cba2.js +15 -0
  5. package/dist/chunks/3735.0389cba2.js.map +1 -0
  6. package/dist/chunks/3832.9b48b5f5.js +2 -0
  7. package/dist/chunks/3832.9b48b5f5.js.map +1 -0
  8. package/dist/chunks/6201.01557568.js +2 -0
  9. package/dist/chunks/6201.01557568.js.map +1 -0
  10. package/dist/chunks/7580.5dca4f97.js +3 -0
  11. package/dist/chunks/7580.5dca4f97.js.map +1 -0
  12. package/dist/chunks/8414.8b8390cb.js +2 -0
  13. package/dist/chunks/8414.8b8390cb.js.map +1 -0
  14. package/dist/chunks/{8717.debf076f.js → 8717.4f49d4f6.js} +2 -2
  15. package/dist/chunks/{8717.debf076f.js.map → 8717.4f49d4f6.js.map} +1 -1
  16. package/dist/chunks/8889.746f8129.js +3 -0
  17. package/dist/chunks/8889.746f8129.js.map +1 -0
  18. package/dist/chunks/{cruise-canvas.f4b9384f.js → cruise-canvas.3600fc3c.js} +2 -2
  19. package/dist/chunks/{cruise-canvas.f4b9384f.js.map → cruise-canvas.3600fc3c.js.map} +1 -1
  20. package/dist/chunks/{elevo-sidebar.d95cf869.js → elevo-sidebar.cbec3024.js} +3 -3
  21. package/dist/chunks/elevo-sidebar.cbec3024.js.map +1 -0
  22. package/dist/chunks/main.bd40fdc0.js +2 -0
  23. package/dist/chunks/main.bd40fdc0.js.map +1 -0
  24. package/dist/chunks/{preview-container.8e831edb.js → preview-container.631389f7.js} +2 -2
  25. package/dist/chunks/{preview-container.8e831edb.js.map → preview-container.631389f7.js.map} +1 -1
  26. package/dist/chunks/show-case.be5d82fd.js +2 -0
  27. package/dist/chunks/show-case.be5d82fd.js.map +1 -0
  28. package/dist/index.546d6b1e.js +2 -0
  29. package/dist/index.546d6b1e.js.map +1 -0
  30. package/dist-types/cruise-canvas/interfaces.d.ts +1 -5
  31. package/dist-types/elevo-sidebar/bricks.d.ts +3 -1
  32. package/dist-types/shared/CreatedView/CreatedView.d.ts +2 -1
  33. package/dist-types/shared/CreatedView/ViewToolbar.d.ts +7 -0
  34. package/package.json +2 -2
  35. package/dist/chunks/4957.f878df32.js +0 -3
  36. package/dist/chunks/4957.f878df32.js.map +0 -1
  37. package/dist/chunks/5521.ef48a4d3.js +0 -2
  38. package/dist/chunks/5521.ef48a4d3.js.map +0 -1
  39. package/dist/chunks/6725.024b973c.js +0 -2
  40. package/dist/chunks/6725.024b973c.js.map +0 -1
  41. package/dist/chunks/7245.597bf395.js +0 -2
  42. package/dist/chunks/7245.597bf395.js.map +0 -1
  43. package/dist/chunks/7589.a2830718.js +0 -2
  44. package/dist/chunks/7589.a2830718.js.map +0 -1
  45. package/dist/chunks/8882.1dd288fd.js +0 -3
  46. package/dist/chunks/8882.1dd288fd.js.map +0 -1
  47. package/dist/chunks/8889.d377e773.js +0 -3
  48. package/dist/chunks/8889.d377e773.js.map +0 -1
  49. package/dist/chunks/9360.96ec6cfa.js +0 -2
  50. package/dist/chunks/9360.96ec6cfa.js.map +0 -1
  51. package/dist/chunks/elevo-sidebar.d95cf869.js.map +0 -1
  52. package/dist/chunks/main.b7a210d1.js +0 -2
  53. package/dist/chunks/main.b7a210d1.js.map +0 -1
  54. package/dist/chunks/show-case.22cdff4b.js +0 -2
  55. package/dist/chunks/show-case.22cdff4b.js.map +0 -1
  56. package/dist/index.83b29e4e.js +0 -2
  57. package/dist/index.83b29e4e.js.map +0 -1
  58. /package/dist/chunks/{4957.f878df32.js.LICENSE.txt → 3735.0389cba2.js.LICENSE.txt} +0 -0
  59. /package/dist/chunks/{8882.1dd288fd.js.LICENSE.txt → 7580.5dca4f97.js.LICENSE.txt} +0 -0
  60. /package/dist/chunks/{8889.d377e773.js.LICENSE.txt → 8889.746f8129.js.LICENSE.txt} +0 -0
  61. /package/dist/chunks/{elevo-sidebar.d95cf869.js.LICENSE.txt → elevo-sidebar.cbec3024.js.LICENSE.txt} +0 -0
@@ -0,0 +1,2 @@
1
+ (()=>{"use strict";var e,n,r,t,o,s,i,a,d,l,u,p,c,f,m,g,h,v,y,b={43832:(e,n,r)=>{var t=r(40580),o=r(58135),s=r(80004);const i=["callApi","callHttp","callTool"];function a(e,n){return!e.async&&!e.generator||(n.errors.push({message:"Function cannot be async or generator",node:e,severity:"error"}),!1)}function d(e,n){return!!e.referencesImport("next-tsx",n)||e.node.name===n&&!e.scope.getBinding(e.node.name)}function l(e,n){let r=null;return o.traverse(e,{enter(e,n){var t;!r&&(o.isFunctionExpression(e)||o.isStatement(e)||o.isAwaitExpression(e)||o.isYieldExpression(e)||o.isJSX(e)||o.isArrowFunctionExpression(e)&&(e.async||e.generator||o.isBlockStatement(e.body)||o.isObjectProperty(null===(t=n[n.length-1])||void 0===t?void 0:t.node)))&&(r=e)}}),!r||(null==n||n.errors.push({message:`Unsupported expression type: ${r.type}`,node:r,severity:"error"}),!1)}function u(e){return e.isNullLiteral()||e.isIdentifier()&&"undefined"===e.node.name&&void 0===e.scope.getBinding("undefined")}function p(e,n,r,t){var o;const s=[],i={TSTypeAnnotation(e){s.push({type:"annotation",start:e.node.start,end:e.node.end}),e.skip()},TSTypeParameterInstantiation(e){s.push({type:"annotation",start:e.node.start,end:e.node.end}),e.skip()},TSAsExpression(e){s.push({type:"annotation",start:e.node.expression.end,end:e.node.end}),e.skip()},Identifier(e){var t,o,i,a,d,l;if(!e.isReferencedIdentifier())return;const u=e.parentPath.isObjectProperty()&&e.parentPath.node.shorthand,p=e.node.name,c=e.scope.getBindingIdentifier(p);if(c){var f,m;let l;switch(c){case null===(t=r.eventBinding)||void 0===t?void 0:t.id:l=null!==(o=r.eventBinding)&&void 0!==o&&o.isCallback?"EVENT.detail":"EVENT";break;case null===(i=r.forEachBinding)||void 0===i?void 0:i.item:l="ITEM";break;case null===(a=r.forEachBinding)||void 0===a?void 0:a.index:l="INDEX";break;case null===(d=r.dataBinding)||void 0===d?void 0:d.id:l="DATA"}if(l)return void s.push({type:"id",start:e.node.start,end:e.node.end,replacement:l,shorthand:u?p:void 0});const g=null===(f=r.component)||void 0===f?void 0:f.bindingMap.get(c);g?"state"===g.kind||"resource"===g.kind||"constant"===g.kind||"param"===g.kind||"query"===g.kind?s.push({type:"id",start:e.node.start,end:e.node.end,replacement:"query"===g.kind?"QUERY":`${"template"===r.component.type?"STATE":"CTX"}.${c.name}`,shorthand:u?p:void 0}):n.errors.push({message:`Invalid usage of ${g.kind} variable "${c.name}"`,node:e.node,severity:"error"}):null!==(m=r.functionBindings)&&void 0!==m&&m.has(c)&&s.push({type:"id",start:e.node.start,end:e.node.end,replacement:`FN.${p}`,shorthand:u?p:void 0})}else null!==(l=r.contextBindings)&&void 0!==l&&l.includes(p)&&s.push({type:"id",start:e.node.start,end:e.node.end,replacement:`CTX.${p}`,shorthand:u?p:void 0})}};e.isIdentifier()&&i.Identifier(e),e.traverse(i),s.sort(((e,n)=>e.start-n.start));const a=[];let d=e.node.start;for(const e of s)a.push(n.source.substring(d,e.start),"annotation"===e.type?"":`${e.shorthand?`${e.shorthand}:`:""}${e.replacement}`),d=e.end;a.push(n.source.substring(d,e.node.end));const l=a.join("");return t?l:`<%${null!==(o=r.modifier)&&void 0!==o?o:""} ${l} %>`}const c=/^<%=?\s/,f=/\s%>$/,m={callApi:[2,3],callHttp:[1,2],callTool:[2,3]};function g(e,n,r){if(!e.isCallExpression()&&!e.isOptionalCallExpression())return n.errors.push({message:`Await expression must be a call expression, received ${e.node.type}`,node:e.node,severity:"error"}),null;const t=e.get("callee");let o;if(!t.isIdentifier())return n.errors.push({message:`Await expression must call an identifier, received ${t.type}`,node:t.node,severity:"error"}),null;for(const e of i)if(d(t,e)){o=e;break}if(!o)return n.errors.push({message:`Await expression must call "callApi", "callHttp" or "callTool", received "${t.node.name}"`,node:t.node,severity:"error"}),null;const s=m[o],a=e.get("arguments"),l=a.length<s[0];if((l||!s.includes(a.length))&&(n.errors.push({message:`"${o}()" expects ${s.join(" or ")} arguments, but got ${a.length}`,node:e.node,severity:l?"error":"warning"}),l))return null;let p;const g=a[0];if("callHttp"===o){const e=I(g,n,r);if("string"!=typeof e)return n.errors.push({message:`"${o}()" expects a string value as the first argument, but got ${typeof e}`,node:g.node,severity:"error"}),null;p={api:e,http:!0}}else if("callApi"===o){if(!g.isStringLiteral())return n.errors.push({message:`"${o}()" expects a string literal as the first argument, but got ${g.type}`,node:g.node,severity:"error"}),null;p={api:g.node.value}}else{const e=I(g,n,r);if("string"!=typeof e)return n.errors.push({message:`"${o}()" expects a string value as the first argument, but got ${typeof e}`,node:g.node,severity:"error"}),null;const t=a[1],s=I(t,n,r);if("string"!=typeof s)return n.errors.push({message:`"${o}()" expects a string value as the second argument, but got ${typeof s}`,node:t.node,severity:"error"}),null;const i=a[2];let d;i&&(d=I(i,n,r)),p={api:o,tool:{conversationId:e,stepId:s},params:d}}if("callApi"===o||"callHttp"===o){const e=a[1];if(e&&!u(e)){e.isObjectExpression()||n.errors.push({message:`Data source "params" prefers an object literal, but got ${e.type}`,node:e.node,severity:"notice"});const t=I(e,n,r);(function(e){if("string"!=typeof e)return!1;const n=e.trim();return c.test(n)&&f.test(n)})(t)||"object"==typeof t&&null!==t?p.params=t:n.errors.push({message:"API params expects an object or expression, but got "+typeof t,node:e.node,severity:"error"})}}if("callApi"===o){const e=a[2];if(e&&!u(e))if(e.isObjectExpression()){const r=e.get("properties");for(const e of r){if(!e.isObjectProperty()){n.errors.push({message:`"callApi()" third param "meta" expects object properties, but got ${e.type}`,node:e.node,severity:"error"});continue}const r=e.get("key");if(!r.isIdentifier()){n.errors.push({message:`"callApi()" third param "meta" property key must be an identifier, but got ${r.type}`,node:r.node,severity:"error"});continue}if("objectId"!==r.node.name){n.errors.push({message:`"callApi()" third param "meta" property key must be "objectId", but got "${r.node.name}"`,node:r.node,severity:"error"});continue}const t=e.get("value");if(!u(t)){if(!t.isStringLiteral()){n.errors.push({message:`"callApi()" third param "meta" property "${r.node.name}" expects a string literal, but got ${t.type}`,node:t.node,severity:"error"});continue}p.objectId=t.node.value}}}else n.errors.push({message:`"callApi()" third param "meta" expects an object literal, but got ${e.type}`,node:e.node,severity:"error"})}return p}function h(e,n,r,t){if(!e.isArrowFunctionExpression())return n.errors.push({message:`Event handler must be an arrow function expression, but got ${e.type}`,node:e.node,severity:"error"}),null;const o=e.get("params");if(o.length>1)return n.errors.push({message:`Event handler arrow function must have at most one parameter, but got ${o.length}`,node:e.node,severity:"error"}),null;const s=o[0],i={...r,modifier:void 0,eventBinding:void 0};if(s){if(!s.isIdentifier())return n.errors.push({message:`Event handler arrow function parameter must be an identifier, but got ${s.type}`,node:s.node,severity:"error"}),null;i.eventBinding={id:s.node,isCallback:t}}const a=v(e.get("body"),n,i);return a?[].concat(a):null}function v(e,n,r){if(e.isBlockStatement())return e.get("body").flatMap((e=>v(e,n,r))).filter((e=>null!==e));if(e.isIfStatement())return{action:"conditional",payload:{test:I(e.get("test"),n,r),consequent:v(e.get("consequent"),n,r),alternate:e.node.alternate?v(e.get("alternate"),n,r):null}};if(e.isExpressionStatement())return v(e.get("expression"),n,r);if(e.isCallExpression()||e.isOptionalCallExpression()){const a=e.get("callee"),l=e.get("arguments");if(a.isIdentifier()){if(d(a,"showMessage"))return 1!==l.length?(n.errors.push({message:`"showMessage()" expects exactly 1 argument, but got ${l.length}`,node:e.node,severity:"error"}),null):{action:"show_message",payload:I(l[0],n,r)};if(d(a,"pushQuery"))return 1!==l.length&&2!==l.length?(n.errors.push({message:`"pushQuery()" expects 1 or 2 arguments, but got ${l.length}`,node:e.node,severity:"error"}),null):{action:"update_query",payload:{method:"push",args:l.map((e=>I(e,n,r)))}};for(const t of i)if(d(a,t)){const t=g(e,n,r);return t?(n.contracts.add(t.api),{action:"call_api",payload:t}):null}const o=a.scope.getBindingIdentifier(a.node.name);let s;var t;return o&&(s=null===(t=r.component)||void 0===t?void 0:t.bindingMap.get(o)),s?"setState"===s.kind?{action:"update_variable",payload:{name:s.id.name,value:void 0===l[0]?void 0:I(l[0],n,{...r,modifier:void 0})}}:(n.errors.push({message:`"${a.node.name}" is not callable`,node:a.node,severity:"error"}),null):(n.errors.push({message:`Function "${a.node.name}" is not defined`,node:a.node,severity:"error"}),null)}if(a.isMemberExpression()||a.isOptionalMemberExpression()){if(a.node.computed)return n.errors.push({message:"Event handler call expression with computed member expression is not supported",node:a.node,severity:"error"}),null;const e=a.get("object");if(e.isMemberExpression()||e.isOptionalMemberExpression()){const t=e.get("property");if(!e.node.computed&&t.isIdentifier()&&"current"===t.node.name){const t=e.get("object");if(t.isIdentifier()){var o;const e=t.scope.getBindingIdentifier(t.node.name);let i;var s;if(e&&(i=null===(s=r.component)||void 0===s?void 0:s.bindingMap.get(e)),!i)return n.errors.push({message:`Variable "${t.node.name}" is not defined`,node:t.node,severity:"error"}),null;if("ref"!==i.kind)return n.errors.push({message:`Variable "${t.node.name}" is not a ref, but a ${i.kind}`,node:t.node,severity:"error"}),null;const d=a.get("property");return d.isIdentifier()?{action:"call_ref",payload:{ref:i.id.name,method:d.node.name,args:l.map((e=>I(e,n,r))),scope:null===(o=r.component)||void 0===o?void 0:o.type}}:(n.errors.push({message:"Event handler call expression with non-identifier property is not supported",node:d.node,severity:"error"}),null)}}}if(!e.isCallExpression())return n.errors.push({message:`Member expression in event handler expects a call expression as object, but got ${e.type}`,node:e.node,severity:"error"}),null;const t=e.get("callee");if(!t.isIdentifier())return n.errors.push({message:`Member expression in event handler expects an identifier as callee, but got ${t.type}`,node:t.node,severity:"error"}),null;const u=a.get("property");if(!u.isIdentifier())return n.errors.push({message:`Member expression in event handler expects an identifier as property, but got ${u.type}`,node:u.node,severity:"error"}),null;let p;for(const e of i)if(d(t,e)){p=e;break}if(p){if("then"!==u.node.name)return n.errors.push({message:`"${p}()" expects "then" as its method, but got ${u.node.name}`,node:u.node,severity:"error"}),null;if(1!==l.length)return n.errors.push({message:`"${p}().then()" expects exactly 1 argument, but got ${l.length}`,node:u.node,severity:"error"}),null;const t=g(e,n,r);if(!t)return null;n.contracts.add(t.api);const o=h(l[0],n,r,!0);return{action:"call_api",payload:t,callback:o?{success:o}:void 0}}return n.errors.push({message:`Unsupported action in event handler: ${t.node.name}`,node:t.node,severity:"error"}),null}}return n.errors.push({message:"Unsupported event handler",node:e.node,severity:"error"}),null}function y(e,n,r){var t,o;if(!e.isJSXExpressionContainer())return void n.errors.push({message:`The "ref" attribute in component expects a JSXExpressionContainer, but got ${null===(t=e.node)||void 0===t?void 0:t.type}`,node:null!==(o=e.node)&&void 0!==o?o:e.parent,severity:"error"});const s=e.get("expression");if(!s.isIdentifier())return void n.errors.push({message:`The "ref" attribute in component expects an identifier, but got ${s.node.type}`,node:s.node,severity:"error"});const i=s.node.name,a=s.scope.getBindingIdentifier(i);let d;var l;if(a&&(d=null===(l=r.component)||void 0===l?void 0:l.bindingMap.get(a)),d){if("ref"===d.kind)return d.id.name;n.errors.push({message:`The variable "${i}" is not a ref, but a ${d.kind}`,node:e.node,severity:"error"})}else n.errors.push({message:`The ref "${i}" is not defined`,node:e.node,severity:"error"})}function b(e){return e.slice(2).replace(/([a-z])([A-Z])/g,"$1.$2").toLowerCase()}function x(e,n,r){if(e.isJSXFragment())return e.get("children").flatMap((e=>x(e,n,r)));if(e.isJSXText())return e.node.value.trim()?{type:"text",text:e.node.value}:null;if(e.isJSXExpressionContainer())return x(e.get("expression"),n,r);if(e.isJSXEmptyExpression())return null;if(e.isJSXElement())return function(e,n,r){const t=e.get("openingElement"),s=t.get("name");if(!s.isJSXIdentifier())return n.errors.push({message:`Unsupported JSX element name type: ${s.type}`,node:s.node,severity:"error"}),null;if(d(s,"Fragment")){for(const e of t.node.attributes)o.isJSXAttribute(e)&&o.isJSXIdentifier(e.name)&&"key"===e.name.name||n.errors.push({message:"Invalid attribute for Fragment",node:e,severity:"error"});return e.get("children").flatMap((e=>x(e,n,r)))}const i={},a={};let l,u;for(const e of t.get("attributes")){if(e.isJSXSpreadAttribute()){n.errors.push({message:"Spread attributes are not supported in component",node:e.node,severity:"error"});continue}const t=e.get("name");if(!t.isJSXIdentifier()){n.errors.push({message:`Expected JSXIdentifier, but got ${t.node.type}`,node:t.node,severity:"error"});continue}const o=t.node.name;if("key"===o)continue;const s=e.get("value");if("ref"!==o)if(/^on[A-Z]/.test(o)){if(!s.isJSXExpressionContainer()){var p,c;n.errors.push({message:`Event handler "${o}" expects a JSXExpressionContainer, but got ${null===(p=s.node)||void 0===p?void 0:p.type}`,node:null!==(c=s.node)&&void 0!==c?c:s.parent,severity:"error"});continue}const e=s.get("expression");if(e.isJSXEmptyExpression()){n.errors.push({message:"Empty expression in events is not allowed",node:e.node,severity:"warning"});continue}let t=null;if(e.isIdentifier()){const n=e.scope.getBindingIdentifier(e.node.name);if(n){var f;const e=null===(f=r.component)||void 0===f?void 0:f.bindingMap.get(n);e&&"eventHandler"===e.kind&&(t=[{action:"dispatch_event",payload:{type:b(e.id.name),detail:"<% EVENT.detail %>"}}])}}t||(t=h(e,n,r)),t&&(null!=l||(l={}),l[b(o)]=t)}else if(null==s.node)i[o]=!0;else if(s.isStringLiteral())i[o]=s.node.value,a[o]=s.node.value;else if(s.isJSXExpressionContainer()){const e=s.get("expression");e.isJSXEmptyExpression()?n.errors.push({message:`Empty expression in JSX attribute "${o}" is not allowed`,node:e.node,severity:"warning"}):i[o]=j(e,n,{...r,allowUseBrick:!0,modifier:"="})}else n.errors.push({message:`Unsupported attribute value type in component: ${s.node.type}`,node:s.node,severity:"error"});else u=y(s,n,r)}const{textContent:m,children:g}=E(e.get("children"),n,r);return m&&(i.textContent=m),{type:"component",component:{name:s.node.name,properties:i,ref:u,events:l,children:g}}}(e,n,r);if(e.isCallExpression()){const t=e.get("callee");if(t.isMemberExpression()||t.isOptionalMemberExpression()){const o=t.get("property");if(o.isIdentifier()&&"map"===o.node.name){const o=e.get("arguments");if(o.length>0){const e=o[0];if(e.isArrowFunctionExpression()){const o=e.get("body");if(o.isExpression()&&$(o.node)){const o=t.get("object");if(!l(o.node,n))return null;const s=e.get("params");if(s.length>2)return n.errors.push({message:`Array map function with JSX elements must have at most two parameters, but got ${s.length}`,node:s[2].node,severity:"error"}),null;const i=s.find((e=>!e.isIdentifier()));if(i)return n.errors.push({message:`Array map function with JSX elements must have identifier parameters, but got ${i.type}`,node:i.node,severity:"error"}),null;const a={...r,forEachBinding:void 0};if(s.length>0){const[e,n]=s;a.forEachBinding={item:e.node,index:null==n?void 0:n.node}}return{type:"component",component:{name:"ForEach",properties:{dataSource:j(o,n,{...r,modifier:"="})},children:k(e.get("body"),n,a)}}}}}}}}else if(e.isConditionalExpression()){const t=e.get("test"),o=e.get("consequent"),s=e.get("alternate");if($(o.node)||$(s.node))return l(t.node,n)?{type:"component",component:{name:"If",properties:{dataSource:j(t,n,{...r,modifier:"="})},children:[...k(o,n,r),...k(s,n,r).map((e=>({...e,slot:"else"})))]}}:null}else if(e.isLogicalExpression()){const t=e.get("left"),o=e.get("right"),s=e.node.operator;if(("&&"===s||"||"===s)&&$(o.node)){if(!l(t.node,n))return null;const e=k(o,n,r);return{type:"component",component:{name:"If",properties:{dataSource:j(t,n,{...r,modifier:"="})},children:"&&"===s?e:e.map((e=>({...e,slot:"else"})))}}}}return e.isExpression()?l(e.node,n)?{type:"expression",expression:e}:null:(n.errors.push({message:`Unsupported node type in JSX children: ${e.type}`,node:e.node,severity:"error"}),null)}function $(e){let n=!1;return o.traverse(e,{enter(e){n||!o.isJSXElement(e)&&!o.isJSXFragment(e)||(n=!0)}}),n}function E(e,n,r){let t=e.flatMap((e=>x(e,n,r))),o=t.every((e=>"text"===(null==e?void 0:e.type)));if(!o){let e=null;const n=[];for(const r of t){if(null===r);else if("text"===r.type||"expression"===r.type){var s,i,a;if("text"===(null===(s=e)||void 0===s?void 0:s.type)||"expression"===(null===(i=e)||void 0===i?void 0:i.type)){e={type:"merged",children:[e,r]},n.splice(n.length-1,1,e);continue}if("merged"===(null===(a=e)||void 0===a?void 0:a.type)){e.children.push(r);continue}}e=r,n.push(r)}t=n,o=t.every((e=>"text"===(null==e?void 0:e.type)||"merged"===(null==e?void 0:e.type)&&e.children.every((e=>"text"===e.type))))}return o?{textContent:t.flatMap((e=>"text"===e.type?e.text:e.children.map((e=>e.text)))).join("").trim()}:t.every((e=>!!e&&"component"!==e.type))?{textContent:S(t.flatMap((e=>"merged"===e.type?e.children:e)),n,r)}:{children:t.filter((e=>!!e)).map((e=>"component"===e.type?e.component:{name:"Plaintext",properties:{textContent:"text"===e.type?e.text:"expression"===e.type?p(e.expression,n,{...r,modifier:"="}):S(e.children,n,r)}}))}}function S(e,n,r){return n.usedHelpers.add("_helper_mergeTexts"),`<%= FN._helper_mergeTexts(${e.map((e=>"text"===e.type?JSON.stringify(e):`{type:"expression",value:(${p(e.expression,n,r,!0)})}`)).join(", ")}) %>`}function k(e,n,r){const{textContent:t,children:o}=E([e],n,r);return null!=o?o:[{name:"Plaintext",properties:{textContent:t}}]}const w=Symbol("ambiguous");function I(e,n,r){if(e.isTSAsExpression())return I(e.get("expression"),n,r);if(e.isObjectExpression())return function(e,n,r){const t=e.get("properties");if(t.some((e=>e.isSpreadElement()||e.isObjectProperty()&&(e.node.computed||e.node.shorthand)))&&l(e.node,n))return r.ambiguous?w:p(e,n,r);const o={};for(const e of t){if(!e.isObjectProperty()){n.errors.push({message:`Unsupported property type: ${e.type}`,node:e.node,severity:"error"});continue}if(e.node.computed||e.node.shorthand){n.errors.push({message:"Unsupported computed or shorthand object property",node:e.node.key,severity:"error"});continue}const t=e.get("key");let s;if(t.isIdentifier())s=t.node.name;else{if(!t.isStringLiteral()){n.errors.push({message:`Unsupported object key type: ${t.node.type}`,node:t.node,severity:"error"});continue}s=t.node.value}o[s]=I(e.get("value"),n,r)}return o}(e,n,r);if(e.isArrayExpression())return function(e,n,r){const t=e.get("elements");if(t.some((e=>!e||e.isSpreadElement()))&&l(e.node,n))return r.ambiguous?w:p(e,n,r);const o=[];for(const s of t)s.node?s.isSpreadElement()?n.errors.push({message:"Spread elements are not supported in array",node:s.node,severity:"error"}):o.push(I(s,n,r)):n.errors.push({message:"Array elements cannot be empty",node:e.node,severity:"error"});return o}(e,n,r);if(e.isStringLiteral()||e.isNumericLiteral()||e.isBooleanLiteral())return e.node.value;if(e.isNullLiteral())return null;if(!e.isIdentifier()||"undefined"!==e.node.name||void 0!==e.scope.getBinding("undefined")){if(r.allowUseBrick&&e.isArrowFunctionExpression()){const t=e.get("body");if(t.isBlockStatement())return n.errors.push({message:"Block statements are not supported in render callback",node:t.node,severity:"error"}),null;const o=[];for(const r of e.get("params")){if(!r.isIdentifier())return n.errors.push({message:`Unsupported parameter type: ${r.type}`,node:r.node,severity:"error"}),null;o.push(r.node.name)}return{params:o,children:k(t,n,r)}}return e.isExpression()?l(e.node,n)?r.ambiguous?w:p(e,n,r):null:(n.errors.push({message:`Unsupported value type: ${e.node.type}`,node:e.node,severity:"error"}),null)}}function j(e,n,r){let t=!1;return o.traverse(e.node,{enter(e,n){var r;let s;t||o.isStringLiteral(e)||o.isNumericLiteral(e)||o.isBooleanLiteral(e)||o.isNullLiteral(e)||o.isObjectExpression(e)||o.isArrayExpression(e)||o.isObjectProperty(e)||o.isIdentifier(e)&&(s=null===(r=n[n.length-1])||void 0===r?void 0:r.node,1)&&(s&&o.isObjectProperty(s)?!s.computed&&!s.shorthand:"undefined"===e.name)||(t=!0)}}),t&&l(e.node,null)?p(e,n,r):I(e,n,r)}function A(e,n,r,t,o,s,i){const a=g(e,n,r);if(!a)return null;n.contracts.add(a.api);const d={name:t,config:o,...a};if(s){var l;if(s.length>("catch"===i?1:2))return n.errors.push({message:`".${i}()" expects no more than 2 arguments, but got ${s.length}`,node:null===(l=s[1])||void 0===l?void 0:l.node,severity:"error"}),null;if(s.length>0){const e=C(s[0],n,r);e&&(d["catch"===i?"rejectTransform":"transform"]=e)}if("catch"!==i&&s.length>1){const e=C(s[1],n,r);e&&(d.rejectTransform=e)}}return d}function C(e,n,r){if(!e.isArrowFunctionExpression())return n.errors.push({message:`".then()" callback expects an arrow function, but got ${e.type}`,node:e.node,severity:"error"}),null;const t=e.get("body");if(!t.isExpression())return n.errors.push({message:`".then()" callback function body expects an expression, but got ${t.type}`,node:t.node,severity:"error"}),null;const o=e.get("params");var s,i;if(o.length>1)return n.errors.push({message:`".then()" callback function expects exactly 0 or 1 parameter, but got ${o.length}`,node:null!==(s=null===(i=o[1])||void 0===i?void 0:i.node)&&void 0!==s?s:e,severity:"error"}),null;const a={...r,dataBinding:void 0},d=o[0];if(o.length>0){if(!d.isIdentifier())return n.errors.push({message:`".then()" callback function parameter expects an identifier, but got ${d.type}`,node:d.node,severity:"error"}),null;a.dataBinding={id:d.node}}return p(t,n,a)}function T(e,n,r,t){const o=e.get("id");if(!o.isArrayPattern())return null;const s=o.get("elements");if(1!==s.length&&2!==s.length)return null;const i=s[0];if(!i.isIdentifier())return null;if(1!==n.length&&2!==n.length)return null;const d=n[0];if(!d.isArrowFunctionExpression())return null;if(!a(d.node,r))return null;const l=d.get("body");if(l.isBlockStatement())return null;if(!l.isCallExpression())return null;const u=l.get("callee");if(!u.isIdentifier()&&!u.isMemberExpression())return null;const p=n[1];let c;if(p){if(!p.isObjectExpression())return r.errors.push({message:`"useResource()" second argument must be an object expression, but got ${p.type}`,node:p.node,severity:"error"}),null;for(const e of p.get("properties")){if(!e.isObjectProperty())return r.errors.push({message:`Unsupported property type in "useResource()" second argument: ${e.type}`,node:e.node,severity:"error"}),null;const n=e.get("key");if(!n.isIdentifier())return r.errors.push({message:`"useResource()" second argument property key must be an identifier, but got ${n.type}`,node:n.node,severity:"error"}),null;if(e.node.computed)return r.errors.push({message:'"useResource()" second argument property key cannot be computed',node:n.node,severity:"error"}),null;if("enabled"!==n.node.name&&"fallback"!==n.node.name)return r.errors.push({message:`"useResource()" second argument property key must be "enabled" or "fallback", but got "${n.node.name}"`,node:n.node,severity:"error"}),null;null!=c||(c={}),c[n.node.name]=I(e.get("value"),r,t)}}let f=null;if(u.isMemberExpression()){const e=u.get("property");if(!e.isIdentifier()||u.node.computed||"then"!==e.node.name&&"catch"!==e.node.name)return r.errors.push({message:"Unexpected awaited expression",node:e.node,severity:"error"}),null;f=A(u.get("object"),r,t,i.node.name,c,l.get("arguments"),e.node.name)}else f=A(l,r,t,i.node.name,c);return f?{id:i.node,kind:"resource",resource:f}:null}function B(e,n,r,t){if(!a(e.node,n))return null;const o=new Map,s={bindingMap:o,type:r},i={...t,component:s},l=e.get("params");if("template"===r){if(l.length>1)return n.errors.push({message:`Component function can only have zero or one parameter, received ${l.length}`,node:e.node,severity:"error"}),null;if(l.length>0){const e=l[0];if(!e.isObjectPattern())return n.errors.push({message:`Component function parameter must be an object pattern, received ${e.type}`,node:e.node,severity:"error"}),null;for(const r of e.get("properties")){if(r.isRestElement())return n.errors.push({message:"Component function parameter rest element is not allowed",node:r.node,severity:"error"}),null;const e=r.node;if(e.computed||!e.shorthand)return n.errors.push({message:"Component function parameter properties must be shorthand and not computed",node:r.node,severity:"error"}),null;const t=r.get("key"),s=r.get("value");if(!t.isIdentifier())return n.errors.push({message:`Component function parameter property key must be an identifier, received ${t.type}`,node:t.node,severity:"error"}),null;const a=t.node.name;if(/^on[A-Z]/.test(a)){if(!s.isIdentifier())return n.errors.push({message:`Event handler parameter "${a}" must be an identifier, received ${s.type}`,node:s.node,severity:"error"}),null;o.set(s.node,{id:s.node,kind:"eventHandler"})}else{let e,r;if(s.isAssignmentPattern()){const t=s.get("left");t.isIdentifier()&&(e=t.node,r=I(s.get("right"),n,i))}else s.isIdentifier()&&(e=s.node);if(!e){n.errors.push({message:`Component function parameter property value must be an identifier or assignment pattern, received ${s.type}`,node:s.node,severity:"error"});continue}const t={id:e,kind:"param",initialValue:r};o.set(e,t)}}}}else if(l.length>0)return n.errors.push({message:`Page function cannot have parameters, received ${l.length}`,node:e.node,severity:"error"}),null;const u=e.get("body").get("body");for(const e of u)if(e.isVariableDeclaration()){if("const"!==e.node.kind){n.errors.push({message:`Only "const" variable declaration is allowed, received "${e.node.kind}"`,node:e.node,severity:"error"});continue}for(const r of e.get("declarations")){const e=r.get("init");if(e.isCallExpression()){const t=e.get("callee");if(t.isIdentifier()){const s=e.get("arguments");if(d(t,"useState")){const e=r.get("id");if(!e.isArrayPattern())continue;const t=e.get("elements");if(2!==t.length){n.errors.push({message:`useState() destructuring must have exactly two elements, received ${t.length}`,node:e.node,severity:"error"});continue}const a=t[0],d=t[1];if(!a.isIdentifier()||!d.isIdentifier()){n.errors.push({message:`useState() destructuring must have identifiers as elements, received ${t.map((e=>e.type)).join(", ")}`,node:e.node,severity:"error"});continue}const l={id:a.node,kind:"state"};o.set(a.node,l),o.set(d.node,{id:a.node,kind:"setState"}),s.length>0&&(l.initialValue=I(s[0],n,i)),s.length>1&&n.errors.push({message:`useState() only accepts at most one argument, received ${s.length}`,node:s[1].node,severity:"warning"});continue}if(d(t,"useResource")){const e=T(r,s,n,i);e&&o.set(e.id,e);continue}if(d(t,"useRef")){const e=r.get("id");if(!e.isIdentifier()){n.errors.push({message:`useRef() must be assigned to an identifier, received ${e.type}`,node:e.node,severity:"error"});continue}s.length>1&&n.errors.push({message:`useRef() only accepts at most one argument, received ${s.length}`,node:s[1].node,severity:"warning"});const t=s[0];t&&!t.isNullLiteral()&&n.errors.push({message:`useRef() first argument must be null, received ${t.type}`,node:t.node,severity:"warning"}),o.set(e.node,{id:e.node,kind:"ref"});continue}if(d(t,"useQuery")){const e=r.get("id");if(!e.isIdentifier()){n.errors.push({message:`useQuery() must be assigned to an identifier, received ${e.type}`,node:e.node,severity:"error"});continue}s.length>0&&n.errors.push({message:`useQuery() does not accept any arguments, received ${s.length}`,node:s[0].node,severity:"warning"}),o.set(e.node,{id:e.node,kind:"query"});continue}}}const t=r.get("id");if(!t.isIdentifier()){n.errors.push({message:`Expect an identifier as the variable name, received ${t.type}`,node:t.node,severity:"error"});continue}const s={id:t.node,kind:"constant"};o.set(t.node,s),e.node&&(s.initialValue=I(e,n,i))}}else if(e.isReturnStatement()){const r=e.get("argument");if(!r.isJSXElement()&&!r.isJSXFragment()){n.errors.push({message:`Expect JSX element or fragment as the return value, received ${r.type}`,node:r.node,severity:"error"});continue}s.children=k(r,n,i)}else e.isTSInterfaceDeclaration()||e.isTSTypeAliasDeclaration()||n.errors.push({message:`Unsupported top level statement type: ${e.type}`,node:e.node,severity:"error"});return s}function O(e,n,r){if(!a(e.node,n))return null;const t=[];e.traverse({Identifier(n){if(!n.isReferencedIdentifier())return;const o=n.parentPath.isObjectProperty()&&n.parentPath.node.shorthand,s=n.scope.getBindingIdentifier(n.node.name);var i;s&&s!==e.node.id&&null!==(i=r.functionBindings)&&void 0!==i&&i.has(s)&&t.push({type:"id",start:n.node.start,end:n.node.end,replacement:`FN.${s.name}`,shorthand:o?n.node.name:void 0})}}),t.sort(((e,n)=>e.start-n.start));const o=[];let s=e.node.start;for(const e of t)o.push(n.source.substring(s,e.start),`${e.shorthand?`${e.shorthand}:`:""}${e.replacement}`),s=e.end;return o.push(n.source.substring(s,e.node.end)),{name:e.node.id.name,source:o.join(""),typescript:!0}}const M=s.default;function X(e,n,r){var t;const o={source:e,errors:[],usedHelpers:new Set,contracts:new Set};if(null!==(t=n.errors)&&void 0!==t&&t.length)for(const e of n.errors)o.errors.push({message:`${e.code}: ${e.reasonCode}`,node:null,severity:"error"});const s={source:e,filename:null==r?void 0:r.filename,defaultExport:null,internalComponents:[],internalFunctions:[],errors:o.errors,contracts:o.contracts,usedHelpers:o.usedHelpers},i=new Set,a={functionBindings:i,contextBindings:null==r?void 0:r.withContexts};return M(n,{Program(e){const n=e.get("body"),r=[],t=[];let d=null;const l=(e,n)=>{if(e.isExportNamedDeclaration()){const n=e.get("declaration");l(n,"exported")}else if(e.isFunctionDeclaration()){const n=e.node.id;if(!n)return void o.errors.push({message:"Function declaration must have a name",node:e.node,severity:"error"});!function(e){return e.name[0]>="A"&&e.name[0]<="Z"}(n)?(i.add(n),r.push(e)):t.push(e)}else if(e.isExportDefaultDeclaration()){const n=e.get("declaration");n.isFunctionDeclaration()?d=n:o.errors.push({message:`Expected function declaration as default export, but got ${n.type}`,node:n.node,severity:"error"})}else e.isTSInterfaceDeclaration||e.isTSTypeAliasDeclaration()||o.errors.push({message:`Unsupported ${n} statement type: ${e.type}`,node:e.node,severity:"error"})};for(const e of n)l(e,"top level");for(const e of r){const n=O(e,o,a);n&&s.internalFunctions.push(n)}for(const e of t){const n=B(e,o,"template",a);n&&s.internalComponents.push({...n,id:e.node.id})}if(d){const e=B(d,o,"view",a);e&&(s.defaultExport=e)}e.stop()}}),s}const J=s.default;(0,r(47695).p)(class{parse(e,n){return function(e,n){let r,s;try{r=(0,t.parse)(e,{plugins:["jsx","typescript"],sourceType:"module",errorRecovery:!0})}catch(n){return{source:e,dataSources:[],variables:[],components:[],componentsMap:new Map,contracts:new Set,errors:[{message:`Failed to parse TSX: ${n}`,node:null,severity:"fatal"}],functions:[],usedHelpers:new Set,templates:[]}}for(const t of r.program.body)if(o.isExportDefaultDeclaration(t)){o.isFunctionDeclaration(t.declaration)&&(s=X(e,r,n));break}return s||(s=function(e,n,r){var t;const o={source:e,errors:[],usedHelpers:new Set,contracts:new Set};if(null!==(t=n.errors)&&void 0!==t&&t.length)for(const e of n.errors)o.errors.push({message:`${e.code}: ${e.reasonCode}`,node:null,severity:"error"});const s=new Map,i={type:"view",bindingMap:s},a={component:i,contextBindings:null==r?void 0:r.withContexts},d={source:e,filename:null==r?void 0:r.filename,defaultExport:i,internalComponents:[],internalFunctions:[],errors:o.errors,contracts:o.contracts,usedHelpers:o.usedHelpers};return J(n,{Program(e){const n=e.get("body");let r=!1;for(const e of n)if(e.isVariableDeclaration()){if(r){o.errors.push({message:"Unexpected variable declaration after export",node:e.node,severity:"error"});continue}if("const"!==e.node.kind){o.errors.push({message:`Only "const" variable declaration is allowed, received: ${e.node.kind}`,node:e.node,severity:"error"});continue}for(const n of e.get("declarations")){const e=n.get("id");if(!e.isIdentifier()){o.errors.push({message:`Unsupported variable declaration pattern, expected: Identifier, received: ${e.type}`,node:e.node,severity:"error"});continue}const r={id:e.node,kind:"constant"},t=n.get("init");t.node&&(r.initialValue=I(t,o,a)),s.set(e.node,r)}}else if(e.isExportDefaultDeclaration()){r=!0;const n=e.get("declaration");n.isJSXElement()?i.children=k(n,o,a):o.errors.push({message:`Default export must be a JSX element, received: ${n.type}`,node:e.node,severity:"error"});break}e.stop()}}),d}(e,r,n)),function(e){const n={source:e.source,dataSources:[],variables:[],components:[],componentsMap:new Map,errors:e.errors,functions:[],contracts:e.contracts,templates:[],usedHelpers:e.usedHelpers};if(e.defaultExport){e.defaultExport.children&&n.components.push(...e.defaultExport.children);for(const r of e.defaultExport.bindingMap.values())"resource"===r.kind?n.dataSources.push(r.resource):"state"!==r.kind&&"constant"!==r.kind||n.variables.push({name:r.id.name,value:r.initialValue});n.functions.push(...e.internalFunctions);for(const r of e.internalComponents){const e={name:r.id.name,variables:[],dataSources:[],components:[]};n.templates.push(e),r.children&&e.components.push(...r.children);for(const n of r.bindingMap.values())"resource"===n.kind?e.dataSources.push(n.resource):"state"!==n.kind&&"constant"!==n.kind&&"param"!==n.kind||e.variables.push({name:n.id.name,value:n.initialValue,expose:"param"===n.kind})}}return n}(s)}(e,n)}})}},x={};function $(e){var n=x[e];if(void 0!==n)return n.exports;var r=x[e]={exports:{}};return b[e].call(r.exports,r,r.exports,$),r.exports}$.m=b,$.c=x,$.x=()=>{var e=$.O(void 0,[3735,580],(()=>$(43832)));return $.O(e)},e=[],$.O=(n,r,t,o)=>{if(!r){var s=1/0;for(l=0;l<e.length;l++){for(var[r,t,o]=e[l],i=!0,a=0;a<r.length;a++)(!1&o||s>=o)&&Object.keys($.O).every((e=>$.O[e](r[a])))?r.splice(a--,1):(i=!1,o<s&&(s=o));if(i){e.splice(l--,1);var d=t();void 0!==d&&(n=d)}}return n}o=o||0;for(var l=e.length;l>0&&e[l-1][2]>o;l--)e[l]=e[l-1];e[l]=[r,t,o]},$.d=(e,n)=>{for(var r in n)$.o(n,r)&&!$.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})},$.f={},$.e=e=>Promise.all(Object.keys($.f).reduce(((n,r)=>($.f[r](e,n),n)),[])),$.u=e=>"chunks/"+e+"."+{3735:"0389cba2",6773:"afd27a30"}[e]+".js",$.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),$.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),(()=>{$.S={};var e={},n={};$.I=(r,t)=>{t||(t=[]);var o=n[r];if(o||(o=n[r]={}),!(t.indexOf(o)>=0)){if(t.push(o),e[r])return e[r];$.o($.S,r)||($.S[r]={}),$.S[r];var s=[];return e[r]=s.length?Promise.all(s).then((()=>e[r]=1)):1}}})(),(()=>{var e;$.g.importScripts&&(e=$.g.location+"");var n=$.g.document;if(!e&&n&&(n.currentScript&&"SCRIPT"===n.currentScript.tagName.toUpperCase()&&(e=n.currentScript.src),!e)){var r=n.getElementsByTagName("script");if(r.length)for(var t=r.length-1;t>-1&&(!e||!/^http(s?):/.test(e));)e=r[t--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),$.p=e+"../"})(),n=e=>{var n=e=>e.split(".").map((e=>+e==e?+e:e)),r=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),t=r[1]?n(r[1]):[];return r[2]&&(t.length++,t.push.apply(t,n(r[2]))),r[3]&&(t.push([]),t.push.apply(t,n(r[3]))),t},r=(e,r)=>{e=n(e),r=n(r);for(var t=0;;){if(t>=e.length)return t<r.length&&"u"!=(typeof r[t])[0];var o=e[t],s=(typeof o)[0];if(t>=r.length)return"u"==s;var i=r[t],a=(typeof i)[0];if(s!=a)return"o"==s&&"n"==a||"s"==a||"u"==s;if("o"!=s&&"u"!=s&&o!=i)return o<i;t++}},t=e=>{var n=e[0],r="";if(1===e.length)return"*";if(n+.5){r+=0==n?">=":-1==n?"<":1==n?"^":2==n?"~":n>0?"=":"!=";for(var o=1,s=1;s<e.length;s++)o--,r+="u"==(typeof(a=e[s]))[0]?"-":(o>0?".":"")+(o=2,a);return r}var i=[];for(s=1;s<e.length;s++){var a=e[s];i.push(0===a?"not("+d()+")":1===a?"("+d()+" || "+d()+")":2===a?i.pop()+" "+i.pop():t(a))}return d();function d(){return i.pop().replace(/^\((.+)\)$/,"$1")}},o=(e,r)=>{if(0 in e){r=n(r);var t=e[0],s=t<0;s&&(t=-t-1);for(var i=0,a=1,d=!0;;a++,i++){var l,u,p=a<e.length?(typeof e[a])[0]:"";if(i>=r.length||"o"==(u=(typeof(l=r[i]))[0]))return!d||("u"==p?a>t&&!s:""==p!=s);if("u"==u){if(!d||"u"!=p)return!1}else if(d)if(p==u)if(a<=t){if(l!=e[a])return!1}else{if(s?l>e[a]:l<e[a])return!1;l!=e[a]&&(d=!1)}else if("s"!=p&&"n"!=p){if(s||a<=t)return!1;d=!1,a--}else{if(a<=t||u<p!=s)return!1;d=!1}else"s"!=p&&"n"!=p&&(d=!1,a--)}}var c=[],f=c.pop.bind(c);for(i=1;i<e.length;i++){var m=e[i];c.push(1==m?f()|f():2==m?f()&f():m?o(m,r):!f())}return!!f()},s=(e,n)=>e&&$.o(e,n),i=e=>(e.loaded=1,e.get()),a=e=>Object.keys(e).reduce(((n,r)=>(e[r].eager&&(n[r]=e[r]),n)),{}),d=(e,n,t)=>{var o=t?a(e[n]):e[n];return Object.keys(o).reduce(((e,n)=>!e||!o[e].loaded&&r(e,n)?n:e),0)},l=(e,n,r,o)=>"Unsatisfied version "+r+" from "+(r&&e[n][r].from)+" of shared singleton module "+n+" (required "+t(o)+")",u=e=>{throw new Error(e)},p=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},c=(e,n,r)=>r?r():((e,n)=>u("Shared module "+n+" doesn't exist in shared scope "+e))(e,n),f=(e=>function(n,r,t,o,s){var i=$.I(n);return i&&i.then&&!t?i.then(e.bind(e,n,$.S[n],r,!1,o,s)):e(n,$.S[n],r,t,o,s)})(((e,n,r,t,a,u)=>{if(!s(n,r))return c(e,r,u);var f=d(n,r,t);return o(a,f)||p(l(n,r,f,a)),i(n[r][f])})),m={},g={40580:()=>f("default","@babel/parser",!1,[0],(()=>$.e(6773).then((()=>()=>$(46773)))))},h={580:[40580]},v={},$.f.consumes=(e,n)=>{$.o(h,e)&&h[e].forEach((e=>{if($.o(m,e))return n.push(m[e]);if(!v[e]){var r=n=>{m[e]=0,$.m[e]=r=>{delete $.c[e],r.exports=n()}};v[e]=!0;var t=n=>{delete m[e],$.m[e]=r=>{throw delete $.c[e],n}};try{var o=g[e]();o.then?n.push(m[e]=o.then(r).catch(t)):r(o)}catch(e){t(e)}}}))},(()=>{var e={3832:1};$.f.i=(n,r)=>{e[n]||580!=n&&importScripts($.p+$.u(n))};var n=globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[],r=n.push.bind(n);n.push=n=>{var[t,o,s]=n;for(var i in o)$.o(o,i)&&($.m[i]=o[i]);for(s&&s($);t.length;)e[t.pop()]=1;r(n)}})(),y=$.x,$.x=()=>Promise.all([$.e(3735),$.e(580)]).then(y),$.x()})();
2
+ //# sourceMappingURL=3832.9b48b5f5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/3832.9b48b5f5.js","mappings":"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","sources":["webpack:///webpack/runtime/chunk loaded","webpack:///webpack/runtime/consumes","webpack:///webpack/runtime/startup chunk dependencies","webpack:///../../../src/modules/constants.ts","webpack:///../../../src/modules/validations.ts","webpack:///../../../src/modules/parseEmbedded.ts","webpack:///../../src/utils.ts","webpack:///../../../src/modules/parseCallApi.ts","webpack:///../../../src/modules/parseEvent.ts","webpack:///../../../src/modules/parseJSXElement.ts","webpack:///../../../src/modules/parseElement.ts","webpack:///../../../src/modules/parseLowLevelChildren.ts","webpack:///../../../src/modules/parseChildren.ts","webpack:///../../../src/modules/parseJsValue.ts","webpack:///../../../src/modules/parseResourceCall.ts","webpack:///../../../src/modules/parseUseResource.ts","webpack:///../../../src/modules/parseComponent.ts","webpack:///../../../src/modules/parseFunction.ts","webpack:///../../../src/modules/parseModule.ts","webpack:///../../../src/modules/parseLegacyModule.ts","webpack:///./src/shared/workers/tsxParser.worker.ts","webpack:///../../src/parseTsx.ts","webpack:///../../../src/modules/moduleToCompatible.ts","webpack:///webpack/bootstrap","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/ensure chunk","webpack:///webpack/runtime/get javascript chunk filename","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/sharing","webpack:///webpack/runtime/publicPath","webpack:///webpack/runtime/importScripts chunk loading","webpack:///webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var parseVersion = (str) => {\n\t// see webpack/lib/util/semver.js for original code\n\tvar p=p=>{return p.split(\".\").map((p=>{return+p==p?+p:p}))},n=/^([^-+]+)?(?:-([^+]+))?(?:\\+(.+))?$/.exec(str),r=n[1]?p(n[1]):[];return n[2]&&(r.length++,r.push.apply(r,p(n[2]))),n[3]&&(r.push([]),r.push.apply(r,p(n[3]))),r;\n}\nvar versionLt = (a, b) => {\n\t// see webpack/lib/util/semver.js for original code\n\ta=parseVersion(a),b=parseVersion(b);for(var r=0;;){if(r>=a.length)return r<b.length&&\"u\"!=(typeof b[r])[0];var e=a[r],n=(typeof e)[0];if(r>=b.length)return\"u\"==n;var t=b[r],f=(typeof t)[0];if(n!=f)return\"o\"==n&&\"n\"==f||(\"s\"==f||\"u\"==n);if(\"o\"!=n&&\"u\"!=n&&e!=t)return e<t;r++}\n}\nvar rangeToString = (range) => {\n\t// see webpack/lib/util/semver.js for original code\n\tvar r=range[0],n=\"\";if(1===range.length)return\"*\";if(r+.5){n+=0==r?\">=\":-1==r?\"<\":1==r?\"^\":2==r?\"~\":r>0?\"=\":\"!=\";for(var e=1,a=1;a<range.length;a++){e--,n+=\"u\"==(typeof(t=range[a]))[0]?\"-\":(e>0?\".\":\"\")+(e=2,t)}return n}var g=[];for(a=1;a<range.length;a++){var t=range[a];g.push(0===t?\"not(\"+o()+\")\":1===t?\"(\"+o()+\" || \"+o()+\")\":2===t?g.pop()+\" \"+g.pop():rangeToString(t))}return o();function o(){return g.pop().replace(/^\\((.+)\\)$/,\"$1\")}\n}\nvar satisfy = (range, version) => {\n\t// see webpack/lib/util/semver.js for original code\n\tif(0 in range){version=parseVersion(version);var e=range[0],r=e<0;r&&(e=-e-1);for(var n=0,i=1,a=!0;;i++,n++){var f,s,g=i<range.length?(typeof range[i])[0]:\"\";if(n>=version.length||\"o\"==(s=(typeof(f=version[n]))[0]))return!a||(\"u\"==g?i>e&&!r:\"\"==g!=r);if(\"u\"==s){if(!a||\"u\"!=g)return!1}else if(a)if(g==s)if(i<=e){if(f!=range[i])return!1}else{if(r?f>range[i]:f<range[i])return!1;f!=range[i]&&(a=!1)}else if(\"s\"!=g&&\"n\"!=g){if(r||i<=e)return!1;a=!1,i--}else{if(i<=e||s<g!=r)return!1;a=!1}else\"s\"!=g&&\"n\"!=g&&(a=!1,i--)}}var t=[],o=t.pop.bind(t);for(n=1;n<range.length;n++){var u=range[n];t.push(1==u?o()|o():2==u?o()&o():u?satisfy(u,version):!o())}return!!o();\n}\nvar exists = (scope, key) => {\n\treturn scope && __webpack_require__.o(scope, key);\n}\nvar get = (entry) => {\n\tentry.loaded = 1;\n\treturn entry.get()\n};\nvar eagerOnly = (versions) => {\n\treturn Object.keys(versions).reduce((filtered, version) => {\n\t\t\tif (versions[version].eager) {\n\t\t\t\tfiltered[version] = versions[version];\n\t\t\t}\n\t\t\treturn filtered;\n\t}, {});\n};\nvar findLatestVersion = (scope, key, eager) => {\n\tvar versions = eager ? eagerOnly(scope[key]) : scope[key];\n\tvar key = Object.keys(versions).reduce((a, b) => {\n\t\treturn !a || versionLt(a, b) ? b : a;\n\t}, 0);\n\treturn key && versions[key];\n};\nvar findSatisfyingVersion = (scope, key, requiredVersion, eager) => {\n\tvar versions = eager ? eagerOnly(scope[key]) : scope[key];\n\tvar key = Object.keys(versions).reduce((a, b) => {\n\t\tif (!satisfy(requiredVersion, b)) return a;\n\t\treturn !a || versionLt(a, b) ? b : a;\n\t}, 0);\n\treturn key && versions[key]\n};\nvar findSingletonVersionKey = (scope, key, eager) => {\n\tvar versions = eager ? eagerOnly(scope[key]) : scope[key];\n\treturn Object.keys(versions).reduce((a, b) => {\n\t\treturn !a || (!versions[a].loaded && versionLt(a, b)) ? b : a;\n\t}, 0);\n};\nvar getInvalidSingletonVersionMessage = (scope, key, version, requiredVersion) => {\n\treturn \"Unsatisfied version \" + version + \" from \" + (version && scope[key][version].from) + \" of shared singleton module \" + key + \" (required \" + rangeToString(requiredVersion) + \")\"\n};\nvar getInvalidVersionMessage = (scope, scopeName, key, requiredVersion, eager) => {\n\tvar versions = scope[key];\n\treturn \"No satisfying version (\" + rangeToString(requiredVersion) + \")\" + (eager ? \" for eager consumption\" : \"\") + \" of shared module \" + key + \" found in shared scope \" + scopeName + \".\\n\" +\n\t\t\"Available versions: \" + Object.keys(versions).map((key) => {\n\t\treturn key + \" from \" + versions[key].from;\n\t}).join(\", \");\n};\nvar fail = (msg) => {\n\tthrow new Error(msg);\n}\nvar failAsNotExist = (scopeName, key) => {\n\treturn fail(\"Shared module \" + key + \" doesn't exist in shared scope \" + scopeName);\n}\nvar warn = /*#__PURE__*/ (msg) => {\n\tif (typeof console !== \"undefined\" && console.warn) console.warn(msg);\n};\nvar init = (fn) => (function(scopeName, key, eager, c, d) {\n\tvar promise = __webpack_require__.I(scopeName);\n\tif (promise && promise.then && !eager) {\n\t\treturn promise.then(fn.bind(fn, scopeName, __webpack_require__.S[scopeName], key, false, c, d));\n\t}\n\treturn fn(scopeName, __webpack_require__.S[scopeName], key, eager, c, d);\n});\n\nvar useFallback = (scopeName, key, fallback) => {\n\treturn fallback ? fallback() : failAsNotExist(scopeName, key);\n}\nvar load = /*#__PURE__*/ init((scopeName, scope, key, eager, fallback) => {\n\tif (!exists(scope, key)) return useFallback(scopeName, key, fallback);\n\treturn get(findLatestVersion(scope, key, eager));\n});\nvar loadVersion = /*#__PURE__*/ init((scopeName, scope, key, eager, requiredVersion, fallback) => {\n\tif (!exists(scope, key)) return useFallback(scopeName, key, fallback);\n\tvar satisfyingVersion = findSatisfyingVersion(scope, key, requiredVersion, eager);\n\tif (satisfyingVersion) return get(satisfyingVersion);\n\twarn(getInvalidVersionMessage(scope, scopeName, key, requiredVersion, eager))\n\treturn get(findLatestVersion(scope, key, eager));\n});\nvar loadStrictVersion = /*#__PURE__*/ init((scopeName, scope, key, eager, requiredVersion, fallback) => {\n\tif (!exists(scope, key)) return useFallback(scopeName, key, fallback);\n\tvar satisfyingVersion = findSatisfyingVersion(scope, key, requiredVersion, eager);\n\tif (satisfyingVersion) return get(satisfyingVersion);\n\tif (fallback) return fallback();\n\tfail(getInvalidVersionMessage(scope, scopeName, key, requiredVersion, eager));\n});\nvar loadSingleton = /*#__PURE__*/ init((scopeName, scope, key, eager, fallback) => {\n\tif (!exists(scope, key)) return useFallback(scopeName, key, fallback);\n\tvar version = findSingletonVersionKey(scope, key, eager);\n\treturn get(scope[key][version]);\n});\nvar loadSingletonVersion = /*#__PURE__*/ init((scopeName, scope, key, eager, requiredVersion, fallback) => {\n\tif (!exists(scope, key)) return useFallback(scopeName, key, fallback);\n\tvar version = findSingletonVersionKey(scope, key, eager);\n\tif (!satisfy(requiredVersion, version)) {\n\t\twarn(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));\n\t}\n\treturn get(scope[key][version]);\n});\nvar loadStrictSingletonVersion = /*#__PURE__*/ init((scopeName, scope, key, eager, requiredVersion, fallback) => {\n\tif (!exists(scope, key)) return useFallback(scopeName, key, fallback);\n\tvar version = findSingletonVersionKey(scope, key, eager);\n\tif (!satisfy(requiredVersion, version)) {\n\t\tfail(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));\n\t}\n\treturn get(scope[key][version]);\n});\nvar installedModules = {};\nvar moduleToHandlerMapping = {\n\t40580: () => (loadSingletonVersion(\"default\", \"@babel/parser\", false, [0], () => (__webpack_require__.e(6773).then(() => (() => (__webpack_require__(46773)))))))\n};\n// no consumes in initial chunks\nvar chunkMapping = {\n\t\"580\": [\n\t\t40580\n\t]\n};\nvar startedInstallModules = {};\n__webpack_require__.f.consumes = (chunkId, promises) => {\n\tif(__webpack_require__.o(chunkMapping, chunkId)) {\n\t\tchunkMapping[chunkId].forEach((id) => {\n\t\t\tif(__webpack_require__.o(installedModules, id)) return promises.push(installedModules[id]);\n\t\t\tif(!startedInstallModules[id]) {\n\t\t\tvar onFactory = (factory) => {\n\t\t\t\tinstalledModules[id] = 0;\n\t\t\t\t__webpack_require__.m[id] = (module) => {\n\t\t\t\t\tdelete __webpack_require__.c[id];\n\t\t\t\t\tmodule.exports = factory();\n\t\t\t\t}\n\t\t\t};\n\t\t\tstartedInstallModules[id] = true;\n\t\t\tvar onError = (error) => {\n\t\t\t\tdelete installedModules[id];\n\t\t\t\t__webpack_require__.m[id] = (module) => {\n\t\t\t\t\tdelete __webpack_require__.c[id];\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t};\n\t\t\ttry {\n\t\t\t\tvar promise = moduleToHandlerMapping[id]();\n\t\t\t\tif(promise.then) {\n\t\t\t\t\tpromises.push(installedModules[id] = promise.then(onFactory)['catch'](onError));\n\t\t\t\t} else onFactory(promise);\n\t\t\t} catch(e) { onError(e); }\n\t\t\t}\n\t\t});\n\t}\n}","var next = __webpack_require__.x;\n__webpack_require__.x = () => {\n\treturn Promise.all([\n\t\t__webpack_require__.e(3735),\n\t\t__webpack_require__.e(580)\n\t]).then(next);\n};","export const MODULE_SOURCE = \"next-tsx\";\n\nexport const CALL_API_LIST = [\"callApi\", \"callHttp\", \"callTool\"] as const;\n","import type { NodePath } from \"@babel/traverse\";\nimport * as t from \"@babel/types\";\nimport type { ParseModuleState } from \"./interfaces.js\";\nimport { MODULE_SOURCE } from \"./constants.js\";\n\nexport function validateFunction(\n fn: t.FunctionDeclaration | t.FunctionExpression | t.ArrowFunctionExpression,\n state: ParseModuleState\n): boolean {\n if (fn.async || fn.generator) {\n state.errors.push({\n message: `Function cannot be async or generator`,\n node: fn,\n severity: \"error\",\n });\n return false;\n }\n\n return true;\n}\n\nexport function validateGlobalApi(\n id: NodePath<t.Identifier | t.JSXIdentifier>,\n api: string\n): boolean {\n const ref = id.referencesImport(MODULE_SOURCE, api);\n if (ref) {\n return true;\n }\n return id.node.name === api && !id.scope.getBinding(id.node.name);\n}\n\nexport function validateEmbeddedExpression(\n expr: t.Expression,\n state: ParseModuleState | null\n): boolean {\n let invalidNode: t.Node | null = null;\n\n t.traverse(expr, {\n enter(node, parent) {\n if (\n !invalidNode &&\n (t.isFunctionExpression(node) ||\n t.isStatement(node) ||\n t.isAwaitExpression(node) ||\n t.isYieldExpression(node) ||\n t.isJSX(node) ||\n (t.isArrowFunctionExpression(node) &&\n (node.async ||\n node.generator ||\n t.isBlockStatement(node.body) ||\n t.isObjectProperty(parent[parent.length - 1]?.node))))\n ) {\n invalidNode = node;\n }\n },\n });\n\n if (invalidNode) {\n state?.errors.push({\n message: `Unsupported expression type: ${(invalidNode as t.Node).type}`,\n node: invalidNode,\n severity: \"error\",\n });\n return false;\n }\n\n return true;\n}\n\nexport function isNilPath(path: NodePath<t.Node>) {\n return (\n path.isNullLiteral() ||\n (path.isIdentifier() &&\n path.node.name === \"undefined\" &&\n path.scope.getBinding(\"undefined\") === undefined)\n );\n}\n\nconst EXPRESSION_PREFIX_REG = /^<%=?\\s/;\nconst EXPRESSION_SUFFIX_REG = /\\s%>$/;\n\nexport function isExpressionString(value: unknown): value is string {\n if (typeof value !== \"string\") {\n return false;\n }\n const trimmed = value.trim();\n return (\n EXPRESSION_PREFIX_REG.test(trimmed) && EXPRESSION_SUFFIX_REG.test(trimmed)\n );\n}\n","import type { NodePath, Visitor } from \"@babel/traverse\";\nimport type * as t from \"@babel/types\";\nimport type { ParseJsValueOptions, ParseModuleState } from \"./interfaces.js\";\n\ntype Replacement = IdReplacement | Annotation;\n\ninterface IdReplacement {\n type: \"id\";\n start: number;\n end: number;\n replacement: string;\n shorthand?: string;\n}\n\ninterface Annotation {\n type: \"annotation\";\n start: number;\n end: number;\n}\n\nexport function parseEmbedded(\n path: NodePath<t.Expression | t.FunctionDeclaration>,\n state: ParseModuleState,\n options: ParseJsValueOptions,\n noWrapping?: boolean\n): string {\n const replacements: Replacement[] = [];\n\n const visitor: Visitor = {\n TSTypeAnnotation(tsPath) {\n replacements.push({\n type: \"annotation\",\n start: tsPath.node.start!,\n end: tsPath.node.end!,\n });\n tsPath.skip();\n },\n TSTypeParameterInstantiation(tsPath) {\n replacements.push({\n type: \"annotation\",\n start: tsPath.node.start!,\n end: tsPath.node.end!,\n });\n tsPath.skip();\n },\n TSAsExpression(tsPath) {\n replacements.push({\n type: \"annotation\",\n start: tsPath.node.expression.end!,\n end: tsPath.node.end!,\n });\n tsPath.skip();\n },\n Identifier(idPath) {\n if (!idPath.isReferencedIdentifier()) {\n return;\n }\n const shorthand =\n idPath.parentPath.isObjectProperty() &&\n idPath.parentPath.node.shorthand;\n const varName = idPath.node.name;\n const bindingId = idPath.scope.getBindingIdentifier(varName);\n if (bindingId) {\n let specificReplacement: string | undefined;\n switch (bindingId) {\n case options.eventBinding?.id:\n specificReplacement = options.eventBinding?.isCallback\n ? \"EVENT.detail\"\n : \"EVENT\";\n break;\n case options.forEachBinding?.item:\n specificReplacement = \"ITEM\";\n break;\n case options.forEachBinding?.index:\n specificReplacement = \"INDEX\";\n break;\n case options.dataBinding?.id:\n specificReplacement = \"DATA\";\n break;\n }\n if (specificReplacement) {\n replacements.push({\n type: \"id\",\n start: idPath.node.start!,\n end: idPath.node.end!,\n replacement: specificReplacement,\n shorthand: shorthand ? varName : undefined,\n });\n return;\n }\n\n const binding = options.component?.bindingMap.get(bindingId);\n if (binding) {\n if (\n binding.kind === \"state\" ||\n binding.kind === \"resource\" ||\n binding.kind === \"constant\" ||\n binding.kind === \"param\" ||\n binding.kind === \"query\"\n ) {\n replacements.push({\n type: \"id\",\n start: idPath.node.start!,\n end: idPath.node.end!,\n replacement:\n binding.kind === \"query\"\n ? \"QUERY\"\n : `${options.component!.type === \"template\" ? \"STATE\" : \"CTX\"}.${bindingId.name}`,\n shorthand: shorthand ? varName : undefined,\n });\n } else {\n state.errors.push({\n message: `Invalid usage of ${binding.kind} variable \"${bindingId.name}\"`,\n node: idPath.node,\n severity: \"error\",\n });\n }\n } else if (options.functionBindings?.has(bindingId)) {\n replacements.push({\n type: \"id\",\n start: idPath.node.start!,\n end: idPath.node.end!,\n replacement: `FN.${varName}`,\n shorthand: shorthand ? varName : undefined,\n });\n }\n } else if (options.contextBindings?.includes(varName)) {\n replacements.push({\n type: \"id\",\n start: idPath.node.start!,\n end: idPath.node.end!,\n replacement: `CTX.${varName}`,\n shorthand: shorthand ? varName : undefined,\n });\n }\n },\n };\n\n if (path.isIdentifier()) {\n (visitor.Identifier as any)(path);\n }\n path.traverse(visitor);\n\n replacements.sort((a, b) => a.start - b.start);\n\n const chunks: string[] = [];\n let prevStart = path.node.start!;\n for (const rep of replacements) {\n chunks.push(\n state.source.substring(prevStart, rep.start),\n rep.type === \"annotation\"\n ? \"\"\n : `${rep.shorthand ? `${rep.shorthand}:` : \"\"}${rep.replacement}`\n );\n prevStart = rep.end;\n }\n chunks.push(state.source.substring(prevStart, path.node.end!));\n\n const value = chunks.join(\"\");\n\n if (noWrapping) {\n return value;\n }\n\n return `<%${options.modifier ?? \"\"} ${value} %>`;\n}\n","const EXPRESSION_PREFIX_REG = /^<%=?\\s/;\nconst EXPRESSION_SUFFIX_REG = /\\s%>$/;\n\nexport function isExpressionString(value: unknown): value is string {\n if (typeof value !== \"string\") {\n return false;\n }\n const trimmed = value.trim();\n return (\n EXPRESSION_PREFIX_REG.test(trimmed) && EXPRESSION_SUFFIX_REG.test(trimmed)\n );\n}\n","import type { NodePath } from \"@babel/traverse\";\nimport type * as t from \"@babel/types\";\nimport type {\n ParseJsValueOptions,\n ParseModuleState,\n ToolInfo,\n} from \"./interfaces.js\";\nimport { parseJsValue } from \"./parseJsValue.js\";\nimport { isNilPath, validateGlobalApi } from \"./validations.js\";\nimport { isExpressionString } from \"../utils.js\";\nimport { CALL_API_LIST } from \"./constants.js\";\n\nexport interface CallApiPayload {\n api: string;\n http?: boolean;\n tool?: ToolInfo;\n params?: string | Record<string, unknown>;\n ambiguousParams?: unknown;\n objectId?: string;\n}\n\nconst EXPECTED_ARGS = {\n callApi: [2, 3],\n callHttp: [1, 2],\n callTool: [2, 3],\n};\n\nexport function parseCallApi(\n path: NodePath<t.Expression>,\n state: ParseModuleState,\n options: ParseJsValueOptions\n): CallApiPayload | null {\n if (!(path.isCallExpression() || path.isOptionalCallExpression())) {\n state.errors.push({\n message: `Await expression must be a call expression, received ${path.node.type}`,\n node: path.node,\n severity: \"error\",\n });\n return null;\n }\n const callee = path.get(\"callee\") as NodePath<t.Expression>;\n let calleeName: \"callApi\" | \"callHttp\" | \"callTool\" | undefined;\n if (callee.isIdentifier()) {\n for (const name of CALL_API_LIST) {\n if (validateGlobalApi(callee, name)) {\n calleeName = name;\n break;\n }\n }\n if (!calleeName) {\n state.errors.push({\n message: `Await expression must call \"callApi\", \"callHttp\" or \"callTool\", received \"${callee.node.name}\"`,\n node: callee.node,\n severity: \"error\",\n });\n return null;\n }\n } else {\n state.errors.push({\n message: `Await expression must call an identifier, received ${callee.type}`,\n node: callee.node,\n severity: \"error\",\n });\n return null;\n }\n\n const expectedArgs = EXPECTED_ARGS[calleeName];\n\n const args = path.get(\"arguments\") as NodePath<\n t.Expression | t.SpreadElement | t.ArgumentPlaceholder\n >[];\n const missingArgs = args.length < expectedArgs[0];\n if (missingArgs || !expectedArgs.includes(args.length)) {\n state.errors.push({\n message: `\"${calleeName}()\" expects ${expectedArgs.join(\" or \")} arguments, but got ${args.length}`,\n node: path.node,\n severity: missingArgs ? \"error\" : \"warning\",\n });\n if (missingArgs) {\n return null;\n }\n }\n\n let payload: CallApiPayload;\n const firstArg = args[0];\n\n if (calleeName === \"callHttp\") {\n const value = parseJsValue(firstArg, state, options);\n if (typeof value !== \"string\") {\n state.errors.push({\n message: `\"${calleeName}()\" expects a string value as the first argument, but got ${typeof value}`,\n node: firstArg.node,\n severity: \"error\",\n });\n return null;\n }\n payload = {\n api: value,\n http: true,\n };\n } else if (calleeName === \"callApi\") {\n if (!firstArg.isStringLiteral()) {\n state.errors.push({\n message: `\"${calleeName}()\" expects a string literal as the first argument, but got ${firstArg.type}`,\n node: firstArg.node,\n severity: \"error\",\n });\n return null;\n }\n payload = {\n api: firstArg.node.value,\n };\n } else {\n const conversationId = parseJsValue(firstArg, state, options);\n if (typeof conversationId !== \"string\") {\n state.errors.push({\n message: `\"${calleeName}()\" expects a string value as the first argument, but got ${typeof conversationId}`,\n node: firstArg.node,\n severity: \"error\",\n });\n return null;\n }\n\n const secondArg = args[1];\n const stepId = parseJsValue(secondArg, state, options);\n if (typeof stepId !== \"string\") {\n state.errors.push({\n message: `\"${calleeName}()\" expects a string value as the second argument, but got ${typeof stepId}`,\n node: secondArg.node,\n severity: \"error\",\n });\n return null;\n }\n\n const paramsNode = args[2];\n let params: string | Record<string, unknown> | undefined;\n if (paramsNode) {\n params = parseJsValue(paramsNode, state, options) as\n | string\n | Record<string, unknown>;\n }\n payload = {\n api: calleeName,\n tool: { conversationId, stepId },\n params,\n };\n }\n\n if (calleeName === \"callApi\" || calleeName === \"callHttp\") {\n const valuePath = args[1];\n\n if (valuePath && !isNilPath(valuePath)) {\n if (!valuePath.isObjectExpression()) {\n state.errors.push({\n message: `Data source \"params\" prefers an object literal, but got ${valuePath.type}`,\n node: valuePath.node,\n severity: \"notice\",\n });\n }\n const params = parseJsValue(valuePath, state, options);\n if (\n isExpressionString(params) ||\n (typeof params === \"object\" && params !== null)\n ) {\n payload.params = params as string | Record<string, unknown>;\n } else {\n state.errors.push({\n message: `API params expects an object or expression, but got ${typeof params}`,\n node: valuePath.node,\n severity: \"error\",\n });\n }\n // TODO: set ambiguousProps when reward is enabled\n }\n }\n\n if (calleeName === \"callApi\") {\n const metaPath = args[2];\n if (metaPath && !isNilPath(metaPath)) {\n if (!metaPath.isObjectExpression()) {\n state.errors.push({\n message: `\"callApi()\" third param \"meta\" expects an object literal, but got ${metaPath.type}`,\n node: metaPath.node,\n severity: \"error\",\n });\n } else {\n const props = metaPath.get(\"properties\");\n for (const prop of props) {\n if (!prop.isObjectProperty()) {\n state.errors.push({\n message: `\"callApi()\" third param \"meta\" expects object properties, but got ${prop.type}`,\n node: prop.node,\n severity: \"error\",\n });\n continue;\n }\n const key = prop.get(\"key\");\n if (!key.isIdentifier()) {\n state.errors.push({\n message: `\"callApi()\" third param \"meta\" property key must be an identifier, but got ${key.type}`,\n node: key.node,\n severity: \"error\",\n });\n continue;\n }\n if (key.node.name !== \"objectId\") {\n state.errors.push({\n message: `\"callApi()\" third param \"meta\" property key must be \"objectId\", but got \"${key.node.name}\"`,\n node: key.node,\n severity: \"error\",\n });\n continue;\n }\n const value = prop.get(\"value\");\n if (!isNilPath(value)) {\n if (!value.isStringLiteral()) {\n state.errors.push({\n message: `\"callApi()\" third param \"meta\" property \"${key.node.name}\" expects a string literal, but got ${value.type}`,\n node: value.node,\n severity: \"error\",\n });\n continue;\n }\n payload.objectId = value.node.value;\n }\n }\n }\n }\n }\n\n return payload;\n}\n","import type { NodePath } from \"@babel/traverse\";\nimport type * as t from \"@babel/types\";\nimport type {\n BindingInfo,\n EventHandler,\n ParseJsValueOptions,\n ParseModuleState,\n TypeEventHandlerOfShowMessage,\n} from \"./interfaces.js\";\nimport { parseJsValue } from \"./parseJsValue.js\";\nimport { CALL_API_LIST } from \"./constants.js\";\nimport { parseCallApi } from \"./parseCallApi.js\";\nimport { validateGlobalApi } from \"./validations.js\";\n\nexport function parseEvent(\n path: NodePath<t.Node>,\n state: ParseModuleState,\n options: ParseJsValueOptions,\n isCallback?: boolean\n): EventHandler[] | null {\n if (!path.isArrowFunctionExpression()) {\n state.errors.push({\n message: `Event handler must be an arrow function expression, but got ${path.type}`,\n node: path.node,\n severity: \"error\",\n });\n return null;\n }\n\n const params = path.get(\"params\");\n if (params.length > 1) {\n state.errors.push({\n message: `Event handler arrow function must have at most one parameter, but got ${params.length}`,\n node: path.node,\n severity: \"error\",\n });\n return null;\n }\n\n const param = params[0];\n const eventOptions: ParseJsValueOptions = {\n ...options,\n modifier: undefined,\n eventBinding: undefined,\n };\n if (param) {\n if (!param.isIdentifier()) {\n state.errors.push({\n message: `Event handler arrow function parameter must be an identifier, but got ${param.type}`,\n node: param.node,\n severity: \"error\",\n });\n return null;\n }\n eventOptions.eventBinding = { id: param.node, isCallback };\n }\n\n const body = path.get(\"body\");\n const handler = parseEventHandler(body, state, eventOptions);\n if (!handler) {\n return null;\n }\n\n return ([] as EventHandler[]).concat(handler);\n}\n\nfunction parseEventHandler(\n path: NodePath<t.Statement | t.Expression | null | undefined>,\n state: ParseModuleState,\n options: ParseJsValueOptions\n): EventHandler | EventHandler[] | null {\n if (path.isBlockStatement()) {\n return path\n .get(\"body\")\n .flatMap((stmtPath) => parseEventHandler(stmtPath, state, options))\n .filter((h): h is EventHandler => h !== null);\n }\n\n if (path.isIfStatement()) {\n const test = parseJsValue(path.get(\"test\"), state, options) as\n | string\n | boolean\n | undefined;\n return {\n action: \"conditional\",\n payload: {\n test,\n consequent: parseEventHandler(path.get(\"consequent\"), state, options),\n alternate: path.node.alternate\n ? parseEventHandler(path.get(\"alternate\"), state, options)\n : null,\n },\n };\n }\n\n if (path.isExpressionStatement()) {\n return parseEventHandler(path.get(\"expression\"), state, options);\n }\n\n if (path.isCallExpression() || path.isOptionalCallExpression()) {\n const callee = (path as NodePath<t.CallExpression>).get(\"callee\");\n const args = (path as NodePath<t.CallExpression>).get(\n \"arguments\"\n ) as NodePath<t.Expression | t.SpreadElement>[];\n if (callee.isIdentifier()) {\n if (validateGlobalApi(callee, \"showMessage\")) {\n if (args.length !== 1) {\n state.errors.push({\n message: `\"showMessage()\" expects exactly 1 argument, but got ${args.length}`,\n node: path.node,\n severity: \"error\",\n });\n return null;\n }\n const payload = parseJsValue(args[0], state, options);\n return {\n action: \"show_message\",\n payload,\n } as TypeEventHandlerOfShowMessage;\n }\n\n if (validateGlobalApi(callee, \"pushQuery\")) {\n if (args.length !== 1 && args.length !== 2) {\n state.errors.push({\n message: `\"pushQuery()\" expects 1 or 2 arguments, but got ${args.length}`,\n node: path.node,\n severity: \"error\",\n });\n return null;\n }\n const queryArgs = args.map((arg) => parseJsValue(arg, state, options));\n return {\n action: \"update_query\",\n payload: {\n method: \"push\",\n args: queryArgs,\n },\n };\n }\n\n for (const name of CALL_API_LIST) {\n if (validateGlobalApi(callee, name)) {\n const payload = parseCallApi(path, state, options);\n if (!payload) {\n return null;\n }\n state.contracts.add(payload.api);\n return {\n action: \"call_api\",\n payload,\n };\n }\n }\n\n // Assert: callee.isReferencedIdentifier()\n const bindingId = callee.scope.getBindingIdentifier(callee.node.name);\n let binding: BindingInfo | undefined;\n if (bindingId) {\n binding = options.component?.bindingMap.get(bindingId);\n }\n if (!binding) {\n state.errors.push({\n message: `Function \"${callee.node.name}\" is not defined`,\n node: callee.node,\n severity: \"error\",\n });\n return null;\n }\n switch (binding.kind) {\n case \"setState\":\n return {\n action: \"update_variable\",\n payload: {\n name: binding.id.name,\n value:\n args[0] === undefined\n ? undefined\n : parseJsValue(args[0], state, {\n ...options,\n modifier: undefined,\n }),\n },\n };\n default:\n state.errors.push({\n message: `\"${callee.node.name}\" is not callable`,\n node: callee.node,\n severity: \"error\",\n });\n return null;\n }\n } else if (\n callee.isMemberExpression() ||\n callee.isOptionalMemberExpression()\n ) {\n if (callee.node.computed) {\n state.errors.push({\n message: `Event handler call expression with computed member expression is not supported`,\n node: callee.node,\n severity: \"error\",\n });\n return null;\n }\n const object = (callee as NodePath<t.MemberExpression>).get(\"object\");\n if (object.isMemberExpression() || object.isOptionalMemberExpression()) {\n const property = (object as NodePath<t.MemberExpression>).get(\n \"property\"\n );\n if (\n !object.node.computed &&\n property.isIdentifier() &&\n property.node.name === \"current\"\n ) {\n const refObject = (object as NodePath<t.MemberExpression>).get(\n \"object\"\n );\n if (refObject.isIdentifier()) {\n const refBindingId = refObject.scope.getBindingIdentifier(\n refObject.node.name\n );\n let refBinding: BindingInfo | undefined;\n if (refBindingId) {\n refBinding = options.component?.bindingMap.get(refBindingId);\n }\n if (!refBinding) {\n state.errors.push({\n message: `Variable \"${refObject.node.name}\" is not defined`,\n node: refObject.node,\n severity: \"error\",\n });\n return null;\n }\n if (refBinding.kind !== \"ref\") {\n state.errors.push({\n message: `Variable \"${refObject.node.name}\" is not a ref, but a ${refBinding.kind}`,\n node: refObject.node,\n severity: \"error\",\n });\n return null;\n }\n const property = (callee as NodePath<t.MemberExpression>).get(\n \"property\"\n );\n if (!property.isIdentifier()) {\n state.errors.push({\n message: `Event handler call expression with non-identifier property is not supported`,\n node: property.node,\n severity: \"error\",\n });\n return null;\n }\n return {\n action: \"call_ref\",\n payload: {\n ref: refBinding.id.name,\n method: property.node.name,\n args: args.map((arg) => parseJsValue(arg, state, options)),\n scope: options.component?.type,\n },\n };\n }\n }\n }\n\n if (!object.isCallExpression()) {\n state.errors.push({\n message: `Member expression in event handler expects a call expression as object, but got ${object.type}`,\n node: object.node,\n severity: \"error\",\n });\n return null;\n }\n const objectCallee = object.get(\"callee\");\n if (!objectCallee.isIdentifier()) {\n state.errors.push({\n message: `Member expression in event handler expects an identifier as callee, but got ${objectCallee.type}`,\n node: objectCallee.node,\n severity: \"error\",\n });\n return null;\n }\n const property = (callee as NodePath<t.MemberExpression>).get(\"property\");\n if (!property.isIdentifier()) {\n state.errors.push({\n message: `Member expression in event handler expects an identifier as property, but got ${property.type}`,\n node: property.node,\n severity: \"error\",\n });\n return null;\n }\n // const action = objectCallee.node.name;\n let calleeName: \"callApi\" | \"callHttp\" | \"callTool\" | undefined;\n for (const name of CALL_API_LIST) {\n if (validateGlobalApi(objectCallee, name)) {\n calleeName = name;\n break;\n }\n }\n if (calleeName) {\n if (property.node.name !== \"then\") {\n state.errors.push({\n message: `\"${calleeName}()\" expects \"then\" as its method, but got ${property.node.name}`,\n node: property.node,\n severity: \"error\",\n });\n return null;\n }\n if (args.length !== 1) {\n state.errors.push({\n message: `\"${calleeName}().then()\" expects exactly 1 argument, but got ${args.length}`,\n node: property.node,\n severity: \"error\",\n });\n return null;\n }\n const payload = parseCallApi(object, state, options);\n if (!payload) {\n return null;\n }\n state.contracts.add(payload.api);\n const successCallback = parseEvent(args[0], state, options, true);\n return {\n action: \"call_api\",\n payload,\n callback: successCallback ? { success: successCallback } : undefined,\n };\n }\n\n state.errors.push({\n message: `Unsupported action in event handler: ${objectCallee.node.name}`,\n node: objectCallee.node,\n severity: \"error\",\n });\n return null;\n }\n }\n\n state.errors.push({\n message: `Unsupported event handler`,\n node: path.node,\n severity: \"error\",\n });\n\n return null;\n}\n","import type { NodePath } from \"@babel/traverse\";\nimport * as t from \"@babel/types\";\nimport type {\n BindingInfo,\n ComponentChild,\n EventHandler,\n Events,\n ParseJsValueOptions,\n ParseModuleState,\n} from \"./interfaces.js\";\nimport { parsePropValue } from \"./parseJsValue.js\";\nimport { parseLowLevelChildren } from \"./parseLowLevelChildren.js\";\nimport type { ChildElement } from \"./internal-interfaces.js\";\nimport { parseElement } from \"./parseElement.js\";\nimport { parseEvent } from \"./parseEvent.js\";\nimport { validateGlobalApi } from \"./validations.js\";\n\nexport function parseJSXElement(\n path: NodePath<t.JSXElement>,\n state: ParseModuleState,\n options: ParseJsValueOptions\n): ChildElement | null | (ChildElement | null)[] {\n const openingElement = path.get(\"openingElement\");\n const tagName = openingElement.get(\"name\");\n if (!tagName.isJSXIdentifier()) {\n state.errors.push({\n message: `Unsupported JSX element name type: ${tagName.type}`,\n node: tagName.node,\n severity: \"error\",\n });\n return null;\n }\n\n if (validateGlobalApi(tagName, \"Fragment\")) {\n for (const attr of openingElement.node.attributes) {\n if (\n !(\n t.isJSXAttribute(attr) &&\n t.isJSXIdentifier(attr.name) &&\n attr.name.name === \"key\"\n )\n ) {\n state.errors.push({\n message: `Invalid attribute for Fragment`,\n node: attr,\n severity: \"error\",\n });\n }\n }\n return path\n .get(\"children\")\n .flatMap((child) => parseElement(child, state, options));\n }\n\n const properties: Record<string, unknown> = {};\n const ambiguousProps: Record<string, unknown> = {};\n let events: Events | undefined;\n let ref: string | undefined;\n\n for (const attr of openingElement.get(\"attributes\")) {\n if (attr.isJSXSpreadAttribute()) {\n state.errors.push({\n message: `Spread attributes are not supported in component`,\n node: attr.node,\n severity: \"error\",\n });\n continue;\n }\n const attrNamePath = (attr as NodePath<t.JSXAttribute>).get(\"name\");\n if (!attrNamePath.isJSXIdentifier()) {\n state.errors.push({\n message: `Expected JSXIdentifier, but got ${attrNamePath.node.type}`,\n node: attrNamePath.node,\n severity: \"error\",\n });\n continue;\n }\n const attrName = attrNamePath.node.name;\n if (attrName === \"key\") {\n // Ignore key attribute\n continue;\n }\n const attrValuePath = (attr as NodePath<t.JSXAttribute>).get(\"value\");\n\n if (attrName === \"ref\") {\n ref = parseRefAttribute(attrValuePath, state, options);\n continue;\n }\n\n const isEventHandler = /^on[A-Z]/.test(attrName);\n if (isEventHandler) {\n if (!attrValuePath.isJSXExpressionContainer()) {\n state.errors.push({\n message: `Event handler \"${attrName}\" expects a JSXExpressionContainer, but got ${attrValuePath.node?.type}`,\n node: attrValuePath.node ?? attrValuePath.parent,\n severity: \"error\",\n });\n continue;\n }\n const exprPath = attrValuePath.get(\"expression\");\n if (exprPath.isJSXEmptyExpression()) {\n state.errors.push({\n message: `Empty expression in events is not allowed`,\n node: exprPath.node,\n severity: \"warning\",\n });\n continue;\n }\n let handler: EventHandler[] | null = null;\n // Assert: exprPath.isReferencedIdentifier()\n if (exprPath.isIdentifier()) {\n const bindingId = exprPath.scope.getBindingIdentifier(\n exprPath.node.name\n );\n if (bindingId) {\n const binding = options.component?.bindingMap.get(bindingId);\n if (binding && binding.kind === \"eventHandler\") {\n handler = [\n {\n action: \"dispatch_event\",\n payload: {\n type: convertJsxEventAttr(binding.id.name),\n detail: \"<% EVENT.detail %>\",\n },\n },\n ];\n }\n }\n }\n if (!handler) {\n handler = parseEvent(exprPath, state, options);\n }\n if (handler) {\n events ??= {};\n events[convertJsxEventAttr(attrName)] = handler;\n }\n } else {\n if (attrValuePath.node == null) {\n properties[attrName] = true;\n } else if (attrValuePath.isStringLiteral()) {\n properties[attrName] = attrValuePath.node.value;\n ambiguousProps[attrName] = attrValuePath.node.value;\n } else if (attrValuePath.isJSXExpressionContainer()) {\n const exprPath = attrValuePath.get(\"expression\");\n if (exprPath.isJSXEmptyExpression()) {\n state.errors.push({\n message: `Empty expression in JSX attribute \"${attrName}\" is not allowed`,\n node: exprPath.node,\n severity: \"warning\",\n });\n } else {\n properties[attrName] = parsePropValue(\n exprPath as NodePath<t.Expression>,\n state,\n {\n ...options,\n allowUseBrick: true,\n modifier: \"=\",\n }\n );\n // TODO: set ambiguousProps when reward is enabled\n }\n } else {\n state.errors.push({\n message: `Unsupported attribute value type in component: ${attrValuePath.node.type}`,\n node: attrValuePath.node,\n severity: \"error\",\n });\n }\n }\n }\n\n const { textContent, children } = parseLowLevelChildren(\n path.get(\"children\"),\n state,\n options\n );\n\n if (textContent) {\n properties.textContent = textContent;\n }\n\n const child: ComponentChild = {\n name: tagName.node.name,\n properties,\n ref,\n events,\n children,\n };\n\n return {\n type: \"component\",\n component: child,\n };\n}\n\nfunction parseRefAttribute(\n attrValuePath: NodePath<t.Node | null | undefined>,\n state: ParseModuleState,\n options: ParseJsValueOptions\n): string | undefined {\n if (!attrValuePath.isJSXExpressionContainer()) {\n state.errors.push({\n message: `The \"ref\" attribute in component expects a JSXExpressionContainer, but got ${attrValuePath.node?.type}`,\n node: attrValuePath.node ?? attrValuePath.parent,\n severity: \"error\",\n });\n return;\n }\n const exprPath = attrValuePath.get(\"expression\");\n if (!exprPath.isIdentifier()) {\n state.errors.push({\n message: `The \"ref\" attribute in component expects an identifier, but got ${exprPath.node.type}`,\n node: exprPath.node,\n severity: \"error\",\n });\n return;\n }\n const refName = exprPath.node.name;\n // Assert: exprPath.isReferencedIdentifier()\n const bindingId = exprPath.scope.getBindingIdentifier(refName);\n let binding: BindingInfo | undefined;\n if (bindingId) {\n binding = options.component?.bindingMap.get(bindingId);\n }\n if (!binding) {\n state.errors.push({\n message: `The ref \"${refName}\" is not defined`,\n node: attrValuePath.node,\n severity: \"error\",\n });\n return;\n }\n if (binding.kind !== \"ref\") {\n state.errors.push({\n message: `The variable \"${refName}\" is not a ref, but a ${binding.kind}`,\n node: attrValuePath.node,\n severity: \"error\",\n });\n return;\n }\n return binding.id.name;\n}\n\nfunction convertJsxEventAttr(attr: string): string {\n return attr\n .slice(2)\n .replace(/([a-z])([A-Z])/g, \"$1.$2\")\n .toLowerCase();\n}\n","import type { NodePath } from \"@babel/traverse\";\nimport * as t from \"@babel/types\";\nimport type { ParseJsValueOptions, ParseModuleState } from \"./interfaces.js\";\nimport { validateEmbeddedExpression } from \"./validations.js\";\nimport type { ChildElement } from \"./internal-interfaces.js\";\nimport { parseJSXElement } from \"./parseJSXElement.js\";\nimport { parsePropValue } from \"./parseJsValue.js\";\nimport { parseChildren } from \"./parseChildren.js\";\n\nexport function parseElement(\n path: NodePath<t.Node>,\n state: ParseModuleState,\n options: ParseJsValueOptions\n): ChildElement | null | (ChildElement | null)[] {\n if (path.isJSXFragment()) {\n const children = path.get(\"children\");\n return children.flatMap((child) => parseElement(child, state, options));\n }\n\n if (path.isJSXText()) {\n if (path.node.value.trim()) {\n return {\n type: \"text\",\n text: path.node.value,\n };\n }\n return null;\n }\n\n if (path.isJSXExpressionContainer()) {\n return parseElement(path.get(\"expression\"), state, options);\n }\n\n if (path.isJSXEmptyExpression()) {\n return null;\n }\n\n if (path.isJSXElement()) {\n return parseJSXElement(path, state, options);\n }\n\n if (path.isCallExpression()) {\n const callee = path.get(\"callee\");\n if (callee.isMemberExpression() || callee.isOptionalMemberExpression()) {\n const property = callee.get(\"property\") as NodePath<t.Identifier>;\n if (property.isIdentifier() && property.node.name === \"map\") {\n const args = path.get(\"arguments\");\n if (args.length > 0) {\n const func = args[0];\n if (func.isArrowFunctionExpression()) {\n const body = func.get(\"body\");\n if (body.isExpression() && containsJsxNode(body.node)) {\n const object = callee.get(\"object\") as NodePath<t.Expression>;\n if (!validateEmbeddedExpression(object.node, state)) {\n return null;\n }\n const params = func.get(\"params\");\n if (params.length > 2) {\n state.errors.push({\n message: `Array map function with JSX elements must have at most two parameters, but got ${params.length}`,\n node: params[2].node,\n severity: \"error\",\n });\n return null;\n }\n const invalidParam = params.find((p) => !p.isIdentifier());\n if (invalidParam) {\n state.errors.push({\n message: `Array map function with JSX elements must have identifier parameters, but got ${invalidParam.type}`,\n node: invalidParam.node,\n severity: \"error\",\n });\n return null;\n }\n\n const forEachOptions: ParseJsValueOptions = {\n ...options,\n forEachBinding: undefined,\n };\n if (params.length > 0) {\n const [itemArg, indexArg] = params as NodePath<t.Identifier>[];\n forEachOptions.forEachBinding = {\n item: itemArg.node,\n index: indexArg?.node,\n };\n }\n\n return {\n type: \"component\",\n component: {\n name: \"ForEach\",\n properties: {\n dataSource: parsePropValue(object, state, {\n ...options,\n modifier: \"=\",\n }),\n },\n children: parseChildren(\n func.get(\"body\"),\n state,\n forEachOptions\n ),\n },\n };\n }\n }\n }\n }\n }\n } else if (path.isConditionalExpression()) {\n const test = path.get(\"test\");\n const consequent = path.get(\"consequent\");\n const alternate = path.get(\"alternate\");\n if (containsJsxNode(consequent.node) || containsJsxNode(alternate.node)) {\n if (!validateEmbeddedExpression(test.node, state)) {\n return null;\n }\n return {\n type: \"component\",\n component: {\n name: \"If\",\n properties: {\n dataSource: parsePropValue(test, state, {\n ...options,\n modifier: \"=\",\n }),\n },\n children: [\n ...parseChildren(consequent, state, options),\n ...parseChildren(alternate, state, options).map((component) => ({\n ...component,\n slot: \"else\",\n })),\n ],\n },\n };\n }\n } else if (path.isLogicalExpression()) {\n const left = path.get(\"left\");\n const right = path.get(\"right\");\n const operator = path.node.operator;\n if (\n (operator === \"&&\" || operator === \"||\") &&\n containsJsxNode(right.node)\n ) {\n if (!validateEmbeddedExpression(left.node, state)) {\n return null;\n }\n const children = parseChildren(right, state, options);\n return {\n type: \"component\",\n component: {\n name: \"If\",\n properties: {\n dataSource: parsePropValue(left, state, {\n ...options,\n modifier: \"=\",\n }),\n },\n children:\n operator === \"&&\"\n ? children\n : children.map((component) => ({\n ...component,\n slot: \"else\",\n })),\n },\n };\n }\n }\n\n if (path.isExpression()) {\n if (validateEmbeddedExpression(path.node, state)) {\n return {\n type: \"expression\",\n expression: path,\n };\n }\n return null;\n }\n\n state.errors.push({\n message: `Unsupported node type in JSX children: ${path.type}`,\n node: path.node,\n severity: \"error\",\n });\n return null;\n}\n\nfunction containsJsxNode(expr: t.Expression): boolean {\n let found = false;\n t.traverse(expr, {\n enter(node) {\n if (!found && (t.isJSXElement(node) || t.isJSXFragment(node))) {\n found = true;\n }\n },\n });\n return found;\n}\n","import type { NodePath } from \"@babel/traverse\";\nimport type * as t from \"@babel/types\";\nimport type {\n ChildElement,\n ChildExpression,\n ChildMerged,\n ChildText,\n} from \"./internal-interfaces.js\";\nimport type {\n ComponentChild,\n ParseJsValueOptions,\n ParseModuleState,\n} from \"./interfaces.js\";\nimport { parseElement } from \"./parseElement.js\";\nimport { parseEmbedded } from \"./parseEmbedded.js\";\n\nexport function parseLowLevelChildren(\n paths: NodePath<t.Node>[],\n state: ParseModuleState,\n options: ParseJsValueOptions\n): {\n textContent?: string;\n children?: ComponentChild[];\n} {\n let rawChildren: (ChildElement | ChildMerged)[] = paths.flatMap((p) =>\n parseElement(p, state, options)\n );\n\n let onlyTextChildren = rawChildren.every((child) => child?.type === \"text\");\n if (!onlyTextChildren) {\n let previousChild: ChildElement | ChildMerged = null;\n const tempChildren: (ChildElement | ChildMerged)[] = [];\n\n for (const child of rawChildren) {\n if (child === null) {\n // Do nothing\n } else if (child.type === \"text\" || child.type === \"expression\") {\n if (\n previousChild?.type === \"text\" ||\n previousChild?.type === \"expression\"\n ) {\n previousChild = {\n type: \"merged\",\n children: [previousChild, child],\n };\n tempChildren.splice(tempChildren.length - 1, 1, previousChild);\n continue;\n } else if (previousChild?.type === \"merged\") {\n previousChild.children.push(child);\n continue;\n }\n }\n previousChild = child;\n tempChildren.push(child);\n }\n\n rawChildren = tempChildren;\n onlyTextChildren = rawChildren.every(\n (child) =>\n child?.type === \"text\" ||\n (child?.type === \"merged\" &&\n child.children.every((c) => c.type === \"text\"))\n );\n }\n\n if (onlyTextChildren) {\n const textContent = rawChildren\n .flatMap((child) =>\n child!.type === \"text\"\n ? child!.text\n : (child as ChildMerged).children.map((c) => (c as ChildText).text)\n )\n .join(\"\")\n .trim();\n return { textContent };\n }\n const onlyLooseTextChildren = rawChildren.every(\n (child) => !!child && child.type !== \"component\"\n );\n if (onlyLooseTextChildren) {\n const textContent = constructMergeTexts(\n rawChildren.flatMap((child) =>\n child!.type === \"merged\"\n ? (child as ChildMerged).children\n : (child as ChildText)\n ),\n state,\n options\n );\n return { textContent };\n }\n\n const children = rawChildren\n .filter((child) => !!child)\n .map((child) =>\n child.type === \"component\"\n ? child.component\n : {\n name: \"Plaintext\",\n properties: {\n textContent:\n child.type === \"text\"\n ? child.text\n : child.type === \"expression\"\n ? parseEmbedded(child.expression, state, {\n ...options,\n modifier: \"=\",\n })\n : constructMergeTexts(child.children, state, options),\n },\n }\n );\n\n return { children };\n}\n\nfunction constructMergeTexts(\n elements: (ChildText | ChildExpression)[],\n state: ParseModuleState,\n options: ParseJsValueOptions\n) {\n state.usedHelpers.add(\"_helper_mergeTexts\");\n return `<%= FN._helper_mergeTexts(${elements\n .map((elem) =>\n elem.type === \"text\"\n ? JSON.stringify(elem)\n : `{type:\"expression\",value:(${parseEmbedded(elem.expression, state, options, true)})}`\n )\n .join(\", \")}) %>`;\n}\n","import type { NodePath } from \"@babel/traverse\";\nimport type * as t from \"@babel/types\";\nimport type {\n ComponentChild,\n ParseJsValueOptions,\n ParseModuleState,\n} from \"./interfaces.js\";\nimport { parseLowLevelChildren } from \"./parseLowLevelChildren.js\";\n\nexport function parseChildren(\n path: NodePath<t.Node>,\n state: ParseModuleState,\n options: ParseJsValueOptions\n): ComponentChild[] {\n const { textContent, children } = parseLowLevelChildren(\n [path],\n state,\n options\n );\n\n return (\n children ?? [\n {\n name: \"Plaintext\",\n properties: { textContent },\n },\n ]\n );\n}\n","import type { NodePath } from \"@babel/traverse\";\nimport * as t from \"@babel/types\";\nimport type {\n ParseJsValueOptions,\n ParseModuleState,\n RenderUseBrick,\n} from \"./interfaces.js\";\nimport { validateEmbeddedExpression } from \"./validations.js\";\nimport { parseEmbedded } from \"./parseEmbedded.js\";\nimport { parseChildren } from \"./parseChildren.js\";\n\nconst ambiguousSymbol = Symbol(\"ambiguous\");\n\nexport function parseJsValue(\n path: NodePath<t.Node>,\n state: ParseModuleState,\n options: ParseJsValueOptions\n): unknown {\n if (path.isTSAsExpression()) {\n return parseJsValue(path.get(\"expression\"), state, options);\n }\n\n if (path.isObjectExpression()) {\n return parseJsObject(path, state, options);\n }\n\n if (path.isArrayExpression()) {\n return parseJsArray(path, state, options);\n }\n\n if (\n path.isStringLiteral() ||\n path.isNumericLiteral() ||\n path.isBooleanLiteral()\n ) {\n return path.node.value;\n }\n\n if (path.isNullLiteral()) {\n return null;\n }\n\n if (\n path.isIdentifier() &&\n path.node.name === \"undefined\" &&\n path.scope.getBinding(\"undefined\") === undefined\n ) {\n return undefined;\n }\n\n if (options.allowUseBrick && path.isArrowFunctionExpression()) {\n const expr = path.get(\"body\");\n if (expr.isBlockStatement()) {\n state.errors.push({\n message: \"Block statements are not supported in render callback\",\n node: expr.node,\n severity: \"error\",\n });\n return null;\n }\n const paramNames: string[] = [];\n for (const param of path.get(\"params\")) {\n if (param.isIdentifier()) {\n paramNames.push(param.node.name);\n } else {\n state.errors.push({\n message: `Unsupported parameter type: ${param.type}`,\n node: param.node,\n severity: \"error\",\n });\n return null;\n }\n }\n return {\n params: paramNames,\n children: parseChildren(expr, state, options),\n } as RenderUseBrick;\n }\n\n if (path.isExpression()) {\n if (!validateEmbeddedExpression(path.node, state)) {\n return null;\n }\n\n if (options.ambiguous) {\n return ambiguousSymbol;\n }\n\n return parseEmbedded(path, state, options);\n }\n\n state.errors.push({\n message: `Unsupported value type: ${path.node.type}`,\n node: path.node,\n severity: \"error\",\n });\n return null;\n}\n\nexport function parsePropValue(\n path: NodePath<t.Expression>,\n state: ParseModuleState,\n options: ParseJsValueOptions\n) {\n let shouldCompute = false;\n t.traverse(path.node, {\n enter(node, parent) {\n let p: t.Node | undefined;\n if (\n !shouldCompute &&\n !(\n t.isStringLiteral(node) ||\n t.isNumericLiteral(node) ||\n t.isBooleanLiteral(node) ||\n t.isNullLiteral(node) ||\n t.isObjectExpression(node) ||\n t.isArrayExpression(node) ||\n t.isObjectProperty(node) ||\n (t.isIdentifier(node) &&\n ((p = parent[parent.length - 1]?.node), true) &&\n (p && t.isObjectProperty(p)\n ? !p.computed && !p.shorthand\n : node.name === \"undefined\"))\n )\n ) {\n shouldCompute = true;\n }\n },\n });\n\n if (shouldCompute && validateEmbeddedExpression(path.node, null)) {\n return parseEmbedded(path, state, options);\n }\n\n return parseJsValue(path, state, options);\n}\n\nfunction parseJsObject(\n path: NodePath<t.ObjectExpression>,\n state: ParseModuleState,\n options: ParseJsValueOptions\n) {\n const props = path.get(\"properties\");\n if (\n props.some(\n (p) =>\n p.isSpreadElement() ||\n (p.isObjectProperty() && (p.node.computed || p.node.shorthand))\n ) &&\n validateEmbeddedExpression(path.node, state)\n ) {\n if (options.ambiguous) {\n return ambiguousSymbol;\n }\n return parseEmbedded(path, state, options);\n }\n\n const result: Record<string, unknown> = {};\n\n for (const prop of props) {\n if (!prop.isObjectProperty()) {\n state.errors.push({\n message: `Unsupported property type: ${prop.type}`,\n node: prop.node,\n severity: \"error\",\n });\n continue;\n }\n\n if (prop.node.computed || prop.node.shorthand) {\n state.errors.push({\n message: \"Unsupported computed or shorthand object property\",\n node: prop.node.key,\n severity: \"error\",\n });\n continue;\n }\n\n const keyPath = prop.get(\"key\");\n let key: string;\n if (keyPath.isIdentifier()) {\n key = keyPath.node.name;\n } else if (keyPath.isStringLiteral()) {\n key = keyPath.node.value;\n } else {\n state.errors.push({\n message: `Unsupported object key type: ${keyPath.node.type}`,\n node: keyPath.node,\n severity: \"error\",\n });\n continue;\n }\n\n result[key] = parseJsValue(prop.get(\"value\"), state, options);\n }\n\n return result;\n}\n\nfunction parseJsArray(\n path: NodePath<t.ArrayExpression>,\n state: ParseModuleState,\n options: ParseJsValueOptions\n) {\n const elements = path.get(\"elements\");\n if (\n elements.some((e) => !e || e.isSpreadElement()) &&\n validateEmbeddedExpression(path.node, state)\n ) {\n if (options.ambiguous) {\n return ambiguousSymbol;\n }\n return parseEmbedded(path, state, options);\n }\n\n const result: unknown[] = [];\n\n for (const elem of elements) {\n if (!elem.node) {\n state.errors.push({\n message: \"Array elements cannot be empty\",\n node: path.node,\n severity: \"error\",\n });\n continue;\n }\n if (elem.isSpreadElement()) {\n state.errors.push({\n message: \"Spread elements are not supported in array\",\n node: elem.node,\n severity: \"error\",\n });\n continue;\n }\n result.push(parseJsValue(elem as NodePath<t.Expression>, state, options));\n }\n\n return result;\n}\n","import type { NodePath } from \"@babel/traverse\";\nimport type * as t from \"@babel/types\";\nimport type {\n DataSource,\n DataSourceConfig,\n ParseJsValueOptions,\n ParseModuleState,\n} from \"./interfaces.js\";\nimport { parseCallApi } from \"./parseCallApi.js\";\nimport { parseEmbedded } from \"./parseEmbedded.js\";\n\nexport function parseResourceCall(\n path: NodePath<t.Expression>,\n state: ParseModuleState,\n options: ParseJsValueOptions,\n name: string,\n config?: DataSourceConfig,\n transformArgs?: NodePath<\n t.Expression | t.SpreadElement | t.ArgumentPlaceholder\n >[],\n method?: \"then\" | \"catch\"\n): DataSource | null {\n const payload = parseCallApi(path, state, options);\n if (!payload) {\n return null;\n }\n state.contracts.add(payload.api);\n const dataSource: DataSource = {\n name,\n config,\n ...payload,\n };\n\n if (transformArgs) {\n if (transformArgs.length > (method === \"catch\" ? 1 : 2)) {\n state.errors.push({\n message: `\".${method}()\" expects no more than 2 arguments, but got ${transformArgs.length}`,\n node: transformArgs[1]?.node,\n severity: \"error\",\n });\n return null;\n }\n if (transformArgs.length > 0) {\n const transform = parsePromiseCallback(transformArgs[0], state, options);\n if (transform) {\n dataSource[method === \"catch\" ? \"rejectTransform\" : \"transform\"] =\n transform;\n }\n }\n if (method !== \"catch\" && transformArgs.length > 1) {\n const transform = parsePromiseCallback(transformArgs[1], state, options);\n if (transform) {\n dataSource.rejectTransform = transform;\n }\n }\n }\n\n return dataSource;\n}\n\nfunction parsePromiseCallback(\n callback: NodePath<t.ArgumentPlaceholder | t.SpreadElement | t.Expression>,\n state: ParseModuleState,\n options: ParseJsValueOptions\n): string | null {\n if (!callback.isArrowFunctionExpression()) {\n state.errors.push({\n message: `\".then()\" callback expects an arrow function, but got ${callback.type}`,\n node: callback.node,\n severity: \"error\",\n });\n return null;\n }\n const body = callback.get(\"body\");\n if (!body.isExpression()) {\n state.errors.push({\n message: `\".then()\" callback function body expects an expression, but got ${body.type}`,\n node: body.node,\n severity: \"error\",\n });\n return null;\n }\n const params = callback.get(\"params\");\n if (params.length > 1) {\n state.errors.push({\n message: `\".then()\" callback function expects exactly 0 or 1 parameter, but got ${params.length}`,\n node: params[1]?.node ?? callback,\n severity: \"error\",\n });\n return null;\n }\n const optionsWithData: ParseJsValueOptions = {\n ...options,\n dataBinding: undefined,\n };\n const arg = params[0];\n if (params.length > 0) {\n if (!arg.isIdentifier()) {\n state.errors.push({\n message: `\".then()\" callback function parameter expects an identifier, but got ${arg.type}`,\n node: arg.node,\n severity: \"error\",\n });\n return null;\n }\n optionsWithData.dataBinding = { id: arg.node };\n }\n return parseEmbedded(body, state, optionsWithData);\n}\n","import type { NodePath } from \"@babel/traverse\";\nimport type * as t from \"@babel/types\";\nimport type {\n ParseModuleState,\n DataSourceConfig,\n ParseJsValueOptions,\n DataSource,\n BindingInfo,\n} from \"./interfaces.js\";\nimport { validateFunction } from \"./validations.js\";\nimport { parseJsValue } from \"./parseJsValue.js\";\nimport { parseResourceCall } from \"./parseResourceCall.js\";\n\nexport function parseUseResource(\n decl: NodePath<t.VariableDeclarator>,\n args: NodePath<t.Expression | t.SpreadElement | t.ArgumentPlaceholder>[],\n state: ParseModuleState,\n options: ParseJsValueOptions\n): BindingInfo | null {\n const declId = decl.get(\"id\");\n if (!declId.isArrayPattern()) {\n return null;\n }\n const elements = declId.get(\"elements\");\n if (elements.length !== 1 && elements.length !== 2) {\n return null;\n }\n const resourceVar = elements[0];\n if (!resourceVar.isIdentifier()) {\n return null;\n }\n if (args.length !== 1 && args.length !== 2) {\n return null;\n }\n const resourcePath = args[0];\n if (!resourcePath.isArrowFunctionExpression()) {\n return null;\n }\n if (!validateFunction(resourcePath.node, state)) {\n return null;\n }\n const call = resourcePath.get(\"body\");\n if (call.isBlockStatement()) {\n return null;\n }\n if (!call.isCallExpression()) {\n return null;\n }\n const callee = call.get(\"callee\");\n if (!(callee.isIdentifier() || callee.isMemberExpression())) {\n return null;\n }\n const resourceConfig = args[1];\n let config: DataSourceConfig | undefined;\n if (resourceConfig) {\n if (!resourceConfig.isObjectExpression()) {\n state.errors.push({\n message: `\"useResource()\" second argument must be an object expression, but got ${resourceConfig.type}`,\n node: resourceConfig.node,\n severity: \"error\",\n });\n return null;\n }\n for (const prop of resourceConfig.get(\"properties\")) {\n if (!prop.isObjectProperty()) {\n state.errors.push({\n message: `Unsupported property type in \"useResource()\" second argument: ${prop.type}`,\n node: prop.node,\n severity: \"error\",\n });\n return null;\n }\n const key = prop.get(\"key\");\n if (!key.isIdentifier()) {\n state.errors.push({\n message: `\"useResource()\" second argument property key must be an identifier, but got ${key.type}`,\n node: key.node,\n severity: \"error\",\n });\n return null;\n }\n if (prop.node.computed) {\n state.errors.push({\n message: `\"useResource()\" second argument property key cannot be computed`,\n node: key.node,\n severity: \"error\",\n });\n return null;\n }\n if (key.node.name !== \"enabled\" && key.node.name !== \"fallback\") {\n state.errors.push({\n message: `\"useResource()\" second argument property key must be \"enabled\" or \"fallback\", but got \"${key.node.name}\"`,\n node: key.node,\n severity: \"error\",\n });\n return null;\n }\n config ??= {};\n config[key.node.name] = parseJsValue(prop.get(\"value\"), state, options);\n }\n }\n\n let resource: DataSource | null = null;\n if (callee.isMemberExpression()) {\n const property = callee.get(\"property\");\n if (\n !property.isIdentifier() ||\n callee.node.computed ||\n (property.node.name !== \"then\" && property.node.name !== \"catch\")\n ) {\n state.errors.push({\n message: `Unexpected awaited expression`,\n node: property.node,\n severity: \"error\",\n });\n return null;\n }\n resource = parseResourceCall(\n callee.get(\"object\"),\n state,\n options,\n resourceVar.node.name,\n config,\n call.get(\"arguments\"),\n property.node.name\n );\n } else {\n resource = parseResourceCall(\n call,\n state,\n options,\n resourceVar.node.name,\n config\n );\n }\n\n if (resource) {\n return { id: resourceVar.node, kind: \"resource\", resource };\n }\n\n return null;\n}\n","import type { NodePath } from \"@babel/traverse\";\nimport type * as t from \"@babel/types\";\nimport type {\n BindingInfo,\n BindingMap,\n ParsedComponent,\n ParseJsValueOptions,\n ParseModuleState,\n} from \"./interfaces.js\";\nimport { validateFunction, validateGlobalApi } from \"./validations.js\";\nimport { parseJsValue } from \"./parseJsValue.js\";\nimport { parseChildren } from \"./parseChildren.js\";\nimport { parseUseResource } from \"./parseUseResource.js\";\n\nexport function parseComponent(\n fn: NodePath<t.FunctionDeclaration>,\n state: ParseModuleState,\n type: \"template\" | \"view\",\n globalOptions?: ParseJsValueOptions\n): ParsedComponent | null {\n if (!validateFunction(fn.node, state)) {\n return null;\n }\n\n const bindingMap: BindingMap = new Map();\n const component: ParsedComponent = {\n bindingMap,\n type,\n };\n const options: ParseJsValueOptions = { ...globalOptions, component };\n\n const params = fn.get(\"params\");\n if (type === \"template\") {\n if (params.length > 1) {\n state.errors.push({\n message: `Component function can only have zero or one parameter, received ${params.length}`,\n node: fn.node,\n severity: \"error\",\n });\n return null;\n }\n if (params.length > 0) {\n const param = params[0];\n if (!param.isObjectPattern()) {\n state.errors.push({\n message: `Component function parameter must be an object pattern, received ${param.type}`,\n node: param.node,\n severity: \"error\",\n });\n return null;\n }\n for (const prop of param.get(\"properties\")) {\n if (prop.isRestElement()) {\n state.errors.push({\n message: `Component function parameter rest element is not allowed`,\n node: prop.node,\n severity: \"error\",\n });\n return null;\n }\n const propNode = prop.node as t.ObjectProperty;\n if (propNode.computed || !propNode.shorthand) {\n state.errors.push({\n message: `Component function parameter properties must be shorthand and not computed`,\n node: prop.node,\n severity: \"error\",\n });\n return null;\n }\n const key = prop.get(\"key\") as NodePath<t.ObjectProperty[\"key\"]>;\n const value = prop.get(\"value\") as NodePath<t.ObjectProperty[\"value\"]>;\n if (!key.isIdentifier()) {\n state.errors.push({\n message: `Component function parameter property key must be an identifier, received ${key.type}`,\n node: key.node,\n severity: \"error\",\n });\n return null;\n }\n const varName = key.node.name;\n const isEventHandler = /^on[A-Z]/.test(varName);\n if (isEventHandler) {\n if (!value.isIdentifier()) {\n state.errors.push({\n message: `Event handler parameter \"${varName}\" must be an identifier, received ${value.type}`,\n node: value.node,\n severity: \"error\",\n });\n return null;\n }\n bindingMap.set(value.node, { id: value.node, kind: \"eventHandler\" });\n } else {\n let bindingId: t.Identifier | undefined;\n let initialValue: unknown;\n if (value.isAssignmentPattern()) {\n const left = value.get(\"left\");\n if (left.isIdentifier()) {\n bindingId = left.node;\n initialValue = parseJsValue(value.get(\"right\"), state, options);\n }\n } else if (value.isIdentifier()) {\n bindingId = value.node;\n }\n if (!bindingId) {\n state.errors.push({\n message: `Component function parameter property value must be an identifier or assignment pattern, received ${value.type}`,\n node: value.node,\n severity: \"error\",\n });\n continue;\n }\n const paramBinding: BindingInfo = {\n id: bindingId,\n kind: \"param\",\n initialValue,\n };\n bindingMap.set(bindingId, paramBinding);\n }\n }\n }\n } else if (params.length > 0) {\n state.errors.push({\n message: `Page function cannot have parameters, received ${params.length}`,\n node: fn.node,\n severity: \"error\",\n });\n return null;\n }\n\n const stmts = fn.get(\"body\").get(\"body\");\n for (const stmt of stmts) {\n if (stmt.isVariableDeclaration()) {\n if (stmt.node.kind !== \"const\") {\n state.errors.push({\n message: `Only \"const\" variable declaration is allowed, received \"${stmt.node.kind}\"`,\n node: stmt.node,\n severity: \"error\",\n });\n continue;\n }\n for (const decl of stmt.get(\"declarations\")) {\n const init = decl.get(\"init\");\n // Hooks\n if (init.isCallExpression()) {\n const callee = init.get(\"callee\");\n if (callee.isIdentifier()) {\n const args = init.get(\"arguments\");\n if (validateGlobalApi(callee, \"useState\")) {\n const declId = decl.get(\"id\");\n if (!declId.isArrayPattern()) {\n continue;\n }\n const elements = declId.get(\"elements\");\n if (elements.length !== 2) {\n state.errors.push({\n message: `useState() destructuring must have exactly two elements, received ${elements.length}`,\n node: declId.node,\n severity: \"error\",\n });\n continue;\n }\n const stateVar = elements[0];\n const setStateVar = elements[1];\n if (!stateVar.isIdentifier() || !setStateVar.isIdentifier()) {\n state.errors.push({\n message: `useState() destructuring must have identifiers as elements, received ${elements.map((el) => el.type).join(\", \")}`,\n node: declId.node,\n severity: \"error\",\n });\n continue;\n }\n const stateInfo: BindingInfo = {\n id: stateVar.node,\n kind: \"state\",\n };\n bindingMap.set(stateVar.node, stateInfo);\n bindingMap.set(setStateVar.node, {\n id: stateVar.node,\n kind: \"setState\",\n });\n if (args.length > 0) {\n stateInfo.initialValue = parseJsValue(args[0], state, options);\n }\n if (args.length > 1) {\n state.errors.push({\n message: `useState() only accepts at most one argument, received ${args.length}`,\n node: args[1].node,\n severity: \"warning\",\n });\n }\n continue;\n } else if (validateGlobalApi(callee, \"useResource\")) {\n const bindingInfo = parseUseResource(decl, args, state, options);\n if (bindingInfo) {\n bindingMap.set(bindingInfo.id, bindingInfo);\n }\n continue;\n } else if (validateGlobalApi(callee, \"useRef\")) {\n const declId = decl.get(\"id\");\n if (!declId.isIdentifier()) {\n state.errors.push({\n message: `useRef() must be assigned to an identifier, received ${declId.type}`,\n node: declId.node,\n severity: \"error\",\n });\n continue;\n }\n if (args.length > 1) {\n state.errors.push({\n message: `useRef() only accepts at most one argument, received ${args.length}`,\n node: args[1].node,\n severity: \"warning\",\n });\n }\n const firstArg = args[0];\n if (firstArg && !firstArg.isNullLiteral()) {\n state.errors.push({\n message: `useRef() first argument must be null, received ${firstArg.type}`,\n node: firstArg.node,\n severity: \"warning\",\n });\n }\n bindingMap.set(declId.node, { id: declId.node, kind: \"ref\" });\n continue;\n } else if (validateGlobalApi(callee, \"useQuery\")) {\n const declId = decl.get(\"id\");\n if (!declId.isIdentifier()) {\n state.errors.push({\n message: `useQuery() must be assigned to an identifier, received ${declId.type}`,\n node: declId.node,\n severity: \"error\",\n });\n continue;\n }\n if (args.length > 0) {\n state.errors.push({\n message: `useQuery() does not accept any arguments, received ${args.length}`,\n node: args[0].node,\n severity: \"warning\",\n });\n }\n bindingMap.set(declId.node, { id: declId.node, kind: \"query\" });\n continue;\n }\n }\n }\n\n // Normal variable\n const declId = decl.get(\"id\");\n if (!declId.isIdentifier()) {\n state.errors.push({\n message: `Expect an identifier as the variable name, received ${declId.type}`,\n node: declId.node,\n severity: \"error\",\n });\n continue;\n }\n\n const binding: BindingInfo = { id: declId.node, kind: \"constant\" };\n bindingMap.set(declId.node, binding);\n if (init.node) {\n binding.initialValue = parseJsValue(\n init as NodePath<t.Expression>,\n state,\n options\n );\n }\n }\n } else if (stmt.isReturnStatement()) {\n const arg = stmt.get(\"argument\");\n if (!arg.isJSXElement() && !arg.isJSXFragment()) {\n state.errors.push({\n message: `Expect JSX element or fragment as the return value, received ${arg.type}`,\n node: arg.node,\n severity: \"error\",\n });\n continue;\n }\n component.children = parseChildren(arg, state, options);\n } else if (\n !stmt.isTSInterfaceDeclaration() &&\n !stmt.isTSTypeAliasDeclaration()\n ) {\n state.errors.push({\n message: `Unsupported top level statement type: ${stmt.type}`,\n node: stmt.node,\n severity: \"error\",\n });\n }\n }\n\n return component;\n}\n","import type { NodePath } from \"@babel/traverse\";\nimport type * as t from \"@babel/types\";\nimport type { StoryboardFunction } from \"@next-core/types\";\nimport type { ParseJsValueOptions, ParseModuleState } from \"./interfaces.js\";\nimport { validateFunction } from \"./validations.js\";\n\ninterface Replacement {\n type: \"id\";\n start: number;\n end: number;\n replacement: string;\n shorthand?: string;\n}\n\nexport function parseFunction(\n fn: NodePath<t.FunctionDeclaration>,\n state: ParseModuleState,\n options: ParseJsValueOptions\n): StoryboardFunction | null {\n if (!validateFunction(fn.node, state)) {\n return null;\n }\n\n const replacements: Replacement[] = [];\n\n fn.traverse({\n Identifier(idPath) {\n if (!idPath.isReferencedIdentifier()) {\n return;\n }\n const shorthand =\n idPath.parentPath.isObjectProperty() &&\n idPath.parentPath.node.shorthand;\n const bindingId = idPath.scope.getBindingIdentifier(idPath.node.name);\n if (bindingId && bindingId !== fn.node.id) {\n if (options.functionBindings?.has(bindingId)) {\n replacements.push({\n type: \"id\",\n start: idPath.node.start!,\n end: idPath.node.end!,\n replacement: `FN.${bindingId.name}`,\n shorthand: shorthand ? idPath.node.name : undefined,\n });\n }\n }\n },\n });\n\n replacements.sort((a, b) => a.start - b.start);\n\n const chunks: string[] = [];\n let prevStart = fn.node.start!;\n for (const rep of replacements) {\n chunks.push(\n state.source.substring(prevStart, rep.start),\n `${rep.shorthand ? `${rep.shorthand}:` : \"\"}${rep.replacement}`\n );\n prevStart = rep.end;\n }\n chunks.push(state.source.substring(prevStart, fn.node.end!));\n\n return {\n name: fn.node.id!.name,\n source: chunks.join(\"\"),\n typescript: true,\n };\n}\n","import type { ParseResult as BabelParseResult } from \"@babel/parser\";\nimport BabelTraverse from \"@babel/traverse\";\nimport type { NodePath } from \"@babel/traverse\";\nimport type * as t from \"@babel/types\";\nimport { parseComponent } from \"./parseComponent.js\";\nimport type {\n ParsedModule,\n ParseJsValueOptions,\n ParseModuleOptions,\n ParseModuleState,\n} from \"./interfaces.js\";\nimport { parseFunction } from \"./parseFunction.js\";\n\nconst traverse =\n process.env.NODE_ENV === \"test\"\n ? BabelTraverse\n : (BabelTraverse as unknown as { default: typeof BabelTraverse }).default;\n\nexport function parseModule(\n source: string,\n ast: BabelParseResult<t.File>,\n options?: ParseModuleOptions\n) {\n const state: ParseModuleState = {\n source,\n errors: [],\n usedHelpers: new Set(),\n contracts: new Set(),\n };\n\n if (ast.errors?.length) {\n for (const error of ast.errors) {\n state.errors.push({\n message: `${error.code}: ${error.reasonCode}`,\n node: null,\n severity: \"error\",\n });\n }\n }\n\n const parsed: ParsedModule = {\n source,\n filename: options?.filename,\n defaultExport: null,\n internalComponents: [],\n internalFunctions: [],\n errors: state.errors,\n contracts: state.contracts,\n usedHelpers: state.usedHelpers,\n };\n const functionBindings = new Set<t.Identifier>();\n const globalOptions: ParseJsValueOptions = {\n functionBindings,\n contextBindings: options?.withContexts,\n };\n\n traverse(ast, {\n Program(path) {\n const body = path.get(\"body\");\n const functions: NodePath<t.FunctionDeclaration>[] = [];\n const internalComponents: NodePath<t.FunctionDeclaration>[] = [];\n let defaultExport: NodePath<t.FunctionDeclaration> | null = null;\n\n const collectFunctions = (\n stmt: NodePath<t.Statement | t.Declaration | null | undefined>,\n level: string\n ) => {\n if (stmt.isExportNamedDeclaration()) {\n const decl = stmt.get(\"declaration\");\n collectFunctions(decl, \"exported\");\n } else if (stmt.isFunctionDeclaration()) {\n const id = stmt.node.id;\n if (!id) {\n state.errors.push({\n message: `Function declaration must have a name`,\n node: stmt.node,\n severity: \"error\",\n });\n return;\n }\n if (isTemplate(id)) {\n internalComponents.push(stmt);\n } else {\n functionBindings.add(id);\n functions.push(stmt);\n }\n } else if (stmt.isExportDefaultDeclaration()) {\n const decl = stmt.get(\"declaration\");\n if (decl.isFunctionDeclaration()) {\n defaultExport = decl;\n } else {\n state.errors.push({\n message: `Expected function declaration as default export, but got ${decl.type}`,\n node: decl.node,\n severity: \"error\",\n });\n }\n } else if (\n !stmt.isTSInterfaceDeclaration &&\n !stmt.isTSTypeAliasDeclaration()\n ) {\n state.errors.push({\n message: `Unsupported ${level} statement type: ${stmt.type}`,\n node: stmt.node,\n severity: \"error\",\n });\n }\n };\n\n for (const stmt of body) {\n collectFunctions(stmt, \"top level\");\n }\n\n for (const fn of functions) {\n const func = parseFunction(fn, state, globalOptions);\n if (func) {\n parsed.internalFunctions.push(func);\n }\n }\n for (const ic of internalComponents) {\n const component = parseComponent(ic, state, \"template\", globalOptions);\n if (component) {\n parsed.internalComponents.push({ ...component, id: ic.node.id! });\n }\n }\n if (defaultExport) {\n const component = parseComponent(\n defaultExport,\n state,\n \"view\",\n globalOptions\n );\n if (component) {\n parsed.defaultExport = component;\n }\n }\n\n path.stop();\n },\n });\n\n return parsed;\n}\n\nfunction isTemplate(id: t.Identifier) {\n return id.name[0] >= \"A\" && id.name[0] <= \"Z\";\n}\n","import type { ParseResult as BabelParseResult } from \"@babel/parser\";\nimport BabelTraverse from \"@babel/traverse\";\nimport type { NodePath } from \"@babel/traverse\";\nimport type * as t from \"@babel/types\";\nimport type {\n BindingInfo,\n BindingMap,\n ParsedComponent,\n ParsedModule,\n ParseJsValueOptions,\n ParseModuleOptions,\n ParseModuleState,\n} from \"./interfaces.js\";\nimport { parseChildren } from \"./parseChildren.js\";\nimport { parseJsValue } from \"./parseJsValue.js\";\n\nconst traverse =\n process.env.NODE_ENV === \"test\"\n ? BabelTraverse\n : (BabelTraverse as unknown as { default: typeof BabelTraverse }).default;\n\nexport function parseLegacyModule(\n source: string,\n ast: BabelParseResult<t.File>,\n options?: ParseModuleOptions\n): ParsedModule {\n const state: ParseModuleState = {\n source,\n errors: [],\n usedHelpers: new Set(),\n contracts: new Set(),\n };\n\n if (ast.errors?.length) {\n for (const error of ast.errors) {\n state.errors.push({\n message: `${error.code}: ${error.reasonCode}`,\n node: null,\n severity: \"error\",\n });\n }\n }\n\n const bindingMap: BindingMap = new Map();\n const component: ParsedComponent = {\n type: \"view\",\n bindingMap,\n };\n const globalOptions: ParseJsValueOptions = {\n component,\n contextBindings: options?.withContexts,\n };\n const parsed: ParsedModule = {\n source,\n filename: options?.filename,\n defaultExport: component,\n internalComponents: [],\n internalFunctions: [],\n errors: state.errors,\n contracts: state.contracts,\n usedHelpers: state.usedHelpers,\n };\n\n traverse(ast, {\n Program(path) {\n const body = path.get(\"body\");\n let exported = false;\n for (const stmt of body) {\n if (stmt.isVariableDeclaration()) {\n if (exported) {\n state.errors.push({\n message: `Unexpected variable declaration after export`,\n node: stmt.node,\n severity: \"error\",\n });\n continue;\n }\n if (stmt.node.kind !== \"const\") {\n state.errors.push({\n message: `Only \"const\" variable declaration is allowed, received: ${stmt.node.kind}`,\n node: stmt.node,\n severity: \"error\",\n });\n continue;\n }\n for (const decl of stmt.get(\"declarations\")) {\n const declId = decl.get(\"id\");\n if (!declId.isIdentifier()) {\n state.errors.push({\n message: `Unsupported variable declaration pattern, expected: Identifier, received: ${declId.type}`,\n node: declId.node,\n severity: \"error\",\n });\n continue;\n }\n\n const binding: BindingInfo = { id: declId.node, kind: \"constant\" };\n const init = decl.get(\"init\");\n if (init.node) {\n binding.initialValue = parseJsValue(\n init as NodePath<t.Node>,\n state,\n globalOptions\n );\n }\n bindingMap.set(declId.node, binding);\n }\n } else if (stmt.isExportDefaultDeclaration()) {\n exported = true;\n const decl = stmt.get(\"declaration\");\n if (!decl.isJSXElement()) {\n state.errors.push({\n message: `Default export must be a JSX element, received: ${decl.type}`,\n node: stmt.node,\n severity: \"error\",\n });\n } else {\n component.children = parseChildren(decl, state, globalOptions);\n }\n break;\n }\n }\n\n path.stop();\n },\n });\n\n return parsed;\n}\n","// istanbul ignore file\nimport { parseTsx, type ParseOptions } from \"@next-shared/tsx-parser\";\nimport { expose } from \"comlink\";\n\nclass TsxParserWorker {\n parse(source: string, options?: ParseOptions) {\n return parseTsx(source, options);\n }\n}\n\nexpose(TsxParserWorker);\n","import { parse, type ParseResult as BabelParseResult } from \"@babel/parser\";\nimport * as t from \"@babel/types\";\nimport type { ParseOptions, ParseResult } from \"./interfaces.js\";\nimport { parseModule } from \"./modules/parseModule.js\";\nimport { moduleToCompatible } from \"./modules/moduleToCompatible.js\";\nimport { parseLegacyModule } from \"./modules/parseLegacyModule.js\";\nimport type { ParsedModule } from \"./modules/interfaces.js\";\n\nexport function parseTsx(source: string, options?: ParseOptions): ParseResult {\n let ast: BabelParseResult<t.File> | undefined;\n try {\n ast = parse(source, {\n plugins: [\"jsx\", \"typescript\"],\n sourceType: \"module\",\n errorRecovery: true,\n });\n } catch (error) {\n return {\n source,\n dataSources: [],\n variables: [],\n components: [],\n componentsMap: new Map(),\n contracts: new Set(),\n errors: [\n {\n message: `Failed to parse TSX: ${error}`,\n node: null,\n severity: \"fatal\",\n },\n ],\n functions: [],\n usedHelpers: new Set(),\n templates: [],\n };\n }\n\n let mod: ParsedModule | undefined;\n\n for (const stmt of ast.program.body) {\n if (t.isExportDefaultDeclaration(stmt)) {\n if (t.isFunctionDeclaration(stmt.declaration)) {\n mod = parseModule(source, ast, options);\n }\n break;\n }\n }\n\n if (!mod) {\n mod = parseLegacyModule(source, ast, options);\n }\n\n return moduleToCompatible(mod);\n}\n","import type { ParseResult, Template } from \"../interfaces\";\nimport type { ParsedModule } from \"./interfaces\";\n\nexport function moduleToCompatible(mod: ParsedModule): ParseResult {\n const result: ParseResult = {\n source: mod.source,\n dataSources: [],\n variables: [],\n components: [],\n componentsMap: new Map(),\n errors: mod.errors,\n functions: [],\n contracts: mod.contracts,\n templates: [],\n usedHelpers: mod.usedHelpers,\n };\n\n if (mod.defaultExport) {\n if (mod.defaultExport.children) {\n result.components.push(...mod.defaultExport.children);\n }\n\n for (const binding of mod.defaultExport.bindingMap.values()) {\n if (binding.kind === \"resource\") {\n result.dataSources.push(binding.resource!);\n } else if (binding.kind === \"state\" || binding.kind === \"constant\") {\n result.variables.push({\n name: binding.id.name,\n value: binding.initialValue,\n });\n }\n }\n\n result.functions.push(...mod.internalFunctions);\n\n for (const comp of mod.internalComponents) {\n const tpl: Template = {\n name: comp.id!.name,\n variables: [],\n dataSources: [],\n components: [],\n };\n result.templates.push(tpl);\n if (comp.children) {\n tpl.components.push(...comp.children);\n }\n for (const binding of comp.bindingMap.values()) {\n if (binding.kind === \"resource\") {\n tpl.dataSources.push(binding.resource!);\n } else if (\n binding.kind === \"state\" ||\n binding.kind === \"constant\" ||\n binding.kind === \"param\"\n ) {\n tpl.variables.push({\n name: binding.id.name,\n value: binding.initialValue,\n expose: binding.kind === \"param\",\n });\n }\n }\n }\n }\n\n return result;\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n// expose the module cache\n__webpack_require__.c = __webpack_module_cache__;\n\n// the startup function\n__webpack_require__.x = () => {\n\t// Load entry module and return exports\n\tvar __webpack_exports__ = __webpack_require__.O(undefined, [3735,580], () => (__webpack_require__(43832)))\n\t__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n\treturn __webpack_exports__;\n};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks and sibling chunks for the entrypoint\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"chunks/\" + chunkId + \".\" + {\"3735\":\"0389cba2\",\"6773\":\"afd27a30\"}[chunkId] + \".js\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","__webpack_require__.S = {};\nvar initPromises = {};\nvar initTokens = {};\n__webpack_require__.I = (name, initScope) => {\n\tif(!initScope) initScope = [];\n\t// handling circular init calls\n\tvar initToken = initTokens[name];\n\tif(!initToken) initToken = initTokens[name] = {};\n\tif(initScope.indexOf(initToken) >= 0) return;\n\tinitScope.push(initToken);\n\t// only runs once\n\tif(initPromises[name]) return initPromises[name];\n\t// creates a new share scope if needed\n\tif(!__webpack_require__.o(__webpack_require__.S, name)) __webpack_require__.S[name] = {};\n\t// runs all init snippets from all modules reachable\n\tvar scope = __webpack_require__.S[name];\n\tvar warn = (msg) => {\n\t\tif (typeof console !== \"undefined\" && console.warn) console.warn(msg);\n\t};\n\tvar uniqueName = \"@next-bricks/ai-portal\";\n\tvar register = (name, version, factory, eager) => {\n\t\tvar versions = scope[name] = scope[name] || {};\n\t\tvar activeVersion = versions[version];\n\t\tif(!activeVersion || (!activeVersion.loaded && (!eager != !activeVersion.eager ? eager : uniqueName > activeVersion.from))) versions[version] = { get: factory, from: uniqueName, eager: !!eager };\n\t};\n\tvar initExternal = (id) => {\n\t\tvar handleError = (err) => (warn(\"Initialization of sharing external failed: \" + err));\n\t\ttry {\n\t\t\tvar module = __webpack_require__(id);\n\t\t\tif(!module) return;\n\t\t\tvar initFn = (module) => (module && module.init && module.init(__webpack_require__.S[name], initScope))\n\t\t\tif(module.then) return promises.push(module.then(initFn, handleError));\n\t\t\tvar initResult = initFn(module);\n\t\t\tif(initResult && initResult.then) return promises.push(initResult['catch'](handleError));\n\t\t} catch(err) { handleError(err); }\n\t}\n\tvar promises = [];\n\tswitch(name) {\n\t}\n\tif(!promises.length) return initPromises[name] = 1;\n\treturn initPromises[name] = Promise.all(promises).then(() => (initPromises[name] = 1));\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/^blob:/, \"\").replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl + \"../\";","// no baseURI\n\n// object to store loaded chunks\n// \"1\" means \"already loaded\"\nvar installedChunks = {\n\t3832: 1\n};\n\n// importScripts chunk loading\nvar installChunk = (data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\tfor(var moduleId in moreModules) {\n\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t}\n\t}\n\tif(runtime) runtime(__webpack_require__);\n\twhile(chunkIds.length)\n\t\tinstalledChunks[chunkIds.pop()] = 1;\n\tparentChunkLoadingFunction(data);\n};\n__webpack_require__.f.i = (chunkId, promises) => {\n\t// \"1\" is the signal for \"already loaded\"\n\tif(!installedChunks[chunkId]) {\n\t\tif(580 != chunkId) {\n\t\t\timportScripts(__webpack_require__.p + __webpack_require__.u(chunkId));\n\t\t}\n\t}\n};\n\nvar chunkLoadingGlobal = globalThis[\"webpackChunk_next_bricks_ai_portal\"] = globalThis[\"webpackChunk_next_bricks_ai_portal\"] || [];\nvar parentChunkLoadingFunction = chunkLoadingGlobal.push.bind(chunkLoadingGlobal);\nchunkLoadingGlobal.push = installChunk;\n\n// no HMR\n\n// no HMR manifest","// module cache are used so entry inlining is disabled\n// run startup\nvar __webpack_exports__ = __webpack_require__.x();\n"],"names":["deferred","parseVersion","versionLt","rangeToString","satisfy","exists","get","eagerOnly","findSingletonVersionKey","getInvalidSingletonVersionMessage","fail","warn","useFallback","loadSingletonVersion","installedModules","moduleToHandlerMapping","chunkMapping","startedInstallModules","next","CALL_API_LIST","validateFunction","fn","state","async","generator","errors","push","message","node","severity","validateGlobalApi","id","api","referencesImport","name","scope","getBinding","validateEmbeddedExpression","expr","invalidNode","t","enter","parent","_parent","body","length","type","isNilPath","path","isNullLiteral","isIdentifier","undefined","parseEmbedded","options","noWrapping","_options$modifier","replacements","visitor","TSTypeAnnotation","tsPath","start","end","skip","TSTypeParameterInstantiation","TSAsExpression","expression","Identifier","idPath","_options$eventBinding","_options$eventBinding2","_options$forEachBindi","_options$forEachBindi2","_options$dataBinding","_options$contextBindi","isReferencedIdentifier","shorthand","parentPath","isObjectProperty","varName","bindingId","getBindingIdentifier","_options$component","_options$functionBind","specificReplacement","eventBinding","isCallback","forEachBinding","item","index","dataBinding","replacement","binding","component","bindingMap","kind","functionBindings","has","contextBindings","includes","traverse","sort","a","b","chunks","prevStart","rep","source","substring","value","join","modifier","EXPRESSION_PREFIX_REG","EXPRESSION_SUFFIX_REG","EXPECTED_ARGS","callApi","callHttp","callTool","parseCallApi","isCallExpression","isOptionalCallExpression","callee","calleeName","expectedArgs","args","missingArgs","payload","firstArg","parseJsValue","http","isStringLiteral","conversationId","secondArg","stepId","paramsNode","params","tool","valuePath","isObjectExpression","trimmed","trim","test","isExpressionString","metaPath","props","prop","key","objectId","parseEvent","isArrowFunctionExpression","param","eventOptions","handler","parseEventHandler","concat","isBlockStatement","flatMap","stmtPath","filter","h","isIfStatement","action","consequent","alternate","isExpressionStatement","method","map","arg","contracts","add","isMemberExpression","isOptionalMemberExpression","computed","object","property","refObject","_options$component3","refBindingId","refBinding","_options$component2","ref","objectCallee","successCallback","callback","success","parseRefAttribute","attrValuePath","_attrValuePath$node3","_attrValuePath$node4","isJSXExpressionContainer","exprPath","refName","convertJsxEventAttr","attr","slice","replace","toLowerCase","parseElement","isJSXFragment","child","isJSXText","text","isJSXEmptyExpression","isJSXElement","openingElement","tagName","isJSXIdentifier","attributes","properties","ambiguousProps","events","isJSXSpreadAttribute","attrNamePath","attrName","_attrValuePath$node","_attrValuePath$node2","detail","parsePropValue","allowUseBrick","textContent","children","parseLowLevelChildren","parseJSXElement","func","isExpression","containsJsxNode","invalidParam","find","p","forEachOptions","itemArg","indexArg","dataSource","parseChildren","isConditionalExpression","slot","isLogicalExpression","left","right","operator","found","paths","rawChildren","onlyTextChildren","every","previousChild","tempChildren","_previousChild","_previousChild2","_previousChild3","splice","c","constructMergeTexts","elements","usedHelpers","elem","JSON","stringify","ambiguousSymbol","Symbol","isTSAsExpression","some","isSpreadElement","ambiguous","result","keyPath","parseJsObject","isArrayExpression","e","parseJsArray","isNumericLiteral","isBooleanLiteral","paramNames","shouldCompute","parseResourceCall","config","transformArgs","_transformArgs$","transform","parsePromiseCallback","rejectTransform","_params$1$node","_params$","optionsWithData","parseUseResource","decl","declId","isArrayPattern","resourceVar","resourcePath","call","resourceConfig","resource","parseComponent","globalOptions","Map","isObjectPattern","isRestElement","propNode","set","initialValue","isAssignmentPattern","paramBinding","stmts","stmt","isVariableDeclaration","init","stateVar","setStateVar","el","stateInfo","bindingInfo","isReturnStatement","isTSInterfaceDeclaration","isTSTypeAliasDeclaration","parseFunction","typescript","BabelTraverse","parseModule","ast","_ast$errors","Set","error","code","reasonCode","parsed","filename","defaultExport","internalComponents","internalFunctions","withContexts","Program","functions","collectFunctions","level","isExportNamedDeclaration","isFunctionDeclaration","isTemplate","isExportDefaultDeclaration","ic","stop","expose","parse","mod","plugins","sourceType","errorRecovery","dataSources","variables","components","componentsMap","templates","program","declaration","exported","parseLegacyModule","values","comp","tpl","moduleToCompatible","parseTsx","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","m","x","__webpack_exports__","O","chunkIds","priority","notFulfilled","Infinity","i","fulfilled","j","Object","keys","r","d","definition","o","defineProperty","enumerable","f","chunkId","Promise","all","reduce","promises","u","g","globalThis","this","Function","window","obj","prototype","hasOwnProperty","S","initPromises","initTokens","I","initScope","initToken","indexOf","then","scriptUrl","importScripts","location","document","currentScript","toUpperCase","src","scripts","getElementsByTagName","Error","str","split","n","exec","apply","range","pop","version","s","bind","entry","loaded","versions","filtered","eager","requiredVersion","from","msg","console","scopeName","fallback","failAsNotExist","promise","consumes","forEach","onFactory","factory","onError","installedChunks","chunkLoadingGlobal","parentChunkLoadingFunction","data","moreModules","runtime"],"sourceRoot":""}