@elementspanel/panel 0.0.0-stage → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +6 -2
  3. package/app.js +6400 -0
  4. package/app.js.map +1 -0
  5. package/bin/panel.cjs +2 -0
  6. package/package.json +107 -4
  7. package/public/assets/AppDialog.vue_vue_type_style_index_0_lang-e6e38e8b.js +2 -0
  8. package/public/assets/AppDialog.vue_vue_type_style_index_0_lang-e6e38e8b.js.map +1 -0
  9. package/public/assets/CardPanel-59b7da2e.js +2 -0
  10. package/public/assets/CardPanel-59b7da2e.js.map +1 -0
  11. package/public/assets/DesktopDialog-e4041e4e.js +2 -0
  12. package/public/assets/DesktopDialog-e4041e4e.js.map +1 -0
  13. package/public/assets/Loading.vue_vue_type_script_setup_true_lang-1b74dd54.js +2 -0
  14. package/public/assets/Loading.vue_vue_type_script_setup_true_lang-1b74dd54.js.map +1 -0
  15. package/public/assets/PageToolbar-7130e13d.js +2 -0
  16. package/public/assets/PageToolbar-7130e13d.js.map +1 -0
  17. package/public/assets/_elements-sdk_cordis-b0b88a2c.js +2 -0
  18. package/public/assets/_elements-sdk_cordis-b0b88a2c.js.map +1 -0
  19. package/public/assets/_elements-sdk_cordis-e3bebc89.js +9 -0
  20. package/public/assets/_elements-sdk_cordis-e3bebc89.js.map +1 -0
  21. package/public/assets/_elements-sdk_cosmokit-e4842f5c.js +2 -0
  22. package/public/assets/_elements-sdk_cosmokit-e4842f5c.js.map +1 -0
  23. package/public/assets/_elements-sdk_pinia-2c56d2c1.js +6 -0
  24. package/public/assets/_elements-sdk_pinia-2c56d2c1.js.map +1 -0
  25. package/public/assets/_elements-sdk_vue-80f42d87.js +2 -0
  26. package/public/assets/_elements-sdk_vue-80f42d87.js.map +1 -0
  27. package/public/assets/_elements-sdk_vue-i18n-4b8a106a.js +2 -0
  28. package/public/assets/_elements-sdk_vue-i18n-4b8a106a.js.map +1 -0
  29. package/public/assets/_elements-sdk_vue-router-a171591a.js +2 -0
  30. package/public/assets/_elements-sdk_vue-router-a171591a.js.map +1 -0
  31. package/public/assets/_plugin-vue_export-helper-c27b6911.js +2 -0
  32. package/public/assets/_plugin-vue_export-helper-c27b6911.js.map +1 -0
  33. package/public/assets/chartjs-1e331dfb.js +19 -0
  34. package/public/assets/chartjs-1e331dfb.js.map +1 -0
  35. package/public/assets/codemirror-1b74112a.js +29 -0
  36. package/public/assets/codemirror-1b74112a.js.map +1 -0
  37. package/public/assets/const-93b324c0.js +2 -0
  38. package/public/assets/const-93b324c0.js.map +1 -0
  39. package/public/assets/const-ea30795c.js +38 -0
  40. package/public/assets/const-ea30795c.js.map +1 -0
  41. package/public/assets/context-cc90576e.js +2 -0
  42. package/public/assets/context-cc90576e.js.map +1 -0
  43. package/public/assets/copy-b106bb10.js +2 -0
  44. package/public/assets/copy-b106bb10.js.map +1 -0
  45. package/public/assets/core-d3bfdede.js +2 -0
  46. package/public/assets/core-d3bfdede.js.map +1 -0
  47. package/public/assets/daemon_connection_error-9eb654cc.png +0 -0
  48. package/public/assets/dayjs.min-25183c0a.js +2 -0
  49. package/public/assets/dayjs.min-25183c0a.js.map +1 -0
  50. package/public/assets/desktopNotice-5ca3448c.js +2 -0
  51. package/public/assets/desktopNotice-5ca3448c.js.map +1 -0
  52. package/public/assets/dom-ff483262.js +2 -0
  53. package/public/assets/dom-ff483262.js.map +1 -0
  54. package/public/assets/htmlparser2-bcb8f9db.js +3 -0
  55. package/public/assets/htmlparser2-bcb8f9db.js.map +1 -0
  56. package/public/assets/i18n-e810b9fa.js +2 -0
  57. package/public/assets/i18n-e810b9fa.js.map +1 -0
  58. package/public/assets/index-6e8d74f8.js +2 -0
  59. package/public/assets/index-6e8d74f8.js.map +1 -0
  60. package/public/assets/index-c684efbd.js +2 -0
  61. package/public/assets/index-c684efbd.js.map +1 -0
  62. package/public/assets/index-e3f35709.js +2 -0
  63. package/public/assets/index-e3f35709.js.map +1 -0
  64. package/public/assets/instance-cc59e210.js +2 -0
  65. package/public/assets/instance-cc59e210.js.map +1 -0
  66. package/public/assets/instance_contract-0115efe5.js +2 -0
  67. package/public/assets/instance_contract-0115efe5.js.map +1 -0
  68. package/public/assets/lodash-001e4f93.js +28 -0
  69. package/public/assets/lodash-001e4f93.js.map +1 -0
  70. package/public/assets/logo-9e2a668b.svg +15 -0
  71. package/public/assets/logo_b-35ccadda.svg +8 -0
  72. package/public/assets/materialdesignicons-webfont-0b183104.eot +0 -0
  73. package/public/assets/materialdesignicons-webfont-61e8aba5.ttf +0 -0
  74. package/public/assets/materialdesignicons-webfont-662fefa8.woff2 +0 -0
  75. package/public/assets/materialdesignicons-webfont-a5928a0d.woff +0 -0
  76. package/public/assets/msl-logo-699c8076.png +0 -0
  77. package/public/assets/nodes-a56b1b35.js +2 -0
  78. package/public/assets/nodes-a56b1b35.js.map +1 -0
  79. package/public/assets/plugin_contract-691cd37a.js +2 -0
  80. package/public/assets/plugin_contract-691cd37a.js.map +1 -0
  81. package/public/assets/preload-helper-a4192956.js +2 -0
  82. package/public/assets/preload-helper-a4192956.js.map +1 -0
  83. package/public/assets/protocol-97f7bab7.js +2 -0
  84. package/public/assets/protocol-97f7bab7.js.map +1 -0
  85. package/public/assets/randId-56f93901.js +2 -0
  86. package/public/assets/randId-56f93901.js.map +1 -0
  87. package/public/assets/router-eff205cc.js +3 -0
  88. package/public/assets/router-eff205cc.js.map +1 -0
  89. package/public/assets/safe-87846d89.js +89 -0
  90. package/public/assets/safe-87846d89.js.map +1 -0
  91. package/public/assets/sdk-3f2277ab.js +2 -0
  92. package/public/assets/sdk-3f2277ab.js.map +1 -0
  93. package/public/assets/shared-597ef52b.js +2 -0
  94. package/public/assets/shared-597ef52b.js.map +1 -0
  95. package/public/assets/useAppConfigStore-352fe033.js +2 -0
  96. package/public/assets/useAppConfigStore-352fe033.js.map +1 -0
  97. package/public/assets/useAppRouters-747b627a.js +2 -0
  98. package/public/assets/useAppRouters-747b627a.js.map +1 -0
  99. package/public/assets/useAppStateStore-a438b9a6.js +2 -0
  100. package/public/assets/useAppStateStore-a438b9a6.js.map +1 -0
  101. package/public/assets/useAppToolsStore-288c4fe8.js +2 -0
  102. package/public/assets/useAppToolsStore-288c4fe8.js.map +1 -0
  103. package/public/assets/useDefineApi-b726db1e.js +7 -0
  104. package/public/assets/useDefineApi-b726db1e.js.map +1 -0
  105. package/public/assets/useInstanceActionAvailability-16de3001.js +2 -0
  106. package/public/assets/useInstanceActionAvailability-16de3001.js.map +1 -0
  107. package/public/assets/useKeyboardEvents-6f7f845c.js +2 -0
  108. package/public/assets/useKeyboardEvents-6f7f845c.js.map +1 -0
  109. package/public/assets/useMountComponent-4043cb4c.js +2 -0
  110. package/public/assets/useMountComponent-4043cb4c.js.map +1 -0
  111. package/public/assets/useOverviewChart-7d758bc4.js +2 -0
  112. package/public/assets/useOverviewChart-7d758bc4.js.map +1 -0
  113. package/public/assets/useOverviewInfo-9ca25ab9.js +2 -0
  114. package/public/assets/useOverviewInfo-9ca25ab9.js.map +1 -0
  115. package/public/assets/usePolling-1bc2009b.js +2 -0
  116. package/public/assets/usePolling-1bc2009b.js.map +1 -0
  117. package/public/assets/useScreen-fad29b7c.js +2 -0
  118. package/public/assets/useScreen-fad29b7c.js.map +1 -0
  119. package/public/assets/useSocketIo-ea3c9a61.js +2 -0
  120. package/public/assets/useSocketIo-ea3c9a61.js.map +1 -0
  121. package/public/assets/useThemeSwitch-dc70883c.js +2 -0
  122. package/public/assets/useThemeSwitch-dc70883c.js.map +1 -0
  123. package/public/assets/vue-4c6a2976.css +1 -0
  124. package/public/assets/vue-6b52a630.js +64 -0
  125. package/public/assets/vue-6b52a630.js.map +1 -0
  126. package/public/assets/vuetifyModal-8382b175.js +2 -0
  127. package/public/assets/vuetifyModal-8382b175.js.map +1 -0
  128. package/public/assets/xterm-62ba073f.js +67 -0
  129. package/public/assets/xterm-62ba073f.js.map +1 -0
  130. package/public/favicon.ico +0 -0
  131. package/public/index.html +207 -0
  132. package/public/robots.txt +2 -0
  133. package/public/stats.html +4950 -0
  134. package/runtime/cli.cjs +305 -0
  135. package/runtime/daemon-tools.cjs +113 -0
  136. package/runtime/npm-plugins.cjs +207 -0
  137. package/runtime/plugin-resolution.cjs +141 -0
  138. package/runtime/shared-dependencies.cjs +35 -0
  139. package/runtime/worker.cjs +25 -0
package/bin/panel.cjs ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ require('../runtime/cli.cjs').run('panel', require('node:path').resolve(__dirname, '..'));
package/package.json CHANGED
@@ -1,6 +1,109 @@
1
1
  {
2
+ "version": "1.0.1",
3
+ "description": "ElementsPanel backend API — a fork of the MCSManager project, connects and controls all Daemon nodes and provides API services for the frontend",
4
+ "homepage": "https://elementspanel.top/",
5
+ "author": "Csituka_D <694428809@qq.com> (https://github.com/JessDaodao)",
6
+ "contributors": [
7
+ "Yumao <unitwk@outlook.com> (https://github.com/yumao233)"
8
+ ],
9
+ "license": "Apache-2.0",
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "https://github.com/ElementsPanel/ElementsPanel"
13
+ },
14
+ "daemonVersion": "1.0.1",
2
15
  "name": "@elementspanel/panel",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
