@kumori/kdsl 0.0.15 → 0.0.17

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 (93) hide show
  1. package/dist/build/deployment_spec.d.ts +1133 -19642
  2. package/dist/build/deployment_spec.js +14 -13
  3. package/dist/build/deployment_spec.js.map +1 -1
  4. package/dist/build/helpers/builtin.js +7 -9
  5. package/dist/build/helpers/builtin.js.map +1 -1
  6. package/dist/build/helpers/component.d.ts +2 -2
  7. package/dist/build/helpers/component.js +28 -28
  8. package/dist/build/helpers/component.js.map +1 -1
  9. package/dist/build/helpers/connector.js +4 -5
  10. package/dist/build/helpers/connector.js.map +1 -1
  11. package/dist/build/helpers/deployment.d.ts +96 -96
  12. package/dist/build/helpers/deployment.js +8 -9
  13. package/dist/build/helpers/deployment.js.map +1 -1
  14. package/dist/build/helpers/resource.d.ts +4 -4
  15. package/dist/build/helpers/service.d.ts +1 -1
  16. package/dist/build/helpers/service.js +31 -33
  17. package/dist/build/helpers/service.js.map +1 -1
  18. package/dist/build/helpers/utils.d.ts +8 -0
  19. package/dist/build/helpers/utils.js +23 -1
  20. package/dist/build/helpers/utils.js.map +1 -1
  21. package/dist/build/main.js +51 -2
  22. package/dist/build/main.js.map +1 -1
  23. package/dist/build/solution.js +2 -3
  24. package/dist/build/solution.js.map +1 -1
  25. package/dist/check/main.js +1 -1
  26. package/dist/check/main.js.map +1 -1
  27. package/dist/deployment/gen/deployment-template.kumori +33 -0
  28. package/dist/deployment/gen/main.d.ts +15 -0
  29. package/dist/deployment/gen/main.js +158 -0
  30. package/dist/deployment/gen/main.js.map +1 -0
  31. package/dist/deployment/gen/types.d.ts +27 -0
  32. package/dist/deployment/gen/types.js +2 -0
  33. package/dist/deployment/gen/types.js.map +1 -0
  34. package/dist/deployment/main.d.ts +8 -0
  35. package/dist/deployment/main.js +17 -0
  36. package/dist/deployment/main.js.map +1 -0
  37. package/dist/index/create/main.js +38 -16
  38. package/dist/index/create/main.js.map +1 -1
  39. package/dist/lib/build.js +42 -28
  40. package/dist/lib/build.js.map +1 -1
  41. package/dist/lib/check.js +45 -15
  42. package/dist/lib/check.js.map +1 -1
  43. package/dist/lib/clean.js +39 -1
  44. package/dist/lib/deployment.d.ts +35 -0
  45. package/dist/lib/deployment.js +31 -0
  46. package/dist/lib/deployment.js.map +1 -0
  47. package/dist/lib/index-cmd.js +60 -57
  48. package/dist/lib/index-cmd.js.map +1 -1
  49. package/dist/lib/index.d.ts +2 -0
  50. package/dist/lib/index.js +54 -117
  51. package/dist/lib/index.js.map +1 -1
  52. package/dist/lib/logger.js +1 -1
  53. package/dist/lib/logger.js.map +1 -1
  54. package/dist/lib/mod.js +144 -70
  55. package/dist/lib/mod.js.map +1 -1
  56. package/dist/lib/registry.d.ts +19 -4
  57. package/dist/lib/registry.js +67 -1
  58. package/dist/lib/registry.js.map +1 -1
  59. package/dist/lib/types.d.ts +5 -0
  60. package/dist/main.js +7 -1
  61. package/dist/main.js.map +1 -1
  62. package/dist/mod/dependency/main.js +17 -10
  63. package/dist/mod/dependency/main.js.map +1 -1
  64. package/dist/mod/download/functions.js +5 -5
  65. package/dist/mod/download/functions.js.map +1 -1
  66. package/dist/mod/download/main.js +12 -2
  67. package/dist/mod/download/main.js.map +1 -1
  68. package/dist/mod/init/main.js +1 -1
  69. package/dist/mod/init/main.js.map +1 -1
  70. package/dist/mod/jsonschema/gen/main.js +14 -7
  71. package/dist/mod/jsonschema/gen/main.js.map +1 -1
  72. package/dist/mod/jsonschema/get/main.js +10 -2
  73. package/dist/mod/jsonschema/get/main.js.map +1 -1
  74. package/dist/mod/update/main.js +3 -4
  75. package/dist/mod/update/main.js.map +1 -1
  76. package/dist/registry/add.d.ts +1 -1
  77. package/dist/registry/add.js +12 -7
  78. package/dist/registry/add.js.map +1 -1
  79. package/dist/util/err-format.js +1 -2
  80. package/dist/util/err-format.js.map +1 -1
  81. package/dist/version.js +1 -2
  82. package/dist/version.js.map +1 -1
  83. package/out/deployment/gen/deployment-template.kumori +33 -0
  84. package/out/deployment-template.kumori +33 -0
  85. package/out/main.cjs +378 -209
  86. package/package.json +21 -15
  87. package/out/lib/build.cjs +0 -29
  88. package/out/lib/check.cjs +0 -16
  89. package/out/lib/clean.cjs +0 -2
  90. package/out/lib/index-cmd.cjs +0 -58
  91. package/out/lib/index.cjs +0 -118
  92. package/out/lib/mod.cjs +0 -71
  93. package/out/lib/registry.cjs +0 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kumori/kdsl",
3
- "version": "0.0.15",
3
+ "version": "0.0.17",
4
4
  "private": false,
5
5
  "files": [
6
6
  "bin",
@@ -26,6 +26,11 @@
26
26
  "require": "./out/lib/build.cjs",
27
27
  "types": "./dist/lib/build.d.ts"
28
28
  },
29
+ "./deployment": {
30
+ "import": "./dist/lib/deployment.js",
31
+ "require": "./out/lib/deployment.cjs",
32
+ "types": "./dist/lib/deployment.d.ts"
33
+ },
29
34
  "./check": {
30
35
  "import": "./dist/lib/check.js",
31
36
  "require": "./out/lib/check.cjs",
@@ -53,11 +58,11 @@
53
58
  }
54
59
  },
55
60
  "scripts": {
56
- "build": "npm run fix && npm run build:types && npm run build:cli && npm run build:lib && npm run copy-loader",
61
+ "build": "npm run fix && npm run build:types && npm run build:cli && npm run copy-loader",
57
62
  "build:types": "tsc -b tsconfig.json",
58
63
  "build:cli": "node esbuild.mjs --minify",
59
64
  "build:lib": "node esbuild.mjs --minify --target=cjs && node esbuild.mjs --minify --target=esm",
60
- "copy-loader": "mkdir -p out/lib dist/lib && rsync -av --include='*/' --include='*.kumori' --exclude='*' ../lsp/dist/language/builtin/lib/ out/lib/ && rsync -av --include='*/' --include='*.kumori' --exclude='*' ../lsp/dist/language/builtin/lib/ dist/lib/",
65
+ "copy-loader": "mkdir -p out/lib dist/lib && rsync -av --include='*/' --include='*.kumori' --exclude='*' src/ out/ && rsync -av --include='*/' --include='*.kumori' --exclude='*' src/ dist/ && rsync -av --include='*/' --include='*.kumori' --exclude='*' ../lsp/dist/language/builtin/lib/ out/lib/ && rsync -av --include='*/' --include='*.kumori' --exclude='*' ../lsp/dist/language/builtin/lib/ dist/lib/ && bash -c 'shopt -s globstar && cp src/**/*.kumori out/'",
61
66
  "test": "vitest run",
62
67
  "clean": "rm -rf dist/ out/ tsconfig.tsbuildinfo",
63
68
  "prepublishOnly": "npm run build",
@@ -66,12 +71,13 @@
66
71
  "fix": "npm run lint && npm run prettier"
67
72
  },
68
73
  "dependencies": {
69
- "@commander-js/extra-typings": "^13.1.0",
70
- "@kumori/kdsl-lsp": "0.0.1-alpha.13",
71
- "ajv": "^6.12.6",
72
- "chalk": "~5.3.0",
73
- "commander": "~13.1.0",
74
- "zod": "^3.24.2"
74
+ "@commander-js/extra-typings": "^14.0.0",
75
+ "@inquirer/prompts": "^8.0.2",
76
+ "@kumori/kdsl-lsp": "0.0.1-alpha.14",
77
+ "ajv": "^8.17.1",
78
+ "chalk": "~5.6.2",
79
+ "commander": "~14.0.2",
80
+ "zod": "^4.1.13"
75
81
  },
76
82
  "license": "EUPL",
77
83
  "keywords": [
@@ -83,11 +89,11 @@
83
89
  ],
84
90
  "gitHead": "89bea74c68de5f90f37ccc0e64b340408c90b76d",
85
91
  "devDependencies": {
86
- "@eslint/js": "^9.35.0",
87
- "eslint": "^9.35.0",
88
- "globals": "^16.4.0",
89
- "jiti": "^2.5.1",
90
- "prettier": "3.6.2",
91
- "typescript-eslint": "^8.44.0"
92
+ "@eslint/js": "^9.39.1",
93
+ "eslint": "^9.39.1",
94
+ "globals": "^16.5.0",
95
+ "jiti": "^2.6.1",
96
+ "prettier": "3.7.3",
97
+ "typescript-eslint": "^8.48.0"
92
98
  }
93
99
  }
