@next-bricks/ai-portal 0.34.0 → 0.34.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.
- package/dist/bricks.json +27 -27
- package/dist/chunks/1097.56d301a5.js +3 -0
- package/dist/chunks/1097.56d301a5.js.map +1 -0
- package/dist/chunks/1120.fd177648.js +2 -0
- package/dist/chunks/1120.fd177648.js.map +1 -0
- package/dist/chunks/1136.456f1c68.js +2 -0
- package/dist/chunks/1136.456f1c68.js.map +1 -0
- package/dist/chunks/1215.78630d79.js +2 -0
- package/dist/chunks/1215.78630d79.js.map +1 -0
- package/dist/chunks/2449.b46fc22a.js +2 -0
- package/dist/chunks/2449.b46fc22a.js.map +1 -0
- package/dist/chunks/2510.91062655.js +2 -0
- package/dist/chunks/2510.91062655.js.map +1 -0
- package/dist/chunks/2593.783fb42e.js +2 -0
- package/dist/chunks/2593.783fb42e.js.map +1 -0
- package/dist/chunks/3554.f585e0fd.js +2 -0
- package/dist/chunks/3554.f585e0fd.js.map +1 -0
- package/dist/chunks/407.9c5249e2.js +2 -0
- package/dist/chunks/407.9c5249e2.js.map +1 -0
- package/dist/chunks/4190.7612613e.js +2 -0
- package/dist/chunks/4190.7612613e.js.map +1 -0
- package/dist/chunks/4609.e21567a0.js +2 -0
- package/dist/chunks/4609.e21567a0.js.map +1 -0
- package/dist/chunks/4735.24157512.js +2 -0
- package/dist/chunks/4735.24157512.js.map +1 -0
- package/dist/chunks/{4937.be28e874.js → 4937.d270f5bb.js} +2 -2
- package/dist/chunks/4937.d270f5bb.js.map +1 -0
- package/dist/chunks/5032.2e4fb116.js +2 -0
- package/dist/chunks/5032.2e4fb116.js.map +1 -0
- package/dist/chunks/5065.9616e9d3.js +2 -0
- package/dist/chunks/5065.9616e9d3.js.map +1 -0
- package/dist/chunks/5498.298984c7.js +2 -0
- package/dist/chunks/5498.298984c7.js.map +1 -0
- package/dist/chunks/815.4a1ffe26.js +3 -0
- package/dist/chunks/815.4a1ffe26.js.map +1 -0
- package/dist/chunks/8263.d9eaafab.js +2 -0
- package/dist/chunks/8263.d9eaafab.js.map +1 -0
- package/dist/chunks/8311.69ab488d.js +2 -0
- package/dist/chunks/8311.69ab488d.js.map +1 -0
- package/dist/chunks/{833.ea1388c6.js → 833.b4978b2d.js} +2 -2
- package/dist/chunks/833.b4978b2d.js.map +1 -0
- package/dist/chunks/8757.5cde95c7.js +2 -0
- package/dist/chunks/8757.5cde95c7.js.map +1 -0
- package/dist/chunks/9251.52df4857.js +2 -0
- package/dist/chunks/9251.52df4857.js.map +1 -0
- package/dist/chunks/main.097732bc.js +2 -0
- package/dist/chunks/main.097732bc.js.map +1 -0
- package/dist/examples.json +14 -14
- package/dist/index.60427935.js +2 -0
- package/dist/index.60427935.js.map +1 -0
- package/dist/manifest.json +231 -231
- package/dist/types.json +235 -235
- package/dist-types/shared/CodeDisplay.d.ts +7 -0
- package/package.json +2 -2
- package/dist/chunks/1097.2d02ad95.js +0 -3
- package/dist/chunks/1097.2d02ad95.js.map +0 -1
- package/dist/chunks/3554.206bf5f8.js +0 -2
- package/dist/chunks/3554.206bf5f8.js.map +0 -1
- package/dist/chunks/4937.be28e874.js.map +0 -1
- package/dist/chunks/7525.b8ed4213.js +0 -2
- package/dist/chunks/7525.b8ed4213.js.map +0 -1
- package/dist/chunks/7824.c9360190.js +0 -3
- package/dist/chunks/7824.c9360190.js.map +0 -1
- package/dist/chunks/833.ea1388c6.js.map +0 -1
- package/dist/chunks/main.52761aba.js +0 -2
- package/dist/chunks/main.52761aba.js.map +0 -1
- package/dist/index.4c8a2bf0.js +0 -2
- package/dist/index.4c8a2bf0.js.map +0 -1
- /package/dist/chunks/{1097.2d02ad95.js.LICENSE.txt → 1097.56d301a5.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{7824.c9360190.js.LICENSE.txt → 815.4a1ffe26.js.LICENSE.txt} +0 -0
package/dist/bricks.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "bricks/ai-portal",
|
|
3
3
|
"bricks": [
|
|
4
|
-
"ai-portal.cruise-canvas",
|
|
5
4
|
"ai-portal.chat-box",
|
|
6
|
-
"ai-portal.stat-with-mini-chart",
|
|
7
5
|
"ai-portal.elevo-sidebar",
|
|
8
6
|
"ai-portal.icon-button",
|
|
9
7
|
"ai-portal.show-cases",
|
|
10
|
-
"ai-portal.
|
|
8
|
+
"ai-portal.cruise-canvas",
|
|
9
|
+
"ai-portal.mcp-tools",
|
|
11
10
|
"ai-portal.ai-employees",
|
|
11
|
+
"ai-portal.chat-stream",
|
|
12
12
|
"ai-portal.ai-agents",
|
|
13
13
|
"ai-portal.entity-sdk-get",
|
|
14
14
|
"ai-portal.entity-sdk-list",
|
|
@@ -16,34 +16,19 @@
|
|
|
16
16
|
"ai-portal.load-request-store",
|
|
17
17
|
"ai-portal.clear-request-store",
|
|
18
18
|
"ai-portal.page-container",
|
|
19
|
-
"ai-portal.project-summary",
|
|
20
19
|
"ai-portal.tab-list",
|
|
20
|
+
"ai-portal.project-summary",
|
|
21
21
|
"ai-portal.dropdown-select",
|
|
22
|
-
"ai-portal.
|
|
23
|
-
"ai-portal.
|
|
22
|
+
"ai-portal.home-container",
|
|
23
|
+
"ai-portal.stat-with-mini-chart"
|
|
24
24
|
],
|
|
25
25
|
"elements": [],
|
|
26
26
|
"processors": [],
|
|
27
27
|
"editors": [],
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"ai-portal.cruise-canvas": [
|
|
30
|
-
"eo-icon",
|
|
31
|
-
"eo-button",
|
|
32
|
-
"eo-link",
|
|
33
|
-
"eo-tooltip",
|
|
34
|
-
"eo-popover",
|
|
35
|
-
"eo-drawer",
|
|
36
|
-
"ai-portal.icon-button",
|
|
37
|
-
"basic.show-dialog",
|
|
38
|
-
"basic.copy-to-clipboard",
|
|
39
|
-
"eo-easyops-avatar"
|
|
40
|
-
],
|
|
41
29
|
"ai-portal.chat-box": [
|
|
42
30
|
"eo-icon"
|
|
43
31
|
],
|
|
44
|
-
"ai-portal.stat-with-mini-chart": [
|
|
45
|
-
"eo-mini-line-chart"
|
|
46
|
-
],
|
|
47
32
|
"ai-portal.elevo-sidebar": [
|
|
48
33
|
"eo-icon",
|
|
49
34
|
"eo-link",
|
|
@@ -60,7 +45,7 @@
|
|
|
60
45
|
"eo-link",
|
|
61
46
|
"ai-portal.tab-list"
|
|
62
47
|
],
|
|
63
|
-
"ai-portal.
|
|
48
|
+
"ai-portal.cruise-canvas": [
|
|
64
49
|
"eo-icon",
|
|
65
50
|
"eo-button",
|
|
66
51
|
"eo-link",
|
|
@@ -69,13 +54,29 @@
|
|
|
69
54
|
"eo-drawer",
|
|
70
55
|
"ai-portal.icon-button",
|
|
71
56
|
"basic.show-dialog",
|
|
72
|
-
"basic.copy-to-clipboard"
|
|
57
|
+
"basic.copy-to-clipboard",
|
|
58
|
+
"eo-easyops-avatar"
|
|
59
|
+
],
|
|
60
|
+
"ai-portal.mcp-tools": [
|
|
61
|
+
"eo-icon",
|
|
62
|
+
"ai-portal.tab-list"
|
|
73
63
|
],
|
|
74
64
|
"ai-portal.ai-employees": [
|
|
75
65
|
"eo-link",
|
|
76
66
|
"eo-icon",
|
|
77
67
|
"ai-portal.tab-list"
|
|
78
68
|
],
|
|
69
|
+
"ai-portal.chat-stream": [
|
|
70
|
+
"eo-icon",
|
|
71
|
+
"eo-button",
|
|
72
|
+
"eo-link",
|
|
73
|
+
"eo-tooltip",
|
|
74
|
+
"eo-popover",
|
|
75
|
+
"eo-drawer",
|
|
76
|
+
"ai-portal.icon-button",
|
|
77
|
+
"basic.show-dialog",
|
|
78
|
+
"basic.copy-to-clipboard"
|
|
79
|
+
],
|
|
79
80
|
"ai-portal.ai-agents": [
|
|
80
81
|
"eo-icon",
|
|
81
82
|
"eo-link"
|
|
@@ -96,10 +97,9 @@
|
|
|
96
97
|
"eo-menu-item",
|
|
97
98
|
"eo-input"
|
|
98
99
|
],
|
|
99
|
-
"ai-portal.
|
|
100
|
-
"eo-
|
|
101
|
-
"ai-portal.tab-list"
|
|
100
|
+
"ai-portal.stat-with-mini-chart": [
|
|
101
|
+
"eo-mini-line-chart"
|
|
102
102
|
]
|
|
103
103
|
},
|
|
104
|
-
"filePath": "bricks/ai-portal/dist/index.
|
|
104
|
+
"filePath": "bricks/ai-portal/dist/index.60427935.js"
|
|
105
105
|
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! For license information please see 1097.56d301a5.js.LICENSE.txt */
|
|
2
|
+
"use strict";(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[1097],{11097:(e,t,n)=>{n.r(t),n.d(t,{analytics:()=>l,auth:()=>vt,checkInstalledApps:()=>r,checkPermissions:()=>mt,flowApi:()=>i,menu:()=>s,messageDispatcher:()=>gt});var o={};n.r(o),n.d(o,{addPathToBlackList:()=>b,authenticate:()=>A,getAuth:()=>w,isBlockedHref:()=>P,isBlockedPath:()=>I,isBlockedUrl:()=>k,isLoggedIn:()=>S,logout:()=>y});var r={};n.r(r),n.d(r,{getCheckedApp:()=>ae,preCheckInstalledApps:()=>ie,waitForCheckingApps:()=>se});var i={};n.r(i),n.d(i,{FLOW_API_PROVIDER:()=>le,clearCollectWidgetContract:()=>Se,clearDebugContract:()=>Ie,collectContract:()=>we,collectDebugContract:()=>be,collectWidgetContract:()=>ye,getArgsOfFlowApi:()=>Ee,isFlowApiProvider:()=>Pe,registerFlowApiProvider:()=>de});var s={};n.r(s),n.d(s,{fetchMenuById:()=>Ke,getMenuById:()=>Ye});var a={};n.r(a),n.d(a,{onRequest:()=>ut,onResponse:()=>pt,onResponseError:()=>dt});var c={};n.r(c),n.d(c,{create:()=>ft});var l={};n.r(l),n.d(l,{http:()=>a,initialize:()=>ct,pageView:()=>c});var u=n(7e4),p=n(86330),d=n(57372),h=function(){var e=(0,p.A)((function*(e,t){return(yield d.http.post("api/gateway/micro_app.permission.ValidatePermissions/api/micro_app/v1/permission/validate",e,t)).data}));return function(t,n){return e.apply(this,arguments)}}(),f=n(29475),m=n(11732);const g={};let v=new Set;function A(e){var t;Object.assign(g,{org:e.org,username:e.username,userInstanceId:e.userInstanceId,loginFrom:e.loginFrom,accessRule:e.accessRule,isAdmin:e.isAdmin,csrfToken:e.csrfToken,license:e.license,accessToken:e.accessToken,userShowValue:e.userShowValue}),v=new Set(null===(t=e.license)||void 0===t?void 0:t.blackList)}function w(){return{...g}}function y(){for(const e of Object.keys(g))g[e]=void 0;E.clear(),O.length=0,C.clear()}function S(){return void 0!==g.username}function b(e){v.add(e)}function I(e){return[...v].some((t=>(0,f.matchPath)(e,{path:t})))}function k(e){const t=("string"==typeof e?(0,m.createLocation)(e):e).pathname;return"string"==typeof t&&I(t)}function P(e){const t=(0,f.getBasePath)(),n=new URL(e,`${location.origin}${t}`);return!(n.origin!==location.origin||!n.pathname.startsWith(t))&&I(n.pathname.substring(t.length-1))}const E=new Map,O=[],C=new Map;function M(e){if(S()&&!w().isAdmin)return _((0,u.scanPermissionActionsInAny)(e))}async function _(e){const t=e.filter((e=>!O.includes(e)));if(0===t.length)return;const n=[],o=[];for(const e of t){const t=E.get(e);t?n.push(t):o.push(e)}if(o.length>0){const e=(async()=>{try{const e=await h({actions:o},{noAbortOnRouteChange:!0});for(const t of e.actions)C.set(t.action,t.authorizationStatus),"undefined"===t.authorizationStatus&&console.error(`Undefined permission action: "${t.action}"`)}catch(e){console.error("Pre-check permissions failed",e)}finally{O.push(...o)}})();for(const t of o)E.set(t,e);n.push(e)}await Promise.all(n)}var T=n(74635),N=n(70918),$=n(5536),R=n(12559),L=n(86121),B=n(70829),j=n(41030),W=new WeakMap,D=new WeakMap,x=new WeakMap,U=new WeakMap,F=new WeakMap,q=new WeakMap,z=new WeakMap,H=new WeakSet;class G{constructor(e){(0,T.A)(this,H),(0,N.A)(this,W,void 0),(0,N.A)(this,D,void 0),(0,N.A)(this,x,[]),(0,N.A)(this,U,new Set),(0,N.A)(this,F,new Set),(0,N.A)(this,q,0),(0,N.A)(this,z,!1),(0,L.A)(W,this,e)}send(e){(0,B.A)(D,this)||(0,L.A)(D,this,(0,R.A)(H,this,J).call(this));const t=JSON.stringify(e);(0,B.A)(D,this).readyState===WebSocket.OPEN?(0,B.A)(D,this).send(t):(0,B.A)(x,this).push(t)}onMessage(e){return(0,B.A)(U,this).add(e),()=>{(0,B.A)(U,this).delete(e)}}onClose(e){return(0,B.A)(F,this).add(e),()=>{(0,B.A)(F,this).delete(e)}}reset(){(0,B.A)(x,this).length=0,(0,B.A)(U,this).clear(),(0,B.A)(F,this).clear()}close(){var e;(0,L.A)(z,this,!0),(null===(e=(0,B.A)(D,this))||void 0===e?void 0:e.readyState)===WebSocket.OPEN&&(0,B.A)(D,this).close()}}function J(){console.log("WebSocket connecting ...");const e=new WebSocket((0,B.A)(W,this));let t;return e.addEventListener("open",(n=>{console.log("WebSocket open:",n),t=setTimeout((()=>{t=void 0,(0,L.A)(q,this,0)}),1e3);for(const t of(0,B.A)(x,this))e.send(t);(0,B.A)(x,this).length=0})),e.addEventListener("close",(e=>{(0,B.A)(z,this)||(void 0!==t&&clearTimeout(t),console.log("WebSocket close:",e),1e3!==e.code&&(0,R.A)(H,this,V).call(this))})),e.addEventListener("error",(e=>{console.error("WebSocket error:",e)})),e.addEventListener("message",(e=>{const t=JSON.parse(e.data);for(const e of(0,B.A)(U,this))e(t)})),e}function V(){if((0,B.A)(q,this)>=5){console.error("WebSocket connect retry limit exceeded");for(const e of(0,B.A)(F,this))e();return}const e=1e3*Math.pow(2,(0,B.A)(q,this));console.log("WebSocket will reconnect after %d seconds",e/1e3),setTimeout((()=>{var e;(0,L.A)(q,this,(e=(0,B.A)(q,this),++e)),(0,L.A)(D,this,(0,R.A)(H,this,J).call(this))}),e)}var Y=new WeakMap,K=new WeakMap,Q=new WeakMap,X=new WeakSet;function Z(e){if(!(0,B.A)(Y,e)){const t=`${"https:"===location.protocol?"wss:":"ws:"}//${window.location.host}${(0,f.getBasePath)()}api/websocket_service/v1/ws`;(0,L.A)(Y,e,new G(t))}return(0,B.A)(Y,e)}function ee(e,t,n,o){const r=(0,B.A)(K,this)[e].get(o);if(r)return r;const i={event:"sub"===e?"TOPIC.SUB":"TOPIC.UNSUB",payload:n},s=new Promise(((t,o)=>{const r=te(n),s=(0,$.A)(X,this,Z).onMessage((n=>{const i=n.event===("sub"===e?"TOPIC.SUB_SUCCESS":"TOPIC.UNSUB_SUCCESS"),c=n.event===("sub"===e?"TOPIC.SUB_FAILED":"TOPIC.UNSUB_FAILED");(i||c)&&r===te(n.payload)&&((i?t:o)(n),s(),a())})),a=(0,$.A)(X,this,Z).onClose((()=>{o({retryCount:5}),s(),a()}));(0,$.A)(X,this,Z).send(i)}));return"sub"===e&&(0,B.A)(Q,this).set(t,o),(0,B.A)(K,this)[e].set(o,s),s}function te(e){const{system:t,topic:n}=e;return JSON.stringify({system:t,topic:n})}var ne=function(){var e=(0,p.A)((function*(e,t){return(yield d.http.post("api/gateway/micro_app_standalone.runtime.SearchMicroAppStandalone/api/v1/micro_app_standalone/search",e,t)).data}));return function(t,n){return e.apply(this,arguments)}}();const oe=new Map,re=new Map;function ie(e,t){if(window.STANDALONE_MICRO_APPS&&!window.NO_AUTH_GUARD){const n=function(e){var t;const n={usedArgs:new Set},{customTemplates:o,menus:r}=null!==(t=e.meta)&&void 0!==t?t:{};return(0,u.traverseStoryboardExpressions)([e.routes,o,r],((e,t)=>{(0,u.collectInstalledAppsHasUsage)(n,e,t)}),"INSTALLED_APPS"),[...n.usedArgs]}(e),o=[];for(const e of n)oe.has(e)||t(e)||o.push(e);if(0===o.length)return;const r=ne({query:{appId:{$in:o}},fields:["appId","currentVersion","installStatus"]},{noAbortOnRouteChange:!0}).catch((e=>{console.error("Get off site standalone micro-apps failed",e)}));for(const e of o)oe.set(e,r.then((t=>{var n;const o=null==t||null===(n=t.list)||void 0===n?void 0:n.find((t=>t.appId===e)),r=o?{...o,id:e}:void 0;return re.set(e,r),r})))}}async function se(e){await Promise.all(e.map((e=>oe.get(e))))}function ae(e){if(window.STANDALONE_MICRO_APPS)return re.get(e)}var ce=n(94558);const le="core.provider-flow-api";function ue(e,t){return null==e?void 0:e.some((e=>e.source===t))}async function pe(e){let{url:t,originalUri:n,method:o="GET",responseWrapper:r=!0,ext_fields:i,request:s,isFileType:a,stream:c}=e;const l=["get","delete","head"].includes(o.toLowerCase()),u=a?{responseType:"blob"}:{};let p;for(var h=arguments.length,f=new Array(h>1?h-1:0),m=1;m<h;m++)f[m-1]=arguments[m];if(l){var g,v,A,w;let e,r;var y,S;if(n&&"object"===(null==s?void 0:s.type)&&(null!==(g=null===(v=n.match(/:([^/]+)/g))||void 0===v?void 0:v.length)&&void 0!==g?g:0)===(null!==(A=null===(w=s.fields)||void 0===w?void 0:w.length)&&void 0!==A?A:0)?[r]=f:[e,r]=f,c)return await(0,ce.createSSEStream)(d.http.getUrlWithParams(t,e),{...u,...r,method:o,headers:Object.fromEntries([...new Headers(null!==(y=null===(S=r)||void 0===S?void 0:S.headers)&&void 0!==y?y:{}).entries()])});p=await d.http.simpleRequest(o,t,{params:e,...u,...r})}else{const e=function(e){if("object"!==(null==e?void 0:e.type))return!1;const t=e=>!(0,j.isEmpty)(e)&&e.some((e=>["file","file[]"].includes(e.type)||t(e.fields)));return t(e.fields)}(s),n=function(e){const t=ue(e,"query");for(var n=arguments.length,o=new Array(n>1?n-1:0),r=1;r<n;r++)o[r-1]=arguments[r];if(t){if(ue(e,"body")){const[e,t,n]=o;return{data:e,options:{params:t,...n}}}const[t,n]=o;return{data:{},options:{params:t,...n}}}const[i,s]=o;return{data:i,options:s}}(i,...f),r=e?function(e){if(e instanceof FormData)return e;const t=new FormData;for(const[n,o]of Object.entries(e))Array.isArray(o)?o.forEach((e=>{t.append(n,e)})):!(0,j.isObject)(o)||o instanceof Blob||o instanceof Date?t.append(n,o):Object.entries(o).forEach((e=>{let[o,r]=e;t.append(`${n}[${o}]`,r)}));return t}(n.data):n.data;if(c){var b;const{body:e,headers:i}=d.http.getBodyAndHeaders(r,null===(b=n.options)||void 0===b?void 0:b.headers);return await(0,ce.createSSEStream)(t,{...u,...n.options,method:o,headers:Object.fromEntries([...new Headers(null!=i?i:{}).entries()]),body:e})}p=await d.http.requestWithBody(o,t,r,{...u,...n.options})}return!a&&r?p.data:p}function de(){customElements.define(le,(0,ce.createProviderClass)(pe))}var he=n(55310);const fe=async(e,t)=>(await d.http.post("api/gateway/next_builder.contract_center.BatchSearchContract/api/v1/contract/batch_search",e,t)).data,me=new Map,ge=new Map,ve=new Map,Ae=(e,t)=>{null==e||e.forEach((e=>{t.set(`${e.namespaceId}.${e.name}`,e)}))};function we(e){Ae(e,me)}function ye(e){Ae(e,ge)}function Se(){ge.clear()}function be(e){Ae(e,ve)}function Ie(){ve.clear()}const ke=new Map;function Pe(e){return e.includes("@")}async function Ee(e,t,n,o){if(!e.includes(":"))throw new Error(`You're using legacy Custom API "${e}" which is dropped in v3, please use Flow API instead`);const r=await async function(e){const[t,n]=e.split("@"),[o,r]=n.split(":"),i=function(e){return me.get(e)||ge.get(e)||ve.get(e)}(`${t}.${o}`);if(i)return{name:i.name,namespace:i.namespaceId,serviceName:i.serviceName,version:i.version,contract:{endpoint:i.endpoint,response:i.response,request:i.request}};let s=ke.get(e);return s||(s=async function(e,t,n){let o;const r=`${e}@${t}`;let i;try{const{list:e}=await fe({contract:[{fullContractName:r,version:n}]});o=e[0]}catch(e){i=e}return o?{name:o.name,namespace:o.namespaceId,serviceName:o.serviceName,version:o.version,contract:{endpoint:o.endpoint,response:o.response,request:o.request}}:(console.error(`Failed to fetch Flow API definition for "${r}:${n}"`,null!=i?i:"Contract not found"),null)}(t,o,r),ke.set(e,s)),s}(e);if(!r)throw new Oe(`Flow API not found: "${e}"`);const i=function(e,t){var n,o;const r="string"==typeof t.contract?he.safeLoad(t.contract,{schema:he.JSON_SCHEMA,json:!0}):t.contract,{uri:i,method:s="GET",ext_fields:a}=null!==(n=null==r?void 0:r.endpoint)&&void 0!==n?n:{},c=!(null==r||!r.response)&&!1!==r.response.wrapper;if(!i)throw new Error(`Missing endpoint.uri in contract of provider "${e}"`);return{uri:i,method:"list"===s.toLowerCase()?"get":s,ext_fields:a,name:t.name,namespace:t.namespace,serviceName:t.serviceName,version:t.version,isFileType:"file"===(null==r||null===(o=r.response)||void 0===o?void 0:o.type),responseWrapper:c,request:null==r?void 0:r.request}}(e,r);return function(e,t,n,o){const{uri:r,method:i,ext_fields:s,responseWrapper:a,isFileType:c,request:l}=e,u="saveAs"===n;let p,d=t;u&&(Array.isArray(t)?(d=t.slice(),p=d.shift()):p=t.filename);const{url:h,args:f}=function(e,t){const{uri:n,name:o,namespace:r,serviceName:i,version:s,method:a="GET",request:c,ext_fields:l}=e,u=s?"logic.api.gateway"===i||null!=i&&i.startsWith("logic.api.gateway.")?"":i?`api/gateway/${i}`:`api/gateway/${r}.${o}@${s}`:`api/gateway/api_service.${r}.${o}`;let p,d=[];if(Array.isArray(t))d=t.slice(),p=n.replace(/:([^/]+)/g,(()=>d.shift()));else{const e={...t.params};if(p=n.replace(/:([^/]+)/g,((t,n)=>{if((0,ce.hasOwnProperty)(e,n)){const t=e[n];return delete e[n],t}throw new Error(`Missing required param: "${n}"`)})),["get","delete","head"].includes(a.toLowerCase())){var h,f,m,g;"object"===(null==c?void 0:c.type)&&(null!==(h=null===(f=n.match(/:([^/]+)/g))||void 0===f?void 0:f.length)&&void 0!==h?h:0)===(null!==(m=null===(g=c.fields)||void 0===g?void 0:g.length)&&void 0!==m?m:0)||d.push(e)}else{const t=null==l?void 0:l.find((e=>"body"===e.source));if(t){let n;t.name&&(0,ce.hasOwnProperty)(e,t.name)&&(n=e[t.name],delete e[t.name]),d.push(n)}const n=null==l?void 0:l.find((e=>"query"===e.source));if(n){let t;n.name&&(0,ce.hasOwnProperty)(e,n.name)&&(t=e[n.name],delete e[n.name]),d.push(t)}t||n||d.push(e)}t.options&&d.push(t.options)}return{url:u?u+p:p.replace(/^\//,""),args:d}}(e,d);return[...u?[p]:[],{url:h,originalUri:r,method:i,ext_fields:s,responseWrapper:a,request:l,isFileType:c,stream:o},...f]}(i,t,n,o)}class Oe extends Error{constructor(e){super(e),this.name="FlowApiNotFoundError",Error.captureStackTrace&&Error.captureStackTrace(this,Oe)}}var Ce=function(){var e=(0,p.A)((function*(e,t,n){return(yield d.http.post("api/gateway/cmdb.instance.PostSearch/object/".concat(e,"/instance/_search"),t,n)).data}));return function(t,n,o){return e.apply(this,arguments)}}(),Me=n(69740),_e=function(){var e=(0,p.A)((function*(e,t,n){return(yield d.http.get("api/gateway/micro_app.installed_micro_app.GetMenusInfo/api/v1/micro-app/menus/".concat(e),(0,Me.A)((0,Me.A)({},n),{},{params:t}))).data}));return function(t,n,o){return e.apply(this,arguments)}}(),Te=n(87117);const Ne=Symbol("appId"),$e=Symbol("menuI18nNamespace"),Re=Symbol("overrideApp");async function Le(e,t,n){const o=e.find((e=>"inject"!==e.type));if(!o)return;const r=[],i=new Map,s=new WeakMap;for(const t of e)if(t.i18n){const e=`menu/${t.menuId}~${t.app[0].appId}+${t.instanceId}`;Object.entries(t.i18n).forEach((t=>{let[n,o]=t;Te.i18n.addResourceBundle(n,e,o)})),s.set(t,e)}await Promise.all(e.map((e=>async function(e,t,n,o){if(e.dynamicItems&&e.itemsResolve){const i=e.app[0].appId,s={...t,pendingPermissionsPreCheck:[...t.pendingPermissionsPreCheck,M(e.itemsResolve)]};var r;i!==t.app.id&&(s.overrideApp=window.STANDALONE_MICRO_APPS?e.overrideApp:null===(r=o.getStoryboardByAppId(i))||void 0===r?void 0:r.app,s.appendI18nNamespace=n.get(e));const a=await o.resolveData({transform:"items",...e.itemsResolve},s);e.items=a.items}}(e,t,s,n))));for(const t of e){var a;if(null!==(a=t.items)&&void 0!==a&&a.length)if("inject"===t.type&&t.injectMenuGroupId){let e=i.get(t.injectMenuGroupId);e||(e=[],i.set(t.injectMenuGroupId,e)),e.push(t)}else r.push(t)}return{...o,items:r.flatMap((e=>Be(e.items,e,i,s))),[$e]:s.get(o),[Re]:o.overrideApp}}function Be(e,t,n,o){return null==e?void 0:e.map((e=>{var r;const i=e.groupId&&n.get(e.groupId);return i&&n.delete(e.groupId),{...e,children:(null!==(r=Be(e.children,t,n,o))&&void 0!==r?r:[]).concat(i?i.flatMap((e=>Be(e.items,e,n,o))):[]),[Ne]:t.app[0].appId,[$e]:o.get(t),[Re]:t.overrideApp}}))}function je(e){e.items=We(e.items)}function We(e){return function(e){return(0,j.sortBy)(e,(e=>{var t;return null!==(t=e.sort)&&void 0!==t?t:-1/0}))}(e).map((e=>({...e,children:We(e.children)})))}var De=n(59933),xe=n(71321);function Ue(e,t,n,o){if("titleDataSource"in e&&(0,ce.isObject)(e.titleDataSource)&&Object.entries(e.titleDataSource).every((e=>{let[,t]=e;return null===t||""===t}))&&delete e.titleDataSource,"if"in e&&null===e.if&&delete e.if,"to"in e&&e.to&&!(0,xe.isEvaluable)(e.to)){const t=De.pipes.yaml(e.to);(0,ce.isObject)(t)&&["pathname","search","hash"].some((e=>(0,ce.hasOwnProperty)(t,e)))&&(e.to=t)}let r=n;if(t!==n.app.id){var i;const s=window.STANDALONE_MICRO_APPS?e[Re]:null===(i=o.getStoryboardByAppId(t))||void 0===i?void 0:i.app;r={...n,overrideApp:s,appendI18nNamespace:e[$e]}}return o.asyncComputeRealValue(e,r,{ignoreSymbols:!0})}function Fe(e,t,n){return Promise.all(e.map((async e=>{let{children:o,...r}=e;const[i,s]=await Promise.all([Ue(r,r[Ne],t,n),o&&await Fe(o,t,n)]);return{...i,children:s}})))}var qe=n(48518);const ze=new Map;async function He(e){if(e.title||(0,j.isEmpty)(e.titleDataSource))return e.title;const t=JSON.stringify(e.titleDataSource),n=ze.get(t);if(void 0!==n)return n;const{objectId:o,instanceId:r,attributeId:i}=e.titleDataSource,s=null!=i?i:"name",a=await(0,qe.y)(o,r,{fields:s});let c;if("#showKey"===i&&Array.isArray(a[s])){const[e,...t]=a[s];c=t.length>0?`${e}(${t.join(",")})`:String(e)}else c=String(a[s]);return ze.set(t,c),c}const Ge=new Map,Je=new Map;function Ve(e){return null==e?void 0:e.filter(f.checkIfOfComputed).map((e=>{const t=Ve(e.children);return"group"===e.type?{type:"group",title:e.text,childLayout:e.childLayout,items:t,groupId:e.groupId,groupFrom:e.groupFrom}:null!=t&&t.length?{type:"subMenu",childLayout:e.childLayout,title:e.text,icon:e.icon,items:t,defaultExpanded:e.defaultExpanded}:function(e){return e.href?P(e.href):!!e.to&&k(e.to)}(e)?null:(0,j.omit)(e,["type","items","children"])})).filter(Boolean)}function Ye(e){return Je.get(e)}function Ke(e,t,n){let o=Ge.get(e);return o||(o=async function(e,t,n){const o=window.STANDALONE_MICRO_APPS?function(e,t,n){var o,r,i,s;const a=n.getStoryboardByAppId(t);return(null!==(o=null!==(r=null===(i=a.meta)||void 0===i?void 0:i.injectMenus)&&void 0!==r?r:null===(s=a.meta)||void 0===s?void 0:s.menus)&&void 0!==o?o:[]).filter((t=>t.menuId===e)).map((e=>{var n;return{...e,...null!==(n=e.app)&&void 0!==n&&null!==(n=n[0])&&void 0!==n&&n.appId?{}:{app:[{appId:t}]}}}))}(e,t.app.id,n):t.flags["three-level-menu-layout"]?(await _e(e,{menuObjectId:"EASYOPS_STORYBOARD_MENU"})).menus:(await Ce("EASYOPS_STORYBOARD_MENU",{page:1,page_size:200,fields:{menuId:!0,title:!0,icon:!0,link:!0,titleDataSource:!0,defaultCollapsed:!0,defaultCollapsedBreakpoint:!0,type:!0,injectMenuGroupId:!0,dynamicItems:!0,itemsResolve:!0,items:!0,i18n:!0,"items.children":!0,"app.appId":!0},query:{menuId:{$eq:e},app:{$size:{$gt:0}}}})).list,r=await Le(o,t,n);if(!r)throw new Error(`Menu not found: ${e}`);je(r);const{items:i,app:s,...a}=r,c={...t,pendingPermissionsPreCheck:[...t.pendingPermissionsPreCheck,M([i,a])]};delete c.tplStateStoreId,delete c.forEachItem,delete c.forEachIndex,delete c.forEachSize;const l=s[0].appId,[u,p]=await Promise.all([Ue(a,l,c,n),Fe(i,c,n)]),d={title:await He(u),...(0,j.pick)(u,["icon","link","defaultCollapsed","defaultCollapsedBreakpoint"]),menuItems:Ve(p)};Je.set(e,d)}(e,t,n)),o}const Qe=[];let Xe=null;const Ze={maxWaitingTime:5e3,maxLoggedEvents:10};function et(){clearTimeout(Xe),Qe.length>Ze.maxLoggedEvents?tt():Xe=setTimeout(tt,Ze.maxWaitingTime)}function tt(){if(0===Qe.length)return;const e={model:"easyops.FRONTEND_STAT",columns:["_ver","st","et","lt","size","time","traceId","code","duration","page","uid","username","api","type","msg","status","pageId","route","apiCount","maxApiTimeCost","apiSizeCost","pageTitle"],data:Qe.splice(0,Ze.maxLoggedEvents)};var t;!function(e,t){const n=new Blob([JSON.stringify(t)],{type:"application/json"});window.navigator.sendBeacon(e,n)}(Ze.api,e),Qe.length&&(t=tt,(window.requestIdleCallback||window.requestAnimationFrame||(e=>setTimeout(e,17)))(t))}function nt(){window.addEventListener("beforeunload",tt,!1)}let ot,rt=!1,it=null,st=!0;const at=[];function ct(e){rt||(rt=!0,ot||(ot=function(e,t){return Object.assign(Ze,{...t,api:e}),{sendOnExit:nt,emit:et}}(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}),ot.sendOnExit()))}const lt=Symbol("HttpAnalytics");function ut(e){const t=Math.round(performance.now()),n=Date.now();return e[lt]={st:n,time:Math.round(n/1e3),perfStartTime:t},e}function pt(e,t){return ht(!1,e,t)}function dt(e,t){return ht(!0,e,t)}function ht(e,t,n){const o=Math.round(performance.now()),r=Date.now(),{[lt]:i,url:s}=n;if(i&&!(e&&t instanceof d.HttpAbortError)){delete n[lt];const{st:c,time:l,perfStartTime:u}=i,{userInstanceId:p,username:h}=w();let f,m,g,v,A,y,S;if(e){const e=t instanceof d.HttpResponseError;(e||t instanceof d.HttpParseError)&&(({status:A,headers:y}=t.response),e&&(S=t.responseJson))}else({status:A,data:S,headers:y}=t);(0,ce.isObject)(S)&&({code:f,message:m}=S),y instanceof Headers&&(g=y.get("x-b3-traceid"),v=y.get("content-length")),a={st:c,_ver:c,uid:p,username:h,time:l,et:r,page:location.href,duration:o-u,api:s,type:"api",code:null!=f?f:-1,msg:null!=m?m:"",status:A,traceId:null!=g?g:"",size:v?Number(v):-1},it?Qe.push({...a,type:"apiRequest",...it}):at.push(a)}var a;return e?Promise.reject(t):t}function ft(){const e=Math.round(performance.now()),t=Date.now();return at.length=0,it=null,function(n){let{status:o,path:r,pageTitle:i}=n;if("ok"!==o)return Qe.push(...at),void(at.length=0);const s=Math.round(performance.now())-e,a=Date.now(),{username:c}=w();(function(e){const t=function(){const e=URL.createObjectURL(new Blob([]));let t=e.substring(e.lastIndexOf("/")+1);return URL.revokeObjectURL(e),st&&(t="88-"+t,st=!1),t}(),{lt:n,route:o}=e;it={lt:n,route:o,pageId:t},Qe.push({...e,pageId:t,apiCount:at.length,maxApiTimeCost:Math.max(0,...at.map((e=>e.duration))),size:at.map((e=>e.size)).filter((e=>e>0)).reduce(((e,t)=>e+t),0)});for(const e of at)Qe.push({...e,...it});at.length=0,ot.emit()})({type:"page",page:location.href,_ver:t,time:Math.round(t/1e3),st:t,et:a,lt:s,pageTitle:i,username:c,route:r}),window.dispatchEvent(new CustomEvent("route.render",{detail:{renderTime:s}}))}}const mt=Object.freeze({checkPermissions:function(){if(!S())return!1;if(w().isAdmin)return!0;for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];for(const e of t)switch(C.get(e)){case"unauthorized":case"undefined":return!1;case void 0:return console.error(`Un-checked permission action: "${e}", please make sure the permission to check is defined in permissionsPreCheck.`),!1}return!0},preCheckPermissions:function(e){if(S()&&!w().isAdmin)return _((0,u.scanPermissionActionsInStoryboard)(e))},preCheckPermissionsForBrickOrRoute:async function(e,t){if(S()&&!w().isAdmin&&Array.isArray(e.permissionsPreCheck))return _(await t(e.permissionsPreCheck))}}),gt=new class{constructor(){(0,T.A)(this,X),(0,N.A)(this,Y,void 0),(0,N.A)(this,K,{sub:new Map,unsub:new Map}),(0,N.A)(this,Q,new Map)}subscribe(e,t){const n=JSON.stringify(t);return(0,R.A)(X,this,ee).call(this,"sub",e,t,n)}unsubscribe(e){const t=(0,B.A)(Q,this).get(e);if(!t){const t=`The message channel to unsubscribe "${e}" is not found`;return console.error(t),Promise.reject(new Error(t))}const n=JSON.parse(t),o=(0,R.A)(X,this,ee).call(this,"unsub",e,n,t);return(0,B.A)(K,this).sub.delete(t),o.then((()=>{(0,B.A)(Q,this).delete(e)})),o}onMessage(e,t){let n=(0,B.A)(Q,this).get(e),o=!1;return(0,$.A)(X,this,Z).onMessage((r=>{n||(n=(0,B.A)(Q,this).get(e)),n?"MESSAGE.PUSH"===r.event&&function(e,t){const n=JSON.parse(e);return n.system===t.system&&(n.topic===t.topic||"string"==typeof n.topic&&n.topic.includes("*")&&new RegExp(`^${n.topic.replace(/([^*]*)\*([^*]*)/g,((e,t,n)=>`${(0,j.escapeRegExp)(t)}[^/]*${(0,j.escapeRegExp)(n)}`))}$`).test(t.topic))}(n,r.payload)&&t(r.payload.message):o||(console.error(`Message channel: "${e}" not found`),o=!0)}))}onClose(e){return(0,$.A)(X,this,Z).onClose(e)}reset(){var e;(0,B.A)(K,this).sub.clear(),(0,B.A)(K,this).unsub.clear(),(0,B.A)(Q,this).clear(),null===(e=(0,B.A)(Y,this))||void 0===e||e.reset()}},vt=function(){const e=(0,f.getV2RuntimeFromDll)();if(e)return Object.freeze((0,j.pick)(e,["authenticate","getAuth","isLoggedIn","logout","addPathToBlackList","isBlockedPath","isBlockedUrl","isBlockedHref"]))}()||o}}]);
|
|
3
|
+
//# sourceMappingURL=1097.56d301a5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/1097.56d301a5.js","mappings":"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","sources":["webpack:///../../node_modules/@next-api-sdk/micro-app-sdk/dist/esm/api/micro_app/permission/validatePermissions.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/auth.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/checkPermissions.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/websocket/MessageService.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/websocket/MessageDispatcher.js","webpack:///../../node_modules/@next-api-sdk/micro-app-standalone-sdk/dist/esm/api/micro_app_standalone/runtime/searchMicroAppStandalone.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/checkInstalledApps.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/flowApi/FlowApiProvider.js","webpack:///../../node_modules/@next-api-sdk/next-builder-sdk/dist/esm/api/next_builder/contract_center/batchSearchContract.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/flowApi/CollectContracts.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/flowApi/FlowApi.js","webpack:///../../node_modules/@next-api-sdk/cmdb-sdk/dist/esm/api/cmdb/instance/postSearch.js","webpack:///../../node_modules/@next-api-sdk/micro-app-sdk/dist/esm/api/micro_app/installed_micro_app/getMenusInfo.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/menu/constants.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/menu/mergeMenu.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/menu/loadDynamicMenuItems.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/menu/reorderMenuItems.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/menu/computeMenuData.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/menu/fetchMenuTitle.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/menu/fetchMenuById.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/menu/getMenusOfStandaloneApp.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/analytics/transport.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/analytics/analytics.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/analytics/http.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/analytics/pageView.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/index.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/auth-v2.js"],"sourcesContent":["import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 校验系统权限\n * @endpoint POST /api/micro_app/v1/permission/validate\n */\nexport var PermissionApi_validatePermissions = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (data, options) {\n return (/**! @contract easyops.api.micro_app.permission.ValidatePermissions@1.0.0 */(yield http.post(\"api/gateway/micro_app.permission.ValidatePermissions/api/micro_app/v1/permission/validate\", data, options)).data\n );\n });\n return function PermissionApi_validatePermissions(_x, _x2) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=validatePermissions.js.map","import { getBasePath, matchPath } from \"@next-core/runtime\";\nimport { createLocation } from \"history\";\nimport { resetPermissionPreChecks } from \"./checkPermissions.js\";\nconst auth = {};\nlet pathBlackListSet = new Set();\n\n/** @internal */\n\n/** @internal */\nexport function authenticate(newAuth) {\n var _newAuth$license;\n Object.assign(auth, {\n org: newAuth.org,\n username: newAuth.username,\n userInstanceId: newAuth.userInstanceId,\n loginFrom: newAuth.loginFrom,\n accessRule: newAuth.accessRule,\n isAdmin: newAuth.isAdmin,\n csrfToken: newAuth.csrfToken,\n license: newAuth.license,\n accessToken: newAuth.accessToken,\n userShowValue: newAuth.userShowValue\n });\n pathBlackListSet = new Set((_newAuth$license = newAuth.license) === null || _newAuth$license === void 0 ? void 0 : _newAuth$license.blackList);\n}\n\n/**\n * 获取当前登录认证信息。\n *\n * @returns 当前登录认证信息。\n */\nexport function getAuth() {\n return {\n ...auth\n };\n}\n\n/** @internal */\nexport function logout() {\n for (const key of Object.keys(auth)) {\n auth[key] = undefined;\n }\n resetPermissionPreChecks();\n}\n\n/**\n * 查看当前是否已登录。\n *\n * @returns 当前是否已登录。\n */\nexport function isLoggedIn() {\n return auth.username !== undefined;\n}\n\n/**\n * 增加路径黑名单\n */\nexport function addPathToBlackList(path) {\n pathBlackListSet.add(path);\n}\n\n/**\n * 判断一个内部 URL 路径是否被屏蔽。\n */\nexport function isBlockedPath(pathname) {\n return [...pathBlackListSet].some(path => matchPath(pathname, {\n path\n }));\n}\n\n/**\n * 判断一个内部 URL 是否被屏蔽。\n */\nexport function isBlockedUrl(url) {\n const pathname = (typeof url === \"string\" ? createLocation(url) : url).pathname;\n if (typeof pathname !== \"string\") {\n return false;\n }\n return isBlockedPath(pathname);\n}\n\n/**\n * 判断一个 href 是否被屏蔽。\n */\nexport function isBlockedHref(href) {\n const basePath = getBasePath();\n const url = new URL(href, `${location.origin}${basePath}`);\n // 忽略外链地址\n if (url.origin !== location.origin || !url.pathname.startsWith(basePath)) {\n return false;\n }\n // 转换为内部路径\n return isBlockedPath(url.pathname.substring(basePath.length - 1));\n}\n//# sourceMappingURL=auth.js.map","import { scanPermissionActionsInAny, scanPermissionActionsInStoryboard } from \"@next-core/utils/storyboard\";\nimport { PermissionApi_validatePermissions } from \"@next-api-sdk/micro-app-sdk\";\nimport { getAuth, isLoggedIn } from \"./auth.js\";\nconst checkingPermissions = new Map();\nconst checkedPermissions = [];\nconst permissionMap = new Map();\nexport function preCheckPermissions(storyboard) {\n if (isLoggedIn() && !getAuth().isAdmin) {\n const usedActions = scanPermissionActionsInStoryboard(storyboard);\n return validatePermissions(usedActions);\n }\n}\nexport async function preCheckPermissionsForBrickOrRoute(container, asyncComputeRealValue) {\n if (isLoggedIn() && !getAuth().isAdmin && Array.isArray(container.permissionsPreCheck)) {\n const actions = await asyncComputeRealValue(container.permissionsPreCheck);\n return validatePermissions(actions);\n }\n}\nexport function preCheckPermissionsForAny(data) {\n if (isLoggedIn() && !getAuth().isAdmin) {\n const usedActions = scanPermissionActionsInAny(data);\n return validatePermissions(usedActions);\n }\n}\nexport async function validatePermissions(usedActions) {\n // Do not request known actions.\n const uncheckedActions = usedActions.filter(action => !checkedPermissions.includes(action));\n if (uncheckedActions.length === 0) {\n return;\n }\n const checkingTasks = [];\n const restActions = [];\n for (const action of uncheckedActions) {\n const promise = checkingPermissions.get(action);\n if (promise) {\n checkingTasks.push(promise);\n } else {\n restActions.push(action);\n }\n }\n if (restActions.length > 0) {\n const task = (async () => {\n try {\n const result = await PermissionApi_validatePermissions({\n actions: restActions\n }, {\n noAbortOnRouteChange: true\n });\n for (const item of result.actions) {\n permissionMap.set(item.action, item.authorizationStatus);\n if (item.authorizationStatus === \"undefined\") {\n // eslint-disable-next-line no-console\n console.error(`Undefined permission action: \"${item.action}\"`);\n }\n }\n } catch (error) {\n // Allow pre-check to fail, and\n // make it not crash when the backend service is not updated.\n // eslint-disable-next-line no-console\n console.error(\"Pre-check permissions failed\", error);\n } finally {\n checkedPermissions.push(...restActions);\n }\n })();\n for (const action of restActions) {\n checkingPermissions.set(action, task);\n }\n checkingTasks.push(task);\n }\n await Promise.all(checkingTasks);\n}\n\n/**\n * Check the current logged-in user whether to have all\n * permissions of actions passed to it.\n *\n * @param actions - Required permission actions.\n */\nexport function checkPermissions() {\n if (!isLoggedIn()) {\n return false;\n }\n if (getAuth().isAdmin) {\n return true;\n }\n for (var _len = arguments.length, actions = new Array(_len), _key = 0; _key < _len; _key++) {\n actions[_key] = arguments[_key];\n }\n for (const action of actions) {\n // Only **exclusively authorized** permissions are ok.\n // Those scenarios below will fail:\n // - unauthorized actions (pre-check results)\n // - undefined actions (pre-check results)\n // - Un-pre-checked or pre-check failed\n switch (permissionMap.get(action)) {\n case \"unauthorized\":\n case \"undefined\":\n return false;\n case undefined:\n // eslint-disable-next-line no-console\n console.error(`Un-checked permission action: \"${action}\", please make sure the permission to check is defined in permissionsPreCheck.`);\n return false;\n }\n }\n return true;\n}\n\n/**\n * Reset permission pre-checks after logged-out.\n */\nexport function resetPermissionPreChecks() {\n checkingPermissions.clear();\n checkedPermissions.length = 0;\n permissionMap.clear();\n}\n//# sourceMappingURL=checkPermissions.js.map","import _classPrivateMethodInitSpec from \"@babel/runtime/helpers/classPrivateMethodInitSpec\";\nimport _classPrivateFieldInitSpec from \"@babel/runtime/helpers/classPrivateFieldInitSpec\";\nimport _assertClassBrand from \"@babel/runtime/helpers/assertClassBrand\";\nimport _classPrivateFieldGet from \"@babel/runtime/helpers/classPrivateFieldGet2\";\nimport _classPrivateFieldSet from \"@babel/runtime/helpers/classPrivateFieldSet2\";\nconst RETRY_TIMEOUT_UNIT = 1000;\nexport const RETRY_LIMIT = 5;\nvar _url = /*#__PURE__*/new WeakMap();\nvar _ws = /*#__PURE__*/new WeakMap();\nvar _queuedMessages = /*#__PURE__*/new WeakMap();\nvar _messageListeners = /*#__PURE__*/new WeakMap();\nvar _closeListeners = /*#__PURE__*/new WeakMap();\nvar _retryCount = /*#__PURE__*/new WeakMap();\nvar _closed = /*#__PURE__*/new WeakMap();\nvar _MessageService_brand = /*#__PURE__*/new WeakSet();\nexport class MessageService {\n constructor(url) {\n _classPrivateMethodInitSpec(this, _MessageService_brand);\n _classPrivateFieldInitSpec(this, _url, void 0);\n _classPrivateFieldInitSpec(this, _ws, void 0);\n _classPrivateFieldInitSpec(this, _queuedMessages, []);\n _classPrivateFieldInitSpec(this, _messageListeners, new Set());\n _classPrivateFieldInitSpec(this, _closeListeners, new Set());\n _classPrivateFieldInitSpec(this, _retryCount, 0);\n _classPrivateFieldInitSpec(this, _closed, false);\n _classPrivateFieldSet(_url, this, url);\n }\n send(data) {\n // Connect when data is sent for the first time\n if (!_classPrivateFieldGet(_ws, this)) {\n _classPrivateFieldSet(_ws, this, _assertClassBrand(_MessageService_brand, this, _connect).call(this));\n }\n const stringifiedData = JSON.stringify(data);\n if (_classPrivateFieldGet(_ws, this).readyState === WebSocket.OPEN) {\n _classPrivateFieldGet(_ws, this).send(stringifiedData);\n } else {\n _classPrivateFieldGet(_queuedMessages, this).push(stringifiedData);\n }\n }\n onMessage(listener) {\n _classPrivateFieldGet(_messageListeners, this).add(listener);\n return () => {\n _classPrivateFieldGet(_messageListeners, this).delete(listener);\n };\n }\n onClose(listener) {\n _classPrivateFieldGet(_closeListeners, this).add(listener);\n return () => {\n _classPrivateFieldGet(_closeListeners, this).delete(listener);\n };\n }\n reset() {\n _classPrivateFieldGet(_queuedMessages, this).length = 0;\n _classPrivateFieldGet(_messageListeners, this).clear();\n _classPrivateFieldGet(_closeListeners, this).clear();\n }\n close() {\n var _classPrivateFieldGet2;\n _classPrivateFieldSet(_closed, this, true);\n if (((_classPrivateFieldGet2 = _classPrivateFieldGet(_ws, this)) === null || _classPrivateFieldGet2 === void 0 ? void 0 : _classPrivateFieldGet2.readyState) === WebSocket.OPEN) {\n _classPrivateFieldGet(_ws, this).close();\n }\n }\n}\nfunction _connect() {\n // eslint-disable-next-line no-console\n console.log(\"WebSocket connecting ...\");\n const ws = new WebSocket(_classPrivateFieldGet(_url, this));\n let resetRetryCountTimeout;\n ws.addEventListener(\"open\", e => {\n // eslint-disable-next-line no-console\n console.log(\"WebSocket open:\", e);\n\n // If server closes the socket not more than 1 second after it's opened,\n // we should not reset the retry count.\n resetRetryCountTimeout = setTimeout(() => {\n resetRetryCountTimeout = undefined;\n _classPrivateFieldSet(_retryCount, this, 0);\n }, 1e3);\n for (const msg of _classPrivateFieldGet(_queuedMessages, this)) {\n ws.send(msg);\n }\n _classPrivateFieldGet(_queuedMessages, this).length = 0;\n });\n ws.addEventListener(\"close\", e => {\n if (_classPrivateFieldGet(_closed, this)) {\n return;\n }\n if (resetRetryCountTimeout !== undefined) {\n clearTimeout(resetRetryCountTimeout);\n }\n // eslint-disable-next-line no-console\n console.log(\"WebSocket close:\", e);\n // Error code 1000 means that the connection was closed normally.\n if (e.code !== 1000) {\n _assertClassBrand(_MessageService_brand, this, _reconnect).call(this);\n }\n });\n ws.addEventListener(\"error\", e => {\n // No need to reconnect in error event listener,\n // there will always be a close event along with the error event.\n // eslint-disable-next-line no-console\n console.error(\"WebSocket error:\", e);\n });\n ws.addEventListener(\"message\", e => {\n const response = JSON.parse(e.data);\n for (const listener of _classPrivateFieldGet(_messageListeners, this)) {\n listener(response);\n }\n });\n return ws;\n}\nfunction _reconnect() {\n // istanbul ignore next: currently can't mock this\n if (_classPrivateFieldGet(_retryCount, this) >= RETRY_LIMIT) {\n // eslint-disable-next-line no-console\n console.error(\"WebSocket connect retry limit exceeded\");\n // Keep behavior as v2: emit close event only after retry limit exceeded\n for (const listener of _classPrivateFieldGet(_closeListeners, this)) {\n listener();\n }\n return;\n }\n // Double the timeout for each retry\n const delay = Math.pow(2, _classPrivateFieldGet(_retryCount, this)) * RETRY_TIMEOUT_UNIT;\n // eslint-disable-next-line no-console\n console.log(\"WebSocket will reconnect after %d seconds\", delay / 1000);\n setTimeout(() => {\n var _this$retryCount, _this$retryCount2;\n _classPrivateFieldSet(_retryCount, this, (_this$retryCount = _classPrivateFieldGet(_retryCount, this), _this$retryCount2 = _this$retryCount++, _this$retryCount)), _this$retryCount2;\n _classPrivateFieldSet(_ws, this, _assertClassBrand(_MessageService_brand, this, _connect).call(this));\n }, delay);\n}\n//# sourceMappingURL=MessageService.js.map","import _classPrivateMethodInitSpec from \"@babel/runtime/helpers/classPrivateMethodInitSpec\";\nimport _classPrivateFieldInitSpec from \"@babel/runtime/helpers/classPrivateFieldInitSpec\";\nimport _classPrivateGetter from \"@babel/runtime/helpers/classPrivateGetter\";\nimport _assertClassBrand from \"@babel/runtime/helpers/assertClassBrand\";\nimport _classPrivateFieldSet from \"@babel/runtime/helpers/classPrivateFieldSet2\";\nimport _classPrivateFieldGet from \"@babel/runtime/helpers/classPrivateFieldGet2\";\nimport { getBasePath } from \"@next-core/runtime\";\nimport { escapeRegExp } from \"lodash\";\nimport { MessageService, RETRY_LIMIT } from \"./MessageService.js\";\nvar _ms = /*#__PURE__*/new WeakMap();\nvar _memoizedChannels = /*#__PURE__*/new WeakMap();\nvar _channelPayloads = /*#__PURE__*/new WeakMap();\nvar _MessageDispatcher_brand = /*#__PURE__*/new WeakSet();\nexport class MessageDispatcher {\n constructor() {\n _classPrivateMethodInitSpec(this, _MessageDispatcher_brand);\n _classPrivateFieldInitSpec(this, _ms, void 0);\n _classPrivateFieldInitSpec(this, _memoizedChannels, {\n sub: new Map(),\n unsub: new Map()\n });\n _classPrivateFieldInitSpec(this, _channelPayloads, new Map());\n }\n subscribe(channel, payload) {\n const stringifiedPayload = JSON.stringify(payload);\n return _assertClassBrand(_MessageDispatcher_brand, this, _subOrUnsub).call(this, \"sub\", channel, payload, stringifiedPayload);\n }\n unsubscribe(channel) {\n const stringifiedPayload = _classPrivateFieldGet(_channelPayloads, this).get(channel);\n if (!stringifiedPayload) {\n const msg = `The message channel to unsubscribe \"${channel}\" is not found`;\n // eslint-disable-next-line no-console\n console.error(msg);\n return Promise.reject(new Error(msg));\n }\n const payload = JSON.parse(stringifiedPayload);\n const result = _assertClassBrand(_MessageDispatcher_brand, this, _subOrUnsub).call(this, \"unsub\", channel, payload, stringifiedPayload);\n _classPrivateFieldGet(_memoizedChannels, this).sub.delete(stringifiedPayload);\n result.then(() => {\n _classPrivateFieldGet(_channelPayloads, this).delete(channel);\n });\n return result;\n }\n onMessage(channel, listener) {\n let stringifiedPayload = _classPrivateFieldGet(_channelPayloads, this).get(channel);\n let warned = false;\n return _classPrivateGetter(_MessageDispatcher_brand, this, _get_ms).onMessage(response => {\n if (!stringifiedPayload) {\n stringifiedPayload = _classPrivateFieldGet(_channelPayloads, this).get(channel);\n }\n if (!stringifiedPayload) {\n if (!warned) {\n // eslint-disable-next-line no-console\n console.error(`Message channel: \"${channel}\" not found`);\n warned = true;\n }\n return;\n }\n if (response.event === \"MESSAGE.PUSH\" && matchMessageChannel(stringifiedPayload, response.payload)) {\n listener(response.payload.message);\n }\n });\n }\n onClose(listener) {\n return _classPrivateGetter(_MessageDispatcher_brand, this, _get_ms).onClose(listener);\n }\n reset() {\n var _classPrivateFieldGet2;\n _classPrivateFieldGet(_memoizedChannels, this).sub.clear();\n _classPrivateFieldGet(_memoizedChannels, this).unsub.clear();\n _classPrivateFieldGet(_channelPayloads, this).clear();\n (_classPrivateFieldGet2 = _classPrivateFieldGet(_ms, this)) === null || _classPrivateFieldGet2 === void 0 || _classPrivateFieldGet2.reset();\n }\n}\nfunction _get_ms(_this) {\n if (!_classPrivateFieldGet(_ms, _this)) {\n const protocol = location.protocol === \"https:\" ? \"wss:\" : \"ws:\";\n const url = `${protocol}//${window.location.host}${getBasePath()}api/websocket_service/v1/ws`;\n _classPrivateFieldSet(_ms, _this, new MessageService(url));\n }\n return _classPrivateFieldGet(_ms, _this);\n}\nfunction _subOrUnsub(type, channel, payload, stringifiedPayload) {\n const hit = _classPrivateFieldGet(_memoizedChannels, this)[type].get(stringifiedPayload);\n if (hit) {\n return hit;\n }\n const request = {\n event: type === \"sub\" ? \"TOPIC.SUB\" : \"TOPIC.UNSUB\",\n payload\n };\n const promise = new Promise((resolve, reject) => {\n const identity = getIdentity(payload);\n const disposeOnMessage = _classPrivateGetter(_MessageDispatcher_brand, this, _get_ms).onMessage(response => {\n const isSuccess = response.event === (type === \"sub\" ? \"TOPIC.SUB_SUCCESS\" : \"TOPIC.UNSUB_SUCCESS\");\n const isFailed = response.event === (type === \"sub\" ? \"TOPIC.SUB_FAILED\" : \"TOPIC.UNSUB_FAILED\");\n if ((isSuccess || isFailed) &&\n // Put this after event type checks, to prevent unnecessary\n // JSON stringify.\n identity === getIdentity(response.payload)) {\n (isSuccess ? resolve : reject)(response);\n disposeOnMessage();\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n disposeOnClose();\n }\n });\n // istanbul ignore next: currently can't mock this\n const disposeOnClose = _classPrivateGetter(_MessageDispatcher_brand, this, _get_ms).onClose(() => {\n // V2 will emit error callback for sub/unsub each time connect failed,\n // while v3 will emit only once after retry limit exceeded.\n // Keep the `EVENT.detail.retryCount` for compatibility.\n reject({\n retryCount: RETRY_LIMIT\n });\n disposeOnMessage();\n disposeOnClose();\n });\n _classPrivateGetter(_MessageDispatcher_brand, this, _get_ms).send(request);\n });\n if (type === \"sub\") {\n _classPrivateFieldGet(_channelPayloads, this).set(channel, stringifiedPayload);\n }\n _classPrivateFieldGet(_memoizedChannels, this)[type].set(stringifiedPayload, promise);\n return promise;\n}\nfunction getIdentity(payload) {\n const {\n system,\n topic\n } = payload;\n return JSON.stringify({\n system,\n topic\n });\n}\nfunction matchMessageChannel(stringifiedPayload, responsePayload) {\n const payload = JSON.parse(stringifiedPayload);\n return payload.system === responsePayload.system && (\n // Exact match\n payload.topic === responsePayload.topic ||\n // Wildcards match\n // For `ab.cd.*`:\n // - Matches `ab.cd.r` or `ab.cd.x.yz`\n // - DOES NOT match `ab.cd.x/yz` or `ab.x.cd` or `x.ab.cd.yz`\n typeof payload.topic === \"string\" && payload.topic.includes(\"*\") && new RegExp(`^${payload.topic.replace(/([^*]*)\\*([^*]*)/g, (_m, p1, p2) => `${escapeRegExp(p1)}[^/]*${escapeRegExp(p2)}`)}$`).test(responsePayload.topic));\n}\n//# sourceMappingURL=MessageDispatcher.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 查询独立部署小产品\n * @endpoint POST /api/v1/micro_app_standalone/search\n */\nexport var RuntimeApi_searchMicroAppStandalone = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (data, options) {\n return (/**! @contract easyops.api.micro_app_standalone.runtime.SearchMicroAppStandalone@1.0.1 */(yield http.post(\"api/gateway/micro_app_standalone.runtime.SearchMicroAppStandalone/api/v1/micro_app_standalone/search\", data, options)).data\n );\n });\n return function RuntimeApi_searchMicroAppStandalone(_x, _x2) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=searchMicroAppStandalone.js.map","import { traverseStoryboardExpressions, collectInstalledAppsHasUsage } from \"@next-core/utils/storyboard\";\nimport { RuntimeApi_searchMicroAppStandalone } from \"@next-api-sdk/micro-app-standalone-sdk\";\nconst checkingApps = new Map();\nconst checkedApps = new Map();\nexport function preCheckInstalledApps(storyboard, hasAppInBootstrap) {\n if (window.STANDALONE_MICRO_APPS && !window.NO_AUTH_GUARD) {\n const appIds = scanInstalledAppsUsage(storyboard);\n const searchIds = [];\n for (const appId of appIds) {\n // Do not check these apps already checking or in bootstrap.\n if (!checkingApps.has(appId) && !hasAppInBootstrap(appId)) {\n searchIds.push(appId);\n }\n }\n if (searchIds.length === 0) {\n return;\n }\n const promise = RuntimeApi_searchMicroAppStandalone({\n query: {\n appId: {\n $in: searchIds\n }\n },\n fields: [\"appId\", \"currentVersion\", \"installStatus\"]\n }, {\n noAbortOnRouteChange: true\n }).catch(error => {\n // Allow search micro app to fail, and\n // make it not crash when the backend service is not updated.\n // eslint-disable-next-line no-console\n console.error(\"Get off site standalone micro-apps failed\", error);\n });\n for (const appId of searchIds) {\n checkingApps.set(appId, promise.then(result => {\n var _result$list;\n const app = result === null || result === void 0 || (_result$list = result.list) === null || _result$list === void 0 ? void 0 : _result$list.find(item => item.appId === appId);\n const checkedApp = app ? {\n ...app,\n id: appId\n } : undefined;\n checkedApps.set(appId, checkedApp);\n return checkedApp;\n }));\n }\n }\n}\nexport async function waitForCheckingApps(appIds) {\n await Promise.all(appIds.map(appId => checkingApps.get(appId)));\n}\nexport function getCheckedApp(appId) {\n if (window.STANDALONE_MICRO_APPS) {\n return checkedApps.get(appId);\n }\n}\nfunction scanInstalledAppsUsage(storyboard) {\n var _storyboard$meta;\n const usage = {\n usedArgs: new Set()\n };\n // `INSTALLED_APPS.has(...)` is not available in storyboard functions\n const {\n customTemplates,\n menus\n } = (_storyboard$meta = storyboard.meta) !== null && _storyboard$meta !== void 0 ? _storyboard$meta : {};\n traverseStoryboardExpressions([storyboard.routes, customTemplates, menus], (node, parent) => {\n collectInstalledAppsHasUsage(usage, node, parent);\n }, \"INSTALLED_APPS\");\n return [...usage.usedArgs];\n}\n//# sourceMappingURL=checkInstalledApps.js.map","import { createProviderClass } from \"@next-core/utils/general\";\nimport { http } from \"@next-core/http\";\nimport { isEmpty, isObject } from \"lodash\";\nimport { createSSEStream } from \"@next-core/utils/general\";\nexport const FLOW_API_PROVIDER = \"core.provider-flow-api\";\nfunction hasFields(ext_fields, type) {\n return ext_fields === null || ext_fields === void 0 ? void 0 : ext_fields.some(item => item.source === type);\n}\nexport function processExtFields(ext_fields) {\n const hasQueryParams = hasFields(ext_fields, \"query\");\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (hasQueryParams) {\n const hasBodyParams = hasFields(ext_fields, \"body\");\n if (hasBodyParams) {\n // NOTE: The args order here is different from generated SDK,\n // in SDK, it's [params, data, options]\n // But we keep the current behavior for compatibility.\n const [data, params, options] = args;\n return {\n data: data,\n options: {\n params: params,\n ...options\n }\n };\n }\n const [params, options] = args;\n return {\n data: {},\n options: {\n params: params,\n ...options\n }\n };\n }\n\n // only hasBodyParams or default\n const [data, options] = args;\n return {\n data,\n options: options\n };\n}\nexport function hasFileType(request) {\n if ((request === null || request === void 0 ? void 0 : request.type) !== \"object\") {\n return false;\n }\n const processFields = fields => {\n return !isEmpty(fields) && fields.some(field => [\"file\", \"file[]\"].includes(field.type) || processFields(field.fields));\n };\n return processFields(request.fields);\n}\nexport function transformFormData(data) {\n if (data instanceof FormData) {\n return data;\n }\n const formData = new FormData();\n for (const [key, value] of Object.entries(data)) {\n if (Array.isArray(value)) {\n value.forEach(v => {\n formData.append(key, v);\n });\n } else if (isObject(value) && !(value instanceof Blob) && !(value instanceof Date)) {\n Object.entries(value).forEach(_ref => {\n let [k, v] = _ref;\n formData.append(`${key}[${k}]`, v);\n });\n } else {\n formData.append(key, value);\n }\n }\n return formData;\n}\nexport async function callFlowApi(_ref2) {\n let {\n url,\n originalUri,\n method = \"GET\",\n responseWrapper = true,\n ext_fields,\n request,\n isFileType,\n stream\n } = _ref2;\n const isSimpleRequest = [\"get\", \"delete\", \"head\"].includes(method.toLowerCase());\n const defaultOptions = isFileType ? {\n responseType: \"blob\"\n } : {};\n let response;\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n if (isSimpleRequest) {\n var _originalUri$match$le, _originalUri$match, _request$fields$lengt, _request$fields;\n const noParams = originalUri && (request === null || request === void 0 ? void 0 : request.type) === \"object\" && ((_originalUri$match$le = (_originalUri$match = originalUri.match(/:([^/]+)/g)) === null || _originalUri$match === void 0 ? void 0 : _originalUri$match.length) !== null && _originalUri$match$le !== void 0 ? _originalUri$match$le : 0) === ((_request$fields$lengt = (_request$fields = request.fields) === null || _request$fields === void 0 ? void 0 : _request$fields.length) !== null && _request$fields$lengt !== void 0 ? _request$fields$lengt : 0);\n let params;\n let options;\n if (noParams) {\n [options] = args;\n } else {\n [params, options] = args;\n }\n if (stream) {\n var _options$headers, _options;\n const stream = await createSSEStream(http.getUrlWithParams(url, params), {\n ...defaultOptions,\n ...options,\n method,\n headers: Object.fromEntries([...new Headers((_options$headers = (_options = options) === null || _options === void 0 ? void 0 : _options.headers) !== null && _options$headers !== void 0 ? _options$headers : {}).entries()])\n });\n return stream;\n }\n response = await http.simpleRequest(method, url, {\n params,\n ...defaultOptions,\n ...options\n });\n } else {\n const isUploadType = hasFileType(request);\n const result = processExtFields(ext_fields, ...args);\n const data = isUploadType ? transformFormData(result.data) : result.data;\n if (stream) {\n var _result$options;\n const {\n body,\n headers\n } = http.getBodyAndHeaders(data, (_result$options = result.options) === null || _result$options === void 0 ? void 0 : _result$options.headers);\n const stream = await createSSEStream(url, {\n ...defaultOptions,\n ...result.options,\n method,\n headers: Object.fromEntries([...new Headers(headers !== null && headers !== void 0 ? headers : {}).entries()]),\n body\n });\n return stream;\n }\n response = await http.requestWithBody(method, url, data, {\n ...defaultOptions,\n ...result.options\n });\n }\n return (isFileType ? false : responseWrapper) ? response.data : response;\n}\nexport function registerFlowApiProvider() {\n customElements.define(FLOW_API_PROVIDER, createProviderClass(callFlowApi));\n}\n//# sourceMappingURL=FlowApiProvider.js.map","import { http } from \"@next-core/http\";\n/**\n * @description 批量契约搜索\n * @endpoint POST /api/v1/contract/batch_search\n */\nexport const ContractCenterApi_batchSearchContract = async (data, options) => /**! @contract easyops.api.next_builder.contract_center.BatchSearchContract@1.0.0 */(await http.post(\"api/gateway/next_builder.contract_center.BatchSearchContract/api/v1/contract/batch_search\", data, options)).data;\n//# sourceMappingURL=batchSearchContract.js.map","const contractsMap = new Map();\nconst widgetContractMap = new Map();\nconst debugContractMap = new Map();\nconst addContract = (contracts, map) => {\n contracts === null || contracts === void 0 || contracts.forEach(contract => {\n map.set(`${contract.namespaceId}.${contract.name}`, contract);\n });\n};\nexport function collectContract(contracts) {\n addContract(contracts, contractsMap);\n}\nexport function collectWidgetContract(contracts) {\n addContract(contracts, widgetContractMap);\n}\nexport function clearCollectWidgetContract() {\n widgetContractMap.clear();\n}\nexport function collectDebugContract(contracts) {\n addContract(contracts, debugContractMap);\n}\nexport function clearDebugContract() {\n debugContractMap.clear();\n}\nexport function getContract(name) {\n return contractsMap.get(name) || widgetContractMap.get(name) || debugContractMap.get(name);\n}\n//# sourceMappingURL=CollectContracts.js.map","import yaml from \"js-yaml\";\nimport { ContractCenterApi_batchSearchContract } from \"@next-api-sdk/next-builder-sdk\";\nimport { hasOwnProperty } from \"@next-core/utils/general\";\nimport { getContract } from \"./CollectContracts.js\";\nconst remoteContractCache = new Map();\n\n// Legacy Custom API: `${namespace}@${name}`\n// Flow API: `${namespace}@${name}:${version}`\nexport function isFlowApiProvider(provider) {\n return provider.includes(\"@\");\n}\nexport async function getArgsOfFlowApi(provider, originalArgs, method, stream) {\n if (!provider.includes(\":\")) {\n throw new Error(`You're using legacy Custom API \"${provider}\" which is dropped in v3, please use Flow API instead`);\n }\n const apiDefinition = await fetchFlowApiDefinition(provider);\n if (!apiDefinition) {\n throw new FlowApiNotFoundError(`Flow API not found: \"${provider}\"`);\n }\n const apiProfile = getApiProfileFromApiDefinition(provider, apiDefinition);\n return getApiArgsFromApiProfile(apiProfile, originalArgs, method, stream);\n}\nfunction getApiArgsFromApiProfile(api, originalArgs, method, stream) {\n const {\n uri,\n method: apiMethod,\n ext_fields,\n responseWrapper,\n isFileType,\n request\n } = api;\n // `saveAs` requires the first argument to be the filename.\n const isDownload = method === \"saveAs\";\n let filename;\n let fixedArgs = originalArgs;\n if (isDownload) {\n if (Array.isArray(originalArgs)) {\n fixedArgs = originalArgs.slice();\n filename = fixedArgs.shift();\n } else {\n filename = originalArgs.filename;\n }\n }\n const {\n url,\n args\n } = getTransformedUriAndRestArgs(api, fixedArgs);\n return [...(isDownload ? [filename] : []), {\n url,\n originalUri: uri,\n method: apiMethod,\n ext_fields,\n responseWrapper,\n request,\n isFileType,\n stream\n }, ...args];\n}\nfunction getTransformedUriAndRestArgs(api, originalArgs) {\n const {\n uri,\n name,\n namespace,\n serviceName,\n version,\n method = \"GET\",\n request,\n ext_fields\n } = api;\n const prefix = version ? serviceName === \"logic.api.gateway\" || serviceName !== null && serviceName !== void 0 && serviceName.startsWith(\"logic.api.gateway.\") ? \"\" : serviceName ? `api/gateway/${serviceName}` : `api/gateway/${namespace}.${name}@${version}` : `api/gateway/api_service.${namespace}.${name}`;\n let transformedUri;\n let restArgs = [];\n if (Array.isArray(originalArgs)) {\n restArgs = originalArgs.slice();\n transformedUri = uri.replace(/:([^/]+)/g, () => restArgs.shift());\n } else {\n const restParams = {\n ...originalArgs.params\n };\n transformedUri = uri.replace(/:([^/]+)/g, (_, key) => {\n if (hasOwnProperty(restParams, key)) {\n const value = restParams[key];\n delete restParams[key];\n return value;\n }\n throw new Error(`Missing required param: \"${key}\"`);\n });\n const isSimpleRequest = [\"get\", \"delete\", \"head\"].includes(method.toLowerCase());\n if (isSimpleRequest) {\n var _uri$match$length, _uri$match, _request$fields$lengt, _request$fields;\n const noParams = (request === null || request === void 0 ? void 0 : request.type) === \"object\" && ((_uri$match$length = (_uri$match = uri.match(/:([^/]+)/g)) === null || _uri$match === void 0 ? void 0 : _uri$match.length) !== null && _uri$match$length !== void 0 ? _uri$match$length : 0) === ((_request$fields$lengt = (_request$fields = request.fields) === null || _request$fields === void 0 ? void 0 : _request$fields.length) !== null && _request$fields$lengt !== void 0 ? _request$fields$lengt : 0);\n if (!noParams) {\n restArgs.push(restParams);\n }\n } else {\n const bodyField = ext_fields === null || ext_fields === void 0 ? void 0 : ext_fields.find(item => item.source === \"body\");\n if (bodyField) {\n let body;\n if (bodyField.name && hasOwnProperty(restParams, bodyField.name)) {\n body = restParams[bodyField.name];\n delete restParams[bodyField.name];\n }\n restArgs.push(body);\n }\n const queryField = ext_fields === null || ext_fields === void 0 ? void 0 : ext_fields.find(item => item.source === \"query\");\n if (queryField) {\n let query;\n if (queryField.name && hasOwnProperty(restParams, queryField.name)) {\n query = restParams[queryField.name];\n delete restParams[queryField.name];\n }\n restArgs.push(query);\n }\n if (!bodyField && !queryField) {\n restArgs.push(restParams);\n }\n }\n if (originalArgs.options) {\n restArgs.push(originalArgs.options);\n }\n }\n return {\n url: prefix ? prefix + transformedUri : transformedUri.replace(/^\\//, \"\"),\n args: restArgs\n };\n}\nfunction getApiProfileFromApiDefinition(provider, api) {\n var _contract$endpoint, _contract$response;\n const contract = typeof api.contract === \"string\" ? yaml.safeLoad(api.contract, {\n schema: yaml.JSON_SCHEMA,\n json: true\n }) : api.contract;\n const {\n uri,\n method = \"GET\",\n ext_fields\n } = (_contract$endpoint = contract === null || contract === void 0 ? void 0 : contract.endpoint) !== null && _contract$endpoint !== void 0 ? _contract$endpoint : {};\n const responseWrapper = contract !== null && contract !== void 0 && contract.response ? contract.response.wrapper !== false : false;\n if (!uri) {\n throw new Error(`Missing endpoint.uri in contract of provider \"${provider}\"`);\n }\n return {\n uri,\n method: method.toLowerCase() === \"list\" ? \"get\" : method,\n ext_fields,\n name: api.name,\n namespace: api.namespace,\n serviceName: api.serviceName,\n version: api.version,\n isFileType: (contract === null || contract === void 0 || (_contract$response = contract.response) === null || _contract$response === void 0 ? void 0 : _contract$response.type) === \"file\",\n responseWrapper,\n request: contract === null || contract === void 0 ? void 0 : contract.request\n };\n}\nasync function fetchFlowApiDefinition(provider) {\n const [namespaceName, nameWithVersion] = provider.split(\"@\");\n const [name, version] = nameWithVersion.split(\":\");\n\n // Do not cache the result of `getContract`, which will lead to no contract\n // will be found when render twice immediately.\n const contract = getContract(`${namespaceName}.${name}`);\n if (contract) {\n return {\n name: contract.name,\n namespace: contract.namespaceId,\n serviceName: contract.serviceName,\n version: contract.version,\n contract: {\n endpoint: contract.endpoint,\n response: contract.response,\n request: contract.request\n }\n };\n }\n let promise = remoteContractCache.get(provider);\n if (!promise) {\n promise = fetchFlowApiDefinitionFromRemote(namespaceName, name, version);\n remoteContractCache.set(provider, promise);\n }\n return promise;\n}\nasync function fetchFlowApiDefinitionFromRemote(namespace, name, version) {\n let contractData;\n const fullContractName = `${namespace}@${name}`;\n let error;\n try {\n const {\n list: contractList\n } = await ContractCenterApi_batchSearchContract({\n contract: [{\n fullContractName,\n version\n }]\n });\n contractData = contractList[0];\n } catch (e) {\n error = e;\n }\n if (!contractData) {\n // eslint-disable-next-line no-console\n console.error(`Failed to fetch Flow API definition for \"${fullContractName}:${version}\"`, error !== null && error !== void 0 ? error : \"Contract not found\");\n return null;\n }\n return {\n name: contractData.name,\n namespace: contractData.namespaceId,\n serviceName: contractData.serviceName,\n version: contractData.version,\n contract: {\n endpoint: contractData.endpoint,\n response: contractData.response,\n request: contractData.request\n }\n };\n}\nclass FlowApiNotFoundError extends Error {\n constructor(message) {\n // Pass remaining arguments (including vendor specific ones) to parent constructor\n super(message);\n this.name = \"FlowApiNotFoundError\";\n\n // Maintains proper stack trace for where our error was thrown (only available on V8)\n // istanbul ignore else\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, FlowApiNotFoundError);\n }\n }\n}\n//# sourceMappingURL=FlowApi.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 搜索实例\n * @endpoint POST /object/:objectId/instance/_search\n */\nexport var InstanceApi_postSearch = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (objectId, data, options) {\n return (/**! @contract easyops.api.cmdb.instance.PostSearch@1.1.0 */(yield http.post(\"api/gateway/cmdb.instance.PostSearch/object/\".concat(objectId, \"/instance/_search\"), data, options)).data\n );\n });\n return function InstanceApi_postSearch(_x, _x2, _x3) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=postSearch.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 获取菜单信息\n * @endpoint GET /api/v1/micro-app/menus/:menuId\n */\nexport var InstalledMicroAppApi_getMenusInfo = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (menuId, params, options) {\n return (/**! @contract easyops.api.micro_app.installed_micro_app.GetMenusInfo@1.0.0 */(yield http.get(\"api/gateway/micro_app.installed_micro_app.GetMenusInfo/api/v1/micro-app/menus/\".concat(menuId), _objectSpread(_objectSpread({}, options), {}, {\n params\n }))).data\n );\n });\n return function InstalledMicroAppApi_getMenusInfo(_x, _x2, _x3) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=getMenusInfo.js.map","export const symbolAppId = Symbol(\"appId\");\nexport const symbolMenuI18nNamespace = Symbol(\"menuI18nNamespace\");\nexport const symbolOverrideApp = Symbol(\"overrideApp\");\n//# sourceMappingURL=constants.js.map","import { i18n } from \"@next-core/i18n\";\nimport { symbolAppId, symbolMenuI18nNamespace, symbolOverrideApp } from \"./constants.js\";\nimport { loadDynamicMenuItems } from \"./loadDynamicMenuItems.js\";\nexport async function mergeMenu(menuList, runtimeContext, helpers) {\n const mainMenu = menuList.find(menu => menu.type !== \"inject\");\n if (!mainMenu) {\n return undefined;\n }\n const validMenuList = [];\n const injectWithMenus = new Map();\n const menuWithI18n = new WeakMap();\n for (const menu of menuList) {\n if (menu.i18n) {\n const menuI18nNamespace = `menu/${menu.menuId}~${menu.app[0].appId}+${menu.instanceId}`;\n // Support any language in `menu.i18n`.\n Object.entries(menu.i18n).forEach(_ref => {\n let [lang, resources] = _ref;\n i18n.addResourceBundle(lang, menuI18nNamespace, resources);\n });\n menuWithI18n.set(menu, menuI18nNamespace);\n }\n }\n await Promise.all(menuList.map(menu => loadDynamicMenuItems(menu, runtimeContext, menuWithI18n, helpers)));\n for (const menu of menuList) {\n var _menu$items;\n if ((_menu$items = menu.items) !== null && _menu$items !== void 0 && _menu$items.length) {\n if (menu.type === \"inject\" && menu.injectMenuGroupId) {\n let injectingMenus = injectWithMenus.get(menu.injectMenuGroupId);\n if (!injectingMenus) {\n injectingMenus = [];\n injectWithMenus.set(menu.injectMenuGroupId, injectingMenus);\n }\n injectingMenus.push(menu);\n } else {\n validMenuList.push(menu);\n }\n }\n }\n return {\n ...mainMenu,\n items: validMenuList.flatMap(menu =>\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n processGroupInject(menu.items, menu, injectWithMenus, menuWithI18n)),\n [symbolMenuI18nNamespace]: menuWithI18n.get(mainMenu),\n [symbolOverrideApp]: mainMenu.overrideApp\n };\n}\nfunction processGroupInject(items, menu, injectWithMenus, menuWithI18n) {\n return items === null || items === void 0 ? void 0 : items.map(item => {\n var _processGroupInject;\n const foundInjectingMenus = item.groupId && injectWithMenus.get(item.groupId);\n if (foundInjectingMenus) {\n // Each menu to be injected with should be injected only once.\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n injectWithMenus.delete(item.groupId);\n }\n return {\n ...item,\n children: ((_processGroupInject = processGroupInject(item.children, menu, injectWithMenus, menuWithI18n)) !== null && _processGroupInject !== void 0 ? _processGroupInject : []).concat(foundInjectingMenus ? foundInjectingMenus.flatMap(injectingMenu =>\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n processGroupInject(injectingMenu.items, injectingMenu, injectWithMenus, menuWithI18n)) : []),\n [symbolAppId]: menu.app[0].appId,\n [symbolMenuI18nNamespace]: menuWithI18n.get(menu),\n [symbolOverrideApp]: menu.overrideApp\n };\n });\n}\n//# sourceMappingURL=mergeMenu.js.map","import { preCheckPermissionsForAny } from \"../checkPermissions.js\";\nexport async function loadDynamicMenuItems(menu, runtimeContext, menuWithI18n, helpers) {\n if (menu.dynamicItems && menu.itemsResolve) {\n const overrideAppId = menu.app[0].appId;\n const newRuntimeContext = {\n ...runtimeContext,\n pendingPermissionsPreCheck: [...runtimeContext.pendingPermissionsPreCheck, preCheckPermissionsForAny(menu.itemsResolve)]\n };\n if (overrideAppId !== runtimeContext.app.id) {\n var _helpers$getStoryboar;\n newRuntimeContext.overrideApp = window.STANDALONE_MICRO_APPS ? menu.overrideApp : (_helpers$getStoryboar = helpers.getStoryboardByAppId(overrideAppId)) === null || _helpers$getStoryboar === void 0 ? void 0 : _helpers$getStoryboar.app;\n newRuntimeContext.appendI18nNamespace = menuWithI18n.get(menu);\n }\n const resolved = await helpers.resolveData({\n transform: \"items\",\n ...menu.itemsResolve\n }, newRuntimeContext);\n menu.items = resolved.items;\n }\n}\n//# sourceMappingURL=loadDynamicMenuItems.js.map","import { sortBy } from \"lodash\";\nexport function reorderMenu(menuData) {\n menuData.items = reorderMenuItems(menuData.items);\n}\nfunction reorderMenuItems(list) {\n return sortMenuItems(list).map(item => ({\n ...item,\n children: reorderMenuItems(item.children)\n }));\n}\nfunction sortMenuItems(list) {\n return sortBy(list, item => {\n var _item$sort;\n return (_item$sort = item.sort) !== null && _item$sort !== void 0 ? _item$sort : -Infinity;\n });\n}\n//# sourceMappingURL=reorderMenuItems.js.map","import { symbolAppId, symbolMenuI18nNamespace, symbolOverrideApp } from \"./constants.js\";\nimport { hasOwnProperty, isObject } from \"@next-core/utils/general\";\nimport { pipes } from \"@next-core/pipes\";\nimport { isEvaluable } from \"@next-core/cook\";\nexport function computeMenuData(data, overrideAppId, runtimeContext, helpers) {\n if (\"titleDataSource\" in data && isObject(data.titleDataSource) && Object.entries(data.titleDataSource).every(_ref => {\n let [, value] = _ref;\n return value === null || value === \"\";\n })) {\n delete data.titleDataSource;\n }\n if (\"if\" in data && data.if === null) {\n delete data.if;\n }\n if (\"to\" in data && data.to && !isEvaluable(data.to)) {\n const yaml = pipes.yaml(data.to);\n if (isObject(yaml) && [\"pathname\", \"search\", \"hash\"].some(key => hasOwnProperty(yaml, key))) {\n data.to = yaml;\n }\n }\n let newRuntimeContext = runtimeContext;\n if (overrideAppId !== runtimeContext.app.id) {\n var _helpers$getStoryboar;\n const overrideApp = window.STANDALONE_MICRO_APPS ? data[symbolOverrideApp] : (_helpers$getStoryboar = helpers.getStoryboardByAppId(overrideAppId)) === null || _helpers$getStoryboar === void 0 ? void 0 : _helpers$getStoryboar.app;\n newRuntimeContext = {\n ...runtimeContext,\n overrideApp,\n appendI18nNamespace: data[symbolMenuI18nNamespace]\n };\n }\n return helpers.asyncComputeRealValue(data, newRuntimeContext, {\n ignoreSymbols: true\n });\n}\nexport function computeMenuItems(items, runtimeContext, helpers) {\n return Promise.all(items.map(async _ref2 => {\n let {\n children,\n ...rest\n } = _ref2;\n const [computedRest, computedChildren] = await Promise.all([computeMenuData(rest, rest[symbolAppId], runtimeContext, helpers), children && (await computeMenuItems(children, runtimeContext, helpers))]);\n return {\n ...computedRest,\n children: computedChildren\n };\n }));\n}\n//# sourceMappingURL=computeMenuData.js.map","import { isEmpty } from \"lodash\";\nimport { InstanceApi_getDetail } from \"@next-api-sdk/cmdb-sdk\";\nconst menuTitleCache = new Map();\nexport async function fetchMenuTitle(menuData) {\n if (menuData.title || isEmpty(menuData.titleDataSource)) {\n return menuData.title;\n }\n const cacheKey = JSON.stringify(menuData.titleDataSource);\n const cachedTitle = menuTitleCache.get(cacheKey);\n if (cachedTitle !== undefined) {\n return cachedTitle;\n }\n const {\n objectId,\n instanceId,\n attributeId\n } = menuData.titleDataSource;\n const attr = attributeId !== null && attributeId !== void 0 ? attributeId : \"name\";\n const instanceData = await InstanceApi_getDetail(objectId, instanceId, {\n fields: attr\n });\n let title;\n if (attributeId === \"#showKey\" && Array.isArray(instanceData[attr])) {\n const [primary, ...rest] = instanceData[attr];\n title = rest.length > 0 ? `${primary}(${rest.join(\",\")})` : String(primary);\n } else {\n title = String(instanceData[attr]);\n }\n menuTitleCache.set(cacheKey, title);\n return title;\n}\n//# sourceMappingURL=fetchMenuTitle.js.map","import { InstanceApi_postSearch } from \"@next-api-sdk/cmdb-sdk\";\nimport { InstalledMicroAppApi_getMenusInfo } from \"@next-api-sdk/micro-app-sdk\";\nimport { omit, pick } from \"lodash\";\nimport { checkIfOfComputed } from \"@next-core/runtime\";\nimport { mergeMenu } from \"./mergeMenu.js\";\nimport { reorderMenu } from \"./reorderMenuItems.js\";\nimport { computeMenuItems, computeMenuData } from \"./computeMenuData.js\";\nimport { fetchMenuTitle } from \"./fetchMenuTitle.js\";\nimport { getMenusOfStandaloneApp } from \"./getMenusOfStandaloneApp.js\";\nimport { preCheckPermissionsForAny } from \"../checkPermissions.js\";\nimport { isBlockedHref, isBlockedUrl } from \"../auth.js\";\nconst menuPromises = new Map();\nconst menuCache = new Map();\nfunction transformMenuItems(menuItems) {\n return menuItems === null || menuItems === void 0 ? void 0 : menuItems.filter(checkIfOfComputed).map(item => {\n const children = transformMenuItems(item.children);\n const transformedMenuItem = item.type === \"group\" ? {\n type: \"group\",\n title: item.text,\n childLayout: item.childLayout,\n items: children,\n groupId: item.groupId,\n groupFrom: item.groupFrom\n } : children !== null && children !== void 0 && children.length ? {\n type: \"subMenu\",\n childLayout: item.childLayout,\n title: item.text,\n icon: item.icon,\n items: children,\n defaultExpanded: item.defaultExpanded\n } : isMenuItemBlocked(item) ? null : omit(item, [\"type\", \"items\", \"children\"]);\n return transformedMenuItem;\n }).filter(Boolean);\n}\nfunction isMenuItemBlocked(item) {\n return item.href ? isBlockedHref(item.href) : item.to ? isBlockedUrl(item.to) : false;\n}\nexport function getMenuById(menuId) {\n return menuCache.get(menuId);\n}\nexport function fetchMenuById(menuId, runtimeContext, helpers) {\n let promise = menuPromises.get(menuId);\n if (!promise) {\n promise = _fetchMenuById(menuId, runtimeContext, helpers);\n }\n return promise;\n}\nasync function _fetchMenuById(menuId, runtimeContext, helpers) {\n const menuList = window.STANDALONE_MICRO_APPS ? getMenusOfStandaloneApp(menuId, runtimeContext.app.id, helpers) : runtimeContext.flags[\"three-level-menu-layout\"] ? (await InstalledMicroAppApi_getMenusInfo(menuId, {\n menuObjectId: \"EASYOPS_STORYBOARD_MENU\"\n })).menus : (await InstanceApi_postSearch(\"EASYOPS_STORYBOARD_MENU\", {\n page: 1,\n page_size: 200,\n fields: {\n menuId: true,\n title: true,\n icon: true,\n link: true,\n titleDataSource: true,\n defaultCollapsed: true,\n defaultCollapsedBreakpoint: true,\n type: true,\n injectMenuGroupId: true,\n dynamicItems: true,\n itemsResolve: true,\n items: true,\n i18n: true,\n \"items.children\": true,\n \"app.appId\": true\n },\n query: {\n menuId: {\n $eq: menuId\n },\n app: {\n $size: {\n $gt: 0\n }\n }\n }\n })).list;\n const menuData = await mergeMenu(menuList, runtimeContext, helpers);\n if (!menuData) {\n throw new Error(`Menu not found: ${menuId}`);\n }\n reorderMenu(menuData);\n const {\n items,\n app,\n ...restMenuData\n } = menuData;\n const newRuntimeContext = {\n ...runtimeContext,\n pendingPermissionsPreCheck: [...runtimeContext.pendingPermissionsPreCheck, preCheckPermissionsForAny([items, restMenuData])]\n };\n delete newRuntimeContext.tplStateStoreId;\n delete newRuntimeContext.forEachItem;\n delete newRuntimeContext.forEachIndex;\n delete newRuntimeContext.forEachSize;\n const rootAppId = app[0].appId;\n const [computedMenuData, computedMenuItems] = await Promise.all([computeMenuData(restMenuData, rootAppId, newRuntimeContext, helpers), computeMenuItems(items, newRuntimeContext, helpers)]);\n const finalMenuData = {\n title: await fetchMenuTitle(computedMenuData),\n ...pick(computedMenuData, [\"icon\", \"link\", \"defaultCollapsed\", \"defaultCollapsedBreakpoint\"]),\n menuItems: transformMenuItems(computedMenuItems)\n };\n\n // Todo(steve): reconsider the menu cache strategy\n menuCache.set(menuId, finalMenuData);\n}\n//# sourceMappingURL=fetchMenuById.js.map","export function getMenusOfStandaloneApp(menuId, appId, helpers) {\n var _ref, _storyboard$meta$inje, _storyboard$meta, _storyboard$meta2;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const storyboard = helpers.getStoryboardByAppId(appId);\n const menus = (_ref = (_storyboard$meta$inje = (_storyboard$meta = storyboard.meta) === null || _storyboard$meta === void 0 ? void 0 : _storyboard$meta.injectMenus) !== null && _storyboard$meta$inje !== void 0 ? _storyboard$meta$inje : (_storyboard$meta2 = storyboard.meta) === null || _storyboard$meta2 === void 0 ? void 0 : _storyboard$meta2.menus) !== null && _ref !== void 0 ? _ref : [];\n return menus.filter(menu => menu.menuId === menuId).map(menu => {\n var _menu$app;\n return {\n ...menu,\n ...((_menu$app = menu.app) !== null && _menu$app !== void 0 && (_menu$app = _menu$app[0]) !== null && _menu$app !== void 0 && _menu$app.appId ? {} : {\n app: [{\n appId\n }]\n })\n };\n });\n\n // Todo: maybe: fetch menus from STANDALONE_MENU@EASYOPS\n}\n//# sourceMappingURL=getMenusOfStandaloneApp.js.map","export const events = [];\nconst MAXIMUM_WAITING_TIME = 5 * 1000;\nconst MAXIMUM_LOGGED_EVENTS = 10;\nlet timer = null;\nexport const transportOptions = {\n maxWaitingTime: MAXIMUM_WAITING_TIME,\n maxLoggedEvents: MAXIMUM_LOGGED_EVENTS\n};\nexport function createTransport(api, options) {\n Object.assign(transportOptions, {\n ...options,\n api\n });\n return {\n sendOnExit,\n emit\n };\n}\nfunction nextTime(callback) {\n return (window.requestIdleCallback || window.requestAnimationFrame || (cb => setTimeout(cb, 17)))(callback);\n}\nfunction emit() {\n clearTimeout(timer);\n events.length > transportOptions.maxLoggedEvents ? send() : timer = setTimeout(send, transportOptions.maxWaitingTime);\n}\nfunction send() {\n if (events.length === 0) {\n return;\n }\n const transportEvents = events.splice(0, transportOptions.maxLoggedEvents);\n const transportData = buildTransportData(transportEvents);\n sendBeacon(transportOptions.api, transportData);\n events.length && nextTime(send);\n}\nfunction sendBeacon(requestUrl, data) {\n const headers = {\n type: \"application/json\"\n };\n const blob = new Blob([JSON.stringify(data)], headers);\n window.navigator.sendBeacon(requestUrl, blob);\n}\nfunction sendOnExit() {\n window.addEventListener(\"beforeunload\", send, false);\n}\nfunction buildTransportData(data) {\n return {\n model: \"easyops.FRONTEND_STAT\",\n columns: [\"_ver\", \"st\", \"et\", \"lt\", \"size\", \"time\", \"traceId\", \"code\", \"duration\", \"page\", \"uid\", \"username\", \"api\", \"type\", \"msg\", \"status\", \"pageId\", \"route\", \"apiCount\", \"maxApiTimeCost\", \"apiSizeCost\", \"pageTitle\"],\n data\n };\n}\n//# sourceMappingURL=transport.js.map","import { createTransport, events } from \"./transport.js\";\nlet initialized = false;\nlet transport;\nlet pageState = null;\nlet isFirstPageView = true;\nconst stashedApiMetrics = [];\nexport function initialize(api) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (initialized) {\n return;\n }\n initialized = true;\n if (!transport) {\n transport = createTransport(api, options);\n transport.sendOnExit();\n }\n}\nexport function createPageView() {\n stashedApiMetrics.length = 0;\n pageState = null;\n}\nexport function finishPageView(metric) {\n const pageId = generateUUID();\n const {\n lt,\n route\n } = metric;\n pageState = {\n lt,\n route,\n pageId\n };\n events.push({\n ...metric,\n pageId,\n apiCount: stashedApiMetrics.length,\n maxApiTimeCost: Math.max(0, ...stashedApiMetrics.map(api => api.duration)),\n size: stashedApiMetrics.map(api => api.size).filter(size => size > 0).reduce((prev, current) => prev + current, 0)\n });\n for (const item of stashedApiMetrics) {\n events.push({\n ...item,\n ...pageState\n });\n }\n stashedApiMetrics.length = 0;\n transport.emit();\n}\nexport function earlyFinishPageView() {\n events.push(...stashedApiMetrics);\n stashedApiMetrics.length = 0;\n}\nexport function pushApiMetric(metric) {\n if (pageState) {\n events.push({\n ...metric,\n type: \"apiRequest\",\n ...pageState\n });\n } else {\n stashedApiMetrics.push(metric);\n }\n}\n\n// Ref https://medium.com/teads-engineering/generating-uuids-at-scale-on-the-web-2877f529d2a2\nfunction generateUUID() {\n const url = URL.createObjectURL(new Blob([]));\n let uuid = url.substring(url.lastIndexOf(\"/\") + 1);\n URL.revokeObjectURL(url);\n // 第一次渲染加上特殊标记\n if (isFirstPageView) {\n uuid = \"88-\" + uuid;\n isFirstPageView = false;\n }\n return uuid;\n}\n//# sourceMappingURL=analytics.js.map","import { HttpResponseError, HttpParseError, HttpAbortError } from \"@next-core/http\";\nimport { isObject } from \"@next-core/utils/general\";\nimport { getAuth } from \"../auth.js\";\nimport { pushApiMetric } from \"./analytics.js\";\nconst symbolHttpAnalytics = Symbol(\"HttpAnalytics\");\nexport function onRequest(config) {\n const perfStartTime = Math.round(performance.now());\n const st = Date.now();\n config[symbolHttpAnalytics] = {\n st,\n time: Math.round(st / 1000),\n perfStartTime\n };\n return config;\n}\nexport function onResponse(response, config) {\n return onResponseOrError(false, response, config);\n}\nexport function onResponseError(error, config) {\n return onResponseOrError(true, error, config);\n}\nfunction onResponseOrError(hasError, responseOrError, config) {\n const perfEndTime = Math.round(performance.now());\n const et = Date.now();\n const {\n [symbolHttpAnalytics]: meta,\n url\n } = config;\n if (meta && !(hasError && responseOrError instanceof HttpAbortError)) {\n delete config[symbolHttpAnalytics];\n const {\n st,\n time,\n perfStartTime\n } = meta;\n const {\n userInstanceId: uid,\n username\n } = getAuth();\n let code;\n let message;\n let traceId;\n let size;\n let status;\n let headers;\n let data;\n if (hasError) {\n const isHttpResponseError = responseOrError instanceof HttpResponseError;\n if (isHttpResponseError || responseOrError instanceof HttpParseError) {\n ({\n status,\n headers\n } = responseOrError.response);\n if (isHttpResponseError) {\n data = responseOrError.responseJson;\n }\n }\n } else {\n ({\n status,\n data,\n headers\n } = responseOrError);\n }\n if (isObject(data)) {\n ({\n code,\n message\n } = data);\n }\n if (headers instanceof Headers) {\n traceId = headers.get(\"x-b3-traceid\");\n size = headers.get(\"content-length\");\n }\n pushApiMetric({\n st,\n _ver: st,\n uid,\n username,\n time,\n et,\n page: location.href,\n duration: perfEndTime - perfStartTime,\n api: url,\n type: \"api\",\n code: code !== null && code !== void 0 ? code : -1,\n msg: message !== null && message !== void 0 ? message : \"\",\n status,\n traceId: traceId !== null && traceId !== void 0 ? traceId : \"\",\n size: size ? Number(size) : -1\n });\n }\n return hasError ? Promise.reject(responseOrError) : responseOrError;\n}\n//# sourceMappingURL=http.js.map","import { createPageView, earlyFinishPageView, finishPageView } from \"./analytics.js\";\nimport { getAuth } from \"../auth.js\";\nexport function create() {\n const perfStartTime = Math.round(performance.now());\n const startTime = Date.now();\n createPageView();\n return function finish(_ref) {\n let {\n status,\n path,\n pageTitle\n } = _ref;\n if (status !== \"ok\") {\n earlyFinishPageView();\n return;\n }\n const renderTime = Math.round(performance.now()) - perfStartTime;\n const endTime = Date.now();\n const {\n username\n } = getAuth();\n finishPageView({\n type: \"page\",\n page: location.href,\n _ver: startTime,\n time: Math.round(startTime / 1000),\n st: startTime,\n et: endTime,\n lt: renderTime,\n pageTitle,\n username,\n route: path\n });\n\n // For bricks which would take actions with render time.\n window.dispatchEvent(new CustomEvent(\"route.render\", {\n detail: {\n renderTime\n }\n }));\n };\n}\n//# sourceMappingURL=pageView.js.map","// istanbul ignore file\nimport { checkPermissions as _checkPermissions, preCheckPermissions, preCheckPermissionsForBrickOrRoute } from \"./checkPermissions.js\";\nimport { MessageDispatcher } from \"./websocket/MessageDispatcher.js\";\nimport * as authV3 from \"./auth.js\";\nimport { authV2Factory } from \"./auth-v2.js\";\nimport * as _checkInstalledApps from \"./checkInstalledApps.js\";\nexport { _checkInstalledApps as checkInstalledApps };\nimport * as _flowApi from \"./flowApi/index.js\";\nexport { _flowApi as flowApi };\nimport * as _menu from \"./menu/index.js\";\nexport { _menu as menu };\nimport * as _analytics from \"./analytics/index.js\";\nexport { _analytics as analytics };\nexport const checkPermissions = Object.freeze({\n checkPermissions: _checkPermissions,\n preCheckPermissions,\n preCheckPermissionsForBrickOrRoute\n});\nexport const messageDispatcher = new MessageDispatcher();\nexport const auth = authV2Factory() || authV3;\n//# sourceMappingURL=index.js.map","// istanbul ignore file\nimport { getV2RuntimeFromDll } from \"@next-core/runtime\";\nimport { pick } from \"lodash\";\nexport function authV2Factory() {\n const v2Kit = getV2RuntimeFromDll();\n if (v2Kit) {\n return Object.freeze(pick(v2Kit, [\"authenticate\", \"getAuth\", \"isLoggedIn\", \"logout\", \"addPathToBlackList\", \"isBlockedPath\", \"isBlockedUrl\", \"isBlockedHref\"]));\n }\n}\n//# sourceMappingURL=auth-v2.js.map"],"names":["PermissionApi_validatePermissions","_ref","data","options","http","post","_x","_x2","apply","this","arguments","auth","pathBlackListSet","Set","authenticate","newAuth","_newAuth$license","Object","assign","org","username","userInstanceId","loginFrom","accessRule","isAdmin","csrfToken","license","accessToken","userShowValue","blackList","getAuth","logout","key","keys","undefined","checkingPermissions","clear","checkedPermissions","length","permissionMap","isLoggedIn","addPathToBlackList","path","add","isBlockedPath","pathname","some","matchPath","isBlockedUrl","url","createLocation","isBlockedHref","href","basePath","getBasePath","URL","location","origin","startsWith","substring","Map","preCheckPermissionsForAny","validatePermissions","scanPermissionActionsInAny","async","usedActions","uncheckedActions","filter","action","includes","checkingTasks","restActions","promise","get","push","task","result","actions","noAbortOnRouteChange","item","set","authorizationStatus","console","error","Promise","all","_url","WeakMap","_ws","_queuedMessages","_messageListeners","_closeListeners","_retryCount","_closed","_MessageService_brand","WeakSet","MessageService","constructor","send","_connect","call","stringifiedData","JSON","stringify","readyState","WebSocket","OPEN","onMessage","listener","delete","onClose","reset","close","_classPrivateFieldGet2","log","ws","resetRetryCountTimeout","addEventListener","e","setTimeout","msg","clearTimeout","code","_reconnect","response","parse","delay","Math","pow","_this$retryCount","_ms","_memoizedChannels","_channelPayloads","_MessageDispatcher_brand","_get_ms","_this","protocol","window","host","_subOrUnsub","type","channel","payload","stringifiedPayload","hit","request","event","resolve","reject","identity","getIdentity","disposeOnMessage","isSuccess","isFailed","disposeOnClose","retryCount","system","topic","RuntimeApi_searchMicroAppStandalone","checkingApps","checkedApps","preCheckInstalledApps","storyboard","hasAppInBootstrap","STANDALONE_MICRO_APPS","NO_AUTH_GUARD","appIds","_storyboard$meta","usage","usedArgs","customTemplates","menus","meta","traverseStoryboardExpressions","routes","node","parent","collectInstalledAppsHasUsage","scanInstalledAppsUsage","searchIds","appId","has","query","$in","fields","catch","then","_result$list","app","list","find","checkedApp","id","waitForCheckingApps","map","getCheckedApp","FLOW_API_PROVIDER","hasFields","ext_fields","source","callFlowApi","_ref2","originalUri","method","responseWrapper","isFileType","stream","isSimpleRequest","toLowerCase","defaultOptions","responseType","_len2","args","Array","_key2","_originalUri$match$le","_originalUri$match","_request$fields$lengt","_request$fields","params","_options$headers","_options","match","createSSEStream","getUrlWithParams","headers","fromEntries","Headers","entries","simpleRequest","isUploadType","processFields","isEmpty","field","hasFileType","hasQueryParams","_len","_key","processExtFields","FormData","formData","value","isArray","forEach","v","append","isObject","Blob","Date","k","transformFormData","_result$options","body","getBodyAndHeaders","requestWithBody","registerFlowApiProvider","customElements","define","createProviderClass","ContractCenterApi_batchSearchContract","contractsMap","widgetContractMap","debugContractMap","addContract","contracts","contract","namespaceId","name","collectContract","collectWidgetContract","clearCollectWidgetContract","collectDebugContract","clearDebugContract","remoteContractCache","isFlowApiProvider","provider","getArgsOfFlowApi","originalArgs","Error","apiDefinition","namespaceName","nameWithVersion","split","version","getContract","namespace","serviceName","endpoint","contractData","fullContractName","contractList","fetchFlowApiDefinitionFromRemote","fetchFlowApiDefinition","FlowApiNotFoundError","apiProfile","api","_contract$endpoint","_contract$response","schema","json","uri","wrapper","getApiProfileFromApiDefinition","apiMethod","isDownload","filename","fixedArgs","slice","shift","prefix","transformedUri","restArgs","replace","restParams","_","hasOwnProperty","_uri$match$length","_uri$match","bodyField","queryField","getTransformedUriAndRestArgs","getApiArgsFromApiProfile","message","super","captureStackTrace","InstanceApi_postSearch","objectId","concat","_x3","InstalledMicroAppApi_getMenusInfo","menuId","symbolAppId","Symbol","symbolMenuI18nNamespace","symbolOverrideApp","mergeMenu","menuList","runtimeContext","helpers","mainMenu","menu","validMenuList","injectWithMenus","menuWithI18n","i18n","menuI18nNamespace","instanceId","lang","resources","addResourceBundle","dynamicItems","itemsResolve","overrideAppId","newRuntimeContext","pendingPermissionsPreCheck","_helpers$getStoryboar","overrideApp","getStoryboardByAppId","appendI18nNamespace","resolved","resolveData","transform","items","loadDynamicMenuItems","_menu$items","injectMenuGroupId","injectingMenus","flatMap","processGroupInject","_processGroupInject","foundInjectingMenus","groupId","children","injectingMenu","reorderMenu","menuData","reorderMenuItems","sortBy","_item$sort","sort","sortMenuItems","computeMenuData","titleDataSource","every","if","to","isEvaluable","yaml","pipes","asyncComputeRealValue","ignoreSymbols","computeMenuItems","rest","computedRest","computedChildren","menuTitleCache","fetchMenuTitle","title","cacheKey","cachedTitle","attributeId","attr","instanceData","primary","join","String","menuPromises","menuCache","transformMenuItems","menuItems","checkIfOfComputed","text","childLayout","groupFrom","icon","defaultExpanded","isMenuItemBlocked","omit","Boolean","getMenuById","fetchMenuById","_storyboard$meta$inje","_storyboard$meta2","injectMenus","_menu$app","getMenusOfStandaloneApp","flags","menuObjectId","page","page_size","link","defaultCollapsed","defaultCollapsedBreakpoint","$eq","$size","$gt","restMenuData","tplStateStoreId","forEachItem","forEachIndex","forEachSize","rootAppId","computedMenuData","computedMenuItems","finalMenuData","pick","_fetchMenuById","events","timer","transportOptions","maxWaitingTime","maxLoggedEvents","emit","transportData","model","columns","splice","callback","requestUrl","blob","navigator","sendBeacon","requestIdleCallback","requestAnimationFrame","cb","sendOnExit","transport","initialized","pageState","isFirstPageView","stashedApiMetrics","initialize","createTransport","symbolHttpAnalytics","onRequest","config","perfStartTime","round","performance","now","st","time","onResponse","onResponseOrError","onResponseError","hasError","responseOrError","perfEndTime","et","HttpAbortError","uid","traceId","size","status","isHttpResponseError","HttpResponseError","HttpParseError","responseJson","metric","_ver","duration","Number","create","startTime","pageTitle","renderTime","endTime","pageId","createObjectURL","uuid","lastIndexOf","revokeObjectURL","generateUUID","lt","route","apiCount","maxApiTimeCost","max","reduce","prev","current","finishPageView","dispatchEvent","CustomEvent","detail","freeze","checkPermissions","preCheckPermissions","scanPermissionActionsInStoryboard","preCheckPermissionsForBrickOrRoute","container","permissionsPreCheck","messageDispatcher","sub","unsub","subscribe","unsubscribe","warned","responsePayload","RegExp","_m","p1","p2","escapeRegExp","test","matchMessageChannel","v2Kit","getV2RuntimeFromDll","authV2Factory"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[1120],{21120:(e,t,a)=>{a.r(t),a.d(t,{default:()=>r});const r=[Object.freeze(JSON.parse('{"displayName":"SQL","name":"sql","patterns":[{"match":"((?<!@)@)\\\\b(\\\\w+)\\\\b","name":"text.variable"},{"match":"(\\\\[)[^]]*(])","name":"text.bracketed"},{"include":"#comments"},{"captures":{"1":{"name":"keyword.other.create.sql"},"2":{"name":"keyword.other.sql"},"5":{"name":"entity.name.function.sql"}},"match":"(?i:^\\\\s*(create(?:\\\\s+or\\\\s+replace)?)\\\\s+(aggregate|conversion|database|domain|function|group|(unique\\\\s+)?index|language|operator class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view)\\\\s+)([\\"\'`]?)(\\\\w+)\\\\4","name":"meta.create.sql"},{"captures":{"1":{"name":"keyword.other.create.sql"},"2":{"name":"keyword.other.sql"}},"match":"(?i:^\\\\s*(drop)\\\\s+(aggregate|conversion|database|domain|function|group|index|language|operator class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view))","name":"meta.drop.sql"},{"captures":{"1":{"name":"keyword.other.create.sql"},"2":{"name":"keyword.other.table.sql"},"3":{"name":"entity.name.function.sql"},"4":{"name":"keyword.other.cascade.sql"}},"match":"(?i:\\\\s*(drop)\\\\s+(table)\\\\s+(\\\\w+)(\\\\s+cascade)?\\\\b)","name":"meta.drop.sql"},{"captures":{"1":{"name":"keyword.other.create.sql"},"2":{"name":"keyword.other.table.sql"}},"match":"(?i:^\\\\s*(alter)\\\\s+(aggregate|conversion|database|domain|function|group|index|language|operator class|operator|proc(edure)?|rule|schema|sequence|table|tablespace|trigger|type|user|view)\\\\s+)","name":"meta.alter.sql"},{"captures":{"1":{"name":"storage.type.sql"},"2":{"name":"storage.type.sql"},"3":{"name":"constant.numeric.sql"},"4":{"name":"storage.type.sql"},"5":{"name":"constant.numeric.sql"},"6":{"name":"storage.type.sql"},"7":{"name":"constant.numeric.sql"},"8":{"name":"constant.numeric.sql"},"9":{"name":"storage.type.sql"},"10":{"name":"constant.numeric.sql"},"11":{"name":"storage.type.sql"},"12":{"name":"storage.type.sql"},"13":{"name":"storage.type.sql"},"14":{"name":"constant.numeric.sql"},"15":{"name":"storage.type.sql"}},"match":"(?i)\\\\b(bigint|bigserial|bit|boolean|box|bytea|cidr|circle|date|double\\\\sprecision|inet|int|integer|line|lseg|macaddr|money|oid|path|point|polygon|real|serial|smallint|sysdate|text)\\\\b|\\\\b(bit\\\\svarying|character\\\\s(?:varying)?|tinyint|var\\\\schar|float|interval)\\\\((\\\\d+)\\\\)|\\\\b(char|number|varchar\\\\d?)\\\\b(?:\\\\((\\\\d+)\\\\))?|\\\\b(numeric|decimal)\\\\b(?:\\\\((\\\\d+),(\\\\d+)\\\\))?|\\\\b(times?)\\\\b(?:\\\\((\\\\d+)\\\\))?(\\\\swith(?:out)?\\\\stime\\\\szone\\\\b)?|\\\\b(timestamp)(s|tz)?\\\\b(?:\\\\((\\\\d+)\\\\))?(\\\\s(with(?:|out))\\\\stime\\\\szone\\\\b)?"},{"match":"(?i:\\\\b((?:primary|foreign)\\\\s+key|references|on\\\\s+(delete|update)(\\\\s+cascade)?|nocheck|check|constraint|collate|default)\\\\b)","name":"storage.modifier.sql"},{"match":"\\\\b\\\\d+\\\\b","name":"constant.numeric.sql"},{"match":"(?i:\\\\b(select(\\\\s+(all|distinct))?|insert\\\\s+(ignore\\\\s+)?into|update|delete|from|set|where|group\\\\s+by|or|like|and|union(\\\\s+all)?|having|order\\\\s+by|limit|cross\\\\s+join|join|straight_join|(inner|(left|right|full)(\\\\s+outer)?)\\\\s+join|natural(\\\\s+(inner|(left|right|full)(\\\\s+outer)?))?\\\\s+join)\\\\b)","name":"keyword.other.DML.sql"},{"match":"(?i:\\\\b(on|off|((is\\\\s+)?not\\\\s+)?null)\\\\b)","name":"keyword.other.DDL.create.II.sql"},{"match":"(?i:\\\\bvalues\\\\b)","name":"keyword.other.DML.II.sql"},{"match":"(?i:\\\\b(begin(\\\\s+work)?|start\\\\s+transaction|commit(\\\\s+work)?|rollback(\\\\s+work)?)\\\\b)","name":"keyword.other.LUW.sql"},{"match":"(?i:\\\\b(grant(\\\\swith\\\\sgrant\\\\soption)?|revoke)\\\\b)","name":"keyword.other.authorization.sql"},{"match":"(?i:\\\\bin\\\\b)","name":"keyword.other.data-integrity.sql"},{"match":"(?i:^\\\\s*(comment\\\\s+on\\\\s+(table|column|aggregate|constraint|database|domain|function|index|operator|rule|schema|sequence|trigger|type|view))\\\\s+)","name":"keyword.other.object-comments.sql"},{"match":"(?i)\\\\bAS\\\\b","name":"keyword.other.alias.sql"},{"match":"(?i)\\\\b(DESC|ASC)\\\\b","name":"keyword.other.order.sql"},{"match":"\\\\*","name":"keyword.operator.star.sql"},{"match":"[!<>]?=|<>|[<>]","name":"keyword.operator.comparison.sql"},{"match":"[-+/]","name":"keyword.operator.math.sql"},{"match":"\\\\|\\\\|","name":"keyword.operator.concatenator.sql"},{"captures":{"1":{"name":"support.function.aggregate.sql"}},"match":"(?i)\\\\b(approx_count_distinct|approx_percentile_cont|approx_percentile_disc|avg|checksum_agg|count|count_big|group|grouping|grouping_id|max|min|sum|stdevp??|varp??)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.analytic.sql"}},"match":"(?i)\\\\b(cume_dist|first_value|lag|last_value|lead|percent_rank|percentile_cont|percentile_disc)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.bitmanipulation.sql"}},"match":"(?i)\\\\b((?:bit_coun|get_bi|left_shif|right_shif|set_bi)t)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.conversion.sql"}},"match":"(?i)\\\\b(cast|convert|parse|try_cast|try_convert|try_parse)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.collation.sql"}},"match":"(?i)\\\\b(collationproperty|tertiary_weights)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.cryptographic.sql"}},"match":"(?i)\\\\b(asymkey_id|asymkeyproperty|certproperty|cert_id|crypt_gen_random|decryptbyasymkey|decryptbycert|decryptbykey|decryptbykeyautoasymkey|decryptbykeyautocert|decryptbypassphrase|encryptbyasymkey|encryptbycert|encryptbykey|encryptbypassphrase|hashbytes|is_objectsigned|key_guid|key_id|key_name|signbyasymkey|signbycert|symkeyproperty|verifysignedbycert|verifysignedbyasymkey)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.cursor.sql"}},"match":"(?i)\\\\b(cursor_status)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.datetime.sql"}},"match":"(?i)\\\\b(sysdatetime|sysdatetimeoffset|sysutcdatetime|current_time(stamp)?|getdate|getutcdate|datename|datepart|day|month|year|datefromparts|datetime2fromparts|datetimefromparts|datetimeoffsetfromparts|smalldatetimefromparts|timefromparts|datediff|dateadd|datetrunc|eomonth|switchoffset|todatetimeoffset|isdate|date_bucket)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.datatype.sql"}},"match":"(?i)\\\\b(datalength|ident_current|ident_incr|ident_seed|identity|sql_variant_property)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.expression.sql"}},"match":"(?i)\\\\b(coalesce|nullif)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.globalvar.sql"}},"match":"(?<!@)@@(?i)\\\\b(cursor_rows|connections|cpu_busy|datefirst|dbts|error|fetch_status|identity|idle|io_busy|langid|language|lock_timeout|max_connections|max_precision|nestlevel|options|packet_errors|pack_received|pack_sent|procid|remserver|rowcount|servername|servicename|spid|textsize|timeticks|total_errors|total_read|total_write|trancount|version)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.json.sql"}},"match":"(?i)\\\\b(json|isjson|json_object|json_array|json_value|json_query|json_modify|json_path_exists)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.logical.sql"}},"match":"(?i)\\\\b(choose|iif|greatest|least)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.mathematical.sql"}},"match":"(?i)\\\\b(abs|acos|asin|atan|atn2|ceiling|cos|cot|degrees|exp|floor|log|log10|pi|power|radians|rand|round|sign|sin|sqrt|square|tan)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.metadata.sql"}},"match":"(?i)\\\\b(app_name|applock_mode|applock_test|assemblyproperty|col_length|col_name|columnproperty|database_principal_id|databasepropertyex|db_id|db_name|file_id|file_idex|file_name|filegroup_id|filegroup_name|filegroupproperty|fileproperty|fulltextcatalogproperty|fulltextserviceproperty|index_col|indexkey_property|indexproperty|object_definition|object_id|object_name|object_schema_name|objectproperty|objectpropertyex|original_db_name|parsename|schema_id|schema_name|scope_identity|serverproperty|stats_date|type_id|type_name|typeproperty)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.ranking.sql"}},"match":"(?i)\\\\b(rank|dense_rank|ntile|row_number)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.rowset.sql"}},"match":"(?i)\\\\b(generate_series|opendatasource|openjson|openrowset|openquery|openxml|predict|string_split)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.security.sql"}},"match":"(?i)\\\\b(certencoded|certprivatekey|current_user|database_principal_id|has_perms_by_name|is_member|is_rolemember|is_srvrolemember|original_login|permissions|pwdcompare|pwdencrypt|schema_id|schema_name|session_user|suser_id|suser_sid|suser_sname|system_user|suser_name|user_id|user_name)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.string.sql"}},"match":"(?i)\\\\b(ascii|char|charindex|concat|difference|format|left|len|lower|ltrim|nchar|nodes|patindex|quotename|replace|replicate|reverse|right|rtrim|soundex|space|str|string_agg|string_escape|string_split|stuff|substring|translate|trim|unicode|upper)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.system.sql"}},"match":"(?i)\\\\b(binary_checksum|checksum|compress|connectionproperty|context_info|current_request_id|current_transaction_id|decompress|error_line|error_message|error_number|error_procedure|error_severity|error_state|formatmessage|get_filestream_transaction_context|getansinull|host_id|host_name|isnull|isnumeric|min_active_rowversion|newid|newsequentialid|rowcount_big|session_context|session_id|xact_state)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.textimage.sql"}},"match":"(?i)\\\\b(patindex|textptr|textvalid)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.vector.sql"}},"match":"(?i)\\\\b(vector_(?:distance|norm|normalize))\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"constant.other.database-name.sql"},"2":{"name":"constant.other.table-name.sql"}},"match":"(\\\\w+?)\\\\.(\\\\w+)"},{"include":"#strings"},{"include":"#regexps"},{"match":"\\\\b(?i)(abort|abort_after_wait|absent|absolute|accent_sensitivity|acceptable_cursopt|acp|action|activation|add|address|admin|aes_128|aes_192|aes_256|affinity|after|aggregate|algorithm|all_constraints|all_errormsgs|all_indexes|all_levels|all_results|allow_connections|allow_dup_row|allow_encrypted_value_modifications|allow_page_locks|allow_row_locks|allow_snapshot_isolation|alter|altercolumn|always|anonymous|ansi_defaults|ansi_null_default|ansi_null_dflt_off|ansi_null_dflt_on|ansi_nulls|ansi_padding|ansi_warnings|appdomain|append|application|apply|arithabort|arithignore|array|assembly|asymmetric|asynchronous_commit|at|atan2|atomic|attach|attach_force_rebuild_log|attach_rebuild_log|audit|auth_realm|authentication|auto|auto_cleanup|auto_close|auto_create_statistics|auto_drop|auto_shrink|auto_update_statistics|auto_update_statistics_async|automated_backup_preference|automatic|autopilot|availability|availability_mode|backup|backup_priority|base64|basic|batches|batchsize|before|between|bigint|binary|binding|bit|block|blockers|blocksize|bmk|both|break|broker|broker_instance|bucket_count|buffer|buffercount|bulk_logged|by|call|caller|card|case|catalog|catch|cert|certificate|change_retention|change_tracking|change_tracking_context|changes|char|character|character_set|check_expiration|check_policy|checkconstraints|checkindex|checkpoint|checksum|cleanup_policy|clear|clear_port|close|clustered|codepage|collection|column_encryption_key|column_master_key|columnstore|columnstore_archive|colv_80_to_100|colv_100_to_80|commit_differential_base|committed|compatibility_level|compress_all_row_groups|compression|compression_delay|concat_null_yields_null|concatenate|configuration|connect|connection|containment|continue|continue_after_error|contract|contract_name|control|conversation|conversation_group_id|conversation_handle|copy|copy_only|count_rows|counter|create(\\\\\\\\s+or\\\\\\\\s+alter)?|credential|cross|cryptographic|cryptographic_provider|cube|cursor|cursor_close_on_commit|cursor_default|data|data_compression|data_flush_interval_seconds|data_mirroring|data_purity|data_source|database|database_name|database_snapshot|datafiletype|date_correlation_optimization|date|datefirst|dateformat|date_format|datetime2??|datetimeoffset|day(s)?|db_chaining|dbid|dbidexec|dbo_only|deadlock_priority|deallocate|dec|decimal|declare|decrypt|decrypt_a|decryption|default_database|default_fulltext_language|default_language|default_logon_domain|default_schema|definition|delay|delayed_durability|delimitedtext|density_vector|dependent|des|description|desired_state|desx|differential|digest|disable|disable_broker|disable_def_cnst_chk|disabled|disk|distinct|distributed|distribution|drop|drop_existing|dts_buffers|dump|durability|dynamic|edition|elements|else|emergency|empty|enable|enable_broker|enabled|encoding|encrypted|encrypted_value|encryption|encryption_type|end|endpoint|endpoint_url|enhancedintegrity|entry|error_broker_conversations|errorfile|estimateonly|event|except|exec|executable|execute|exists|expand|expiredate|expiry_date|explicit|external|external_access|failover|failover_mode|failure_condition_level|fast|fast_forward|fastfirstrow|federated_service_account|fetch|field_terminator|fieldterminator|file|filelistonly|filegroup|filegrowth|filename|filestream|filestream_log|filestream_on|filetable|file_format|filter|first_row|fips_flagger|fire_triggers|first|firstrow|float|flush_interval_seconds|fmtonly|following|for|force|force_failover_allow_data_loss|force_service_allow_data_loss|forced|forceplan|formatfile|format_options|format_type|formsof|forward_only|free_cursors|free_exec_context|fullscan|fulltext|fulltextall|fulltextkey|function|generated|get|geography|geometry|global|go|goto|governor|guid|hadoop|hardening|hash|hashed|header_limit|headeronly|health_check_timeout|hidden|hierarchyid|histogram|histogram_steps|hits_cursors|hits_exec_context|hour(s)?|http|identity|identity_value|if|ifnull|ignore|ignore_constraints|ignore_dup_key|ignore_dup_row|ignore_triggers|image|immediate|implicit_transactions|include|include_null_values|incremental|index|inflectional|init|initiator|insensitive|insert|instead|int|integer|integrated|intersect|intermediate|interval_length_minutes|into|inuse_cursors|inuse_exec_context|io|is|isabout|iso_week|isolation|job_tracker_location|json|keep|keep_nulls|keep_replication|keepdefaults|keepfixed|keepidentity|keepnulls|kerberos|key|key_path|key_source|key_store_provider_name|keyset|kill|kilobytes_per_batch|labelonly|langid|language|last|lastrow|leading|legacy_cardinality_estimation|length|level|lifetime|lineage_80_to_100|lineage_100_to_80|listener_ip|listener_port|load|loadhistory|lob_compaction|local|local_service_name|locate|location|lock_escalation|lock_timeout|lockres|log|login|login_type|loop|manual|mark_in_use_for_removal|masked|master|match|matched|max_queue_readers|max_duration|max_outstanding_io_per_volume|maxdop|maxerrors|maxlength|maxtransfersize|max_plans_per_query|max_storage_size_mb|mediadescription|medianame|mediapassword|memogroup|memory_optimized|merge|message|message_forward_size|message_forwarding|microsecond|millisecond|minute(s)?|mirror_address|misses_cursors|misses_exec_context|mixed|modify|money|month|move|multi_user|must_change|name|namespace|nanosecond|native|native_compilation|nchar|ncharacter|nested_triggers|never|new_account|new_broker|newname|next|no|no_browsetable|no_checksum|no_compression|no_infomsgs|no_triggers|no_truncate|nocount|noexec|noexpand|noformat|noinit|nolock|nonatomic|nonclustered|nondurable|none|norecompute|norecovery|noreset|norewind|noskip|not|notification|nounload|now|nowait|ntext|ntlm|nulls|numeric|numeric_roundabort|nvarchar|object|objid|oem|offline|old_account|online|operation_mode|open|openjson|optimistic|option|orc|out|outer|output|over|override|owner|ownership|pad_index|page|page_checksum|page_verify|pagecount|paglock|param|parameter_sniffing|parameter_type_expansion|parameterization|parquet|parseonly|partial|partition|partner|password|path|pause|percentage|permission_set|persisted|period|physical_only|plan_forcing_mode|policy|pool|population|ports|preceding|precision|predicate|presume_abort|primary|primary_role|print|prior|priority |priority_level|private|proc(edure)?|procedure_name|profile|provider|quarter|query_capture_mode|query_governor_cost_limit|query_optimizer_hotfixes|query_store|queue|quoted_identifier|raiserror|range|raw|rcfile|rc2|rc4|rc4_128|rdbms|read_committed_snapshot|read|read_only|read_write|readcommitted|readcommittedlock|readonly|readpast|readuncommitted|readwrite|real|rebuild|receive|recmodel_70backcomp|recompile|reconfigure|recovery|recursive|recursive_triggers|redo_queue|reject_sample_value|reject_type|reject_value|relative|remote|remote_data_archive|remote_proc_transactions|remote_service_name|remove|removed_cursors|removed_exec_context|reorganize|repeat|repeatable|repeatableread|replace|replica|replicated|replnick_100_to_80|replnickarray_80_to_100|replnickarray_100_to_80|required|required_cursopt|resample|reset|resource|resource_manager_location|respect|restart|restore|restricted_user|resume|retaindays|retention|return|revert|rewind|rewindonly|returns|robust|role|rollup|root|round_robin|route|row|rowdump|rowguidcol|rowlock|row_terminator|rows|rows_per_batch|rowsets_only|rowterminator|rowversion|rsa_1024|rsa_2048|rsa_3072|rsa_4096|rsa_512|safe|safety|sample|save|scalar|schema|schemabinding|scoped|scroll|scroll_locks|sddl|second|secexpr|seconds|secondary|secondary_only|secondary_role|secret|security|securityaudit|selective|self|send|sent|sequence|serde_method|serializable|server|service|service_broker|service_name|service_objective|session_timeout|sessions??|seterror|setopts|sets|shard_map_manager|shard_map_name|sharded|shared_memory|shortest_path|show_statistics|showplan_all|showplan_text|showplan_xml|showplan_xml_with_recompile|shrinkdb|shutdown|sid|signature|simple|single_blob|single_clob|single_nclob|single_user|singleton|site|size|size_based_cleanup_mode|skip|smalldatetime|smallint|smallmoney|snapshot|snapshot_import|snapshotrestorephase|soap|softnuma|sort_in_tempdb|sorted_data|sorted_data_reorg|spatial|sql|sql_bigint|sql_binary|sql_bit|sql_char|sql_date|sql_decimal|sql_double|sql_float|sql_guid|sql_handle|sql_longvarbinary|sql_longvarchar|sql_numeric|sql_real|sql_smallint|sql_time|sql_timestamp|sql_tinyint|sql_tsi_day|sql_tsi_frac_second|sql_tsi_hour|sql_tsi_minute|sql_tsi_month|sql_tsi_quarter|sql_tsi_second|sql_tsi_week|sql_tsi_year|sql_type_date|sql_type_time|sql_type_timestamp|sql_varbinary|sql_varchar|sql_variant|sql_wchar|sql_wlongvarchar|ssl|ssl_port|standard|standby|start|start_date|started|stat_header|state|statement|static|statistics|statistics_incremental|statistics_norecompute|statistics_only|statman|stats|stats_stream|status|stop|stop_on_error|stopat|stopatmark|stopbeforemark|stoplist|stopped|string_delimiter|subject|supplemental_logging|supported|suspend|symmetric|synchronous_commit|synonym|sysname|system|system_time|system_versioning|table|tableresults|tablockx??|take|tape|target|target_index|target_partition|target_recovery_time|tcp|temporal_history_retention|text|textimage_on|then|thesaurus|throw|time|timeout|timestamp|tinyint|top??|torn_page_detection|track_columns_updated|trailing|tran|transaction|transfer|transform_noise_words|triple_des|triple_des_3key|truncate|trustworthy|try|tsql|two_digit_year_cutoff|type|type_desc|type_warning|tzoffset|uid|unbounded|uncommitted|unique|uniqueidentifier|unlimited|unload|unlock|unsafe|updlock|url|use|useplan|useroptions|use_type_default|using|utcdatetime|valid_xml|validation|values??|varbinary|varchar|vector|verbose|verifyonly|version|view_metadata|virtual_device|visiblity|wait_at_low_priority|waitfor|webmethod|week|weekday|weight|well_formed_xml|when|while|widechar|widechar_ansi|widenative|windows??|with|within|within group|witness|without|without_array_wrapper|workload|wsdl|xact_abort|xlock|xml|xmlschema|xquery|xsinil|year|zone)\\\\b","name":"keyword.other.sql"},{"captures":{"1":{"name":"punctuation.section.scope.begin.sql"},"2":{"name":"punctuation.section.scope.end.sql"}},"match":"(\\\\()(\\\\))","name":"meta.block.sql"}],"repository":{"comment-block":{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.sql"}},"end":"\\\\*/","name":"comment.block","patterns":[{"include":"#comment-block"}]},"comments":{"patterns":[{"begin":"(^[\\\\t ]+)?(?=--)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.sql"}},"end":"(?!\\\\G)","patterns":[{"begin":"--","beginCaptures":{"0":{"name":"punctuation.definition.comment.sql"}},"end":"\\\\n","name":"comment.line.double-dash.sql"}]},{"begin":"(^[\\\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.sql"}},"end":"(?!\\\\G)","patterns":[]},{"include":"#comment-block"}]},"regexps":{"patterns":[{"begin":"/(?=\\\\S.*/)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sql"}},"end":"/","endCaptures":{"0":{"name":"punctuation.definition.string.end.sql"}},"name":"string.regexp.sql","patterns":[{"include":"#string_interpolation"},{"match":"\\\\\\\\/","name":"constant.character.escape.slash.sql"}]},{"begin":"%r\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sql"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.sql"}},"name":"string.regexp.modr.sql","patterns":[{"include":"#string_interpolation"}]}]},"string_escape":{"match":"\\\\\\\\.","name":"constant.character.escape.sql"},"string_interpolation":{"captures":{"1":{"name":"punctuation.definition.string.begin.sql"},"3":{"name":"punctuation.definition.string.end.sql"}},"match":"(#\\\\{)([^}]*)(})","name":"string.interpolated.sql"},"strings":{"patterns":[{"captures":{"2":{"name":"punctuation.definition.string.begin.sql"},"3":{"name":"punctuation.definition.string.end.sql"}},"match":"(N)?(\')[^\']*(\')","name":"string.quoted.single.sql"},{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sql"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.sql"}},"name":"string.quoted.single.sql","patterns":[{"include":"#string_escape"}]},{"captures":{"1":{"name":"punctuation.definition.string.begin.sql"},"2":{"name":"punctuation.definition.string.end.sql"}},"match":"(`)[^\\\\\\\\`]*(`)","name":"string.quoted.other.backtick.sql"},{"begin":"`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sql"}},"end":"`","endCaptures":{"0":{"name":"punctuation.definition.string.end.sql"}},"name":"string.quoted.other.backtick.sql","patterns":[{"include":"#string_escape"}]},{"captures":{"1":{"name":"punctuation.definition.string.begin.sql"},"2":{"name":"punctuation.definition.string.end.sql"}},"match":"(\\")[^\\"#]*(\\")","name":"string.quoted.double.sql"},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sql"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.sql"}},"name":"string.quoted.double.sql","patterns":[{"include":"#string_interpolation"}]},{"begin":"%\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sql"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.sql"}},"name":"string.other.quoted.brackets.sql","patterns":[{"include":"#string_interpolation"}]}]}},"scopeName":"source.sql"}'))]}}]);
|
|
2
|
+
//# sourceMappingURL=1120.fd177648.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/1120.fd177648.js","mappings":"2KAAA,MAEA,GAFaA,OAAOC,OAAOC,KAAKC,MAAM,kztB","sources":["webpack:///../../node_modules/@shikijs/langs/dist/sql.mjs"],"sourcesContent":["const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"SQL\\\",\\\"name\\\":\\\"sql\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"((?<!@)@)\\\\\\\\b(\\\\\\\\w+)\\\\\\\\b\\\",\\\"name\\\":\\\"text.variable\\\"},{\\\"match\\\":\\\"(\\\\\\\\[)[^]]*(])\\\",\\\"name\\\":\\\"text.bracketed\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.create.sql\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.sql\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.function.sql\\\"}},\\\"match\\\":\\\"(?i:^\\\\\\\\s*(create(?:\\\\\\\\s+or\\\\\\\\s+replace)?)\\\\\\\\s+(aggregate|conversion|database|domain|function|group|(unique\\\\\\\\s+)?index|language|operator class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view)\\\\\\\\s+)([\\\\\\\"'`]?)(\\\\\\\\w+)\\\\\\\\4\\\",\\\"name\\\":\\\"meta.create.sql\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.create.sql\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.sql\\\"}},\\\"match\\\":\\\"(?i:^\\\\\\\\s*(drop)\\\\\\\\s+(aggregate|conversion|database|domain|function|group|index|language|operator class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view))\\\",\\\"name\\\":\\\"meta.drop.sql\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.create.sql\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.table.sql\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.sql\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.other.cascade.sql\\\"}},\\\"match\\\":\\\"(?i:\\\\\\\\s*(drop)\\\\\\\\s+(table)\\\\\\\\s+(\\\\\\\\w+)(\\\\\\\\s+cascade)?\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.drop.sql\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.create.sql\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.table.sql\\\"}},\\\"match\\\":\\\"(?i:^\\\\\\\\s*(alter)\\\\\\\\s+(aggregate|conversion|database|domain|function|group|index|language|operator class|operator|proc(edure)?|rule|schema|sequence|table|tablespace|trigger|type|user|view)\\\\\\\\s+)\\\",\\\"name\\\":\\\"meta.alter.sql\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.sql\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.sql\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.sql\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.sql\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.numeric.sql\\\"},\\\"6\\\":{\\\"name\\\":\\\"storage.type.sql\\\"},\\\"7\\\":{\\\"name\\\":\\\"constant.numeric.sql\\\"},\\\"8\\\":{\\\"name\\\":\\\"constant.numeric.sql\\\"},\\\"9\\\":{\\\"name\\\":\\\"storage.type.sql\\\"},\\\"10\\\":{\\\"name\\\":\\\"constant.numeric.sql\\\"},\\\"11\\\":{\\\"name\\\":\\\"storage.type.sql\\\"},\\\"12\\\":{\\\"name\\\":\\\"storage.type.sql\\\"},\\\"13\\\":{\\\"name\\\":\\\"storage.type.sql\\\"},\\\"14\\\":{\\\"name\\\":\\\"constant.numeric.sql\\\"},\\\"15\\\":{\\\"name\\\":\\\"storage.type.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(bigint|bigserial|bit|boolean|box|bytea|cidr|circle|date|double\\\\\\\\sprecision|inet|int|integer|line|lseg|macaddr|money|oid|path|point|polygon|real|serial|smallint|sysdate|text)\\\\\\\\b|\\\\\\\\b(bit\\\\\\\\svarying|character\\\\\\\\s(?:varying)?|tinyint|var\\\\\\\\schar|float|interval)\\\\\\\\((\\\\\\\\d+)\\\\\\\\)|\\\\\\\\b(char|number|varchar\\\\\\\\d?)\\\\\\\\b(?:\\\\\\\\((\\\\\\\\d+)\\\\\\\\))?|\\\\\\\\b(numeric|decimal)\\\\\\\\b(?:\\\\\\\\((\\\\\\\\d+),(\\\\\\\\d+)\\\\\\\\))?|\\\\\\\\b(times?)\\\\\\\\b(?:\\\\\\\\((\\\\\\\\d+)\\\\\\\\))?(\\\\\\\\swith(?:out)?\\\\\\\\stime\\\\\\\\szone\\\\\\\\b)?|\\\\\\\\b(timestamp)(s|tz)?\\\\\\\\b(?:\\\\\\\\((\\\\\\\\d+)\\\\\\\\))?(\\\\\\\\s(with(?:|out))\\\\\\\\stime\\\\\\\\szone\\\\\\\\b)?\\\"},{\\\"match\\\":\\\"(?i:\\\\\\\\b((?:primary|foreign)\\\\\\\\s+key|references|on\\\\\\\\s+(delete|update)(\\\\\\\\s+cascade)?|nocheck|check|constraint|collate|default)\\\\\\\\b)\\\",\\\"name\\\":\\\"storage.modifier.sql\\\"},{\\\"match\\\":\\\"\\\\\\\\b\\\\\\\\d+\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.sql\\\"},{\\\"match\\\":\\\"(?i:\\\\\\\\b(select(\\\\\\\\s+(all|distinct))?|insert\\\\\\\\s+(ignore\\\\\\\\s+)?into|update|delete|from|set|where|group\\\\\\\\s+by|or|like|and|union(\\\\\\\\s+all)?|having|order\\\\\\\\s+by|limit|cross\\\\\\\\s+join|join|straight_join|(inner|(left|right|full)(\\\\\\\\s+outer)?)\\\\\\\\s+join|natural(\\\\\\\\s+(inner|(left|right|full)(\\\\\\\\s+outer)?))?\\\\\\\\s+join)\\\\\\\\b)\\\",\\\"name\\\":\\\"keyword.other.DML.sql\\\"},{\\\"match\\\":\\\"(?i:\\\\\\\\b(on|off|((is\\\\\\\\s+)?not\\\\\\\\s+)?null)\\\\\\\\b)\\\",\\\"name\\\":\\\"keyword.other.DDL.create.II.sql\\\"},{\\\"match\\\":\\\"(?i:\\\\\\\\bvalues\\\\\\\\b)\\\",\\\"name\\\":\\\"keyword.other.DML.II.sql\\\"},{\\\"match\\\":\\\"(?i:\\\\\\\\b(begin(\\\\\\\\s+work)?|start\\\\\\\\s+transaction|commit(\\\\\\\\s+work)?|rollback(\\\\\\\\s+work)?)\\\\\\\\b)\\\",\\\"name\\\":\\\"keyword.other.LUW.sql\\\"},{\\\"match\\\":\\\"(?i:\\\\\\\\b(grant(\\\\\\\\swith\\\\\\\\sgrant\\\\\\\\soption)?|revoke)\\\\\\\\b)\\\",\\\"name\\\":\\\"keyword.other.authorization.sql\\\"},{\\\"match\\\":\\\"(?i:\\\\\\\\bin\\\\\\\\b)\\\",\\\"name\\\":\\\"keyword.other.data-integrity.sql\\\"},{\\\"match\\\":\\\"(?i:^\\\\\\\\s*(comment\\\\\\\\s+on\\\\\\\\s+(table|column|aggregate|constraint|database|domain|function|index|operator|rule|schema|sequence|trigger|type|view))\\\\\\\\s+)\\\",\\\"name\\\":\\\"keyword.other.object-comments.sql\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bAS\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.alias.sql\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(DESC|ASC)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.order.sql\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"keyword.operator.star.sql\\\"},{\\\"match\\\":\\\"[!<>]?=|<>|[<>]\\\",\\\"name\\\":\\\"keyword.operator.comparison.sql\\\"},{\\\"match\\\":\\\"[-+/]\\\",\\\"name\\\":\\\"keyword.operator.math.sql\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.concatenator.sql\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.aggregate.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(approx_count_distinct|approx_percentile_cont|approx_percentile_disc|avg|checksum_agg|count|count_big|group|grouping|grouping_id|max|min|sum|stdevp??|varp??)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.analytic.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(cume_dist|first_value|lag|last_value|lead|percent_rank|percentile_cont|percentile_disc)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.bitmanipulation.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b((?:bit_coun|get_bi|left_shif|right_shif|set_bi)t)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.conversion.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(cast|convert|parse|try_cast|try_convert|try_parse)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.collation.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(collationproperty|tertiary_weights)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.cryptographic.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(asymkey_id|asymkeyproperty|certproperty|cert_id|crypt_gen_random|decryptbyasymkey|decryptbycert|decryptbykey|decryptbykeyautoasymkey|decryptbykeyautocert|decryptbypassphrase|encryptbyasymkey|encryptbycert|encryptbykey|encryptbypassphrase|hashbytes|is_objectsigned|key_guid|key_id|key_name|signbyasymkey|signbycert|symkeyproperty|verifysignedbycert|verifysignedbyasymkey)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.cursor.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(cursor_status)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.datetime.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(sysdatetime|sysdatetimeoffset|sysutcdatetime|current_time(stamp)?|getdate|getutcdate|datename|datepart|day|month|year|datefromparts|datetime2fromparts|datetimefromparts|datetimeoffsetfromparts|smalldatetimefromparts|timefromparts|datediff|dateadd|datetrunc|eomonth|switchoffset|todatetimeoffset|isdate|date_bucket)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.datatype.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(datalength|ident_current|ident_incr|ident_seed|identity|sql_variant_property)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.expression.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(coalesce|nullif)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.globalvar.sql\\\"}},\\\"match\\\":\\\"(?<!@)@@(?i)\\\\\\\\b(cursor_rows|connections|cpu_busy|datefirst|dbts|error|fetch_status|identity|idle|io_busy|langid|language|lock_timeout|max_connections|max_precision|nestlevel|options|packet_errors|pack_received|pack_sent|procid|remserver|rowcount|servername|servicename|spid|textsize|timeticks|total_errors|total_read|total_write|trancount|version)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.json.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(json|isjson|json_object|json_array|json_value|json_query|json_modify|json_path_exists)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.logical.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(choose|iif|greatest|least)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.mathematical.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(abs|acos|asin|atan|atn2|ceiling|cos|cot|degrees|exp|floor|log|log10|pi|power|radians|rand|round|sign|sin|sqrt|square|tan)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.metadata.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(app_name|applock_mode|applock_test|assemblyproperty|col_length|col_name|columnproperty|database_principal_id|databasepropertyex|db_id|db_name|file_id|file_idex|file_name|filegroup_id|filegroup_name|filegroupproperty|fileproperty|fulltextcatalogproperty|fulltextserviceproperty|index_col|indexkey_property|indexproperty|object_definition|object_id|object_name|object_schema_name|objectproperty|objectpropertyex|original_db_name|parsename|schema_id|schema_name|scope_identity|serverproperty|stats_date|type_id|type_name|typeproperty)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.ranking.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(rank|dense_rank|ntile|row_number)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.rowset.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(generate_series|opendatasource|openjson|openrowset|openquery|openxml|predict|string_split)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.security.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(certencoded|certprivatekey|current_user|database_principal_id|has_perms_by_name|is_member|is_rolemember|is_srvrolemember|original_login|permissions|pwdcompare|pwdencrypt|schema_id|schema_name|session_user|suser_id|suser_sid|suser_sname|system_user|suser_name|user_id|user_name)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.string.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(ascii|char|charindex|concat|difference|format|left|len|lower|ltrim|nchar|nodes|patindex|quotename|replace|replicate|reverse|right|rtrim|soundex|space|str|string_agg|string_escape|string_split|stuff|substring|translate|trim|unicode|upper)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.system.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(binary_checksum|checksum|compress|connectionproperty|context_info|current_request_id|current_transaction_id|decompress|error_line|error_message|error_number|error_procedure|error_severity|error_state|formatmessage|get_filestream_transaction_context|getansinull|host_id|host_name|isnull|isnumeric|min_active_rowversion|newid|newsequentialid|rowcount_big|session_context|session_id|xact_state)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.textimage.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(patindex|textptr|textvalid)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.vector.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(vector_(?:distance|norm|normalize))\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.other.database-name.sql\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.other.table-name.sql\\\"}},\\\"match\\\":\\\"(\\\\\\\\w+?)\\\\\\\\.(\\\\\\\\w+)\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#regexps\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i)(abort|abort_after_wait|absent|absolute|accent_sensitivity|acceptable_cursopt|acp|action|activation|add|address|admin|aes_128|aes_192|aes_256|affinity|after|aggregate|algorithm|all_constraints|all_errormsgs|all_indexes|all_levels|all_results|allow_connections|allow_dup_row|allow_encrypted_value_modifications|allow_page_locks|allow_row_locks|allow_snapshot_isolation|alter|altercolumn|always|anonymous|ansi_defaults|ansi_null_default|ansi_null_dflt_off|ansi_null_dflt_on|ansi_nulls|ansi_padding|ansi_warnings|appdomain|append|application|apply|arithabort|arithignore|array|assembly|asymmetric|asynchronous_commit|at|atan2|atomic|attach|attach_force_rebuild_log|attach_rebuild_log|audit|auth_realm|authentication|auto|auto_cleanup|auto_close|auto_create_statistics|auto_drop|auto_shrink|auto_update_statistics|auto_update_statistics_async|automated_backup_preference|automatic|autopilot|availability|availability_mode|backup|backup_priority|base64|basic|batches|batchsize|before|between|bigint|binary|binding|bit|block|blockers|blocksize|bmk|both|break|broker|broker_instance|bucket_count|buffer|buffercount|bulk_logged|by|call|caller|card|case|catalog|catch|cert|certificate|change_retention|change_tracking|change_tracking_context|changes|char|character|character_set|check_expiration|check_policy|checkconstraints|checkindex|checkpoint|checksum|cleanup_policy|clear|clear_port|close|clustered|codepage|collection|column_encryption_key|column_master_key|columnstore|columnstore_archive|colv_80_to_100|colv_100_to_80|commit_differential_base|committed|compatibility_level|compress_all_row_groups|compression|compression_delay|concat_null_yields_null|concatenate|configuration|connect|connection|containment|continue|continue_after_error|contract|contract_name|control|conversation|conversation_group_id|conversation_handle|copy|copy_only|count_rows|counter|create(\\\\\\\\\\\\\\\\s+or\\\\\\\\\\\\\\\\s+alter)?|credential|cross|cryptographic|cryptographic_provider|cube|cursor|cursor_close_on_commit|cursor_default|data|data_compression|data_flush_interval_seconds|data_mirroring|data_purity|data_source|database|database_name|database_snapshot|datafiletype|date_correlation_optimization|date|datefirst|dateformat|date_format|datetime2??|datetimeoffset|day(s)?|db_chaining|dbid|dbidexec|dbo_only|deadlock_priority|deallocate|dec|decimal|declare|decrypt|decrypt_a|decryption|default_database|default_fulltext_language|default_language|default_logon_domain|default_schema|definition|delay|delayed_durability|delimitedtext|density_vector|dependent|des|description|desired_state|desx|differential|digest|disable|disable_broker|disable_def_cnst_chk|disabled|disk|distinct|distributed|distribution|drop|drop_existing|dts_buffers|dump|durability|dynamic|edition|elements|else|emergency|empty|enable|enable_broker|enabled|encoding|encrypted|encrypted_value|encryption|encryption_type|end|endpoint|endpoint_url|enhancedintegrity|entry|error_broker_conversations|errorfile|estimateonly|event|except|exec|executable|execute|exists|expand|expiredate|expiry_date|explicit|external|external_access|failover|failover_mode|failure_condition_level|fast|fast_forward|fastfirstrow|federated_service_account|fetch|field_terminator|fieldterminator|file|filelistonly|filegroup|filegrowth|filename|filestream|filestream_log|filestream_on|filetable|file_format|filter|first_row|fips_flagger|fire_triggers|first|firstrow|float|flush_interval_seconds|fmtonly|following|for|force|force_failover_allow_data_loss|force_service_allow_data_loss|forced|forceplan|formatfile|format_options|format_type|formsof|forward_only|free_cursors|free_exec_context|fullscan|fulltext|fulltextall|fulltextkey|function|generated|get|geography|geometry|global|go|goto|governor|guid|hadoop|hardening|hash|hashed|header_limit|headeronly|health_check_timeout|hidden|hierarchyid|histogram|histogram_steps|hits_cursors|hits_exec_context|hour(s)?|http|identity|identity_value|if|ifnull|ignore|ignore_constraints|ignore_dup_key|ignore_dup_row|ignore_triggers|image|immediate|implicit_transactions|include|include_null_values|incremental|index|inflectional|init|initiator|insensitive|insert|instead|int|integer|integrated|intersect|intermediate|interval_length_minutes|into|inuse_cursors|inuse_exec_context|io|is|isabout|iso_week|isolation|job_tracker_location|json|keep|keep_nulls|keep_replication|keepdefaults|keepfixed|keepidentity|keepnulls|kerberos|key|key_path|key_source|key_store_provider_name|keyset|kill|kilobytes_per_batch|labelonly|langid|language|last|lastrow|leading|legacy_cardinality_estimation|length|level|lifetime|lineage_80_to_100|lineage_100_to_80|listener_ip|listener_port|load|loadhistory|lob_compaction|local|local_service_name|locate|location|lock_escalation|lock_timeout|lockres|log|login|login_type|loop|manual|mark_in_use_for_removal|masked|master|match|matched|max_queue_readers|max_duration|max_outstanding_io_per_volume|maxdop|maxerrors|maxlength|maxtransfersize|max_plans_per_query|max_storage_size_mb|mediadescription|medianame|mediapassword|memogroup|memory_optimized|merge|message|message_forward_size|message_forwarding|microsecond|millisecond|minute(s)?|mirror_address|misses_cursors|misses_exec_context|mixed|modify|money|month|move|multi_user|must_change|name|namespace|nanosecond|native|native_compilation|nchar|ncharacter|nested_triggers|never|new_account|new_broker|newname|next|no|no_browsetable|no_checksum|no_compression|no_infomsgs|no_triggers|no_truncate|nocount|noexec|noexpand|noformat|noinit|nolock|nonatomic|nonclustered|nondurable|none|norecompute|norecovery|noreset|norewind|noskip|not|notification|nounload|now|nowait|ntext|ntlm|nulls|numeric|numeric_roundabort|nvarchar|object|objid|oem|offline|old_account|online|operation_mode|open|openjson|optimistic|option|orc|out|outer|output|over|override|owner|ownership|pad_index|page|page_checksum|page_verify|pagecount|paglock|param|parameter_sniffing|parameter_type_expansion|parameterization|parquet|parseonly|partial|partition|partner|password|path|pause|percentage|permission_set|persisted|period|physical_only|plan_forcing_mode|policy|pool|population|ports|preceding|precision|predicate|presume_abort|primary|primary_role|print|prior|priority |priority_level|private|proc(edure)?|procedure_name|profile|provider|quarter|query_capture_mode|query_governor_cost_limit|query_optimizer_hotfixes|query_store|queue|quoted_identifier|raiserror|range|raw|rcfile|rc2|rc4|rc4_128|rdbms|read_committed_snapshot|read|read_only|read_write|readcommitted|readcommittedlock|readonly|readpast|readuncommitted|readwrite|real|rebuild|receive|recmodel_70backcomp|recompile|reconfigure|recovery|recursive|recursive_triggers|redo_queue|reject_sample_value|reject_type|reject_value|relative|remote|remote_data_archive|remote_proc_transactions|remote_service_name|remove|removed_cursors|removed_exec_context|reorganize|repeat|repeatable|repeatableread|replace|replica|replicated|replnick_100_to_80|replnickarray_80_to_100|replnickarray_100_to_80|required|required_cursopt|resample|reset|resource|resource_manager_location|respect|restart|restore|restricted_user|resume|retaindays|retention|return|revert|rewind|rewindonly|returns|robust|role|rollup|root|round_robin|route|row|rowdump|rowguidcol|rowlock|row_terminator|rows|rows_per_batch|rowsets_only|rowterminator|rowversion|rsa_1024|rsa_2048|rsa_3072|rsa_4096|rsa_512|safe|safety|sample|save|scalar|schema|schemabinding|scoped|scroll|scroll_locks|sddl|second|secexpr|seconds|secondary|secondary_only|secondary_role|secret|security|securityaudit|selective|self|send|sent|sequence|serde_method|serializable|server|service|service_broker|service_name|service_objective|session_timeout|sessions??|seterror|setopts|sets|shard_map_manager|shard_map_name|sharded|shared_memory|shortest_path|show_statistics|showplan_all|showplan_text|showplan_xml|showplan_xml_with_recompile|shrinkdb|shutdown|sid|signature|simple|single_blob|single_clob|single_nclob|single_user|singleton|site|size|size_based_cleanup_mode|skip|smalldatetime|smallint|smallmoney|snapshot|snapshot_import|snapshotrestorephase|soap|softnuma|sort_in_tempdb|sorted_data|sorted_data_reorg|spatial|sql|sql_bigint|sql_binary|sql_bit|sql_char|sql_date|sql_decimal|sql_double|sql_float|sql_guid|sql_handle|sql_longvarbinary|sql_longvarchar|sql_numeric|sql_real|sql_smallint|sql_time|sql_timestamp|sql_tinyint|sql_tsi_day|sql_tsi_frac_second|sql_tsi_hour|sql_tsi_minute|sql_tsi_month|sql_tsi_quarter|sql_tsi_second|sql_tsi_week|sql_tsi_year|sql_type_date|sql_type_time|sql_type_timestamp|sql_varbinary|sql_varchar|sql_variant|sql_wchar|sql_wlongvarchar|ssl|ssl_port|standard|standby|start|start_date|started|stat_header|state|statement|static|statistics|statistics_incremental|statistics_norecompute|statistics_only|statman|stats|stats_stream|status|stop|stop_on_error|stopat|stopatmark|stopbeforemark|stoplist|stopped|string_delimiter|subject|supplemental_logging|supported|suspend|symmetric|synchronous_commit|synonym|sysname|system|system_time|system_versioning|table|tableresults|tablockx??|take|tape|target|target_index|target_partition|target_recovery_time|tcp|temporal_history_retention|text|textimage_on|then|thesaurus|throw|time|timeout|timestamp|tinyint|top??|torn_page_detection|track_columns_updated|trailing|tran|transaction|transfer|transform_noise_words|triple_des|triple_des_3key|truncate|trustworthy|try|tsql|two_digit_year_cutoff|type|type_desc|type_warning|tzoffset|uid|unbounded|uncommitted|unique|uniqueidentifier|unlimited|unload|unlock|unsafe|updlock|url|use|useplan|useroptions|use_type_default|using|utcdatetime|valid_xml|validation|values??|varbinary|varchar|vector|verbose|verifyonly|version|view_metadata|virtual_device|visiblity|wait_at_low_priority|waitfor|webmethod|week|weekday|weight|well_formed_xml|when|while|widechar|widechar_ansi|widenative|windows??|with|within|within group|witness|without|without_array_wrapper|workload|wsdl|xact_abort|xlock|xml|xmlschema|xquery|xsinil|year|zone)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.sql\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.scope.begin.sql\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.scope.end.sql\\\"}},\\\"match\\\":\\\"(\\\\\\\\()(\\\\\\\\))\\\",\\\"name\\\":\\\"meta.block.sql\\\"}],\\\"repository\\\":{\\\"comment-block\\\":{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.sql\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?(?=--)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.sql\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"--\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.sql\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.double-dash.sql\\\"}]},{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?(?=#)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.sql\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[]},{\\\"include\\\":\\\"#comment-block\\\"}]},\\\"regexps\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/(?=\\\\\\\\S.*/)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.sql\\\"}},\\\"end\\\":\\\"/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.sql\\\"}},\\\"name\\\":\\\"string.regexp.sql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_interpolation\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\/\\\",\\\"name\\\":\\\"constant.character.escape.slash.sql\\\"}]},{\\\"begin\\\":\\\"%r\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.sql\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.sql\\\"}},\\\"name\\\":\\\"string.regexp.modr.sql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_interpolation\\\"}]}]},\\\"string_escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.sql\\\"},\\\"string_interpolation\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.sql\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.sql\\\"}},\\\"match\\\":\\\"(#\\\\\\\\{)([^}]*)(})\\\",\\\"name\\\":\\\"string.interpolated.sql\\\"},\\\"strings\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.sql\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.sql\\\"}},\\\"match\\\":\\\"(N)?(')[^']*(')\\\",\\\"name\\\":\\\"string.quoted.single.sql\\\"},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.sql\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.sql\\\"}},\\\"name\\\":\\\"string.quoted.single.sql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escape\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.sql\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.sql\\\"}},\\\"match\\\":\\\"(`)[^\\\\\\\\\\\\\\\\`]*(`)\\\",\\\"name\\\":\\\"string.quoted.other.backtick.sql\\\"},{\\\"begin\\\":\\\"`\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.sql\\\"}},\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.sql\\\"}},\\\"name\\\":\\\"string.quoted.other.backtick.sql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escape\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.sql\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.sql\\\"}},\\\"match\\\":\\\"(\\\\\\\")[^\\\\\\\"#]*(\\\\\\\")\\\",\\\"name\\\":\\\"string.quoted.double.sql\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.sql\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.sql\\\"}},\\\"name\\\":\\\"string.quoted.double.sql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_interpolation\\\"}]},{\\\"begin\\\":\\\"%\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.sql\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.sql\\\"}},\\\"name\\\":\\\"string.other.quoted.brackets.sql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_interpolation\\\"}]}]}},\\\"scopeName\\\":\\\"source.sql\\\"}\"))\n\nexport default [\nlang\n]\n"],"names":["Object","freeze","JSON","parse"],"sourceRoot":""}
|