@harperfast/harper 5.3.0 → 5.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/copyDb.ts +5 -1
- package/bin/deployRenderer.ts +3 -0
- package/components/Application.ts +66 -22
- package/components/DESIGN.md +89 -36
- package/components/componentLoader.ts +2 -0
- package/components/deploymentRecorder.ts +18 -1
- package/components/installFingerprint.ts +123 -0
- package/components/mcp/DESIGN.md +4 -4
- package/components/operations.js +29 -0
- package/config/DESIGN.md +5 -5
- package/dataLayer/DESIGN.md +37 -22
- package/dataLayer/backupRepository.ts +248 -0
- package/dataLayer/restoreMarker.ts +30 -75
- package/dataLayer/rocksdbBackup.ts +253 -110
- package/dist/bin/copyDb.js +3 -0
- package/dist/bin/copyDb.js.map +1 -1
- package/dist/bin/deployRenderer.js +3 -0
- package/dist/bin/deployRenderer.js.map +1 -1
- package/dist/components/Application.d.ts +5 -0
- package/dist/components/Application.js +51 -19
- package/dist/components/Application.js.map +1 -1
- package/dist/components/componentLoader.js +2 -0
- package/dist/components/componentLoader.js.map +1 -1
- package/dist/components/deploymentRecorder.js +18 -1
- package/dist/components/deploymentRecorder.js.map +1 -1
- package/dist/components/installFingerprint.d.ts +39 -0
- package/dist/components/installFingerprint.js +113 -0
- package/dist/components/installFingerprint.js.map +1 -0
- package/dist/components/operations.d.ts +2 -0
- package/dist/components/operations.js +31 -0
- package/dist/components/operations.js.map +1 -1
- package/dist/dataLayer/backupRepository.d.ts +33 -0
- package/dist/dataLayer/backupRepository.js +232 -0
- package/dist/dataLayer/backupRepository.js.map +1 -0
- package/dist/dataLayer/restoreMarker.d.ts +4 -1
- package/dist/dataLayer/restoreMarker.js +29 -68
- package/dist/dataLayer/restoreMarker.js.map +1 -1
- package/dist/dataLayer/rocksdbBackup.js +221 -112
- package/dist/dataLayer/rocksdbBackup.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js.map +1 -1
- package/dist/json/systemSchema.json +14 -0
- package/dist/resources/DatabaseTransaction.d.ts +140 -11
- package/dist/resources/DatabaseTransaction.js +1055 -464
- package/dist/resources/DatabaseTransaction.js.map +1 -1
- package/dist/resources/IterableEventQueue.d.ts +2 -1
- package/dist/resources/IterableEventQueue.js +16 -8
- package/dist/resources/IterableEventQueue.js.map +1 -1
- package/dist/resources/LMDBTransaction.d.ts +13 -2
- package/dist/resources/LMDBTransaction.js +219 -93
- package/dist/resources/LMDBTransaction.js.map +1 -1
- package/dist/resources/RecordEncoder.js +2 -3
- package/dist/resources/RecordEncoder.js.map +1 -1
- package/dist/resources/Resource.js +5 -6
- package/dist/resources/Resource.js.map +1 -1
- package/dist/resources/ResourceInterface.d.ts +3 -1
- package/dist/resources/ResourceInterface.js.map +1 -1
- package/dist/resources/RocksIndexStore.d.ts +2 -1
- package/dist/resources/RocksIndexStore.js +3 -0
- package/dist/resources/RocksIndexStore.js.map +1 -1
- package/dist/resources/Table.js +116 -12
- package/dist/resources/Table.js.map +1 -1
- package/dist/resources/analytics/write.js +6 -2
- package/dist/resources/analytics/write.js.map +1 -1
- package/dist/resources/auditStore.d.ts +71 -17
- package/dist/resources/auditStore.js +248 -64
- package/dist/resources/auditStore.js.map +1 -1
- package/dist/resources/branchDatabase.js +2 -0
- package/dist/resources/branchDatabase.js.map +1 -1
- package/dist/resources/databases.js +8 -2
- package/dist/resources/databases.js.map +1 -1
- package/dist/resources/indexes/fullTextNativeBinding.d.ts +6 -2
- package/dist/resources/indexes/fullTextNativeBinding.js +12 -2
- package/dist/resources/indexes/fullTextNativeBinding.js.map +1 -1
- package/dist/resources/indexes/fullTextQueryIndex.d.ts +4 -0
- package/dist/resources/indexes/fullTextQueryIndex.js +207 -10
- package/dist/resources/indexes/fullTextQueryIndex.js.map +1 -1
- package/dist/resources/models/Models.d.ts +11 -0
- package/dist/resources/models/Models.js +95 -4
- package/dist/resources/models/Models.js.map +1 -1
- package/dist/resources/models/backendRegistry.d.ts +8 -0
- package/dist/resources/models/backendRegistry.js +15 -1
- package/dist/resources/models/backendRegistry.js.map +1 -1
- package/dist/resources/models/bootstrap.d.ts +2 -0
- package/dist/resources/models/bootstrap.js +6 -0
- package/dist/resources/models/bootstrap.js.map +1 -1
- package/dist/resources/models/calibration.d.ts +88 -0
- package/dist/resources/models/calibration.js +244 -0
- package/dist/resources/models/calibration.js.map +1 -0
- package/dist/resources/models/calibrationStore.d.ts +163 -0
- package/dist/resources/models/calibrationStore.js +986 -0
- package/dist/resources/models/calibrationStore.js.map +1 -0
- package/dist/resources/models/decisionStore.d.ts +24 -0
- package/dist/resources/models/decisionStore.js +45 -0
- package/dist/resources/models/decisionStore.js.map +1 -1
- package/dist/resources/models/generativeDecision.js +44 -15
- package/dist/resources/models/generativeDecision.js.map +1 -1
- package/dist/resources/models/types.d.ts +7 -0
- package/dist/resources/recordLock.d.ts +8 -5
- package/dist/resources/recordLock.js +6 -4
- package/dist/resources/recordLock.js.map +1 -1
- package/dist/resources/replayLogs.js +8 -1
- package/dist/resources/replayLogs.js.map +1 -1
- package/dist/resources/scheduler/engine.d.ts +4 -0
- package/dist/resources/scheduler/engine.js +30 -2
- package/dist/resources/scheduler/engine.js.map +1 -1
- package/dist/resources/search.d.ts +16 -4
- package/dist/resources/search.js +117 -13
- package/dist/resources/search.js.map +1 -1
- package/dist/resources/transaction.js +85 -5
- package/dist/resources/transaction.js.map +1 -1
- package/dist/resources/transactionBroadcast.d.ts +8 -0
- package/dist/resources/transactionBroadcast.js +65 -0
- package/dist/resources/transactionBroadcast.js.map +1 -1
- package/dist/security/keys.d.ts +1 -1
- package/dist/security/keys.js +170 -120
- package/dist/security/keys.js.map +1 -1
- package/dist/server/http.js +10 -0
- package/dist/server/http.js.map +1 -1
- package/dist/server/serverHelpers/Request.js +11 -2
- package/dist/server/serverHelpers/Request.js.map +1 -1
- package/dist/server/serverHelpers/contentTypes.js +8 -3
- package/dist/server/serverHelpers/contentTypes.js.map +1 -1
- package/dist/server/serverHelpers/uwsServer.js +38 -7
- package/dist/server/serverHelpers/uwsServer.js.map +1 -1
- package/dist/server/threads/manageThreads.d.ts +3 -3
- package/dist/server/threads/manageThreads.js +15 -13
- package/dist/server/threads/manageThreads.js.map +1 -1
- package/dist/server/threads/threadServer.d.ts +3 -0
- package/dist/server/threads/threadServer.js +24 -6
- package/dist/server/threads/threadServer.js.map +1 -1
- package/dist/upgrade/directives/5-3-0.js +9 -3
- package/dist/upgrade/directives/5-3-0.js.map +1 -1
- package/dist/utility/durableFile.d.ts +36 -0
- package/dist/utility/durableFile.js +106 -0
- package/dist/utility/durableFile.js.map +1 -0
- package/dist/utility/errors/hdbError.d.ts +4 -0
- package/dist/utility/errors/hdbError.js +10 -1
- package/dist/utility/errors/hdbError.js.map +1 -1
- package/dist/utility/globalSchema.d.ts +9 -0
- package/dist/utility/hdbTerms.d.ts +1 -0
- package/dist/utility/hdbTerms.js +1 -0
- package/dist/utility/hdbTerms.js.map +1 -1
- package/dist/validation/configValidator.js +29 -0
- package/dist/validation/configValidator.js.map +1 -1
- package/index.ts +7 -0
- package/json/systemSchema.json +14 -0
- package/npm-shrinkwrap.json +22 -22
- package/package.json +2 -2
- package/resources/DESIGN.md +57 -272
- package/resources/DatabaseTransaction.ts +708 -87
- package/resources/FULL_TEXT.md +6 -2
- package/resources/IterableEventQueue.ts +14 -7
- package/resources/LMDBTransaction.ts +212 -84
- package/resources/RecordEncoder.ts +2 -3
- package/resources/Resource.ts +5 -6
- package/resources/ResourceInterface.ts +3 -1
- package/resources/RocksIndexStore.ts +5 -0
- package/resources/Table.ts +118 -15
- package/resources/analytics/write.ts +6 -2
- package/resources/audit-retention.md +203 -0
- package/resources/auditStore.ts +306 -84
- package/resources/branchDatabase.ts +2 -0
- package/resources/databases.ts +6 -2
- package/resources/indexes/DESIGN.md +120 -177
- package/resources/indexes/fullTextNativeBinding.ts +22 -3
- package/resources/indexes/fullTextQueryIndex.ts +274 -11
- package/resources/models/DESIGN.md +11 -3
- package/resources/models/Models.ts +127 -4
- package/resources/models/backendRegistry.ts +17 -0
- package/resources/models/bootstrap.ts +9 -1
- package/resources/models/calibration.ts +298 -0
- package/resources/models/calibrationStore.ts +1167 -0
- package/resources/models/decisionStore.ts +57 -0
- package/resources/models/generativeDecision.ts +54 -16
- package/resources/models/types.ts +6 -0
- package/resources/record-locks.md +155 -141
- package/resources/recordLock.ts +12 -6
- package/resources/replayLogs.ts +9 -2
- package/resources/scheduler/DESIGN.md +4 -3
- package/resources/scheduler/engine.ts +35 -2
- package/resources/search.ts +154 -16
- package/resources/transaction.ts +50 -5
- package/resources/transactionBroadcast.ts +69 -0
- package/security/DESIGN.md +9 -30
- package/security/keys.ts +175 -127
- package/server/DESIGN.md +70 -36
- package/server/http.ts +10 -0
- package/server/serverHelpers/Request.ts +10 -2
- package/server/serverHelpers/contentTypes.ts +5 -3
- package/server/serverHelpers/uwsServer.ts +34 -7
- package/server/threads/manageThreads.js +16 -14
- package/server/threads/threadServer.js +24 -6
- package/studio/web/assets/{Chat-CNEKMllJ.js → Chat-4LMxI0yB.js} +1 -1
- package/studio/web/assets/{FloatingChat-CEnWhHeR.js → FloatingChat-kWHApEtF.js} +3 -3
- package/studio/web/assets/{SearchDialog-CwhJdEdY.js → SearchDialog-B7ymna97.js} +1 -1
- package/studio/web/assets/{apiToken-DC5vsaaO.js → apiToken-CE3AAt9f.js} +1 -1
- package/studio/web/assets/{applications-DQZxDy0x.js → applications-DdN7CqsB.js} +1 -1
- package/studio/web/assets/{cssMode-Dz2DxF4e.js → cssMode-BpySZUSt.js} +1 -1
- package/studio/web/assets/{editor-B3mjd3tz.js → editor-myLCVv9C.js} +1 -1
- package/studio/web/assets/{html-BsRGM7tp.js → html-DGNYO55O.js} +1 -1
- package/studio/web/assets/{htmlMode-tUKJaA3o.js → htmlMode-BUgpQr41.js} +1 -1
- package/studio/web/assets/{index-BuqFjN5K.js → index-FN4KC9va.js} +39 -39
- package/studio/web/assets/index-QLZw6xrU.css +1 -0
- package/studio/web/assets/{index.lazy-CcpfQFY_.js → index.lazy-DZFuaumG.js} +1 -1
- package/studio/web/assets/{javascript-BZ_uRGHl.js → javascript-DiBzh4pj.js} +1 -1
- package/studio/web/assets/{jsonMode-DgB-aFMj.js → jsonMode-Bm312nmu.js} +1 -1
- package/studio/web/assets/{languageServices-BleuBw17.js → languageServices-Dz2K9rZN.js} +1 -1
- package/studio/web/assets/{lspLanguageFeatures-ByVYLSsQ.js → lspLanguageFeatures-CNu1L5xn.js} +1 -1
- package/studio/web/assets/{notifications-TuzN0IMi.js → notifications--nwFLGmM.js} +1 -1
- package/studio/web/assets/{notifications-D1Nf-Edn.js → notifications-BelKw5bR.js} +1 -1
- package/studio/web/assets/{profile-D7C7Lupz.js → profile-AU5FjOBx.js} +1 -1
- package/studio/web/assets/{regions-nGQCm-v8.js → regions-C0sTSEHH.js} +1 -1
- package/studio/web/assets/{register-C3x9Ze6P.js → register-DyNR2rGk.js} +2 -2
- package/studio/web/assets/{setComponentFile-DpjrRqeG.js → setComponentFile-BkWx8AN3.js} +1 -1
- package/studio/web/assets/{setup-CGiKLZ9e.js → setup-D6LZS78d.js} +2 -2
- package/studio/web/assets/{status-CGJwrNPH.js → status-BCWnn70o.js} +1 -1
- package/studio/web/assets/{toggleHighContrast-C-Ne6P7T.js → toggleHighContrast-pyeGJ6W1.js} +1 -1
- package/studio/web/assets/{tsMode-CSreYTys.js → tsMode-CGV3iaWC.js} +1 -1
- package/studio/web/assets/{typescript-MnxBk89W.js → typescript-Ci7Khvwo.js} +1 -1
- package/studio/web/assets/{useEntityRestURL-TNrh77-s.js → useEntityRestURL-DNiz3aZ0.js} +1 -1
- package/studio/web/assets/{workers-BfZlUNVI.js → workers-byzxjbqy.js} +1 -1
- package/studio/web/assets/{xml-BHd6qGH7.js → xml-DGnHQ3CX.js} +1 -1
- package/studio/web/assets/{yaml-C53R8OQq.js → yaml-BUoTnPWb.js} +1 -1
- package/studio/web/index.html +2 -2
- package/upgrade/directives/5-3-0.ts +10 -3
- package/utility/durableFile.ts +96 -0
- package/utility/errors/hdbError.ts +9 -0
- package/utility/hdbTerms.ts +1 -0
- package/validation/configValidator.ts +31 -0
- package/studio/web/assets/index-72cEH474.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./register-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./register-DyNR2rGk.js";var n=e({json:()=>t});export{n as t};
|
package/studio/web/assets/{lspLanguageFeatures-ByVYLSsQ.js → lspLanguageFeatures-CNu1L5xn.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{_ as e,c as t,d as n,g as r,h as i}from"./register-C3x9Ze6P.js";var a;(function(e){function t(e){return typeof e==`string`}e.is=t})(a||={});var o;(function(e){function t(e){return typeof e==`string`}e.is=t})(o||={});var s;(function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647;function t(t){return typeof t==`number`&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}e.is=t})(s||={});var c;(function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647;function t(t){return typeof t==`number`&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}e.is=t})(c||={});var l;(function(e){function t(e,t){return e===Number.MAX_VALUE&&(e=c.MAX_VALUE),t===Number.MAX_VALUE&&(t=c.MAX_VALUE),{line:e,character:t}}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&U.uinteger(t.line)&&U.uinteger(t.character)}e.is=n})(l||={});var u;(function(e){function t(e,t,n,r){if(U.uinteger(e)&&U.uinteger(t)&&U.uinteger(n)&&U.uinteger(r))return{start:l.create(e,t),end:l.create(n,r)};if(l.is(e)&&l.is(t))return{start:e,end:t};throw Error(`Range#create called with invalid arguments[${e}, ${t}, ${n}, ${r}]`)}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&l.is(t.start)&&l.is(t.end)}e.is=n})(u||={});var d;(function(e){function t(e,t){return{uri:e,range:t}}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&u.is(t.range)&&(U.string(t.uri)||U.undefined(t.uri))}e.is=n})(d||={});var f;(function(e){function t(e,t,n,r){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:r}}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&u.is(t.targetRange)&&U.string(t.targetUri)&&u.is(t.targetSelectionRange)&&(u.is(t.originSelectionRange)||U.undefined(t.originSelectionRange))}e.is=n})(f||={});var p;(function(e){function t(e,t,n,r){return{red:e,green:t,blue:n,alpha:r}}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&U.numberRange(t.red,0,1)&&U.numberRange(t.green,0,1)&&U.numberRange(t.blue,0,1)&&U.numberRange(t.alpha,0,1)}e.is=n})(p||={});var ee;(function(e){function t(e,t){return{range:e,color:t}}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&u.is(t.range)&&p.is(t.color)}e.is=n})(ee||={});var te;(function(e){function t(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&U.string(t.label)&&(U.undefined(t.textEdit)||y.is(t))&&(U.undefined(t.additionalTextEdits)||U.typedArray(t.additionalTextEdits,y.is))}e.is=n})(te||={});var m;(function(e){e.Comment=`comment`,e.Imports=`imports`,e.Region=`region`})(m||={});var ne;(function(e){function t(e,t,n,r,i,a){let o={startLine:e,endLine:t};return U.defined(n)&&(o.startCharacter=n),U.defined(r)&&(o.endCharacter=r),U.defined(i)&&(o.kind=i),U.defined(a)&&(o.collapsedText=a),o}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&U.uinteger(t.startLine)&&U.uinteger(t.startLine)&&(U.undefined(t.startCharacter)||U.uinteger(t.startCharacter))&&(U.undefined(t.endCharacter)||U.uinteger(t.endCharacter))&&(U.undefined(t.kind)||U.string(t.kind))}e.is=n})(ne||={});var h;(function(e){function t(e,t){return{location:e,message:t}}e.create=t;function n(e){let t=e;return U.defined(t)&&d.is(t.location)&&U.string(t.message)}e.is=n})(h||={});var g;(function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4})(g||={});var re;(function(e){e.Unnecessary=1,e.Deprecated=2})(re||={});var ie;(function(e){function t(e){let t=e;return U.objectLiteral(t)&&U.string(t.href)}e.is=t})(ie||={});var _;(function(e){function t(e,t,n,r,i,a){let o={range:e,message:t};return U.defined(n)&&(o.severity=n),U.defined(r)&&(o.code=r),U.defined(i)&&(o.source=i),U.defined(a)&&(o.relatedInformation=a),o}e.create=t;function n(e){let t=e;return U.defined(t)&&u.is(t.range)&&U.string(t.message)&&(U.number(t.severity)||U.undefined(t.severity))&&(U.integer(t.code)||U.string(t.code)||U.undefined(t.code))&&(U.undefined(t.codeDescription)||U.string(t.codeDescription?.href))&&(U.string(t.source)||U.undefined(t.source))&&(U.undefined(t.relatedInformation)||U.typedArray(t.relatedInformation,h.is))}e.is=n})(_||={});var v;(function(e){function t(e,t,...n){let r={title:e,command:t};return U.defined(n)&&n.length>0&&(r.arguments=n),r}e.create=t;function n(e){let t=e;return U.defined(t)&&U.string(t.title)&&U.string(t.command)}e.is=n})(v||={});var y;(function(e){function t(e,t){return{range:e,newText:t}}e.replace=t;function n(e,t){return{range:{start:e,end:e},newText:t}}e.insert=n;function r(e){return{range:e,newText:``}}e.del=r;function i(e){let t=e;return U.objectLiteral(t)&&U.string(t.newText)&&u.is(t.range)}e.is=i})(y||={});var b;(function(e){function t(e,t,n){let r={label:e};return t!==void 0&&(r.needsConfirmation=t),n!==void 0&&(r.description=n),r}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&U.string(t.label)&&(U.boolean(t.needsConfirmation)||t.needsConfirmation===void 0)&&(U.string(t.description)||t.description===void 0)}e.is=n})(b||={});var x;(function(e){function t(e){let t=e;return U.string(t)}e.is=t})(x||={});var ae;(function(e){function t(e,t,n){return{range:e,newText:t,annotationId:n}}e.replace=t;function n(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}}e.insert=n;function r(e,t){return{range:e,newText:``,annotationId:t}}e.del=r;function i(e){let t=e;return y.is(t)&&(b.is(t.annotationId)||x.is(t.annotationId))}e.is=i})(ae||={});var S;(function(e){function t(e,t){return{textDocument:e,edits:t}}e.create=t;function n(e){let t=e;return U.defined(t)&&k.is(t.textDocument)&&Array.isArray(t.edits)}e.is=n})(S||={});var C;(function(e){function t(e,t,n){let r={kind:`create`,uri:e};return t!==void 0&&(t.overwrite!==void 0||t.ignoreIfExists!==void 0)&&(r.options=t),n!==void 0&&(r.annotationId=n),r}e.create=t;function n(e){let t=e;return t&&t.kind===`create`&&U.string(t.uri)&&(t.options===void 0||(t.options.overwrite===void 0||U.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||U.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||x.is(t.annotationId))}e.is=n})(C||={});var w;(function(e){function t(e,t,n,r){let i={kind:`rename`,oldUri:e,newUri:t};return n!==void 0&&(n.overwrite!==void 0||n.ignoreIfExists!==void 0)&&(i.options=n),r!==void 0&&(i.annotationId=r),i}e.create=t;function n(e){let t=e;return t&&t.kind===`rename`&&U.string(t.oldUri)&&U.string(t.newUri)&&(t.options===void 0||(t.options.overwrite===void 0||U.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||U.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||x.is(t.annotationId))}e.is=n})(w||={});var T;(function(e){function t(e,t,n){let r={kind:`delete`,uri:e};return t!==void 0&&(t.recursive!==void 0||t.ignoreIfNotExists!==void 0)&&(r.options=t),n!==void 0&&(r.annotationId=n),r}e.create=t;function n(e){let t=e;return t&&t.kind===`delete`&&U.string(t.uri)&&(t.options===void 0||(t.options.recursive===void 0||U.boolean(t.options.recursive))&&(t.options.ignoreIfNotExists===void 0||U.boolean(t.options.ignoreIfNotExists)))&&(t.annotationId===void 0||x.is(t.annotationId))}e.is=n})(T||={});var E;(function(e){function t(e){let t=e;return t&&(t.changes!==void 0||t.documentChanges!==void 0)&&(t.documentChanges===void 0||t.documentChanges.every(e=>U.string(e.kind)?C.is(e)||w.is(e)||T.is(e):S.is(e)))}e.is=t})(E||={});var D;(function(e){function t(e){return{uri:e}}e.create=t;function n(e){let t=e;return U.defined(t)&&U.string(t.uri)}e.is=n})(D||={});var O;(function(e){function t(e,t){return{uri:e,version:t}}e.create=t;function n(e){let t=e;return U.defined(t)&&U.string(t.uri)&&U.integer(t.version)}e.is=n})(O||={});var k;(function(e){function t(e,t){return{uri:e,version:t}}e.create=t;function n(e){let t=e;return U.defined(t)&&U.string(t.uri)&&(t.version===null||U.integer(t.version))}e.is=n})(k||={});var oe;(function(e){function t(e,t,n,r){return{uri:e,languageId:t,version:n,text:r}}e.create=t;function n(e){let t=e;return U.defined(t)&&U.string(t.uri)&&U.string(t.languageId)&&U.integer(t.version)&&U.string(t.text)}e.is=n})(oe||={});var A;(function(e){e.PlainText=`plaintext`,e.Markdown=`markdown`;function t(t){let n=t;return n===e.PlainText||n===e.Markdown}e.is=t})(A||={});var j;(function(e){function t(e){let t=e;return U.objectLiteral(e)&&A.is(t.kind)&&U.string(t.value)}e.is=t})(j||={});var M;(function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25})(M||={});var N;(function(e){e.PlainText=1,e.Snippet=2})(N||={});var se;(function(e){e.Deprecated=1})(se||={});var ce;(function(e){function t(e,t,n){return{newText:e,insert:t,replace:n}}e.create=t;function n(e){let t=e;return t&&U.string(t.newText)&&u.is(t.insert)&&u.is(t.replace)}e.is=n})(ce||={});var le;(function(e){e.asIs=1,e.adjustIndentation=2})(le||={});var ue;(function(e){function t(e){let t=e;return t&&(U.string(t.detail)||t.detail===void 0)&&(U.string(t.description)||t.description===void 0)}e.is=t})(ue||={});var de;(function(e){function t(e){return{label:e}}e.create=t})(de||={});var fe;(function(e){function t(e,t){return{items:e||[],isIncomplete:!!t}}e.create=t})(fe||={});var P;(function(e){function t(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,`\\$&`)}e.fromPlainText=t;function n(e){let t=e;return U.string(t)||U.objectLiteral(t)&&U.string(t.language)&&U.string(t.value)}e.is=n})(P||={});var pe;(function(e){function t(e){let t=e;return!!t&&U.objectLiteral(t)&&(j.is(t.contents)||P.is(t.contents)||U.typedArray(t.contents,P.is))&&(e.range===void 0||u.is(e.range))}e.is=t})(pe||={});var me;(function(e){function t(e,t){return t?{label:e,documentation:t}:{label:e}}e.create=t})(me||={});var F;(function(e){function t(e,t,...n){let r={label:e};return U.defined(t)&&(r.documentation=t),r.parameters=U.defined(n)?n:[],r}e.create=t})(F||={});var I;(function(e){e.Text=1,e.Read=2,e.Write=3})(I||={});var L;(function(e){function t(e,t){let n={range:e};return U.number(t)&&(n.kind=t),n}e.create=t})(L||={});var R;(function(e){e.File=1,e.Module=2,e.Namespace=3,e.Package=4,e.Class=5,e.Method=6,e.Property=7,e.Field=8,e.Constructor=9,e.Enum=10,e.Interface=11,e.Function=12,e.Variable=13,e.Constant=14,e.String=15,e.Number=16,e.Boolean=17,e.Array=18,e.Object=19,e.Key=20,e.Null=21,e.EnumMember=22,e.Struct=23,e.Event=24,e.Operator=25,e.TypeParameter=26})(R||={});var z;(function(e){e.Deprecated=1})(z||={});var he;(function(e){function t(e,t,n,r,i){let a={name:e,kind:t,location:{uri:r,range:n}};return i&&(a.containerName=i),a}e.create=t})(he||={});var ge;(function(e){function t(e,t,n,r){return r===void 0?{name:e,kind:t,location:{uri:n}}:{name:e,kind:t,location:{uri:n,range:r}}}e.create=t})(ge||={});var _e;(function(e){function t(e,t,n,r,i,a){let o={name:e,detail:t,kind:n,range:r,selectionRange:i};return a!==void 0&&(o.children=a),o}e.create=t;function n(e){let t=e;return t&&U.string(t.name)&&U.number(t.kind)&&u.is(t.range)&&u.is(t.selectionRange)&&(t.detail===void 0||U.string(t.detail))&&(t.deprecated===void 0||U.boolean(t.deprecated))&&(t.children===void 0||Array.isArray(t.children))&&(t.tags===void 0||Array.isArray(t.tags))}e.is=n})(_e||={});var ve;(function(e){e.Empty=``,e.QuickFix=`quickfix`,e.Refactor=`refactor`,e.RefactorExtract=`refactor.extract`,e.RefactorInline=`refactor.inline`,e.RefactorRewrite=`refactor.rewrite`,e.Source=`source`,e.SourceOrganizeImports=`source.organizeImports`,e.SourceFixAll=`source.fixAll`})(ve||={});var B;(function(e){e.Invoked=1,e.Automatic=2})(B||={});var ye;(function(e){function t(e,t,n){let r={diagnostics:e};return t!=null&&(r.only=t),n!=null&&(r.triggerKind=n),r}e.create=t;function n(e){let t=e;return U.defined(t)&&U.typedArray(t.diagnostics,_.is)&&(t.only===void 0||U.typedArray(t.only,U.string))&&(t.triggerKind===void 0||t.triggerKind===B.Invoked||t.triggerKind===B.Automatic)}e.is=n})(ye||={});var be;(function(e){function t(e,t,n){let r={title:e},i=!0;return typeof t==`string`?(i=!1,r.kind=t):v.is(t)?r.command=t:r.edit=t,i&&n!==void 0&&(r.kind=n),r}e.create=t;function n(e){let t=e;return t&&U.string(t.title)&&(t.diagnostics===void 0||U.typedArray(t.diagnostics,_.is))&&(t.kind===void 0||U.string(t.kind))&&(t.edit!==void 0||t.command!==void 0)&&(t.command===void 0||v.is(t.command))&&(t.isPreferred===void 0||U.boolean(t.isPreferred))&&(t.edit===void 0||E.is(t.edit))}e.is=n})(be||={});var xe;(function(e){function t(e,t){let n={range:e};return U.defined(t)&&(n.data=t),n}e.create=t;function n(e){let t=e;return U.defined(t)&&u.is(t.range)&&(U.undefined(t.command)||v.is(t.command))}e.is=n})(xe||={});var Se;(function(e){function t(e,t){return{tabSize:e,insertSpaces:t}}e.create=t;function n(e){let t=e;return U.defined(t)&&U.uinteger(t.tabSize)&&U.boolean(t.insertSpaces)}e.is=n})(Se||={});var Ce;(function(e){function t(e,t,n){return{range:e,target:t,data:n}}e.create=t;function n(e){let t=e;return U.defined(t)&&u.is(t.range)&&(U.undefined(t.target)||U.string(t.target))}e.is=n})(Ce||={});var we;(function(e){function t(e,t){return{range:e,parent:t}}e.create=t;function n(t){let n=t;return U.objectLiteral(n)&&u.is(n.range)&&(n.parent===void 0||e.is(n.parent))}e.is=n})(we||={});var Te;(function(e){e.namespace=`namespace`,e.type=`type`,e.class=`class`,e.enum=`enum`,e.interface=`interface`,e.struct=`struct`,e.typeParameter=`typeParameter`,e.parameter=`parameter`,e.variable=`variable`,e.property=`property`,e.enumMember=`enumMember`,e.event=`event`,e.function=`function`,e.method=`method`,e.macro=`macro`,e.keyword=`keyword`,e.modifier=`modifier`,e.comment=`comment`,e.string=`string`,e.number=`number`,e.regexp=`regexp`,e.operator=`operator`,e.decorator=`decorator`})(Te||={});var Ee;(function(e){e.declaration=`declaration`,e.definition=`definition`,e.readonly=`readonly`,e.static=`static`,e.deprecated=`deprecated`,e.abstract=`abstract`,e.async=`async`,e.modification=`modification`,e.documentation=`documentation`,e.defaultLibrary=`defaultLibrary`})(Ee||={});var De;(function(e){function t(e){let t=e;return U.objectLiteral(t)&&(t.resultId===void 0||typeof t.resultId==`string`)&&Array.isArray(t.data)&&(t.data.length===0||typeof t.data[0]==`number`)}e.is=t})(De||={});var Oe;(function(e){function t(e,t){return{range:e,text:t}}e.create=t;function n(e){let t=e;return t!=null&&u.is(t.range)&&U.string(t.text)}e.is=n})(Oe||={});var ke;(function(e){function t(e,t,n){return{range:e,variableName:t,caseSensitiveLookup:n}}e.create=t;function n(e){let t=e;return t!=null&&u.is(t.range)&&U.boolean(t.caseSensitiveLookup)&&(U.string(t.variableName)||t.variableName===void 0)}e.is=n})(ke||={});var Ae;(function(e){function t(e,t){return{range:e,expression:t}}e.create=t;function n(e){let t=e;return t!=null&&u.is(t.range)&&(U.string(t.expression)||t.expression===void 0)}e.is=n})(Ae||={});var je;(function(e){function t(e,t){return{frameId:e,stoppedLocation:t}}e.create=t;function n(e){let t=e;return U.defined(t)&&u.is(e.stoppedLocation)}e.is=n})(je||={});var V;(function(e){e.Type=1,e.Parameter=2;function t(e){return e===1||e===2}e.is=t})(V||={});var H;(function(e){function t(e){return{value:e}}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&(t.tooltip===void 0||U.string(t.tooltip)||j.is(t.tooltip))&&(t.location===void 0||d.is(t.location))&&(t.command===void 0||v.is(t.command))}e.is=n})(H||={});var Me;(function(e){function t(e,t,n){let r={position:e,label:t};return n!==void 0&&(r.kind=n),r}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&l.is(t.position)&&(U.string(t.label)||U.typedArray(t.label,H.is))&&(t.kind===void 0||V.is(t.kind))&&t.textEdits===void 0||U.typedArray(t.textEdits,y.is)&&(t.tooltip===void 0||U.string(t.tooltip)||j.is(t.tooltip))&&(t.paddingLeft===void 0||U.boolean(t.paddingLeft))&&(t.paddingRight===void 0||U.boolean(t.paddingRight))}e.is=n})(Me||={});var Ne;(function(e){function t(e){return{kind:`snippet`,value:e}}e.createSnippet=t})(Ne||={});var Pe;(function(e){function t(e,t,n,r){return{insertText:e,filterText:t,range:n,command:r}}e.create=t})(Pe||={});var Fe;(function(e){function t(e){return{items:e}}e.create=t})(Fe||={});var Ie;(function(e){e.Invoked=0,e.Automatic=1})(Ie||={});var Le;(function(e){function t(e,t){return{range:e,text:t}}e.create=t})(Le||={});var Re;(function(e){function t(e,t){return{triggerKind:e,selectedCompletionInfo:t}}e.create=t})(Re||={});var ze;(function(e){function t(e){let t=e;return U.objectLiteral(t)&&o.is(t.uri)&&U.string(t.name)}e.is=t})(ze||={});var Be;(function(e){function t(e,t,n,r){return new Ve(e,t,n,r)}e.create=t;function n(e){let t=e;return!!(U.defined(t)&&U.string(t.uri)&&(U.undefined(t.languageId)||U.string(t.languageId))&&U.uinteger(t.lineCount)&&U.func(t.getText)&&U.func(t.positionAt)&&U.func(t.offsetAt))}e.is=n;function r(e,t){let n=e.getText(),r=i(t,(e,t)=>{let n=e.range.start.line-t.range.start.line;return n===0?e.range.start.character-t.range.start.character:n}),a=n.length;for(let t=r.length-1;t>=0;t--){let i=r[t],o=e.offsetAt(i.range.start),s=e.offsetAt(i.range.end);if(s<=a)n=n.substring(0,o)+i.newText+n.substring(s,n.length);else throw Error(`Overlapping edit`);a=o}return n}e.applyEdits=r;function i(e,t){if(e.length<=1)return e;let n=e.length/2|0,r=e.slice(0,n),a=e.slice(n);i(r,t),i(a,t);let o=0,s=0,c=0;for(;o<r.length&&s<a.length;)t(r[o],a[s])<=0?e[c++]=r[o++]:e[c++]=a[s++];for(;o<r.length;)e[c++]=r[o++];for(;s<a.length;)e[c++]=a[s++];return e}})(Be||={});var Ve=class{constructor(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content}update(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],t=this._content,n=!0;for(let r=0;r<t.length;r++){n&&=(e.push(r),!1);let i=t.charAt(r);n=i===`\r`||i===`
|
|
1
|
+
import{_ as e,c as t,d as n,g as r,h as i}from"./register-DyNR2rGk.js";var a;(function(e){function t(e){return typeof e==`string`}e.is=t})(a||={});var o;(function(e){function t(e){return typeof e==`string`}e.is=t})(o||={});var s;(function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647;function t(t){return typeof t==`number`&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}e.is=t})(s||={});var c;(function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647;function t(t){return typeof t==`number`&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}e.is=t})(c||={});var l;(function(e){function t(e,t){return e===Number.MAX_VALUE&&(e=c.MAX_VALUE),t===Number.MAX_VALUE&&(t=c.MAX_VALUE),{line:e,character:t}}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&U.uinteger(t.line)&&U.uinteger(t.character)}e.is=n})(l||={});var u;(function(e){function t(e,t,n,r){if(U.uinteger(e)&&U.uinteger(t)&&U.uinteger(n)&&U.uinteger(r))return{start:l.create(e,t),end:l.create(n,r)};if(l.is(e)&&l.is(t))return{start:e,end:t};throw Error(`Range#create called with invalid arguments[${e}, ${t}, ${n}, ${r}]`)}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&l.is(t.start)&&l.is(t.end)}e.is=n})(u||={});var d;(function(e){function t(e,t){return{uri:e,range:t}}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&u.is(t.range)&&(U.string(t.uri)||U.undefined(t.uri))}e.is=n})(d||={});var f;(function(e){function t(e,t,n,r){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:r}}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&u.is(t.targetRange)&&U.string(t.targetUri)&&u.is(t.targetSelectionRange)&&(u.is(t.originSelectionRange)||U.undefined(t.originSelectionRange))}e.is=n})(f||={});var p;(function(e){function t(e,t,n,r){return{red:e,green:t,blue:n,alpha:r}}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&U.numberRange(t.red,0,1)&&U.numberRange(t.green,0,1)&&U.numberRange(t.blue,0,1)&&U.numberRange(t.alpha,0,1)}e.is=n})(p||={});var ee;(function(e){function t(e,t){return{range:e,color:t}}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&u.is(t.range)&&p.is(t.color)}e.is=n})(ee||={});var te;(function(e){function t(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&U.string(t.label)&&(U.undefined(t.textEdit)||y.is(t))&&(U.undefined(t.additionalTextEdits)||U.typedArray(t.additionalTextEdits,y.is))}e.is=n})(te||={});var m;(function(e){e.Comment=`comment`,e.Imports=`imports`,e.Region=`region`})(m||={});var ne;(function(e){function t(e,t,n,r,i,a){let o={startLine:e,endLine:t};return U.defined(n)&&(o.startCharacter=n),U.defined(r)&&(o.endCharacter=r),U.defined(i)&&(o.kind=i),U.defined(a)&&(o.collapsedText=a),o}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&U.uinteger(t.startLine)&&U.uinteger(t.startLine)&&(U.undefined(t.startCharacter)||U.uinteger(t.startCharacter))&&(U.undefined(t.endCharacter)||U.uinteger(t.endCharacter))&&(U.undefined(t.kind)||U.string(t.kind))}e.is=n})(ne||={});var h;(function(e){function t(e,t){return{location:e,message:t}}e.create=t;function n(e){let t=e;return U.defined(t)&&d.is(t.location)&&U.string(t.message)}e.is=n})(h||={});var g;(function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4})(g||={});var re;(function(e){e.Unnecessary=1,e.Deprecated=2})(re||={});var ie;(function(e){function t(e){let t=e;return U.objectLiteral(t)&&U.string(t.href)}e.is=t})(ie||={});var _;(function(e){function t(e,t,n,r,i,a){let o={range:e,message:t};return U.defined(n)&&(o.severity=n),U.defined(r)&&(o.code=r),U.defined(i)&&(o.source=i),U.defined(a)&&(o.relatedInformation=a),o}e.create=t;function n(e){let t=e;return U.defined(t)&&u.is(t.range)&&U.string(t.message)&&(U.number(t.severity)||U.undefined(t.severity))&&(U.integer(t.code)||U.string(t.code)||U.undefined(t.code))&&(U.undefined(t.codeDescription)||U.string(t.codeDescription?.href))&&(U.string(t.source)||U.undefined(t.source))&&(U.undefined(t.relatedInformation)||U.typedArray(t.relatedInformation,h.is))}e.is=n})(_||={});var v;(function(e){function t(e,t,...n){let r={title:e,command:t};return U.defined(n)&&n.length>0&&(r.arguments=n),r}e.create=t;function n(e){let t=e;return U.defined(t)&&U.string(t.title)&&U.string(t.command)}e.is=n})(v||={});var y;(function(e){function t(e,t){return{range:e,newText:t}}e.replace=t;function n(e,t){return{range:{start:e,end:e},newText:t}}e.insert=n;function r(e){return{range:e,newText:``}}e.del=r;function i(e){let t=e;return U.objectLiteral(t)&&U.string(t.newText)&&u.is(t.range)}e.is=i})(y||={});var b;(function(e){function t(e,t,n){let r={label:e};return t!==void 0&&(r.needsConfirmation=t),n!==void 0&&(r.description=n),r}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&U.string(t.label)&&(U.boolean(t.needsConfirmation)||t.needsConfirmation===void 0)&&(U.string(t.description)||t.description===void 0)}e.is=n})(b||={});var x;(function(e){function t(e){let t=e;return U.string(t)}e.is=t})(x||={});var ae;(function(e){function t(e,t,n){return{range:e,newText:t,annotationId:n}}e.replace=t;function n(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}}e.insert=n;function r(e,t){return{range:e,newText:``,annotationId:t}}e.del=r;function i(e){let t=e;return y.is(t)&&(b.is(t.annotationId)||x.is(t.annotationId))}e.is=i})(ae||={});var S;(function(e){function t(e,t){return{textDocument:e,edits:t}}e.create=t;function n(e){let t=e;return U.defined(t)&&k.is(t.textDocument)&&Array.isArray(t.edits)}e.is=n})(S||={});var C;(function(e){function t(e,t,n){let r={kind:`create`,uri:e};return t!==void 0&&(t.overwrite!==void 0||t.ignoreIfExists!==void 0)&&(r.options=t),n!==void 0&&(r.annotationId=n),r}e.create=t;function n(e){let t=e;return t&&t.kind===`create`&&U.string(t.uri)&&(t.options===void 0||(t.options.overwrite===void 0||U.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||U.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||x.is(t.annotationId))}e.is=n})(C||={});var w;(function(e){function t(e,t,n,r){let i={kind:`rename`,oldUri:e,newUri:t};return n!==void 0&&(n.overwrite!==void 0||n.ignoreIfExists!==void 0)&&(i.options=n),r!==void 0&&(i.annotationId=r),i}e.create=t;function n(e){let t=e;return t&&t.kind===`rename`&&U.string(t.oldUri)&&U.string(t.newUri)&&(t.options===void 0||(t.options.overwrite===void 0||U.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||U.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||x.is(t.annotationId))}e.is=n})(w||={});var T;(function(e){function t(e,t,n){let r={kind:`delete`,uri:e};return t!==void 0&&(t.recursive!==void 0||t.ignoreIfNotExists!==void 0)&&(r.options=t),n!==void 0&&(r.annotationId=n),r}e.create=t;function n(e){let t=e;return t&&t.kind===`delete`&&U.string(t.uri)&&(t.options===void 0||(t.options.recursive===void 0||U.boolean(t.options.recursive))&&(t.options.ignoreIfNotExists===void 0||U.boolean(t.options.ignoreIfNotExists)))&&(t.annotationId===void 0||x.is(t.annotationId))}e.is=n})(T||={});var E;(function(e){function t(e){let t=e;return t&&(t.changes!==void 0||t.documentChanges!==void 0)&&(t.documentChanges===void 0||t.documentChanges.every(e=>U.string(e.kind)?C.is(e)||w.is(e)||T.is(e):S.is(e)))}e.is=t})(E||={});var D;(function(e){function t(e){return{uri:e}}e.create=t;function n(e){let t=e;return U.defined(t)&&U.string(t.uri)}e.is=n})(D||={});var O;(function(e){function t(e,t){return{uri:e,version:t}}e.create=t;function n(e){let t=e;return U.defined(t)&&U.string(t.uri)&&U.integer(t.version)}e.is=n})(O||={});var k;(function(e){function t(e,t){return{uri:e,version:t}}e.create=t;function n(e){let t=e;return U.defined(t)&&U.string(t.uri)&&(t.version===null||U.integer(t.version))}e.is=n})(k||={});var oe;(function(e){function t(e,t,n,r){return{uri:e,languageId:t,version:n,text:r}}e.create=t;function n(e){let t=e;return U.defined(t)&&U.string(t.uri)&&U.string(t.languageId)&&U.integer(t.version)&&U.string(t.text)}e.is=n})(oe||={});var A;(function(e){e.PlainText=`plaintext`,e.Markdown=`markdown`;function t(t){let n=t;return n===e.PlainText||n===e.Markdown}e.is=t})(A||={});var j;(function(e){function t(e){let t=e;return U.objectLiteral(e)&&A.is(t.kind)&&U.string(t.value)}e.is=t})(j||={});var M;(function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25})(M||={});var N;(function(e){e.PlainText=1,e.Snippet=2})(N||={});var se;(function(e){e.Deprecated=1})(se||={});var ce;(function(e){function t(e,t,n){return{newText:e,insert:t,replace:n}}e.create=t;function n(e){let t=e;return t&&U.string(t.newText)&&u.is(t.insert)&&u.is(t.replace)}e.is=n})(ce||={});var le;(function(e){e.asIs=1,e.adjustIndentation=2})(le||={});var ue;(function(e){function t(e){let t=e;return t&&(U.string(t.detail)||t.detail===void 0)&&(U.string(t.description)||t.description===void 0)}e.is=t})(ue||={});var de;(function(e){function t(e){return{label:e}}e.create=t})(de||={});var fe;(function(e){function t(e,t){return{items:e||[],isIncomplete:!!t}}e.create=t})(fe||={});var P;(function(e){function t(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,`\\$&`)}e.fromPlainText=t;function n(e){let t=e;return U.string(t)||U.objectLiteral(t)&&U.string(t.language)&&U.string(t.value)}e.is=n})(P||={});var pe;(function(e){function t(e){let t=e;return!!t&&U.objectLiteral(t)&&(j.is(t.contents)||P.is(t.contents)||U.typedArray(t.contents,P.is))&&(e.range===void 0||u.is(e.range))}e.is=t})(pe||={});var me;(function(e){function t(e,t){return t?{label:e,documentation:t}:{label:e}}e.create=t})(me||={});var F;(function(e){function t(e,t,...n){let r={label:e};return U.defined(t)&&(r.documentation=t),r.parameters=U.defined(n)?n:[],r}e.create=t})(F||={});var I;(function(e){e.Text=1,e.Read=2,e.Write=3})(I||={});var L;(function(e){function t(e,t){let n={range:e};return U.number(t)&&(n.kind=t),n}e.create=t})(L||={});var R;(function(e){e.File=1,e.Module=2,e.Namespace=3,e.Package=4,e.Class=5,e.Method=6,e.Property=7,e.Field=8,e.Constructor=9,e.Enum=10,e.Interface=11,e.Function=12,e.Variable=13,e.Constant=14,e.String=15,e.Number=16,e.Boolean=17,e.Array=18,e.Object=19,e.Key=20,e.Null=21,e.EnumMember=22,e.Struct=23,e.Event=24,e.Operator=25,e.TypeParameter=26})(R||={});var z;(function(e){e.Deprecated=1})(z||={});var he;(function(e){function t(e,t,n,r,i){let a={name:e,kind:t,location:{uri:r,range:n}};return i&&(a.containerName=i),a}e.create=t})(he||={});var ge;(function(e){function t(e,t,n,r){return r===void 0?{name:e,kind:t,location:{uri:n}}:{name:e,kind:t,location:{uri:n,range:r}}}e.create=t})(ge||={});var _e;(function(e){function t(e,t,n,r,i,a){let o={name:e,detail:t,kind:n,range:r,selectionRange:i};return a!==void 0&&(o.children=a),o}e.create=t;function n(e){let t=e;return t&&U.string(t.name)&&U.number(t.kind)&&u.is(t.range)&&u.is(t.selectionRange)&&(t.detail===void 0||U.string(t.detail))&&(t.deprecated===void 0||U.boolean(t.deprecated))&&(t.children===void 0||Array.isArray(t.children))&&(t.tags===void 0||Array.isArray(t.tags))}e.is=n})(_e||={});var ve;(function(e){e.Empty=``,e.QuickFix=`quickfix`,e.Refactor=`refactor`,e.RefactorExtract=`refactor.extract`,e.RefactorInline=`refactor.inline`,e.RefactorRewrite=`refactor.rewrite`,e.Source=`source`,e.SourceOrganizeImports=`source.organizeImports`,e.SourceFixAll=`source.fixAll`})(ve||={});var B;(function(e){e.Invoked=1,e.Automatic=2})(B||={});var ye;(function(e){function t(e,t,n){let r={diagnostics:e};return t!=null&&(r.only=t),n!=null&&(r.triggerKind=n),r}e.create=t;function n(e){let t=e;return U.defined(t)&&U.typedArray(t.diagnostics,_.is)&&(t.only===void 0||U.typedArray(t.only,U.string))&&(t.triggerKind===void 0||t.triggerKind===B.Invoked||t.triggerKind===B.Automatic)}e.is=n})(ye||={});var be;(function(e){function t(e,t,n){let r={title:e},i=!0;return typeof t==`string`?(i=!1,r.kind=t):v.is(t)?r.command=t:r.edit=t,i&&n!==void 0&&(r.kind=n),r}e.create=t;function n(e){let t=e;return t&&U.string(t.title)&&(t.diagnostics===void 0||U.typedArray(t.diagnostics,_.is))&&(t.kind===void 0||U.string(t.kind))&&(t.edit!==void 0||t.command!==void 0)&&(t.command===void 0||v.is(t.command))&&(t.isPreferred===void 0||U.boolean(t.isPreferred))&&(t.edit===void 0||E.is(t.edit))}e.is=n})(be||={});var xe;(function(e){function t(e,t){let n={range:e};return U.defined(t)&&(n.data=t),n}e.create=t;function n(e){let t=e;return U.defined(t)&&u.is(t.range)&&(U.undefined(t.command)||v.is(t.command))}e.is=n})(xe||={});var Se;(function(e){function t(e,t){return{tabSize:e,insertSpaces:t}}e.create=t;function n(e){let t=e;return U.defined(t)&&U.uinteger(t.tabSize)&&U.boolean(t.insertSpaces)}e.is=n})(Se||={});var Ce;(function(e){function t(e,t,n){return{range:e,target:t,data:n}}e.create=t;function n(e){let t=e;return U.defined(t)&&u.is(t.range)&&(U.undefined(t.target)||U.string(t.target))}e.is=n})(Ce||={});var we;(function(e){function t(e,t){return{range:e,parent:t}}e.create=t;function n(t){let n=t;return U.objectLiteral(n)&&u.is(n.range)&&(n.parent===void 0||e.is(n.parent))}e.is=n})(we||={});var Te;(function(e){e.namespace=`namespace`,e.type=`type`,e.class=`class`,e.enum=`enum`,e.interface=`interface`,e.struct=`struct`,e.typeParameter=`typeParameter`,e.parameter=`parameter`,e.variable=`variable`,e.property=`property`,e.enumMember=`enumMember`,e.event=`event`,e.function=`function`,e.method=`method`,e.macro=`macro`,e.keyword=`keyword`,e.modifier=`modifier`,e.comment=`comment`,e.string=`string`,e.number=`number`,e.regexp=`regexp`,e.operator=`operator`,e.decorator=`decorator`})(Te||={});var Ee;(function(e){e.declaration=`declaration`,e.definition=`definition`,e.readonly=`readonly`,e.static=`static`,e.deprecated=`deprecated`,e.abstract=`abstract`,e.async=`async`,e.modification=`modification`,e.documentation=`documentation`,e.defaultLibrary=`defaultLibrary`})(Ee||={});var De;(function(e){function t(e){let t=e;return U.objectLiteral(t)&&(t.resultId===void 0||typeof t.resultId==`string`)&&Array.isArray(t.data)&&(t.data.length===0||typeof t.data[0]==`number`)}e.is=t})(De||={});var Oe;(function(e){function t(e,t){return{range:e,text:t}}e.create=t;function n(e){let t=e;return t!=null&&u.is(t.range)&&U.string(t.text)}e.is=n})(Oe||={});var ke;(function(e){function t(e,t,n){return{range:e,variableName:t,caseSensitiveLookup:n}}e.create=t;function n(e){let t=e;return t!=null&&u.is(t.range)&&U.boolean(t.caseSensitiveLookup)&&(U.string(t.variableName)||t.variableName===void 0)}e.is=n})(ke||={});var Ae;(function(e){function t(e,t){return{range:e,expression:t}}e.create=t;function n(e){let t=e;return t!=null&&u.is(t.range)&&(U.string(t.expression)||t.expression===void 0)}e.is=n})(Ae||={});var je;(function(e){function t(e,t){return{frameId:e,stoppedLocation:t}}e.create=t;function n(e){let t=e;return U.defined(t)&&u.is(e.stoppedLocation)}e.is=n})(je||={});var V;(function(e){e.Type=1,e.Parameter=2;function t(e){return e===1||e===2}e.is=t})(V||={});var H;(function(e){function t(e){return{value:e}}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&(t.tooltip===void 0||U.string(t.tooltip)||j.is(t.tooltip))&&(t.location===void 0||d.is(t.location))&&(t.command===void 0||v.is(t.command))}e.is=n})(H||={});var Me;(function(e){function t(e,t,n){let r={position:e,label:t};return n!==void 0&&(r.kind=n),r}e.create=t;function n(e){let t=e;return U.objectLiteral(t)&&l.is(t.position)&&(U.string(t.label)||U.typedArray(t.label,H.is))&&(t.kind===void 0||V.is(t.kind))&&t.textEdits===void 0||U.typedArray(t.textEdits,y.is)&&(t.tooltip===void 0||U.string(t.tooltip)||j.is(t.tooltip))&&(t.paddingLeft===void 0||U.boolean(t.paddingLeft))&&(t.paddingRight===void 0||U.boolean(t.paddingRight))}e.is=n})(Me||={});var Ne;(function(e){function t(e){return{kind:`snippet`,value:e}}e.createSnippet=t})(Ne||={});var Pe;(function(e){function t(e,t,n,r){return{insertText:e,filterText:t,range:n,command:r}}e.create=t})(Pe||={});var Fe;(function(e){function t(e){return{items:e}}e.create=t})(Fe||={});var Ie;(function(e){e.Invoked=0,e.Automatic=1})(Ie||={});var Le;(function(e){function t(e,t){return{range:e,text:t}}e.create=t})(Le||={});var Re;(function(e){function t(e,t){return{triggerKind:e,selectedCompletionInfo:t}}e.create=t})(Re||={});var ze;(function(e){function t(e){let t=e;return U.objectLiteral(t)&&o.is(t.uri)&&U.string(t.name)}e.is=t})(ze||={});var Be;(function(e){function t(e,t,n,r){return new Ve(e,t,n,r)}e.create=t;function n(e){let t=e;return!!(U.defined(t)&&U.string(t.uri)&&(U.undefined(t.languageId)||U.string(t.languageId))&&U.uinteger(t.lineCount)&&U.func(t.getText)&&U.func(t.positionAt)&&U.func(t.offsetAt))}e.is=n;function r(e,t){let n=e.getText(),r=i(t,(e,t)=>{let n=e.range.start.line-t.range.start.line;return n===0?e.range.start.character-t.range.start.character:n}),a=n.length;for(let t=r.length-1;t>=0;t--){let i=r[t],o=e.offsetAt(i.range.start),s=e.offsetAt(i.range.end);if(s<=a)n=n.substring(0,o)+i.newText+n.substring(s,n.length);else throw Error(`Overlapping edit`);a=o}return n}e.applyEdits=r;function i(e,t){if(e.length<=1)return e;let n=e.length/2|0,r=e.slice(0,n),a=e.slice(n);i(r,t),i(a,t);let o=0,s=0,c=0;for(;o<r.length&&s<a.length;)t(r[o],a[s])<=0?e[c++]=r[o++]:e[c++]=a[s++];for(;o<r.length;)e[c++]=r[o++];for(;s<a.length;)e[c++]=a[s++];return e}})(Be||={});var Ve=class{constructor(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content}update(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],t=this._content,n=!0;for(let r=0;r<t.length;r++){n&&=(e.push(r),!1);let i=t.charAt(r);n=i===`\r`||i===`
|
|
2
2
|
`,i===`\r`&&r+1<t.length&&t.charAt(r+1)===`
|
|
3
3
|
`&&r++}n&&t.length>0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),n=0,r=t.length;if(r===0)return l.create(0,e);for(;n<r;){let i=Math.floor((n+r)/2);t[i]>e?r=i:n=i+1}let i=n-1;return l.create(i,e-t[i])}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let n=t[e.line],r=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(n+e.character,r),n)}get lineCount(){return this.getLineOffsets().length}},U;(function(e){let t=Object.prototype.toString;function n(e){return e!==void 0}e.defined=n;function r(e){return e===void 0}e.undefined=r;function i(e){return e===!0||e===!1}e.boolean=i;function a(e){return t.call(e)===`[object String]`}e.string=a;function o(e){return t.call(e)===`[object Number]`}e.number=o;function s(e,n,r){return t.call(e)===`[object Number]`&&n<=e&&e<=r}e.numberRange=s;function c(e){return t.call(e)===`[object Number]`&&-2147483648<=e&&e<=2147483647}e.integer=c;function l(e){return t.call(e)===`[object Number]`&&0<=e&&e<=2147483647}e.uinteger=l;function u(e){return t.call(e)===`[object Function]`}e.func=u;function d(e){return typeof e==`object`&&!!e}e.objectLiteral=d;function f(e,t){return Array.isArray(e)&&e.every(t)}e.typedArray=f})(U||={});var He=class{constructor(e,t,n){this._languageId=e,this._worker=t,this._disposables=[],this._listener=Object.create(null);let i=e=>{let t=e.getLanguageId();if(t!==this._languageId)return;let n;this._listener[e.uri.toString()]=e.onDidChangeContent(()=>{window.clearTimeout(n),n=window.setTimeout(()=>this._doValidate(e.uri,t),500)}),this._doValidate(e.uri,t)},a=e=>{r.setModelMarkers(e,this._languageId,[]);let t=e.uri.toString(),n=this._listener[t];n&&(n.dispose(),delete this._listener[t])};this._disposables.push(r.onDidCreateModel(i)),this._disposables.push(r.onWillDisposeModel(a)),this._disposables.push(r.onDidChangeModelLanguage(e=>{a(e.model),i(e.model)})),this._disposables.push(n(e=>{r.getModels().forEach(e=>{e.getLanguageId()===this._languageId&&(a(e),i(e))})})),this._disposables.push({dispose:()=>{r.getModels().forEach(a);for(let e in this._listener)this._listener[e].dispose()}}),r.getModels().forEach(i)}dispose(){this._disposables.forEach(e=>e&&e.dispose()),this._disposables.length=0}_doValidate(e,t){this._worker(e).then(t=>t.doValidation(e.toString())).then(n=>{let i=n.map(t=>We(e,t)),a=r.getModel(e);a&&a.getLanguageId()===t&&r.setModelMarkers(a,t,i)}).then(void 0,e=>{console.error(e)})}};function Ue(e){switch(e){case g.Error:return t.Error;case g.Warning:return t.Warning;case g.Information:return t.Info;case g.Hint:return t.Hint;default:return t.Info}}function We(e,t){let n=typeof t.code==`number`?String(t.code):t.code;return{severity:Ue(t.severity),startLineNumber:t.range.start.line+1,startColumn:t.range.start.character+1,endLineNumber:t.range.end.line+1,endColumn:t.range.end.character+1,message:t.message,code:n,source:t.source}}var Ge=class{constructor(e,t){this._worker=e,this._triggerCharacters=t}get triggerCharacters(){return this._triggerCharacters}provideCompletionItems(t,r,i,a){let o=t.uri;return this._worker(o).then(e=>e.doComplete(o.toString(),W(r))).then(i=>{if(!i)return;let a=t.getWordUntilPosition(r),o=new n(r.lineNumber,a.startColumn,r.lineNumber,a.endColumn),s=i.items.map(t=>{let n={label:t.label,insertText:t.insertText||t.label,sortText:t.sortText,filterText:t.filterText,documentation:t.documentation,detail:t.detail,command:Je(t.command),range:o,kind:qe(t.kind)};return t.textEdit&&(n.range=Ke(t.textEdit)?{insert:K(t.textEdit.insert),replace:K(t.textEdit.replace)}:K(t.textEdit.range),n.insertText=t.textEdit.newText),t.additionalTextEdits&&(n.additionalTextEdits=t.additionalTextEdits.map(q)),t.insertTextFormat===N.Snippet&&(n.insertTextRules=e.CompletionItemInsertTextRule.InsertAsSnippet),n});return{isIncomplete:i.isIncomplete,suggestions:s}})}};function W(e){if(e)return{character:e.column-1,line:e.lineNumber-1}}function G(e){if(e)return{start:{line:e.startLineNumber-1,character:e.startColumn-1},end:{line:e.endLineNumber-1,character:e.endColumn-1}}}function K(e){if(e)return new n(e.start.line+1,e.start.character+1,e.end.line+1,e.end.character+1)}function Ke(e){return e.insert!==void 0&&e.replace!==void 0}function qe(t){let n=e.CompletionItemKind;switch(t){case M.Text:return n.Text;case M.Method:return n.Method;case M.Function:return n.Function;case M.Constructor:return n.Constructor;case M.Field:return n.Field;case M.Variable:return n.Variable;case M.Class:return n.Class;case M.Interface:return n.Interface;case M.Module:return n.Module;case M.Property:return n.Property;case M.Unit:return n.Unit;case M.Value:return n.Value;case M.Enum:return n.Enum;case M.Keyword:return n.Keyword;case M.Snippet:return n.Snippet;case M.Color:return n.Color;case M.File:return n.File;case M.Reference:return n.Reference}return n.Property}function q(e){if(e)return{range:K(e.range),text:e.newText}}function Je(e){return e&&e.command===`editor.action.triggerSuggest`?{id:e.command,title:e.title,arguments:e.arguments}:void 0}var Ye=class{constructor(e){this._worker=e}provideHover(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.doHover(r.toString(),W(t))).then(e=>{if(e)return{range:K(e.range),contents:Ze(e.contents)}})}};function Xe(e){return e&&typeof e==`object`&&typeof e.kind==`string`}function J(e){return typeof e==`string`?{value:e}:Xe(e)?e.kind===`plaintext`?{value:e.value.replace(/[\\`*_{}[\]()#+\-.!]/g,`\\$&`)}:{value:e.value}:{value:"```"+e.language+`
|
|
4
4
|
`+e.value+"\n```\n"}}function Ze(e){if(e)return Array.isArray(e)?e.map(J):[J(e)]}var Qe=class{constructor(e){this._worker=e}provideDocumentHighlights(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.findDocumentHighlights(r.toString(),W(t))).then(e=>{if(e)return e.map(e=>({range:K(e.range),kind:$e(e.kind)}))})}};function $e(t){switch(t){case I.Read:return e.DocumentHighlightKind.Read;case I.Write:return e.DocumentHighlightKind.Write;case I.Text:return e.DocumentHighlightKind.Text}return e.DocumentHighlightKind.Text}var et=class{constructor(e){this._worker=e}provideDefinition(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.findDefinition(r.toString(),W(t))).then(e=>{if(e)return[Y(e)]})}};function Y(e){return{uri:i.parse(e.uri),range:K(e.range)}}var tt=class{constructor(e){this._worker=e}provideReferences(e,t,n,r){let i=e.uri;return this._worker(i).then(e=>e.findReferences(i.toString(),W(t))).then(e=>{if(e)return e.map(Y)})}},nt=class{constructor(e){this._worker=e}provideRenameEdits(e,t,n,r){let i=e.uri;return this._worker(i).then(e=>e.doRename(i.toString(),W(t),n)).then(e=>rt(e))}};function rt(e){if(!e||!e.changes)return;let t=[];for(let n in e.changes){let r=i.parse(n);for(let i of e.changes[n])t.push({resource:r,versionId:void 0,textEdit:{range:K(i.range),text:i.newText}})}return{edits:t}}var it=class{constructor(e){this._worker=e}provideDocumentSymbols(e,t){let n=e.uri;return this._worker(n).then(e=>e.findDocumentSymbols(n.toString())).then(e=>{if(e)return e.map(e=>X(e)?Z(e):{name:e.name,detail:``,containerName:e.containerName,kind:Q(e.kind),range:K(e.location.range),selectionRange:K(e.location.range),tags:[]})})}};function X(e){return`children`in e}function Z(e){return{name:e.name,detail:e.detail??``,kind:Q(e.kind),range:K(e.range),selectionRange:K(e.selectionRange),tags:e.tags??[],children:(e.children??[]).map(e=>Z(e))}}function Q(t){let n=e.SymbolKind;switch(t){case R.File:return n.File;case R.Module:return n.Module;case R.Namespace:return n.Namespace;case R.Package:return n.Package;case R.Class:return n.Class;case R.Method:return n.Method;case R.Property:return n.Property;case R.Field:return n.Field;case R.Constructor:return n.Constructor;case R.Enum:return n.Enum;case R.Interface:return n.Interface;case R.Function:return n.Function;case R.Variable:return n.Variable;case R.Constant:return n.Constant;case R.String:return n.String;case R.Number:return n.Number;case R.Boolean:return n.Boolean;case R.Array:return n.Array}return n.Function}var at=class{constructor(e){this._worker=e}provideLinks(e,t){let n=e.uri;return this._worker(n).then(e=>e.findDocumentLinks(n.toString())).then(e=>{if(e)return{links:e.map(e=>({range:K(e.range),url:e.target}))}})}},ot=class{constructor(e){this._worker=e}provideDocumentFormattingEdits(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.format(r.toString(),null,$(t)).then(e=>{if(e&&e.length!==0)return e.map(q)}))}},st=class{constructor(e){this._worker=e,this.canFormatMultipleRanges=!1}provideDocumentRangeFormattingEdits(e,t,n,r){let i=e.uri;return this._worker(i).then(e=>e.format(i.toString(),G(t),$(n)).then(e=>{if(e&&e.length!==0)return e.map(q)}))}};function $(e){return{tabSize:e.tabSize,insertSpaces:e.insertSpaces}}var ct=class{constructor(e){this._worker=e}provideDocumentColors(e,t){let n=e.uri;return this._worker(n).then(e=>e.findDocumentColors(n.toString())).then(e=>{if(e)return e.map(e=>({color:e.color,range:K(e.range)}))})}provideColorPresentations(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.getColorPresentations(r.toString(),t.color,G(t.range))).then(e=>{if(e)return e.map(e=>{let t={label:e.label};return e.textEdit&&(t.textEdit=q(e.textEdit)),e.additionalTextEdits&&(t.additionalTextEdits=e.additionalTextEdits.map(q)),t})})}},lt=class{constructor(e){this._worker=e}provideFoldingRanges(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.getFoldingRanges(r.toString(),t)).then(e=>{if(e)return e.map(e=>{let t={start:e.startLine+1,end:e.endLine+1};return e.kind!==void 0&&(t.kind=ut(e.kind)),t})})}};function ut(t){switch(t){case m.Comment:return e.FoldingRangeKind.Comment;case m.Imports:return e.FoldingRangeKind.Imports;case m.Region:return e.FoldingRangeKind.Region}}var dt=class{constructor(e){this._worker=e}provideSelectionRanges(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.getSelectionRanges(r.toString(),t.map(W))).then(e=>{if(e)return e.map(e=>{let t=[];for(;e;)t.push({range:K(e.range)}),e=e.parent;return t})})}};export{K as _,ot as a,st as c,Ye as d,tt as f,G as g,W as h,ct as i,it as l,dt as m,et as n,Qe as o,nt as p,He as r,at as s,Ge as t,lt as u,q as v};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./cn-6T8VranJ.js";import{a as n}from"./vendor-datadog-ozKf-pts.js";import{r}from"./vendor-react-BOliS0BL.js";import{t as i}from"./button-DWwfgGWI.js";import{$n as a,Gn as o,It as s,Jn as c,Kn as l,Xn as u,Yn as d,Zn as f,er as p,nr as m,rr as h,tr as g}from"./index-
|
|
1
|
+
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./cn-6T8VranJ.js";import{a as n}from"./vendor-datadog-ozKf-pts.js";import{r}from"./vendor-react-BOliS0BL.js";import{t as i}from"./button-DWwfgGWI.js";import{$n as a,Gn as o,It as s,Jn as c,Kn as l,Xn as u,Yn as d,Zn as f,er as p,nr as m,rr as h,tr as g}from"./index-FN4KC9va.js";var _=e(n(),1),v=r(),y={active:0,upcoming:1,expired:2};function b(){let{data:e,isLoading:t}=o(),n=m(),r=l(),i=(0,_.useMemo)(()=>[...e??[]].sort((e,t)=>{let n=y[f(e,r).state],i=y[f(t,r).state];if(n!==i)return n-i;let o=d[u(e.type).severity]-d[u(t.type).severity];if(o!==0)return o;let s=a(e.endAt)??2**53-1;return(a(t.endAt)??2**53-1)-s}),[e,r]);return(0,v.jsx)(`div`,{className:`mt-32 px-4 pt-4 md:px-12 min-h-[calc(100vh-(--spacing(32)))]`,children:(0,v.jsxs)(`div`,{className:`max-w-3xl`,children:[(0,v.jsx)(`h1`,{className:`text-2xl font-light`,children:`Notifications`}),(0,v.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:`System-wide notices, including maintenance windows and downstream provider incidents.`}),(0,v.jsx)(`div`,{className:`mt-6 flex flex-col gap-3`,children:t?(0,v.jsx)(s,{className:`h-24 w-full`}):i.length===0?(0,v.jsx)(`p`,{className:`rounded-md border border-border bg-card p-8 text-center text-sm text-muted-foreground dark:bg-black-dark`,children:`No notifications right now.`}):i.map(e=>(0,v.jsx)(x,{notification:e,acked:n.has(e.id),nowMs:r},e.id))})]})})}function x({notification:e,acked:n,nowMs:r}){let{Icon:a,iconClass:o,label:s,badgeVariant:l}=u(e.type),d=f(e,r);return(0,v.jsxs)(`div`,{className:t(`flex gap-3 rounded-md border border-border bg-card p-4 dark:bg-black-dark`,n&&`opacity-60`,d.state===`expired`&&`opacity-70`),children:[(0,v.jsx)(a,{className:t(`mt-0.5 size-5 shrink-0`,o)}),(0,v.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,v.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,v.jsx)(h,{variant:l,children:s}),d.state!==`active`&&(0,v.jsx)(h,{variant:`outline`,className:`capitalize`,children:d.state}),(0,v.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:d.label})]}),(0,v.jsx)(`p`,{className:`mt-2 text-sm break-words text-foreground`,children:e.message}),(0,v.jsx)(`div`,{className:`mt-2 flex items-center gap-4 text-sm`,children:(0,v.jsx)(c,{url:e.url,className:`font-medium text-primary hover:underline dark:text-white`})})]}),(0,v.jsx)(i,{variant:`ghost`,size:`sm`,className:`shrink-0 text-muted-foreground`,onClick:()=>n?g(e.id):p(e.id),children:n?`Undo`:`Ignore`})]})}export{b as NotificationsCenter};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t}from"./cn-6T8VranJ.js";import{a as n}from"./vendor-datadog-ozKf-pts.js";import{r}from"./vendor-react-BOliS0BL.js";import{L as i,Y as a}from"./vendor-tanstack-Bntfka-M.js";import{t as o}from"./button-DWwfgGWI.js";import{$n as s,$t as c,An as l,Cn as u,Dn as d,Fr as f,Gn as p,It as m,Jn as h,Lr as g,Ot as _,Qn as v,Qt as y,Sn as b,Tt as x,Xn as S,Zt as C,bn as w,en as T,qn as E,rr as D,tn as O,wn as k,wr as A,xn as j,yn as M}from"./index-
|
|
1
|
+
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t}from"./cn-6T8VranJ.js";import{a as n}from"./vendor-datadog-ozKf-pts.js";import{r}from"./vendor-react-BOliS0BL.js";import{L as i,Y as a}from"./vendor-tanstack-Bntfka-M.js";import{t as o}from"./button-DWwfgGWI.js";import{$n as s,$t as c,An as l,Cn as u,Dn as d,Fr as f,Gn as p,It as m,Jn as h,Lr as g,Ot as _,Qn as v,Qt as y,Sn as b,Tt as x,Xn as S,Zt as C,bn as w,en as T,qn as E,rr as D,tn as O,wn as k,wr as A,xn as j,yn as M}from"./index-FN4KC9va.js";import{a as N,c as P,i as F,n as I,o as L,r as R,s as z,t as B}from"./alertDialog-BbWD9Xxa.js";function V(){let e=a();return i({mutationFn:async e=>{let{data:n}=await t.post(`/SystemStatus/`,e);return n},onSuccess:()=>e.invalidateQueries({queryKey:E})})}function H(){let e=a();return i({mutationFn:async({id:e,draft:n})=>{await t.patch(`/SystemStatus/${e}`,n)},onSuccess:()=>e.invalidateQueries({queryKey:E})})}function U(){let e=a();return i({mutationFn:async e=>{await t.delete(`/SystemStatus/${e}`)},onSuccess:()=>e.invalidateQueries({queryKey:E})})}var W=e(n(),1),G=r(),K=[{value:`error`,label:`Error / Outage`},{value:`warning`,label:`Warning`},{value:`maintenance`,label:`Maintenance`},{value:`info`,label:`Info`}];function q(e){let t=s(e);if(t===null)return``;let n=new Date(t),r=e=>String(e).padStart(2,`0`);return`${n.getFullYear()}-${r(n.getMonth()+1)}-${r(n.getDate())}T${r(n.getHours())}:${r(n.getMinutes())}`}function J(e){if(!e)return null;let t=Date.parse(e);return Number.isNaN(t)?null:new Date(t).toISOString()}function Y(e){let t=s(e.startAt),n=s(e.endAt);if(t===null&&n===null)return`Always`;let r=e=>e===null?`—`:new Date(e).toLocaleString();return`${r(t)} → ${r(n)}`}function X(){let{data:e,isLoading:t}=p(),[n,r]=(0,W.useState)(!1),[i,a]=(0,W.useState)(null),[s,c]=(0,W.useState)(null),l=U(),u=(0,W.useCallback)(()=>{a(null),r(!0)},[]),d=(0,W.useCallback)(e=>{a(e),r(!0)},[]),h=(0,W.useMemo)(()=>Z({openEdit:d,onDelete:c}),[d]);return(0,G.jsxs)(`div`,{className:`max-w-5xl`,children:[(0,G.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`h1`,{className:`text-2xl font-light`,children:`Notifications`}),(0,G.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:`System-wide notices shown to all users in the notification center. Times are stored in UTC.`})]}),(0,G.jsxs)(o,{variant:`submit`,onClick:u,className:`shrink-0`,children:[(0,G.jsx)(f,{}),`New notification`]})]}),(0,G.jsx)(`div`,{className:`mt-6`,children:t?(0,G.jsx)(m,{className:`h-40 w-full`}):(0,G.jsx)(_,{columns:h,data:e??[]})}),(0,G.jsx)(Q,{open:n,onOpenChange:r,editing:i}),(0,G.jsx)(B,{open:!!s,onOpenChange:e=>!e&&c(null),children:(0,G.jsxs)(F,{children:[(0,G.jsxs)(z,{children:[(0,G.jsx)(P,{children:`Delete notification?`}),(0,G.jsx)(N,{children:`This removes it for everyone immediately. This can't be undone.`})]}),(0,G.jsxs)(L,{children:[(0,G.jsx)(R,{children:`Cancel`}),(0,G.jsx)(I,{disabled:l.isPending,onClick:e=>{e.preventDefault(),s&&l.mutate(s.id,{onSuccess:()=>c(null)})},children:l.isPending?`Deleting…`:`Delete`})]})]})})]})}function Z({openEdit:e,onDelete:t}){return[{header:`Type`,accessorKey:`type`,size:12,cell:({row:e})=>{let{label:t,badgeVariant:n}=S(e.original.type);return(0,G.jsx)(D,{variant:n,children:e.original.type||t})}},{header:`Message`,accessorKey:`message`,size:40,cell:({row:e})=>(0,G.jsx)(`span`,{className:`line-clamp-2 break-words`,children:e.original.message})},{header:`Active window (local)`,size:28,cell:({row:e})=>(0,G.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:Y(e.original)})},{header:`Link`,size:8,cell:({row:e})=>e.original.url?(0,G.jsx)(h,{url:e.original.url,className:`text-sm text-primary hover:underline dark:text-white`}):(0,G.jsx)(`span`,{className:`text-muted-foreground`,children:`—`})},{header:``,id:`actions`,size:12,cell:({row:n})=>(0,G.jsxs)(`div`,{className:`flex justify-end gap-1`,children:[(0,G.jsx)(o,{variant:`ghost`,size:`icon`,"aria-label":`Edit`,onClick:()=>e(n.original),children:(0,G.jsx)(g,{})}),(0,G.jsx)(o,{variant:`destructiveGhost`,size:`icon`,"aria-label":`Delete`,onClick:()=>t(n.original),children:(0,G.jsx)(A,{})})]})}]}function Q({open:e,onOpenChange:t,editing:n}){let r=V(),i=H(),a=r.isPending||i.isPending,[s,f]=(0,W.useState)(`error`),[p,m]=(0,W.useState)(``),[h,g]=(0,W.useState)(``),[_,S]=(0,W.useState)(``),[E,D]=(0,W.useState)(``),[A,N]=(0,W.useState)(null);return(0,W.useEffect)(()=>{e&&(f(n?.type??`error`),m(n?.message??``),g(n?.url??``),S(q(n?.startAt)),D(q(n?.endAt)),N(null))},[e,n]),(0,G.jsx)(M,{open:e,onOpenChange:t,children:(0,G.jsxs)(w,{children:[(0,G.jsxs)(u,{children:[(0,G.jsx)(k,{children:n?`Edit notification`:`New notification`}),(0,G.jsx)(j,{children:`Shown to all users. Leave start/end empty for an open-ended window.`})]}),(0,G.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,G.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,G.jsx)(l,{htmlFor:`notification-type`,children:`Type`}),(0,G.jsxs)(C,{value:s,onValueChange:f,children:[(0,G.jsx)(T,{id:`notification-type`,className:`w-full`,children:(0,G.jsx)(O,{})}),(0,G.jsx)(y,{children:K.map(e=>(0,G.jsx)(c,{value:e.value,children:e.label},e.value))})]})]}),(0,G.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,G.jsx)(l,{htmlFor:`notification-message`,children:`Message`}),(0,G.jsx)(x,{id:`notification-message`,rows:3,value:p,onChange:e=>m(e.target.value),placeholder:`The Fabric control plane will be undergoing maintenance…`})]}),(0,G.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,G.jsx)(l,{htmlFor:`notification-url`,children:`Link (optional)`}),(0,G.jsx)(d,{id:`notification-url`,value:h,onChange:e=>g(e.target.value),placeholder:`https://status.harper.io or /organizations`}),(0,G.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`An absolute URL opens in a new tab; a path like `,(0,G.jsx)(`code`,{children:`/organizations`}),` links inside Studio.`]})]}),(0,G.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 sm:grid-cols-2`,children:[(0,G.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,G.jsx)(l,{htmlFor:`notification-start`,children:`Start (local time)`}),(0,G.jsx)(d,{id:`notification-start`,type:`datetime-local`,value:_,onChange:e=>S(e.target.value)})]}),(0,G.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,G.jsx)(l,{htmlFor:`notification-end`,children:`End (local time)`}),(0,G.jsx)(d,{id:`notification-end`,type:`datetime-local`,value:E,onChange:e=>D(e.target.value)})]})]}),A&&(0,G.jsx)(`p`,{className:`text-sm text-destructive`,children:A})]}),(0,G.jsxs)(b,{children:[(0,G.jsx)(o,{variant:`ghostOutline`,onClick:()=>t(!1),disabled:a,children:`Cancel`}),(0,G.jsx)(o,{variant:`submit`,onClick:()=>{let e=p.trim();if(!e){N(`Message is required.`);return}let a=J(_),o=J(E);if(a&&o&&Date.parse(o)<=Date.parse(a)){N(`End time must be after start time.`);return}let c=h.trim();if(c&&!v(c)){N(`Link must be an http(s) URL, a mailto: address, or a path starting with “/”.`);return}let l={type:s,message:e,url:c||null,startAt:a,endAt:o},u=()=>t(!1);n?i.mutate({id:n.id,draft:l},{onSuccess:u}):r.mutate(l,{onSuccess:u})},disabled:a,children:a?`Saving…`:n?`Save changes`:`Create`})]})]})})}export{X as NotificationsAdminIndex};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,t as n}from"./authStore-CJCaADw9.js";import{_ as r,y as i}from"./vendor-core-6LhfJlRC.js";import{n as a}from"./cn-6T8VranJ.js";import{a as o}from"./vendor-datadog-ozKf-pts.js";import{r as s}from"./vendor-react-BOliS0BL.js";import{D as c,L as l,M as u}from"./vendor-tanstack-Bntfka-M.js";import{t as d}from"./button-DWwfgGWI.js";import{$ as f,Rt as p,at as m}from"./vendor-ui-9EYYDgoN.js";import{$r as h,Bt as g,Dn as _,Mn as v,Nn as y,On as b,Pn as x,Qr as S,Rn as C,Sr as w,Vr as T,Xt as E,jn as D,jr as O,kn as k,ri as A,ti as j}from"./index-
|
|
1
|
+
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,t as n}from"./authStore-CJCaADw9.js";import{_ as r,y as i}from"./vendor-core-6LhfJlRC.js";import{n as a}from"./cn-6T8VranJ.js";import{a as o}from"./vendor-datadog-ozKf-pts.js";import{r as s}from"./vendor-react-BOliS0BL.js";import{D as c,L as l,M as u}from"./vendor-tanstack-Bntfka-M.js";import{t as d}from"./button-DWwfgGWI.js";import{$ as f,Rt as p,at as m}from"./vendor-ui-9EYYDgoN.js";import{$r as h,Bt as g,Dn as _,Mn as v,Nn as y,On as b,Pn as x,Qr as S,Rn as C,Sr as w,Vr as T,Xt as E,jn as D,jr as O,kn as k,ri as A,ti as j}from"./index-FN4KC9va.js";async function M(e){let{id:t,newPassword:n,confirmNewPassword:r,...i}=e,o={...i};n&&n===r&&(o.password=n);let{data:s}=await a.patch(`/User/${t}`,o);return s}function N(){return l({mutationFn:e=>M(e)})}var P=r({id:i(),firstname:i({error:`Please enter your first name.`}).min(2,{error:`First name is required.`}).max(50,{error:`First name must be less than 50 characters.`}),lastname:i({error:`Please enter your last name.`}).min(2,{error:`Last name is required.`}).max(50,{error:`Last name must be less than 50 characters.`}),newPassword:i({error:`Please enter your new password.`}).min(8,{error:`Password must be 8 characters or more.`}).or(i().max(0)),confirmNewPassword:i().optional()}).superRefine((e,t)=>{e.newPassword!==e.confirmNewPassword&&t.addIssue({code:`custom`,path:[`confirmNewPassword`],message:e.confirmNewPassword?`Passwords do not match`:`Please confirm your new password.`})}),F=e(o(),1),I=s();function L(){let e=u(),r=c(),{user:i}=A(),a=m({resolver:f(P),mode:`onTouched`,defaultValues:{confirmNewPassword:``,firstname:i?.firstname||``,id:i?.id||``,lastname:i?.lastname||``,newPassword:``}}),{control:o,getFieldState:s,handleSubmit:l,reset:M,trigger:L,formState:{defaultValues:R,isDirty:z,isValid:B}}=a,{mutate:V,isPending:H}=N(),U=(0,F.useCallback)(async i=>{i&&V(i,{onSuccess:a=>{M({...R,...a}),t.updateUserForEntity(n,a),i.newPassword?(p.success(`Profile updated successfully!`,{description:`Please sign in with your new password.`}),C(),r({to:`/sign-in`}),e.invalidate()):p.success(`Profile updated successfully!`)}})},[R,r,M,e,V]);return(0,I.jsxs)(`div`,{className:`mx-auto mt-20 w-full max-w-6xl px-4 py-8 md:px-12 md:py-10`,children:[(0,I.jsxs)(`header`,{className:`mb-8 flex items-center gap-4`,children:[(0,I.jsx)(`div`,{className:`flex size-14 shrink-0 items-center justify-center rounded-2xl border border-primary/20 bg-primary/10 text-primary dark:text-violet-300`,children:(0,I.jsx)(w,{className:`size-6`,"aria-hidden":`true`})}),(0,I.jsxs)(`div`,{children:[(0,I.jsx)(`p`,{className:`mb-1 text-xs font-medium uppercase tracking-widest text-muted-foreground`,children:`Your account`}),(0,I.jsx)(`h1`,{className:`text-3xl font-semibold tracking-tight`,children:`Profile`}),(0,I.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:`Manage your personal details and account password.`})]})]}),(0,I.jsx)(x,{...a,children:(0,I.jsxs)(`form`,{id:`profile-edit-form`,name:`profile-edit-form`,onSubmit:l(U),onKeyDown:g(a),className:`space-y-6`,children:[(0,I.jsxs)(`div`,{className:`grid items-start gap-6 lg:grid-cols-2`,children:[(0,I.jsxs)(S,{className:`gap-0 overflow-hidden py-0`,children:[(0,I.jsxs)(j,{className:`border-b border-primary/10 bg-linear-to-br from-primary/5 to-primary/20 py-5 dark:from-primary/20 dark:to-primary/5`,children:[(0,I.jsxs)(`div`,{className:`flex items-center gap-2 text-primary dark:text-violet-300`,children:[(0,I.jsx)(w,{className:`size-4`,"aria-hidden":`true`}),(0,I.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:`Personal information`})]}),(0,I.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Your name and sign-in email.`})]}),(0,I.jsxs)(h,{className:`grid gap-5 py-6 sm:grid-cols-2`,children:[(0,I.jsx)(v,{control:o,name:`firstname`,render:({field:e})=>(0,I.jsxs)(D,{children:[(0,I.jsx)(k,{className:`pb-1`,children:`First Name`}),(0,I.jsx)(y,{children:(0,I.jsx)(_,{type:`text`,className:`bg-background/60`,autoCapitalize:`words`,...e})}),(0,I.jsx)(b,{})]})}),(0,I.jsx)(v,{control:o,name:`lastname`,render:({field:e})=>(0,I.jsxs)(D,{children:[(0,I.jsx)(k,{className:`pb-1`,children:`Last Name`}),(0,I.jsx)(y,{children:(0,I.jsx)(_,{type:`text`,className:`bg-background/60`,autoCapitalize:`words`,...e})}),(0,I.jsx)(b,{})]})}),(0,I.jsxs)(D,{className:`sm:col-span-2`,children:[(0,I.jsx)(k,{htmlFor:`profile-email`,className:`pb-1`,children:`Email`}),(0,I.jsx)(y,{children:(0,I.jsx)(_,{id:`profile-email`,type:`email`,enterKeyHint:`next`,autoComplete:`email`,autoCapitalize:`none`,value:i?.email||``,disabled:!0,readOnly:!0})})]}),(0,I.jsx)(`p`,{className:`text-xs leading-relaxed text-muted-foreground sm:col-span-2`,children:`Your email is used to sign in and can’t be changed here.`})]})]}),(0,I.jsxs)(S,{className:`gap-0 overflow-hidden py-0`,children:[(0,I.jsxs)(j,{className:`border-b border-primary/10 bg-linear-to-br from-primary/5 to-primary/20 py-5 dark:from-primary/20 dark:to-primary/5`,children:[(0,I.jsxs)(`div`,{className:`flex items-center gap-2 text-primary dark:text-violet-300`,children:[(0,I.jsx)(T,{className:`size-4`,"aria-hidden":`true`}),(0,I.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:`Password`})]}),(0,I.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Leave these fields empty to keep your current password.`})]}),(0,I.jsxs)(h,{className:`grid gap-5 py-6`,children:[(0,I.jsx)(v,{control:o,name:`newPassword`,render:({field:e})=>(0,I.jsxs)(D,{children:[(0,I.jsx)(k,{className:`pb-1`,children:`New Password`}),(0,I.jsx)(y,{children:(0,I.jsx)(_,{type:`password`,placeholder:`Optional`,className:`bg-background/60`,autoComplete:`new-password`,autoCapitalize:`none`,...e,onChange:t=>{e.onChange(t),s(`confirmNewPassword`).isTouched&&L(`confirmNewPassword`)}})}),(0,I.jsx)(E,{children:`Use at least 8 characters. Changing your password will sign you out.`}),(0,I.jsx)(b,{})]})}),(0,I.jsx)(v,{control:o,name:`confirmNewPassword`,render:({field:e})=>(0,I.jsxs)(D,{children:[(0,I.jsx)(k,{className:`pb-1`,children:`Confirm New Password`}),(0,I.jsx)(y,{children:(0,I.jsx)(_,{type:`password`,className:`bg-background/60`,autoComplete:`new-password`,autoCapitalize:`none`,...e})}),(0,I.jsx)(b,{})]})})]})]})]}),(0,I.jsxs)(`div`,{className:`flex flex-col gap-4 rounded-xl border border-border/60 bg-card/70 px-5 py-4 sm:flex-row sm:items-center sm:justify-between`,children:[(0,I.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:z?`You have unsaved changes.`:`Your profile is up to date.`}),(0,I.jsxs)(d,{type:`submit`,variant:`submit`,disabled:H||!z||!B,children:[(0,I.jsx)(O,{className:`size-4`,"aria-hidden":`true`}),` `,H?`Saving…`:`Save changes`]})]})]})})]})}export{L as ProfileIndex};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{_ as t,g as n,o as r,s as i,y as a}from"./vendor-core-6LhfJlRC.js";import{n as o}from"./cn-6T8VranJ.js";import{a as s}from"./vendor-datadog-ozKf-pts.js";import{r as c}from"./vendor-react-BOliS0BL.js";import{B as l,L as u,R as d,Y as f}from"./vendor-tanstack-Bntfka-M.js";import{t as p}from"./button-DWwfgGWI.js";import{$ as m,Rt as h,at as g}from"./vendor-ui-9EYYDgoN.js";import{n as _}from"./chevron-up-CFxbMGv2.js";import{$t as v,Dn as y,Fr as b,Gt as x,Hn as S,Hr as C,Ht as w,Kt as T,Lr as E,Mn as D,Nn as O,On as k,Pn as ee,Qt as te,Sn as ne,Un as re,Ut as A,Wn as j,Wt as M,Zt as ie,ai as N,bn as ae,cr as P,en as oe,gr as se,jn as F,kn as I,lr as ce,qt as L,rr as R,sr as z,tn as B,wn as V,xn as H,xr as U,yn as W}from"./index-BuqFjN5K.js";var G=e(s(),1),K=c();function q({options:e,selected:t,onChange:n,placeholder:r=`Select…`,emptyText:i=`No options`,ariaLabel:a,disabled:o,id:s,allowRepeats:c,maxVisibleOptions:l}){let[u,d]=(0,G.useState)(!1),[f,m]=(0,G.useState)(``),h=(0,G.useRef)(null),g=(0,G.useRef)(null),v=(0,G.useMemo)(()=>new Set(t),[t]),y=(0,G.useMemo)(()=>new Map(e.map(e=>[e.value,e.label])),[e]);(0,G.useEffect)(()=>{if(!u)return;let e=0,t=requestAnimationFrame(()=>{e=requestAnimationFrame(()=>h.current?.focus())});return()=>{cancelAnimationFrame(t),cancelAnimationFrame(e)}},[u]);let b=(0,G.useMemo)(()=>{let t=f.trim().toLowerCase();return t?e.filter(e=>e.label.toLowerCase().includes(t)||e.value.toLowerCase().includes(t)):e},[e,f]),x=l?b.slice(0,l):b,S=b.length-x.length,C=e=>{c?n([...t,e]):v.has(e)?n(t.filter(t=>t!==e)):n([...t,e])},w=e=>n(t.filter((t,n)=>n!==e)),T=e=>{let t=g.current?.querySelectorAll(`[role="menuitemcheckbox"]:not([data-disabled])`);t?.length&&(e===`first`?t[0]:t[t.length-1]).focus()};return(0,K.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,K.jsxs)(z,{open:u,onOpenChange:e=>{d(e),e||m(``)},children:[(0,K.jsx)(se,{asChild:!0,disabled:o,children:(0,K.jsxs)(p,{id:s,type:`button`,variant:`outline`,"aria-label":a,className:`w-full justify-between font-normal`,children:[(0,K.jsx)(`span`,{className:t.length?`truncate`:`truncate text-muted-foreground`,children:t.length?`${t.length} selected`:r}),(0,K.jsx)(_,{className:`size-4 shrink-0 opacity-60`})]})}),(0,K.jsxs)(ce,{ref:g,className:`w-(--radix-dropdown-menu-trigger-width) max-h-72 overflow-y-auto`,align:`start`,children:[(0,K.jsx)(`input`,{ref:h,value:f,onChange:e=>m(e.target.value),onKeyDown:e=>{if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault(),T(e.key===`ArrowDown`?`first`:`last`);return}e.key.length===1&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.stopPropagation()},placeholder:`Filter…`,"aria-label":`Filter options`,className:`mb-1 w-full rounded-md border bg-transparent px-2 py-1 text-sm outline-none`}),b.length===0?(0,K.jsx)(`div`,{className:`px-2 py-1.5 text-sm text-muted-foreground`,children:i}):x.map(e=>(0,K.jsx)(P,{checked:v.has(e.value),onCheckedChange:()=>C(e.value),onSelect:e=>e.preventDefault(),children:e.label},e.value)),S>0&&(0,K.jsxs)(`div`,{className:`px-2 py-1.5 text-xs text-muted-foreground`,children:[S,` more — keep typing to narrow`]})]})]}),t.length>0&&(0,K.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:t.map((e,t)=>{let n=y.get(e)??e;return(0,K.jsxs)(R,{variant:`secondary`,className:`gap-1`,children:[n,(0,K.jsx)(`button`,{type:`button`,"aria-label":`Remove ${n}`,onClick:()=>w(t),className:`ml-0.5 rounded-sm hover:text-destructive`,children:(0,K.jsx)(U,{className:`size-3`})})]},`${e}-${t}`)})})]})}async function le(e){let{data:t}=await o.post(`/Admin/Region/`,e);return t}function ue(){return u({mutationFn:le})}async function de({id:e,changes:t}){let{data:n}=await o.patch(`/Admin/Region/${e}`,t);return n}function fe(){return u({mutationFn:de})}async function pe(){let{data:e}=await o.get(`/Location/`);return e}var me=[`fabric-admin`,`locations`];function he(){return d({queryKey:me,queryFn:pe,retry:!1})}function J(e,t){return t?`${e} (${t})`:e}async function ge(){let e=[];for(let t=0;t<40;t++){let n=t*500,r=[`status=ne=DELETED`,`sort(name)`,`limit(${n},${n+500})`].join(`&`),{data:i}=await o.get(`/Admin/Organization/?${r}`),a=i;if(e.push(...a),a.length<500)return{organizations:e,truncated:!1}}return{organizations:e,truncated:!0}}var _e=[`fabric-admin`,`organizations`];function Y(){return d({queryKey:_e,queryFn:ge,retry:!1})}async function ve(){let{data:e}=await o.get(`/Admin/Region/`);return e}var X=[`fabric-admin`,`regions`];function Z(){return d({queryKey:X,queryFn:ve,retry:!1})}var ye=t({id:a().trim().min(1,`ID is required`).regex(/^[a-z0-9-]+$/,`Use lowercase letters, numbers, and hyphens only`),region:a().trim().min(1,`Region is required`),instanceCount:n({error:`Enter a whole number`}).int(`Must be a whole number`).min(1,`Must be at least 1`),purchasedBlockMultiplier:n({error:`Enter a whole number`}).int(`Must be a whole number`).min(1,`Must be at least 1`),latencyDescription:a().trim().min(1,`Latency description is required`),linodePreferredLocations:r(a()),gcpPreferredLocations:r(a()),forceLocations:i(),active:i(),organizationIds:r(a())}).superRefine((e,t)=>{e.forceLocations&&!e.linodePreferredLocations.length&&!e.gcpPreferredLocations.length&&t.addIssue({code:`custom`,path:[`forceLocations`],message:`Add at least one preferred location, or turn off Force locations`})}),be=100;function Q(e){return{id:e?.id??``,region:e?.region??``,instanceCount:e?.instanceCount??1,purchasedBlockMultiplier:e?.purchasedBlockMultiplier??1,latencyDescription:e?.latencyDescription??``,linodePreferredLocations:e?.linodePreferredLocations??[],gcpPreferredLocations:e?.gcpPreferredLocations??[],forceLocations:e?.forceLocations??!1,active:e?.active??!0,organizationIds:e?.organizationIds??[]}}function xe({open:e,onOpenChange:t,region:n}){let r=!!n,i=f(),{data:a=[]}=l({...he(),enabled:e}),{data:o}=l({...Y(),enabled:e}),s=o?.organizations??[],{data:c=[]}=l({...Z(),enabled:e}),{mutate:u,isPending:d}=ue(),{mutate:_,isPending:b}=fe(),x=d||b,w=(0,G.useMemo)(()=>a.filter(e=>e.cloudProvider===`linode`).map(e=>({value:e.location,label:`${e.locationName} (${e.location})`})),[a]),T=(0,G.useMemo)(()=>a.filter(e=>e.cloudProvider===`gcp`).map(e=>({value:e.location,label:`${e.locationName} (${e.location})`})),[a]),E=(0,G.useMemo)(()=>s.map(e=>({value:e.id,label:J(e.id,e.name)})),[s]),A=(0,G.useMemo)(()=>{let e=new Set;for(let t of a)for(let n of t.regions??[])e.add(n);return n?.region&&e.add(n.region),[...e].sort()},[a,n]),M=g({resolver:m(ye),defaultValues:Q(n)});(0,G.useEffect)(()=>{e&&M.reset(Q(n))},[e,n,M]);let N=e=>{let a=e=>e.trim().toLowerCase(),o=!n||a(n.latencyDescription)!==a(e.latencyDescription),s=c.filter(e=>e.id!==n?.id);if(o&&s.some(t=>a(t.latencyDescription)===a(e.latencyDescription))){M.setError(`latencyDescription`,{message:`A region with this latency description already exists`});return}let l=e.organizationIds.length>0?e.organizationIds:null,d=()=>{h.success(r?`Region updated`:`Region created`),i.invalidateQueries({queryKey:X}),t(!1)};if(n){let{id:t,...r}=e;_({id:n.id,changes:{...r,organizationIds:l}},{onSuccess:d})}else u({...e,organizationIds:l},{onSuccess:d})};return(0,K.jsx)(W,{open:e,onOpenChange:t,children:(0,K.jsxs)(ae,{className:`max-w-2xl`,children:[(0,K.jsx)(V,{children:r?`Edit region`:`Create region`}),(0,K.jsx)(H,{children:r?`Update this region. Its ID is fixed once created.`:`Define a new deployment region. Leave organizations empty to make it public (all organizations).`}),(0,K.jsx)(ee,{...M,children:(0,K.jsxs)(`form`,{className:`my-4 flex flex-col gap-4`,onSubmit:M.handleSubmit(N),children:[(0,K.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 sm:grid-cols-2 items-start`,children:[(0,K.jsx)(D,{control:M.control,name:`id`,render:({field:e})=>(0,K.jsxs)(F,{children:[(0,K.jsx)(I,{className:`pb-1`,children:`Region ID`}),(0,K.jsx)(O,{children:(0,K.jsx)(y,{placeholder:`e.g. us-east-1`,...e,disabled:r})}),(0,K.jsx)(k,{})]})}),(0,K.jsx)(D,{control:M.control,name:`region`,render:({field:e})=>(0,K.jsxs)(F,{children:[(0,K.jsx)(I,{className:`pb-1`,children:`Region`}),(0,K.jsx)(O,{children:(0,K.jsxs)(ie,{value:e.value,onValueChange:e.onChange,children:[(0,K.jsx)(oe,{className:`w-full`,children:(0,K.jsx)(B,{placeholder:`Select a region`})}),(0,K.jsx)(te,{children:A.map(e=>(0,K.jsx)(v,{value:e,children:e},e))})]})}),(0,K.jsx)(k,{})]})}),(0,K.jsx)(D,{control:M.control,name:`instanceCount`,render:({field:e})=>(0,K.jsxs)(F,{children:[(0,K.jsx)(I,{className:`pb-1`,children:`Instance count`}),(0,K.jsx)(O,{children:(0,K.jsx)(y,{type:`number`,min:1,step:1,name:e.name,ref:e.ref,onBlur:e.onBlur,value:Number.isFinite(e.value)?e.value:``,onChange:t=>e.onChange(t.target.valueAsNumber)})}),(0,K.jsx)(k,{})]})}),(0,K.jsx)(D,{control:M.control,name:`purchasedBlockMultiplier`,render:({field:e})=>(0,K.jsxs)(F,{children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-1.5 pb-1`,children:[(0,K.jsx)(I,{className:`!pb-0`,children:`Purchased block multiplier`}),(0,K.jsxs)(S,{children:[(0,K.jsx)(j,{asChild:!0,children:(0,K.jsx)(`button`,{type:`button`,"aria-label":`What is the purchased block multiplier?`,className:`text-muted-foreground hover:text-foreground`,children:(0,K.jsx)(C,{className:`size-3.5`})})}),(0,K.jsx)(re,{className:`max-w-xs`,children:`How many purchased blocks a cluster in this region is billed for. One block covers a baseline cluster: a 2-node cluster is 1 block and a 4-node cluster is 2 blocks. Each block carries one license against the selected plan's limits; once they're all used up, this many are issued and billed again.`})]})]}),(0,K.jsx)(O,{children:(0,K.jsx)(y,{type:`number`,min:1,step:1,name:e.name,ref:e.ref,onBlur:e.onBlur,value:Number.isFinite(e.value)?e.value:``,onChange:t=>e.onChange(t.target.valueAsNumber)})}),(0,K.jsx)(k,{})]})})]}),(0,K.jsx)(D,{control:M.control,name:`latencyDescription`,render:({field:e})=>(0,K.jsxs)(F,{children:[(0,K.jsx)(I,{className:`pb-1`,children:`Latency description`}),(0,K.jsx)(O,{children:(0,K.jsx)(y,{placeholder:`e.g. 280ms, medium distribution`,...e})}),(0,K.jsx)(k,{})]})}),(0,K.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 sm:grid-cols-2 items-start`,children:[(0,K.jsx)(D,{control:M.control,name:`linodePreferredLocations`,render:({field:e})=>(0,K.jsxs)(F,{children:[(0,K.jsx)(I,{className:`pb-1`,children:`Linode preferred locations`}),(0,K.jsx)(O,{children:(0,K.jsx)(q,{options:w,selected:e.value,onChange:e.onChange,placeholder:`Any Linode location`,emptyText:`No Linode locations`,ariaLabel:`Linode preferred locations`,allowRepeats:!0})}),(0,K.jsx)(k,{})]})}),(0,K.jsx)(D,{control:M.control,name:`gcpPreferredLocations`,render:({field:e})=>(0,K.jsxs)(F,{children:[(0,K.jsx)(I,{className:`pb-1`,children:`GCP preferred locations`}),(0,K.jsx)(O,{children:(0,K.jsx)(q,{options:T,selected:e.value,onChange:e.onChange,placeholder:`Any GCP location`,emptyText:`No GCP locations`,ariaLabel:`GCP preferred locations`,allowRepeats:!0})}),(0,K.jsx)(k,{})]})})]}),(0,K.jsx)(D,{control:M.control,name:`forceLocations`,render:({field:e})=>(0,K.jsxs)(F,{children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(O,{children:(0,K.jsx)(`input`,{type:`checkbox`,className:`size-4`,checked:e.value,onChange:t=>e.onChange(t.target.checked)})}),(0,K.jsx)(I,{className:`!pb-0`,children:`Force locations`})]}),(0,K.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Pin deployments to the preferred locations above instead of treating them as hints.`}),(0,K.jsx)(k,{})]})}),(0,K.jsx)(D,{control:M.control,name:`active`,render:({field:e})=>(0,K.jsxs)(F,{children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(O,{children:(0,K.jsx)(`input`,{type:`checkbox`,className:`size-4`,checked:e.value,onChange:t=>e.onChange(t.target.checked)})}),(0,K.jsx)(I,{className:`!pb-0`,children:`Active`})]}),(0,K.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Inactive regions stay available to existing deployments but aren't offered for new ones.`}),(0,K.jsx)(k,{})]})}),(0,K.jsx)(D,{control:M.control,name:`organizationIds`,render:({field:e})=>(0,K.jsxs)(F,{children:[(0,K.jsx)(I,{className:`pb-1`,children:`Organizations (customer scope)`}),(0,K.jsx)(O,{children:(0,K.jsx)(q,{options:E,selected:e.value,onChange:e.onChange,placeholder:`Public — all organizations`,emptyText:`No organizations`,ariaLabel:`Organizations`,maxVisibleOptions:be})}),o?.truncated&&(0,K.jsx)(`p`,{className:`text-xs text-destructive`,children:`Too many organizations to list them all — some may be missing from this picker.`}),(0,K.jsx)(k,{})]})}),(0,K.jsx)(ne,{children:(0,K.jsxs)(`div`,{className:`flex w-full justify-between`,children:[(0,K.jsx)(p,{variant:`destructiveOutline`,type:`button`,onClick:()=>t(!1),disabled:x,children:`Cancel`}),(0,K.jsx)(p,{variant:`submit`,disabled:x,children:x?`Saving…`:r?`Save changes`:`Create region`})]})})]})})]})})}function $({organizationIds:e,orgNameById:t}){return e==null||e.length===0?(0,K.jsx)(K.Fragment,{children:`Public`}):(0,K.jsx)(`div`,{className:`flex flex-col gap-0.5`,children:e.map(e=>(0,K.jsx)(`span`,{className:`break-words`,children:J(e,t.get(e))},e))})}function Se(){let{data:e,isLoading:t,isError:n}=l(Z()),{data:r}=l(Y()),[i,a]=(0,G.useState)(!1),[o,s]=(0,G.useState)(null),[c,u]=(0,G.useState)(``),d=N(`region:write`),f=(0,G.useMemo)(()=>new Map((r?.organizations??[]).map(e=>[e.id,e.name])),[r]),m=(0,G.useMemo)(()=>{let t=c.trim().toLowerCase();return!t||!e?e??[]:e.filter(e=>e.region.toLowerCase().includes(t)||e.id.toLowerCase().includes(t)||e.latencyDescription.toLowerCase().includes(t)||(e.organizationIds??[]).some(e=>e.toLowerCase().includes(t)||(f.get(e)??``).toLowerCase().includes(t)))},[e,c,f]),h=()=>{s(null),a(!0)},g=e=>{s(e),a(!0)};return(0,K.jsxs)(`div`,{className:`max-w-4xl`,children:[(0,K.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`h1`,{className:`text-2xl font-light`,children:`Regions`}),(0,K.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:`Deployment regions customers can provision into. A region scoped to organizations is only offered to those customers; otherwise it's available to everyone.`})]}),d&&(0,K.jsxs)(p,{variant:`submit`,onClick:h,className:`shrink-0`,children:[(0,K.jsx)(b,{}),`Create region`]})]}),(0,K.jsx)(`div`,{className:`mt-6`,children:t?(0,K.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Loading regions…`}):n?(0,K.jsx)(`p`,{className:`text-sm text-destructive`,children:`Couldn't load regions.`}):!e||e.length===0?(0,K.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No regions yet. Create one to get started.`}):(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(y,{value:c,onChange:e=>u(e.target.value),placeholder:`Filter by ID, region, description, or organization…`,"aria-label":`Filter regions`,className:`mb-4 max-w-md`}),m.length===0?(0,K.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`No regions match “`,c,`”.`]}):(0,K.jsxs)(w,{children:[(0,K.jsx)(T,{children:(0,K.jsxs)(L,{children:[(0,K.jsx)(x,{children:`ID`}),(0,K.jsx)(x,{children:`Region`}),(0,K.jsx)(x,{className:`text-right pr-6`,children:`Instances`}),(0,K.jsx)(x,{children:`Description`}),(0,K.jsx)(x,{children:`Scope`}),(0,K.jsx)(x,{className:`w-0`})]})}),(0,K.jsx)(A,{children:m.map(e=>(0,K.jsxs)(L,{className:e.active===!1?`opacity-60`:void 0,children:[(0,K.jsx)(M,{className:`font-mono font-medium`,children:(0,K.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[e.id,e.active===!1&&(0,K.jsx)(R,{variant:`secondary`,className:`text-[10px]`,children:`Inactive`})]})}),(0,K.jsx)(M,{children:e.region}),(0,K.jsx)(M,{className:`text-right pr-6`,children:e.instanceCount}),(0,K.jsx)(M,{className:`text-muted-foreground`,children:e.latencyDescription}),(0,K.jsx)(M,{children:(0,K.jsx)($,{organizationIds:e.organizationIds,orgNameById:f})}),(0,K.jsx)(M,{className:`text-right`,children:d&&(0,K.jsx)(p,{variant:`ghost`,size:`icon`,"aria-label":`Edit ${e.id}`,onClick:()=>g(e),children:(0,K.jsx)(E,{})})})]},e.id))})]})]})}),(0,K.jsx)(xe,{open:i,onOpenChange:a,region:o})]})}export{$ as RegionScope,Se as RegionsIndex};
|
|
1
|
+
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{_ as t,g as n,o as r,s as i,y as a}from"./vendor-core-6LhfJlRC.js";import{n as o}from"./cn-6T8VranJ.js";import{a as s}from"./vendor-datadog-ozKf-pts.js";import{r as c}from"./vendor-react-BOliS0BL.js";import{B as l,L as u,R as d,Y as f}from"./vendor-tanstack-Bntfka-M.js";import{t as p}from"./button-DWwfgGWI.js";import{$ as m,Rt as h,at as g}from"./vendor-ui-9EYYDgoN.js";import{n as _}from"./chevron-up-CFxbMGv2.js";import{$t as v,Dn as y,Fr as b,Gt as x,Hn as S,Hr as C,Ht as w,Kt as T,Lr as E,Mn as D,Nn as O,On as k,Pn as ee,Qt as te,Sn as ne,Un as re,Ut as A,Wn as j,Wt as M,Zt as ie,ai as N,bn as ae,cr as P,en as oe,gr as se,jn as F,kn as I,lr as ce,qt as L,rr as R,sr as z,tn as B,wn as V,xn as H,xr as U,yn as W}from"./index-FN4KC9va.js";var G=e(s(),1),K=c();function q({options:e,selected:t,onChange:n,placeholder:r=`Select…`,emptyText:i=`No options`,ariaLabel:a,disabled:o,id:s,allowRepeats:c,maxVisibleOptions:l}){let[u,d]=(0,G.useState)(!1),[f,m]=(0,G.useState)(``),h=(0,G.useRef)(null),g=(0,G.useRef)(null),v=(0,G.useMemo)(()=>new Set(t),[t]),y=(0,G.useMemo)(()=>new Map(e.map(e=>[e.value,e.label])),[e]);(0,G.useEffect)(()=>{if(!u)return;let e=0,t=requestAnimationFrame(()=>{e=requestAnimationFrame(()=>h.current?.focus())});return()=>{cancelAnimationFrame(t),cancelAnimationFrame(e)}},[u]);let b=(0,G.useMemo)(()=>{let t=f.trim().toLowerCase();return t?e.filter(e=>e.label.toLowerCase().includes(t)||e.value.toLowerCase().includes(t)):e},[e,f]),x=l?b.slice(0,l):b,S=b.length-x.length,C=e=>{c?n([...t,e]):v.has(e)?n(t.filter(t=>t!==e)):n([...t,e])},w=e=>n(t.filter((t,n)=>n!==e)),T=e=>{let t=g.current?.querySelectorAll(`[role="menuitemcheckbox"]:not([data-disabled])`);t?.length&&(e===`first`?t[0]:t[t.length-1]).focus()};return(0,K.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,K.jsxs)(z,{open:u,onOpenChange:e=>{d(e),e||m(``)},children:[(0,K.jsx)(se,{asChild:!0,disabled:o,children:(0,K.jsxs)(p,{id:s,type:`button`,variant:`outline`,"aria-label":a,className:`w-full justify-between font-normal`,children:[(0,K.jsx)(`span`,{className:t.length?`truncate`:`truncate text-muted-foreground`,children:t.length?`${t.length} selected`:r}),(0,K.jsx)(_,{className:`size-4 shrink-0 opacity-60`})]})}),(0,K.jsxs)(ce,{ref:g,className:`w-(--radix-dropdown-menu-trigger-width) max-h-72 overflow-y-auto`,align:`start`,children:[(0,K.jsx)(`input`,{ref:h,value:f,onChange:e=>m(e.target.value),onKeyDown:e=>{if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault(),T(e.key===`ArrowDown`?`first`:`last`);return}e.key.length===1&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.stopPropagation()},placeholder:`Filter…`,"aria-label":`Filter options`,className:`mb-1 w-full rounded-md border bg-transparent px-2 py-1 text-sm outline-none`}),b.length===0?(0,K.jsx)(`div`,{className:`px-2 py-1.5 text-sm text-muted-foreground`,children:i}):x.map(e=>(0,K.jsx)(P,{checked:v.has(e.value),onCheckedChange:()=>C(e.value),onSelect:e=>e.preventDefault(),children:e.label},e.value)),S>0&&(0,K.jsxs)(`div`,{className:`px-2 py-1.5 text-xs text-muted-foreground`,children:[S,` more — keep typing to narrow`]})]})]}),t.length>0&&(0,K.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:t.map((e,t)=>{let n=y.get(e)??e;return(0,K.jsxs)(R,{variant:`secondary`,className:`gap-1`,children:[n,(0,K.jsx)(`button`,{type:`button`,"aria-label":`Remove ${n}`,onClick:()=>w(t),className:`ml-0.5 rounded-sm hover:text-destructive`,children:(0,K.jsx)(U,{className:`size-3`})})]},`${e}-${t}`)})})]})}async function le(e){let{data:t}=await o.post(`/Admin/Region/`,e);return t}function ue(){return u({mutationFn:le})}async function de({id:e,changes:t}){let{data:n}=await o.patch(`/Admin/Region/${e}`,t);return n}function fe(){return u({mutationFn:de})}async function pe(){let{data:e}=await o.get(`/Location/`);return e}var me=[`fabric-admin`,`locations`];function he(){return d({queryKey:me,queryFn:pe,retry:!1})}function J(e,t){return t?`${e} (${t})`:e}async function ge(){let e=[];for(let t=0;t<40;t++){let n=t*500,r=[`status=ne=DELETED`,`sort(name)`,`limit(${n},${n+500})`].join(`&`),{data:i}=await o.get(`/Admin/Organization/?${r}`),a=i;if(e.push(...a),a.length<500)return{organizations:e,truncated:!1}}return{organizations:e,truncated:!0}}var _e=[`fabric-admin`,`organizations`];function Y(){return d({queryKey:_e,queryFn:ge,retry:!1})}async function ve(){let{data:e}=await o.get(`/Admin/Region/`);return e}var X=[`fabric-admin`,`regions`];function Z(){return d({queryKey:X,queryFn:ve,retry:!1})}var ye=t({id:a().trim().min(1,`ID is required`).regex(/^[a-z0-9-]+$/,`Use lowercase letters, numbers, and hyphens only`),region:a().trim().min(1,`Region is required`),instanceCount:n({error:`Enter a whole number`}).int(`Must be a whole number`).min(1,`Must be at least 1`),purchasedBlockMultiplier:n({error:`Enter a whole number`}).int(`Must be a whole number`).min(1,`Must be at least 1`),latencyDescription:a().trim().min(1,`Latency description is required`),linodePreferredLocations:r(a()),gcpPreferredLocations:r(a()),forceLocations:i(),active:i(),organizationIds:r(a())}).superRefine((e,t)=>{e.forceLocations&&!e.linodePreferredLocations.length&&!e.gcpPreferredLocations.length&&t.addIssue({code:`custom`,path:[`forceLocations`],message:`Add at least one preferred location, or turn off Force locations`})}),be=100;function Q(e){return{id:e?.id??``,region:e?.region??``,instanceCount:e?.instanceCount??1,purchasedBlockMultiplier:e?.purchasedBlockMultiplier??1,latencyDescription:e?.latencyDescription??``,linodePreferredLocations:e?.linodePreferredLocations??[],gcpPreferredLocations:e?.gcpPreferredLocations??[],forceLocations:e?.forceLocations??!1,active:e?.active??!0,organizationIds:e?.organizationIds??[]}}function xe({open:e,onOpenChange:t,region:n}){let r=!!n,i=f(),{data:a=[]}=l({...he(),enabled:e}),{data:o}=l({...Y(),enabled:e}),s=o?.organizations??[],{data:c=[]}=l({...Z(),enabled:e}),{mutate:u,isPending:d}=ue(),{mutate:_,isPending:b}=fe(),x=d||b,w=(0,G.useMemo)(()=>a.filter(e=>e.cloudProvider===`linode`).map(e=>({value:e.location,label:`${e.locationName} (${e.location})`})),[a]),T=(0,G.useMemo)(()=>a.filter(e=>e.cloudProvider===`gcp`).map(e=>({value:e.location,label:`${e.locationName} (${e.location})`})),[a]),E=(0,G.useMemo)(()=>s.map(e=>({value:e.id,label:J(e.id,e.name)})),[s]),A=(0,G.useMemo)(()=>{let e=new Set;for(let t of a)for(let n of t.regions??[])e.add(n);return n?.region&&e.add(n.region),[...e].sort()},[a,n]),M=g({resolver:m(ye),defaultValues:Q(n)});(0,G.useEffect)(()=>{e&&M.reset(Q(n))},[e,n,M]);let N=e=>{let a=e=>e.trim().toLowerCase(),o=!n||a(n.latencyDescription)!==a(e.latencyDescription),s=c.filter(e=>e.id!==n?.id);if(o&&s.some(t=>a(t.latencyDescription)===a(e.latencyDescription))){M.setError(`latencyDescription`,{message:`A region with this latency description already exists`});return}let l=e.organizationIds.length>0?e.organizationIds:null,d=()=>{h.success(r?`Region updated`:`Region created`),i.invalidateQueries({queryKey:X}),t(!1)};if(n){let{id:t,...r}=e;_({id:n.id,changes:{...r,organizationIds:l}},{onSuccess:d})}else u({...e,organizationIds:l},{onSuccess:d})};return(0,K.jsx)(W,{open:e,onOpenChange:t,children:(0,K.jsxs)(ae,{className:`max-w-2xl`,children:[(0,K.jsx)(V,{children:r?`Edit region`:`Create region`}),(0,K.jsx)(H,{children:r?`Update this region. Its ID is fixed once created.`:`Define a new deployment region. Leave organizations empty to make it public (all organizations).`}),(0,K.jsx)(ee,{...M,children:(0,K.jsxs)(`form`,{className:`my-4 flex flex-col gap-4`,onSubmit:M.handleSubmit(N),children:[(0,K.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 sm:grid-cols-2 items-start`,children:[(0,K.jsx)(D,{control:M.control,name:`id`,render:({field:e})=>(0,K.jsxs)(F,{children:[(0,K.jsx)(I,{className:`pb-1`,children:`Region ID`}),(0,K.jsx)(O,{children:(0,K.jsx)(y,{placeholder:`e.g. us-east-1`,...e,disabled:r})}),(0,K.jsx)(k,{})]})}),(0,K.jsx)(D,{control:M.control,name:`region`,render:({field:e})=>(0,K.jsxs)(F,{children:[(0,K.jsx)(I,{className:`pb-1`,children:`Region`}),(0,K.jsx)(O,{children:(0,K.jsxs)(ie,{value:e.value,onValueChange:e.onChange,children:[(0,K.jsx)(oe,{className:`w-full`,children:(0,K.jsx)(B,{placeholder:`Select a region`})}),(0,K.jsx)(te,{children:A.map(e=>(0,K.jsx)(v,{value:e,children:e},e))})]})}),(0,K.jsx)(k,{})]})}),(0,K.jsx)(D,{control:M.control,name:`instanceCount`,render:({field:e})=>(0,K.jsxs)(F,{children:[(0,K.jsx)(I,{className:`pb-1`,children:`Instance count`}),(0,K.jsx)(O,{children:(0,K.jsx)(y,{type:`number`,min:1,step:1,name:e.name,ref:e.ref,onBlur:e.onBlur,value:Number.isFinite(e.value)?e.value:``,onChange:t=>e.onChange(t.target.valueAsNumber)})}),(0,K.jsx)(k,{})]})}),(0,K.jsx)(D,{control:M.control,name:`purchasedBlockMultiplier`,render:({field:e})=>(0,K.jsxs)(F,{children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-1.5 pb-1`,children:[(0,K.jsx)(I,{className:`!pb-0`,children:`Purchased block multiplier`}),(0,K.jsxs)(S,{children:[(0,K.jsx)(j,{asChild:!0,children:(0,K.jsx)(`button`,{type:`button`,"aria-label":`What is the purchased block multiplier?`,className:`text-muted-foreground hover:text-foreground`,children:(0,K.jsx)(C,{className:`size-3.5`})})}),(0,K.jsx)(re,{className:`max-w-xs`,children:`How many purchased blocks a cluster in this region is billed for. One block covers a baseline cluster: a 2-node cluster is 1 block and a 4-node cluster is 2 blocks. Each block carries one license against the selected plan's limits; once they're all used up, this many are issued and billed again.`})]})]}),(0,K.jsx)(O,{children:(0,K.jsx)(y,{type:`number`,min:1,step:1,name:e.name,ref:e.ref,onBlur:e.onBlur,value:Number.isFinite(e.value)?e.value:``,onChange:t=>e.onChange(t.target.valueAsNumber)})}),(0,K.jsx)(k,{})]})})]}),(0,K.jsx)(D,{control:M.control,name:`latencyDescription`,render:({field:e})=>(0,K.jsxs)(F,{children:[(0,K.jsx)(I,{className:`pb-1`,children:`Latency description`}),(0,K.jsx)(O,{children:(0,K.jsx)(y,{placeholder:`e.g. 280ms, medium distribution`,...e})}),(0,K.jsx)(k,{})]})}),(0,K.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 sm:grid-cols-2 items-start`,children:[(0,K.jsx)(D,{control:M.control,name:`linodePreferredLocations`,render:({field:e})=>(0,K.jsxs)(F,{children:[(0,K.jsx)(I,{className:`pb-1`,children:`Linode preferred locations`}),(0,K.jsx)(O,{children:(0,K.jsx)(q,{options:w,selected:e.value,onChange:e.onChange,placeholder:`Any Linode location`,emptyText:`No Linode locations`,ariaLabel:`Linode preferred locations`,allowRepeats:!0})}),(0,K.jsx)(k,{})]})}),(0,K.jsx)(D,{control:M.control,name:`gcpPreferredLocations`,render:({field:e})=>(0,K.jsxs)(F,{children:[(0,K.jsx)(I,{className:`pb-1`,children:`GCP preferred locations`}),(0,K.jsx)(O,{children:(0,K.jsx)(q,{options:T,selected:e.value,onChange:e.onChange,placeholder:`Any GCP location`,emptyText:`No GCP locations`,ariaLabel:`GCP preferred locations`,allowRepeats:!0})}),(0,K.jsx)(k,{})]})})]}),(0,K.jsx)(D,{control:M.control,name:`forceLocations`,render:({field:e})=>(0,K.jsxs)(F,{children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(O,{children:(0,K.jsx)(`input`,{type:`checkbox`,className:`size-4`,checked:e.value,onChange:t=>e.onChange(t.target.checked)})}),(0,K.jsx)(I,{className:`!pb-0`,children:`Force locations`})]}),(0,K.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Pin deployments to the preferred locations above instead of treating them as hints.`}),(0,K.jsx)(k,{})]})}),(0,K.jsx)(D,{control:M.control,name:`active`,render:({field:e})=>(0,K.jsxs)(F,{children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(O,{children:(0,K.jsx)(`input`,{type:`checkbox`,className:`size-4`,checked:e.value,onChange:t=>e.onChange(t.target.checked)})}),(0,K.jsx)(I,{className:`!pb-0`,children:`Active`})]}),(0,K.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Inactive regions stay available to existing deployments but aren't offered for new ones.`}),(0,K.jsx)(k,{})]})}),(0,K.jsx)(D,{control:M.control,name:`organizationIds`,render:({field:e})=>(0,K.jsxs)(F,{children:[(0,K.jsx)(I,{className:`pb-1`,children:`Organizations (customer scope)`}),(0,K.jsx)(O,{children:(0,K.jsx)(q,{options:E,selected:e.value,onChange:e.onChange,placeholder:`Public — all organizations`,emptyText:`No organizations`,ariaLabel:`Organizations`,maxVisibleOptions:be})}),o?.truncated&&(0,K.jsx)(`p`,{className:`text-xs text-destructive`,children:`Too many organizations to list them all — some may be missing from this picker.`}),(0,K.jsx)(k,{})]})}),(0,K.jsx)(ne,{children:(0,K.jsxs)(`div`,{className:`flex w-full justify-between`,children:[(0,K.jsx)(p,{variant:`destructiveOutline`,type:`button`,onClick:()=>t(!1),disabled:x,children:`Cancel`}),(0,K.jsx)(p,{variant:`submit`,disabled:x,children:x?`Saving…`:r?`Save changes`:`Create region`})]})})]})})]})})}function $({organizationIds:e,orgNameById:t}){return e==null||e.length===0?(0,K.jsx)(K.Fragment,{children:`Public`}):(0,K.jsx)(`div`,{className:`flex flex-col gap-0.5`,children:e.map(e=>(0,K.jsx)(`span`,{className:`break-words`,children:J(e,t.get(e))},e))})}function Se(){let{data:e,isLoading:t,isError:n}=l(Z()),{data:r}=l(Y()),[i,a]=(0,G.useState)(!1),[o,s]=(0,G.useState)(null),[c,u]=(0,G.useState)(``),d=N(`region:write`),f=(0,G.useMemo)(()=>new Map((r?.organizations??[]).map(e=>[e.id,e.name])),[r]),m=(0,G.useMemo)(()=>{let t=c.trim().toLowerCase();return!t||!e?e??[]:e.filter(e=>e.region.toLowerCase().includes(t)||e.id.toLowerCase().includes(t)||e.latencyDescription.toLowerCase().includes(t)||(e.organizationIds??[]).some(e=>e.toLowerCase().includes(t)||(f.get(e)??``).toLowerCase().includes(t)))},[e,c,f]),h=()=>{s(null),a(!0)},g=e=>{s(e),a(!0)};return(0,K.jsxs)(`div`,{className:`max-w-4xl`,children:[(0,K.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`h1`,{className:`text-2xl font-light`,children:`Regions`}),(0,K.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:`Deployment regions customers can provision into. A region scoped to organizations is only offered to those customers; otherwise it's available to everyone.`})]}),d&&(0,K.jsxs)(p,{variant:`submit`,onClick:h,className:`shrink-0`,children:[(0,K.jsx)(b,{}),`Create region`]})]}),(0,K.jsx)(`div`,{className:`mt-6`,children:t?(0,K.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Loading regions…`}):n?(0,K.jsx)(`p`,{className:`text-sm text-destructive`,children:`Couldn't load regions.`}):!e||e.length===0?(0,K.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No regions yet. Create one to get started.`}):(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(y,{value:c,onChange:e=>u(e.target.value),placeholder:`Filter by ID, region, description, or organization…`,"aria-label":`Filter regions`,className:`mb-4 max-w-md`}),m.length===0?(0,K.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`No regions match “`,c,`”.`]}):(0,K.jsxs)(w,{children:[(0,K.jsx)(T,{children:(0,K.jsxs)(L,{children:[(0,K.jsx)(x,{children:`ID`}),(0,K.jsx)(x,{children:`Region`}),(0,K.jsx)(x,{className:`text-right pr-6`,children:`Instances`}),(0,K.jsx)(x,{children:`Description`}),(0,K.jsx)(x,{children:`Scope`}),(0,K.jsx)(x,{className:`w-0`})]})}),(0,K.jsx)(A,{children:m.map(e=>(0,K.jsxs)(L,{className:e.active===!1?`opacity-60`:void 0,children:[(0,K.jsx)(M,{className:`font-mono font-medium`,children:(0,K.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[e.id,e.active===!1&&(0,K.jsx)(R,{variant:`secondary`,className:`text-[10px]`,children:`Inactive`})]})}),(0,K.jsx)(M,{children:e.region}),(0,K.jsx)(M,{className:`text-right pr-6`,children:e.instanceCount}),(0,K.jsx)(M,{className:`text-muted-foreground`,children:e.latencyDescription}),(0,K.jsx)(M,{children:(0,K.jsx)($,{organizationIds:e.organizationIds,orgNameById:f})}),(0,K.jsx)(M,{className:`text-right`,children:d&&(0,K.jsx)(p,{variant:`ghost`,size:`icon`,"aria-label":`Edit ${e.id}`,onClick:()=>g(e),children:(0,K.jsx)(E,{})})})]},e.id))})]})]})}),(0,K.jsx)(xe,{open:i,onOpenChange:a,region:o})]})}export{$ as RegionScope,Se as RegionsIndex};
|