package/out/lib/build.cjs DELETED
@@ -1,29 +0,0 @@
1
- const __importMetaUrl = require('url').pathToFileURL(__filename).href;
2
- "use strict";var Ot=Object.create;var H=Object.defineProperty,kt=Object.defineProperties,Dt=Object.getOwnPropertyDescriptor,Et=Object.getOwnPropertyDescriptors,Pt=Object.getOwnPropertyNames,Me=Object.getOwnPropertySymbols,Tt=Object.getPrototypeOf,Oe=Object.prototype.hasOwnProperty,Rt=Object.prototype.propertyIsEnumerable;var xe=(t,e)=>(e=Symbol[t])?e:Symbol.for("Symbol."+t);var ae=(t,e,r)=>e in t?H(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,m=(t,e)=>{for(var r in e||(e={}))Oe.call(e,r)&&ae(t,r,e[r]);if(Me)for(var r of Me(e))Rt.call(e,r)&&ae(t,r,e[r]);return t},b=(t,e)=>kt(t,Et(e));var _t=(t,e)=>{for(var r in e)H(t,r,{get:e[r],enumerable:!0})},ke=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Pt(e))!Oe.call(t,n)&&n!==r&&H(t,n,{get:()=>e[n],enumerable:!(o=Dt(e,n))||o.enumerable});return t};var le=(t,e,r)=>(r=t!=null?Ot(Tt(t)):{},ke(e||!t||!t.__esModule?H(r,"default",{value:t,enumerable:!0}):r,t)),Nt=t=>ke(H({},"__esModule",{value:!0}),t);var O=(t,e,r)=>(ae(t,typeof e!="symbol"?e+"":e,r),r);var De=(t,e,r)=>{if(e!=null){if(typeof e!="object"&&typeof e!="function")throw TypeError("Object expected");var o;if(r&&(o=e[xe("asyncDispose")]),o===void 0&&(o=e[xe("dispose")]),typeof o!="function")throw TypeError("Object not disposable");t.push([r,o,e])}else r&&t.push([r]);return e},Ee=(t,e,r)=>{var o=typeof SuppressedError=="function"?SuppressedError:function(s,a,u,c){return c=Error(u),c.name="SuppressedError",c.error=s,c.suppressed=a,c},n=s=>e=r?new o(s,e,"An error was suppressed during disposal"):(r=!0,s),i=s=>{for(;s=t.pop();)try{var a=s[1]&&s[1].call(s[2]);if(s[0])return Promise.resolve(a).then(i,u=>(n(u),i()))}catch(u){n(u)}if(r)throw e};return i()};var sr={};_t(sr,{build:()=>ir});module.exports=Nt(sr);var N=function(t){return t.info="info",t.warn="warn",t.error="error",t.debug="debug",t.trace="trace",t.fatal="fatal",t}({}),lr={[N.trace]:10,[N.debug]:20,[N.info]:30,[N.warn]:40,[N.error]:50,[N.fatal]:60},ur={10:N.trace,20:N.debug,30:N.info,40:N.warn,50:N.error,60:N.fatal};var P=function(t){return t.onBeforeDataOut="onBeforeDataOut",t.shouldSendToLogger="shouldSendToLogger",t.onMetadataCalled="onMetadataCalled",t.onBeforeMessageOut="onBeforeMessageOut",t.onContextCalled="onContextCalled",t}({});var S=function(t){return t.info="info",t.warn="warn",t.error="error",t.debug="debug",t.trace="trace",t.fatal="fatal",t}({}),Q={[S.trace]:10,[S.debug]:20,[S.info]:30,[S.warn]:40,[S.error]:50,[S.fatal]:60},mr={10:S.trace,20:S.debug,30:S.info,40:S.warn,50:S.error,60:S.fatal};var Pe=class Te{constructor(){O(this,"context",{});O(this,"hasContext",!1)}setContext(e){if(!e){this.context={},this.hasContext=!1;return}this.context=e,this.hasContext=!0}appendContext(e){this.context=m(m({},this.context),e),this.hasContext=!0}getContext(){return this.context}hasContextData(){return this.hasContext}onChildLoggerCreated({parentContextManager:e,childContextManager:r}){if(e.hasContextData()){let o=e.getContext();r.setContext(m({},o))}}clone(){let e=new Te;return e.setContext(m({},this.context)),e.hasContext=this.hasContext,e}};var Re=class{constructor(t){O(this,"err");O(this,"metadata");O(this,"structuredLogger");O(this,"hasMetadata");O(this,"pluginManager");this.err=null,this.metadata={},this.structuredLogger=t,this.hasMetadata=!1,this.pluginManager=t.pluginManager}withMetadata(t){let{pluginManager:e,structuredLogger:{_config:{consoleDebug:r}}}=this;if(!t)return r&&console.debug("[LogLayer] withMetadata was called with no metadata; dropping."),this;let o=t;return e.hasPlugins(P.onMetadataCalled)&&(o=e.runOnMetadataCalled(t,this.structuredLogger),!o)?(r&&console.debug("[LogLayer] Metadata was dropped due to plugin returning falsy value."),this):(this.metadata=m(m({},this.metadata),o),this.hasMetadata=!0,this)}withError(t){return this.err=t,this}info(...t){this.structuredLogger.isLevelEnabled(S.info)&&(this.structuredLogger._formatMessage(t),this.formatLog(S.info,t))}warn(...t){this.structuredLogger.isLevelEnabled(S.warn)&&(this.structuredLogger._formatMessage(t),this.formatLog(S.warn,t))}error(...t){this.structuredLogger.isLevelEnabled(S.error)&&(this.structuredLogger._formatMessage(t),this.formatLog(S.error,t))}debug(...t){this.structuredLogger.isLevelEnabled(S.debug)&&(this.structuredLogger._formatMessage(t),this.formatLog(S.debug,t))}trace(...t){this.structuredLogger.isLevelEnabled(S.trace)&&(this.structuredLogger._formatMessage(t),this.formatLog(S.trace,t))}fatal(...t){this.structuredLogger.isLevelEnabled(S.fatal)&&(this.structuredLogger._formatMessage(t),this.formatLog(S.fatal,t))}disableLogging(){return this.structuredLogger.disableLogging(),this}enableLogging(){return this.structuredLogger.enableLogging(),this}formatLog(t,e){let{muteMetadata:r}=this.structuredLogger._config,o=r?!1:this.hasMetadata;this.structuredLogger._formatLog({logLevel:t,params:e,metadata:o?this.metadata:null,err:this.err})}},$t=[P.onBeforeDataOut,P.onMetadataCalled,P.shouldSendToLogger,P.onBeforeMessageOut,P.onContextCalled],_e=class{constructor(t){O(this,"idToPlugin");O(this,"onBeforeDataOut",[]);O(this,"shouldSendToLogger",[]);O(this,"onMetadataCalled",[]);O(this,"onBeforeMessageOut",[]);O(this,"onContextCalled",[]);this.idToPlugin={},this.mapPlugins(t),this.indexPlugins()}mapPlugins(t){for(let e of t){if(e.id||(e.id=Date.now().toString()+Math.random().toString()),this.idToPlugin[e.id])throw new Error(`[LogLayer] Plugin with id ${e.id} already exists.`);e.registeredAt=Date.now(),this.idToPlugin[e.id]=e}}indexPlugins(){this.onBeforeDataOut=[],this.shouldSendToLogger=[],this.onMetadataCalled=[],this.onBeforeMessageOut=[],this.onContextCalled=[];let t=Object.values(this.idToPlugin).sort((e,r)=>e.registeredAt-r.registeredAt);for(let e of t){if(e.disabled)return;for(let r of $t)e[r]&&e.id&&this[r].push(e.id)}}hasPlugins(t){return this[t].length>0}countPlugins(t){return t?this[t].length:Object.keys(this.idToPlugin).length}addPlugins(t){this.mapPlugins(t),this.indexPlugins()}enablePlugin(t){let e=this.idToPlugin[t];e&&(e.disabled=!1),this.indexPlugins()}disablePlugin(t){let e=this.idToPlugin[t];e&&(e.disabled=!0),this.indexPlugins()}removePlugin(t){delete this.idToPlugin[t],this.indexPlugins()}runOnBeforeDataOut(t,e){let r=m({},t);for(let o of this.onBeforeDataOut){let n=this.idToPlugin[o];if(n.onBeforeDataOut){let i=n.onBeforeDataOut({data:r.data,logLevel:r.logLevel,error:r.error,metadata:r.metadata,context:r.context},e);i&&(r.data||(r.data={}),Object.assign(r.data,i))}}return r.data}runShouldSendToLogger(t,e){return!this.shouldSendToLogger.some(r=>{var o,n;return!((n=(o=this.idToPlugin[r]).shouldSendToLogger)!=null&&n.call(o,t,e))})}runOnMetadataCalled(t,e){var o,n;let r=m({},t);for(let i of this.onMetadataCalled){let s=(n=(o=this.idToPlugin[i]).onMetadataCalled)==null?void 0:n.call(o,r,e);if(s)r=s;else return null}return r}runOnBeforeMessageOut(t,e){var o,n;let r=[...t.messages];for(let i of this.onBeforeMessageOut){let s=(n=(o=this.idToPlugin[i]).onBeforeMessageOut)==null?void 0:n.call(o,{messages:r,logLevel:t.logLevel},e);s&&(r=s)}return r}runOnContextCalled(t,e){var o,n;let r=m({},t);for(let i of this.onContextCalled){let s=(n=(o=this.idToPlugin[i]).onContextCalled)==null?void 0:n.call(o,r,e);if(s)r=s;else return null}return r}},Ne=class $e{constructor(e){O(this,"pluginManager");O(this,"idToTransport");O(this,"hasMultipleTransports");O(this,"singleTransport");O(this,"contextManager");O(this,"logLevelEnabledStatus",{info:!0,warn:!0,error:!0,debug:!0,trace:!0,fatal:!0});O(this,"_config");var r;this._config=b(m({},e),{enabled:(r=e.enabled)!=null?r:!0}),this._config.enabled||this.disableLogging(),this.contextManager=new Pe,this.pluginManager=new _e(e.plugins||[]),this._config.errorFieldName||(this._config.errorFieldName="err"),this._config.copyMsgOnOnlyError||(this._config.copyMsgOnOnlyError=!1),this._initializeTransports(this._config.transport)}withContextManager(e){return this.contextManager&&typeof this.contextManager[Symbol.dispose]=="function"&&this.contextManager[Symbol.dispose](),this.contextManager=e,this}getContextManager(){return this.contextManager}_initializeTransports(e){if(this.idToTransport)for(let r in this.idToTransport)this.idToTransport[r]&&typeof this.idToTransport[r][Symbol.dispose]=="function"&&this.idToTransport[r][Symbol.dispose]();this.hasMultipleTransports=Array.isArray(e)&&e.length>1,this.singleTransport=this.hasMultipleTransports?null:Array.isArray(e)?e[0]:e,Array.isArray(e)?this.idToTransport=e.reduce((r,o)=>(r[o.id]=o,r),{}):this.idToTransport={[e.id]:e}}withPrefix(e){let r=this.child();return r._config.prefix=e,r}withContext(e){let r=e;return e?this.pluginManager.hasPlugins(P.onContextCalled)&&(r=this.pluginManager.runOnContextCalled(e,this),!r)?(this._config.consoleDebug&&console.debug("[LogLayer] Context was dropped due to plugin returning falsy value."),this):(this.contextManager.appendContext(r),this):(this._config.consoleDebug&&console.debug("[LogLayer] withContext was called with no context; dropping."),this)}clearContext(){return this.contextManager.setContext(void 0),this}getContext(){return this.contextManager.getContext()}addPlugins(e){this.pluginManager.addPlugins(e)}enablePlugin(e){this.pluginManager.enablePlugin(e)}disablePlugin(e){this.pluginManager.disablePlugin(e)}removePlugin(e){this.pluginManager.removePlugin(e)}withMetadata(e){return new Re(this).withMetadata(e)}withError(e){return new Re(this).withError(e)}child(){let e=new $e(b(m({},this._config),{transport:Array.isArray(this._config.transport)?[...this._config.transport]:this._config.transport})).withPluginManager(this.pluginManager).withContextManager(this.contextManager.clone());return this.contextManager.onChildLoggerCreated({parentContextManager:this.contextManager,childContextManager:e.contextManager,parentLogger:this,childLogger:e}),e}withFreshTransports(e){return this._config.transport=e,this._initializeTransports(e),this}withFreshPlugins(e){return this._config.plugins=e,this.pluginManager=new _e(e),this}withPluginManager(e){return this.pluginManager=e,this}errorOnly(e,r){let o=(r==null?void 0:r.logLevel)||S.error;if(!this.isLevelEnabled(o))return;let{copyMsgOnOnlyError:n}=this._config,i={logLevel:o,err:e};(n&&(r==null?void 0:r.copyMsg)!==!1||(r==null?void 0:r.copyMsg)===!0)&&(e!=null&&e.message)&&(i.params=[e.message]),this._formatLog(i)}metadataOnly(e,r=S.info){if(!this.isLevelEnabled(r))return;let{muteMetadata:o,consoleDebug:n}=this._config;if(o)return;if(!e){n&&console.debug("[LogLayer] metadataOnly was called with no metadata; dropping.");return}let i=e;if(this.pluginManager.hasPlugins(P.onMetadataCalled)&&(i=this.pluginManager.runOnMetadataCalled(e,this),!i)){n&&console.debug("[LogLayer] Metadata was dropped due to plugin returning falsy value.");return}let s={logLevel:r,metadata:i};this._formatLog(s)}info(...e){this.isLevelEnabled(S.info)&&(this._formatMessage(e),this._formatLog({logLevel:S.info,params:e}))}warn(...e){this.isLevelEnabled(S.warn)&&(this._formatMessage(e),this._formatLog({logLevel:S.warn,params:e}))}error(...e){this.isLevelEnabled(S.error)&&(this._formatMessage(e),this._formatLog({logLevel:S.error,params:e}))}debug(...e){this.isLevelEnabled(S.debug)&&(this._formatMessage(e),this._formatLog({logLevel:S.debug,params:e}))}trace(...e){this.isLevelEnabled(S.trace)&&(this._formatMessage(e),this._formatLog({logLevel:S.trace,params:e}))}fatal(...e){this.isLevelEnabled(S.fatal)&&(this._formatMessage(e),this._formatLog({logLevel:S.fatal,params:e}))}raw(e){if(!this.isLevelEnabled(e.logLevel))return;let r={logLevel:e.logLevel,params:e.messages,metadata:e.metadata,err:e.error,context:e.context};this._formatMessage(e.messages),this._formatLog(r)}disableLogging(){for(let e of Object.keys(this.logLevelEnabledStatus))this.logLevelEnabledStatus[e]=!1;return this}enableLogging(){for(let e of Object.keys(this.logLevelEnabledStatus))this.logLevelEnabledStatus[e]=!0;return this}muteContext(){return this._config.muteContext=!0,this}unMuteContext(){return this._config.muteContext=!1,this}muteMetadata(){return this._config.muteMetadata=!0,this}unMuteMetadata(){return this._config.muteMetadata=!1,this}enableIndividualLevel(e){let r=e;return r in this.logLevelEnabledStatus&&(this.logLevelEnabledStatus[r]=!0),this}disableIndividualLevel(e){let r=e;return r in this.logLevelEnabledStatus&&(this.logLevelEnabledStatus[r]=!1),this}setLevel(e){let r=Q[e];for(let o of Object.values(S)){let n=o,i=Q[o];this.logLevelEnabledStatus[n]=i>=r}return this}isLevelEnabled(e){let r=e;return this.logLevelEnabledStatus[r]}formatContext(e){let{contextFieldName:r,muteContext:o}=this._config;return e&&Object.keys(e).length>0&&!o?r?{[r]:m({},e)}:m({},e):{}}formatMetadata(e=null){let{metadataFieldName:r,muteMetadata:o}=this._config;return e&&!o?r?{[r]:m({},e)}:m({},e):{}}getLoggerInstance(e){let r=this.idToTransport[e];if(r)return r.getLoggerInstance()}_formatMessage(e=[]){let{prefix:r}=this._config;r&&typeof e[0]=="string"&&(e[0]=`${r} ${e[0]}`)}_formatLog({logLevel:e,params:r=[],metadata:o=null,err:n,context:i=null}){var w;let{errorSerializer:s,errorFieldInMetadata:a,muteContext:u,contextFieldName:c,metadataFieldName:d,errorFieldName:l}=this._config,g=i!==null?i:this.contextManager.getContext(),h=!!o||(u?!1:i!==null?Object.keys(i).length>0:this.contextManager.hasContextData()),p={};if(h)if(c&&c===d){let L=this.formatContext(g)[c],f=this.formatMetadata(o)[d];p={[c]:m(m({},L),f)}}else p=m(m({},this.formatContext(g)),this.formatMetadata(o));if(n){let L=s?s(n):n;a&&o&&d?p!=null&&p[d]?p[d][l]=L:p=b(m({},p),{[d]:{[l]:L}}):a&&!o&&d?p=b(m({},p),{[d]:{[l]:L}}):p=b(m({},p),{[l]:L}),h=!0}if(this.pluginManager.hasPlugins(P.onBeforeDataOut)&&(p=this.pluginManager.runOnBeforeDataOut({data:h?p:void 0,logLevel:e,error:n,metadata:o,context:g},this),p&&!h&&(h=!0)),this.pluginManager.hasPlugins(P.onBeforeMessageOut)&&(r=this.pluginManager.runOnBeforeMessageOut({messages:[...r],logLevel:e},this)),this.hasMultipleTransports){let L=this._config.transport.filter(f=>f.enabled).map(async f=>{if(!(this.pluginManager.hasPlugins(P.shouldSendToLogger)&&!this.pluginManager.runShouldSendToLogger({messages:[...r],data:h?p:void 0,logLevel:e,transportId:f.id,error:n,metadata:o,context:g},this)))return f._sendToLogger({logLevel:e,messages:[...r],data:h?p:void 0,hasData:h,error:n,metadata:o,context:g})});Promise.all(L).catch(f=>{this._config.consoleDebug&&console.error("[LogLayer] Error executing transports:",f)})}else{if(!((w=this.singleTransport)!=null&&w.enabled)||this.pluginManager.hasPlugins(P.shouldSendToLogger)&&!this.pluginManager.runShouldSendToLogger({messages:[...r],data:h?p:void 0,logLevel:e,transportId:this.singleTransport.id,error:n,metadata:o,context:g},this))return;this.singleTransport._sendToLogger({logLevel:e,messages:[...r],data:h?p:void 0,hasData:h,error:n,metadata:o,context:g})}}};function jt(){let t={debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}};return new Ne({transport:t})}function je(t){return t!=null?t:jt()}var Mt=require("@kumori/kdsl-lsp/module/registry/manager.js");var ne=require("@kumori/kdsl-lsp/language/generated/ast.js"),rr=require("@kumori/kdsl-lsp/language/kumori.js"),ie=require("langium"),or=require("langium/node"),E=require("@kumori/kdsl-lsp/util/result.js");var Ye=require("@kumori/kdsl-lsp/language/builtin/lib/kumori/deployment.js"),Ze=require("@kumori/kdsl-lsp/language/type-system/toJSON.js"),J=require("@kumori/kdsl-lsp/util/result.js"),me=require("langium");var Je=require("@kumori/kdsl-lsp/util/sized.js");var v=require("@kumori/kdsl-lsp/language/builtin/lib/kumori/resource.js");function A(t){if(t.$type===v.EphemeralName){let e=v.Ephemeral.parse(t);return{volume:{size:e.value.size,unit:e.value.unit,kind:"storage"}}}if(t.$type===v.PersistentName)return{volume:v.Persistent.parse(t).value};if(t.$type===v.RegisteredName)return{volume:v.Registered.parse(t).value};if(t.$type===v.VolatileName){let e=v.Volatile.parse(t);return{volume:{size:e.value.size,unit:e.value.unit,kind:"storage",type:"volatile"}}}if(t.$type===v.PersistedName){let e=v.Persisted.parse(t);return{volume:{size:e.value.size,unit:e.value.unit,kind:"storage",type:"persistent"}}}if(t.$type===v.NonReplicatedName){let e=v.NonReplicated.parse(t);return{volume:{size:e.value.size,unit:e.value.unit,kind:"storage",type:"nonreplicated"}}}if(t.$type===v.CAName)return{ca:v.CA.parse(t).value};if(t.$type===v.CertificateName)return{certificate:v.Certificate.parse(t).value};if(t.$type===v.SecretName)return{secret:v.Secret.parse(t).value};if(t.$type===v.DomainName)return{domain:v.Domain.parse(t).value};if(t.$type===v.PortName)return{port:v.Port.parse(t).value};throw new Error(`unknown resource type '${t.$type}'`)}var Fe=require("@kumori/kdsl-lsp/util/oci.js"),V=require("@kumori/kdsl-lsp/util/result.js"),Ae=require("langium"),Be=require("path");function Ie(t){return typeof t=="string"?V.Result.orElse(V.Result.map((0,Fe.ParseOCIString)(t),e=>{var r,o;return{tag:e.tag,hub:{name:e.hub,secret:typeof t=="string"?"":(o=(r=t.hub)==null?void 0:r.secret)!=null?o:""}}}),e=>{throw new Error(e)}):t}function K(t,e){if(!e)return[];let r=Ae.AstUtils.getDocument(e).uri,o=t.getModule(r);if(V.Result.isErr(o))return[];let n=V.Result.tryCatch(()=>new URL(`file://${o.value.Manifest.module}`));if(V.Result.isErr(n))return[];let i=[];return n.value.hostname.length&&i.push(s=>s.domain=n.value.hostname),n.value.pathname.length&&i.push(s=>{s.module=n.value.pathname.replace(/^\//,""),s.name=(0,Be.basename)(s.module)}),i}var Ke=require("@kumori/kdsl-lsp/language/generated/ast.js");function ze(t,e){let r={version:[0,0,0],kind:"service",domain:"unknown",module:"unknown",name:"unknown"},o=t.svcs.shared.references.KumoriModules,n=K(o,t.nodes.get(e));for(let a of n)a(r);let i=t.nodes.get(e),s="";if(i&&(0,Ke.isComponentArtifact)(i)&&(s=i.name.value.$refText),s==="")throw new Error("Unable to determine component name for service artifact conversion.");return{spec:[1,0],ref:r,description:{builtin:!1,connector:{},config:{resilience:0,scale:{},parameter:{},resource:{}},role:{[s]:{name:s,meta:{},artifact:ue(t,e)}}}}}function ue(t,e){var c,d,l,g,h,p,w,L,f,C;let r={version:[0,0,0],kind:"component",domain:"unknown",module:"unknown",name:"unknown"},o=t.svcs.shared.references.KumoriModules,n=K(o,t.nodes.get(e));for(let y of n)y(r);function i(y,x=!1){return Object.fromEntries(Object.entries(y!=null?y:{}).map(([T,R])=>{var W,_;return[T,{name:T,init:x,entrypoint:R.entrypoint,image:Ie(R.image),cmd:R.cmd,size:{memory:b(m({},R.size.memory),{kind:"ram"}),cpu:b(m({},R.size.cpu),{kind:"cpu"}),mincpu:R.size.mincpu?R.size.mincpu.size:R.size.cpu.size},mapping:{filesystem:Object.fromEntries(Object.entries((W=R.fs)!=null?W:{}).map(([k,D])=>[k,Ft(k,D)])),env:Object.fromEntries(Object.entries((_=R.env)!=null?_:{}).map(([k,D])=>{let j=k,xt=typeof D=="string"||typeof D=="number"||typeof D=="boolean"?{value:String(D)}:D;return[j,xt]}))}}]}))}let s=Object.fromEntries(((c=e.init)!=null?c:[]).map((y,x)=>[`INIT_${x}`,y])),a=i(e.code),u=i(s,!0);return{spec:[1,0],ref:r,description:{builtin:!1,config:{resilience:0,scale:{hsize:1},parameter:e.config,resource:Object.fromEntries(Object.entries((d=e.resource)!=null?d:{}).map(([y,x])=>[y,A(x)]))},size:{bandwidth:b(m({},e.size.bandwidth),{kind:"bandwidth"}),minbandwidth:Math.ceil((0,Je.ToUnits)((l=e.size.minbandwidth)!=null?l:e.size.bandwidth,e.size.bandwidth.unit).size),mincpu:b(m({},e.size.mincpu),{kind:"cpu"})},profile:{threadability:"*",iopsintensive:!1},srv:{client:Object.fromEntries(Object.entries((h=(g=e.srv)==null?void 0:g.client)!=null?h:{}).map(([y,x])=>[y,{protocol:x,inherited:!1}])),server:Object.fromEntries(Object.entries((w=(p=e.srv)==null?void 0:p.server)!=null?w:{}).map(([y,x])=>{let T;return typeof x=="string"?T={port:80,portnum:1,inherited:!1,protocol:x}:T=b(m({},x),{portnum:1,inherited:!1}),[y,T]})),duplex:Object.fromEntries(Object.entries((f=(L=e.srv)==null?void 0:L.duplex)!=null?f:{}).map(([y,x])=>{let T;return typeof x=="string"?T={port:80,portnum:1,inherited:!1,protocol:x}:T=b(m({},x),{portnum:1,inherited:!1}),[y,T]}))},code:m(m({},u),a),probe:Object.fromEntries(Object.entries((C=e.probe)!=null?C:{}).map(([y,x])=>[y,x]))}}}function Ft(t,e){var r,o,n,i;if(typeof e=="string")return{path:t,data:{value:e},format:"text"};if(typeof e=="object"){if("volume"in e)return{path:t,volume:e.volume};if("data"in e)return{path:t,data:{value:e.data},format:(r=e.format)!=null?r:"text",mode:(o=e.mode)!=null?o:420};let a=["secret","port","domain","certificate","ca"].find(u=>u in e);if(a){let u=a;return{path:t,data:{[u]:e[u]},format:(n=e.format)!=null?n:"text",mode:(i=e.mode)!=null?i:420}}}throw new Error(`Unknown key '${t}': ${JSON.stringify(e)}`)}var q=require("@kumori/kdsl-lsp/util/maybe.js");var Ve=require("@kumori/kdsl-lsp/util/semver.js");function At(t){var r,o,n;let e=(0,Ve.SemVer)(t.id.version);return{spec:[1,0],ref:{version:[e.major,e.minor,e.patch],kind:t.id.kind,domain:t.id.domain,module:t.id.module,name:t.id.name},description:{builtin:!0,srv:{client:Object.fromEntries(Object.entries((r=t.srv.client)!=null?r:{}).map(([i])=>[i,{protocol:"http",inherited:!1}])),server:Object.fromEntries(Object.entries((o=t.srv.server)!=null?o:{}).map(([i,s])=>{let a;return typeof s=="string"?a={port:80,portnum:1,inherited:!1,protocol:s}:a=b(m({},s),{inherited:!1}),[i,a]})),duplex:Object.fromEntries(Object.entries((n=t.srv.duplex)!=null?n:{}).map(([i,s])=>{let a;return typeof s=="string"?a={port:80,portnum:1,inherited:!1,protocol:s}:a=b(m({},s),{inherited:!1}),[i,a]}))},config:{resilience:0,scale:{},parameter:t.config,resource:Object.fromEntries(Object.entries(t.resource).map(([i,s])=>[i,A(s)]))},connector:{},role:{}}}}function Ue(t,e){var r,o;return{name:z(t),up:U(t),meta:{},config:{resilience:0,scale:{},parameter:(r=e.config)!=null?r:{},resource:Object.fromEntries(Object.entries((o=e.resource)!=null?o:{}).map(([n,i])=>[n,A(i)]))},artifact:At(e)}}var te=require("@kumori/kdsl-lsp/language/builtin/lib/kumori/service.js");function Z(t,e,r,o){let n=t.svcs.shared.references.KumoriModules,i=K(n,t.nodes.get(e));for(let s of i)s(r);return o&&(r.kind="service"),r}function ce(t,e){return t.some(r=>JSON.stringify(r)===JSON.stringify(e))}function de(t,e){return{role:t,channel:e}}function ee(t,e,r){return{meta:t,links:[{role:e,channel:r}]}}function qe(t,e,r){var n,i,s,a;let o={version:[0,0,0],kind:"component",domain:"unknown",module:"unknown",name:"unknown"};if(r.$type===te.LoadBalancerName){r=r;let u=[],c=[];if("from"in r.value&&Array.isArray(r.value.from)&&"to"in r.value&&Array.isArray(r.value.to))for(let d of r.value.from){c.push(de(d.target,d.channel));for(let l of r.value.to){let g=e.role[l.target=="self"?d.target:l.target],h=B(g.artifact)||l.target=="self";Z(t,g,o,h);let p=(n=r.value.meta)!=null?n:[{auto:{channel:l.target!=="self"?l.target+"."+l.channel:l.channel,compRef:o,roleName:l.target=="self"?d.target:l.target},user:{}}],w=ee(p,l.target,l.channel);ce(u,w)||u.push(w)}}else if("from"in r.value&&!Array.isArray(r.value.from)&&!Array.isArray(r.value.to)){let d=r.value.from,l=r.value.to;c.push(de(d.target,d.channel));let g=e.role[l.target=="self"?d.target:l.target],h=B(g.artifact)||l.target=="self";Z(t,g,o,h);let p=(i=r.value.meta)!=null?i:[{auto:{channel:l.target!=="self"?l.target+"."+l.channel:l.channel,compRef:o,roleName:l.target=="self"?d.target:l.target},user:{}}],w=ee(p,l.target,l.channel);ce(u,w)||u.push(w)}return{kind:"lb",clients:c,servers:u}}if(r.$type===te.FullConnectorName){r=r;let u=[],c=[];if("from"in r.value&&Array.isArray(r.value.from)&&"to"in r.value&&Array.isArray(r.value.to))for(let d of r.value.from){c.push(de(d.target,d.channel));for(let l of r.value.to){let g=e.role[l.target=="self"?d.target:l.target],h=B(g.artifact);Z(t,g,o,h);let p=(s=r.value.meta)!=null?s:[{auto:{channel:l.target!=="self"?l.target+"."+l.channel:l.channel,compRef:o,roleName:l.target=="self"?d.target:l.target},user:{}}],w=ee(p,l.target,l.channel);ce(u,w)||u.push(w)}}else if("target"in r.value&&"channel"in r.value){let d=e.role[r.value.target],l=B(d.artifact);Z(t,d,o,l);let g=(a=r.value.meta)!=null?a:[{auto:{channel:r.value.channel,compRef:o,roleName:r.value.target},user:{}}];u.push(ee(g,r.value.target,r.value.channel))}return{kind:"full",clients:c,servers:u}}throw new Error(`unknown connection type '${r.$type}'`)}function fe(t,e){var s,a,u,c,d,l,g,h,p,w,L;let r={version:[0,0,0],kind:"service",domain:"unknown",module:"unknown",name:"unknown"},o=t.svcs.shared.references.KumoriModules,n=K(o,t.nodes.get(e));for(let f of n)f(r);let i={spec:[1,0],ref:r,description:{builtin:!1,config:{resilience:0,scale:{detail:Object.fromEntries(Object.entries((s=e.role)!=null?s:{}).map(([f])=>[f,{hsize:1}]))},parameter:(a=e==null?void 0:e.config)!=null?a:{},resource:Object.fromEntries(Object.entries((u=e.resource)!=null?u:{}).map(([f,C])=>[f,A(C)]))},role:{},connector:Object.fromEntries(Object.entries((c=e.connect)!=null?c:{}).map(([f,C])=>[f,qe(t,e,C)])),srv:{client:Object.fromEntries(Object.entries((l=(d=e.srv)==null?void 0:d.client)!=null?l:{}).map(([f,C])=>[f,{protocol:C,inherited:!1}])),server:Object.fromEntries(Object.entries((h=(g=e.srv)==null?void 0:g.server)!=null?h:{}).map(([f,C])=>{let y;return typeof C=="string"?y={port:80,inherited:!1,protocol:C}:y=b(m({},C),{inherited:!1}),[f,y]})),duplex:Object.fromEntries(Object.entries((w=(p=e.srv)==null?void 0:p.duplex)!=null?w:{}).map(([f,C])=>{let y;return typeof C=="string"?y={port:80,inherited:!1,protocol:C}:y=b(m({},C),{inherited:!1}),[f,y]}))}}};return i.description.role=Object.fromEntries(Object.entries((L=e.role)!=null?L:{}).map(([f,C])=>[f,It(t,f,C,i)]).filter(([,f])=>q.Maybe.isSome(f)).map(([f,C])=>[f,C.value])),i}function Bt(t,e){var r,o,n,i,s,a,u;return{name:z(t),up:U(t),meta:{},config:{resilience:0,scale:(n=(r=e.config)==null?void 0:r.scale)!=null?n:{hsize:(o=e.config)==null?void 0:o.scale},parameter:(s=(i=e.config)==null?void 0:i.parameter)!=null?s:{},resource:Object.fromEntries(Object.entries((u=(a=e.config)==null?void 0:a.resource)!=null?u:{}).map(([c,d])=>[c,A(d)]))},artifact:fe(t,e)}}function It(t,e,r,o){var s,a,u,c,d,l,g,h,p,w,L,f,C,y,x,T,R,se;if(X(r.artifact))return(0,q.Some)({name:e,meta:r.meta,config:{resilience:0,scale:{hsize:1},parameter:(s=r.artifact.config)!=null?s:{},resource:{}},artifact:ue(t,r.artifact)});let n=r.artifact;t=Ge(t,e),We(t,B(n)?Bt(t,n):Ue(t,n)),(u=(a=o.description).srv)!=null||(a.srv={}),(d=(c=o.description.srv).server)!=null||(c.server={}),(g=(l=o.description.srv).client)!=null||(l.client={});for(let[,W]of Object.entries((h=o.description.connector)!=null?h:{})){for(let _ of W.clients){if(_.role!==e)continue;let k=m({},_),D=`${_.role}.${_.channel}`,j=((w=(p=n==null?void 0:n.srv)==null?void 0:p.client)!=null?w:{})[_.channel];o.description.srv.server[D]={inherited:!0,protocol:_.channel=="inbound"?"http":j},_.role="self",_.channel=D,(f=(L=t.root).links)!=null||(L.links=[]),t.root.links.push({meta:{},s_d:z(t),s_c:k.channel,t_d:U(t),t_c:D})}for(let _ of W.servers)for(let k of _.links)if(k.role===e){let D=`${k.role}.${k.channel}`,j=((y=(C=n==null?void 0:n.srv)==null?void 0:C.server)!=null?y:{})[k.channel];j===void 0&&(j=((T=(x=n==null?void 0:n.srv)==null?void 0:x.duplex)!=null?T:{})[k.channel]),o.description.srv.client[D]={inherited:!0,protocol:typeof j=="string"?j:j.protocol,port:typeof j=="object"?j.port:void 0},(se=(R=t.root).links)!=null||(R.links=[]),t.root.links.push({meta:{},s_d:U(t),s_c:D,t_d:z(t),t_c:k.channel}),k.role="self",k.channel=D}}return q.None}var He=require("@kumori/kdsl-lsp/language/generated/ast.js");var z=t=>t.path.join("."),U=t=>t.path.slice(0,-1).join("."),Ge=(t,e)=>b(m({},t),{path:[...t.path,e]}),We=(t,e)=>t.root.deployments[z(t)]=e;function Qe(t,e,r){var i,s,a;let o={top:r.name,deployments:{},links:[]},n={svcs:t,path:[r.name],root:o,nodes:e};return o.deployments[r.name]={name:r.name,meta:r.meta,config:{parameter:(i=r.config)!=null?i:{},resource:Object.fromEntries(Object.entries((s=r.resource)!=null?s:{}).map(([u,c])=>[u,A(c)])),resilience:(a=r.resilience)!=null?a:0,scale:{detail:(()=>{var u;if(X(r.artifact)){let c=n.nodes.get(r.artifact),d="";if(c&&(0,He.isComponentArtifact)(c)&&(d=c.name.value.$refText),d==="")throw new Error("Unable to determine component name for scale detail.");return{[d]:{hsize:typeof r.scale=="number"?r.scale:1}}}if(B(r.artifact)){let c=Object.entries((u=r.artifact.role)!=null?u:{});return Object.fromEntries(c.map(([d])=>[d,{hsize:r.scale&&typeof r.scale=="object"&&!Array.isArray(r.scale)&&d in r.scale?r.scale[d]:1}]))}return{}})()}},artifact:(()=>{if(X(r.artifact))return ze(n,r.artifact);if(B(r.artifact))return fe(n,r.artifact);throw Xe(r.artifact)?new Error("not implemented: handle builtin"):new Error("unknown artifact")})()},o}function X(t){return"size"in t}function B(t){return!(X(t)||Xe(t))}function Xe(t){return"id"in t}function et(t,e,r){var d,l;let o=e.validation.KumoriTypeSystem,[{Value:n},i]=o.Eval(e.validation.KumoriValidations.ctx(),r);if(i.length!==0){let g=[];for(let h of i){let p=h.node,w=me.AstUtils.getDocument(p),L=((d=p.$cstNode)==null?void 0:d.range.start)||{line:0,character:0},f=`${w.uri.fsPath}:${L.line}:${L.character}: type error: ${h.message}`;t.error(f),g.push(f)}return(0,J.Err)(g)}let s=new Map,a=(0,Ze.toJSON)({svcs:e,nodes:s},n);if(J.Result.isErr(a)){let g=[];for(let h of a.err){let p=h.node,w=me.AstUtils.getDocument(p),L=((l=p.$cstNode)==null?void 0:l.range.start)||{line:0,character:0},f=`${w.uri.fsPath}:${L.line}:${L.character}: json conversion error: ${h.message}`;t.error(f),g.push(f)}return(0,J.Err)(g)}let u=Ye.Deployment.safeParse(a.value);if(!u.success){let g=[];for(let h of u.error.issues){let p=`${h.code}: ${h.path}: invalid deployment: ${h.message}`;t.error(p),g.push(p)}return(0,J.Err)(g)}let c=JSON.stringify(Qe(e,s,a.value),null,2);return(0,J.Ok)(c)}var Ce=require("@kumori/kdsl-lsp/module/context.js"),vt=require("@kumori/kdsl-lsp/module/dependency/list.js"),we=le(require("assert"),1),St=require("@kumori/kdsl-lsp/module/dependency/locate.js"),yt=require("@kumori/kdsl-lsp/util/maybe.js"),bt=require("@kumori/kdsl-lsp/module/dependency/id.js"),Le=le(require("path"),1);var Wt=require("@kumori/kdsl-lsp/language/kumori.js"),Y=require("langium"),Ht=require("langium/node"),be=require("vscode-languageserver"),$=require("@kumori/kdsl-lsp/util/result.js"),Qt=require("@kumori/kdsl-lsp/module/context.js");var dt=require("@kumori/kdsl-lsp/module/context.js"),ft=require("@kumori/kdsl-lsp/module/integrity/sumdb.js"),ye=require("@kumori/kdsl-lsp/module/remote/factory.js"),mt=require("@kumori/kdsl-lsp/util/maybe.js"),F=require("@kumori/kdsl-lsp/util/result.js"),gt=require("langium"),Ut=require("langium/node"),qt=require("@kumori/kdsl-lsp/language/kumori.js");var Jt=require("@kumori/kdsl-lsp/util/result.js");var he=require("@kumori/kdsl-lsp/module/query.js"),I=require("@kumori/kdsl-lsp/util/maybe.js"),M=require("@kumori/kdsl-lsp/util/result.js"),ge=require("@kumori/kdsl-lsp/module/version.js"),tt=require("@kumori/kdsl-lsp/module/dependency/list.js"),re=le(require("assert"),1),ve=require("@kumori/kdsl-lsp/module/dependency/locate.js"),rt=require("@kumori/kdsl-lsp/module/context.js"),ot=require("@kumori/kdsl-lsp/util/tmp.js"),nt=require("@kumori/kdsl-lsp/module/integrity/validate.js"),oe=require("langium"),G=require("fs/promises"),it=require("@kumori/kdsl-lsp/module/remote/factory.js"),pe=require("@kumori/kdsl-lsp/util/semver.js"),st=require("@kumori/kdsl-lsp/util/url.js"),Se=require("@kumori/kdsl-lsp/module/dependency/id.js");async function at(t){let e=new Map;return await ut(t,e),e}async function lt(t,e){let r=new Map;console.log(e);for(let o of e){let n=(0,he.ParseQuery)(o);if(I.Maybe.isNone(n)){let u=`invalid download query '${o}': failed to parse`;r.set(o,b(m({},(0,M.Err)(u)),{required:!0}));continue}let i=(0,ge.Version)(n.value.Version);if(I.Maybe.isNone(i)){let u=`invalid download query '${o}': invalid version specifier '${n.value.Version}': failed to parse`;r.set(o,b(m({},(0,M.Err)(u)),{required:!0}));continue}if(!ge.Version.isSemVer(i.value)){let u=`invalid download query '${o}': invalid version specifier '${n.value.Version}': invalid semver`;r.set(o,b(m({},(0,M.Err)(u)),{required:!0}));continue}let s=`${n.value.Scheme}://${n.value.Location}`,a=n.value.Version;await ct(t,s,a,r)}return r}async function ut(t,e){var o;let r=(0,tt.ListDependencies)(t.Current);for(let n of r.keys()){let i=r.get(n);if(i.length<1)continue;let{target:s,version:a}=i[0];await ct(t,s,a,e);let u=i.reduce((d,l)=>d||l.interface===void 0,!1),c=(0,Se.DependencyId)(s,a);(0,re.default)(e.has(c)),(o=e.get(c)).required||(o.required=u)}}async function ct(t,e,r,o){let n=(0,Se.DependencyId)(e,r);if(o.has(n))return;let i=await Kt(t,e,r);if(o.set(n,b(m({},i),{required:!1})),M.Result.isErr(i))return;let s=await(0,ve.LocateDependency)(t,e,r);(0,re.default)(I.Maybe.isSome(s));let a=await rt.ModuleContext.Move(t,t.FS,s.value.Root);(0,re.default)(M.Result.isOk(a)),t=m(m({},t),a.value),await ut(t,o)}async function Kt(t,e,r){var c=[];try{let o=await(0,ve.LocateDependency)(t,e,r);if(M.Result.isOk(o))return(0,M.Ok)(I.None);let n=De(c,await(0,ot.MkdirTemp)(),!0);let i=await zt(t,e,r,n.Path);if(M.Result.isErr(i))return(0,M.Err)(`failed to fetch ${e}@${r}: ${i.err}`);let s=await(0,nt.ValidateChecksum)(t.SumDB,oe.URI.file(n.Path),t,e,i.value);if(M.Result.isErr(s))return s;let a=`${e}@${r}`;let u=oe.UriUtils.joinPath(t.Locations.Cache(),a);await(0,G.mkdir)(u.fsPath,{recursive:!0});await(0,G.rm)(u.fsPath,{recursive:!0,force:!0});await(0,G.rename)(n.Path,u.fsPath);return(0,M.Ok)((0,I.Some)(a))}catch(d){var l=d,g=!0}finally{var h=Ee(c,l,g);h&&await h}}async function zt(t,e,r,o){let n=`${e}@${r}`,i=(0,he.ParseQuery)(n);if(I.Maybe.isNone(i))return(0,M.Err)(`failed to resolve ${n}: invalid download query`);let s=(0,pe.SemVer)(i.value.Version),a=new st.URL(`${i.value.Scheme}://${i.value.Location}`),u=(0,it.ForURL)(t.Remotes,a);if(M.Result.isErr(u))return(0,M.Err)(`failed to resolve ${n}': invalid remote ${a}: ${u.err}`);let c=await u.value.Versions(a);if(M.Result.isErr(c))return(0,M.Err)(`failed to read ${a}: ${c.err}`);let d=s,l=c.value.filter(p=>pe.SemVer.Compare(p,d)===0);if(l.length===0)return(0,M.Err)(`no remote matches for ${a}@v${s}`);if(l.length>1){let p=`[${l.map(String).join(", ")}]`;return(0,M.Err)(`ambiguous match for ${a}@v${s}: found ${p}`)}let g=l[0],h=await u.value.Get(a,g.toString(),o);return M.Result.isErr(h)?(0,M.Err)(`failed to fetch ${a}@${s.toString()}: ${h.err}`):(0,M.Ok)(g)}var Gt=require("@kumori/kdsl-lsp/module/registry/manager.js");var ko=`
3
- Downloads the specified modules, which can be module patterns selecting depen-
4
- dencies of the current module or module queries of the form path@version.
5
-
6
- With no arguments, download applies to the modules needed to build the packages
7
- in the current module.
8
-
9
- The kdsl command will automatically download modules as needed during ordinary
10
- execution. The "kdsl mod download" command is useful mainly for pre-filling the
11
- local cache.
12
-
13
- By default, download writes nothing to standard output. It may print progress
14
- messages and errors to standard error.
15
- `.trim();var pt=async(t,e,r,o,n)=>{let i=e.shared.workspace.FileSystemProvider,s=await(0,dt.ModuleContext)(i,gt.URI.file(r));if(F.Result.isErr(s))return(0,F.Err)([s.err]);let a=await ft.SumDB.Open(s.value.Locations.Checksum());if(F.Result.isErr(a))return F.Result.mapErr(a,l=>[l]);let u;o.length?u=await lt(b(m({},s.value),{FS:i,Remotes:(0,ye.RemoteFetcherFactory)(),SumDB:a.value}),o):u=await at(b(m({},s.value),{FS:i,Remotes:(0,ye.RemoteFetcherFactory)(),SumDB:a.value}));let c=[];for(let[l,g]of u){if(F.Result.isOk(g)){mt.Maybe.isSome(g.value)&&t.info(`Downloaded dependency ${l}`);continue}g.required?c.push(`${l}: ${g.err}`):n.quiet||(t.warn(`${l}: ${g.err}`),t.warn(`${l}: not required - continuing`))}return Array.from(u.entries()).filter(([,l])=>F.Result.isErr(l)&&l.required).length>0?(0,F.Err)(c):(0,F.Ok)(void 0)};var Xt=require("@kumori/kdsl-lsp/module/registry/manager.js");var jo=`
16
- `.trim();var ht=async(t,e,r)=>{let o=r.Current.Root,n=await pt(t,e,o.fsPath,[],{quiet:!0});if($.Result.isErr(n))return n;let i=await Yt(e,r);if($.Result.isErr(i)){let s=i.err.warnings.concat(i.err.errors);return(0,$.Err)(s)}return(0,$.Ok)(void 0)},Yt=async(t,e)=>{let r={errors:[],warnings:[]},o=t.shared.workspace.FileSystemProvider,n=e.Current.Root,i=await $.Result.tryCatchAsync(()=>o.readDirectory(n));if($.Result.isErr(i)){let c=""+i.err;return i.err instanceof Error&&(c=i.err.message),r.errors.push(`failed to read directory '${n.fsPath}': ${c}`),(0,$.Err)(r)}await t.shared.workspace.WorkspaceManager.initializeWorkspace([{name:"root",uri:n.toString()}]);let a=t.shared.workspace.LangiumDocuments;await t.shared.workspace.DocumentBuilder.build(a.all.toArray(),{validation:!0});for(let c of t.shared.workspace.LangiumDocuments.all){for(let d of c.parseResult.lexerErrors)r.errors.push(Zt(c,d));for(let d of c.parseResult.parserErrors)r.errors.push(er(c,d));for(let d of c.diagnostics||[]){let l=tr(c,d);d.severity===be.DiagnosticSeverity.Error&&r.errors.push(l),d.severity===be.DiagnosticSeverity.Warning&&r.warnings.push(l)}}return r.errors.length>0?(0,$.Err)(r):(0,$.Ok)(void 0)};function Zt(t,e){return`lexer error: ${Y.UriUtils.relative(process.cwd(),t.uri.fsPath)}:${e.line||1}:${e.column||1}: ${e.message}`}function er(t,e){return`parser error: ${Y.UriUtils.relative(process.cwd(),t.uri.fsPath)}:${e.token.startLine||1}:${e.token.startColumn||1}: ${e.message}`}function tr(t,e){return`diagnostic error: ${Y.UriUtils.relative(process.cwd(),t.uri.fsPath)}:${e.range.start.line+1}:${e.range.start.character+1}: ${e.message}`}var wt=require("fs"),nr=require("@kumori/kdsl-lsp/module/registry/manager.js");var Ko=`
17
- Generates a solution.json file for a specified Kumori package containing deployment definitions.
18
- The command requires the path to the package as an argument, and optionally accepts a directory
19
- path where the Kumori module is located. If the directory is not provided, the current working
20
- directory is used by default.
21
-
22
- Some usage examples:
23
- kdsl build
24
- kdsl build my-package
25
- kdsl build my-package path/to/module
26
-
27
- The generated solution.json file will be created in the package directory, containing all necessary
28
- information for deploying the resources defined in the package's deployment artifacts.
29
- `.trim();async function Lt(t,e,r,o){let n=e.shared.workspace.FileSystemProvider,i=await(0,Ce.ModuleContext)(n,ie.URI.file(Le.default.resolve(o)));if(E.Result.isErr(i)){let f=`error: ${i.err}`;return t.error(f),(0,E.Err)([f])}let s=m({FS:n},i.value),a=await Ct(s);if(a.size>0){let f=["error: missing modules"];t.error(f[0]);for(let y of a){let x=`+ ${y}`;t.error(x),f.push(x)}let C="unable to build solution.json";return t.error(C),f.push(C),(0,E.Err)(f)}let u=await ht(t,e,i.value);if(E.Result.isErr(u))return u;let c=ie.UriUtils.joinPath(i.value.Current.Root,r),d=e.references.KumoriPackages.GetPackage(c);if(E.Result.isErr(d)){let f=`error: failed to retrieve package: ${c.toString()}`;return t.error(f),(0,E.Err)([f])}let l=new Set(d.value.docs.map(f=>f.uri.toString())),g=e.shared.workspace.IndexManager.allElements(ne.DeploymentArtifact.$type,l).toArray();if(g.length<1){let f=`error: no deployment defined in ${c.toString()}`;return t.error(f),(0,E.Err)([f])}if(g.length>1){let f=`error: too many deployments in ${c.toString()}`;return t.error(f),(0,E.Err)([f])}let h=g[0],p=h.node;if(!(0,ne.isDeploymentArtifact)(p)){let f=`error: invalid target doc=${h.documentUri} location=${h.path}`;return t.error(f),(0,E.Err)([f])}let w=et(t,e,p);if(E.Result.isErr(w))return w;let L=Le.default.join(c.fsPath,"solution.json");return await wt.promises.writeFile(L,w.value,"utf-8"),t.info(`solution.json written to ${L}`),(0,E.Ok)(void 0)}async function Ct(t,e=new Set){let r=(0,vt.ListDependencies)(t.Current);for(let[,o]of r.entriesGroupedByKey()){(0,we.default)(o.length>0);let{target:n,version:i}=o[0],s=await(0,St.LocateDependency)(t,n,i);if(yt.Maybe.isNone(s)){e.add((0,bt.DependencyId)(n,i));continue}let a=await Ce.ModuleContext.Move(t,t.FS,s.value.Root);(0,we.default)(E.Result.isOk(a));let u=m(m({},t),a.value);await Ct(u,e)}return e}async function ir(t){var s,a,u;let e=je(t.logger),r=(s=t.package)!=null?s:".",o=(u=(a=t.directory)!=null?a:t.cwd)!=null?u:".",n=t.services;return await new Mt.RegistryManager().ensureIndexes(),await Lt(e,n,r,o)}0&&(module.exports={build});
package/out/lib/check.cjs DELETED
@@ -1,16 +0,0 @@
1
- const __importMetaUrl = require('url').pathToFileURL(__filename).href;
2
- "use strict";var xe=Object.create;var S=Object.defineProperty,ye=Object.defineProperties,Ce=Object.getOwnPropertyDescriptor,Pe=Object.getOwnPropertyDescriptors,De=Object.getOwnPropertyNames,K=Object.getOwnPropertySymbols,_e=Object.getPrototypeOf,z=Object.prototype.hasOwnProperty,Se=Object.prototype.propertyIsEnumerable;var U=(t,e)=>(e=Symbol[t])?e:Symbol.for("Symbol."+t);var R=(t,e,r)=>e in t?S(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,u=(t,e)=>{for(var r in e||(e={}))z.call(e,r)&&R(t,r,e[r]);if(K)for(var r of K(e))Se.call(e,r)&&R(t,r,e[r]);return t},v=(t,e)=>ye(t,Pe(e));var Te=(t,e)=>{for(var r in e)S(t,r,{get:e[r],enumerable:!0})},H=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of De(e))!z.call(t,n)&&n!==r&&S(t,n,{get:()=>e[n],enumerable:!(o=Ce(e,n))||o.enumerable});return t};var W=(t,e,r)=>(r=t!=null?xe(_e(t)):{},H(e||!t||!t.__esModule?S(r,"default",{value:t,enumerable:!0}):r,t)),Ee=t=>H(S({},"__esModule",{value:!0}),t);var p=(t,e,r)=>(R(t,typeof e!="symbol"?e+"":e,r),r);var Q=(t,e,r)=>{if(e!=null){if(typeof e!="object"&&typeof e!="function")throw TypeError("Object expected");var o;if(r&&(o=e[U("asyncDispose")]),o===void 0&&(o=e[U("dispose")]),typeof o!="function")throw TypeError("Object not disposable");t.push([r,o,e])}else r&&t.push([r]);return e},J=(t,e,r)=>{var o=typeof SuppressedError=="function"?SuppressedError:function(a,l,d,g){return g=Error(d),g.name="SuppressedError",g.error=a,g.suppressed=l,g},n=a=>e=r?new o(a,e,"An error was suppressed during disposal"):(r=!0,a),i=a=>{for(;a=t.pop();)try{var l=a[1]&&a[1].call(a[2]);if(a[0])return Promise.resolve(l).then(i,d=>(n(d),i()))}catch(d){n(d)}if(r)throw e};return i()};var Je={};Te(Je,{check:()=>Qe});module.exports=Ee(Je);var M=function(t){return t.info="info",t.warn="warn",t.error="error",t.debug="debug",t.trace="trace",t.fatal="fatal",t}({}),Xe={[M.trace]:10,[M.debug]:20,[M.info]:30,[M.warn]:40,[M.error]:50,[M.fatal]:60},Ye={10:M.trace,20:M.debug,30:M.info,40:M.warn,50:M.error,60:M.fatal};var b=function(t){return t.onBeforeDataOut="onBeforeDataOut",t.shouldSendToLogger="shouldSendToLogger",t.onMetadataCalled="onMetadataCalled",t.onBeforeMessageOut="onBeforeMessageOut",t.onContextCalled="onContextCalled",t}({});var s=function(t){return t.info="info",t.warn="warn",t.error="error",t.debug="debug",t.trace="trace",t.fatal="fatal",t}({}),T={[s.trace]:10,[s.debug]:20,[s.info]:30,[s.warn]:40,[s.error]:50,[s.fatal]:60},rt={10:s.trace,20:s.debug,30:s.info,40:s.warn,50:s.error,60:s.fatal};var G=class X{constructor(){p(this,"context",{});p(this,"hasContext",!1)}setContext(e){if(!e){this.context={},this.hasContext=!1;return}this.context=e,this.hasContext=!0}appendContext(e){this.context=u(u({},this.context),e),this.hasContext=!0}getContext(){return this.context}hasContextData(){return this.hasContext}onChildLoggerCreated({parentContextManager:e,childContextManager:r}){if(e.hasContextData()){let o=e.getContext();r.setContext(u({},o))}}clone(){let e=new X;return e.setContext(u({},this.context)),e.hasContext=this.hasContext,e}};var Y=class{constructor(t){p(this,"err");p(this,"metadata");p(this,"structuredLogger");p(this,"hasMetadata");p(this,"pluginManager");this.err=null,this.metadata={},this.structuredLogger=t,this.hasMetadata=!1,this.pluginManager=t.pluginManager}withMetadata(t){let{pluginManager:e,structuredLogger:{_config:{consoleDebug:r}}}=this;if(!t)return r&&console.debug("[LogLayer] withMetadata was called with no metadata; dropping."),this;let o=t;return e.hasPlugins(b.onMetadataCalled)&&(o=e.runOnMetadataCalled(t,this.structuredLogger),!o)?(r&&console.debug("[LogLayer] Metadata was dropped due to plugin returning falsy value."),this):(this.metadata=u(u({},this.metadata),o),this.hasMetadata=!0,this)}withError(t){return this.err=t,this}info(...t){this.structuredLogger.isLevelEnabled(s.info)&&(this.structuredLogger._formatMessage(t),this.formatLog(s.info,t))}warn(...t){this.structuredLogger.isLevelEnabled(s.warn)&&(this.structuredLogger._formatMessage(t),this.formatLog(s.warn,t))}error(...t){this.structuredLogger.isLevelEnabled(s.error)&&(this.structuredLogger._formatMessage(t),this.formatLog(s.error,t))}debug(...t){this.structuredLogger.isLevelEnabled(s.debug)&&(this.structuredLogger._formatMessage(t),this.formatLog(s.debug,t))}trace(...t){this.structuredLogger.isLevelEnabled(s.trace)&&(this.structuredLogger._formatMessage(t),this.formatLog(s.trace,t))}fatal(...t){this.structuredLogger.isLevelEnabled(s.fatal)&&(this.structuredLogger._formatMessage(t),this.formatLog(s.fatal,t))}disableLogging(){return this.structuredLogger.disableLogging(),this}enableLogging(){return this.structuredLogger.enableLogging(),this}formatLog(t,e){let{muteMetadata:r}=this.structuredLogger._config,o=r?!1:this.hasMetadata;this.structuredLogger._formatLog({logLevel:t,params:e,metadata:o?this.metadata:null,err:this.err})}},ke=[b.onBeforeDataOut,b.onMetadataCalled,b.shouldSendToLogger,b.onBeforeMessageOut,b.onContextCalled],Z=class{constructor(t){p(this,"idToPlugin");p(this,"onBeforeDataOut",[]);p(this,"shouldSendToLogger",[]);p(this,"onMetadataCalled",[]);p(this,"onBeforeMessageOut",[]);p(this,"onContextCalled",[]);this.idToPlugin={},this.mapPlugins(t),this.indexPlugins()}mapPlugins(t){for(let e of t){if(e.id||(e.id=Date.now().toString()+Math.random().toString()),this.idToPlugin[e.id])throw new Error(`[LogLayer] Plugin with id ${e.id} already exists.`);e.registeredAt=Date.now(),this.idToPlugin[e.id]=e}}indexPlugins(){this.onBeforeDataOut=[],this.shouldSendToLogger=[],this.onMetadataCalled=[],this.onBeforeMessageOut=[],this.onContextCalled=[];let t=Object.values(this.idToPlugin).sort((e,r)=>e.registeredAt-r.registeredAt);for(let e of t){if(e.disabled)return;for(let r of ke)e[r]&&e.id&&this[r].push(e.id)}}hasPlugins(t){return this[t].length>0}countPlugins(t){return t?this[t].length:Object.keys(this.idToPlugin).length}addPlugins(t){this.mapPlugins(t),this.indexPlugins()}enablePlugin(t){let e=this.idToPlugin[t];e&&(e.disabled=!1),this.indexPlugins()}disablePlugin(t){let e=this.idToPlugin[t];e&&(e.disabled=!0),this.indexPlugins()}removePlugin(t){delete this.idToPlugin[t],this.indexPlugins()}runOnBeforeDataOut(t,e){let r=u({},t);for(let o of this.onBeforeDataOut){let n=this.idToPlugin[o];if(n.onBeforeDataOut){let i=n.onBeforeDataOut({data:r.data,logLevel:r.logLevel,error:r.error,metadata:r.metadata,context:r.context},e);i&&(r.data||(r.data={}),Object.assign(r.data,i))}}return r.data}runShouldSendToLogger(t,e){return!this.shouldSendToLogger.some(r=>{var o,n;return!((n=(o=this.idToPlugin[r]).shouldSendToLogger)!=null&&n.call(o,t,e))})}runOnMetadataCalled(t,e){var o,n;let r=u({},t);for(let i of this.onMetadataCalled){let a=(n=(o=this.idToPlugin[i]).onMetadataCalled)==null?void 0:n.call(o,r,e);if(a)r=a;else return null}return r}runOnBeforeMessageOut(t,e){var o,n;let r=[...t.messages];for(let i of this.onBeforeMessageOut){let a=(n=(o=this.idToPlugin[i]).onBeforeMessageOut)==null?void 0:n.call(o,{messages:r,logLevel:t.logLevel},e);a&&(r=a)}return r}runOnContextCalled(t,e){var o,n;let r=u({},t);for(let i of this.onContextCalled){let a=(n=(o=this.idToPlugin[i]).onContextCalled)==null?void 0:n.call(o,r,e);if(a)r=a;else return null}return r}},ee=class te{constructor(e){p(this,"pluginManager");p(this,"idToTransport");p(this,"hasMultipleTransports");p(this,"singleTransport");p(this,"contextManager");p(this,"logLevelEnabledStatus",{info:!0,warn:!0,error:!0,debug:!0,trace:!0,fatal:!0});p(this,"_config");var r;this._config=v(u({},e),{enabled:(r=e.enabled)!=null?r:!0}),this._config.enabled||this.disableLogging(),this.contextManager=new G,this.pluginManager=new Z(e.plugins||[]),this._config.errorFieldName||(this._config.errorFieldName="err"),this._config.copyMsgOnOnlyError||(this._config.copyMsgOnOnlyError=!1),this._initializeTransports(this._config.transport)}withContextManager(e){return this.contextManager&&typeof this.contextManager[Symbol.dispose]=="function"&&this.contextManager[Symbol.dispose](),this.contextManager=e,this}getContextManager(){return this.contextManager}_initializeTransports(e){if(this.idToTransport)for(let r in this.idToTransport)this.idToTransport[r]&&typeof this.idToTransport[r][Symbol.dispose]=="function"&&this.idToTransport[r][Symbol.dispose]();this.hasMultipleTransports=Array.isArray(e)&&e.length>1,this.singleTransport=this.hasMultipleTransports?null:Array.isArray(e)?e[0]:e,Array.isArray(e)?this.idToTransport=e.reduce((r,o)=>(r[o.id]=o,r),{}):this.idToTransport={[e.id]:e}}withPrefix(e){let r=this.child();return r._config.prefix=e,r}withContext(e){let r=e;return e?this.pluginManager.hasPlugins(b.onContextCalled)&&(r=this.pluginManager.runOnContextCalled(e,this),!r)?(this._config.consoleDebug&&console.debug("[LogLayer] Context was dropped due to plugin returning falsy value."),this):(this.contextManager.appendContext(r),this):(this._config.consoleDebug&&console.debug("[LogLayer] withContext was called with no context; dropping."),this)}clearContext(){return this.contextManager.setContext(void 0),this}getContext(){return this.contextManager.getContext()}addPlugins(e){this.pluginManager.addPlugins(e)}enablePlugin(e){this.pluginManager.enablePlugin(e)}disablePlugin(e){this.pluginManager.disablePlugin(e)}removePlugin(e){this.pluginManager.removePlugin(e)}withMetadata(e){return new Y(this).withMetadata(e)}withError(e){return new Y(this).withError(e)}child(){let e=new te(v(u({},this._config),{transport:Array.isArray(this._config.transport)?[...this._config.transport]:this._config.transport})).withPluginManager(this.pluginManager).withContextManager(this.contextManager.clone());return this.contextManager.onChildLoggerCreated({parentContextManager:this.contextManager,childContextManager:e.contextManager,parentLogger:this,childLogger:e}),e}withFreshTransports(e){return this._config.transport=e,this._initializeTransports(e),this}withFreshPlugins(e){return this._config.plugins=e,this.pluginManager=new Z(e),this}withPluginManager(e){return this.pluginManager=e,this}errorOnly(e,r){let o=(r==null?void 0:r.logLevel)||s.error;if(!this.isLevelEnabled(o))return;let{copyMsgOnOnlyError:n}=this._config,i={logLevel:o,err:e};(n&&(r==null?void 0:r.copyMsg)!==!1||(r==null?void 0:r.copyMsg)===!0)&&(e!=null&&e.message)&&(i.params=[e.message]),this._formatLog(i)}metadataOnly(e,r=s.info){if(!this.isLevelEnabled(r))return;let{muteMetadata:o,consoleDebug:n}=this._config;if(o)return;if(!e){n&&console.debug("[LogLayer] metadataOnly was called with no metadata; dropping.");return}let i=e;if(this.pluginManager.hasPlugins(b.onMetadataCalled)&&(i=this.pluginManager.runOnMetadataCalled(e,this),!i)){n&&console.debug("[LogLayer] Metadata was dropped due to plugin returning falsy value.");return}let a={logLevel:r,metadata:i};this._formatLog(a)}info(...e){this.isLevelEnabled(s.info)&&(this._formatMessage(e),this._formatLog({logLevel:s.info,params:e}))}warn(...e){this.isLevelEnabled(s.warn)&&(this._formatMessage(e),this._formatLog({logLevel:s.warn,params:e}))}error(...e){this.isLevelEnabled(s.error)&&(this._formatMessage(e),this._formatLog({logLevel:s.error,params:e}))}debug(...e){this.isLevelEnabled(s.debug)&&(this._formatMessage(e),this._formatLog({logLevel:s.debug,params:e}))}trace(...e){this.isLevelEnabled(s.trace)&&(this._formatMessage(e),this._formatLog({logLevel:s.trace,params:e}))}fatal(...e){this.isLevelEnabled(s.fatal)&&(this._formatMessage(e),this._formatLog({logLevel:s.fatal,params:e}))}raw(e){if(!this.isLevelEnabled(e.logLevel))return;let r={logLevel:e.logLevel,params:e.messages,metadata:e.metadata,err:e.error,context:e.context};this._formatMessage(e.messages),this._formatLog(r)}disableLogging(){for(let e of Object.keys(this.logLevelEnabledStatus))this.logLevelEnabledStatus[e]=!1;return this}enableLogging(){for(let e of Object.keys(this.logLevelEnabledStatus))this.logLevelEnabledStatus[e]=!0;return this}muteContext(){return this._config.muteContext=!0,this}unMuteContext(){return this._config.muteContext=!1,this}muteMetadata(){return this._config.muteMetadata=!0,this}unMuteMetadata(){return this._config.muteMetadata=!1,this}enableIndividualLevel(e){let r=e;return r in this.logLevelEnabledStatus&&(this.logLevelEnabledStatus[r]=!0),this}disableIndividualLevel(e){let r=e;return r in this.logLevelEnabledStatus&&(this.logLevelEnabledStatus[r]=!1),this}setLevel(e){let r=T[e];for(let o of Object.values(s)){let n=o,i=T[o];this.logLevelEnabledStatus[n]=i>=r}return this}isLevelEnabled(e){let r=e;return this.logLevelEnabledStatus[r]}formatContext(e){let{contextFieldName:r,muteContext:o}=this._config;return e&&Object.keys(e).length>0&&!o?r?{[r]:u({},e)}:u({},e):{}}formatMetadata(e=null){let{metadataFieldName:r,muteMetadata:o}=this._config;return e&&!o?r?{[r]:u({},e)}:u({},e):{}}getLoggerInstance(e){let r=this.idToTransport[e];if(r)return r.getLoggerInstance()}_formatMessage(e=[]){let{prefix:r}=this._config;r&&typeof e[0]=="string"&&(e[0]=`${r} ${e[0]}`)}_formatLog({logLevel:e,params:r=[],metadata:o=null,err:n,context:i=null}){var V;let{errorSerializer:a,errorFieldInMetadata:l,muteContext:d,contextFieldName:g,metadataFieldName:f,errorFieldName:c}=this._config,L=i!==null?i:this.contextManager.getContext(),w=!!o||(d?!1:i!==null?Object.keys(i).length>0:this.contextManager.hasContextData()),m={};if(w)if(g&&g===f){let P=this.formatContext(L)[g],D=this.formatMetadata(o)[f];m={[g]:u(u({},P),D)}}else m=u(u({},this.formatContext(L)),this.formatMetadata(o));if(n){let P=a?a(n):n;l&&o&&f?m!=null&&m[f]?m[f][c]=P:m=v(u({},m),{[f]:{[c]:P}}):l&&!o&&f?m=v(u({},m),{[f]:{[c]:P}}):m=v(u({},m),{[c]:P}),w=!0}if(this.pluginManager.hasPlugins(b.onBeforeDataOut)&&(m=this.pluginManager.runOnBeforeDataOut({data:w?m:void 0,logLevel:e,error:n,metadata:o,context:L},this),m&&!w&&(w=!0)),this.pluginManager.hasPlugins(b.onBeforeMessageOut)&&(r=this.pluginManager.runOnBeforeMessageOut({messages:[...r],logLevel:e},this)),this.hasMultipleTransports){let P=this._config.transport.filter(D=>D.enabled).map(async D=>{if(!(this.pluginManager.hasPlugins(b.shouldSendToLogger)&&!this.pluginManager.runShouldSendToLogger({messages:[...r],data:w?m:void 0,logLevel:e,transportId:D.id,error:n,metadata:o,context:L},this)))return D._sendToLogger({logLevel:e,messages:[...r],data:w?m:void 0,hasData:w,error:n,metadata:o,context:L})});Promise.all(P).catch(D=>{this._config.consoleDebug&&console.error("[LogLayer] Error executing transports:",D)})}else{if(!((V=this.singleTransport)!=null&&V.enabled)||this.pluginManager.hasPlugins(b.shouldSendToLogger)&&!this.pluginManager.runShouldSendToLogger({messages:[...r],data:w?m:void 0,logLevel:e,transportId:this.singleTransport.id,error:n,metadata:o,context:L},this))return;this.singleTransport._sendToLogger({logLevel:e,messages:[...r],data:w?m:void 0,hasData:w,error:n,metadata:o,context:L})}}};function Oe(){let t={debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}};return new ee({transport:t})}function re(t){return t!=null?t:Oe()}var qe=require("@kumori/kdsl-lsp/language/kumori.js"),E=require("langium"),je=require("langium/node"),j=require("vscode-languageserver"),x=require("@kumori/kdsl-lsp/util/result.js"),Ve=require("@kumori/kdsl-lsp/module/context.js");var he=require("@kumori/kdsl-lsp/module/context.js"),fe=require("@kumori/kdsl-lsp/module/integrity/sumdb.js"),q=require("@kumori/kdsl-lsp/module/remote/factory.js"),me=require("@kumori/kdsl-lsp/util/maybe.js"),y=require("@kumori/kdsl-lsp/util/result.js"),pe=require("langium"),Ie=require("langium/node"),Ae=require("@kumori/kdsl-lsp/language/kumori.js");var Fe=require("@kumori/kdsl-lsp/util/result.js");var I=require("@kumori/kdsl-lsp/module/query.js"),C=require("@kumori/kdsl-lsp/util/maybe.js"),h=require("@kumori/kdsl-lsp/util/result.js"),B=require("@kumori/kdsl-lsp/module/version.js"),oe=require("@kumori/kdsl-lsp/module/dependency/list.js"),k=W(require("assert"),1),A=require("@kumori/kdsl-lsp/module/dependency/locate.js"),ne=require("@kumori/kdsl-lsp/module/context.js"),ie=require("@kumori/kdsl-lsp/util/tmp.js"),ae=require("@kumori/kdsl-lsp/module/integrity/validate.js"),O=require("langium"),_=require("fs/promises"),se=require("@kumori/kdsl-lsp/module/remote/factory.js"),$=require("@kumori/kdsl-lsp/util/semver.js"),le=require("@kumori/kdsl-lsp/util/url.js"),N=require("@kumori/kdsl-lsp/module/dependency/id.js");async function ue(t){let e=new Map;return await de(t,e),e}async function ge(t,e){let r=new Map;console.log(e);for(let o of e){let n=(0,I.ParseQuery)(o);if(C.Maybe.isNone(n)){let d=`invalid download query '${o}': failed to parse`;r.set(o,v(u({},(0,h.Err)(d)),{required:!0}));continue}let i=(0,B.Version)(n.value.Version);if(C.Maybe.isNone(i)){let d=`invalid download query '${o}': invalid version specifier '${n.value.Version}': failed to parse`;r.set(o,v(u({},(0,h.Err)(d)),{required:!0}));continue}if(!B.Version.isSemVer(i.value)){let d=`invalid download query '${o}': invalid version specifier '${n.value.Version}': invalid semver`;r.set(o,v(u({},(0,h.Err)(d)),{required:!0}));continue}let a=`${n.value.Scheme}://${n.value.Location}`,l=n.value.Version;await ce(t,a,l,r)}return r}async function de(t,e){var o;let r=(0,oe.ListDependencies)(t.Current);for(let n of r.keys()){let i=r.get(n);if(i.length<1)continue;let{target:a,version:l}=i[0];await ce(t,a,l,e);let d=i.reduce((f,c)=>f||c.interface===void 0,!1),g=(0,N.DependencyId)(a,l);(0,k.default)(e.has(g)),(o=e.get(g)).required||(o.required=d)}}async function ce(t,e,r,o){let n=(0,N.DependencyId)(e,r);if(o.has(n))return;let i=await Re(t,e,r);if(o.set(n,v(u({},i),{required:!1})),h.Result.isErr(i))return;let a=await(0,A.LocateDependency)(t,e,r);(0,k.default)(C.Maybe.isSome(a));let l=await ne.ModuleContext.Move(t,t.FS,a.value.Root);(0,k.default)(h.Result.isOk(l)),t=u(u({},t),l.value),await de(t,o)}async function Re(t,e,r){var g=[];try{let o=await(0,A.LocateDependency)(t,e,r);if(h.Result.isOk(o))return(0,h.Ok)(C.None);let n=Q(g,await(0,ie.MkdirTemp)(),!0);let i=await Be(t,e,r,n.Path);if(h.Result.isErr(i))return(0,h.Err)(`failed to fetch ${e}@${r}: ${i.err}`);let a=await(0,ae.ValidateChecksum)(t.SumDB,O.URI.file(n.Path),t,e,i.value);if(h.Result.isErr(a))return a;let l=`${e}@${r}`;let d=O.UriUtils.joinPath(t.Locations.Cache(),l);await(0,_.mkdir)(d.fsPath,{recursive:!0});await(0,_.rm)(d.fsPath,{recursive:!0,force:!0});await(0,_.rename)(n.Path,d.fsPath);return(0,h.Ok)((0,C.Some)(l))}catch(f){var c=f,L=!0}finally{var w=J(g,c,L);w&&await w}}async function Be(t,e,r,o){let n=`${e}@${r}`,i=(0,I.ParseQuery)(n);if(C.Maybe.isNone(i))return(0,h.Err)(`failed to resolve ${n}: invalid download query`);let a=(0,$.SemVer)(i.value.Version),l=new le.URL(`${i.value.Scheme}://${i.value.Location}`),d=(0,se.ForURL)(t.Remotes,l);if(h.Result.isErr(d))return(0,h.Err)(`failed to resolve ${n}': invalid remote ${l}: ${d.err}`);let g=await d.value.Versions(l);if(h.Result.isErr(g))return(0,h.Err)(`failed to read ${l}: ${g.err}`);let f=a,c=g.value.filter(m=>$.SemVer.Compare(m,f)===0);if(c.length===0)return(0,h.Err)(`no remote matches for ${l}@v${a}`);if(c.length>1){let m=`[${c.map(String).join(", ")}]`;return(0,h.Err)(`ambiguous match for ${l}@v${a}: found ${m}`)}let L=c[0],w=await d.value.Get(l,L.toString(),o);return h.Result.isErr(w)?(0,h.Err)(`failed to fetch ${l}@${a.toString()}: ${w.err}`):(0,h.Ok)(L)}var Ne=require("@kumori/kdsl-lsp/module/registry/manager.js");var kt=`
3
- Downloads the specified modules, which can be module patterns selecting depen-
4
- dencies of the current module or module queries of the form path@version.
5
-
6
- With no arguments, download applies to the modules needed to build the packages
7
- in the current module.
8
-
9
- The kdsl command will automatically download modules as needed during ordinary
10
- execution. The "kdsl mod download" command is useful mainly for pre-filling the
11
- local cache.
12
-
13
- By default, download writes nothing to standard output. It may print progress
14
- messages and errors to standard error.
15
- `.trim();var Le=async(t,e,r,o,n)=>{let i=e.shared.workspace.FileSystemProvider,a=await(0,he.ModuleContext)(i,pe.URI.file(r));if(y.Result.isErr(a))return(0,y.Err)([a.err]);let l=await fe.SumDB.Open(a.value.Locations.Checksum());if(y.Result.isErr(l))return y.Result.mapErr(l,c=>[c]);let d;o.length?d=await ge(v(u({},a.value),{FS:i,Remotes:(0,q.RemoteFetcherFactory)(),SumDB:l.value}),o):d=await ue(v(u({},a.value),{FS:i,Remotes:(0,q.RemoteFetcherFactory)(),SumDB:l.value}));let g=[];for(let[c,L]of d){if(y.Result.isOk(L)){me.Maybe.isSome(L.value)&&t.info(`Downloaded dependency ${c}`);continue}L.required?g.push(`${c}: ${L.err}`):n.quiet||(t.warn(`${c}: ${L.err}`),t.warn(`${c}: not required - continuing`))}return Array.from(d.entries()).filter(([,c])=>y.Result.isErr(c)&&c.required).length>0?(0,y.Err)(g):(0,y.Ok)(void 0)};var Ke=require("@kumori/kdsl-lsp/module/registry/manager.js");var qt=`
16
- `.trim();var we=async(t,e,r)=>{let o=r.Current.Root,n=await Le(t,e,o.fsPath,[],{quiet:!0});if(x.Result.isErr(n))return n;let i=await Ue(e,r);if(x.Result.isErr(i)){let a=i.err.warnings.concat(i.err.errors);return(0,x.Err)(a)}return(0,x.Ok)(void 0)},Ue=async(t,e)=>{let r={errors:[],warnings:[]},o=t.shared.workspace.FileSystemProvider,n=e.Current.Root,i=await x.Result.tryCatchAsync(()=>o.readDirectory(n));if(x.Result.isErr(i)){let g=""+i.err;return i.err instanceof Error&&(g=i.err.message),r.errors.push(`failed to read directory '${n.fsPath}': ${g}`),(0,x.Err)(r)}await t.shared.workspace.WorkspaceManager.initializeWorkspace([{name:"root",uri:n.toString()}]);let l=t.shared.workspace.LangiumDocuments;await t.shared.workspace.DocumentBuilder.build(l.all.toArray(),{validation:!0});for(let g of t.shared.workspace.LangiumDocuments.all){for(let f of g.parseResult.lexerErrors)r.errors.push(ze(g,f));for(let f of g.parseResult.parserErrors)r.errors.push(He(g,f));for(let f of g.diagnostics||[]){let c=We(g,f);f.severity===j.DiagnosticSeverity.Error&&r.errors.push(c),f.severity===j.DiagnosticSeverity.Warning&&r.warnings.push(c)}}return r.errors.length>0?(0,x.Err)(r):(0,x.Ok)(void 0)};function ze(t,e){return`lexer error: ${E.UriUtils.relative(process.cwd(),t.uri.fsPath)}:${e.line||1}:${e.column||1}: ${e.message}`}function He(t,e){return`parser error: ${E.UriUtils.relative(process.cwd(),t.uri.fsPath)}:${e.token.startLine||1}:${e.token.startColumn||1}: ${e.message}`}function We(t,e){return`diagnostic error: ${E.UriUtils.relative(process.cwd(),t.uri.fsPath)}:${e.range.start.line+1}:${e.range.start.character+1}: ${e.message}`}var ve=require("@kumori/kdsl-lsp/module/context.js"),be=require("langium"),F=require("@kumori/kdsl-lsp/util/result.js"),Me=W(require("path"),1);async function Qe(t){var a,l;let e=re(t.logger),r=(l=(a=t.directory)!=null?a:t.cwd)!=null?l:".",o=t.services,n=o.shared.workspace.FileSystemProvider,i=await(0,ve.ModuleContext)(n,be.URI.file(Me.default.resolve(r)));return F.Result.isErr(i)?(0,F.Err)([i.err]):await we(e,o,i.value)}0&&(module.exports={check});
package/out/lib/clean.cjs DELETED
@@ -1,2 +0,0 @@
1
- const __importMetaUrl = require('url').pathToFileURL(__filename).href;
2
- "use strict";var w=Object.defineProperty,z=Object.defineProperties,J=Object.getOwnPropertyDescriptor,K=Object.getOwnPropertyDescriptors,R=Object.getOwnPropertyNames,P=Object.getOwnPropertySymbols;var y=Object.prototype.hasOwnProperty,V=Object.prototype.propertyIsEnumerable;var _=(r,e,t)=>e in r?w(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,o=(r,e)=>{for(var t in e||(e={}))y.call(e,t)&&_(r,t,e[t]);if(P)for(var t of P(e))V.call(e,t)&&_(r,t,e[t]);return r},M=(r,e)=>z(r,K(e));var q=(r,e)=>{for(var t in e)w(r,t,{get:e[t],enumerable:!0})},G=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of R(e))!y.call(r,a)&&a!==t&&w(r,a,{get:()=>e[a],enumerable:!(n=J(e,a))||n.enumerable});return r};var H=r=>G(w({},"__esModule",{value:!0}),r);var s=(r,e,t)=>(_(r,typeof e!="symbol"?e+"":e,t),t);var X={};q(X,{clean:()=>W});module.exports=H(X);var d=function(r){return r.info="info",r.warn="warn",r.error="error",r.debug="debug",r.trace="trace",r.fatal="fatal",r}({}),Z={[d.trace]:10,[d.debug]:20,[d.info]:30,[d.warn]:40,[d.error]:50,[d.fatal]:60},$={10:d.trace,20:d.debug,30:d.info,40:d.warn,50:d.error,60:d.fatal};var u=function(r){return r.onBeforeDataOut="onBeforeDataOut",r.shouldSendToLogger="shouldSendToLogger",r.onMetadataCalled="onMetadataCalled",r.onBeforeMessageOut="onBeforeMessageOut",r.onContextCalled="onContextCalled",r}({});var i=function(r){return r.info="info",r.warn="warn",r.error="error",r.debug="debug",r.trace="trace",r.fatal="fatal",r}({}),m={[i.trace]:10,[i.debug]:20,[i.info]:30,[i.warn]:40,[i.error]:50,[i.fatal]:60},ne={10:i.trace,20:i.debug,30:i.info,40:i.warn,50:i.error,60:i.fatal};var F=class D{constructor(){s(this,"context",{});s(this,"hasContext",!1)}setContext(e){if(!e){this.context={},this.hasContext=!1;return}this.context=e,this.hasContext=!0}appendContext(e){this.context=o(o({},this.context),e),this.hasContext=!0}getContext(){return this.context}hasContextData(){return this.hasContext}onChildLoggerCreated({parentContextManager:e,childContextManager:t}){if(e.hasContextData()){let n=e.getContext();t.setContext(o({},n))}}clone(){let e=new D;return e.setContext(o({},this.context)),e.hasContext=this.hasContext,e}};var S=class{constructor(r){s(this,"err");s(this,"metadata");s(this,"structuredLogger");s(this,"hasMetadata");s(this,"pluginManager");this.err=null,this.metadata={},this.structuredLogger=r,this.hasMetadata=!1,this.pluginManager=r.pluginManager}withMetadata(r){let{pluginManager:e,structuredLogger:{_config:{consoleDebug:t}}}=this;if(!r)return t&&console.debug("[LogLayer] withMetadata was called with no metadata; dropping."),this;let n=r;return e.hasPlugins(u.onMetadataCalled)&&(n=e.runOnMetadataCalled(r,this.structuredLogger),!n)?(t&&console.debug("[LogLayer] Metadata was dropped due to plugin returning falsy value."),this):(this.metadata=o(o({},this.metadata),n),this.hasMetadata=!0,this)}withError(r){return this.err=r,this}info(...r){this.structuredLogger.isLevelEnabled(i.info)&&(this.structuredLogger._formatMessage(r),this.formatLog(i.info,r))}warn(...r){this.structuredLogger.isLevelEnabled(i.warn)&&(this.structuredLogger._formatMessage(r),this.formatLog(i.warn,r))}error(...r){this.structuredLogger.isLevelEnabled(i.error)&&(this.structuredLogger._formatMessage(r),this.formatLog(i.error,r))}debug(...r){this.structuredLogger.isLevelEnabled(i.debug)&&(this.structuredLogger._formatMessage(r),this.formatLog(i.debug,r))}trace(...r){this.structuredLogger.isLevelEnabled(i.trace)&&(this.structuredLogger._formatMessage(r),this.formatLog(i.trace,r))}fatal(...r){this.structuredLogger.isLevelEnabled(i.fatal)&&(this.structuredLogger._formatMessage(r),this.formatLog(i.fatal,r))}disableLogging(){return this.structuredLogger.disableLogging(),this}enableLogging(){return this.structuredLogger.enableLogging(),this}formatLog(r,e){let{muteMetadata:t}=this.structuredLogger._config,n=t?!1:this.hasMetadata;this.structuredLogger._formatLog({logLevel:r,params:e,metadata:n?this.metadata:null,err:this.err})}},Q=[u.onBeforeDataOut,u.onMetadataCalled,u.shouldSendToLogger,u.onBeforeMessageOut,u.onContextCalled],E=class{constructor(r){s(this,"idToPlugin");s(this,"onBeforeDataOut",[]);s(this,"shouldSendToLogger",[]);s(this,"onMetadataCalled",[]);s(this,"onBeforeMessageOut",[]);s(this,"onContextCalled",[]);this.idToPlugin={},this.mapPlugins(r),this.indexPlugins()}mapPlugins(r){for(let e of r){if(e.id||(e.id=Date.now().toString()+Math.random().toString()),this.idToPlugin[e.id])throw new Error(`[LogLayer] Plugin with id ${e.id} already exists.`);e.registeredAt=Date.now(),this.idToPlugin[e.id]=e}}indexPlugins(){this.onBeforeDataOut=[],this.shouldSendToLogger=[],this.onMetadataCalled=[],this.onBeforeMessageOut=[],this.onContextCalled=[];let r=Object.values(this.idToPlugin).sort((e,t)=>e.registeredAt-t.registeredAt);for(let e of r){if(e.disabled)return;for(let t of Q)e[t]&&e.id&&this[t].push(e.id)}}hasPlugins(r){return this[r].length>0}countPlugins(r){return r?this[r].length:Object.keys(this.idToPlugin).length}addPlugins(r){this.mapPlugins(r),this.indexPlugins()}enablePlugin(r){let e=this.idToPlugin[r];e&&(e.disabled=!1),this.indexPlugins()}disablePlugin(r){let e=this.idToPlugin[r];e&&(e.disabled=!0),this.indexPlugins()}removePlugin(r){delete this.idToPlugin[r],this.indexPlugins()}runOnBeforeDataOut(r,e){let t=o({},r);for(let n of this.onBeforeDataOut){let a=this.idToPlugin[n];if(a.onBeforeDataOut){let l=a.onBeforeDataOut({data:t.data,logLevel:t.logLevel,error:t.error,metadata:t.metadata,context:t.context},e);l&&(t.data||(t.data={}),Object.assign(t.data,l))}}return t.data}runShouldSendToLogger(r,e){return!this.shouldSendToLogger.some(t=>{var n,a;return!((a=(n=this.idToPlugin[t]).shouldSendToLogger)!=null&&a.call(n,r,e))})}runOnMetadataCalled(r,e){var n,a;let t=o({},r);for(let l of this.onMetadataCalled){let h=(a=(n=this.idToPlugin[l]).onMetadataCalled)==null?void 0:a.call(n,t,e);if(h)t=h;else return null}return t}runOnBeforeMessageOut(r,e){var n,a;let t=[...r.messages];for(let l of this.onBeforeMessageOut){let h=(a=(n=this.idToPlugin[l]).onBeforeMessageOut)==null?void 0:a.call(n,{messages:t,logLevel:r.logLevel},e);h&&(t=h)}return t}runOnContextCalled(r,e){var n,a;let t=o({},r);for(let l of this.onContextCalled){let h=(a=(n=this.idToPlugin[l]).onContextCalled)==null?void 0:a.call(n,t,e);if(h)t=h;else return null}return t}},k=class B{constructor(e){s(this,"pluginManager");s(this,"idToTransport");s(this,"hasMultipleTransports");s(this,"singleTransport");s(this,"contextManager");s(this,"logLevelEnabledStatus",{info:!0,warn:!0,error:!0,debug:!0,trace:!0,fatal:!0});s(this,"_config");var t;this._config=M(o({},e),{enabled:(t=e.enabled)!=null?t:!0}),this._config.enabled||this.disableLogging(),this.contextManager=new F,this.pluginManager=new E(e.plugins||[]),this._config.errorFieldName||(this._config.errorFieldName="err"),this._config.copyMsgOnOnlyError||(this._config.copyMsgOnOnlyError=!1),this._initializeTransports(this._config.transport)}withContextManager(e){return this.contextManager&&typeof this.contextManager[Symbol.dispose]=="function"&&this.contextManager[Symbol.dispose](),this.contextManager=e,this}getContextManager(){return this.contextManager}_initializeTransports(e){if(this.idToTransport)for(let t in this.idToTransport)this.idToTransport[t]&&typeof this.idToTransport[t][Symbol.dispose]=="function"&&this.idToTransport[t][Symbol.dispose]();this.hasMultipleTransports=Array.isArray(e)&&e.length>1,this.singleTransport=this.hasMultipleTransports?null:Array.isArray(e)?e[0]:e,Array.isArray(e)?this.idToTransport=e.reduce((t,n)=>(t[n.id]=n,t),{}):this.idToTransport={[e.id]:e}}withPrefix(e){let t=this.child();return t._config.prefix=e,t}withContext(e){let t=e;return e?this.pluginManager.hasPlugins(u.onContextCalled)&&(t=this.pluginManager.runOnContextCalled(e,this),!t)?(this._config.consoleDebug&&console.debug("[LogLayer] Context was dropped due to plugin returning falsy value."),this):(this.contextManager.appendContext(t),this):(this._config.consoleDebug&&console.debug("[LogLayer] withContext was called with no context; dropping."),this)}clearContext(){return this.contextManager.setContext(void 0),this}getContext(){return this.contextManager.getContext()}addPlugins(e){this.pluginManager.addPlugins(e)}enablePlugin(e){this.pluginManager.enablePlugin(e)}disablePlugin(e){this.pluginManager.disablePlugin(e)}removePlugin(e){this.pluginManager.removePlugin(e)}withMetadata(e){return new S(this).withMetadata(e)}withError(e){return new S(this).withError(e)}child(){let e=new B(M(o({},this._config),{transport:Array.isArray(this._config.transport)?[...this._config.transport]:this._config.transport})).withPluginManager(this.pluginManager).withContextManager(this.contextManager.clone());return this.contextManager.onChildLoggerCreated({parentContextManager:this.contextManager,childContextManager:e.contextManager,parentLogger:this,childLogger:e}),e}withFreshTransports(e){return this._config.transport=e,this._initializeTransports(e),this}withFreshPlugins(e){return this._config.plugins=e,this.pluginManager=new E(e),this}withPluginManager(e){return this.pluginManager=e,this}errorOnly(e,t){let n=(t==null?void 0:t.logLevel)||i.error;if(!this.isLevelEnabled(n))return;let{copyMsgOnOnlyError:a}=this._config,l={logLevel:n,err:e};(a&&(t==null?void 0:t.copyMsg)!==!1||(t==null?void 0:t.copyMsg)===!0)&&(e!=null&&e.message)&&(l.params=[e.message]),this._formatLog(l)}metadataOnly(e,t=i.info){if(!this.isLevelEnabled(t))return;let{muteMetadata:n,consoleDebug:a}=this._config;if(n)return;if(!e){a&&console.debug("[LogLayer] metadataOnly was called with no metadata; dropping.");return}let l=e;if(this.pluginManager.hasPlugins(u.onMetadataCalled)&&(l=this.pluginManager.runOnMetadataCalled(e,this),!l)){a&&console.debug("[LogLayer] Metadata was dropped due to plugin returning falsy value.");return}let h={logLevel:t,metadata:l};this._formatLog(h)}info(...e){this.isLevelEnabled(i.info)&&(this._formatMessage(e),this._formatLog({logLevel:i.info,params:e}))}warn(...e){this.isLevelEnabled(i.warn)&&(this._formatMessage(e),this._formatLog({logLevel:i.warn,params:e}))}error(...e){this.isLevelEnabled(i.error)&&(this._formatMessage(e),this._formatLog({logLevel:i.error,params:e}))}debug(...e){this.isLevelEnabled(i.debug)&&(this._formatMessage(e),this._formatLog({logLevel:i.debug,params:e}))}trace(...e){this.isLevelEnabled(i.trace)&&(this._formatMessage(e),this._formatLog({logLevel:i.trace,params:e}))}fatal(...e){this.isLevelEnabled(i.fatal)&&(this._formatMessage(e),this._formatLog({logLevel:i.fatal,params:e}))}raw(e){if(!this.isLevelEnabled(e.logLevel))return;let t={logLevel:e.logLevel,params:e.messages,metadata:e.metadata,err:e.error,context:e.context};this._formatMessage(e.messages),this._formatLog(t)}disableLogging(){for(let e of Object.keys(this.logLevelEnabledStatus))this.logLevelEnabledStatus[e]=!1;return this}enableLogging(){for(let e of Object.keys(this.logLevelEnabledStatus))this.logLevelEnabledStatus[e]=!0;return this}muteContext(){return this._config.muteContext=!0,this}unMuteContext(){return this._config.muteContext=!1,this}muteMetadata(){return this._config.muteMetadata=!0,this}unMuteMetadata(){return this._config.muteMetadata=!1,this}enableIndividualLevel(e){let t=e;return t in this.logLevelEnabledStatus&&(this.logLevelEnabledStatus[t]=!0),this}disableIndividualLevel(e){let t=e;return t in this.logLevelEnabledStatus&&(this.logLevelEnabledStatus[t]=!1),this}setLevel(e){let t=m[e];for(let n of Object.values(i)){let a=n,l=m[n];this.logLevelEnabledStatus[a]=l>=t}return this}isLevelEnabled(e){let t=e;return this.logLevelEnabledStatus[t]}formatContext(e){let{contextFieldName:t,muteContext:n}=this._config;return e&&Object.keys(e).length>0&&!n?t?{[t]:o({},e)}:o({},e):{}}formatMetadata(e=null){let{metadataFieldName:t,muteMetadata:n}=this._config;return e&&!n?t?{[t]:o({},e)}:o({},e):{}}getLoggerInstance(e){let t=this.idToTransport[e];if(t)return t.getLoggerInstance()}_formatMessage(e=[]){let{prefix:t}=this._config;t&&typeof e[0]=="string"&&(e[0]=`${t} ${e[0]}`)}_formatLog({logLevel:e,params:t=[],metadata:n=null,err:a,context:l=null}){var O;let{errorSerializer:h,errorFieldInMetadata:T,muteContext:I,contextFieldName:x,metadataFieldName:f,errorFieldName:v}=this._config,p=l!==null?l:this.contextManager.getContext(),c=!!n||(I?!1:l!==null?Object.keys(l).length>0:this.contextManager.hasContextData()),g={};if(c)if(x&&x===f){let L=this.formatContext(p)[x],b=this.formatMetadata(n)[f];g={[x]:o(o({},L),b)}}else g=o(o({},this.formatContext(p)),this.formatMetadata(n));if(a){let L=h?h(a):a;T&&n&&f?g!=null&&g[f]?g[f][v]=L:g=M(o({},g),{[f]:{[v]:L}}):T&&!n&&f?g=M(o({},g),{[f]:{[v]:L}}):g=M(o({},g),{[v]:L}),c=!0}if(this.pluginManager.hasPlugins(u.onBeforeDataOut)&&(g=this.pluginManager.runOnBeforeDataOut({data:c?g:void 0,logLevel:e,error:a,metadata:n,context:p},this),g&&!c&&(c=!0)),this.pluginManager.hasPlugins(u.onBeforeMessageOut)&&(t=this.pluginManager.runOnBeforeMessageOut({messages:[...t],logLevel:e},this)),this.hasMultipleTransports){let L=this._config.transport.filter(b=>b.enabled).map(async b=>{if(!(this.pluginManager.hasPlugins(u.shouldSendToLogger)&&!this.pluginManager.runShouldSendToLogger({messages:[...t],data:c?g:void 0,logLevel:e,transportId:b.id,error:a,metadata:n,context:p},this)))return b._sendToLogger({logLevel:e,messages:[...t],data:c?g:void 0,hasData:c,error:a,metadata:n,context:p})});Promise.all(L).catch(b=>{this._config.consoleDebug&&console.error("[LogLayer] Error executing transports:",b)})}else{if(!((O=this.singleTransport)!=null&&O.enabled)||this.pluginManager.hasPlugins(u.shouldSendToLogger)&&!this.pluginManager.runShouldSendToLogger({messages:[...t],data:c?g:void 0,logLevel:e,transportId:this.singleTransport.id,error:a,metadata:n,context:p},this))return;this.singleTransport._sendToLogger({logLevel:e,messages:[...t],data:c?g:void 0,hasData:c,error:a,metadata:n,context:p})}}};function U(){let r={debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}};return new k({transport:r})}function j(r){return r!=null?r:U()}var A=require("@kumori/kdsl-lsp/util/tmp.js"),N=require("fs/promises"),C=require("@kumori/kdsl-lsp/util/result.js");async function W(r={}){let e=j(r.logger);try{let t=await(0,A.TempCache)();return e.info(t.fsPath),await(0,N.rm)(t.fsPath,{force:!0,recursive:!0}),(0,C.Ok)(void 0)}catch(t){return(0,C.Err)([String(t)])}}0&&(module.exports={clean});
@@ -1,58 +0,0 @@
1
- const __importMetaUrl = require('url').pathToFileURL(__filename).href;
2
- "use strict";var zu=Object.create;var Ee=Object.defineProperty,Ju=Object.defineProperties,Yu=Object.getOwnPropertyDescriptor,Qu=Object.getOwnPropertyDescriptors,Zu=Object.getOwnPropertyNames,jt=Object.getOwnPropertySymbols,Xu=Object.getPrototypeOf,Vt=Object.prototype.hasOwnProperty,eo=Object.prototype.propertyIsEnumerable;var Kt=(e,t)=>(t=Symbol[e])?t:Symbol.for("Symbol."+e);var it=(e,t,r)=>t in e?Ee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,p=(e,t)=>{for(var r in t||(t={}))Vt.call(t,r)&&it(e,r,t[r]);if(jt)for(var r of jt(t))eo.call(t,r)&&it(e,r,t[r]);return e},P=(e,t)=>Ju(e,Qu(t));var E=(e,t)=>()=>(e&&(t=e(e=0)),t);var nt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),qt=(e,t)=>{for(var r in t)Ee(e,r,{get:t[r],enumerable:!0})},Wt=(e,t,r,u)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Zu(t))!Vt.call(e,o)&&o!==r&&Ee(e,o,{get:()=>t[o],enumerable:!(u=Yu(t,o))||u.enumerable});return e};var q=(e,t,r)=>(r=e!=null?zu(Xu(e)):{},Wt(t||!e||!e.__esModule?Ee(r,"default",{value:e,enumerable:!0}):r,e)),to=e=>Wt(Ee({},"__esModule",{value:!0}),e);var C=(e,t,r)=>(it(e,typeof t!="symbol"?t+"":t,r),r),st=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)};var m=(e,t,r)=>(st(e,t,"read from private field"),r?r.call(e):t.get(e)),R=(e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,r)},W=(e,t,r,u)=>(st(e,t,"write to private field"),u?u.call(e,r):t.set(e,r),r);var V=(e,t,r)=>(st(e,t,"access private method"),r);var Gt=(e,t,r)=>{if(t!=null){if(typeof t!="object"&&typeof t!="function")throw TypeError("Object expected");var u;if(r&&(u=t[Kt("asyncDispose")]),u===void 0&&(u=t[Kt("dispose")]),typeof u!="function")throw TypeError("Object not disposable");e.push([r,u,t])}else r&&e.push([r]);return t},Ht=(e,t,r)=>{var u=typeof SuppressedError=="function"?SuppressedError:function(i,s,a,D){return D=Error(a),D.name="SuppressedError",D.error=i,D.suppressed=s,D},o=i=>t=r?new u(i,t,"An error was suppressed during disposal"):(r=!0,i),n=i=>{for(;i=e.pop();)try{var s=i[1]&&i[1].call(i[2]);if(i[0])return Promise.resolve(s).then(n,a=>(o(a),n()))}catch(a){o(a)}if(r)throw t};return n()};var at,we,xe,tr=E(()=>{at=e=>e.name==="backspace",we=e=>e.name==="tab",xe=e=>e.name==="enter"||e.name==="return"});var ke,_e,be,Oe,$e,Ie=E(()=>{ke=class extends Error{constructor(r){super();C(this,"name","AbortPromptError");C(this,"message","Prompt was aborted");this.cause=r==null?void 0:r.cause}},_e=class extends Error{constructor(){super(...arguments);C(this,"name","CancelPromptError");C(this,"message","Prompt was canceled")}},be=class extends Error{constructor(){super(...arguments);C(this,"name","ExitPromptError")}},Oe=class extends Error{constructor(){super(...arguments);C(this,"name","HookError")}},$e=class extends Error{constructor(){super(...arguments);C(this,"name","ValidationError")}}});function oo(e){return{rl:e,hooks:[],hooksCleanup:[],hooksEffect:[],index:0,handleChange(){}}}function ur(e,t){let r=oo(e);return rr.run(r,()=>{function u(o){r.handleChange=()=>{r.index=0,o()},r.handleChange()}return t(u)})}function Z(){let e=rr.getStore();if(!e)throw new Oe("[Inquirer] Hook functions can only be called from within a prompt");return e}function Dt(){return Z().rl}function lt(e){let t=(...r)=>{let u=Z(),o=!1,n=u.handleChange;u.handleChange=()=>{o=!0};let i=e(...r);return o&&n(),u.handleChange=n,i};return Ue.AsyncResource.bind(t)}function Ne(e){let t=Z(),{index:r}=t,u={get(){return t.hooks[r]},set(n){t.hooks[r]=n},initialized:r in t.hooks},o=e(u);return t.index++,o}function or(){Z().handleChange()}var Ue,rr,X,se=E(()=>{Ue=require("async_hooks");Ie();rr=new Ue.AsyncLocalStorage;X={queue(e){let t=Z(),{index:r}=t;t.hooksEffect.push(()=>{var o,n;(n=(o=t.hooksCleanup)[r])==null||n.call(o);let u=e(Dt());if(u!=null&&typeof u!="function")throw new $e("useEffect return value must be a cleanup function or nothing.");t.hooksCleanup[r]=u})},run(){let e=Z();lt(()=>{e.hooksEffect.forEach(t=>{t()}),e.hooksEffect.length=0})()},clearAll(){let e=Z();e.hooksCleanup.forEach(t=>{t==null||t()}),e.hooksEffect.length=0,e.hooksCleanup.length=0}}});function _(e){return Ne(t=>{let r=ir.AsyncResource.bind(function(n){t.get()!==n&&(t.set(n),or())});if(t.initialized)return[t.get(),r];let u=typeof e=="function"?e():e;return t.set(u),[u,r]})}var ir,je=E(()=>{ir=require("async_hooks");se()});function ee(e,t){Ne(r=>{let u=r.get();(!Array.isArray(u)||t.some((n,i)=>!Object.is(n,u[i])))&&X.queue(e),r.set(t)})}var Ke=E(()=>{se()});function io(){return N.default.platform!=="win32"?N.default.env.TERM!=="linux":!!N.default.env.WT_SESSION||!!N.default.env.TERMINUS_SUBLIME||N.default.env.ConEmuTask==="{cmd::Cmder}"||N.default.env.TERM_PROGRAM==="Terminus-Sublime"||N.default.env.TERM_PROGRAM==="vscode"||N.default.env.TERM==="xterm-256color"||N.default.env.TERM==="alacritty"||N.default.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var N,nr,sr,no,so,ao,Do,lo,ar,ji,Dr=E(()=>{N=q(require("process"),1);nr={circleQuestionMark:"(?)",questionMarkPrefix:"(?)",square:"\u2588",squareDarkShade:"\u2593",squareMediumShade:"\u2592",squareLightShade:"\u2591",squareTop:"\u2580",squareBottom:"\u2584",squareLeft:"\u258C",squareRight:"\u2590",squareCenter:"\u25A0",bullet:"\u25CF",dot:"\u2024",ellipsis:"\u2026",pointerSmall:"\u203A",triangleUp:"\u25B2",triangleUpSmall:"\u25B4",triangleDown:"\u25BC",triangleDownSmall:"\u25BE",triangleLeftSmall:"\u25C2",triangleRightSmall:"\u25B8",home:"\u2302",heart:"\u2665",musicNote:"\u266A",musicNoteBeamed:"\u266B",arrowUp:"\u2191",arrowDown:"\u2193",arrowLeft:"\u2190",arrowRight:"\u2192",arrowLeftRight:"\u2194",arrowUpDown:"\u2195",almostEqual:"\u2248",notEqual:"\u2260",lessOrEqual:"\u2264",greaterOrEqual:"\u2265",identical:"\u2261",infinity:"\u221E",subscriptZero:"\u2080",subscriptOne:"\u2081",subscriptTwo:"\u2082",subscriptThree:"\u2083",subscriptFour:"\u2084",subscriptFive:"\u2085",subscriptSix:"\u2086",subscriptSeven:"\u2087",subscriptEight:"\u2088",subscriptNine:"\u2089",oneHalf:"\xBD",oneThird:"\u2153",oneQuarter:"\xBC",oneFifth:"\u2155",oneSixth:"\u2159",oneEighth:"\u215B",twoThirds:"\u2154",twoFifths:"\u2156",threeQuarters:"\xBE",threeFifths:"\u2157",threeEighths:"\u215C",fourFifths:"\u2158",fiveSixths:"\u215A",fiveEighths:"\u215D",sevenEighths:"\u215E",line:"\u2500",lineBold:"\u2501",lineDouble:"\u2550",lineDashed0:"\u2504",lineDashed1:"\u2505",lineDashed2:"\u2508",lineDashed3:"\u2509",lineDashed4:"\u254C",lineDashed5:"\u254D",lineDashed6:"\u2574",lineDashed7:"\u2576",lineDashed8:"\u2578",lineDashed9:"\u257A",lineDashed10:"\u257C",lineDashed11:"\u257E",lineDashed12:"\u2212",lineDashed13:"\u2013",lineDashed14:"\u2010",lineDashed15:"\u2043",lineVertical:"\u2502",lineVerticalBold:"\u2503",lineVerticalDouble:"\u2551",lineVerticalDashed0:"\u2506",lineVerticalDashed1:"\u2507",lineVerticalDashed2:"\u250A",lineVerticalDashed3:"\u250B",lineVerticalDashed4:"\u254E",lineVerticalDashed5:"\u254F",lineVerticalDashed6:"\u2575",lineVerticalDashed7:"\u2577",lineVerticalDashed8:"\u2579",lineVerticalDashed9:"\u257B",lineVerticalDashed10:"\u257D",lineVerticalDashed11:"\u257F",lineDownLeft:"\u2510",lineDownLeftArc:"\u256E",lineDownBoldLeftBold:"\u2513",lineDownBoldLeft:"\u2512",lineDownLeftBold:"\u2511",lineDownDoubleLeftDouble:"\u2557",lineDownDoubleLeft:"\u2556",lineDownLeftDouble:"\u2555",lineDownRight:"\u250C",lineDownRightArc:"\u256D",lineDownBoldRightBold:"\u250F",lineDownBoldRight:"\u250E",lineDownRightBold:"\u250D",lineDownDoubleRightDouble:"\u2554",lineDownDoubleRight:"\u2553",lineDownRightDouble:"\u2552",lineUpLeft:"\u2518",lineUpLeftArc:"\u256F",lineUpBoldLeftBold:"\u251B",lineUpBoldLeft:"\u251A",lineUpLeftBold:"\u2519",lineUpDoubleLeftDouble:"\u255D",lineUpDoubleLeft:"\u255C",lineUpLeftDouble:"\u255B",lineUpRight:"\u2514",lineUpRightArc:"\u2570",lineUpBoldRightBold:"\u2517",lineUpBoldRight:"\u2516",lineUpRightBold:"\u2515",lineUpDoubleRightDouble:"\u255A",lineUpDoubleRight:"\u2559",lineUpRightDouble:"\u2558",lineUpDownLeft:"\u2524",lineUpBoldDownBoldLeftBold:"\u252B",lineUpBoldDownBoldLeft:"\u2528",lineUpDownLeftBold:"\u2525",lineUpBoldDownLeftBold:"\u2529",lineUpDownBoldLeftBold:"\u252A",lineUpDownBoldLeft:"\u2527",lineUpBoldDownLeft:"\u2526",lineUpDoubleDownDoubleLeftDouble:"\u2563",lineUpDoubleDownDoubleLeft:"\u2562",lineUpDownLeftDouble:"\u2561",lineUpDownRight:"\u251C",lineUpBoldDownBoldRightBold:"\u2523",lineUpBoldDownBoldRight:"\u2520",lineUpDownRightBold:"\u251D",lineUpBoldDownRightBold:"\u2521",lineUpDownBoldRightBold:"\u2522",lineUpDownBoldRight:"\u251F",lineUpBoldDownRight:"\u251E",lineUpDoubleDownDoubleRightDouble:"\u2560",lineUpDoubleDownDoubleRight:"\u255F",lineUpDownRightDouble:"\u255E",lineDownLeftRight:"\u252C",lineDownBoldLeftBoldRightBold:"\u2533",lineDownLeftBoldRightBold:"\u252F",lineDownBoldLeftRight:"\u2530",lineDownBoldLeftBoldRight:"\u2531",lineDownBoldLeftRightBold:"\u2532",lineDownLeftRightBold:"\u252E",lineDownLeftBoldRight:"\u252D",lineDownDoubleLeftDoubleRightDouble:"\u2566",lineDownDoubleLeftRight:"\u2565",lineDownLeftDoubleRightDouble:"\u2564",lineUpLeftRight:"\u2534",lineUpBoldLeftBoldRightBold:"\u253B",lineUpLeftBoldRightBold:"\u2537",lineUpBoldLeftRight:"\u2538",lineUpBoldLeftBoldRight:"\u2539",lineUpBoldLeftRightBold:"\u253A",lineUpLeftRightBold:"\u2536",lineUpLeftBoldRight:"\u2535",lineUpDoubleLeftDoubleRightDouble:"\u2569",lineUpDoubleLeftRight:"\u2568",lineUpLeftDoubleRightDouble:"\u2567",lineUpDownLeftRight:"\u253C",lineUpBoldDownBoldLeftBoldRightBold:"\u254B",lineUpDownBoldLeftBoldRightBold:"\u2548",lineUpBoldDownLeftBoldRightBold:"\u2547",lineUpBoldDownBoldLeftRightBold:"\u254A",lineUpBoldDownBoldLeftBoldRight:"\u2549",lineUpBoldDownLeftRight:"\u2540",lineUpDownBoldLeftRight:"\u2541",lineUpDownLeftBoldRight:"\u253D",lineUpDownLeftRightBold:"\u253E",lineUpBoldDownBoldLeftRight:"\u2542",lineUpDownLeftBoldRightBold:"\u253F",lineUpBoldDownLeftBoldRight:"\u2543",lineUpBoldDownLeftRightBold:"\u2544",lineUpDownBoldLeftBoldRight:"\u2545",lineUpDownBoldLeftRightBold:"\u2546",lineUpDoubleDownDoubleLeftDoubleRightDouble:"\u256C",lineUpDoubleDownDoubleLeftRight:"\u256B",lineUpDownLeftDoubleRightDouble:"\u256A",lineCross:"\u2573",lineBackslash:"\u2572",lineSlash:"\u2571"},sr={tick:"\u2714",info:"\u2139",warning:"\u26A0",cross:"\u2718",squareSmall:"\u25FB",squareSmallFilled:"\u25FC",circle:"\u25EF",circleFilled:"\u25C9",circleDotted:"\u25CC",circleDouble:"\u25CE",circleCircle:"\u24DE",circleCross:"\u24E7",circlePipe:"\u24BE",radioOn:"\u25C9",radioOff:"\u25EF",checkboxOn:"\u2612",checkboxOff:"\u2610",checkboxCircleOn:"\u24E7",checkboxCircleOff:"\u24BE",pointer:"\u276F",triangleUpOutline:"\u25B3",triangleLeft:"\u25C0",triangleRight:"\u25B6",lozenge:"\u25C6",lozengeOutline:"\u25C7",hamburger:"\u2630",smiley:"\u32E1",mustache:"\u0DF4",star:"\u2605",play:"\u25B6",nodejs:"\u2B22",oneSeventh:"\u2150",oneNinth:"\u2151",oneTenth:"\u2152"},no={tick:"\u221A",info:"i",warning:"\u203C",cross:"\xD7",squareSmall:"\u25A1",squareSmallFilled:"\u25A0",circle:"( )",circleFilled:"(*)",circleDotted:"( )",circleDouble:"( )",circleCircle:"(\u25CB)",circleCross:"(\xD7)",circlePipe:"(\u2502)",radioOn:"(*)",radioOff:"( )",checkboxOn:"[\xD7]",checkboxOff:"[ ]",checkboxCircleOn:"(\xD7)",checkboxCircleOff:"( )",pointer:">",triangleUpOutline:"\u2206",triangleLeft:"\u25C4",triangleRight:"\u25BA",lozenge:"\u2666",lozengeOutline:"\u25CA",hamburger:"\u2261",smiley:"\u263A",mustache:"\u250C\u2500\u2510",star:"\u2736",play:"\u25BA",nodejs:"\u2666",oneSeventh:"1/7",oneNinth:"1/9",oneTenth:"1/10"},so=p(p({},nr),sr),ao=p(p({},nr),no),Do=io(),lo=Do?so:ao,ar=lo,ji=Object.entries(sr)});var I,lr,cr=E(()=>{I=require("util");Dr();lr={prefix:{idle:(0,I.styleText)("blue","?"),done:(0,I.styleText)("green",ar.tick)},spinner:{interval:80,frames:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"].map(e=>(0,I.styleText)("yellow",e))},style:{answer:e=>(0,I.styleText)("cyan",e),message:e=>(0,I.styleText)("bold",e),error:e=>(0,I.styleText)("red",`> ${e}`),defaultAnswer:e=>(0,I.styleText)("dim",`(${e})`),help:e=>(0,I.styleText)("dim",e),highlight:e=>(0,I.styleText)("cyan",e),key:e=>(0,I.styleText)("cyan",(0,I.styleText)("bold",`<${e}>`))}}});function Fr(e){if(typeof e!="object"||e===null)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function dr(...e){let t={};for(let r of e)for(let[u,o]of Object.entries(r)){let n=t[u];t[u]=Fr(n)&&Fr(o)?dr(n,o):o}return t}function te(...e){let t=[lr,...e.filter(r=>r!=null)];return dr(...t)}var ct=E(()=>{cr()});function Le({status:e="idle",theme:t}){var D;let[r,u]=_(!1),[o,n]=_(0),{prefix:i,spinner:s}=te(t);return ee(()=>{if(e==="loading"){let c,l=-1,h=setTimeout(()=>{u(!0),c=setInterval(()=>{l=l+1,n(l%s.frames.length)},s.interval)},300);return()=>{clearTimeout(h),clearInterval(c)}}else u(!1)},[e]),r?s.frames[o]:typeof i=="string"?i:(D=i[e==="loading"?"idle":e])!=null?D:i.idle}var fr=E(()=>{je();Ke();ct()});function hr(e){return _({current:e})[0]}var mr=E(()=>{je()});function ye(e){let t=hr(e);t.current=e,ee(r=>{let u=!1,o=lt((n,i)=>{u||t.current(i,r)});return r.input.on("keypress",o),()=>{u=!0,r.input.removeListener("keypress",o)}},[])}var gr=E(()=>{mr();Ke();se()});var Cr=nt((on,pr)=>{"use strict";pr.exports=Fo;function co(e){let t={defaultWidth:0,output:process.stdout,tty:require("tty")};return e?(Object.keys(t).forEach(function(r){e[r]||(e[r]=t[r])}),e):t}function Fo(e){let t=co(e);if(t.output.getWindowSize)return t.output.getWindowSize()[0]||t.defaultWidth;if(t.tty.getWindowSize)return t.tty.getWindowSize()[1]||t.defaultWidth;if(t.output.columns)return t.output.columns;if(process.env.CLI_WIDTH){let r=parseInt(process.env.CLI_WIDTH,10);if(!isNaN(r)&&r!==0)return r}return t.defaultWidth}});function Ft({onlyFirst:e=!1}={}){let o="(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";return new RegExp(o,e?void 0:"g")}var Er=E(()=>{});function Ae(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(fo,"")}var fo,dt=E(()=>{Er();fo=Ft()});function Br(e){return e===161||e===164||e===167||e===168||e===170||e===173||e===174||e>=176&&e<=180||e>=182&&e<=186||e>=188&&e<=191||e===198||e===208||e===215||e===216||e>=222&&e<=225||e===230||e>=232&&e<=234||e===236||e===237||e===240||e===242||e===243||e>=247&&e<=250||e===252||e===254||e===257||e===273||e===275||e===283||e===294||e===295||e===299||e>=305&&e<=307||e===312||e>=319&&e<=322||e===324||e>=328&&e<=331||e===333||e===338||e===339||e===358||e===359||e===363||e===462||e===464||e===466||e===468||e===470||e===472||e===474||e===476||e===593||e===609||e===708||e===711||e>=713&&e<=715||e===717||e===720||e>=728&&e<=731||e===733||e===735||e>=768&&e<=879||e>=913&&e<=929||e>=931&&e<=937||e>=945&&e<=961||e>=963&&e<=969||e===1025||e>=1040&&e<=1103||e===1105||e===8208||e>=8211&&e<=8214||e===8216||e===8217||e===8220||e===8221||e>=8224&&e<=8226||e>=8228&&e<=8231||e===8240||e===8242||e===8243||e===8245||e===8251||e===8254||e===8308||e===8319||e>=8321&&e<=8324||e===8364||e===8451||e===8453||e===8457||e===8467||e===8470||e===8481||e===8482||e===8486||e===8491||e===8531||e===8532||e>=8539&&e<=8542||e>=8544&&e<=8555||e>=8560&&e<=8569||e===8585||e>=8592&&e<=8601||e===8632||e===8633||e===8658||e===8660||e===8679||e===8704||e===8706||e===8707||e===8711||e===8712||e===8715||e===8719||e===8721||e===8725||e===8730||e>=8733&&e<=8736||e===8739||e===8741||e>=8743&&e<=8748||e===8750||e>=8756&&e<=8759||e===8764||e===8765||e===8776||e===8780||e===8786||e===8800||e===8801||e>=8804&&e<=8807||e===8810||e===8811||e===8814||e===8815||e===8834||e===8835||e===8838||e===8839||e===8853||e===8857||e===8869||e===8895||e===8978||e>=9312&&e<=9449||e>=9451&&e<=9547||e>=9552&&e<=9587||e>=9600&&e<=9615||e>=9618&&e<=9621||e===9632||e===9633||e>=9635&&e<=9641||e===9650||e===9651||e===9654||e===9655||e===9660||e===9661||e===9664||e===9665||e>=9670&&e<=9672||e===9675||e>=9678&&e<=9681||e>=9698&&e<=9701||e===9711||e===9733||e===9734||e===9737||e===9742||e===9743||e===9756||e===9758||e===9792||e===9794||e===9824||e===9825||e>=9827&&e<=9829||e>=9831&&e<=9834||e===9836||e===9837||e===9839||e===9886||e===9887||e===9919||e>=9926&&e<=9933||e>=9935&&e<=9939||e>=9941&&e<=9953||e===9955||e===9960||e===9961||e>=9963&&e<=9969||e===9972||e>=9974&&e<=9977||e===9979||e===9980||e===9982||e===9983||e===10045||e>=10102&&e<=10111||e>=11094&&e<=11097||e>=12872&&e<=12879||e>=57344&&e<=63743||e>=65024&&e<=65039||e===65533||e>=127232&&e<=127242||e>=127248&&e<=127277||e>=127280&&e<=127337||e>=127344&&e<=127373||e===127375||e===127376||e>=127387&&e<=127404||e>=917760&&e<=917999||e>=983040&&e<=1048573||e>=1048576&&e<=1114109}function wr(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function xr(e){return e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9776&&e<=9783||e>=9800&&e<=9811||e===9855||e>=9866&&e<=9871||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12773||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e>=94192&&e<=94198||e>=94208&&e<=101589||e>=101631&&e<=101662||e>=101760&&e<=101874||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e>=119552&&e<=119638||e>=119648&&e<=119670||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128728||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129674||e>=129678&&e<=129734||e===129736||e>=129741&&e<=129756||e>=129759&&e<=129770||e>=129775&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141}var br=E(()=>{});function ho(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function Lr(e,{ambiguousAsWide:t=!1}={}){return ho(e),wr(e)||xr(e)||t&&Br(e)?2:1}var yr=E(()=>{br()});var vr=nt((dn,Ar)=>{Ar.exports=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g});function re(e,t={}){if(typeof e!="string"||e.length===0)return 0;let{ambiguousIsNarrow:r=!0,countAnsiEscapeCodes:u=!1}=t;if(u||(e=Ae(e)),e.length===0)return 0;let o=0,n={ambiguousAsWide:!r};for(let{segment:i}of mo.segment(e)){let s=i.codePointAt(0);if(!(s<=31||s>=127&&s<=159)&&!(s>=8203&&s<=8207||s===65279)&&!(s>=768&&s<=879||s>=6832&&s<=6911||s>=7616&&s<=7679||s>=8400&&s<=8447||s>=65056&&s<=65071)&&!(s>=55296&&s<=57343)&&!(s>=65024&&s<=65039)&&!go.test(i)){if((0,Sr.default)().test(i)){o+=2;continue}o+=Lr(s,n)}}return o}var Sr,mo,go,Mr=E(()=>{dt();yr();Sr=q(vr(),1),mo=new Intl.Segmenter,go=new RegExp("^\\p{Default_Ignorable_Code_Point}$","u")});function Eo(){let e=new Map;for(let[t,r]of Object.entries(L)){for(let[u,o]of Object.entries(r))L[u]={open:`\x1B[${o[0]}m`,close:`\x1B[${o[1]}m`},r[u]=L[u],e.set(o[0],o[1]);Object.defineProperty(L,t,{value:r,enumerable:!1})}return Object.defineProperty(L,"codes",{value:e,enumerable:!1}),L.color.close="\x1B[39m",L.bgColor.close="\x1B[49m",L.color.ansi=Tr(),L.color.ansi256=Pr(),L.color.ansi16m=Rr(),L.bgColor.ansi=Tr(10),L.bgColor.ansi256=Pr(10),L.bgColor.ansi16m=Rr(10),Object.defineProperties(L,{rgbToAnsi256:{value(t,r,u){return t===r&&r===u?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(r/255*5)+Math.round(u/255*5)},enumerable:!1},hexToRgb:{value(t){let r=/[a-f\d]{6}|[a-f\d]{3}/i.exec(t.toString(16));if(!r)return[0,0,0];let[u]=r;u.length===3&&(u=[...u].map(n=>n+n).join(""));let o=Number.parseInt(u,16);return[o>>16&255,o>>8&255,o&255]},enumerable:!1},hexToAnsi256:{value:t=>L.rgbToAnsi256(...L.hexToRgb(t)),enumerable:!1},ansi256ToAnsi:{value(t){if(t<8)return 30+t;if(t<16)return 90+(t-8);let r,u,o;if(t>=232)r=((t-232)*10+8)/255,u=r,o=r;else{t-=16;let s=t%36;r=Math.floor(t/36)/5,u=Math.floor(s/6)/5,o=s%6/5}let n=Math.max(r,u,o)*2;if(n===0)return 30;let i=30+(Math.round(o)<<2|Math.round(u)<<1|Math.round(r));return n===2&&(i+=60),i},enumerable:!1},rgbToAnsi:{value:(t,r,u)=>L.ansi256ToAnsi(L.rgbToAnsi256(t,r,u)),enumerable:!1},hexToAnsi:{value:t=>L.ansi256ToAnsi(L.hexToAnsi256(t)),enumerable:!1}}),L}var Tr,Pr,Rr,L,gn,po,Co,pn,Bo,kr,_r=E(()=>{Tr=(e=0)=>t=>`\x1B[${t+e}m`,Pr=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,Rr=(e=0)=>(t,r,u)=>`\x1B[${38+e};2;${t};${r};${u}m`,L={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},gn=Object.keys(L.modifier),po=Object.keys(L.color),Co=Object.keys(L.bgColor),pn=[...po,...Co];Bo=Eo(),kr=Bo});function mt(e,t,r){return String(e).normalize().replaceAll(`\r
3
- `,`
4
- `).split(`
5
- `).map(u=>yo(u,t,r)).join(`
6
- `)}var qe,wo,ht,Ir,xo,Ur,Ve,Or,$r,bo,ft,Lo,yo,Nr=E(()=>{Mr();dt();_r();qe=new Set(["\x1B","\x9B"]),wo=39,ht="\x07",Ir="[",xo="]",Ur="m",Ve=`${xo}8;;`,Or=e=>`${qe.values().next().value}${Ir}${e}${Ur}`,$r=e=>`${qe.values().next().value}${Ve}${e}${ht}`,bo=e=>e.split(" ").map(t=>re(t)),ft=(e,t,r)=>{let u=[...t],o=!1,n=!1,i=re(Ae(e.at(-1)));for(let[s,a]of u.entries()){let D=re(a);if(i+D<=r?e[e.length-1]+=a:(e.push(a),i=0),qe.has(a)&&(o=!0,n=u.slice(s+1,s+1+Ve.length).join("")===Ve),o){n?a===ht&&(o=!1,n=!1):a===Ur&&(o=!1);continue}i+=D,i===r&&s<u.length-1&&(e.push(""),i=0)}!i&&e.at(-1).length>0&&e.length>1&&(e[e.length-2]+=e.pop())},Lo=e=>{let t=e.split(" "),r=t.length;for(;r>0&&!(re(t[r-1])>0);)r--;return r===t.length?e:t.slice(0,r).join(" ")+t.slice(r).join("")},yo=(e,t,r={})=>{if(r.trim!==!1&&e.trim()==="")return"";let u="",o,n,i=bo(e),s=[""];for(let[l,h]of e.split(" ").entries()){r.trim!==!1&&(s[s.length-1]=s.at(-1).trimStart());let f=re(s.at(-1));if(l!==0&&(f>=t&&(r.wordWrap===!1||r.trim===!1)&&(s.push(""),f=0),(f>0||r.trim===!1)&&(s[s.length-1]+=" ",f++)),r.hard&&i[l]>t){let d=t-f,F=1+Math.floor((i[l]-d-1)/t);Math.floor((i[l]-1)/t)<F&&s.push(""),ft(s,h,t);continue}if(f+i[l]>t&&f>0&&i[l]>0){if(r.wordWrap===!1&&f<t){ft(s,h,t);continue}s.push("")}if(f+i[l]>t&&r.wordWrap===!1){ft(s,h,t);continue}s[s.length-1]+=h}r.trim!==!1&&(s=s.map(l=>Lo(l)));let a=s.join(`
7
- `),D=[...a],c=0;for(let[l,h]of D.entries()){if(u+=h,qe.has(h)){let{groups:d}=new RegExp(`(?:\\${Ir}(?<code>\\d+)m|\\${Ve}(?<uri>.*)${ht})`).exec(a.slice(c))||{groups:{}};if(d.code!==void 0){let F=Number.parseFloat(d.code);o=F===wo?void 0:F}else d.uri!==void 0&&(n=d.uri.length===0?void 0:d.uri)}let f=kr.codes.get(Number(o));D[l+1]===`
8
- `?(n&&(u+=$r("")),o&&f&&(u+=Or(f))):h===`
9
- `&&(o&&f&&(u+=Or(o)),n&&(u+=$r(n))),c+=h.length}return u}});function gt(e,t){return e.split(`
10
- `).flatMap(r=>mt(r,t,{trim:!1,hard:!0}).split(`
11
- `).map(u=>u.trimEnd())).join(`
12
- `)}function Kr(){return(0,jr.default)({defaultWidth:80,output:Dt().output})}var jr,Vr=E(()=>{jr=q(Cr(),1);Nr();se()});var Wr=nt((An,qr)=>{var Ao=require("stream"),ae,De,We,le,Ge,pt=class extends Ao{constructor(r={}){super(r);R(this,De);R(this,le);R(this,ae,null);this.writable=this.readable=!0,this.muted=!1,this.on("pipe",this._onpipe),this.replace=r.replace,this._prompt=r.prompt||null,this._hadControl=!1}get isTTY(){return m(this,ae)!==null?m(this,ae):V(this,De,We).call(this,"isTTY",!1)}set isTTY(r){W(this,ae,r)}get rows(){return V(this,De,We).call(this,"rows")}get columns(){return V(this,De,We).call(this,"columns")}mute(){this.muted=!0}unmute(){this.muted=!1}_onpipe(r){this._src=r}pipe(r,u){return this._dest=r,super.pipe(r,u)}pause(){if(this._src)return this._src.pause()}resume(){if(this._src)return this._src.resume()}write(r){if(this.muted){if(!this.replace)return!0;if(r.match(/^\u001b/))return r.indexOf(this._prompt)===0&&(r=r.slice(this._prompt.length),r=r.replace(/./g,this.replace),r=this._prompt+r),this._hadControl=!0,this.emit("data",r);this._prompt&&this._hadControl&&r.indexOf(this._prompt)===0&&(this._hadControl=!1,this.emit("data",this._prompt),r=r.slice(this._prompt.length)),r=r.toString().replace(/./g,this.replace)}this.emit("data",r)}end(r){this.muted&&(r&&this.replace?r=r.toString().replace(/./g,this.replace):r=null),r&&this.emit("data",r),this.emit("end")}destroy(...r){return V(this,le,Ge).call(this,"destroy",...r)}destroySoon(...r){return V(this,le,Ge).call(this,"destroySoon",...r)}close(...r){return V(this,le,Ge).call(this,"close",...r)}};ae=new WeakMap,De=new WeakSet,We=function(r,u){return this._dest?this._dest[r]:this._src?this._src[r]:u},le=new WeakSet,Ge=function(r,...u){var o,n;typeof((o=this._dest)==null?void 0:o[r])=="function"&&this._dest[r](...u),typeof((n=this._src)==null?void 0:n[r])=="function"&&this._src[r](...u)};qr.exports=pt});var ue,Gr=E(()=>{ue=[];ue.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&ue.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&ue.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT")});var He,Ct,Et,vo,Bt,ze,So,wt,Je,$,A,ce,Fe,oe,z,Ye,Hr,Qe,zr,xt,bt,Jr,Tn,Pn,Yr=E(()=>{Gr();He=e=>!!e&&typeof e=="object"&&typeof e.removeListener=="function"&&typeof e.emit=="function"&&typeof e.reallyExit=="function"&&typeof e.listeners=="function"&&typeof e.kill=="function"&&typeof e.pid=="number"&&typeof e.on=="function",Ct=Symbol.for("signal-exit emitter"),Et=globalThis,vo=Object.defineProperty.bind(Object),Bt=class{constructor(){C(this,"emitted",{afterExit:!1,exit:!1});C(this,"listeners",{afterExit:[],exit:[]});C(this,"count",0);C(this,"id",Math.random());if(Et[Ct])return Et[Ct];vo(Et,Ct,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(t,r){this.listeners[t].push(r)}removeListener(t,r){let u=this.listeners[t],o=u.indexOf(r);o!==-1&&(o===0&&u.length===1?u.length=0:u.splice(o,1))}emit(t,r,u){if(this.emitted[t])return!1;this.emitted[t]=!0;let o=!1;for(let n of this.listeners[t])o=n(r,u)===!0||o;return t==="exit"&&(o=this.emit("afterExit",r,u)||o),o}},ze=class{},So=e=>({onExit(t,r){return e.onExit(t,r)},load(){return e.load()},unload(){return e.unload()}}),wt=class extends ze{onExit(){return()=>{}}load(){}unload(){}},xt=class extends ze{constructor(r){super();R(this,Ye);R(this,Qe);R(this,Je,bt.platform==="win32"?"SIGINT":"SIGHUP");R(this,$,new Bt);R(this,A,void 0);R(this,ce,void 0);R(this,Fe,void 0);R(this,oe,{});R(this,z,!1);W(this,A,r),W(this,oe,{});for(let u of ue)m(this,oe)[u]=()=>{let o=m(this,A).listeners(u),{count:n}=m(this,$),i=r;if(typeof i.__signal_exit_emitter__=="object"&&typeof i.__signal_exit_emitter__.count=="number"&&(n+=i.__signal_exit_emitter__.count),o.length===n){this.unload();let s=m(this,$).emit("exit",null,u),a=u==="SIGHUP"?m(this,Je):u;s||r.kill(r.pid,a)}};W(this,Fe,r.reallyExit),W(this,ce,r.emit)}onExit(r,u){if(!He(m(this,A)))return()=>{};m(this,z)===!1&&this.load();let o=u!=null&&u.alwaysLast?"afterExit":"exit";return m(this,$).on(o,r),()=>{m(this,$).removeListener(o,r),m(this,$).listeners.exit.length===0&&m(this,$).listeners.afterExit.length===0&&this.unload()}}load(){if(!m(this,z)){W(this,z,!0),m(this,$).count+=1;for(let r of ue)try{let u=m(this,oe)[r];u&&m(this,A).on(r,u)}catch(u){}m(this,A).emit=(r,...u)=>V(this,Qe,zr).call(this,r,...u),m(this,A).reallyExit=r=>V(this,Ye,Hr).call(this,r)}}unload(){m(this,z)&&(W(this,z,!1),ue.forEach(r=>{let u=m(this,oe)[r];if(!u)throw new Error("Listener not defined for signal: "+r);try{m(this,A).removeListener(r,u)}catch(o){}}),m(this,A).emit=m(this,ce),m(this,A).reallyExit=m(this,Fe),m(this,$).count-=1)}};Je=new WeakMap,$=new WeakMap,A=new WeakMap,ce=new WeakMap,Fe=new WeakMap,oe=new WeakMap,z=new WeakMap,Ye=new WeakSet,Hr=function(r){return He(m(this,A))?(m(this,A).exitCode=r||0,m(this,$).emit("exit",m(this,A).exitCode,null),m(this,Fe).call(m(this,A),m(this,A).exitCode)):0},Qe=new WeakSet,zr=function(r,...u){let o=m(this,ce);if(r==="exit"&&He(m(this,A))){typeof u[0]=="number"&&(m(this,A).exitCode=u[0]);let n=o.call(m(this,A),r,...u);return m(this,$).emit("exit",m(this,A).exitCode,null),n}else return o.call(m(this,A),r,...u)};bt=globalThis.process,{onExit:Jr,load:Tn,unload:Pn}=So(He(bt)?new xt(bt):new wt)});var J,Mo,_n,Zr,Lt,yt,At,Qr,vt,Xr=E(()=>{J="\x1B[",Mo=J+"G",_n=J+"?25l",Zr=J+"?25h",Lt=(e=1)=>e>0?`${J}${e}A`:"",yt=(e=1)=>e>0?`${J}${e}B`:"",At=(e,t)=>typeof t=="number"&&!Number.isNaN(t)?`${J}${t+1};${e+1}H`:`${J}${e+1}G`,Qr=J+"2K",vt=e=>e>0?(Qr+Lt(1)).repeat(e-1)+Qr+Mo:""});var tu,eu,To,ve,ru=E(()=>{tu=require("util");Vr();Xr();eu=e=>e.split(`
13
- `).length,To=e=>{var t;return(t=e.split(`
14
- `).pop())!=null?t:""},ve=class{constructor(t){C(this,"height",0);C(this,"extraLinesUnderPrompt",0);C(this,"cursorPos");C(this,"rl");this.rl=t,this.cursorPos=t.getCursorPos()}write(t){this.rl.output.unmute(),this.rl.output.write(t),this.rl.output.mute()}render(t,r=""){let u=To(t),o=(0,tu.stripVTControlCharacters)(u),n=o;this.rl.line.length>0&&(n=n.slice(0,-this.rl.line.length)),this.rl.setPrompt(n),this.cursorPos=this.rl.getCursorPos();let i=Kr();t=gt(t,i),r=gt(r,i),o.length%i===0&&(t+=`
15
- `);let s=t+(r?`
16
- `+r:""),D=Math.floor(o.length/i)-this.cursorPos.rows+(r?eu(r):0);D>0&&(s+=Lt(D)),s+=At(this.cursorPos.cols),this.write(yt(this.extraLinesUnderPrompt)+vt(this.height)+s),this.extraLinesUnderPrompt=D,this.height=eu(s)}checkCursorPos(){let t=this.rl.getCursorPos();t.cols!==this.cursorPos.cols&&(this.write(At(t.cols)),this.cursorPos=t)}done({clearContent:t}){this.rl.setPrompt("");let r=yt(this.extraLinesUnderPrompt);r+=t?vt(this.height):`
17
- `,r+=Zr,this.write(r),this.rl.close()}}});var Ze,uu=E(()=>{Ze=class extends Promise{static withResolver(){let t,r;return{promise:new Promise((o,n)=>{t=o,r=n}),resolve:t,reject:r}}}});function Po(){let e=Error.prepareStackTrace,t=[];try{Error.prepareStackTrace=(r,u)=>{let o=u.slice(1);return t=o,o},new Error().stack}catch(r){return t}return Error.prepareStackTrace=e,t}function Se(e){let t=Po();return(u,o={})=>{var S;let{input:n=process.stdin,signal:i}=o,s=new Set,a=new nu.default;a.pipe((S=o.output)!=null?S:process.stdout);let D=ou.createInterface({terminal:!0,input:n,output:a}),c=new ve(D),{promise:l,resolve:h,reject:f}=Ze.withResolver(),d=()=>f(new _e);if(i){let x=()=>f(new ke({cause:i.reason}));if(i.aborted)return x(),Object.assign(l,{cancel:d});i.addEventListener("abort",x),s.add(()=>i.removeEventListener("abort",x))}s.add(Jr((x,M)=>{f(new be(`User force closed the prompt with ${x} ${M}`))}));let F=()=>f(new be("User force closed the prompt with SIGINT"));D.on("SIGINT",F),s.add(()=>D.removeListener("SIGINT",F));let B=()=>c.checkCursorPos();return D.input.on("keypress",B),s.add(()=>D.input.removeListener("keypress",B)),ur(D,x=>{let M=iu.AsyncResource.bind(()=>X.clearAll());return D.on("close",M),s.add(()=>D.removeListener("close",M)),x(()=>{var v;try{let T=e(u,pe=>{setImmediate(()=>h(pe))});if(T===void 0){let pe=(v=t[1])==null?void 0:v.getFileName();throw new Error(`Prompt functions must return a string.
18
- at ${pe}`)}let[ie,ne]=typeof T=="string"?[T]:T;c.render(ie,ne),X.run()}catch(T){f(T)}}),Object.assign(l.then(v=>(X.clearAll(),v),v=>{throw X.clearAll(),v}).finally(()=>{s.forEach(v=>v()),c.done({clearContent:!!o.clearPromptOnDone}),a.end()}).then(()=>l),{cancel:d})})}}var ou,iu,nu,su=E(()=>{ou=q(require("readline"),1),iu=require("async_hooks"),nu=q(Wr(),1);Yr();ru();uu();se();Ie()});var St=E(()=>{tr();Ie();fr();je();Ke();gr();ct();su()});function au(e,t){let r=t!==!1;return/^(y|yes)/i.test(e)?r=!0:/^(n|no)/i.test(e)&&(r=!1),r}function Du(e){return e?"Yes":"No"}var Me,lu=E(()=>{St();Me=Se((e,t)=>{let{transformer:r=Du}=e,[u,o]=_("idle"),[n,i]=_(""),s=te(e.theme),a=Le({status:u,theme:s});ye((h,f)=>{if(u==="idle")if(xe(h)){let d=au(n,e.default);i(r(d)),o("done"),t(d)}else if(we(h)){let d=Du(!au(n,e.default));f.clearLine(0),f.write(d),i(d)}else i(f.line)});let D=n,c="";u==="done"?D=s.style.answer(n):c=` ${s.style.defaultAnswer(e.default===!1?"y/N":"Y/n")}`;let l=s.style.message(e.message,u);return`${a} ${l}${c} ${D}`})});var Ro,Y,cu=E(()=>{St();Ro={validationFailureMode:"keep"},Y=Se((e,t)=>{let{prefill:r="tab"}=e,u=te(Ro,e.theme),[o,n]=_("idle"),[i="",s]=_(e.default),[a,D]=_(),[c,l]=_(""),h=Le({status:o,theme:u});async function f(x){let{required:M,pattern:v,patternError:T="Invalid input"}=e;return M&&!x?"You must provide a value":v&&!v.test(x)?T:typeof e.validate=="function"?await e.validate(x)||"You must provide a valid value":!0}ye(async(x,M)=>{if(o==="idle")if(xe(x)){let v=c||i;n("loading");let T=await f(v);T===!0?(l(v),n("done"),t(v)):(u.validationFailureMode==="clear"?l(""):M.write(c),D(T),n("idle"))}else at(x)&&!c?s(void 0):we(x)&&!c?(s(void 0),M.clearLine(0),M.write(i),l(i)):(l(M.line),D(void 0))}),ee(x=>{r==="editable"&&i&&(x.write(i),l(i))},[]);let d=u.style.message(e.message,o),F=c;typeof e.transformer=="function"?F=e.transformer(c,{isFinal:o==="done"}):o==="done"&&(F=u.style.answer(c));let B;i&&o!=="done"&&!c&&(B=u.style.defaultAnswer(i));let S="";return a&&(S=u.style.error(a)),[[h,d,B,F].filter(x=>x!==void 0).join(" "),S]})});var Fu=E(()=>{lu();cu()});var ko,Xe=E(()=>{"use strict";ko=require("@kumori/kdsl-lsp/util/result.js")});async function Cu(e){let t=new Map;return await Bu(e,t),t}async function Eu(e,t){let r=new Map;console.log(t);for(let u of t){let o=(0,Pt.ParseQuery)(u);if(G.Maybe.isNone(o)){let a=`invalid download query '${u}': failed to parse`;r.set(u,P(p({},(0,y.Err)(a)),{required:!0}));continue}let n=(0,Mt.Version)(o.value.Version);if(G.Maybe.isNone(n)){let a=`invalid download query '${u}': invalid version specifier '${o.value.Version}': failed to parse`;r.set(u,P(p({},(0,y.Err)(a)),{required:!0}));continue}if(!Mt.Version.isSemVer(n.value)){let a=`invalid download query '${u}': invalid version specifier '${o.value.Version}': invalid semver`;r.set(u,P(p({},(0,y.Err)(a)),{required:!0}));continue}let i=`${o.value.Scheme}://${o.value.Location}`,s=o.value.Version;await wu(e,i,s,r)}return r}async function Bu(e,t){var u;let r=(0,du.ListDependencies)(e.Current);for(let o of r.keys()){let n=r.get(o);if(n.length<1)continue;let{target:i,version:s}=n[0];await wu(e,i,s,t);let a=n.reduce((c,l)=>c||l.interface===void 0,!1),D=(0,kt.DependencyId)(i,s);(0,et.default)(t.has(D)),(u=t.get(D)).required||(u.required=a)}}async function wu(e,t,r,u){let o=(0,kt.DependencyId)(t,r);if(u.has(o))return;let n=await _o(e,t,r);if(u.set(o,P(p({},n),{required:!1})),y.Result.isErr(n))return;let i=await(0,Rt.LocateDependency)(e,t,r);(0,et.default)(G.Maybe.isSome(i));let s=await fu.ModuleContext.Move(e,e.FS,i.value.Root);(0,et.default)(y.Result.isOk(s)),e=p(p({},e),s.value),await Bu(e,u)}async function _o(e,t,r){var D=[];try{let u=await(0,Rt.LocateDependency)(e,t,r);if(y.Result.isOk(u))return(0,y.Ok)(G.None);let o=Gt(D,await(0,hu.MkdirTemp)(),!0);let n=await xu(e,t,r,o.Path);if(y.Result.isErr(n))return(0,y.Err)(`failed to fetch ${t}@${r}: ${n.err}`);let i=await(0,mu.ValidateChecksum)(e.SumDB,tt.URI.file(o.Path),e,t,n.value);if(y.Result.isErr(i))return i;let s=`${t}@${r}`;let a=tt.UriUtils.joinPath(e.Locations.Cache(),s);await(0,de.mkdir)(a.fsPath,{recursive:!0});await(0,de.rm)(a.fsPath,{recursive:!0,force:!0});await(0,de.rename)(o.Path,a.fsPath);return(0,y.Ok)((0,G.Some)(s))}catch(c){var l=c,h=!0}finally{var f=Ht(D,l,h);f&&await f}}async function xu(e,t,r,u){let o=`${t}@${r}`,n=(0,Pt.ParseQuery)(o);if(G.Maybe.isNone(n))return(0,y.Err)(`failed to resolve ${o}: invalid download query`);let i=(0,Tt.SemVer)(n.value.Version),s=new pu.URL(`${n.value.Scheme}://${n.value.Location}`),a=(0,gu.ForURL)(e.Remotes,s);if(y.Result.isErr(a))return(0,y.Err)(`failed to resolve ${o}': invalid remote ${s}: ${a.err}`);let D=await a.value.Versions(s);if(y.Result.isErr(D))return(0,y.Err)(`failed to read ${s}: ${D.err}`);let c=i,l=D.value.filter(d=>Tt.SemVer.Compare(d,c)===0);if(l.length===0)return(0,y.Err)(`no remote matches for ${s}@v${i}`);if(l.length>1){let d=`[${l.map(String).join(", ")}]`;return(0,y.Err)(`ambiguous match for ${s}@v${i}: found ${d}`)}let h=l[0],f=await a.value.Get(s,h.toString(),u);return y.Result.isErr(f)?(0,y.Err)(`failed to fetch ${s}@${i.toString()}: ${f.err}`):(0,y.Ok)(h)}var Pt,G,y,Mt,du,et,Rt,fu,hu,mu,tt,de,gu,Tt,pu,kt,_t=E(()=>{"use strict";Pt=require("@kumori/kdsl-lsp/module/query.js"),G=require("@kumori/kdsl-lsp/util/maybe.js"),y=require("@kumori/kdsl-lsp/util/result.js"),Mt=require("@kumori/kdsl-lsp/module/version.js"),du=require("@kumori/kdsl-lsp/module/dependency/list.js"),et=q(require("assert"),1),Rt=require("@kumori/kdsl-lsp/module/dependency/locate.js"),fu=require("@kumori/kdsl-lsp/module/context.js"),hu=require("@kumori/kdsl-lsp/util/tmp.js"),mu=require("@kumori/kdsl-lsp/module/integrity/validate.js"),tt=require("langium"),de=require("fs/promises"),gu=require("@kumori/kdsl-lsp/module/remote/factory.js"),Tt=require("@kumori/kdsl-lsp/util/semver.js"),pu=require("@kumori/kdsl-lsp/util/url.js"),kt=require("@kumori/kdsl-lsp/module/dependency/id.js")});var Lu,yu,Ot,Au,j,vu,Oo,$o,Io,xs,Su,Mu=E(()=>{"use strict";Lu=require("@kumori/kdsl-lsp/module/context.js"),yu=require("@kumori/kdsl-lsp/module/integrity/sumdb.js"),Ot=require("@kumori/kdsl-lsp/module/remote/factory.js"),Au=require("@kumori/kdsl-lsp/util/maybe.js"),j=require("@kumori/kdsl-lsp/util/result.js"),vu=require("langium"),Oo=require("langium/node"),$o=require("@kumori/kdsl-lsp/language/kumori.js");Xe();_t();Io=require("@kumori/kdsl-lsp/module/registry/manager.js"),xs=`
19
- Downloads the specified modules, which can be module patterns selecting depen-
20
- dencies of the current module or module queries of the form path@version.
21
-
22
- With no arguments, download applies to the modules needed to build the packages
23
- in the current module.
24
-
25
- The kdsl command will automatically download modules as needed during ordinary
26
- execution. The "kdsl mod download" command is useful mainly for pre-filling the
27
- local cache.
28
-
29
- By default, download writes nothing to standard output. It may print progress
30
- messages and errors to standard error.
31
- `.trim(),Su=async(e,t,r,u,o)=>{let n=t.shared.workspace.FileSystemProvider,i=await(0,Lu.ModuleContext)(n,vu.URI.file(r));if(j.Result.isErr(i))return(0,j.Err)([i.err]);let s=await yu.SumDB.Open(i.value.Locations.Checksum());if(j.Result.isErr(s))return j.Result.mapErr(s,l=>[l]);let a;u.length?a=await Eu(P(p({},i.value),{FS:n,Remotes:(0,Ot.RemoteFetcherFactory)(),SumDB:s.value}),u):a=await Cu(P(p({},i.value),{FS:n,Remotes:(0,Ot.RemoteFetcherFactory)(),SumDB:s.value}));let D=[];for(let[l,h]of a){if(j.Result.isOk(h)){Au.Maybe.isSome(h.value)&&e.info(`Downloaded dependency ${l}`);continue}h.required?D.push(`${l}: ${h.err}`):o.quiet||(e.warn(`${l}: ${h.err}`),e.warn(`${l}: not required - continuing`))}return Array.from(a.entries()).filter(([,l])=>j.Result.isErr(l)&&l.required).length>0?(0,j.Err)(D):(0,j.Ok)(void 0)}});function qo(e,t){return`lexer error: ${Te.UriUtils.relative(process.cwd(),e.uri.fsPath)}:${t.line||1}:${t.column||1}: ${t.message}`}function Wo(e,t){return`parser error: ${Te.UriUtils.relative(process.cwd(),e.uri.fsPath)}:${t.token.startLine||1}:${t.token.startColumn||1}: ${t.message}`}function Go(e,t){return`diagnostic error: ${Te.UriUtils.relative(process.cwd(),e.uri.fsPath)}:${t.range.start.line+1}:${t.range.start.character+1}: ${t.message}`}var Uo,Te,No,$t,U,jo,Ko,Ps,It,Vo,Ut=E(()=>{"use strict";Uo=require("@kumori/kdsl-lsp/language/kumori.js"),Te=require("langium"),No=require("langium/node"),$t=require("vscode-languageserver"),U=require("@kumori/kdsl-lsp/util/result.js"),jo=require("@kumori/kdsl-lsp/module/context.js");Mu();Xe();Ko=require("@kumori/kdsl-lsp/module/registry/manager.js"),Ps=`
32
- `.trim(),It=async(e,t,r)=>{let u=r.Current.Root,o=await Su(e,t,u.fsPath,[],{quiet:!0});if(U.Result.isErr(o))return o;let n=await Vo(t,r);if(U.Result.isErr(n)){let i=n.err.warnings.concat(n.err.errors);return(0,U.Err)(i)}return(0,U.Ok)(void 0)},Vo=async(e,t)=>{let r={errors:[],warnings:[]},u=e.shared.workspace.FileSystemProvider,o=t.Current.Root,n=await U.Result.tryCatchAsync(()=>u.readDirectory(o));if(U.Result.isErr(n)){let D=""+n.err;return n.err instanceof Error&&(D=n.err.message),r.errors.push(`failed to read directory '${o.fsPath}': ${D}`),(0,U.Err)(r)}await e.shared.workspace.WorkspaceManager.initializeWorkspace([{name:"root",uri:o.toString()}]);let s=e.shared.workspace.LangiumDocuments;await e.shared.workspace.DocumentBuilder.build(s.all.toArray(),{validation:!0});for(let D of e.shared.workspace.LangiumDocuments.all){for(let c of D.parseResult.lexerErrors)r.errors.push(qo(D,c));for(let c of D.parseResult.parserErrors)r.errors.push(Wo(D,c));for(let c of D.diagnostics||[]){let l=Go(D,c);c.severity===$t.DiagnosticSeverity.Error&&r.errors.push(l),c.severity===$t.DiagnosticSeverity.Warning&&r.warnings.push(l)}}return r.errors.length>0?(0,U.Err)(r):(0,U.Ok)(void 0)}});function Tu(e){var u,o;let t=(o=(u=e.node.$cstNode)==null?void 0:u.range)!=null?o:{start:{line:-1,character:-1},end:{line:-1,character:-1}},r=rt.AstUtils.getDocument(e.node);return`${rt.UriUtils.relative(process.cwd(),r.uri.fsPath)}:${t.start.line+1}:${t.start.character+1}: ${e.message}`}var rt,Pu=E(()=>{"use strict";rt=require("langium")});async function _u(e,t,r,u){let o=me.UriUtils.joinPath(t.Current.Root,ut.default.normalize(r)),n=e.references.KumoriPackages.GetPackage(o);if(w.Result.isErr(n))return(0,w.Err)([`error: failed to retrieve package: ${o.toString()}`]);let i=new Set(n.value.docs.map(F=>F.uri.toString())),s=e.shared.workspace.IndexManager.allElements(void 0,i).toArray().filter(F=>F.name===u);if(s.length<1)return(0,w.Err)([`error: no artifact named defined in ${o.toString()}`]);if(s.length>2)return(0,w.Err)([`error: too many matches in ${o.toString()}`]);let a=s[0].node;if(!((0,ge.isComponentArtifact)(a)||(0,ge.isServiceArtifact)(a)||(0,ge.isBuiltinArtifact)(a)))return(0,w.Err)([`invalid reference to node of type: ${a.$type}`]);if(!me.AstUtils.getDocument(a).uri.fsPath.endsWith(".h.kumori")){if(!a.name.value.ref)return(0,w.Err)(["no headers found for component"]);a=a.name.value.ref}let c=e.validation.KumoriTypeSystem,l=e.validation.KumoriValidations.ctx(),[h,f]=c.Infer(l,a);if(f.length>0){let F=[];return f.map(B=>F.concat(B.message)),(0,w.Err)([`type inference failed with errors: ${F}`])}let d=await ei(e,t,h,ut.default.join(t.Current.Manifest.module,r+"@"+u));return w.Result.mapErr(d,F=>F.map(Tu))}async function ei(e,t,r,u){return w.Result.map(await H({svcs:e,mod:t},r),o=>p({$schema:"https://json-schema.org/draft/2020-12/schema",$spec:"kumori/schema/v1",$id:u},o))}async function H(e,t){if(b.TAny.is(t))return(0,w.Ok)({});if(b.TFunction.is(t))return H(e,t.returns);if(b.TOptional.is(t))return H(e,t.inner);if(b.TTypeDefAlias.is(t))return H(e,t.spec);if(b.TNumber.is(t))return t.literal===void 0?(0,w.Ok)({type:"number"}):(0,w.Ok)({const:t.literal});if(b.TString.is(t))return t.literal===void 0?(0,w.Ok)({type:"string"}):(0,w.Ok)({const:t.literal});if(b.TBoolean.is(t))return t.literal===void 0?(0,w.Ok)({type:"boolean"}):(0,w.Ok)({const:t.literal});if(b.TList.is(t)){let r=await H(e,t.restriction);return w.Result.isErr(r)?r:(0,w.Ok)({type:"array",items:r.value})}if(b.TEither.is(t)){let r=await Promise.all(t.variations.map(n=>H(e,n))),u=r.filter(w.Result.isErr).map(n=>n.err).flat();if(u.length>0)return(0,w.Err)(u);let o=r.filter(w.Result.isOk).map(n=>n.value);return(0,fe.default)(o.length===r.length),(0,w.Ok)({oneOf:o})}if(b.TStruct.is(t)){let r=await Promise.all(Object.entries(t.parameters).map(async i=>({key:i[0],value:i[1],schema:await H(e,i[1].value)}))),u=r.map(i=>i.schema).filter(i=>w.Result.isErr(i)).map(i=>i.err).flat(),o=he.None;if(t.restriction!==void 0&&!b.TAny.is(t.restriction)){let i=await H(e,t.restriction);w.Result.isOk(i)?o=(0,he.Some)(i.value):u=u.concat(i.err)}if(u.length>0)return(0,w.Err)(u);let n={type:"object",properties:Object.fromEntries(r.map(i=>((0,fe.default)(w.Result.isOk(i.schema)),[i.key,i.schema.value]))),required:r.filter(i=>i.value.optional===!1&&!b.TOptional.is(i.value.value)).map(i=>i.key)};return he.Maybe.isSome(o)&&(n=P(p({},n),{additionalProperties:o.value})),(0,w.Ok)(n)}if(b.TTypeDefNamed.is(t)){let r=await H(e,t.spec);return w.Result.isErr(r)?r:(0,w.Ok)({type:"object",properties:{$kdsl:{const:{NamedType:await ti(e,t)}},inner:r.value},required:["$kdsl","inner"]})}return(0,w.Err)([b.TypeSystemError.create({node:t,message:`cannot convert definition to JSONSchema: ${(0,b.TypeToString)(t)}`})])}var Ho,zo,Jo,he,w,Yo,Qo,ut,me,fe,b,Zo,ge,Ru,ku,Xo,qs,ti,Ou=E(()=>{"use strict";Ho=require("@kumori/kdsl-lsp/language/kumori.js"),zo=require("@kumori/kdsl-lsp/module/context.js"),Jo=require("@kumori/kdsl-lsp/module/query.js"),he=require("@kumori/kdsl-lsp/util/maybe.js"),w=require("@kumori/kdsl-lsp/util/result.js"),Yo=require("@kumori/kdsl-lsp/util/tmp.js"),Qo=require("langium/node"),ut=q(require("path"),1);Ut();me=require("langium"),fe=q(require("assert"),1),b=require("@kumori/kdsl-lsp/language/type-system/type.js"),Zo=require("@kumori/kdsl-lsp/module/descriptor.js"),ge=require("@kumori/kdsl-lsp/language/generated/ast.js"),Ru=require("@kumori/kdsl-lsp/language/builtin/util.js"),ku=require("@kumori/kdsl-lsp/module/documents.js");Xe();Pu();_t();Xo=require("@kumori/kdsl-lsp/module/remote/factory.js"),qs=`
33
- Generates and outputs the JSON Schema that describes a particular Kumori DSL
34
- artifact. This schema defines the artifact's configurable properties, resource
35
- requirements, and overall structure, making it valuable for programmatic
36
- interaction, validation, or documentation purposes.
37
-
38
- The command allows you to specify artifacts from both remote/external modules
39
- and local modules.
40
- `.trim();ti=async(e,t)=>{let r=t.node;(0,fe.default)(r);let u=e.svcs.shared.references.KumoriModules,o=me.AstUtils.getDocument(r).uri,n=e.svcs.references.KumoriPackages.GetPackage(r),i=e.mod.Current;if((0,fe.default)(w.Result.isOk(n)),o.scheme===Ru.Scheme)return{Import:n.value.uri.path.slice(1),Name:t.meta.name};if(!(await(0,ku.GatherModuleDocuments)(e.svcs.shared,e.mod.Root.Root)).map(h=>h.fsPath).includes(o.fsPath)){let h=u.getModule(o);(0,fe.default)(w.Result.isOk(h)),i=h.value}let c=i.Root,l=n.value.uri.fsPath.slice(c.fsPath.length);return{Import:ut.default.join(i.Manifest.module,l),Name:t.meta.name}}});var Gu={};qt(Gu,{Action:()=>Wu,Description:()=>Vu,Register:()=>qu,default:()=>ui});function qu(e,t){return e.command("create").option("--module <module>","Path to the module to generate the index entry for. It can be either a relative or absolute path. Defaults to the current directory.").option("--index <index>","Path to the index file to append the new entry to. It can be either a relative or absolute path. If not provided, the entry will be printed to standard output.").summary(ri).description(Vu).action(Wu(t))}function Wu(e){return async t=>{let r=(0,$u.createKumoriServices)(Iu.NodeFileSystem).Kumori,u=r.shared.workspace.FileSystemProvider,o=process.cwd();t.module&&(t.module[0]==="."||K.default.isAbsolute(t.module))&&(o=K.default.isAbsolute(t.module)?t.module:K.default.resolve(process.cwd(),t.module));let n=await(0,Uu.ModuleContext)(u,Q.URI.file(o));if(Nt.Result.isErr(n))throw new Error(n.err);await It(e,r,n.value);let i=null;t.index&&(t.index[0]==="."||K.default.isAbsolute(t.index)?i=K.default.isAbsolute(t.index)?t.index:K.default.resolve(process.cwd(),t.index):i=K.default.resolve(process.cwd(),t.index)),console.log(i);let s=null;if(i)try{let F=null;try{F=await u.readFile(Q.URI.file(i))}catch(x){F=""}if(F===null||F===""){s={modules:[]},e.info(`Index file at ${i} is either missing or empty. A new one will be created.`);try{await Pe.promises.mkdir(K.default.dirname(i),{recursive:!0}),await Pe.promises.writeFile(Q.URI.file(i).fsPath,JSON.stringify(s,null,2)),e.info(`Created new index file at ${i}`)}catch(x){e.error(`Failed to create new index file at ${i}: ${x}`);return}}try{F=await u.readFile(Q.URI.file(i)),s=await JSON.parse(F)}catch(x){throw new Error(`Failed to parse index file at ${i}: ${x}`)}if(!new Nu.RegistryManager().validateIndexSchema(s))throw new Error(`Index schema validation failed for ${i}`)}catch(F){e.error(`Failed to read index file at ${i}: ${F}`);return}let a;if(s!=null&&s.modules&&(a=s.modules.find(F=>F.domain===n.value.Current.Manifest.module&&F.version===n.value.Current.Manifest.version)),a&&(e.warn(`Module ${a.domain} version ${a.version} already exists in the index file at ${i}. Proceeding will override the current entry.`),!await Me({message:"Do you want to proceed anyway?",default:!1}))){e.info("Aborting index entry creation.");return}let D=await(0,ju.GatherModuleDocuments)(r.shared,n.value.Current.Root),c={};for(let F of D)if(K.default.basename(F.path).endsWith(".h.kumori")){let S=F.path.substring(Q.URI.parse(o).fsPath.length),x=K.default.dirname(S),v=(await u.readFile(F)).split(`
41
- `);for(let T of v){let ie=T.match(/service\s+(\w+)/),ne=T.match(/component\s+(\w+)/);ie?c[x]={name:ie[1],type:"service"}:ne&&(c[x]={name:ne[1],type:"component"})}}let l=n.value.Current.Manifest,h=await(0,Ku.CalculateChecksum)(o),f=await Y({message:"Enter the module location (remember it has to be a valid Git repository):",required:!0}),d={domain:l.module,version:l.version,location:f,checksum:h,releaseDate:new Date().toISOString().split("T")[0],artifacts:[]};for(let[F,B]of Object.entries(c)){if(!await Me({message:`Do you want to include artifact ${B.name} located at route ${F} in the index?`,default:!0}))continue;let x=await _u(r,n.value,F,B.name);if(Nt.Result.isErr(x))throw new Error(`Failed to generate JSON Schema for artifact ${B.name} at route ${F}: ${x.err}`);let M=await Y({message:`Enter the route for artifact ${B.name} (default: ${F}):`,default:F,required:!0}),v=await Y({message:`Enter a description for artifact ${B.name} (optional):`}),T=await Me({message:`Do you want to publish artifact ${B.name} to the marketplace?`,default:!0}),ie=await Y({message:`Enter an icon route for artifact ${B.name}. This is an optional field and it should be a path to an image file within the artifact route.
42
- For example, your icon could be located at ${M}/icon.png or ${M}/img/icon.jpg`}),ne=await Y({message:`Enter categories for artifact ${B.name}, separated by commas. For example: utility,network,storage (optional):`}).then(Ce=>Ce?Ce.split(",").map(ot=>ot.trim()):[]),pe=await Y({message:`Enter tags for artifact ${B.name}, separated by commas. For example: sql,database,relational (optional):`}).then(Ce=>Ce?Ce.split(",").map(ot=>ot.trim()):[]);d.artifacts.push({name:B.name,description:v,location:M,type:B.type,marketplace:T,schema:x.value,icon:ie,categories:ne,tags:pe})}if(i&&s)if(a){s.modules=s.modules.map(B=>B.domain===a.domain&&B.version===a.version?d:B);let F=JSON.stringify(s,null,2);await Pe.promises.writeFile(Q.URI.file(i).fsPath,F),e.info(`Updated module entry in index file at ${i}`)}else{s.modules.push(d);let F=JSON.stringify(s,null,2);await Pe.promises.writeFile(Q.URI.file(i).fsPath,F),e.info(`Appended new module entry to index file at ${i}`)}else console.log(JSON.stringify({modules:[d]},null,2))}}var $u,Iu,Uu,Q,K,Nt,Nu,ju,Pe,Ku,ri,Vu,ui,Hu=E(()=>{"use strict";$u=require("@kumori/kdsl-lsp/language/kumori.js"),Iu=require("langium/node"),Uu=require("@kumori/kdsl-lsp/module/context.js"),Q=require("langium"),K=q(require("path"),1),Nt=require("@kumori/kdsl-lsp/util/result.js"),Nu=require("@kumori/kdsl-lsp/module/registry/manager.js"),ju=require("@kumori/kdsl-lsp/module/documents.js"),Pe=require("fs"),Ku=require("@kumori/kdsl-lsp/module/integrity/checksum.js");Fu();Ou();Ut();ri="Creates an index file",Vu=`
43
- Creates a new index file entry for the current module. Additionally, you can provide
44
- the location of the module from which generate the entry for.
45
-
46
- This command will generate the entry for the current module:
47
- kdsl index create
48
-
49
- Or you can provide a module location to generate the entry for:
50
- kdsl index create --module path/to/module
51
-
52
- The generated index entry will be printed to the standard output. However, you can directly add
53
- the new entry onto an existing index file by providing the --index option:
54
- kdsl index create --index path/to/index/file.json
55
-
56
- If the index file is empty, a new index file will be created with just the new entry. Otherwise,
57
- if the index file already contains entries, the new entry will be appended to the existing ones.
58
- `.trim(),ui={Register:qu}});var ii={};qt(ii,{indexCreate:()=>oi});module.exports=to(ii);var O=function(e){return e.info="info",e.warn="warn",e.error="error",e.debug="debug",e.trace="trace",e.fatal="fatal",e}({}),si={[O.trace]:10,[O.debug]:20,[O.info]:30,[O.warn]:40,[O.error]:50,[O.fatal]:60},ai={10:O.trace,20:O.debug,30:O.info,40:O.warn,50:O.error,60:O.fatal};var k=function(e){return e.onBeforeDataOut="onBeforeDataOut",e.shouldSendToLogger="shouldSendToLogger",e.onMetadataCalled="onMetadataCalled",e.onBeforeMessageOut="onBeforeMessageOut",e.onContextCalled="onContextCalled",e}({});var g=function(e){return e.info="info",e.warn="warn",e.error="error",e.debug="debug",e.trace="trace",e.fatal="fatal",e}({}),Be={[g.trace]:10,[g.debug]:20,[g.info]:30,[g.warn]:40,[g.error]:50,[g.fatal]:60},Fi={10:g.trace,20:g.debug,30:g.info,40:g.warn,50:g.error,60:g.fatal};var zt=class Jt{constructor(){C(this,"context",{});C(this,"hasContext",!1)}setContext(t){if(!t){this.context={},this.hasContext=!1;return}this.context=t,this.hasContext=!0}appendContext(t){this.context=p(p({},this.context),t),this.hasContext=!0}getContext(){return this.context}hasContextData(){return this.hasContext}onChildLoggerCreated({parentContextManager:t,childContextManager:r}){if(t.hasContextData()){let u=t.getContext();r.setContext(p({},u))}}clone(){let t=new Jt;return t.setContext(p({},this.context)),t.hasContext=this.hasContext,t}};var Yt=class{constructor(e){C(this,"err");C(this,"metadata");C(this,"structuredLogger");C(this,"hasMetadata");C(this,"pluginManager");this.err=null,this.metadata={},this.structuredLogger=e,this.hasMetadata=!1,this.pluginManager=e.pluginManager}withMetadata(e){let{pluginManager:t,structuredLogger:{_config:{consoleDebug:r}}}=this;if(!e)return r&&console.debug("[LogLayer] withMetadata was called with no metadata; dropping."),this;let u=e;return t.hasPlugins(k.onMetadataCalled)&&(u=t.runOnMetadataCalled(e,this.structuredLogger),!u)?(r&&console.debug("[LogLayer] Metadata was dropped due to plugin returning falsy value."),this):(this.metadata=p(p({},this.metadata),u),this.hasMetadata=!0,this)}withError(e){return this.err=e,this}info(...e){this.structuredLogger.isLevelEnabled(g.info)&&(this.structuredLogger._formatMessage(e),this.formatLog(g.info,e))}warn(...e){this.structuredLogger.isLevelEnabled(g.warn)&&(this.structuredLogger._formatMessage(e),this.formatLog(g.warn,e))}error(...e){this.structuredLogger.isLevelEnabled(g.error)&&(this.structuredLogger._formatMessage(e),this.formatLog(g.error,e))}debug(...e){this.structuredLogger.isLevelEnabled(g.debug)&&(this.structuredLogger._formatMessage(e),this.formatLog(g.debug,e))}trace(...e){this.structuredLogger.isLevelEnabled(g.trace)&&(this.structuredLogger._formatMessage(e),this.formatLog(g.trace,e))}fatal(...e){this.structuredLogger.isLevelEnabled(g.fatal)&&(this.structuredLogger._formatMessage(e),this.formatLog(g.fatal,e))}disableLogging(){return this.structuredLogger.disableLogging(),this}enableLogging(){return this.structuredLogger.enableLogging(),this}formatLog(e,t){let{muteMetadata:r}=this.structuredLogger._config,u=r?!1:this.hasMetadata;this.structuredLogger._formatLog({logLevel:e,params:t,metadata:u?this.metadata:null,err:this.err})}},ro=[k.onBeforeDataOut,k.onMetadataCalled,k.shouldSendToLogger,k.onBeforeMessageOut,k.onContextCalled],Qt=class{constructor(e){C(this,"idToPlugin");C(this,"onBeforeDataOut",[]);C(this,"shouldSendToLogger",[]);C(this,"onMetadataCalled",[]);C(this,"onBeforeMessageOut",[]);C(this,"onContextCalled",[]);this.idToPlugin={},this.mapPlugins(e),this.indexPlugins()}mapPlugins(e){for(let t of e){if(t.id||(t.id=Date.now().toString()+Math.random().toString()),this.idToPlugin[t.id])throw new Error(`[LogLayer] Plugin with id ${t.id} already exists.`);t.registeredAt=Date.now(),this.idToPlugin[t.id]=t}}indexPlugins(){this.onBeforeDataOut=[],this.shouldSendToLogger=[],this.onMetadataCalled=[],this.onBeforeMessageOut=[],this.onContextCalled=[];let e=Object.values(this.idToPlugin).sort((t,r)=>t.registeredAt-r.registeredAt);for(let t of e){if(t.disabled)return;for(let r of ro)t[r]&&t.id&&this[r].push(t.id)}}hasPlugins(e){return this[e].length>0}countPlugins(e){return e?this[e].length:Object.keys(this.idToPlugin).length}addPlugins(e){this.mapPlugins(e),this.indexPlugins()}enablePlugin(e){let t=this.idToPlugin[e];t&&(t.disabled=!1),this.indexPlugins()}disablePlugin(e){let t=this.idToPlugin[e];t&&(t.disabled=!0),this.indexPlugins()}removePlugin(e){delete this.idToPlugin[e],this.indexPlugins()}runOnBeforeDataOut(e,t){let r=p({},e);for(let u of this.onBeforeDataOut){let o=this.idToPlugin[u];if(o.onBeforeDataOut){let n=o.onBeforeDataOut({data:r.data,logLevel:r.logLevel,error:r.error,metadata:r.metadata,context:r.context},t);n&&(r.data||(r.data={}),Object.assign(r.data,n))}}return r.data}runShouldSendToLogger(e,t){return!this.shouldSendToLogger.some(r=>{var u,o;return!((o=(u=this.idToPlugin[r]).shouldSendToLogger)!=null&&o.call(u,e,t))})}runOnMetadataCalled(e,t){var u,o;let r=p({},e);for(let n of this.onMetadataCalled){let i=(o=(u=this.idToPlugin[n]).onMetadataCalled)==null?void 0:o.call(u,r,t);if(i)r=i;else return null}return r}runOnBeforeMessageOut(e,t){var u,o;let r=[...e.messages];for(let n of this.onBeforeMessageOut){let i=(o=(u=this.idToPlugin[n]).onBeforeMessageOut)==null?void 0:o.call(u,{messages:r,logLevel:e.logLevel},t);i&&(r=i)}return r}runOnContextCalled(e,t){var u,o;let r=p({},e);for(let n of this.onContextCalled){let i=(o=(u=this.idToPlugin[n]).onContextCalled)==null?void 0:o.call(u,r,t);if(i)r=i;else return null}return r}},Zt=class Xt{constructor(t){C(this,"pluginManager");C(this,"idToTransport");C(this,"hasMultipleTransports");C(this,"singleTransport");C(this,"contextManager");C(this,"logLevelEnabledStatus",{info:!0,warn:!0,error:!0,debug:!0,trace:!0,fatal:!0});C(this,"_config");var r;this._config=P(p({},t),{enabled:(r=t.enabled)!=null?r:!0}),this._config.enabled||this.disableLogging(),this.contextManager=new zt,this.pluginManager=new Qt(t.plugins||[]),this._config.errorFieldName||(this._config.errorFieldName="err"),this._config.copyMsgOnOnlyError||(this._config.copyMsgOnOnlyError=!1),this._initializeTransports(this._config.transport)}withContextManager(t){return this.contextManager&&typeof this.contextManager[Symbol.dispose]=="function"&&this.contextManager[Symbol.dispose](),this.contextManager=t,this}getContextManager(){return this.contextManager}_initializeTransports(t){if(this.idToTransport)for(let r in this.idToTransport)this.idToTransport[r]&&typeof this.idToTransport[r][Symbol.dispose]=="function"&&this.idToTransport[r][Symbol.dispose]();this.hasMultipleTransports=Array.isArray(t)&&t.length>1,this.singleTransport=this.hasMultipleTransports?null:Array.isArray(t)?t[0]:t,Array.isArray(t)?this.idToTransport=t.reduce((r,u)=>(r[u.id]=u,r),{}):this.idToTransport={[t.id]:t}}withPrefix(t){let r=this.child();return r._config.prefix=t,r}withContext(t){let r=t;return t?this.pluginManager.hasPlugins(k.onContextCalled)&&(r=this.pluginManager.runOnContextCalled(t,this),!r)?(this._config.consoleDebug&&console.debug("[LogLayer] Context was dropped due to plugin returning falsy value."),this):(this.contextManager.appendContext(r),this):(this._config.consoleDebug&&console.debug("[LogLayer] withContext was called with no context; dropping."),this)}clearContext(){return this.contextManager.setContext(void 0),this}getContext(){return this.contextManager.getContext()}addPlugins(t){this.pluginManager.addPlugins(t)}enablePlugin(t){this.pluginManager.enablePlugin(t)}disablePlugin(t){this.pluginManager.disablePlugin(t)}removePlugin(t){this.pluginManager.removePlugin(t)}withMetadata(t){return new Yt(this).withMetadata(t)}withError(t){return new Yt(this).withError(t)}child(){let t=new Xt(P(p({},this._config),{transport:Array.isArray(this._config.transport)?[...this._config.transport]:this._config.transport})).withPluginManager(this.pluginManager).withContextManager(this.contextManager.clone());return this.contextManager.onChildLoggerCreated({parentContextManager:this.contextManager,childContextManager:t.contextManager,parentLogger:this,childLogger:t}),t}withFreshTransports(t){return this._config.transport=t,this._initializeTransports(t),this}withFreshPlugins(t){return this._config.plugins=t,this.pluginManager=new Qt(t),this}withPluginManager(t){return this.pluginManager=t,this}errorOnly(t,r){let u=(r==null?void 0:r.logLevel)||g.error;if(!this.isLevelEnabled(u))return;let{copyMsgOnOnlyError:o}=this._config,n={logLevel:u,err:t};(o&&(r==null?void 0:r.copyMsg)!==!1||(r==null?void 0:r.copyMsg)===!0)&&(t!=null&&t.message)&&(n.params=[t.message]),this._formatLog(n)}metadataOnly(t,r=g.info){if(!this.isLevelEnabled(r))return;let{muteMetadata:u,consoleDebug:o}=this._config;if(u)return;if(!t){o&&console.debug("[LogLayer] metadataOnly was called with no metadata; dropping.");return}let n=t;if(this.pluginManager.hasPlugins(k.onMetadataCalled)&&(n=this.pluginManager.runOnMetadataCalled(t,this),!n)){o&&console.debug("[LogLayer] Metadata was dropped due to plugin returning falsy value.");return}let i={logLevel:r,metadata:n};this._formatLog(i)}info(...t){this.isLevelEnabled(g.info)&&(this._formatMessage(t),this._formatLog({logLevel:g.info,params:t}))}warn(...t){this.isLevelEnabled(g.warn)&&(this._formatMessage(t),this._formatLog({logLevel:g.warn,params:t}))}error(...t){this.isLevelEnabled(g.error)&&(this._formatMessage(t),this._formatLog({logLevel:g.error,params:t}))}debug(...t){this.isLevelEnabled(g.debug)&&(this._formatMessage(t),this._formatLog({logLevel:g.debug,params:t}))}trace(...t){this.isLevelEnabled(g.trace)&&(this._formatMessage(t),this._formatLog({logLevel:g.trace,params:t}))}fatal(...t){this.isLevelEnabled(g.fatal)&&(this._formatMessage(t),this._formatLog({logLevel:g.fatal,params:t}))}raw(t){if(!this.isLevelEnabled(t.logLevel))return;let r={logLevel:t.logLevel,params:t.messages,metadata:t.metadata,err:t.error,context:t.context};this._formatMessage(t.messages),this._formatLog(r)}disableLogging(){for(let t of Object.keys(this.logLevelEnabledStatus))this.logLevelEnabledStatus[t]=!1;return this}enableLogging(){for(let t of Object.keys(this.logLevelEnabledStatus))this.logLevelEnabledStatus[t]=!0;return this}muteContext(){return this._config.muteContext=!0,this}unMuteContext(){return this._config.muteContext=!1,this}muteMetadata(){return this._config.muteMetadata=!0,this}unMuteMetadata(){return this._config.muteMetadata=!1,this}enableIndividualLevel(t){let r=t;return r in this.logLevelEnabledStatus&&(this.logLevelEnabledStatus[r]=!0),this}disableIndividualLevel(t){let r=t;return r in this.logLevelEnabledStatus&&(this.logLevelEnabledStatus[r]=!1),this}setLevel(t){let r=Be[t];for(let u of Object.values(g)){let o=u,n=Be[u];this.logLevelEnabledStatus[o]=n>=r}return this}isLevelEnabled(t){let r=t;return this.logLevelEnabledStatus[r]}formatContext(t){let{contextFieldName:r,muteContext:u}=this._config;return t&&Object.keys(t).length>0&&!u?r?{[r]:p({},t)}:p({},t):{}}formatMetadata(t=null){let{metadataFieldName:r,muteMetadata:u}=this._config;return t&&!u?r?{[r]:p({},t)}:p({},t):{}}getLoggerInstance(t){let r=this.idToTransport[t];if(r)return r.getLoggerInstance()}_formatMessage(t=[]){let{prefix:r}=this._config;r&&typeof t[0]=="string"&&(t[0]=`${r} ${t[0]}`)}_formatLog({logLevel:t,params:r=[],metadata:u=null,err:o,context:n=null}){var F;let{errorSerializer:i,errorFieldInMetadata:s,muteContext:a,contextFieldName:D,metadataFieldName:c,errorFieldName:l}=this._config,h=n!==null?n:this.contextManager.getContext(),f=!!u||(a?!1:n!==null?Object.keys(n).length>0:this.contextManager.hasContextData()),d={};if(f)if(D&&D===c){let B=this.formatContext(h)[D],S=this.formatMetadata(u)[c];d={[D]:p(p({},B),S)}}else d=p(p({},this.formatContext(h)),this.formatMetadata(u));if(o){let B=i?i(o):o;s&&u&&c?d!=null&&d[c]?d[c][l]=B:d=P(p({},d),{[c]:{[l]:B}}):s&&!u&&c?d=P(p({},d),{[c]:{[l]:B}}):d=P(p({},d),{[l]:B}),f=!0}if(this.pluginManager.hasPlugins(k.onBeforeDataOut)&&(d=this.pluginManager.runOnBeforeDataOut({data:f?d:void 0,logLevel:t,error:o,metadata:u,context:h},this),d&&!f&&(f=!0)),this.pluginManager.hasPlugins(k.onBeforeMessageOut)&&(r=this.pluginManager.runOnBeforeMessageOut({messages:[...r],logLevel:t},this)),this.hasMultipleTransports){let B=this._config.transport.filter(S=>S.enabled).map(async S=>{if(!(this.pluginManager.hasPlugins(k.shouldSendToLogger)&&!this.pluginManager.runShouldSendToLogger({messages:[...r],data:f?d:void 0,logLevel:t,transportId:S.id,error:o,metadata:u,context:h},this)))return S._sendToLogger({logLevel:t,messages:[...r],data:f?d:void 0,hasData:f,error:o,metadata:u,context:h})});Promise.all(B).catch(S=>{this._config.consoleDebug&&console.error("[LogLayer] Error executing transports:",S)})}else{if(!((F=this.singleTransport)!=null&&F.enabled)||this.pluginManager.hasPlugins(k.shouldSendToLogger)&&!this.pluginManager.runShouldSendToLogger({messages:[...r],data:f?d:void 0,logLevel:t,transportId:this.singleTransport.id,error:o,metadata:u,context:h},this))return;this.singleTransport._sendToLogger({logLevel:t,messages:[...r],data:f?d:void 0,hasData:f,error:o,metadata:u,context:h})}}};function uo(){let e={debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}};return new Zt({transport:e})}function er(e){return e!=null?e:uo()}var Re=require("@kumori/kdsl-lsp/util/result.js");async function oi(e){var r,u;let t=er(e.logger);if(!e.interactive)return(0,Re.Err)(["Index create command requires interactive mode. Set interactive: true to use this command programmatically with prompts, or use the CLI directly: kdsl index create"]);try{let{Action:o}=await Promise.resolve().then(()=>(Hu(),Gu));return await o(t)({module:(r=e.module)!=null?r:void 0,index:(u=e.indexFile)!=null?u:void 0}),(0,Re.Ok)(void 0)}catch(o){return(0,Re.Err)([String(o)])}}0&&(module.exports={indexCreate});