Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 14 additions & 8 deletions rhodium-standard-repositories/satellites/rsr-certifier/README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -267,21 +267,27 @@ comment_on_pr = true

=== LSP Methods

The server (`lsp/src/main.rs`) does not expose custom `rsr/*` requests.
It answers the standard `workspace/executeCommand` with the commands
below (returning `RsrComplianceResult { tier, tier_code, score, checks }`
for the compliance command), and publishes diagnostics on document
open/save.

[cols="2,4"]
|===
|Method |Description

|`rsr/getCompliance`
|Get current compliance status
|`workspace/executeCommand` — `rsr.checkCompliance`
|Run the compliance audit; returns the current `RsrComplianceResult`

|`rsr/runCheck`
|Run specific compliance check
|`workspace/executeCommand` — `rsr.generateBadge`
|Generate the certification badge

|`rsr/getTier`
|Get current certification tier
|`workspace/executeCommand` — `rsr.initConfig`
|Scaffold a `.rsr.toml`

|`rsr/suggestFixes`
|Get fix suggestions for failures
|`textDocument/publishDiagnostics`
|Compliance findings, pushed on document open and save
|===

== IDE Integration
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

"use strict";

const _wasmBase64 = "AGFzbQEAAAABdhVgBH9/f38Bf2ACf38Bf2ABfwF/YAN/f38Bf2AAAX9gBX9/f39/AX9gA39/fwF/YAR/f39/AX9gBX9/f39/AX9gAn9/AX9gAAF/YAABf2AAAX9gAAF/YAABf2ABfwF/YAF/AX9gAX8Bf2AAAX9gAX8Bf2AAAX8CxwkrFndhc2lfc25hcHNob3RfcHJldmlldzEIZmRfd3JpdGUAAAZWc2NvZGUPcmVnaXN0ZXJDb21tYW5kAAEGVnNjb2RlEGdldENvbmZpZ3VyYXRpb24AAgZWc2NvZGUWd29ya3NwYWNlQ29uZmlnR2V0Qm9vbAADBlZzY29kZRh3b3Jrc3BhY2VDb25maWdHZXRTdHJpbmcAAwZWc2NvZGUQc2hvd0Vycm9yTWVzc2FnZQACBlZzY29kZRJzaG93V2FybmluZ01lc3NhZ2UAAgZWc2NvZGUWc2hvd0luZm9ybWF0aW9uTWVzc2FnZQACBlZzY29kZQ5jcmVhdGVUZXJtaW5hbAACBlZzY29kZQx0ZXJtaW5hbFNob3cAAgZWc2NvZGUQdGVybWluYWxTZW5kVGV4dAABBlZzY29kZRBwdXNoU3Vic2NyaXB0aW9uAAEGVnNjb2RlCmNvbnNvbGVMb2cAAgZWc2NvZGUIZXhlY1N5bmMAAgZWc2NvZGUMc3RyaW5nQ29uY2F0AAEGVnNjb2RlDnN0cmluZ0VuZHNXaXRoAAEGVnNjb2RlE3N0cmluZ1JlcGxhY2VTdWZmaXgAAwZWc2NvZGUNc3RyaW5nSXNFbXB0eQACBlZzY29kZRh3b3Jrc3BhY2VGb2xkZXJGaXJzdFBhdGgABAZWc2NvZGULdXJpRnJvbVBhdGgAAgZWc2NvZGULdXJpSm9pblBhdGgAAQZWc2NvZGUHdXJpUGF0aAACBlZzY29kZQtmc1dyaXRlRmlsZQABBlZzY29kZRBvcGVuVGV4dERvY3VtZW50AAIGVnNjb2RlEHNob3dUZXh0RG9jdW1lbnQAAgZWc2NvZGUTY3JlYXRlU3RhdHVzQmFySXRlbQABBlZzY29kZRRzdGF0dXNCYXJJdGVtU2V0VGV4dAABBlZzY29kZRdzdGF0dXNCYXJJdGVtU2V0VG9vbHRpcAABBlZzY29kZRdzdGF0dXNCYXJJdGVtU2V0Q29tbWFuZAABBlZzY29kZSRzdGF0dXNCYXJJdGVtU2V0QmFja2dyb3VuZENvbG9yVGhlbWUAAQZWc2NvZGURc3RhdHVzQmFySXRlbVNob3cAAgZWc2NvZGUZc3RhdHVzQmFySXRlbUFzRGlzcG9zYWJsZQACBlZzY29kZRpjcmVhdGVEaWFnbm9zdGljQ29sbGVjdGlvbgACBlZzY29kZSBkaWFnbm9zdGljQ29sbGVjdGlvbkFzRGlzcG9zYWJsZQACBlZzY29kZRJjcmVhdGVXZWJ2aWV3UGFuZWwAAwZWc2NvZGUTd2Vidmlld1BhbmVsU2V0SHRtbAABBlZzY29kZRJjbGlwYm9hcmRXcml0ZVRleHQAAgZWc2NvZGUVb25EaWRTYXZlVGV4dERvY3VtZW50AAIGVnNjb2RlCHBhdGhKb2luAAEGVnNjb2RlD3Byb2Nlc3NQbGF0Zm9ybQAEBlZzY29kZRVleHRlbnNpb25BYnNvbHV0ZVBhdGgAARRWc2NvZGVMYW5ndWFnZUNsaWVudBFuZXdMYW5ndWFnZUNsaWVudAAFFFZzY29kZUxhbmd1YWdlQ2xpZW50E2xhbmd1YWdlQ2xpZW50U3RhcnQAAgMQDwYHCAkKCwwNDg8QERITFAQBAAUDAQABBgEAB5QBCAZtZW1vcnkCABhoYW5kbGVyX2NoZWNrX2NvbXBsaWFuY2UALxNoYW5kbGVyX2luaXRfY29uZmlnADATaGFuZGxlcl9zaG93X3JlcG9ydAAyFmhhbmRsZXJfZ2VuZXJhdGVfYmFkZ2UAMw9oYW5kbGVyX29uX3NhdmUANwhhY3RpdmF0ZQA4CmRlYWN0aXZhdGUAOQkBAArvBg8QACAAIAEQDiACEA4PGkEACxQAIAAgARAOIAIQDiADEA4PGkEACxgAIAAgARAOIAIQDiADEA4gBBAODxpBAAscAQF/IAAQCCECIAIQCRogAiABEAoaQQAPGkEACzkBAn8QEiEAIAAQEUEBRgR/QYAQEAUaQQEPGkEABUEACxpBnBAgAEGrEBArIQFBsBAgARAuDxpBAAuxAQEPfxASIQAgABARQQFGBH9BgBAQBRpBAQ8aQQAFQQALGkG9EBACIQEgAUHEEEHSEBAEIQJB3BAhA0HIESEEQegRIQVBgxIhBkGzEyEHQb4UIQggBCACIAUQKyEJIAMgCSAGIAcgCBAtIQogABATIQsgC0H2FBAUIQwgDCAKEBYhDSANQQBHBH9BgxUQBRogDQ8aQQAFQQALGiAMEBchDiAOEBgaQaAVEAcaQQAPGkEACxgBAn9ByBUhAEHmGCEBIAAgARAODxpBAAsdAQF/QYIcQY8cQQEQIiEAIAAQMRAjGkEADxpBAAs4AQJ/EBIhACAAEBFBAUYEf0GAEBAFGkEBDxpBAAVBAAsaQagcIQEgARAkGkGJHRAHGkEADxpBAAttAQd/Qb0QEAIhASABQbAdQb4dEAQhAiACEBFBAEYEfyACDxpBAAVBAAsaECchA0HCHSEEQc0dIQVB3B0gBBAmIQZB3B0gBRAmIQcgA0HmHRAPQQFGBH8gACAHECgPGkEABSAAIAYQKA8aQQALC1IBBH8gABA0IQFB7x0gAUGrEBAOEA4hAiACEA0hAyADQQBHBH9B+h0QBhpBAQ8aQQAFQQALGkG1HkHFHiABQb4dQQAQKSEEIAQQKhpBAA8aQQALYQECf0G9EBACIQEgAUHmHkEBEANBAEYEf0EADxpBAAVBAAsaQQFB5AAQGSECIAJB+x4QGhogAkGSHxAbGiACQd8fEBwaIAJBvh0QHRogAhAeGiAAIAIQHxALGkEADxpBAAsIAEEADxpBAAt/AQJ/QfEfEAwaIAAQNhogAEGdIEEAEAEQCxogAEG0IEEBEAEQCxogAEHfH0ECEAEQCxogAEHGIEEDEAEQCxpBvRAQICEBIAAgARAhEAsaIAAQNRpBvRAQAiECIAJB2yBBARADQQBHBH8gAEEEECUQCxpBAAVBAAsaQQAPGkEACwgAQQAPGkEACwvlEikAQYAQCxwYAAAATm8gd29ya3NwYWNlIGZvbGRlciBvcGVuAEGcEAsPCwAAAHJzciBjaGVjayAiAEGrEAsFAQAAACIAQbAQCw0JAAAAUlNSIENoZWNrAEG9EAsHAwAAAHJzcgBBxBALDgoAAAB0YXJnZXRUaWVyAEHSEAsKBgAAAHNpbHZlcgBB3BALbGgAAAAjIFJTUiAoUmhvZGl1bSBTdGFuZGFyZCBSZXBvc2l0b3J5KSBDb25maWd1cmF0aW9uCiMgaHR0cHM6Ly9naXRodWIuY29tL0h5cGVycG9seW1hdGgvZ2l0LXJzci1jZXJ0aWZpZWQKCgBByBELIBwAAABbY29tcGxpYW5jZV0KdGFyZ2V0X3RpZXIgPSAiAEHoEQsbFwAAACIKc3RyaWN0X21vZGUgPSBmYWxzZQoKAEGDEguwAawAAABbY2hlY2tzXQojIExpY2Vuc2UgY29uZmlndXJhdGlvbgpsaWNlbnNlLnJlcXVpcmVkID0gdHJ1ZQpsaWNlbnNlLmFsbG93ZWQgPSBbIk1JVCIsICJBcGFjaGUtMi4wIiwgIkdQTC0zLjAiLCAiQlNELTMtQ2xhdXNlIl0KCiMgUkVBRE1FIHJlcXVpcmVtZW50cwpyZWFkbWUubWluX2xlbmd0aCA9IDEwMAoKAEGzEwuLAYcAAABbaWdub3JlXQojIFBhdGhzIHRvIGV4Y2x1ZGUgZnJvbSBjb21wbGlhbmNlIHNjYW5uaW5nCnBhdGhzID0gWwogICAgInZlbmRvci8iLAogICAgInRoaXJkX3BhcnR5LyIsCiAgICAibm9kZV9tb2R1bGVzLyIsCiAgICAiLmdpdC8iLApdCgoAQb4UCzg0AAAAW2JhZGdlc10Kc3R5bGUgPSAiZmxhdC1zcXVhcmUiCmluY2x1ZGVfc2NvcmUgPSB0cnVlCgBB9hQLDQkAAAAucnNyLnRvbWwAQYMVCx0ZAAAARmFpbGVkIHRvIHdyaXRlIC5yc3IudG9tbABBoBULKCQAAABSU1IgY29uZmlndXJhdGlvbiBjcmVhdGVkOiAucnNyLnRvbWwAQcgVC54DmgEAADwhRE9DVFlQRSBodG1sPjxodG1sPjxoZWFkPjxzdHlsZT5ib2R5e2ZvbnQtZmFtaWx5OnZhcigtLXZzY29kZS1mb250LWZhbWlseSk7cGFkZGluZzoyMHB4fWgxe2NvbG9yOnZhcigtLXZzY29kZS1mb3JlZ3JvdW5kKX0udGllcntmb250LXNpemU6MjRweDttYXJnaW46MjBweCAwfS50aWVyLnNpbHZlcntjb2xvcjojQzBDMEMwfS5zY29yZXtmb250LXNpemU6MThweDtjb2xvcjp2YXIoLS12c2NvZGUtZGVzY3JpcHRpb25Gb3JlZ3JvdW5kKX0uY2hlY2tze21hcmdpbi10b3A6MjBweH0uY2hlY2t7cGFkZGluZzoxMHB4O21hcmdpbjo1cHggMDtib3JkZXItcmFkaXVzOjRweH0uY2hlY2sucGxhY2Vob2xkZXJ7YmFja2dyb3VuZDp2YXIoLS12c2NvZGUtdGV4dEJsb2NrUXVvdGUtYmFja2dyb3VuZCl9PC9zdHlsZT48L2hlYWQ+AEHmGAucA5gBAAA8Ym9keT48aDE+UlNSIENvbXBsaWFuY2UgUmVwb3J0PC9oMT48ZGl2IGNsYXNzPSJ0aWVyIHNpbHZlciI+4piGIFNJTFZFUjwvZGl2PjxkaXYgY2xhc3M9InNjb3JlIj5SdW4gPGNvZGU+UlNSOiBDaGVjayBDb21wbGlhbmNlPC9jb2RlPiBpbiBhIHRlcm1pbmFsIGZvciBsaXZlIHJlc3VsdHMuPC9kaXY+PGRpdiBjbGFzcz0iY2hlY2tzIj48aDI+Q2hlY2tzPC9oMj48ZGl2IGNsYXNzPSJjaGVjayBwbGFjZWhvbGRlciI+TGl2ZSBpbi1wYW5lbCByZXN1bHRzIHJlcXVpcmUgYW4gYXN5bmMtZXh0ZXJuIEFCSSAoc2VlIGFmZmluZXNjcmlwdCM2NCkuIFRoZSBDTEkgcGF0aCB2aWEgPGNvZGU+cnNyIGNoZWNrPC9jb2RlPiByZXBvcnRzIGZ1bGwgY29tcGxpYW5jZSBzdGF0dXMuPC9kaXY+PC9kaXY+PC9ib2R5PjwvaHRtbD4AQYIcCw0JAAAAcnNyUmVwb3J0AEGPHAsZFQAAAFJTUiBDb21wbGlhbmNlIFJlcG9ydABBqBwLYV0AAABbIVtSU1IgQ2VydGlmaWNhdGlvbl0oaHR0cHM6Ly9yc3ItY2VydGlmaWVkLmRldi9iYWRnZS9zaWx2ZXIuc3ZnKV0oaHR0cHM6Ly9yc3ItY2VydGlmaWVkLmRldikAQYkdCycjAAAAQmFkZ2UgbWFya2Rvd24gY29waWVkIHRvIGNsaXBib2FyZCEAQbAdCw4KAAAAc2VydmVyUGF0aABBvh0LBAAAAAAAQcIdCwsHAAAAcnNyLWxzcABBzR0LDwsAAAByc3ItbHNwLmV4ZQBB3B0LCgYAAABzZXJ2ZXIAQeYdCwkFAAAAd2luMzIAQe8dCwsHAAAAd2hpY2ggIgBB+h0LOzcAAABSU1IgTFNQIHNlcnZlciBub3QgZm91bmQuIFNvbWUgZmVhdHVyZXMgbWF5IGJlIGxpbWl0ZWQuAEG1HgsQDAAAAHJzckNlcnRpZmllZABBxR4LIR0AAABSU1ItQ2VydGlmaWVkIExhbmd1YWdlIFNlcnZlcgBB5h4LFREAAABzaG93U3RhdHVzQmFySXRlbQBB+x4LFxMAAADimIYgUlNSOiBTSUxWRVIgNzUlAEGSHwtNSQAAAFJTUiBDb21wbGlhbmNlOiBzaWx2ZXIgdGllciAoNzUlIHNjb3JlLCBwbGFjZWhvbGRlcikKQ2xpY2sgdG8gdmlldyByZXBvcnQAQd8fCxIOAAAAcnNyLnNob3dSZXBvcnQAQfEfCywoAAAAUlNSLUNlcnRpZmllZCBleHRlbnNpb24gaXMgYWN0aXZhdGluZy4uLgBBnSALFxMAAAByc3IuY2hlY2tDb21wbGlhbmNlAEG0IAsSDgAAAHJzci5pbml0Q29uZmlnAEHGIAsVEQAAAHJzci5nZW5lcmF0ZUJhZGdlAEHbIAsPCwAAAGNoZWNrT25TYXZlAIcBFmFmZmluZXNjcmlwdC5vd25lcnNoaXAPAAAAKwAAAAMAAAAALAAAAAQAAAAAAC0AAAAFAAAAAAAALgAAAAIAAAAvAAAAAAAwAAAAAAAxAAAAAAAyAAAAAAAzAAAAAAA0AAAAAQAANQAAAAEAADYAAAABAAA3AAAAAAA4AAAAAQAAOQAAAAAA";
const _wasmBase64 = "AGFzbQEAAAAB3wEmYAR/f39/AX9gAn9/AX9gAX8Bf2ADf39/AX9gAAF/YAV/f39/fwF/YAN/f38Bf2AFf39/f38Bf2ACf38Bf2ABfwF/YAF/AX9gAX8Bf2ADf39/AX9gAn9/AX9gAX8Bf2ADf39/AX9gA39/fwF/YAJ/fwF/YAABf2ABfwF/YAF/AX9gBH9/f38Bf2ACf38Bf2ACf38Bf2ACf38Bf2ABfwF/YAJ/fwF/YAABf2AAAX9gAX8Bf2ABfwF/YAF/AX9gAn9/AX9gAn9/AX9gAn9/AX9gAn9/AX9gAn9/AX9gAAF/AvEJLRZ3YXNpX3NuYXBzaG90X3ByZXZpZXcxCGZkX3dyaXRlAAAGVnNjb2RlD3JlZ2lzdGVyQ29tbWFuZAABBlZzY29kZRBnZXRDb25maWd1cmF0aW9uAAIGVnNjb2RlFndvcmtzcGFjZUNvbmZpZ0dldEJvb2wAAwZWc2NvZGUYd29ya3NwYWNlQ29uZmlnR2V0U3RyaW5nAAMGVnNjb2RlEHNob3dFcnJvck1lc3NhZ2UAAgZWc2NvZGUWc2hvd0luZm9ybWF0aW9uTWVzc2FnZQACBlZzY29kZQ5jcmVhdGVUZXJtaW5hbAACBlZzY29kZQx0ZXJtaW5hbFNob3cAAgZWc2NvZGUQdGVybWluYWxTZW5kVGV4dAABBlZzY29kZRBwdXNoU3Vic2NyaXB0aW9uAAEGVnNjb2RlCmNvbnNvbGVMb2cAAgZWc2NvZGUIZXhlY1N5bmMAAgZWc2NvZGUMc3RyaW5nQ29uY2F0AAEGVnNjb2RlDnN0cmluZ0VuZHNXaXRoAAEGVnNjb2RlDXN0cmluZ0lzRW1wdHkAAgZWc2NvZGUYd29ya3NwYWNlRm9sZGVyRmlyc3RQYXRoAAQGVnNjb2RlC3VyaUZyb21QYXRoAAIGVnNjb2RlC3VyaUpvaW5QYXRoAAEGVnNjb2RlC2ZzV3JpdGVGaWxlAAEGVnNjb2RlEG9wZW5UZXh0RG9jdW1lbnQAAgZWc2NvZGUQc2hvd1RleHREb2N1bWVudAACBlZzY29kZRNjcmVhdGVTdGF0dXNCYXJJdGVtAAEGVnNjb2RlFHN0YXR1c0Jhckl0ZW1TZXRUZXh0AAEGVnNjb2RlF3N0YXR1c0Jhckl0ZW1TZXRUb29sdGlwAAEGVnNjb2RlF3N0YXR1c0Jhckl0ZW1TZXRDb21tYW5kAAEGVnNjb2RlEXN0YXR1c0Jhckl0ZW1TaG93AAIGVnNjb2RlGXN0YXR1c0Jhckl0ZW1Bc0Rpc3Bvc2FibGUAAgZWc2NvZGUaY3JlYXRlRGlhZ25vc3RpY0NvbGxlY3Rpb24AAgZWc2NvZGUgZGlhZ25vc3RpY0NvbGxlY3Rpb25Bc0Rpc3Bvc2FibGUAAgZWc2NvZGUSY3JlYXRlV2Vidmlld1BhbmVsAAMGVnNjb2RlE3dlYnZpZXdQYW5lbFNldEh0bWwAAQZWc2NvZGUSY2xpcGJvYXJkV3JpdGVUZXh0AAIGVnNjb2RlFW9uRGlkU2F2ZVRleHREb2N1bWVudAACBlZzY29kZQhwYXRoSm9pbgABBlZzY29kZQxwYXRoQmFzZW5hbWUAAgZWc2NvZGUPcHJvY2Vzc1BsYXRmb3JtAAQGVnNjb2RlFWV4dGVuc2lvbkFic29sdXRlUGF0aAABBlZzY29kZQxodHRwUG9zdEpzb24AAQZWc2NvZGUMdGhlbmFibGVUaGVuAAEGVnNjb2RlEnRoZW5hYmxlUmVzdWx0SnNvbgACBlZzY29kZQlqc29uRmllbGQAARRWc2NvZGVMYW5ndWFnZUNsaWVudBFuZXdMYW5ndWFnZUNsaWVudAAFFFZzY29kZUxhbmd1YWdlQ2xpZW50E2xhbmd1YWdlQ2xpZW50U3RhcnQAAhRWc2NvZGVMYW5ndWFnZUNsaWVudBlsYW5ndWFnZUNsaWVudFNlbmRSZXF1ZXN0AAMDISAGBwgJCgsMDQ4PEBITFBUWGBkbHB0eHyURFxogISIjJAQFAXABCAgFAwEAAQYHAX8BQYAICwciAwZtZW1vcnkCAAhhY3RpdmF0ZQBDCmRlYWN0aXZhdGUARAkOAQBBAAsIRUZHSElKS0wKwA8gEAAgACABEA0gAhANDxpBAAsYACAAIAEQDSACEA0gAxANIAQQDQ8aQQALHAEBfyAAEAchAiACEAgaIAIgARAJGkEADxpBAAtOACAAEA9BAUYEf0EBDxpBAAVBAAsaIABBgBAQKRAPQQBGBH9BAQ8aQQAFQQALGiAAQYsQECkQD0EARgR/QQEPGkEABUEACxpBAA8aQQALRQECfyAAQZQQECkhASABEA9BAEYEfyABDxpBAAVBAAsaIABB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Cw8LAAAAcnNyIGNoZWNrICIAQYIWCwUBAAAAIgBBhxYLDQkAAABSU1IgQ2hlY2sAQZQWCwsHAAAAcnNyIExTUABBnxYLNDAAAAB7ImNvbW1hbmQiOiJyc3IuY2hlY2tDb21wbGlhbmNlIiwiYXJndW1lbnRzIjpbXX0AQdMWCxwYAAAAd29ya3NwYWNlL2V4ZWN1dGVDb21tYW5kAEHvFgsHAwAAAHJzcgBB9hYLDwsAAABib2pFbmRwb2ludABBhRcLOTUAAABodHRwOi8vMTI3LjAuMC4xOjc3MDAvY2FydHJpZGdlL3JlcG9zeXN0ZW0tbWNwL2ludm9rZQBBvhcLDAgAAAByZXBvTmFtZQBByhcLPTkAAAB7InRvb2wiOiJyZXBvc3lzdGVtX3J1bl9hdWRpdCIsImFyZ3VtZW50cyI6eyJyZXBvX25hbWUiOiIAQYcYCwcDAAAAIn19AEGOGAsWEgAAAEJvSiByZXBvc3lzdGVtLW1jcABBpBgLHBgAAABObyB3b3Jrc3BhY2UgZm9sZGVyIG9wZW4AQcAYCxcTAAAAJChzeW5jfnNwaW4pIFJTUuKApgBB1xgLDQkAAAByc3JSZXBvcnQAQeQYCxkVAAAAUlNSIENvbXBsaWFuY2UgUmVwb3J0AEH9GAsOCgAAAHRhcmdldFRpZXIAQYsZCwoGAAAAc2lsdmVyAEGVGQtsaAAAACMgUlNSIChSaG9kaXVtIFN0YW5kYXJkIFJlcG9zaXRvcnkpIENvbmZpZ3VyYXRpb24KIyBodHRwczovL2dpdGh1Yi5jb20vSHlwZXJwb2x5bWF0aC9naXQtcnNyLWNlcnRpZmllZAoKAEGBGgsgHAAAAFtjb21wbGlhbmNlXQp0YXJnZXRfdGllciA9ICIAQaEaCxsXAAAAIgpzdHJpY3RfbW9kZSA9IGZhbHNlCgoAQbwaC7ABrAAAAFtjaGVja3NdCiMgTGljZW5zZSBjb25maWd1cmF0aW9uCmxpY2Vuc2UucmVxdWlyZWQgPSB0cnVlCmxpY2Vuc2UuYWxsb3dlZCA9IFsiTUlUIiwgIkFwYWNoZS0yLjAiLCAiR1BMLTMuMCIsICJCU0QtMy1DbGF1c2UiXQoKIyBSRUFETUUgcmVxdWlyZW1lbnRzCnJlYWRtZS5taW5fbGVuZ3RoID0gMTAwCgoAQewbC4sBhwAAAFtpZ25vcmVdCiMgUGF0aHMgdG8gZXhjbHVkZSBmcm9tIGNvbXBsaWFuY2Ugc2Nhbm5pbmcKcGF0aHMgPSBbCiAgICAidmVuZG9yLyIsCiAgICAidGhpcmRfcGFydHkvIiwKICAgICJub2RlX21vZHVsZXMvIiwKICAgICIuZ2l0LyIsCl0KCgBB9xwLODQAAABbYmFkZ2VzXQpzdHlsZSA9ICJmbGF0LXNxdWFyZSIKaW5jbHVkZV9zY29yZSA9IHRydWUKAEGvHQsNCQAAAC5yc3IudG9tbABBvB0LHRkAAABGYWlsZWQgdG8gd3JpdGUgLnJzci50b21sAEHZHQsoJAAAAFJTUiBjb25maWd1cmF0aW9uIGNyZWF0ZWQ6IC5yc3IudG9tbABBgR4LVlIAAABbIVtSU1IgQ2VydGlmaWVkXShodHRwczovL3Jzci1jZXJ0aWZpZWQuZGV2L2JhZGdlLnN2ZyldKGh0dHBzOi8vcnNyLWNlcnRpZmllZC5kZXYpAEHXHgtOSgAAAFJTUiBiYWRnZSBjb3BpZWQuIFJ1biAiUlNSOiBDaGVjayBDb21wbGlhbmNlIiBmb3IgdGhlIHRpZXItc3BlY2lmaWMgYmFkZ2UuAEGlHwsOCgAAAHNlcnZlclBhdGgAQbMfCwoGAAAAc2VydmVyAEG9HwsLBwAAAHJzci1sc3AAQcgfCw8LAAAAcnNyLWxzcC5leGUAQdcfCwkFAAAAd2luMzIAQeAfCzk1AAAAUlNSLUNlcnRpZmllZCBleHRlbnNpb24gYWN0aXZhdGluZyAoQm9KLWZpcnN0IDMtdGllcikAQZkgCxMPAAAAJCh2ZXJpZmllZCkgUlNSAEGsIAsiHgAAAFJTUiBjb21wbGlhbmNlIOKAlCBydW4gYSBjaGVjawBBziALEg4AAAByc3Iuc2hvd1JlcG9ydABB4CALFREAAABzaG93U3RhdHVzQmFySXRlbQBB9SALCwcAAAB3aGljaCAiAEGAIQsQDAAAAHJzckNlcnRpZmllZABBkCELIR0AAABSU1ItQ2VydGlmaWVkIExhbmd1YWdlIFNlcnZlcgBBsSELFxMAAAByc3IuY2hlY2tDb21wbGlhbmNlAEHIIQsSDgAAAHJzci5pbml0Q29uZmlnAEHaIQsVEQAAAHJzci5nZW5lcmF0ZUJhZGdlAEHvIQsPCwAAAGNoZWNrT25TYXZlANIBFmFmZmluZXNjcmlwdC5vd25lcnNoaXAYAAAALQAAAAMAAAAALgAAAAUAAAAAAAAvAAAAAgAAADAAAAABAAAxAAAAAQAAMgAAAAEAADMAAAADAAAAADQAAAACAAAANQAAAAEAADYAAAADAAAAADcAAAADAAAAADgAAAAAADkAAAABAAA6AAAAAQAAOwAAAAQAAAAAADwAAAACAAAAPQAAAAIAAAA+AAAAAQAAPwAAAAAAQAAAAAAAQQAAAAEAAEIAAAABAABDAAAAAQAARAAAAAAA";
const _wasmBytes = Buffer.from(_wasmBase64, "base64");

// Per-process opaque-handle table for host objects (ExtensionContext,
Expand Down Expand Up @@ -51,10 +51,10 @@ function _buildImports() {
return 0;
},
};
// Phase 2 hook: callers can replace exports.extraImports with a function
// returning a `{ ModuleName: { exportName: fn, ... } }` map of concrete
// host bindings (e.g. the @hyperpolymath/affine-vscode adapter). Default
// is empty so the shim works standalone.
// Phase 2 hook: a caller may install an `extraImports` factory on the
// exports object returning a `{ ModuleName: { exportName: fn, ... } }`
// map of concrete host bindings (this is what the --vscode-extension
// wiring installs). Default is empty so the shim works standalone.
const extras = (typeof exports.extraImports === "function")
? exports.extraImports()
: {};
Expand Down
Loading
Loading