16
+ "bin": {
17
+ "epanel": "bin/panel.cjs"
18
+ },
19
+ "files": [
20
+ "app.js",
21
+ "app.js.map",
22
+ "bin/",
23
+ "runtime/",
24
+ "public/",
25
+ "README.md",
26
+ "LICENSE"
27
+ ],
28
+ "engines": {
29
+ "node": ">=22.15.0"
30
+ },
31
+ "publishConfig": {
32
+ "access": "public"
33
+ },
34
+ "dependencies": {
35
+ "@cordisjs/logger": "0.3.3",
36
+ "@koa/router": "^10.0.0",
37
+ "@types/qrcode": "^1.5.5",
38
+ "async-mutex": "^0.5.0",
39
+ "axios": "^1.8.2",
40
+ "bcryptjs": "^2.4.3",
41
+ "cordis": "3.18.1",
42
+ "cosmokit": "1.8.1",
43
+ "crypto": "^1.0.1",
44
+ "formidable": "^3.5.1",
45
+ "fs-extra": "^9.0.1",
46
+ "i18n": "^0.15.0",
47
+ "i18next": "^21.8.14",
48
+ "koa": "^2.15.4",
49
+ "koa-body": "^6.0.1",
50
+ "koa-compose": "^4.1.0",
51
+ "koa-mount": "^4.0.0",
52
+ "koa-session": "^6.2.0",
53
+ "koa-static": "^5.0.0",
54
+ "md5": "^2.3.0",
55
+ "nanoid": "^3.3.8",
56
+ "node-schedule": "^2.0.0",
57
+ "open": "^8.4.0",
58
+ "openid-client": "^6.8.2",
59
+ "os-utils": "0.0.14",
60
+ "otplib": "^12.0.1",
61
+ "qrcode": "^1.5.3",
62
+ "redis": "^4.5.1",
63
+ "socket.io": "^4.5.3",
64
+ "socket.io-client": "^4.7.2",
65
+ "uuid": "^8.3.2",
66
+ "@elementspanel/epanel-plugin-backup": "1.0.2",
67
+ "@elementspanel/epanel-plugin-config": "1.0.2",
68
+ "@elementspanel/epanel-plugin-console": "1.0.2",
69
+ "@elementspanel/epanel-plugin-desktop": "1.0.2",
70
+ "@elementspanel/epanel-plugin-file": "1.0.2",
71
+ "@elementspanel/epanel-plugin-i18n": "1.0.2",
72
+ "@elementspanel/epanel-plugin-instance": "1.0.2",
73
+ "@elementspanel/epanel-plugin-market": "1.0.2",
74
+ "@elementspanel/epanel-plugin-mod-manager": "1.0.2",
75
+ "@elementspanel/epanel-plugin-monitor": "1.0.2",
76
+ "@elementspanel/epanel-plugin-node": "1.0.2",
77
+ "@elementspanel/epanel-plugin-runtime": "1.0.2",
78
+ "@elementspanel/epanel-plugin-server": "1.0.2",
79
+ "@elementspanel/epanel-plugin-storage": "1.0.2",
80
+ "@elementspanel/epanel-plugin-terminal": "1.0.2",
81
+ "@elementspanel/epanel-plugin-user": "1.0.2",
82
+ "@cordisjs/core": "3.18.1",
83
+ "@cordisjs/timer": "0.3.2",
84
+ "@cordisjs/schema": "0.1.1",
85
+ "schemastery": "3.18.0",
86
+ "reggol": "1.7.1"
87
+ },
88
+ "elementspanel": {
89
+ "side": "panel",
90
+ "plugins": {
91
+ "backup": "@elementspanel/epanel-plugin-backup",
92
+ "config": "@elementspanel/epanel-plugin-config",
93
+ "console": "@elementspanel/epanel-plugin-console",
94
+ "desktop": "@elementspanel/epanel-plugin-desktop",
95
+ "file": "@elementspanel/epanel-plugin-file",
96
+ "i18n": "@elementspanel/epanel-plugin-i18n",
97
+ "instance": "@elementspanel/epanel-plugin-instance",
98
+ "market": "@elementspanel/epanel-plugin-market",
99
+ "mod-manager": "@elementspanel/epanel-plugin-mod-manager",
100
+ "monitor": "@elementspanel/epanel-plugin-monitor",
101
+ "node": "@elementspanel/epanel-plugin-node",
102
+ "runtime": "@elementspanel/epanel-plugin-runtime",
103
+ "server": "@elementspanel/epanel-plugin-server",
104
+ "storage": "@elementspanel/epanel-plugin-storage",
105
+ "terminal": "@elementspanel/epanel-plugin-terminal",
106
+ "user": "@elementspanel/epanel-plugin-user"
107
+ }
108
+ }
109
+ }
@@ -0,0 +1,2 @@
1
+ import{t as g}from"./i18n-e810b9fa.js";import{a1 as $,aY as z,b0 as E,a9 as W,bz as k,b5 as M,aE as d,O as i,ba as s,bJ as a,gz as X,Y,aL as f,$ as b,gA as j,gB as q,gC as _,_ as x,bP as B,P as m,aq as F,bM as I,bO as J,gD as U,N as n}from"./vue-6b52a630.js";const K=$({inheritAttrs:!1,__name:"AppDialog",props:{modelValue:{type:Boolean,default:void 0},open:{type:Boolean,default:void 0},visible:{type:Boolean,default:void 0},title:{},width:{},maxWidth:{},footer:{},closable:{type:Boolean,default:!0},maskClosable:{type:Boolean,default:!0},keyboard:{type:Boolean,default:!0},destroyOnClose:{type:Boolean,default:!1},confirmLoading:{type:Boolean,default:!1},okText:{},cancelText:{},showCancel:{type:Boolean,default:!0},okColor:{},okType:{},okButtonProps:{},compact:{type:Boolean},wrapClassName:{},style:{}},emits:["update:modelValue","update:open","update:visible","ok","cancel","close","after-close"],setup(V,{emit:h}){const e=V,o=h,y=z(),w=E(),r=k(!1),p=W(),v=t=>Object.prototype.hasOwnProperty.call((p==null?void 0:p.vnode.props)??{},t),C=n(()=>v("open")?e.open??!1:v("visible")?e.visible??!1:e.modelValue??!1),u=k(!e.destroyOnClose||C.value);M(C,t=>{r.value=t,t&&(u.value=!0)},{immediate:!0});const c=n({get:()=>r.value,set:t=>{const l=r.value;r.value=t,o("update:modelValue",t),o("update:open",t),o("update:visible",t),l&&!t&&(o("cancel"),o("close"))}}),O=n(()=>{var l;const t=e.maxWidth??e.width;return t==null?e.compact?"460px":"1120px":(l=e.wrapClassName)!=null&&l.split(/\s+/).includes("full-modal")?t:typeof t=="number"?`${t}px`:t}),T=n(()=>[y.style,e.style]),A=n(()=>e.footer!==null&&e.footer!==!1),P=n(()=>{const t={...e.okButtonProps??{}};return delete t.danger,{...t,color:e.okColor??(e.okType==="danger"?"error":"primary")}}),D=()=>{c.value=!1},N=()=>{o("ok")},S=()=>{e.destroyOnClose&&(u.value=!1),o("after-close")};return(t,l)=>(d(),i(a(U),{modelValue:c.value,"onUpdate:modelValue":l[0]||(l[0]=L=>c.value=L),class:I(["app-dialog",[a(y).class,e.wrapClassName]]),style:J(T.value),"max-width":O.value,persistent:e.maskClosable===!1,"close-on-back":e.keyboard!==!1,onAfterLeave:S},{default:s(()=>[u.value?(d(),i(a(X),{key:0,title:e.title||void 0,class:"app-dialog-card",rounded:"xl"},Y({default:s(()=>[b(a(j),{class:"app-dialog-content"},{default:s(()=>[f(t.$slots,"default")]),_:3}),A.value?(d(),i(a(q),{key:0,class:"app-dialog-actions"},{default:s(()=>[f(t.$slots,"footer",{},()=>[e.showCancel?(d(),i(a(_),{key:0,variant:"text",onClick:D},{default:s(()=>[x(B(e.cancelText??a(g)("TXT_CODE_a0451c97")),1)]),_:1})):m("",!0),b(a(_),F(P.value,{loading:e.confirmLoading,onClick:N}),{default:s(()=>[x(B(e.okText??a(g)("TXT_CODE_d507abff")),1)]),_:1},16,["loading"])])]),_:3})):m("",!0)]),_:2},[a(w).title?{name:"title",fn:s(()=>[f(t.$slots,"title")]),key:"0"}:void 0]),1032,["title"])):m("",!0)]),_:3},8,["modelValue","class","style","max-width","persistent","close-on-back"]))}});export{K as _};
2
+ //# sourceMappingURL=AppDialog.vue_vue_type_style_index_0_lang-e6e38e8b.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppDialog.vue_vue_type_style_index_0_lang-e6e38e8b.js","sources":["../../../../plugins/console/panel/src/components/AppDialog.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { t } from \"@/lang/i18n\";\nimport { computed, getCurrentInstance, ref, useAttrs, useSlots, watch } from \"vue\";\nimport {\n VBtn,\n VCard,\n VCardActions,\n VCardText,\n VDialog\n} from \"vuetify/components\";\n\ndefineOptions({ inheritAttrs: false });\n\ninterface Props {\n modelValue?: boolean;\n open?: boolean;\n visible?: boolean;\n title?: string | null;\n width?: string | number;\n maxWidth?: string | number;\n footer?: unknown;\n closable?: boolean;\n maskClosable?: boolean;\n keyboard?: boolean;\n destroyOnClose?: boolean;\n confirmLoading?: boolean;\n okText?: string;\n cancelText?: string;\n showCancel?: boolean;\n okColor?: string;\n okType?: string;\n okButtonProps?: Record<string, unknown>;\n compact?: boolean;\n wrapClassName?: string;\n style?: string | Record<string, string | number>;\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n // Explicit undefined defaults prevent Vue's Boolean prop casting from\n // turning omitted channels into `false` and masking the active v-model.\n modelValue: undefined,\n open: undefined,\n visible: undefined,\n closable: true,\n maskClosable: true,\n keyboard: true,\n destroyOnClose: false,\n confirmLoading: false,\n showCancel: true\n});\n\nconst emit = defineEmits<{\n \"update:modelValue\": [value: boolean];\n \"update:open\": [value: boolean];\n \"update:visible\": [value: boolean];\n ok: [];\n cancel: [];\n close: [];\n \"after-close\": [];\n}>();\n\nconst attrs = useAttrs();\nconst slots = useSlots();\nconst localOpen = ref(false);\nconst instance = getCurrentInstance();\n\n// Boolean props are cast to `false` when omitted. Inspect the vnode to tell\n// which v-model channel the caller supplied, so an omitted `open` prop cannot\n// mask a `modelValue` controlled by the parent.\nconst hasVnodeProp = (name: string) =>\n Object.prototype.hasOwnProperty.call(instance?.vnode.props ?? {}, name);\n\nconst sourceOpen = computed(() => {\n if (hasVnodeProp(\"open\")) return props.open ?? false;\n if (hasVnodeProp(\"visible\")) return props.visible ?? false;\n return props.modelValue ?? false;\n});\nconst renderCard = ref(!props.destroyOnClose || sourceOpen.value);\n\nwatch(\n sourceOpen,\n (value) => {\n localOpen.value = value;\n if (value) renderCard.value = true;\n },\n { immediate: true }\n);\n\nconst isOpen = computed({\n get: () => localOpen.value,\n set: (value: boolean) => {\n const wasOpen = localOpen.value;\n localOpen.value = value;\n emit(\"update:modelValue\", value);\n emit(\"update:open\", value);\n emit(\"update:visible\", value);\n if (wasOpen && !value) {\n emit(\"cancel\");\n emit(\"close\");\n }\n }\n});\n\n// Vuetify already sizes and centers every dialog at `calc(100% - 48px)`, so a\n// dialog only needs a ceiling. Declaring `width` as well would replace that\n// viewport gap and force callers to clamp against `100vw` themselves.\nconst dialogMaxWidth = computed(() => {\n const width = props.maxWidth ?? props.width;\n if (width == null) return props.compact ? \"460px\" : \"1120px\";\n if (props.wrapClassName?.split(/\\s+/).includes(\"full-modal\")) return width;\n return typeof width === \"number\" ? `${width}px` : width;\n});\nconst dialogStyle = computed(() => [attrs.style as any, props.style] as any);\n\nconst showFooter = computed(() => props.footer !== null && props.footer !== false);\nconst okButtonAttrs = computed(() => {\n const buttonProps = { ...(props.okButtonProps ?? {}) };\n delete buttonProps.danger;\n return {\n ...buttonProps,\n color: props.okColor ?? (props.okType === \"danger\" ? \"error\" : \"primary\")\n };\n});\n\nconst close = () => {\n isOpen.value = false;\n};\n\nconst confirm = () => {\n emit(\"ok\");\n};\n\nconst afterLeave = () => {\n if (props.destroyOnClose) renderCard.value = false;\n emit(\"after-close\");\n};\n</script>\n\n<template>\n <VDialog v-model=\"isOpen\" class=\"app-dialog\" :class=\"[attrs.class, props.wrapClassName]\" :style=\"dialogStyle\"\n :max-width=\"dialogMaxWidth\" :persistent=\"props.maskClosable === false\"\n :close-on-back=\"props.keyboard !== false\" @after-leave=\"afterLeave\">\n <VCard v-if=\"renderCard\" :title=\"props.title || undefined\" class=\"app-dialog-card\" rounded=\"xl\">\n <template v-if=\"slots.title\" #title>\n <slot name=\"title\" />\n </template>\n\n <VCardText class=\"app-dialog-content\">\n <slot />\n </VCardText>\n\n <VCardActions v-if=\"showFooter\" class=\"app-dialog-actions\">\n <slot name=\"footer\">\n <VBtn v-if=\"props.showCancel\" variant=\"text\" @click=\"close\">\n {{ props.cancelText ?? t(\"TXT_CODE_a0451c97\") }}\n </VBtn>\n <VBtn v-bind=\"okButtonAttrs\" :loading=\"props.confirmLoading\" @click=\"confirm\">\n {{ props.okText ?? t(\"TXT_CODE_d507abff\") }}\n </VBtn>\n </slot>\n </VCardActions>\n </VCard>\n </VDialog>\n</template>\n\n<style lang=\"scss\">\n.app-dialog-card {\n max-width: 100%;\n overflow: hidden;\n}\n\n.app-dialog-actions {\n justify-content: flex-end;\n gap: 8px;\n}\n</style>\n"],"names":["props","__props","emit","__emit","attrs","useAttrs","slots","useSlots","localOpen","ref","instance","getCurrentInstance","hasVnodeProp","name","sourceOpen","computed","renderCard","watch","value","isOpen","wasOpen","dialogMaxWidth","width","_a","dialogStyle","showFooter","okButtonAttrs","buttonProps","close","confirm","afterLeave","_createBlock","_unref","VDialog","$event","_normalizeClass","VCard","_createVNode","VCardText","_renderSlot","_ctx","VCardActions","VBtn","t","_mergeProps"],"mappings":"u5BAqCA,MAAMA,EAAQC,EAcRC,EAAOC,EAUPC,EAAQC,IACRC,EAAQC,IACRC,EAAYC,EAAI,EAAK,EACrBC,EAAWC,IAKXC,EAAgBC,GACpB,OAAO,UAAU,eAAe,MAAKH,GAAA,YAAAA,EAAU,MAAM,QAAS,CAAC,EAAGG,CAAI,EAElEC,EAAaC,EAAS,IACtBH,EAAa,MAAM,EAAUZ,EAAM,MAAQ,GAC3CY,EAAa,SAAS,EAAUZ,EAAM,SAAW,GAC9CA,EAAM,YAAc,EAC5B,EACKgB,EAAaP,EAAI,CAACT,EAAM,gBAAkBc,EAAW,KAAK,EAEhEG,EACEH,EACCI,GAAU,CACTV,EAAU,MAAQU,EACdA,IAAOF,EAAW,MAAQ,GAChC,EACA,CAAE,UAAW,EAAK,CAAA,EAGpB,MAAMG,EAASJ,EAAS,CACtB,IAAK,IAAMP,EAAU,MACrB,IAAMU,GAAmB,CACvB,MAAME,EAAUZ,EAAU,MAC1BA,EAAU,MAAQU,EAClBhB,EAAK,oBAAqBgB,CAAK,EAC/BhB,EAAK,cAAegB,CAAK,EACzBhB,EAAK,iBAAkBgB,CAAK,EACxBE,GAAW,CAACF,IACdhB,EAAK,QAAQ,EACbA,EAAK,OAAO,EAEhB,CAAA,CACD,EAKKmB,EAAiBN,EAAS,IAAM,OAC9B,MAAAO,EAAQtB,EAAM,UAAYA,EAAM,MACtC,OAAIsB,GAAS,KAAatB,EAAM,QAAU,QAAU,UAChDuB,EAAAvB,EAAM,gBAAN,MAAAuB,EAAqB,MAAM,OAAO,SAAS,cAAsBD,EAC9D,OAAOA,GAAU,SAAW,GAAGA,CAAK,KAAOA,CAAA,CACnD,EACKE,EAAcT,EAAS,IAAM,CAACX,EAAM,MAAcJ,EAAM,KAAK,CAAQ,EAErEyB,EAAaV,EAAS,IAAMf,EAAM,SAAW,MAAQA,EAAM,SAAW,EAAK,EAC3E0B,EAAgBX,EAAS,IAAM,CACnC,MAAMY,EAAc,CAAE,GAAI3B,EAAM,eAAiB,CAAI,CAAA,EACrD,cAAO2B,EAAY,OACZ,CACL,GAAGA,EACH,MAAO3B,EAAM,UAAYA,EAAM,SAAW,SAAW,QAAU,UAAA,CACjE,CACD,EAEK4B,EAAQ,IAAM,CAClBT,EAAO,MAAQ,EAAA,EAGXU,EAAU,IAAM,CACpB3B,EAAK,IAAI,CAAA,EAGL4B,EAAa,IAAM,CACnB9B,EAAM,iBAAgBgB,EAAW,MAAQ,IAC7Cd,EAAK,aAAa,CAAA,oBAKlB6B,EAuBUC,EAAAC,CAAA,EAAA,YAvBQd,EAAM,2CAANA,EAAM,MAAAe,GAAE,MAAKC,EAAA,CAAC,aAAsB,CAAAH,EAAA5B,CAAA,EAAM,MAAOJ,EAAM,aAAa,CAAA,CAAA,EAAI,QAAOwB,EAAW,KAAA,EACzG,YAAWH,EAAc,MAAG,WAAYrB,EAAM,eAAY,GAC1D,gBAAeA,EAAM,WAAQ,GAAa,aAAa8B,CAAA,aACxD,IAmBQ,CAnBKd,EAAU,WAAvBe,EAmBQC,EAAAI,CAAA,EAAA,OAnBkB,MAAOpC,EAAM,OAAS,OAAW,MAAM,kBAAkB,QAAQ,mBAKzF,IAEY,CAFZqC,EAEYL,EAAAM,CAAA,EAAA,CAFD,MAAM,sBAAoB,WACnC,IAAQ,CAARC,EAAQC,EAAA,OAAA,SAAA,CAAA,SAGUf,EAAU,WAA9BM,EASeC,EAAAS,CAAA,EAAA,OATiB,MAAM,oBAAA,aACpC,IAOO,CAPPF,EAOOC,qBAPP,IAOO,CANOxC,EAAM,gBAAlB+B,EAEOC,EAAAU,CAAA,EAAA,OAFuB,QAAQ,OAAQ,QAAOd,CAAA,aACnD,IAAgD,KAA7C5B,EAAM,YAAcgC,EAACW,CAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,CAAA,mBAE1BN,EAEOL,EAAAU,CAAA,EAFPE,EAEOlB,EAFoB,MAAA,CAAG,QAAS1B,EAAM,eAAiB,QAAO6B,CAAA,cACnE,IAA4C,KAAzC7B,EAAM,QAAUgC,EAACW,CAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,CAAA,oDAdVX,EAAA1B,CAAA,EAAM,YAAQ,aAC5B,IAAqB,CAArBiC,EAAqBC,EAAA,OAAA,OAAA,CAAA"}
@@ -0,0 +1,2 @@
1
+ import{a1 as d,aE as s,Q as l,R as e,aL as t,P as r,bM as c}from"./vue-6b52a630.js";import{_ as i}from"./_plugin-vue_export-helper-c27b6911.js";const p={key:0,class:"card-panel-title"},_={class:"card-panel-heading"},u={class:"card-panel-content"},m=d({__name:"CardPanel",props:{fullHeight:{type:Boolean,default:!0},padding:{type:Boolean,default:!0}},setup(n){const o=n;return(a,v)=>(s(),l("div",{class:c({"card-panel":!0,"global-card-container-shadow":!0,"h-100":o.fullHeight,padding:o.padding})},[a.$slots.title?(s(),l("div",p,[e("div",null,[e("h3",_,[t(a.$slots,"title",{},void 0,!0)])]),e("div",null,[e("span",null,[t(a.$slots,"operator",{},void 0,!0)])])])):r("",!0),e("div",u,[t(a.$slots,"body",{},void 0,!0)])],2))}});const g=i(m,[["__scopeId","data-v-6ec10eda"]]);export{g as C};
2
+ //# sourceMappingURL=CardPanel-59b7da2e.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CardPanel-59b7da2e.js","sources":["../../../../plugins/console/panel/src/components/CardPanel.vue"],"sourcesContent":["<script setup lang=\"ts\">\nconst props = defineProps({\n fullHeight: {\n type: Boolean,\n default: true\n },\n padding: {\n type: Boolean,\n default: true\n }\n});\n</script>\n\n<template>\n <div\n :class=\"{\n 'card-panel': true,\n 'global-card-container-shadow': true,\n 'h-100': props.fullHeight,\n padding: props.padding\n }\"\n >\n <div v-if=\"$slots.title\" class=\"card-panel-title\">\n <div>\n <h3 class=\"card-panel-heading\">\n <slot name=\"title\"></slot>\n </h3>\n </div>\n <div>\n <span>\n <slot name=\"operator\"></slot>\n </span>\n </div>\n </div>\n <div class=\"card-panel-content\">\n <slot name=\"body\"></slot>\n </div>\n </div>\n</template>\n\n<style lang=\"scss\" scoped>\n@import \"@/assets/global.scss\";\n\n.padding {\n padding: 16px;\n}\n\n.card-panel {\n border: none;\n background-color: var(--background-color-white);\n display: flex;\n flex-direction: column;\n position: relative;\n\n .card-panel-title {\n font-weight: 600;\n color: var(--text-color);\n\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-top: 0;\n margin-bottom: 8px;\n }\n\n .card-panel-heading {\n margin: 0;\n font-size: 1rem;\n line-height: 1.5;\n }\n .card-panel-content {\n flex-grow: 1;\n color: var(--text-color);\n position: relative;\n }\n}\n\n.card-panel-content {\n overflow: hidden;\n zoom: 1;\n word-break: break-all;\n}\n</style>\n"],"names":["props","__props","_createElementBlock","_normalizeClass","$slots","_openBlock","_hoisted_1","_createElementVNode","_hoisted_2","_renderSlot","_ctx","_hoisted_3"],"mappings":"uWACA,MAAMA,EAAQC,oBAaZC,EAuBM,MAAA,CAtBH,MAAKC,EAAA,mDAAyF,QAAAH,EAAM,WAA2B,QAAAA,EAAM,OAAA,KAO3HI,EAAAA,OAAO,OAAlBC,EAAA,EAAAH,EAWM,MAXNI,EAWM,CAVJC,EAIM,MAAA,KAAA,CAHJA,EAEK,KAFLC,EAEK,CADHC,EAA0BC,EAAA,OAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,KAG9BH,EAIM,MAAA,KAAA,CAHJA,EAEO,OAAA,KAAA,CADLE,EAA6BC,EAAA,OAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAInCH,EAEM,MAFNI,EAEM,CADJF,EAAyBC,EAAA,OAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA"}
@@ -0,0 +1,2 @@
1
+ import{a1 as V,b0 as D,ay as M,aC as C,aE as n,O as b,$ as E,ba as d,aO as _,aq as I,w as N,t as S,Y as L,bJ as p,aL as r,R as y,bM as A,Q as T,P as k,T as q,A as F,N as u,bz as z}from"./vue-6b52a630.js";import{c as H}from"./context-cc90576e.js";import{_ as K}from"./_plugin-vue_export-helper-c27b6911.js";const O={class:"desktop-dialog__content"},P={key:0,class:"desktop-dialog__footer"};let W=0;const J=V({inheritAttrs:!1,__name:"DesktopDialog",props:{modelValue:{type:Boolean},id:{},title:{},icon:{},width:{default:420},height:{default:485},zIndex:{default:10001},resizable:{type:Boolean,default:!1},closable:{type:Boolean,default:!0},keyboard:{type:Boolean,default:!0},padded:{type:Boolean,default:!0},scrollable:{type:Boolean,default:!0},transition:{default:"desktop-window"}},emits:["update:modelValue","close","focus","after-leave"],setup(e,{expose:x,emit:$}){const i=e,l=$,c=D(),h=u(()=>H.desktop.window),B=++W,m=u(()=>i.id||`desktop-dialog-${B}`),f=z(),o=z({width:window.innerWidth,height:window.innerHeight}),w=()=>{o.value={width:window.innerWidth,height:window.innerHeight}},s=u(()=>({width:Math.min(Number.parseFloat(String(i.width))||420,Math.max(1,o.value.width-32)),height:Math.min(i.height,Math.max(1,o.value.height-80))}));M(()=>window.addEventListener("resize",w)),C(()=>window.removeEventListener("resize",w));const v=()=>{!i.modelValue||!i.closable||(l("close"),l("update:modelValue",!1))};return x({getElement:()=>{var t;return(t=f.value)==null?void 0:t.$el}}),(t,a)=>(n(),b(F,{to:"body"},[E(q,{name:e.transition,onAfterLeave:a[2]||(a[2]=g=>l("after-leave"))},{default:d(()=>[e.modelValue&&h.value?(n(),b(_(h.value),I({key:0,id:m.value,ref_key:"dialogElement",ref:f},t.$attrs,{class:"desktop-dialog",title:e.title||"",icon:e.icon,visible:!0,minimized:!1,maximized:!1,active:!0,"initial-width":s.value.width,"initial-height":s.value.height,"initial-x":(o.value.width-s.value.width)/2,"initial-y":Math.max(16,(o.value.height-48-s.value.height)/2),"z-index":e.zIndex,"show-minimize":!1,"show-maximize":!1,"show-close":e.closable,resizable:e.resizable,role:"dialog","aria-labelledby":`${m.value}-title`,tabindex:"-1",onFocus:a[0]||(a[0]=g=>l("focus")),onClose:v,onKeydown:a[1]||(a[1]=N(S(g=>e.keyboard&&v(),["stop"]),["esc"]))}),L({default:d(()=>[y("div",O,[y("div",{class:A(["desktop-dialog__body",{"desktop-dialog__body--unpadded":!e.padded,"desktop-dialog__body--contained":!e.scrollable}])},[r(t.$slots,"default",{},void 0,!0)],2),p(c).footer?(n(),T("div",P,[r(t.$slots,"footer",{},void 0,!0)])):k("",!0)])]),_:2},[p(c).title?{name:"title",fn:d(()=>[r(t.$slots,"title",{},void 0,!0)]),key:"0"}:void 0]),1040,["id","title","icon","initial-width","initial-height","initial-x","initial-y","z-index","show-close","resizable","aria-labelledby"])):k("",!0)]),_:3},8,["name"])]))}});const Y=K(J,[["__scopeId","data-v-4acaacbc"]]);export{Y as D};
2
+ //# sourceMappingURL=DesktopDialog-e4041e4e.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DesktopDialog-e4041e4e.js","sources":["../../../../plugins/console/panel/src/components/DesktopDialog.vue"],"sourcesContent":["<script lang=\"ts\">\nlet dialogSequence = 0;\n</script>\n\n<script setup lang=\"ts\">\nimport { ctx } from \"@/plugin/context\";\nimport { computed, onMounted, onUnmounted, ref, useSlots, type Component } from \"vue\";\n\ndefineOptions({ inheritAttrs: false });\n\nconst props = withDefaults(defineProps<{\n modelValue: boolean;\n id?: string;\n title?: string | null;\n icon?: string | Component;\n width?: number | string;\n height?: number;\n zIndex?: number;\n resizable?: boolean;\n closable?: boolean;\n keyboard?: boolean;\n padded?: boolean;\n scrollable?: boolean;\n transition?: string;\n}>(), {\n width: 420,\n height: 485,\n zIndex: 10001,\n resizable: false,\n closable: true,\n keyboard: true,\n padded: true,\n scrollable: true,\n transition: \"desktop-window\"\n});\n\nconst emit = defineEmits<{\n \"update:modelValue\": [value: boolean];\n close: [];\n focus: [];\n \"after-leave\": [];\n}>();\nconst slots = useSlots();\nconst shell = computed(() => ctx.desktop.window);\nconst instanceId = ++dialogSequence;\nconst windowId = computed(() => props.id || `desktop-dialog-${instanceId}`);\nconst dialogElement = ref<{ $el: HTMLElement }>();\nconst viewport = ref({ width: window.innerWidth, height: window.innerHeight });\nconst updateViewport = () => {\n viewport.value = { width: window.innerWidth, height: window.innerHeight };\n};\nconst size = computed(() => ({\n width: Math.min(Number.parseFloat(String(props.width)) || 420, Math.max(1, viewport.value.width - 32)),\n height: Math.min(props.height, Math.max(1, viewport.value.height - 80))\n}));\nonMounted(() => window.addEventListener(\"resize\", updateViewport));\nonUnmounted(() => window.removeEventListener(\"resize\", updateViewport));\n\nconst close = () => {\n if (!props.modelValue || !props.closable) return;\n emit(\"close\");\n emit(\"update:modelValue\", false);\n};\n\ndefineExpose({ getElement: () => dialogElement.value?.$el });\n</script>\n\n<template>\n <Teleport to=\"body\">\n <Transition :name=\"transition\" @after-leave=\"emit('after-leave')\">\n <component\n :is=\"shell\"\n v-if=\"modelValue && shell\"\n :id=\"windowId\"\n ref=\"dialogElement\"\n v-bind=\"$attrs\"\n class=\"desktop-dialog\"\n :title=\"title || ''\"\n :icon=\"icon\"\n :visible=\"true\"\n :minimized=\"false\"\n :maximized=\"false\"\n :active=\"true\"\n :initial-width=\"size.width\"\n :initial-height=\"size.height\"\n :initial-x=\"(viewport.width - size.width) / 2\"\n :initial-y=\"Math.max(16, (viewport.height - 48 - size.height) / 2)\"\n :z-index=\"zIndex\"\n :show-minimize=\"false\"\n :show-maximize=\"false\"\n :show-close=\"closable\"\n :resizable=\"resizable\"\n role=\"dialog\"\n :aria-labelledby=\"`${windowId}-title`\"\n tabindex=\"-1\"\n @focus=\"emit('focus')\"\n @close=\"close\"\n @keydown.esc.stop=\"keyboard && close()\"\n >\n <template v-if=\"slots.title\" #title><slot name=\"title\" /></template>\n <div class=\"desktop-dialog__content\">\n <div\n class=\"desktop-dialog__body\"\n :class=\"{\n 'desktop-dialog__body--unpadded': !padded,\n 'desktop-dialog__body--contained': !scrollable\n }\"\n ><slot /></div>\n <div v-if=\"slots.footer\" class=\"desktop-dialog__footer\"><slot name=\"footer\" /></div>\n </div>\n </component>\n </Transition>\n </Teleport>\n</template>\n\n<style lang=\"scss\" scoped>\n.desktop-dialog__content {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n overflow: hidden;\n}\n\n.desktop-dialog__body {\n flex: 1;\n min-width: 0;\n min-height: 0;\n overflow: auto;\n padding: 16px 20px;\n color: var(--desktop-window-text);\n\n &--unpadded { padding: 0; }\n &--contained {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n}\n\n.desktop-dialog__footer {\n display: flex;\n flex: 0 0 auto;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n gap: 8px;\n padding: 12px 20px;\n}\n</style>\n"],"names":["dialogSequence","props","__props","emit","__emit","slots","useSlots","shell","computed","ctx","instanceId","windowId","dialogElement","ref","viewport","updateViewport","size","onMounted","onUnmounted","close","__expose","_a","_createBlock","_Teleport","_createVNode","_Transition","_resolveDynamicComponent","_mergeProps","$attrs","_cache","_withKeys","_withModifiers","$event","_createElementVNode","_hoisted_1","_renderSlot","_ctx","_unref","_openBlock","_createElementBlock","_hoisted_2"],"mappings":"qYACA,IAAIA,EAAiB,wdASrB,MAAMC,EAAQC,EA0BRC,EAAOC,EAMPC,EAAQC,IACRC,EAAQC,EAAS,IAAMC,EAAI,QAAQ,MAAM,EACzCC,EAAa,EAAEV,EACfW,EAAWH,EAAS,IAAMP,EAAM,IAAM,kBAAkBS,CAAU,EAAE,EACpEE,EAAgBC,IAChBC,EAAWD,EAAI,CAAE,MAAO,OAAO,WAAY,OAAQ,OAAO,WAAA,CAAa,EACvEE,EAAiB,IAAM,CAC3BD,EAAS,MAAQ,CAAE,MAAO,OAAO,WAAY,OAAQ,OAAO,YAAY,EAEpEE,EAAOR,EAAS,KAAO,CAC3B,MAAO,KAAK,IAAI,OAAO,WAAW,OAAOP,EAAM,KAAK,CAAC,GAAK,IAAK,KAAK,IAAI,EAAGa,EAAS,MAAM,MAAQ,EAAE,CAAC,EACrG,OAAQ,KAAK,IAAIb,EAAM,OAAQ,KAAK,IAAI,EAAGa,EAAS,MAAM,OAAS,EAAE,CAAC,CACtE,EAAA,EACFG,EAAU,IAAM,OAAO,iBAAiB,SAAUF,CAAc,CAAC,EACjEG,EAAY,IAAM,OAAO,oBAAoB,SAAUH,CAAc,CAAC,EAEtE,MAAMI,EAAQ,IAAM,CACd,CAAClB,EAAM,YAAc,CAACA,EAAM,WAChCE,EAAK,OAAO,EACZA,EAAK,oBAAqB,EAAK,EAAA,EAGjC,OAAAiB,EAAa,CAAE,WAAY,IAAA,OAAM,OAAAC,EAAAT,EAAc,QAAd,YAAAS,EAAqB,KAAK,YAIzD,EAAAC,EA4CWC,EAAA,CA5CD,GAAG,QAAM,CACjBC,EA0CaC,EAAA,CA1CA,KAAMvB,EAAU,WAAG,4BAAaC,EAAI,aAAA,EAAA,aAC/C,IAwCY,CAtCJD,EAAA,YAAcK,EAAK,WAF3Be,EAwCYI,EAvCLnB,EAAK,KAAA,EADZoB,EAwCY,OArCT,GAAIhB,EAAQ,cACT,gBAAJ,IAAIC,CAAA,EACIgB,EAAM,OAAA,CACd,MAAM,iBACL,MAAO1B,EAAK,OAAA,GACZ,KAAMA,EAAI,KACV,QAAS,GACT,UAAW,GACX,UAAW,GACX,OAAQ,GACR,gBAAec,EAAI,MAAC,MACpB,iBAAgBA,EAAI,MAAC,OACrB,aAAYF,EAAQ,MAAC,MAAQE,EAAA,MAAK,OAAK,EACvC,YAAW,KAAK,IAAG,IAAMF,EAAQ,MAAC,OAAM,GAAQE,EAAI,MAAC,QAAM,CAAA,EAC3D,UAASd,EAAM,OACf,gBAAe,GACf,gBAAe,GACf,aAAYA,EAAQ,SACpB,UAAWA,EAAS,UACrB,KAAK,SACJ,qBAAoBS,EAAQ,KAAA,SAC7B,SAAS,KACR,uBAAOR,EAAI,OAAA,GACX,QAAOgB,EACP,UAAOU,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,EAAAC,EAAAC,GAAW9B,EAAQ,UAAIiB,IAAK,CAAA,MAAA,CAAA,EAAA,CAAA,KAAA,CAAA,kBAGpC,IASM,CATNc,EASM,MATNC,EASM,CARJD,EAMe,MAAA,CALb,SAAM,uBAAsB,mCAC+B/B,EAAM,0CAAoDA,EAAU,UAAA,MAIhIiC,EAAQC,EAAA,OAAA,UAAA,CAAA,EAAA,OAAA,EAAA,MACEC,EAAAhC,CAAA,EAAM,QAAjBiC,IAAAC,EAAoF,MAApFC,EAAoF,CAA5BL,EAAsBC,EAAA,OAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,uBAThEC,EAAAhC,CAAA,EAAM,YAAQ,aAAM,IAAqB,CAArB8B,EAAqBC,EAAA,OAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA"}
@@ -0,0 +1,2 @@
1
+ import{u as i}from"./context-cc90576e.js";import{a1 as a,aM as c,aE as u,Q as l,$ as f,N as p}from"./vue-6b52a630.js";function L(e){return e.filter((n,t)=>typeof n.condition=="function"?n.condition(t):!0)}function P(e,n){if(!n)return Array.from(new Set(e));const t=new Map;return e.filter(r=>!t.has(r[n])&&t.set(r[n],r))}function d(){const e=i("instance");if(!e)throw new Error('Panel frontend plugin "instance" is not loaded.');return e.api}const o=e=>(...n)=>d()[e](...n),h=o("imageList"),y=o("getNetworkModeList"),z=o("containerList"),S=o("buildProgress"),m={class:"flex align-center justify-center h-100 w-100"},k=a({__name:"Loading",props:{fontSize:{}},setup(e){const n=e,t=p(()=>n.fontSize??48);return(r,g)=>{const s=c("VProgressCircular");return u(),l("div",m,[f(s,{indeterminate:"",size:t.value},null,8,["size"])])}}});export{k as _,L as a,S as b,z as c,P as d,y as g,h as i};
2
+ //# sourceMappingURL=Loading.vue_vue_type_script_setup_true_lang-1b74dd54.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Loading.vue_vue_type_script_setup_true_lang-1b74dd54.js","sources":["../../../../plugins/console/panel/src/tools/array.ts","../../../../plugins/console/panel/src/services/apis/envImage.ts","../../../../plugins/console/panel/src/components/Loading.vue"],"sourcesContent":["/* eslint-disable no-unused-vars */\n\nexport interface ConditionFilterItem {\n condition?: (index?: number) => boolean;\n}\n\nexport function arrayFilter<T>(arr: (T & ConditionFilterItem)[]): T[] {\n return arr.filter((item, index) => {\n if (typeof item.condition === \"function\") {\n return item.condition(index);\n } else {\n return true;\n }\n });\n}\n\nexport function arrayUnique<T>(arr: T[], felidName?: string): T[] {\n if (!felidName) return Array.from(new Set(arr));\n const map = new Map();\n return arr.filter((v: any) => !map.has(v[felidName]) && map.set(v[felidName], v));\n}\n","import { usePluginService } from \"@/plugin/context\";\nimport type * as InstanceApi from \"@instance/api\";\n\ntype EnvironmentApi = Pick<\n typeof InstanceApi,\n | \"imageList\"\n | \"getNetworkModeList\"\n | \"containerList\"\n | \"buildProgress\"\n | \"getImagePlatforms\"\n | \"getDockerHubImagePlatforms\"\n>;\n\nfunction resolveEnvironmentApi(): EnvironmentApi {\n const instance = usePluginService<{ api: EnvironmentApi }>(\"instance\");\n if (!instance) {\n throw new Error('Panel frontend plugin \"instance\" is not loaded.');\n }\n return instance.api;\n}\n\nconst call = <K extends keyof EnvironmentApi>(name: K) =>\n ((...args: any[]) => (resolveEnvironmentApi()[name] as any)(...args)) as EnvironmentApi[K];\n\nexport const imageList = call(\"imageList\");\nexport const getNetworkModeList = call(\"getNetworkModeList\");\nexport const containerList = call(\"containerList\");\nexport const buildProgress = call(\"buildProgress\");\nexport const getImagePlatforms = call(\"getImagePlatforms\");\nexport const getDockerHubImagePlatforms = call(\"getDockerHubImagePlatforms\");\n","<script setup lang=\"ts\">\nimport { computed } from \"vue\";\n\nconst props = defineProps<{ fontSize?: number }>();\n\nconst fontSize = computed(() => {\n return props.fontSize ?? 48;\n});\n\n</script>\n\n<template>\n <div class=\"flex align-center justify-center h-100 w-100\">\n <VProgressCircular indeterminate :size=\"fontSize\" />\n </div>\n</template>\n\n<style lang=\"scss\" scoped></style>\n"],"names":["arrayFilter","arr","item","index","arrayUnique","felidName","map","v","resolveEnvironmentApi","instance","usePluginService","call","name","args","imageList","getNetworkModeList","containerList","buildProgress","props","__props","fontSize","computed","_openBlock","_createElementBlock","_hoisted_1","_createVNode","_component_VProgressCircular"],"mappings":"sHAMO,SAASA,EAAeC,EAAuC,CACpE,OAAOA,EAAI,OAAO,CAACC,EAAMC,IACnB,OAAOD,EAAK,WAAc,WACrBA,EAAK,UAAUC,CAAK,EAEpB,EAEV,CACH,CAEgB,SAAAC,EAAeH,EAAUI,EAAyB,CAChE,GAAI,CAACA,EAAW,OAAO,MAAM,KAAK,IAAI,IAAIJ,CAAG,CAAC,EACxC,MAAAK,MAAU,IAChB,OAAOL,EAAI,OAAQM,GAAW,CAACD,EAAI,IAAIC,EAAEF,CAAS,CAAC,GAAKC,EAAI,IAAIC,EAAEF,CAAS,EAAGE,CAAC,CAAC,CAClF,CCPA,SAASC,GAAwC,CACzC,MAAAC,EAAWC,EAA0C,UAAU,EACrE,GAAI,CAACD,EACG,MAAA,IAAI,MAAM,iDAAiD,EAEnE,OAAOA,EAAS,GAClB,CAEA,MAAME,EAAwCC,GAC3C,IAAIC,IAAiBL,IAAwBI,CAAI,EAAU,GAAGC,CAAI,EAExDC,EAAYH,EAAK,WAAW,EAC5BI,EAAqBJ,EAAK,oBAAoB,EAC9CK,EAAgBL,EAAK,eAAe,EACpCM,EAAgBN,EAAK,eAAe,8GCxBjD,MAAMO,EAAQC,EAERC,EAAWC,EAAS,IACjBH,EAAM,UAAY,EAC1B,+CAKC,OAAAI,EAAA,EAAAC,EAEM,MAFNC,EAEM,CADJC,EAAoDC,EAAA,CAAjC,cAAA,GAAe,KAAMN,EAAQ"}
@@ -0,0 +1,2 @@
1
+ import{a1 as i,aE as r,O as c,ba as o,$ as s,bJ as e,gE as d,R as p,bP as u,gF as t,aL as n,P as _,gG as m}from"./vue-6b52a630.js";import{_ as f}from"./_plugin-vue_export-helper-c27b6911.js";const g=i({__name:"PageToolbar",props:{title:{},icon:{default:"mdi-view-dashboard-outline"}},setup(l){return(a,b)=>(r(),c(e(m),{class:"page-toolbar align-center",density:"comfortable"},{default:o(()=>[s(e(t),{cols:"12",md:a.$slots.search?3:4,class:"page-toolbar-title"},{default:o(()=>[s(e(d),{icon:l.icon,class:"page-toolbar-icon",size:"28"},null,8,["icon"]),p("span",null,u(l.title),1)]),_:1},8,["md"]),a.$slots.search?(r(),c(e(t),{key:0,cols:"12",md:"5",class:"page-toolbar-search"},{default:o(()=>[n(a.$slots,"search",{},void 0,!0)]),_:3})):_("",!0),s(e(t),{cols:"12",md:a.$slots.search?4:8,class:"page-toolbar-actions"},{default:o(()=>[n(a.$slots,"actions",{},void 0,!0)]),_:3},8,["md"])]),_:3}))}});const P=f(g,[["__scopeId","data-v-0f39a3e6"]]);export{P};
2
+ //# sourceMappingURL=PageToolbar-7130e13d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageToolbar-7130e13d.js","sources":["../../../../plugins/console/panel/src/components/PageToolbar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { VCol, VIcon, VRow } from \"vuetify/components\";\n\nwithDefaults(\n defineProps<{\n title: string;\n icon?: string;\n }>(),\n {\n icon: \"mdi-view-dashboard-outline\"\n }\n);\n</script>\n\n<template>\n <VRow class=\"page-toolbar align-center\" density=\"comfortable\">\n <VCol cols=\"12\" :md=\"$slots.search ? 3 : 4\" class=\"page-toolbar-title\">\n <VIcon :icon=\"icon\" class=\"page-toolbar-icon\" size=\"28\" />\n <span>{{ title }}</span>\n </VCol>\n <VCol v-if=\"$slots.search\" cols=\"12\" md=\"5\" class=\"page-toolbar-search\">\n <slot name=\"search\" />\n </VCol>\n <VCol cols=\"12\" :md=\"$slots.search ? 4 : 8\" class=\"page-toolbar-actions\">\n <slot name=\"actions\" />\n </VCol>\n </VRow>\n</template>\n\n<style lang=\"scss\" scoped>\n.page-toolbar {\n width: 100%;\n margin-bottom: 20px;\n}\n\n.page-toolbar > .v-col {\n min-width: 0;\n}\n\n.page-toolbar-title {\n display: flex;\n align-items: center;\n gap: 10px;\n color: var(--text-color);\n font-size: 20px;\n font-weight: 600;\n}\n\n.page-toolbar-icon {\n color: var(--text-color);\n}\n\n.page-toolbar-search,\n.page-toolbar-actions {\n display: flex;\n align-items: center;\n min-width: 0;\n color: var(--text-color);\n}\n\n.page-toolbar-search {\n justify-content: center;\n\n :deep(.v-field),\n :deep(.v-field__input),\n :deep(.v-field__input input),\n :deep(.v-select__selection-text) {\n color: var(--text-color) !important;\n }\n\n :deep(.v-field__input input)::placeholder,\n :deep(textarea)::placeholder {\n color: var(--text-color) !important;\n opacity: 0.55 !important;\n }\n}\n\n.page-toolbar-actions {\n justify-content: flex-end;\n flex-wrap: wrap;\n gap: 8px;\n}\n\n@media (max-width: 992px) {\n .page-toolbar-title {\n font-size: 18px;\n }\n\n .page-toolbar-search,\n .page-toolbar-actions {\n justify-content: flex-start;\n }\n}\n</style>\n"],"names":["_createBlock","_unref","VRow","_createVNode","VCol","$slots","VIcon","__props","_createElementVNode","_renderSlot","_ctx"],"mappings":"uTAeEA,EAWOC,EAAAC,CAAA,EAAA,CAXD,MAAM,4BAA4B,QAAQ,aAAA,aAC9C,IAGO,CAHPC,EAGOF,EAAAG,CAAA,EAAA,CAHD,KAAK,KAAM,GAAIC,EAAM,OAAC,OAAM,EAAA,EAAU,MAAM,oBAAA,aAChD,IAA0D,CAA1DF,EAA0DF,EAAAK,CAAA,EAAA,CAAlD,KAAMC,EAAI,KAAE,MAAM,oBAAoB,KAAK,uBACnDC,EAAwB,cAAfD,EAAK,KAAA,EAAA,CAAA,CAAA,kBAEJF,EAAAA,OAAO,YAAnBL,EAEOC,EAAAG,CAAA,EAAA,OAFoB,KAAK,KAAK,GAAG,IAAI,MAAM,qBAAA,aAChD,IAAsB,CAAtBK,EAAsBC,EAAA,OAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAExBP,EAEOF,EAAAG,CAAA,EAAA,CAFD,KAAK,KAAM,GAAIC,EAAM,OAAC,OAAM,EAAA,EAAU,MAAM,sBAAA,aAChD,IAAuB,CAAvBI,EAAuBC,EAAA,OAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA"}
@@ -0,0 +1,2 @@
1
+ import{C as r,b as i,E as t,F as c,I as l,e as p,L as S,M as n,c as f,d as m,a as b,f as g,S as C,T as y,g as j,h as v,i as d,j as h,k as x,l as E,m as L,n as T,s as k,w as u,a as w}from"./_elements-sdk_cordis-e3bebc89.js";import"./_elements-sdk_cosmokit-e4842f5c.js";import"./htmlparser2-bcb8f9db.js";export{r as Context,i as CordisError,t as EffectScope,c as ForkScope,l as Inject,p as Lifecycle,S as Logger,n as MainScope,f as ReflectService,m as Registry,b as Schema,g as ScopeStatus,C as Service,y as TimerService,j as createCallable,v as getTraceable,d as isBailed,h as isConstructor,x as isObject,E as isUnproxyable,L as joinPrototype,T as resolveConfig,k as symbols,u as withProps,w as z};
2
+ //# sourceMappingURL=_elements-sdk_cordis-b0b88a2c.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_elements-sdk_cordis-b0b88a2c.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ var Pe=Object.defineProperty;var Re=(n,t,e)=>t in n?Pe(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e;var b=(n,t,e)=>(Re(n,typeof t!="symbol"?t+"":t,e),e);import{defineProperty as A,isNullable as T,remove as W,deepEqual as mt,Time as Gt,isPlainObject as Ot,mapValues as F,pick as Ae,clone as Ie,Binary as ht,filterKeys as Te}from"./_elements-sdk_cosmokit-e4842f5c.js";import{a as Ne,g as je,c as Ht}from"./htmlparser2-bcb8f9db.js";var Ce=Object.defineProperty,S=(n,t)=>Ce(n,"name",{value:t,configurable:!0}),d={shadow:Symbol.for("cordis.shadow"),receiver:Symbol.for("cordis.receiver"),original:Symbol.for("cordis.original"),store:Symbol.for("cordis.store"),events:Symbol.for("cordis.events"),static:Symbol.for("cordis.static"),filter:Symbol.for("cordis.filter"),expose:Symbol.for("cordis.expose"),isolate:Symbol.for("cordis.isolate"),internal:Symbol.for("cordis.internal"),intercept:Symbol.for("cordis.intercept"),setup:Symbol.for("cordis.setup"),invoke:Symbol.for("cordis.invoke"),extend:Symbol.for("cordis.extend"),tracker:Symbol.for("cordis.tracker"),provide:Symbol.for("cordis.provide"),immediate:Symbol.for("cordis.immediate")},Me=(function*(){}).constructor,Qt=(async function*(){}).constructor;function Dt(n){return!(!n.prototype||n instanceof Me||Qt!==Function&&n instanceof Qt)}S(Dt,"isConstructor");function ft(n,t){const e=n.Config||n.schema;return e&&n.schema!==!1&&(t=e(t)),t??{}}S(ft,"resolveConfig");function pe(n){return[Map,Set,Date,Promise].some(t=>n instanceof t)}S(pe,"isUnproxyable");function Lt(n,t){if(n===Object.prototype)return t;const e=Object.create(Lt(Object.getPrototypeOf(n),t));for(const r of Reflect.ownKeys(n))Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r));return e}S(Lt,"joinPrototype");function Wt(n){return n&&(typeof n=="object"||typeof n=="function")}S(Wt,"isObject");function q(n,t,e){if(!Wt(t))return t;if(Object.hasOwn(t,d.shadow))return Object.getPrototypeOf(t);const r=t[d.tracker];return r?St(n,t,r,e):t}S(q,"getTraceable");function tt(n,t){return t?new Proxy(n,{get:S((e,r,s)=>r in t&&r!=="constructor"?Reflect.get(t,r,s):Reflect.get(e,r,s),"get"),set:S((e,r,s,i)=>r in t&&r!=="constructor"?Reflect.set(t,r,s,i):Reflect.set(e,r,s,i),"set")}):n}S(tt,"withProps");function gt(n,t,e){return tt(n,Object.defineProperty(Object.create(null),t,{value:e,writable:!1}))}S(gt,"withProp");function Pt(n,t,e,r){var i;if(!e)return r;const s=(i=Reflect.getOwnPropertyDescriptor(t,e))==null?void 0:i.value;return s?gt(r,e,n.extend({[d.shadow]:s})):r}S(Pt,"createShadow");function ye(n,t,e,r){return new Proxy(t,{apply:S((s,i,l)=>(i===e&&(i=r),l=l.map(y=>typeof y!="function"||y[d.original]?y:new Proxy(y,{get:S((p,u,g)=>{if(u===d.original)return p;const w=Reflect.get(p,u,g);return u==="toString"&&w===Function.prototype.toString?function(...x){return Reflect.apply(w,this===g?p:this,x)}:w},"get"),apply:S((p,u,g)=>Reflect.apply(p,q(n,u),g.map(w=>q(n,w))),"apply"),construct:S((p,u,g)=>Reflect.construct(p,u.map(w=>q(n,w)),g),"construct")})),q(n,Reflect.apply(s,i,l))),"apply")})}S(ye,"createShadowMethod");function St(n,t,e,r){n[d.shadow]&&(n=Object.getPrototypeOf(n));const s=new Proxy(t,{get:S((i,l,y)=>{if(l===d.original)return i;if(l===e.property)return n;if(typeof l=="symbol")return Reflect.get(i,l,y);if(e.associate&&n[d.internal][`${e.associate}.${l}`])return Reflect.get(n,`${e.associate}.${l}`,gt(n,d.receiver,y));const p=Pt(n,i,e.property,y),u=Reflect.get(i,l,p),g=u==null?void 0:u[d.tracker];return g?St(n,u,g):!r&&typeof u=="function"?ye(n,u,y,p):u},"get"),set:S((i,l,y,p)=>{if(l===d.original||l===e.property)return!1;if(typeof l=="symbol")return Reflect.set(i,l,y,p);if(e.associate&&n[d.internal][`${e.associate}.${l}`])return Reflect.set(n,`${e.associate}.${l}`,y,gt(n,d.receiver,p));const u=Pt(n,i,e.property,p);return Reflect.set(i,l,y,u)},"set"),apply:S((i,l,y)=>Ft(s,i,l,y),"apply")});return s}S(St,"createTraceable");function Ft(n,t,e,r){return t[d.invoke]?t[d.invoke].apply(n,r):Reflect.apply(t,e,r)}S(Ft,"applyTraceable");function Rt(n,t,e){const r=S(function(...s){const i=St(r.ctx,r,e);return Ft(i,r,this,s)},"self");return A(r,"name",n),Object.setPrototypeOf(r,t)}S(Rt,"createCallable");var C,qe=(C=class{constructor(t){this.ctx=t,A(this,d.tracker,{associate:"reflect",property:"ctx"}),this._mixin("reflect",["get","set","provide","accessor","mixin","alias"]),this._mixin("scope",["config","runtime","effect","collect","accept","decline"]),this._mixin("registry",["using","inject","plugin"]),this._mixin("lifecycle",["on","once","parallel","emit","serial","bail","start","stop"])}static resolveInject(t,e){let r=t[d.internal][e];for(;(r==null?void 0:r.type)==="alias";)e=r.name,r=t[d.internal][e];return[e,r]}static checkInject(t,e,r){if(t=t[d.shadow]??t,["prototype","then","registry","lifecycle"].includes(e)||e[0]==="$"||e[0]==="_"||!t.runtime.plugin||t.bail(t,"internal/inject",e))return;const s=r.stack.split(`
2
+ `);s.splice(1,1),r.stack=s.join(`
3
+ `),t.emit(t,"internal/warning",r)}get(t){var i;const e=this.ctx[d.internal][t];if((e==null?void 0:e.type)!=="service")return;const r=this.ctx[d.isolate][t],s=(i=this.ctx[d.store][r])==null?void 0:i.value;return q(this.ctx,s)}set(t,e){var p;this.provide(t);const r=this.ctx[d.isolate][t],s=(p=this.ctx[d.store][r])==null?void 0:p.value;e??(e=void 0);let i=S(()=>{},"dispose");if(s===e)return i;if(!T(e)&&!T(s))throw new Error(`service ${t} has been registered`);const l=this.ctx;T(e)||(i=l.effect(()=>()=>{l.set(t,void 0)})),pe(e)&&l.emit(l,"internal/warning",new Error(`service ${t} is an unproxyable object, which may lead to unexpected behavior`));const y=Object.create(l);return y[d.filter]=u=>l[d.isolate][t]===u[d.isolate][t],l.emit(y,"internal/before-service",t,e),l[d.store][r]={value:e,source:l},l.emit(y,"internal/service",t,s),i}provide(t,e,r){const s=this.ctx.root[d.internal];if(t in s)return;const i=Symbol(t);s[t]={type:"service",builtin:r},this.ctx.root[d.isolate][t]=i,Wt(e)&&(this.ctx[d.store][i]={value:e,source:null},A(e,d.tracker,{associate:t,property:"ctx"}))}_accessor(t,e){const r=this.ctx.root[d.internal];return t in r?()=>{}:(r[t]={type:"accessor",...e},()=>delete this.ctx.root[d.isolate][t])}accessor(t,e){this.ctx.scope.effect(()=>this._accessor(t,e))}alias(t,e){const r=this.ctx.root[d.internal];if(!(t in r))for(const s of e)r[s]||(r[s]={type:"alias",name:t})}_mixin(t,e){const r=Array.isArray(e)?e.map(l=>[l,l]):Object.entries(e),s=typeof t=="string"?l=>l[t]:()=>t,i=r.map(([l,y])=>this._accessor(y,{get(p){const u=s(this);if(T(u))return u;const g=p?tt(p,u):u,w=Reflect.get(u,l,g);return typeof w!="function"?w:w.bind(g??u)},set(p,u){const g=s(this),w=u?tt(u,g):g;return Reflect.set(g,l,p,w)}}));return()=>i.forEach(l=>l())}mixin(t,e){this.ctx.scope.effect(()=>this._mixin(t,e))}trace(t){return q(this.ctx,t)}bind(t){return new Proxy(t,{apply:S((e,r,s)=>e.apply(this.trace(r),s.map(i=>this.trace(i))),"apply")})}},S(C,"ReflectService"),b(C,"handler",{get:S((t,e,r)=>{if(typeof e!="string")return Reflect.get(t,e,r);if(Reflect.has(t,e))return q(r,Reflect.get(t,e,r),!0);const[s,i]=C.resolveInject(t,e),l=new Error(`property ${s} is not registered, declare it as \`inject\` to suppress this warning`);return i?i.type==="accessor"?i.get.call(r,r[d.receiver]):(i.builtin||C.checkInject(r,s,l),r.reflect.get(s)):(C.checkInject(r,s,l),Reflect.get(t,s,r))},"get"),set:S((t,e,r,s)=>{if(typeof e!="string")return Reflect.set(t,e,r,s);const[i,l]=C.resolveInject(t,e);return l?l.type==="accessor"?l.set?l.set.call(s,r,s[d.receiver]):!1:(s.reflect.set(i,r),!0):Reflect.set(t,i,r,s)},"set"),has:S((t,e)=>{if(typeof e!="string")return Reflect.has(t,e);if(Reflect.has(t,e))return!0;const[,r]=C.resolveInject(t,e);return!!r},"has")}),C),At=qe;function It(n){return n!==null&&n!==!1&&n!==void 0}S(It,"isBailed");var et,De=(et=class{constructor(t){b(this,"isActive",!1);b(this,"_tasks",new Set);b(this,"_hooks",{});this.ctx=t,A(this,d.tracker,{associate:"lifecycle",property:"ctx"}),A(this.on("internal/listener",function(r,s,i){const l=i.prepend?"unshift":"push";if(r==="ready")return this.lifecycle.isActive?(this.scope.ensure(async()=>s()),()=>!1):void 0;if(r==="dispose")return this.scope.disposables[l](s),A(s,"name","event <dispose>"),()=>W(this.scope.disposables,s);if(r==="fork")return this.scope.runtime.forkables[l](s),this.scope.collect("event <fork>",()=>W(this.scope.runtime.forkables,s))}),P.static,t.scope);for(const r of["info","error","warning"])A(this.on(`internal/${r}`,(s,...i)=>{this._hooks[`internal/${r}`].length>1||console.info(s,...i)}),P.static,t.scope);A(this.on("internal/before-service",function(r){var s;for(const i of this.registry.values()){if(!((s=i.inject[r])!=null&&s.required))continue;const l=i.isReusable?i.children:[i];for(const y of l)this[d.filter](y.ctx)&&(y.updateStatus(),y.reset())}},{global:!0}),P.static,t.scope),A(this.on("internal/service",function(r){var s;for(const i of this.registry.values()){if(!((s=i.inject[r])!=null&&s.required))continue;const l=i.isReusable?i.children:[i];for(const y of l)this[d.filter](y.ctx)&&y.start()}},{global:!0}),P.static,t.scope);const e=S((r,s)=>{if(!r.runtime.plugin)return!1;for(const i in r.runtime.inject)if(s===At.resolveInject(r.ctx,i)[0])return!0;return e(r.parent.scope,s)},"checkInject");A(this.on("internal/inject",function(r){return e(this.scope,r)},{global:!0}),P.static,t.scope)}async flush(){for(;this._tasks.size;)await Promise.all(Array.from(this._tasks))}filterHooks(t,e){return e=q(this.ctx,e),t.slice().filter(r=>{const s=e==null?void 0:e[P.filter];return r.global||!s||s.call(e,r.ctx)})}*dispatch(t,e){const r=typeof e[0]=="object"||typeof e[0]=="function"?e.shift():null,s=e.shift();s!=="internal/event"&&this.emit("internal/event",t,s,e,r);for(const i of this.filterHooks(this._hooks[s]||[],r))yield i.callback.apply(r,e)}async parallel(...t){await Promise.all(this.dispatch("emit",t))}emit(...t){Array.from(this.dispatch("emit",t))}async serial(...t){for await(const e of this.dispatch("serial",t))if(It(e))return e}bail(...t){for(const e of this.dispatch("bail",t))if(It(e))return e}register(t,e,r,s){const i=s.prepend?"unshift":"push";return e[i]({ctx:this.ctx,callback:r,...s}),this.ctx.state.collect(t,()=>this.unregister(e,r))}unregister(t,e){const r=t.findIndex(s=>s.callback===e);if(r>=0)return t.splice(r,1),!0}on(t,e,r){var y;typeof r!="object"&&(r={prepend:r}),this.ctx.scope.assertActive(),e=this.ctx.reflect.bind(e);const s=this.bail(this.ctx,"internal/listener",t,e,r);if(s)return s;const i=(y=this._hooks)[t]||(y[t]=[]),l=typeof t=="string"?`event <${t}>`:"event (Symbol)";return this.register(l,i,e,r)}once(t,e,r){const s=this.on(t,function(...i){return s(),e.apply(this,i)},r);return s}async start(){this.isActive=!0;const t=this._hooks.ready||[];for(;t.length;){const{ctx:e,callback:r}=t.shift();e.scope.ensure(async()=>r())}await this.flush()}async stop(){this.isActive=!1,this.ctx.scope.reset()}},S(et,"Lifecycle"),et),Le=De,We=(n=>(n[n.PENDING=0]="PENDING",n[n.LOADING=1]="LOADING",n[n.ACTIVE=2]="ACTIVE",n[n.FAILED=3]="FAILED",n[n.DISPOSED=4]="DISPOSED",n))(We||{}),G,Tt=(G=class extends Error{constructor(t,e){super(e??G.Code[t]),this.code=t}},S(G,"CordisError"),G);(n=>{n.Code={INACTIVE_EFFECT:"cannot create effect on inactive context"}})(Tt||(Tt={}));var rt,de=(rt=class{constructor(t,e){b(this,"uid");b(this,"ctx");b(this,"disposables",[]);b(this,"error");b(this,"status",0);b(this,"isActive",!1);b(this,"context");b(this,"proxy");b(this,"acceptors",[]);b(this,"tasks",new Set);b(this,"hasError",!1);this.parent=t,this.config=e,this.uid=t.registry?t.registry.counter:0,this.ctx=this.context=t.extend({scope:this}),this.proxy=new Proxy({},{get:S((r,s)=>Reflect.get(this.config,s),"get")})}get _config(){return this.runtime.isReactive?this.proxy:this.config}assertActive(){if(!(this.uid!==null||this.isActive))throw new Tt("INACTIVE_EFFECT")}effect(t,e){this.assertActive();const r=Dt(t)?new t(this.ctx,e):t(this.ctx,e);let s=!1;const i=typeof r=="function"?r:r.dispose.bind(r),l=S((...y)=>{if(!s)return s=!0,W(this.disposables,l),i(...y)},"wrapped");return this.disposables.push(l),typeof r=="function"?l:(r.dispose=l,r)}collect(t,e){const r=A(()=>(W(this.disposables,r),e()),"name",t);return this.disposables.push(r),r}restart(){this.reset(),this.error=null,this.hasError=!1,this.status=0,this.start()}_getStatus(){return this.uid===null?4:this.hasError?3:this.tasks.size?1:this.ready?2:0}updateStatus(t){const e=this.status;t==null||t(),this.status=this._getStatus(),e!==this.status&&this.context.emit("internal/status",this,e)}ensure(t){const e=t().catch(r=>{this.context.emit(this.ctx,"internal/error",r),this.cancel(r)}).finally(()=>{this.updateStatus(()=>this.tasks.delete(e)),this.context.events._tasks.delete(e)});this.updateStatus(()=>this.tasks.add(e)),this.context.events._tasks.add(e)}cancel(t){this.error=t,this.updateStatus(()=>this.hasError=!0),this.reset()}get ready(){return Object.entries(this.runtime.inject).every(([t,e])=>!e.required||!T(this.ctx.get(t)))}reset(){this.isActive=!1,this.disposables=this.disposables.splice(0).filter(t=>{if(this.uid!==null&&t[P.static]===this)return!0;(async()=>t())().catch(e=>{this.context.emit(this.ctx,"internal/error",e)})})}init(t){this.config?this.start():this.cancel(t)}start(){if(!this.ready||this.isActive||this.uid===null)return!0;this.isActive=!0,this.updateStatus(()=>this.hasError=!1)}accept(...t){const r={keys:Array.isArray(t[0])?t.shift():null,callback:t[0],...t[1]};return this.effect(()=>{var s;return this.acceptors.push(r),r.immediate&&((s=r.callback)==null||s.call(r,this.config)),()=>W(this.acceptors,r)})}decline(t){return this.accept(t,()=>!0)}checkUpdate(t,e){if(e||!this.config)return[!0,!0];if(e===!1)return[!1,!1];const r=Object.create(null),s=S(u=>{const g=r[u]??(r[u]=!mt(this.config[u],t[u]));return l||(l=g),g},"checkPropertyUpdate"),i=new Set;let l=!1,y=!1,p=this.runtime.isReactive||null;for(const{keys:u,callback:g,passive:w}of this.acceptors){if(!u)p||(p=!w);else if(w)u==null||u.forEach(k=>i.add(k));else{let k=!1;for(const R of u)k||(k=s(R));if(!k)continue}(g==null?void 0:g(t))&&(y=!0)}for(const u in{...this.config,...t})if(p!==!1&&!(u in r)&&!i.has(u)){const g=s(u);p===null&&(y||(y=g))}return[l,y]}},S(rt,"EffectScope"),rt),nt,Fe=(nt=class extends de{constructor(e,r,s,i){super(e,s);b(this,"dispose");this.runtime=r,this.dispose=A(e.scope.collect(`fork <${e.runtime.name}>`,()=>{this.uid=null,this.reset(),this.context.emit("internal/fork",this);const l=W(r.disposables,this.dispose);return W(r.children,this)&&!r.children.length&&e.registry.delete(r.plugin),l}),P.static,r),r.children.push(this),r.disposables.push(this.dispose),this.context.emit("internal/fork",this),this.init(i)}start(){if(super.start())return!0;for(const e of this.runtime.forkables)this.ensure(async()=>e(this.context,this._config))}update(e,r){const s=this.config,i=this.runtime.isForkable?this:this.runtime;if(i.config!==s)return;let l;try{l=ft(this.runtime.plugin,e)}catch(u){return this.context.emit("internal/error",u),this.cancel(u)}const[y,p]=i.checkUpdate(l,r);this.context.emit("internal/before-update",this,e),this.config=l,i.config=l,y&&this.context.emit("internal/update",this,s),p&&i.restart()}},S(nt,"ForkScope"),nt),it,Zt=(it=class extends de{constructor(e,r,s,i){super(e,s);b(this,"value");b(this,"runtime",this);b(this,"schema");b(this,"name");b(this,"inject",Object.create(null));b(this,"forkables",[]);b(this,"children",[]);b(this,"isReusable",!1);b(this,"isReactive",!1);b(this,"apply",S((e,r)=>{if(typeof this.plugin!="function")return this.plugin.apply(e,r);if(Dt(this.plugin)){const s=new this.plugin(e,r),i=s[P.expose];return i&&e.set(i,s),s.fork&&this.forkables.push(s.fork.bind(s)),s}else return this.plugin(e,r)},"apply"));this.plugin=r,r?(this.setup(),this.init(i)):(this.name="root",this.isActive=!0)}get isForkable(){return this.forkables.length>0}fork(e,r,s){return new Fe(e,this,r,s)}dispose(){return this.uid=null,this.reset(),this.context.emit("internal/runtime",this),!0}setup(){const{name:e}=this.plugin;e&&e!=="apply"&&(this.name=e),this.schema=this.plugin.Config||this.plugin.schema,this.inject=bt.resolve(this.plugin.using||this.plugin.inject),this.isReusable=this.plugin.reusable,this.isReactive=this.plugin.reactive,this.context.emit("internal/runtime",this),this.isReusable&&this.forkables.push(this.apply)}reset(){super.reset();for(const e of this.children)e.reset()}start(){if(super.start())return!0;!this.isReusable&&this.plugin&&this.ensure(async()=>this.value=this.apply(this.ctx,this._config));for(const e of this.children)e.start()}update(e,r){if(this.isForkable){const u=new Error(`attempting to update forkable plugin "${this.plugin.name}", which may lead to unexpected behavior`);this.context.emit(this.ctx,"internal/warning",u)}const s=this.config;let i;try{i=ft(this.runtime.plugin||this.context.constructor,e)}catch(u){return this.context.emit("internal/error",u),this.cancel(u)}const[l,y]=this.checkUpdate(i,r),p=this.children.find(u=>u.config===s);this.config=i,p&&(this.context.emit("internal/before-update",p,e),p.config=i,l&&this.context.emit("internal/update",p,s)),y&&this.restart()}},S(it,"MainScope"),it);function me(n){return n&&typeof n=="object"&&typeof n.apply=="function"}S(me,"isApplicable");function bt(n){return function(t,e){if(e.kind==="class")t.inject=n;else if(e.kind==="method")e.addInitializer(function(){var s;const r=(s=this[d.tracker])==null?void 0:s.property;if(!r)throw new Error("missing context tracker");this[r].inject(n,i=>{t.call(tt(this,{[r]:i}))})});else throw new Error("@Inject can only be used on class or class methods")}}S(bt,"Inject");(n=>{function t(e){if(!e)return{};if(Array.isArray(e))return Object.fromEntries(e.map(l=>[l,{required:!0}]));const{required:r,optional:s,...i}=e;return Array.isArray(r)&&Object.assign(i,Object.fromEntries(r.map(l=>[l,{required:!0}]))),Array.isArray(s)&&Object.assign(i,Object.fromEntries(s.map(l=>[l,{required:!1}]))),i}n.resolve=t,S(t,"resolve")})(bt||(bt={}));var st,Be=(st=class{constructor(t,e){b(this,"_counter",0);b(this,"_internal",new Map);b(this,"context");this.ctx=t,A(this,d.tracker,{associate:"registry",property:"ctx"}),this.context=t;const r=new Zt(t,null,e);t.scope=r,r.ctx=t,this.set(null,r)}get counter(){return++this._counter}get size(){return this._internal.size}resolve(t,e=!1){if(t===null||typeof t=="function")return t;if(me(t))return t.apply;if(e)throw new Error('invalid plugin, expect function or object with an "apply" method, received '+typeof t)}get(t){const e=this.resolve(t);return e&&this._internal.get(e)}has(t){const e=this.resolve(t);return!!e&&this._internal.has(e)}set(t,e){const r=this.resolve(t);this._internal.set(r,e)}delete(t){const e=this.resolve(t),r=e&&this._internal.get(e);if(r)return this._internal.delete(e),r.dispose(),r}keys(){return this._internal.keys()}values(){return this._internal.values()}entries(){return this._internal.entries()}forEach(t){return this._internal.forEach(t)}using(t,e){return this.inject(t,e)}inject(t,e){return this.plugin({inject:t,apply:e,name:e.name})}plugin(t,e,r){if(this.resolve(t,!0),this.ctx.scope.assertActive(),!r)try{e=ft(t,e)}catch(i){this.context.emit(this.ctx,"internal/error",i),r=i,e=null}let s=this.get(t);return s?(s.isForkable||this.context.emit(this.ctx,"internal/warning",new Error(`duplicate plugin detected: ${t.name}`)),s.fork(this.ctx,e,r)):(s=new Zt(this.ctx,t,e,r),this.set(t,s),s.fork(this.ctx,e,r))}},S(st,"Registry"),st),Je=Be,E,P=(E=class{static is(t){return!!(t!=null&&t[E.is])}static associate(t,e){return t}constructor(t){t=ft(this.constructor,t),this[d.store]=Object.create(null),this[d.isolate]=Object.create(null),this[d.internal]=Object.create(null),this[d.intercept]=Object.create(null);const e=new Proxy(this,At.handler);e.root=e,e.reflect=new At(e),e.registry=new Je(e,t),e.lifecycle=new Le(e);const r=S(s=>{var i;if(s){r(Object.getPrototypeOf(s));for(const l of Object.getOwnPropertyNames(s)){const y=(i=s[l].prototype)==null?void 0:i.constructor;y&&(e[s[l].key]=new y(e,t),A(e[s[l].key],"ctx",e))}}},"attach");return r(this[d.internal]),e}[Symbol.for("nodejs.util.inspect.custom")](){return`Context <${this.name}>`}get name(){let t=this.runtime;for(;t&&!t.name;)t=t.parent.runtime;return t==null?void 0:t.name}get events(){return this.lifecycle}get state(){return this.scope}extend(t={}){var s;const e=(s=Reflect.getOwnPropertyDescriptor(this,d.shadow))==null?void 0:s.value,r=Object.assign(Object.create(q(this,this)),t);return e?Object.assign(Object.create(r),{[d.shadow]:e}):r}isolate(t,e){const r=Object.create(this[d.isolate]);return r[t]=e??Symbol(t),this.extend({[d.isolate]:r})}intercept(t,e){const r=Object.create(this[d.intercept]);return r[t]=e,this.extend({[d.intercept]:r})}},S(E,"Context"),b(E,"store",d.store),b(E,"events",d.events),b(E,"static",d.static),b(E,"filter",d.filter),b(E,"expose",d.expose),b(E,"isolate",d.isolate),b(E,"internal",d.internal),b(E,"intercept",d.intercept),b(E,"origin","ctx"),b(E,"current","ctx"),E.is[Symbol.toPrimitive]=()=>Symbol.for("cordis.is"),E.prototype[E.is]=!0,E);P.prototype[P.internal]=Object.create(null);var j,V=(j=class{constructor(...t){b(this,"ctx");b(this,"name");b(this,"config");let e,r,s,i;P.is(t[0])?(e=t[0],typeof t[1]=="string"?(r=t[1],s=t[2]):i=t[1]):i=t[0],r??(r=this.constructor[d.provide]),s??(s=this.constructor[d.immediate]);let l=this;const y={associate:r,property:"ctx"};return l[d.invoke]&&(l=Rt(r,Lt(Object.getPrototypeOf(this),Function.prototype),y)),e?l.ctx=e:l[d.setup](),l.name=r,l.config=i,A(l,d.tracker,y),l.ctx.provide(r),l.ctx.runtime.name=r,s&&(e?l[d.expose]=r:l.ctx.set(r,l)),l.ctx.on("ready",async()=>{await Promise.resolve(),await l.start(),s||l.ctx.set(r,l)}),l.ctx.on("dispose",()=>l.stop()),l}start(){}stop(){}[d.filter](t){return t[d.isolate][this.name]===this.ctx[d.isolate][this.name]}[d.setup](){this.ctx=new P}[d.extend](t){let e;return this[j.invoke]?e=Rt(this.name,this,this[d.tracker]):e=Object.create(this),Object.assign(e,t)}static[Symbol.hasInstance](t){var r;let e=t.constructor;for(;e;){if(e=(r=e.prototype)==null?void 0:r.constructor,e===this)return!0;e=Object.getPrototypeOf(e)}return!1}},S(j,"Service"),b(j,"setup",d.setup),b(j,"invoke",d.invoke),b(j,"extend",d.extend),b(j,"tracker",d.tracker),b(j,"provide",d.provide),b(j,"immediate",d.immediate),j);function ze(){const n=/(Chrome|Chromium)\/(?<chromeVersion>\d+)\./.exec(navigator.userAgent);if(n)return Number.parseInt(n.groups.chromeVersion,10)}const Xt=ze()>=69?{level:1,hasBasic:!0,has256:!1,has16m:!1}:!1;var Yt={stdout:Xt,stderr:Xt};const Ue={},Ve=Object.freeze(Object.defineProperty({__proto__:null,default:Ue},Symbol.toStringTag,{value:"Module"})),Ke=Ne(Ve);var Bt=typeof Map=="function"&&Map.prototype,_t=Object.getOwnPropertyDescriptor&&Bt?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,vt=Bt&&_t&&typeof _t.get=="function"?_t.get:null,te=Bt&&Map.prototype.forEach,Jt=typeof Set=="function"&&Set.prototype,kt=Object.getOwnPropertyDescriptor&&Jt?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,wt=Jt&&kt&&typeof kt.get=="function"?kt.get:null,ee=Jt&&Set.prototype.forEach,Ge=typeof WeakMap=="function"&&WeakMap.prototype,Z=Ge?WeakMap.prototype.has:null,He=typeof WeakSet=="function"&&WeakSet.prototype,X=He?WeakSet.prototype.has:null,Qe=typeof WeakRef=="function"&&WeakRef.prototype,re=Qe?WeakRef.prototype.deref:null,Ze=Boolean.prototype.valueOf,Xe=Object.prototype.toString,Ye=Function.prototype.toString,tr=String.prototype.match,zt=String.prototype.slice,B=String.prototype.replace,er=String.prototype.toUpperCase,ne=String.prototype.toLowerCase,ge=RegExp.prototype.test,ie=Array.prototype.concat,M=Array.prototype.join,rr=Array.prototype.slice,se=Math.floor,Nt=typeof BigInt=="function"?BigInt.prototype.valueOf:null,$t=Object.getOwnPropertySymbols,jt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Symbol.prototype.toString:null,K=typeof Symbol=="function"&&typeof Symbol.iterator=="object",Y=typeof Symbol=="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===K||"symbol")?Symbol.toStringTag:null,be=Object.prototype.propertyIsEnumerable,oe=(typeof Reflect=="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(n){return n.__proto__}:null);function ce(n,t){if(n===1/0||n===-1/0||n!==n||n&&n>-1e3&&n<1e3||ge.call(/e/,t))return t;var e=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof n=="number"){var r=n<0?-se(-n):se(n);if(r!==n){var s=String(r),i=zt.call(t,s.length+1);return B.call(s,e,"$&_")+"."+B.call(B.call(i,/([0-9]{3})/g,"$&_"),/_$/,"")}}return B.call(t,e,"$&_")}var Ct=Ke,ae=Ct.custom,le=Se(ae)?ae:null,ve={__proto__:null,double:'"',single:"'"},nr={__proto__:null,double:/(["\\])/g,single:/(['\\])/g},ir=function n(t,e,r,s){var i=e||{};if(L(i,"quoteStyle")&&!L(ve,i.quoteStyle))throw new TypeError('option "quoteStyle" must be "single" or "double"');if(L(i,"maxStringLength")&&(typeof i.maxStringLength=="number"?i.maxStringLength<0&&i.maxStringLength!==1/0:i.maxStringLength!==null))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var l=L(i,"customInspect")?i.customInspect:!0;if(typeof l!="boolean"&&l!=="symbol")throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(L(i,"indent")&&i.indent!==null&&i.indent!==" "&&!(parseInt(i.indent,10)===i.indent&&i.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(L(i,"numericSeparator")&&typeof i.numericSeparator!="boolean")throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var y=i.numericSeparator;if(typeof t>"u")return"undefined";if(t===null)return"null";if(typeof t=="boolean")return t?"true":"false";if(typeof t=="string")return Oe(t,i);if(typeof t=="number"){if(t===0)return 1/0/t>0?"0":"-0";var p=String(t);return y?ce(t,p):p}if(typeof t=="bigint"){var u=String(t)+"n";return y?ce(t,u):u}var g=typeof i.depth>"u"?5:i.depth;if(typeof r>"u"&&(r=0),r>=g&&g>0&&typeof t=="object")return Mt(t)?"[Array]":"[Object]";var w=xr(i,r);if(typeof s>"u")s=[];else if(xe(s,t)>=0)return"[Circular]";function x(U,ut,Ee){if(ut&&(s=rr.call(s),s.push(ut)),Ee){var Kt={depth:i.depth};return L(i,"quoteStyle")&&(Kt.quoteStyle=i.quoteStyle),n(U,Kt,r+1,s)}return n(U,i,r+1,s)}if(typeof t=="function"&&!fe(t)){var k=pr(t),R=pt(t,x);return"[Function"+(k?": "+k:" (anonymous)")+"]"+(R.length>0?" { "+M.call(R,", ")+" }":"")}if(Se(t)){var I=K?B.call(String(t),/^(Symbol\(.*\))_[^)]*$/,"$1"):jt.call(t);return typeof t=="object"&&!K?Q(I):I}if(vr(t)){for(var $="<"+ne.call(String(t.nodeName)),N=t.attributes||[],c=0;c<N.length;c++)$+=" "+N[c].name+"="+we(sr(N[c].value),"double",i);return $+=">",t.childNodes&&t.childNodes.length&&($+="..."),$+="</"+ne.call(String(t.nodeName))+">",$}if(Mt(t)){if(t.length===0)return"[]";var o=pt(t,x);return w&&!Sr(o)?"["+qt(o,w)+"]":"[ "+M.call(o,", ")+" ]"}if(cr(t)){var a=pt(t,x);return!("cause"in Error.prototype)&&"cause"in t&&!be.call(t,"cause")?"{ ["+String(t)+"] "+M.call(ie.call("[cause]: "+x(t.cause),a),", ")+" }":a.length===0?"["+String(t)+"]":"{ ["+String(t)+"] "+M.call(a,", ")+" }"}if(typeof t=="object"&&l){if(le&&typeof t[le]=="function"&&Ct)return Ct(t,{depth:g-r});if(l!=="symbol"&&typeof t.inspect=="function")return t.inspect()}if(yr(t)){var f=[];return te&&te.call(t,function(U,ut){f.push(x(ut,t,!0)+" => "+x(U,t))}),ue("Map",vt.call(t),f,w)}if(gr(t)){var h=[];return ee&&ee.call(t,function(U){h.push(x(U,t))}),ue("Set",wt.call(t),h,w)}if(dr(t))return Et("WeakMap");if(br(t))return Et("WeakSet");if(mr(t))return Et("WeakRef");if(lr(t))return Q(x(Number(t)));if(ur(t))return Q(x(Nt.call(t)));if(fr(t))return Q(Ze.call(t));if(ar(t))return Q(x(String(t)));if(typeof window<"u"&&t===window)return"{ [object Window] }";if(typeof globalThis<"u"&&t===globalThis||typeof Ht<"u"&&t===Ht)return"{ [object globalThis] }";if(!or(t)&&!fe(t)){var m=pt(t,x),v=oe?oe(t)===Object.prototype:t instanceof Object||t.constructor===Object,O=t instanceof Object?"":"null prototype",D=!v&&Y&&Object(t)===t&&Y in t?zt.call(J(t),8,-1):O?"Object":"",$e=v||typeof t.constructor!="function"?"":t.constructor.name?t.constructor.name+" ":"",xt=$e+(D||O?"["+M.call(ie.call([],D||[],O||[]),": ")+"] ":"");return m.length===0?xt+"{}":w?xt+"{"+qt(m,w)+"}":xt+"{ "+M.call(m,", ")+" }"}return String(t)};function we(n,t,e){var r=e.quoteStyle||t,s=ve[r];return s+n+s}function sr(n){return B.call(String(n),/"/g,"&quot;")}function z(n){return!Y||!(typeof n=="object"&&(Y in n||typeof n[Y]<"u"))}function Mt(n){return J(n)==="[object Array]"&&z(n)}function or(n){return J(n)==="[object Date]"&&z(n)}function fe(n){return J(n)==="[object RegExp]"&&z(n)}function cr(n){return J(n)==="[object Error]"&&z(n)}function ar(n){return J(n)==="[object String]"&&z(n)}function lr(n){return J(n)==="[object Number]"&&z(n)}function fr(n){return J(n)==="[object Boolean]"&&z(n)}function Se(n){if(K)return n&&typeof n=="object"&&n instanceof Symbol;if(typeof n=="symbol")return!0;if(!n||typeof n!="object"||!jt)return!1;try{return jt.call(n),!0}catch{}return!1}function ur(n){if(!n||typeof n!="object"||!Nt)return!1;try{return Nt.call(n),!0}catch{}return!1}var hr=Object.prototype.hasOwnProperty||function(n){return n in this};function L(n,t){return hr.call(n,t)}function J(n){return Xe.call(n)}function pr(n){if(n.name)return n.name;var t=tr.call(Ye.call(n),/^function\s*([\w$]+)/);return t?t[1]:null}function xe(n,t){if(n.indexOf)return n.indexOf(t);for(var e=0,r=n.length;e<r;e++)if(n[e]===t)return e;return-1}function yr(n){if(!vt||!n||typeof n!="object")return!1;try{vt.call(n);try{wt.call(n)}catch{return!0}return n instanceof Map}catch{}return!1}function dr(n){if(!Z||!n||typeof n!="object")return!1;try{Z.call(n,Z);try{X.call(n,X)}catch{return!0}return n instanceof WeakMap}catch{}return!1}function mr(n){if(!re||!n||typeof n!="object")return!1;try{return re.call(n),!0}catch{}return!1}function gr(n){if(!wt||!n||typeof n!="object")return!1;try{wt.call(n);try{vt.call(n)}catch{return!0}return n instanceof Set}catch{}return!1}function br(n){if(!X||!n||typeof n!="object")return!1;try{X.call(n,X);try{Z.call(n,Z)}catch{return!0}return n instanceof WeakSet}catch{}return!1}function vr(n){return!n||typeof n!="object"?!1:typeof HTMLElement<"u"&&n instanceof HTMLElement?!0:typeof n.nodeName=="string"&&typeof n.getAttribute=="function"}function Oe(n,t){if(n.length>t.maxStringLength){var e=n.length-t.maxStringLength,r="... "+e+" more character"+(e>1?"s":"");return Oe(zt.call(n,0,t.maxStringLength),t)+r}var s=nr[t.quoteStyle||"single"];s.lastIndex=0;var i=B.call(B.call(n,s,"\\$1"),/[\x00-\x1f]/g,wr);return we(i,"single",t)}function wr(n){var t=n.charCodeAt(0),e={8:"b",9:"t",10:"n",12:"f",13:"r"}[t];return e?"\\"+e:"\\x"+(t<16?"0":"")+er.call(t.toString(16))}function Q(n){return"Object("+n+")"}function Et(n){return n+" { ? }"}function ue(n,t,e,r){var s=r?qt(e,r):M.call(e,", ");return n+" ("+t+") {"+s+"}"}function Sr(n){for(var t=0;t<n.length;t++)if(xe(n[t],`
4
+ `)>=0)return!1;return!0}function xr(n,t){var e;if(n.indent===" ")e=" ";else if(typeof n.indent=="number"&&n.indent>0)e=M.call(Array(n.indent+1)," ");else return null;return{base:e,prev:M.call(Array(t+1),e)}}function qt(n,t){if(n.length===0)return"";var e=`
5
+ `+t.prev+t.base;return e+M.call(n,","+e)+`
6
+ `+t.prev}function pt(n,t){var e=Mt(n),r=[];if(e){r.length=n.length;for(var s=0;s<n.length;s++)r[s]=L(n,s)?t(n[s],n):""}var i=typeof $t=="function"?$t(n):[],l;if(K){l={};for(var y=0;y<i.length;y++)l["$"+i[y]]=i[y]}for(var p in n)L(n,p)&&(e&&String(Number(p))===p&&p<n.length||K&&l["$"+p]instanceof Symbol||(ge.call(/[^\w$]/,p)?r.push(t(p,n)+": "+t(n[p],n)):r.push(p+": "+t(n[p],n))));if(typeof $t=="function")for(var u=0;u<i.length;u++)be.call(n,i[u])&&r.push("["+t(i[u])+"]: "+t(n[i[u]],n));return r}const Or=je(ir);var _r=Object.create,Ut=Object.defineProperty,kr=Object.getOwnPropertyDescriptor,_e=Object.getOwnPropertyNames,$r=Object.getPrototypeOf,Er=Object.prototype.hasOwnProperty,yt=(n,t)=>Ut(n,"name",{value:t,configurable:!0}),ke=(n,t)=>function(){return t||(0,n[_e(n)[0]])((t={exports:{}}).exports,t),t.exports},Pr=(n,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of _e(t))!Er.call(n,s)&&s!==e&&Ut(n,s,{get:()=>t[s],enumerable:!(r=kr(t,s))||r.enumerable});return n},Rr=(n,t,e)=>(e=n!=null?_r($r(n)):{},Pr(t||!n||!n.__esModule?Ut(e,"default",{value:n,enumerable:!0}):e,n)),Ar=ke({"src/shared.ts"(n,t){var l;var e=[6,2,3,4,5,1],r=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221];function s(y){return y instanceof Error&&Array.isArray(y.errors)}yt(s,"isAggregateError");var i=(l=class{constructor(p,u){b(this,"extend",yt(p=>new l(`${this.name}:${p}`,this.meta),"extend"));b(this,"warning",yt((p,...u)=>{this.warn(p,...u)},"warning"));this.name=p,this.meta=u,this.createMethod("success",l.SUCCESS),this.createMethod("error",l.ERROR),this.createMethod("info",l.INFO),this.createMethod("warn",l.WARN),this.createMethod("debug",l.DEBUG)}static format(p,u){this.formatters[p]=u}static color(p,u,g,w=""){return p.colors?`\x1B[3${u<8?u:"8;5;"+u}${p.colors>=2?w:""}m${g}\x1B[0m`:""+g}static code(p,u){let g=0;for(let x=0;x<p.length;x++)g=(g<<3)-g+p.charCodeAt(x)+13,g|=0;const w=u.colors?u.colors>=2?r:e:[];return w[Math.abs(g)%w.length]}static render(p,u){var N,c,o;const g=`[${u.type[0].toUpperCase()}]`,w=" ".repeat(((N=p.label)==null?void 0:N.margin)??1);let x=3+w.length,k="";p.showTime&&(x+=p.showTime.length+w.length,k+=l.color(p,8,Gt.template(p.showTime))+w);const R=l.code(u.name,p),I=l.color(p,R,u.name,";1"),$=(((c=p.label)==null?void 0:c.width)??0)+I.length-u.name.length;if(((o=p.label)==null?void 0:o.align)==="right"?(k+=I.padStart($)+w+g+w,x+=(p.label.width??0)+w.length):k+=g+w+I.padEnd($)+w,k+=u.content.replace(/\n/g,`
7
+ `+" ".repeat(x)),p.showDiff&&p.timestamp){const a=u.timestamp-p.timestamp;k+=l.color(p,R," +"+Gt.format(a))}return k}createMethod(p,u){this[p]=(...g)=>{if(g.length===1&&g[0]instanceof Error){if(g[0].cause)this[p](g[0].cause);else if(s(g[0])){g[0].errors.forEach(k=>this[p](k));return}}const w=++l.id,x=Date.now();for(const k of l.targets){if(this.getLevel(k)<u)continue;const R=this.format(k,...g),I={id:w,type:p,level:u,name:this.name,meta:this.meta,content:R,timestamp:x};if(k.record)k.record(I);else{const{print:$=console.log}=k;$(l.render(k,I))}k.timestamp=x}}}format(p,...u){u[0]instanceof Error?(u[0]=u[0].stack||u[0].message,u.unshift("%s")):typeof u[0]!="string"&&u.unshift("%o");let g=u.shift();g=g.replace(/%([a-zA-Z%])/g,(x,k)=>{if(x==="%%")return"%";const R=l.formatters[k];if(typeof R=="function"){const I=u.shift();return R(I,p,this)}return x});for(let x of u)typeof x=="object"&&x&&(x=l.formatters.o(x,p,this)),g+=" "+x;const{maxLength:w=10240}=p;return g.split(/\r?\n/g).map(x=>x.slice(0,w)+(x.length>w?"...":"")).join(`
8
+ `)}getLevel(p){const u=this.name.split(":");let g=(p==null?void 0:p.levels)||l.levels;do g=g[u.shift()]??g.base;while(u.length&&typeof g=="object");return g}get level(){return this.getLevel()}set level(p){const u=this.name.split(":");let g=l.levels;for(;u.length>1;){const w=u.shift(),x=g[w];typeof x=="object"?g=x:g=g[w]={base:x??g.base}}g[u[0]]=p}},yt(l,"Logger"),b(l,"SILENT",0),b(l,"SUCCESS",1),b(l,"ERROR",1),b(l,"INFO",2),b(l,"WARN",2),b(l,"DEBUG",3),b(l,"id",0),b(l,"targets",[{colors:Yt.stdout&&Yt.stdout.level,print(p){console.log(p)}}]),b(l,"formatters",Object.create(null)),b(l,"levels",{base:2}),l);i.format("s",y=>y),i.format("d",y=>+y),i.format("j",y=>JSON.stringify(y)),i.format("c",(y,p,u)=>i.color(p,i.code(u.name,p),y)),i.format("C",(y,p)=>i.color(p,15,y,";1")),t.exports=i}}),Ir=ke({"src/browser.ts"(n,t){var e=Rr(Ar());e.default.format("o",(r,s)=>Or(r,{depth:1/0}).replace(/\s*\n\s*/g," ")),t.exports=e.default}});const Tr=Ir();var Nr=Object.defineProperty,jr=(n,t)=>Nr(n,"name",{value:t,configurable:!0}),H,Cr=(H=class extends V{constructor(t){super(t,"logger",!0),t.on("internal/info",function(e,...r){this.logger("app").info(e,...r)}),t.on("internal/error",function(e,...r){this.logger("app").error(e,...r)}),t.on("internal/warning",function(e,...r){this.logger("app").warn(e,...r)})}[V.invoke](t){return new Tr(t,A({},"ctx",this.ctx))}},jr(H,"LoggerService"),(()=>{for(const t of["success","error","info","warn","debug","extend"])H.prototype[t]=function(...e){return this(this.ctx.name)[t](...e)}})(),H),Mr=Object.defineProperty,qr=Object.getOwnPropertyNames,_=(n,t)=>Mr(n,"name",{value:t,configurable:!0}),Dr=(n,t)=>function(){return t||(0,n[qr(n)[0]])((t={exports:{}}).exports,t),t.exports},Lr=Dr({"src/index.ts"(n,t){var N;var e=Symbol.for("schemastery"),r=Symbol.for("ValidationError");globalThis.__schemastery_index__??(globalThis.__schemastery_index__=0),globalThis.__schemastery_refs__=void 0;var s=(N=class extends TypeError{constructor(a,f){let h="$";for(const m of f.path||[])typeof m=="string"?h+="."+m:typeof m=="number"?h+="["+m+"]":typeof m=="symbol"&&(h+=`[Symbol(${m.toString()})]`);h.startsWith(".")&&(h=h.slice(1));super((h==="$"?"":`${h} `)+a);b(this,"name","ValidationError");this.options=f}static is(a){return!!(a!=null&&a[r])}},_(N,"ValidationError"),N);Object.defineProperty(s.prototype,r,{value:!0});var i=_(function(c){const o=_(function(a,f={}){return i.resolve(a,o,f)[0]},"schema");if(c.refs){const a=F(c.refs,h=>new i(h)),f=_(h=>a[h],"getRef");for(const h in a){const m=a[h];m.sKey=f(m.sKey),m.inner=f(m.inner),m.list=m.list&&m.list.map(f),m.dict=m.dict&&F(m.dict,f)}return a[c.uid]}if(Object.assign(o,c),typeof o.callback=="string")try{o.callback=new Function("return "+o.callback)()}catch{}return Object.defineProperty(o,"uid",{value:globalThis.__schemastery_index__++}),Object.setPrototypeOf(o,i.prototype),o.meta||(o.meta={}),o.toString=o.toString.bind(o),o},"Schema");i.prototype=Object.create(Function.prototype),i.prototype[e]=!0,Object.defineProperty(i.prototype,"~standard",{get(){return{version:1,vendor:"schemastery",validate:_(c=>{try{return{value:i.resolve(c,this,{})[0]}}catch(o){if(s.is(o))return{issues:[{message:o.message,path:o.options.path}]};throw o}},"validate")}}}),i.ValidationError=s,i.prototype.toJSON=_(function(){var a,f;if(globalThis.__schemastery_refs__)return(a=globalThis.__schemastery_refs__)[f=this.uid]??(a[f]=JSON.parse(JSON.stringify({...this}))),this.uid;globalThis.__schemastery_refs__={[this.uid]:{...this}},globalThis.__schemastery_refs__[this.uid]=JSON.parse(JSON.stringify({...this}));const o={uid:this.uid,refs:globalThis.__schemastery_refs__};return globalThis.__schemastery_refs__=void 0,o},"toJSON"),i.prototype.set=_(function(o,a){return this.dict[o]=a,this},"set"),i.prototype.push=_(function(o){return this.list.push(o),this},"push");function l(c,o){const a=typeof c=="string"?{"":c}:{...c};for(const f in o){const h=o[f];h!=null&&h.$description||h!=null&&h.$desc?a[f]=h.$description||h.$desc:typeof h=="string"&&(a[f]=h)}return a}_(l,"mergeDesc");function y(c){return(c==null?void 0:c.$value)??(c==null?void 0:c.$inner)}_(y,"getInner");function p(c){return Te(c??{},o=>!o.startsWith("$"))}_(p,"extractKeys"),i.prototype.i18n=_(function(o){const a=i(this),f=l(a.meta.description,o);return Object.keys(f).length&&(a.meta.description=f),a.dict&&(a.dict=F(a.dict,(h,m)=>h.i18n(F(o,v=>{var O;return((O=y(v))==null?void 0:O[m])??(v==null?void 0:v[m])})))),a.list&&(a.list=a.list.map((h,m)=>h.i18n(F(o,(v={})=>Array.isArray(y(v))?y(v)[m]:Array.isArray(v)?v[m]:p(v))))),a.inner&&(a.inner=a.inner.i18n(F(o,h=>y(h)?y(h):p(h)))),a.sKey&&(a.sKey=a.sKey.i18n(F(o,h=>h==null?void 0:h.$key))),a},"i18n"),i.prototype.extra=_(function(o,a){const f=i(this);return f.meta={...f.meta,[o]:a},f},"extra");for(const c of["required","disabled","collapse","hidden","loose"])Object.assign(i.prototype,{[c](o=!0){const a=i(this);return a.meta={...a.meta,[c]:o},a}});i.prototype.deprecated=_(function(){var a;const o=i(this);return(a=o.meta).badges||(a.badges=[]),o.meta.badges.push({text:"deprecated",type:"danger"}),o},"deprecated"),i.prototype.experimental=_(function(){var a;const o=i(this);return(a=o.meta).badges||(a.badges=[]),o.meta.badges.push({text:"experimental",type:"warning"}),o},"experimental"),i.prototype.pattern=_(function(o){const a=i(this),f=Ae(o,["source","flags"]);return a.meta={...a.meta,pattern:f},a},"pattern"),i.prototype.simplify=_(function(o){if(mt(o,this.meta.default,this.type==="dict"))return null;if(T(o))return o;if(this.type==="object"||this.type==="dict"){const a={};for(const f in o){const h=this.type==="object"?this.dict[f]:this.inner,m=h==null?void 0:h.simplify(o[f]);(this.type==="dict"||!T(m))&&(a[f]=m)}return mt(a,this.meta.default,this.type==="dict")?null:a}else if(this.type==="array"||this.type==="tuple"){const a=[];return o.forEach((f,h)=>{const m=this.type==="array"?this.inner:this.list[h],v=m?m.simplify(f):f;a.push(v)}),a}else if(this.type==="intersect"){const a={};for(const f of this.list)Object.assign(a,f.simplify(o));return a}else if(this.type==="union")for(const a of this.list)try{return i.resolve(o,a,{}),a.simplify(o)}catch{}return o},"simplify"),i.prototype.toString=_(function(o){var a;return((a=I[this.type])==null?void 0:a.call(I,this,o))??`Schema<${this.type}>`},"toString"),i.prototype.role=_(function(c,o){const a=i(this);return a.meta={...a.meta,role:c,extra:o},a},"role");for(const c of["default","link","comment","description","max","min","step"])Object.assign(i.prototype,{[c](o){const a=i(this);return a.meta={...a.meta,[c]:o},a}});var u={};i.extend=_(function(o,a){u[o]=a},"extend"),i.resolve=_(function(o,a,f={},h=!1){var v;if(!a)return[o];if((v=f.ignore)!=null&&v.call(f,o,a))return[o];if(T(o)&&a.type!=="lazy"){if(a.meta.required)throw new s("missing required value",f);let O=a,D=a.meta.default;for(;(O==null?void 0:O.type)==="intersect"&&T(D);)O=O.list[0],D=O==null?void 0:O.meta.default;if(T(D))return[o];o=Ie(D)}const m=u[a.type];if(!m)throw new s(`unsupported type "${a.type}"`,f);try{return m(o,a,f,h)}catch(O){if(!a.meta.loose)throw O;return[a.meta.default]}},"resolve"),i.from=_(function(o){if(T(o))return i.any();if(["string","number","boolean"].includes(typeof o))return i.const(o).required();if(o[e])return o;if(typeof o=="function")switch(o){case String:return i.string().required();case Number:return i.number().required();case Boolean:return i.boolean().required();case Function:return i.function().required();default:return i.is(o).required()}else throw new TypeError(`cannot infer schema from ${o}`)},"from"),i.lazy=_(function(o){const a=_(()=>(f.inner[e]||(f.inner=f.builder(),f.inner.meta={...f.meta,...f.inner.meta}),f.inner.toJSON()),"toJSON"),f=new i({type:"lazy",builder:o,inner:{toJSON:a}});return f},"lazy"),i.natural=_(function(){return i.number().step(1).min(0)},"natural"),i.percent=_(function(){return i.number().step(.01).min(0).max(1).role("slider")},"percent"),i.date=_(function(){return i.union([i.is(Date),i.transform(i.string().role("datetime"),(o,a)=>{const f=new Date(o);if(isNaN(+f))throw new s(`invalid date "${o}"`,a);return f},!0)])},"date"),i.regExp=_(function(o=""){return i.union([i.is(RegExp),i.transform(i.string().role("regexp",{flag:o}),(a,f)=>{try{return new RegExp(a,o)}catch(h){throw new s(h.message,f)}},!0)])},"regExp"),i.arrayBuffer=_(function(o){return i.union([i.is(ArrayBuffer),i.is(SharedArrayBuffer),i.transform(i.any(),(a,f)=>{if(ht.isSource(a))return ht.fromSource(a);throw new s(`expected ArrayBufferSource but got ${a}`,f)},!0),...o?[i.transform(i.string(),(a,f)=>{try{return o==="base64"?ht.fromBase64(a):ht.fromHex(a)}catch(h){throw new s(h.message,f)}},!0)]:[]])},"arrayBuffer"),i.extend("lazy",(c,o,a,f)=>(o.inner[e]||(o.inner=o.builder(),o.inner.meta={...o.meta,...o.inner.meta}),i.resolve(c,o.inner,a,f))),i.extend("any",c=>[c]),i.extend("never",(c,o,a)=>{throw new s(`expected nullable but got ${c}`,a)}),i.extend("const",(c,{value:o},a)=>{if(mt(c,o))return[o];throw new s(`expected ${o} but got ${c}`,a)});function g(c,o,a,f,h=!1){const{max:m=1/0,min:v=-1/0}=o;if(c>m)throw new s(`expected ${a} <= ${m} but got ${c}`,f);if(c<v&&!h)throw new s(`expected ${a} >= ${v} but got ${c}`,f)}_(g,"checkWithinRange"),i.extend("string",(c,{meta:o},a)=>{if(typeof c!="string")throw new s(`expected string but got ${c}`,a);if(o.pattern){const f=new RegExp(o.pattern.source,o.pattern.flags);if(!f.test(c))throw new s(`expect string to match regexp ${f}`,a)}return g(c.length,o,"string length",a),[c]});function w(c,o){const a=c.toString();if(a.includes("e"))return c*Math.pow(10,o);const f=a.indexOf(".");if(f===-1)return c*Math.pow(10,o);const h=a.slice(f+1),m=a.slice(0,f);return h.length<=o?+(m+h.padEnd(o,"0")):+(m+h.slice(0,o)+"."+h.slice(o))}_(w,"decimalShift");function x(c,o,a){if(a=Math.abs(a),!/^\d+\.\d+$/.test(a.toString()))return(c-o)%a===0;const f=a.toString().indexOf("."),h=a.toString().slice(f+1).length;return Math.abs(w(c,h)-w(o,h))%w(a,h)===0}_(x,"isMultipleOf"),i.extend("number",(c,{meta:o},a)=>{if(typeof c!="number")throw new s(`expected number but got ${c}`,a);g(c,o,"number",a);const{step:f}=o;if(f&&!x(c,o.min??0,f))throw new s(`expected number multiple of ${f} but got ${c}`,a);return[c]}),i.extend("boolean",(c,o,a)=>{if(typeof c=="boolean")return[c];throw new s(`expected boolean but got ${c}`,a)}),i.extend("bitset",(c,{bits:o,meta:a},f)=>{let h=0,m=[];if(typeof c=="number"){h=c;for(const v in o)c&o[v]&&m.push(v)}else if(Array.isArray(c)){m=c;for(const v of m){if(typeof v!="string")throw new s(`expected string but got ${v}`,f);v in o&&(h|=o[v])}}else throw new s(`expected number or array but got ${c}`,f);return h===a.default?[h]:[h,m]}),i.extend("function",(c,o,a)=>{if(typeof c=="function")return[c];throw new s(`expected function but got ${c}`,a)}),i.extend("is",(c,{constructor:o},a)=>{var f;if(typeof o=="function"){if(c instanceof o)return[c];throw new s(`expected ${o.name} but got ${c}`,a)}else{if(T(c))throw new s(`expected ${o} but got ${c}`,a);let h=Object.getPrototypeOf(c);for(;h;){if(((f=h.constructor)==null?void 0:f.name)===o)return[c];h=Object.getPrototypeOf(h)}throw new s(`expected ${o} but got ${c}`,a)}});function k(c,o,a,f){try{const[h,m]=i.resolve(c[o],a,{...f,path:[...f.path||[],o]});return m!==void 0&&(c[o]=m),h}catch(h){if(!(f!=null&&f.autofix))throw h;return delete c[o],a.meta.default}}_(k,"property"),i.extend("array",(c,{inner:o,meta:a},f)=>{if(!Array.isArray(c))throw new s(`expected array but got ${c}`,f);return g(c.length,a,"array length",f,!T(o.meta.default)),[c.map((h,m)=>k(c,m,o,f))]}),i.extend("dict",(c,{inner:o,sKey:a},f,h)=>{if(!Ot(c))throw new s(`expected object but got ${c}`,f);const m={};for(const v in c){let O;try{O=i.resolve(v,a,f)[0]}catch(D){if(h)continue;throw D}m[O]=k(c,v,o,f),c[O]=c[v],v!==O&&delete c[v]}return[m]}),i.extend("tuple",(c,{list:o},a,f)=>{if(!Array.isArray(c))throw new s(`expected array but got ${c}`,a);const h=o.map((m,v)=>k(c,v,m,a));return f?[h]:(h.push(...c.slice(o.length)),[h])});function R(c,o){for(const a in o)a in c||(c[a]=o[a])}_(R,"merge"),i.extend("object",(c,{dict:o},a,f)=>{if(!Ot(c))throw new s(`expected object but got ${c}`,a);const h={};for(const m in o){const v=k(c,m,o[m],a);(!T(v)||m in c)&&(h[m]=v)}return f||R(h,c),[h]}),i.extend("union",(c,{list:o,toString:a},f,h)=>{for(const m of o)try{return i.resolve(c,m,f,h)}catch{}throw new s(`expected ${a()} but got ${JSON.stringify(c)}`,f)}),i.extend("intersect",(c,{list:o,toString:a},f,h)=>{if(!o.length)return[c];let m;for(const v of o){const O=i.resolve(c,v,f,!0)[0];if(!T(O))if(T(m))m=O;else{if(typeof m!=typeof O)throw new s(`expected ${a()} but got ${JSON.stringify(c)}`,f);if(typeof O=="object")R(m??(m={}),O);else if(m!==O)throw new s(`expected ${a()} but got ${JSON.stringify(c)}`,f)}}return!h&&Ot(c)&&R(m,c),[m]}),i.extend("transform",(c,{inner:o,callback:a,preserve:f},h)=>{const[m,v=c]=i.resolve(c,o,h,!0);return f?[a(m)]:[a(m),a(v)]});var I={};function $(c,o,a){I[c]=a,Object.assign(i,{[c](...f){const h=new i({type:c});return o.forEach((m,v)=>{switch(m){case"sKey":h.sKey=f[v]??i.string();break;case"inner":h.inner=i.from(f[v]);break;case"list":h.list=f[v].map(i.from);break;case"dict":h.dict=F(f[v],i.from);break;case"bits":{h.bits={};for(const O in f[v])typeof f[v][O]=="number"&&(h.bits[O]=f[v][O]);break}case"callback":{const O=h.callback=f[v];O.toJSON||(O.toJSON=()=>O.toString());break}case"constructor":{const O=h.constructor=f[v];typeof O=="function"&&(O.toJSON||(O.toJSON=()=>O.name));break}default:h[m]=f[v]}}),c==="object"||c==="dict"?h.meta.default={}:c==="array"||c==="tuple"?h.meta.default=[]:c==="bitset"&&(h.meta.default=0),h}})}_($,"defineMethod"),$("is",["constructor"],({constructor:c})=>typeof c=="function"?c.name:c),$("any",[],()=>"any"),$("never",[],()=>"never"),$("const",["value"],({value:c})=>typeof c=="string"?JSON.stringify(c):c),$("string",[],()=>"string"),$("number",[],()=>"number"),$("boolean",[],()=>"boolean"),$("bitset",["bits"],()=>"bitset"),$("function",[],()=>"function"),$("array",["inner"],({inner:c})=>`${c.toString(!0)}[]`),$("dict",["inner","sKey"],({inner:c,sKey:o})=>`{ [key: ${o.toString()}]: ${c.toString()} }`),$("tuple",["list"],({list:c})=>`[${c.map(o=>o.toString()).join(", ")}]`),$("object",["dict"],({dict:c})=>Object.keys(c).length===0?"{}":`{ ${Object.entries(c).map(([o,a])=>`${o}${a.meta.required?"":"?"}: ${a.toString()}`).join(", ")} }`),$("union",["list"],({list:c},o)=>{const a=c.map(({toString:f})=>f()).join(" | ");return o?`(${a})`:a}),$("intersect",["list"],({list:c})=>`${c.map(o=>o.toString(!0)).join(" & ")}`),$("transform",["inner","callback","preserve"],({inner:c},o)=>c.toString(o)),t.exports=i}});const Wr=Lr();var Fr=Object.defineProperty,Br=(n,t)=>Fr(n,"name",{value:t,configurable:!0}),he=Symbol("cordis.schema.order"),ot,Jr=(ot=class{constructor(t){b(this,"_data",Wr.intersect([]));this.ctx=t,A(this,V.tracker,{property:"ctx"})}extend(t,e=0){const r=this._data.list.findIndex(s=>s[he]<e);return t[he]=e,this.ctx.effect(()=>(r>=0?this._data.list.splice(r,0,t):this._data.list.push(t),this.ctx.emit("internal/service-schema"),()=>{W(this._data.list,t),this.ctx.emit("internal/service-schema")}))}toJSON(){return this._data.toJSON()}},Br(ot,"SchemaService"),ot),zr=Object.defineProperty,dt=(n,t)=>zr(n,"name",{value:t,configurable:!0}),ct,Ur=(ct=class extends V{constructor(t){super(t,"timer",!0),t.mixin("timer",["setTimeout","setInterval","sleep","throttle","debounce"])}setTimeout(t,e){const r=this[P.current].effect(()=>{const s=setTimeout(()=>{r(),t()},e);return()=>clearTimeout(s)});return r}setInterval(t,e){return this[P.current].effect(()=>{const r=setInterval(t,e);return()=>clearInterval(r)})}sleep(t){const e=this[P.current];return new Promise((r,s)=>{const i=this.setTimeout(()=>{i(),l(),r()},t),l=e.on("dispose",()=>{i(),l(),s(new Error("Context has been disposed"))})})}createWrapper(t,e=!1){const r=this[P.current];r.scope.assertActive();let s;const i=dt(()=>{e=!0,W(r.scope.disposables,i),clearTimeout(s)},"dispose"),l=dt((...y)=>{clearTimeout(s),s=t(y,()=>!e&&r.scope.isActive)},"wrapper");return l.dispose=i,r.scope.disposables.push(i),l}throttle(t,e,r){let s=-1/0;const i=dt((...l)=>{s=Date.now(),t(...l)},"execute");return this.createWrapper((l,y)=>{const p=Date.now(),u=e-(p-s);if(u<=0)i(...l);else if(y())return setTimeout(i,u,...l)},r)}debounce(t,e){return this.createWrapper((r,s)=>{if(s())return setTimeout(t,e,...r)})}},dt(ct,"TimerService"),ct),Vr=Object.defineProperty,Vt=(n,t)=>Vr(n,"name",{value:t,configurable:!0}),at,Kr=(at=class extends P{constructor(e){var r,s;super(e);b(this,"baseDir");this.baseDir=((s=(r=globalThis.process)==null?void 0:r.cwd)==null?void 0:s.call(r))||"",this.provide("logger",void 0,!0),this.provide("timer",void 0,!0),this.plugin(Cr),this.plugin(Ur)}},Vt(at,"Context"),at),lt,Xr=(lt=class extends V{constructor(...e){super(...e);b(this,"logger");b(this,"schema");this.logger=this.ctx.logger(this.name),this.schema=new Jr(this.ctx)}[V.setup](){this.ctx=new Kr}},Vt(lt,"Service"),lt);function Gr(){}Vt(Gr,"default");export{Kr as C,de as E,Fe as F,bt as I,Tr as L,Zt as M,Xr as S,Ur as T,Wr as a,Tt as b,At as c,Je as d,Le as e,We as f,Rt as g,q as h,It as i,Dt as j,Wt as k,pe as l,Lt as m,ft as n,Ke as r,d as s,tt as w};
9
+ //# sourceMappingURL=_elements-sdk_cordis-e3bebc89.js.map