From ed9a177304c854a4218133d2b980708202255543 Mon Sep 17 00:00:00 2001 From: sukuwc Date: Sun, 30 Nov 2025 17:32:55 +0100 Subject: [PATCH 01/11] Add profile loading system with dropdown selector MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - New profile loading system that supports multiple profile types per module - Profiles stored as JSON files in src/content/ with naming convention: {module}-{type}.json - Dropdown in ActiveChanges panel to select profile type (e.g., "getting-started", "advanced") - Loads selected profile type to all connected modules automatically - Displays progress and completion status for each module - Grouped console output showing which modules have which profile types available 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- src/content/bu16-getting-started.json | 312 ++++++++++++++++++ src/content/vsn1l-getting-started.json | 278 ++++++++++++++++ .../main/user-interface/ActiveChanges.svelte | 39 ++- .../runtime/getting-started-profile.ts | 193 +++++++++++ 4 files changed, 821 insertions(+), 1 deletion(-) create mode 100644 src/content/bu16-getting-started.json create mode 100644 src/content/vsn1l-getting-started.json create mode 100644 src/renderer/runtime/getting-started-profile.ts diff --git a/src/content/bu16-getting-started.json b/src/content/bu16-getting-started.json new file mode 100644 index 000000000..20fe2caac --- /dev/null +++ b/src/content/bu16-getting-started.json @@ -0,0 +1,312 @@ +{ + "id": "f13e2698-3042-4aaa-8ede-4f8a64ed396c", + "modifiedAt": "2025-11-30T14:33:41.492Z", + "name": "bu16-getting-started", + "description": "Click here to add description", + "type": "BU16", + "version": { + "major": "1", + "minor": "6", + "patch": "2" + }, + "configType": "profile", + "configs": [ + { + "controlElementNumber": 0, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 1, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 2, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 3, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 4, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 5, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 6, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 7, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 8, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 9, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 10, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 11, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 12, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 13, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 14, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 15, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 255, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[page init]]" + }, + { + "event": 4, + "config": "--[[@cb]] gpl(gpn())" + }, + { + "event": 5, + "config": "--[[@l]] local ch,cmd,param1,param2=midi.ch,midi.cmd,midi.p1,midi.p2" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + } + ], + "createdAt": "2025-11-30T14:33:41.492Z", + "virtualPath": "", + "cloudId": "s3XzfQzCoCCwtSgeOs2x", + "owner": "hLIZijz6PxRnxEjTA9Jb0OYSFt83" +} \ No newline at end of file diff --git a/src/content/vsn1l-getting-started.json b/src/content/vsn1l-getting-started.json new file mode 100644 index 000000000..d2e98c729 --- /dev/null +++ b/src/content/vsn1l-getting-started.json @@ -0,0 +1,278 @@ +{ + "id": "81946cb4-aa4f-4c7a-af10-15304af04ee4", + "modifiedAt": "2025-11-30T15:27:31.151Z", + "name": "vsn1-getting-started", + "description": "Click here to add description", + "type": "VSN1L", + "version": { + "major": "1", + "minor": "6", + "patch": "2" + }, + "configType": "profile", + "configs": [ + { + "controlElementNumber": 0, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 1, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 2, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 3, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 4, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 5, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 6, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 7, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 8, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Endless Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 7, + "config": "--[[@sen]] self:epmo(0) self:epv0(50) self:epmi(0) self:epma(127) self:epse(50)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 9, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 10, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 11, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 12, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 13, + "events": [ + { + "event": 0, + "config": "--[[@cb]] glsb(255)pi,s,c,self.f,self.v,self.id=math.pi,64,{{0,0,0},{255,255,255},{glr(),glg(),glb()}},1,{27,0,100},'VSN1'd={[1]='Linear',[2]='Encoder',[3]='Button',[7]='Endless'}xc,yc,p=160,120,s*5/8;self.eventrx_cb=function(self,hdr,e,v,n)self.v=v;if#n==0 then n=d[e[3]]..e[2]end;self.id=string.sub(n,1,(self:lsw()/(s/2)-1)//1)self.f=1 end;self:ldaf(0,0,319,239,c[1])self:ldrr(3,3,317,237,10,c[2])" + }, + { + "event": 8, + "config": "--[[@cb]] if self.f>0 then self.f=self.f-1;local a,xo=gmaps(self.v[1],self.v[2],self.v[3],0.1,1),#tostring(self.v[1])/2*s/2-#tostring(self.v[1])-s//32;self:ldaf(10,10,310,230,c[1])self:ldrr(xc-p//1-1,yc-p//1-1,xc+p//1+1,yc+p//1+1,s,c[2])self:ldrrf(xc-p*a//1,yc-p*a//1,xc+p*a//1,yc+p*a//1,s,c[3])self:ldft(self.v[1],xc-xo,yc+s,s/2,c[2])local xn=(#self.id*(s/2))/2-s//32;self:ldft(self.id,xc-xn,yc-1.5*s,s/2,c[2])self:ldsw()end" + } + ] + }, + { + "controlElementNumber": 255, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[page init]]" + }, + { + "event": 4, + "config": "--[[@cb]] gpl(gpn())" + }, + { + "event": 5, + "config": "--[[@l]] local ch,cmd,param1,param2=midi.ch,midi.cmd,midi.p1,midi.p2" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + } + ], + "createdAt": "2025-11-30T15:27:31.151Z", + "virtualPath": "", + "cloudId": "wD3tJVF27EcAbkMirp9I", + "owner": "hLIZijz6PxRnxEjTA9Jb0OYSFt83" +} \ No newline at end of file diff --git a/src/renderer/main/user-interface/ActiveChanges.svelte b/src/renderer/main/user-interface/ActiveChanges.svelte index b1607b768..bfd249a3f 100644 --- a/src/renderer/main/user-interface/ActiveChanges.svelte +++ b/src/renderer/main/user-interface/ActiveChanges.svelte @@ -7,12 +7,17 @@ import { Analytics } from "../../runtime/analytics.js"; import { fade, blur } from "svelte/transition"; import { selectedConfigStore } from "../panels/profileCloud/ProfileCloud"; - import { MoltenPushButton } from "@intechstudio/grid-uikit"; + import { MoltenPushButton, MeltSelect } from "@intechstudio/grid-uikit"; import { runtime_manager } from "../../runtime/runtime-manager.store"; import { GridRuntime } from "../../runtime/runtime"; import { appSettings } from "../../runtime/app-helper.store"; import { WriteBuffer } from "../../runtime/engine.store"; import { ConfigTour, configTour } from "../panels/profileCloud/ConfigTour"; + import { + selectedProfileType, + availableProfileTypes, + formatProfileTypeTitle + } from "../../runtime/getting-started-profile"; let isChanges = false; let changes = 0; @@ -24,6 +29,12 @@ buffer = runtime.connection.buffer; } + // Create options for profile type dropdown + $: profileTypeOptions = availableProfileTypes.map(type => ({ + value: type, + title: formatProfileTypeTitle(type) + })); + $: { if ($runtime) { changes = runtime.unsavedChangesCount(); @@ -157,6 +168,11 @@ }); }); } + + async function handleLoadGettingStarted() { + const { loadGettingStartedProfiles } = await import("../../runtime/getting-started-profile"); + await loadGettingStartedProfiles(runtime); + } {}} /> + {#if profileTypeOptions.length > 0} +
+ +
+ +
+
+ {/if} {#if import.meta.env.VITE_BUILD_TARGET === "web"} "Getting Started" + */ +export function formatProfileTypeTitle(type: string): string { + return type.split('-').map(word => + word.charAt(0).toUpperCase() + word.slice(1) + ).join(' '); +} + +// Dynamically import all profile JSON files using Vite's glob import +const profileModules = import.meta.glob('../../content/*.json', { + eager: true, + import: 'default' +}); + +// Build a nested map: { ModuleType: { profileType: profileData } } +const PROFILES: Record> = {}; +const profileTypes = new Set(); + +for (const path in profileModules) { + // Extract module type and profile type from filename + // Example: "../../content/bu16-getting-started.json" -> moduleType: "BU16", profileType: "getting-started" + const match = path.match(/\/([a-z0-9]+)-(.+)\.json$/i); + if (match) { + const moduleType = match[1].toUpperCase(); + const profileType = match[2]; // e.g., "getting-started", "advanced", etc. + + if (!PROFILES[moduleType]) { + PROFILES[moduleType] = {}; + } + PROFILES[moduleType][profileType] = profileModules[path]; + profileTypes.add(profileType); + } +} + +const availableProfileTypes = Array.from(profileTypes); + +// Print summary of available profiles grouped by profile type +console.log('[Getting Started] Available profiles:'); +for (const profileType of availableProfileTypes.sort()) { + const modules = Object.keys(PROFILES) + .filter(moduleType => PROFILES[moduleType][profileType]) + .sort(); + console.log(` ${profileType}: ${modules.join(', ')}`); +} + +// Store for selected profile type +export const selectedProfileType = writable( + availableProfileTypes.length > 0 ? availableProfileTypes[0] : '' +); + +// Export available profile types for the dropdown +export { availableProfileTypes }; + +/** + * Loads getting started profiles to all connected modules + */ +export async function loadGettingStartedProfiles(runtime: GridRuntime) { + const ui = get(user_input); + const modules = runtime.modules; + const profileType = get(selectedProfileType); + + if (!modules || modules.length === 0) { + logger.set({ + type: "alert", + mode: 0, + classname: CLASSNAME, + message: "No modules connected. Please connect a module first.", + }); + return; + } + + if (!profileType) { + logger.set({ + type: "alert", + mode: 0, + classname: CLASSNAME, + message: "No profile type selected.", + }); + return; + } + + try { + const { GridProfileData } = await import("./runtime"); + const { loadProfile } = await import("./operations"); + + let loadedCount = 0; + let skippedCount = 0; + + logger.set({ + type: "progress", + mode: 0, + classname: CLASSNAME, + message: `Loading "${profileType}" profiles to ${modules.length} module(s)...`, + }); + + // Process each module + for (let i = 0; i < modules.length; i++) { + const module = modules[i]; + const moduleType = module.type; + + // Check if we have this profile type for this module type + const profileData = PROFILES[moduleType]?.[profileType]; + if (!profileData) { + console.warn(`No "${profileType}" profile for ${moduleType}, skipping...`); + skippedCount++; + continue; + } + + // Show loading message for this module + logger.set({ + type: "progress", + mode: (loadedCount + skippedCount) / modules.length, + classname: CLASSNAME, + message: `Loading to ${moduleType} (${module.dx},${module.dy})...`, + }); + + // Convert to GridProfileData + const profile = GridProfileData.createFromCloudData(profileData); + + // Get the current page for this module + const page = module.pages[ui.pagenumber]; + + // Load the profile (no progress callback to reduce logger spam) + await loadProfile(profile, page); + + loadedCount++; + + // Show completion message for this module + logger.set({ + type: "progress", + mode: (loadedCount + skippedCount) / modules.length, + classname: CLASSNAME, + message: `Loaded ${moduleType} (${module.dx},${module.dy}) - ${loadedCount + skippedCount}/${modules.length}`, + }); + } + + // Show final result + const resultMessages = []; + if (loadedCount > 0) { + resultMessages.push(`Loaded ${loadedCount} module(s)`); + } + if (skippedCount > 0) { + resultMessages.push(`skipped ${skippedCount} (no profile available)`); + } + + logger.set({ + type: "success", + mode: 0, + classname: CLASSNAME, + message: `Getting started profiles complete! ${resultMessages.join(", ")}`, + }); + + Analytics.track({ + event: "Getting Started Profile", + payload: { + modulesLoaded: loadedCount, + modulesSkipped: skippedCount, + }, + mandatory: false, + }); + + } catch (error) { + console.error("Failed to load getting started profiles:", error); + logger.set({ + type: "alert", + mode: 0, + classname: CLASSNAME, + message: "Failed to load getting started profiles. Please try again.", + }); + } +} From 7d0b292fb9fee0d80431909e831a897187cf5f45 Mon Sep 17 00:00:00 2001 From: sukuwc Date: Sun, 30 Nov 2025 18:04:37 +0100 Subject: [PATCH 02/11] Refactor profile loading to use registration API and move state to UI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add registration system: register_getting_started_profile() and unregister_getting_started_category() - File loading moved from library to ActiveChanges component for better separation - UI component now owns selectedProfileType state instead of library - Library is now stateless and provides only pure functions - Helper function formatProfileTypeTitle moved to component (only used there) - Removed unnecessary FILE_CATEGORY export, using "file" string directly Benefits: - Clean separation: library provides API, component handles initialization - Stateless library easier to test and reuse - Clear ownership of UI state 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .../main/user-interface/ActiveChanges.svelte | 47 ++++++- .../runtime/getting-started-profile.ts | 125 ++++++++++++------ 2 files changed, 124 insertions(+), 48 deletions(-) diff --git a/src/renderer/main/user-interface/ActiveChanges.svelte b/src/renderer/main/user-interface/ActiveChanges.svelte index bfd249a3f..c2c9a97c0 100644 --- a/src/renderer/main/user-interface/ActiveChanges.svelte +++ b/src/renderer/main/user-interface/ActiveChanges.svelte @@ -1,6 +1,6 @@ diff --git a/src/renderer/runtime/getting-started-profile.ts b/src/renderer/runtime/getting-started-profile.ts index eade761f8..5bf068b8b 100644 --- a/src/renderer/runtime/getting-started-profile.ts +++ b/src/renderer/runtime/getting-started-profile.ts @@ -18,68 +18,105 @@ import type { GridRuntime } from "./runtime"; const PROFILE_PATTERN = '../../content/*.json'; const CLASSNAME = 'gettingstarted'; -/** - * Formats a profile type string for display - * @example formatProfileTypeTitle("getting-started") => "Getting Started" - */ -export function formatProfileTypeTitle(type: string): string { - return type.split('-').map(word => - word.charAt(0).toUpperCase() + word.slice(1) - ).join(' '); +// Types +interface RegisteredProfile { + data: any; + displayName: string; + categoryName: string; } -// Dynamically import all profile JSON files using Vite's glob import -const profileModules = import.meta.glob('../../content/*.json', { - eager: true, - import: 'default' -}); - -// Build a nested map: { ModuleType: { profileType: profileData } } -const PROFILES: Record> = {}; -const profileTypes = new Set(); +// Internal storage: { ModuleType: { displayName: RegisteredProfile } } +const PROFILES: Record> = {}; -for (const path in profileModules) { - // Extract module type and profile type from filename - // Example: "../../content/bu16-getting-started.json" -> moduleType: "BU16", profileType: "getting-started" - const match = path.match(/\/([a-z0-9]+)-(.+)\.json$/i); - if (match) { - const moduleType = match[1].toUpperCase(); - const profileType = match[2]; // e.g., "getting-started", "advanced", etc. +/** + * Register a profile for a specific module type + * @param moduleType - The module type (e.g., "BU16", "EN16") + * @param displayName - The display name shown in dropdown (e.g., "getting-started", "advanced") + * @param categoryName - Category for grouping (e.g., "file", "custom") + * @param jsonString - JSON string of the profile data + */ +export function register_getting_started_profile( + moduleType: string, + displayName: string, + categoryName: string, + jsonString: string +): void { + try { + const data = JSON.parse(jsonString); if (!PROFILES[moduleType]) { PROFILES[moduleType] = {}; } - PROFILES[moduleType][profileType] = profileModules[path]; - profileTypes.add(profileType); + + PROFILES[moduleType][displayName] = { + data, + displayName, + categoryName + }; + + // Update available profile types + updateAvailableProfileTypes(); + } catch (error) { + console.error(`Failed to register profile "${displayName}" for ${moduleType}:`, error); } } -const availableProfileTypes = Array.from(profileTypes); +/** + * Unregister all profiles from a specific category + * @param categoryName - The category to unregister (e.g., "file", "custom") + */ +export function unregister_getting_started_category(categoryName: string): void { + for (const moduleType in PROFILES) { + for (const displayName in PROFILES[moduleType]) { + if (PROFILES[moduleType][displayName].categoryName === categoryName) { + delete PROFILES[moduleType][displayName]; + } + } + // Clean up empty module types + if (Object.keys(PROFILES[moduleType]).length === 0) { + delete PROFILES[moduleType]; + } + } -// Print summary of available profiles grouped by profile type -console.log('[Getting Started] Available profiles:'); -for (const profileType of availableProfileTypes.sort()) { - const modules = Object.keys(PROFILES) - .filter(moduleType => PROFILES[moduleType][profileType]) - .sort(); - console.log(` ${profileType}: ${modules.join(', ')}`); + // Update available profile types + updateAvailableProfileTypes(); } -// Store for selected profile type -export const selectedProfileType = writable( - availableProfileTypes.length > 0 ? availableProfileTypes[0] : '' -); +// Available profile types (reactive) +let availableProfileTypes: string[] = []; + +function updateAvailableProfileTypes() { + const profileTypeSet = new Set(); + + for (const moduleType in PROFILES) { + for (const displayName in PROFILES[moduleType]) { + profileTypeSet.add(displayName); + } + } + + availableProfileTypes = Array.from(profileTypeSet).sort(); + + // Print summary of available profiles grouped by profile type + console.log('[Getting Started] Available profiles:'); + for (const profileType of availableProfileTypes) { + const modules = Object.keys(PROFILES) + .filter(moduleType => PROFILES[moduleType][profileType]) + .sort(); + console.log(` ${profileType}: ${modules.join(', ')}`); + } +} -// Export available profile types for the dropdown +// Export available profile types export { availableProfileTypes }; /** * Loads getting started profiles to all connected modules + * @param runtime - The GridRuntime instance + * @param profileType - The profile type to load (e.g., "getting-started", "advanced") */ -export async function loadGettingStartedProfiles(runtime: GridRuntime) { +export async function loadGettingStartedProfiles(runtime: GridRuntime, profileType: string) { const ui = get(user_input); const modules = runtime.modules; - const profileType = get(selectedProfileType); if (!modules || modules.length === 0) { logger.set({ @@ -121,8 +158,8 @@ export async function loadGettingStartedProfiles(runtime: GridRuntime) { const moduleType = module.type; // Check if we have this profile type for this module type - const profileData = PROFILES[moduleType]?.[profileType]; - if (!profileData) { + const registeredProfile = PROFILES[moduleType]?.[profileType]; + if (!registeredProfile) { console.warn(`No "${profileType}" profile for ${moduleType}, skipping...`); skippedCount++; continue; @@ -137,7 +174,7 @@ export async function loadGettingStartedProfiles(runtime: GridRuntime) { }); // Convert to GridProfileData - const profile = GridProfileData.createFromCloudData(profileData); + const profile = GridProfileData.createFromCloudData(registeredProfile.data); // Get the current page for this module const page = module.pages[ui.pagenumber]; From 8bc7e1421728dbdadab0e6e7a45eca0082309be3 Mon Sep 17 00:00:00 2001 From: sukuwc Date: Sun, 30 Nov 2025 18:19:46 +0100 Subject: [PATCH 03/11] Add clear and store to getting started profile loading MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Automatically clears the current page before loading profiles and stores configurations after successful loading, making it a complete one-click operation. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .../runtime/getting-started-profile.ts | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/renderer/runtime/getting-started-profile.ts b/src/renderer/runtime/getting-started-profile.ts index 5bf068b8b..c26c7d7fc 100644 --- a/src/renderer/runtime/getting-started-profile.ts +++ b/src/renderer/runtime/getting-started-profile.ts @@ -145,6 +145,16 @@ export async function loadGettingStartedProfiles(runtime: GridRuntime, profileTy let loadedCount = 0; let skippedCount = 0; + // Clear the page before loading profiles + logger.set({ + type: "progress", + mode: 0, + classname: CLASSNAME, + message: `Clearing page ${ui.pagenumber}...`, + }); + + await runtime.clearPage(ui.pagenumber); + logger.set({ type: "progress", mode: 0, @@ -209,6 +219,23 @@ export async function loadGettingStartedProfiles(runtime: GridRuntime, profileTy message: `Getting started profiles complete! ${resultMessages.join(", ")}`, }); + // Store the configurations to the modules + logger.set({ + type: "progress", + mode: 0, + classname: CLASSNAME, + message: `Storing configurations to modules...`, + }); + + await runtime.storePage(ui.pagenumber); + + logger.set({ + type: "success", + mode: 0, + classname: CLASSNAME, + message: `Store complete!`, + }); + Analytics.track({ event: "Getting Started Profile", payload: { From 97bcc81b437f7a00f3edc59d6f65343ece8a031e Mon Sep 17 00:00:00 2001 From: sukuwc Date: Sun, 30 Nov 2025 22:08:17 +0100 Subject: [PATCH 04/11] Refactor profile loading UI and rename to pressure-sensitive-defaults MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Use MoltenPushButton's combined dropdown mode instead of separate MeltSelect - Add "Clear" option to dropdown for clearing page without loading - Remove separate Clear button (functionality merged into dropdown) - Rename profile files from "getting-started" to "pressure-sensitive-defaults" - Fix MoltenPushButton onclick bug with no-op functions 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- src/content/bu16-getting-started.json | 312 ------------------ .../bu16-pressure-sensitive-defaults.json | 312 ++++++++++++++++++ src/content/vsn1l-getting-started.json | 278 ---------------- .../vsn1l-pressure-sensitive-defaults.json | 278 ++++++++++++++++ .../main/user-interface/ActiveChanges.svelte | 113 ++++--- .../runtime/getting-started-profile.ts | 37 ++- 6 files changed, 679 insertions(+), 651 deletions(-) delete mode 100644 src/content/bu16-getting-started.json create mode 100644 src/content/bu16-pressure-sensitive-defaults.json delete mode 100644 src/content/vsn1l-getting-started.json create mode 100644 src/content/vsn1l-pressure-sensitive-defaults.json diff --git a/src/content/bu16-getting-started.json b/src/content/bu16-getting-started.json deleted file mode 100644 index 20fe2caac..000000000 --- a/src/content/bu16-getting-started.json +++ /dev/null @@ -1,312 +0,0 @@ -{ - "id": "f13e2698-3042-4aaa-8ede-4f8a64ed396c", - "modifiedAt": "2025-11-30T14:33:41.492Z", - "name": "bu16-getting-started", - "description": "Click here to add description", - "type": "BU16", - "version": { - "major": "1", - "minor": "6", - "patch": "2" - }, - "configType": "profile", - "configs": [ - { - "controlElementNumber": 0, - "events": [ - { - "event": 0, - "config": "--[[@cb]] --[[Button Init]]" - }, - { - "event": 3, - "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" - }, - { - "event": 6, - "config": "--[[@cb]] print('tick')" - } - ] - }, - { - "controlElementNumber": 1, - "events": [ - { - "event": 0, - "config": "--[[@cb]] --[[Button Init]]" - }, - { - "event": 3, - "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" - }, - { - "event": 6, - "config": "--[[@cb]] print('tick')" - } - ] - }, - { - "controlElementNumber": 2, - "events": [ - { - "event": 0, - "config": "--[[@cb]] --[[Button Init]]" - }, - { - "event": 3, - "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" - }, - { - "event": 6, - "config": "--[[@cb]] print('tick')" - } - ] - }, - { - "controlElementNumber": 3, - "events": [ - { - "event": 0, - "config": "--[[@cb]] --[[Button Init]]" - }, - { - "event": 3, - "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" - }, - { - "event": 6, - "config": "--[[@cb]] print('tick')" - } - ] - }, - { - "controlElementNumber": 4, - "events": [ - { - "event": 0, - "config": "--[[@cb]] --[[Button Init]]" - }, - { - "event": 3, - "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" - }, - { - "event": 6, - "config": "--[[@cb]] print('tick')" - } - ] - }, - { - "controlElementNumber": 5, - "events": [ - { - "event": 0, - "config": "--[[@cb]] --[[Button Init]]" - }, - { - "event": 3, - "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" - }, - { - "event": 6, - "config": "--[[@cb]] print('tick')" - } - ] - }, - { - "controlElementNumber": 6, - "events": [ - { - "event": 0, - "config": "--[[@cb]] --[[Button Init]]" - }, - { - "event": 3, - "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" - }, - { - "event": 6, - "config": "--[[@cb]] print('tick')" - } - ] - }, - { - "controlElementNumber": 7, - "events": [ - { - "event": 0, - "config": "--[[@cb]] --[[Button Init]]" - }, - { - "event": 3, - "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" - }, - { - "event": 6, - "config": "--[[@cb]] print('tick')" - } - ] - }, - { - "controlElementNumber": 8, - "events": [ - { - "event": 0, - "config": "--[[@cb]] --[[Button Init]]" - }, - { - "event": 3, - "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" - }, - { - "event": 6, - "config": "--[[@cb]] print('tick')" - } - ] - }, - { - "controlElementNumber": 9, - "events": [ - { - "event": 0, - "config": "--[[@cb]] --[[Button Init]]" - }, - { - "event": 3, - "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" - }, - { - "event": 6, - "config": "--[[@cb]] print('tick')" - } - ] - }, - { - "controlElementNumber": 10, - "events": [ - { - "event": 0, - "config": "--[[@cb]] --[[Button Init]]" - }, - { - "event": 3, - "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" - }, - { - "event": 6, - "config": "--[[@cb]] print('tick')" - } - ] - }, - { - "controlElementNumber": 11, - "events": [ - { - "event": 0, - "config": "--[[@cb]] --[[Button Init]]" - }, - { - "event": 3, - "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" - }, - { - "event": 6, - "config": "--[[@cb]] print('tick')" - } - ] - }, - { - "controlElementNumber": 12, - "events": [ - { - "event": 0, - "config": "--[[@cb]] --[[Button Init]]" - }, - { - "event": 3, - "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" - }, - { - "event": 6, - "config": "--[[@cb]] print('tick')" - } - ] - }, - { - "controlElementNumber": 13, - "events": [ - { - "event": 0, - "config": "--[[@cb]] --[[Button Init]]" - }, - { - "event": 3, - "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" - }, - { - "event": 6, - "config": "--[[@cb]] print('tick')" - } - ] - }, - { - "controlElementNumber": 14, - "events": [ - { - "event": 0, - "config": "--[[@cb]] --[[Button Init]]" - }, - { - "event": 3, - "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" - }, - { - "event": 6, - "config": "--[[@cb]] print('tick')" - } - ] - }, - { - "controlElementNumber": 15, - "events": [ - { - "event": 0, - "config": "--[[@cb]] --[[Button Init]]" - }, - { - "event": 3, - "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" - }, - { - "event": 6, - "config": "--[[@cb]] print('tick')" - } - ] - }, - { - "controlElementNumber": 255, - "events": [ - { - "event": 0, - "config": "--[[@cb]] --[[page init]]" - }, - { - "event": 4, - "config": "--[[@cb]] gpl(gpn())" - }, - { - "event": 5, - "config": "--[[@l]] local ch,cmd,param1,param2=midi.ch,midi.cmd,midi.p1,midi.p2" - }, - { - "event": 6, - "config": "--[[@cb]] print('tick')" - } - ] - } - ], - "createdAt": "2025-11-30T14:33:41.492Z", - "virtualPath": "", - "cloudId": "s3XzfQzCoCCwtSgeOs2x", - "owner": "hLIZijz6PxRnxEjTA9Jb0OYSFt83" -} \ No newline at end of file diff --git a/src/content/bu16-pressure-sensitive-defaults.json b/src/content/bu16-pressure-sensitive-defaults.json new file mode 100644 index 000000000..94eb08eb4 --- /dev/null +++ b/src/content/bu16-pressure-sensitive-defaults.json @@ -0,0 +1,312 @@ +{ + "id": "f13e2698-3042-4aaa-8ede-4f8a64ed396c", + "modifiedAt": "2025-11-30T14:33:41.492Z", + "name": "bu16-getting-started", + "description": "Click here to add description", + "type": "BU16", + "version": { + "major": "1", + "minor": "6", + "patch": "2" + }, + "configType": "profile", + "configs": [ + { + "controlElementNumber": 0, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 1, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 2, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 3, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 4, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 5, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 6, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 7, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 8, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 9, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 10, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 11, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 12, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 13, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 14, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 15, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 255, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[page init]]" + }, + { + "event": 4, + "config": "--[[@cb]] gpl(gpn())" + }, + { + "event": 5, + "config": "--[[@l]] local ch,cmd,param1,param2=midi.ch,midi.cmd,midi.p1,midi.p2" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + } + ], + "createdAt": "2025-11-30T14:33:41.492Z", + "virtualPath": "", + "cloudId": "s3XzfQzCoCCwtSgeOs2x", + "owner": "hLIZijz6PxRnxEjTA9Jb0OYSFt83" +} diff --git a/src/content/vsn1l-getting-started.json b/src/content/vsn1l-getting-started.json deleted file mode 100644 index d2e98c729..000000000 --- a/src/content/vsn1l-getting-started.json +++ /dev/null @@ -1,278 +0,0 @@ -{ - "id": "81946cb4-aa4f-4c7a-af10-15304af04ee4", - "modifiedAt": "2025-11-30T15:27:31.151Z", - "name": "vsn1-getting-started", - "description": "Click here to add description", - "type": "VSN1L", - "version": { - "major": "1", - "minor": "6", - "patch": "2" - }, - "configType": "profile", - "configs": [ - { - "controlElementNumber": 0, - "events": [ - { - "event": 0, - "config": "--[[@cb]] --[[Button Init]]" - }, - { - "event": 3, - "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" - }, - { - "event": 6, - "config": "--[[@cb]] print('tick')" - } - ] - }, - { - "controlElementNumber": 1, - "events": [ - { - "event": 0, - "config": "--[[@cb]] --[[Button Init]]" - }, - { - "event": 3, - "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" - }, - { - "event": 6, - "config": "--[[@cb]] print('tick')" - } - ] - }, - { - "controlElementNumber": 2, - "events": [ - { - "event": 0, - "config": "--[[@cb]] --[[Button Init]]" - }, - { - "event": 3, - "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" - }, - { - "event": 6, - "config": "--[[@cb]] print('tick')" - } - ] - }, - { - "controlElementNumber": 3, - "events": [ - { - "event": 0, - "config": "--[[@cb]] --[[Button Init]]" - }, - { - "event": 3, - "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" - }, - { - "event": 6, - "config": "--[[@cb]] print('tick')" - } - ] - }, - { - "controlElementNumber": 4, - "events": [ - { - "event": 0, - "config": "--[[@cb]] --[[Button Init]]" - }, - { - "event": 3, - "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" - }, - { - "event": 6, - "config": "--[[@cb]] print('tick')" - } - ] - }, - { - "controlElementNumber": 5, - "events": [ - { - "event": 0, - "config": "--[[@cb]] --[[Button Init]]" - }, - { - "event": 3, - "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" - }, - { - "event": 6, - "config": "--[[@cb]] print('tick')" - } - ] - }, - { - "controlElementNumber": 6, - "events": [ - { - "event": 0, - "config": "--[[@cb]] --[[Button Init]]" - }, - { - "event": 3, - "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" - }, - { - "event": 6, - "config": "--[[@cb]] print('tick')" - } - ] - }, - { - "controlElementNumber": 7, - "events": [ - { - "event": 0, - "config": "--[[@cb]] --[[Button Init]]" - }, - { - "event": 3, - "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" - }, - { - "event": 6, - "config": "--[[@cb]] print('tick')" - } - ] - }, - { - "controlElementNumber": 8, - "events": [ - { - "event": 0, - "config": "--[[@cb]] --[[Endless Init]]" - }, - { - "event": 3, - "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" - }, - { - "event": 7, - "config": "--[[@sen]] self:epmo(0) self:epv0(50) self:epmi(0) self:epma(127) self:epse(50)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" - }, - { - "event": 6, - "config": "--[[@cb]] print('tick')" - } - ] - }, - { - "controlElementNumber": 9, - "events": [ - { - "event": 0, - "config": "--[[@cb]] --[[Button Init]]" - }, - { - "event": 3, - "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" - }, - { - "event": 6, - "config": "--[[@cb]] print('tick')" - } - ] - }, - { - "controlElementNumber": 10, - "events": [ - { - "event": 0, - "config": "--[[@cb]] --[[Button Init]]" - }, - { - "event": 3, - "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" - }, - { - "event": 6, - "config": "--[[@cb]] print('tick')" - } - ] - }, - { - "controlElementNumber": 11, - "events": [ - { - "event": 0, - "config": "--[[@cb]] --[[Button Init]]" - }, - { - "event": 3, - "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" - }, - { - "event": 6, - "config": "--[[@cb]] print('tick')" - } - ] - }, - { - "controlElementNumber": 12, - "events": [ - { - "event": 0, - "config": "--[[@cb]] --[[Button Init]]" - }, - { - "event": 3, - "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" - }, - { - "event": 6, - "config": "--[[@cb]] print('tick')" - } - ] - }, - { - "controlElementNumber": 13, - "events": [ - { - "event": 0, - "config": "--[[@cb]] glsb(255)pi,s,c,self.f,self.v,self.id=math.pi,64,{{0,0,0},{255,255,255},{glr(),glg(),glb()}},1,{27,0,100},'VSN1'd={[1]='Linear',[2]='Encoder',[3]='Button',[7]='Endless'}xc,yc,p=160,120,s*5/8;self.eventrx_cb=function(self,hdr,e,v,n)self.v=v;if#n==0 then n=d[e[3]]..e[2]end;self.id=string.sub(n,1,(self:lsw()/(s/2)-1)//1)self.f=1 end;self:ldaf(0,0,319,239,c[1])self:ldrr(3,3,317,237,10,c[2])" - }, - { - "event": 8, - "config": "--[[@cb]] if self.f>0 then self.f=self.f-1;local a,xo=gmaps(self.v[1],self.v[2],self.v[3],0.1,1),#tostring(self.v[1])/2*s/2-#tostring(self.v[1])-s//32;self:ldaf(10,10,310,230,c[1])self:ldrr(xc-p//1-1,yc-p//1-1,xc+p//1+1,yc+p//1+1,s,c[2])self:ldrrf(xc-p*a//1,yc-p*a//1,xc+p*a//1,yc+p*a//1,s,c[3])self:ldft(self.v[1],xc-xo,yc+s,s/2,c[2])local xn=(#self.id*(s/2))/2-s//32;self:ldft(self.id,xc-xn,yc-1.5*s,s/2,c[2])self:ldsw()end" - } - ] - }, - { - "controlElementNumber": 255, - "events": [ - { - "event": 0, - "config": "--[[@cb]] --[[page init]]" - }, - { - "event": 4, - "config": "--[[@cb]] gpl(gpn())" - }, - { - "event": 5, - "config": "--[[@l]] local ch,cmd,param1,param2=midi.ch,midi.cmd,midi.p1,midi.p2" - }, - { - "event": 6, - "config": "--[[@cb]] print('tick')" - } - ] - } - ], - "createdAt": "2025-11-30T15:27:31.151Z", - "virtualPath": "", - "cloudId": "wD3tJVF27EcAbkMirp9I", - "owner": "hLIZijz6PxRnxEjTA9Jb0OYSFt83" -} \ No newline at end of file diff --git a/src/content/vsn1l-pressure-sensitive-defaults.json b/src/content/vsn1l-pressure-sensitive-defaults.json new file mode 100644 index 000000000..dfc032631 --- /dev/null +++ b/src/content/vsn1l-pressure-sensitive-defaults.json @@ -0,0 +1,278 @@ +{ + "id": "81946cb4-aa4f-4c7a-af10-15304af04ee4", + "modifiedAt": "2025-11-30T15:27:31.151Z", + "name": "vsn1-getting-started", + "description": "Click here to add description", + "type": "VSN1L", + "version": { + "major": "1", + "minor": "6", + "patch": "2" + }, + "configType": "profile", + "configs": [ + { + "controlElementNumber": 0, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 1, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 2, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 3, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 4, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 5, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 6, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 7, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(-2) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,10,39,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 8, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Endless Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 7, + "config": "--[[@sen]] self:epmo(0) self:epv0(50) self:epmi(0) self:epma(127) self:epse(50)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 9, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 10, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 11, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 12, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 13, + "events": [ + { + "event": 0, + "config": "--[[@cb]] glsb(255)pi,s,c,self.f,self.v,self.id=math.pi,64,{{0,0,0},{255,255,255},{glr(),glg(),glb()}},1,{27,0,100},'VSN1'd={[1]='Linear',[2]='Encoder',[3]='Button',[7]='Endless'}xc,yc,p=160,120,s*5/8;self.eventrx_cb=function(self,hdr,e,v,n)self.v=v;if#n==0 then n=d[e[3]]..e[2]end;self.id=string.sub(n,1,(self:lsw()/(s/2)-1)//1)self.f=1 end;self:ldaf(0,0,319,239,c[1])self:ldrr(3,3,317,237,10,c[2])" + }, + { + "event": 8, + "config": "--[[@cb]] if self.f>0 then self.f=self.f-1;local a,xo=gmaps(self.v[1],self.v[2],self.v[3],0.1,1),#tostring(self.v[1])/2*s/2-#tostring(self.v[1])-s//32;self:ldaf(10,10,310,230,c[1])self:ldrr(xc-p//1-1,yc-p//1-1,xc+p//1+1,yc+p//1+1,s,c[2])self:ldrrf(xc-p*a//1,yc-p*a//1,xc+p*a//1,yc+p*a//1,s,c[3])self:ldft(self.v[1],xc-xo,yc+s,s/2,c[2])local xn=(#self.id*(s/2))/2-s//32;self:ldft(self.id,xc-xn,yc-1.5*s,s/2,c[2])self:ldsw()end" + } + ] + }, + { + "controlElementNumber": 255, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[page init]]" + }, + { + "event": 4, + "config": "--[[@cb]] gpl(gpn())" + }, + { + "event": 5, + "config": "--[[@l]] local ch,cmd,param1,param2=midi.ch,midi.cmd,midi.p1,midi.p2" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + } + ], + "createdAt": "2025-11-30T15:27:31.151Z", + "virtualPath": "", + "cloudId": "wD3tJVF27EcAbkMirp9I", + "owner": "hLIZijz6PxRnxEjTA9Jb0OYSFt83" +} diff --git a/src/renderer/main/user-interface/ActiveChanges.svelte b/src/renderer/main/user-interface/ActiveChanges.svelte index c2c9a97c0..8da3478e8 100644 --- a/src/renderer/main/user-interface/ActiveChanges.svelte +++ b/src/renderer/main/user-interface/ActiveChanges.svelte @@ -7,7 +7,7 @@ import { Analytics } from "../../runtime/analytics.js"; import { fade, blur } from "svelte/transition"; import { selectedConfigStore } from "../panels/profileCloud/ProfileCloud"; - import { MoltenPushButton, MeltSelect } from "@intechstudio/grid-uikit"; + import { MoltenPushButton } from "@intechstudio/grid-uikit"; import { runtime_manager } from "../../runtime/runtime-manager.store"; import { GridRuntime } from "../../runtime/runtime"; import { appSettings } from "../../runtime/app-helper.store"; @@ -15,7 +15,7 @@ import { ConfigTour, configTour } from "../panels/profileCloud/ConfigTour"; import { availableProfileTypes, - register_getting_started_profile + register_getting_started_profile, } from "../../runtime/getting-started-profile"; /** @@ -23,15 +23,16 @@ * @example "getting-started" => "Getting Started" */ function formatProfileTypeTitle(type: string): string { - return type.split('-').map(word => - word.charAt(0).toUpperCase() + word.slice(1) - ).join(' '); + return type + .split("-") + .map((word) => word.charAt(0).toUpperCase() + word.slice(1)) + .join(" "); } // Load profiles from JSON files on component initialization - const profileModules = import.meta.glob('../../../content/*.json', { + const profileModules = import.meta.glob("../../../content/*.json", { eager: true, - import: 'default' + import: "default", }); for (const path in profileModules) { @@ -48,15 +49,13 @@ moduleType, profileType, "file", - JSON.stringify(profileData) + JSON.stringify(profileData), ); } } // Local state for selected profile type - const selectedProfileType = writable( - availableProfileTypes.length > 0 ? availableProfileTypes[0] : '' - ); + const selectedProfileType = writable("clear"); let isChanges = false; let changes = 0; @@ -69,10 +68,15 @@ } // Create options for profile type dropdown - $: profileTypeOptions = availableProfileTypes.map(type => ({ - value: type, - title: formatProfileTypeTitle(type) - })); + // Note: onclick must be a function (even if no-op) due to bug in MoltenPushButton check + $: profileTypeOptions = [ + { value: "clear", title: "Clear", onclick: () => {} }, + ...availableProfileTypes.map((type) => ({ + value: type, + title: formatProfileTypeTitle(type), + onclick: () => {}, + })), + ]; $: { if ($runtime) { @@ -209,7 +213,41 @@ } async function handleLoadGettingStarted() { - const { loadGettingStartedProfiles } = await import("../../runtime/getting-started-profile"); + // Handle "Clear Only" option + if ($selectedProfileType === "clear") { + const ui = get(user_input); + try { + logger.set({ + type: "progress", + mode: 0, + classname: "pageclear", + message: `Clearing page ${ui.pagenumber}...`, + }); + + await runtime.clearPage(ui.pagenumber); + + logger.set({ + type: "success", + mode: 0, + classname: "pageclear", + message: `Page clear complete!`, + }); + } catch (e) { + console.warn(e); + logger.set({ + type: "alert", + mode: 0, + classname: "pageclear", + message: `Failed to clear page!`, + }); + } + return; + } + + // Normal profile loading + const { loadGettingStartedProfiles } = await import( + "../../runtime/getting-started-profile" + ); await loadGettingStartedProfiles(runtime, $selectedProfileType); } @@ -268,42 +306,21 @@ /> -
- {}} /> -
{#if profileTypeOptions.length > 0} -
- + -
- -
{/if} {#if import.meta.env.VITE_BUILD_TARGET === "web"} diff --git a/src/renderer/runtime/getting-started-profile.ts b/src/renderer/runtime/getting-started-profile.ts index c26c7d7fc..9cd24325f 100644 --- a/src/renderer/runtime/getting-started-profile.ts +++ b/src/renderer/runtime/getting-started-profile.ts @@ -15,8 +15,8 @@ import { Analytics } from "./analytics"; import type { GridRuntime } from "./runtime"; // Constants -const PROFILE_PATTERN = '../../content/*.json'; -const CLASSNAME = 'gettingstarted'; +const PROFILE_PATTERN = "../../content/*.json"; +const CLASSNAME = "gettingstarted"; // Types interface RegisteredProfile { @@ -39,7 +39,7 @@ export function register_getting_started_profile( moduleType: string, displayName: string, categoryName: string, - jsonString: string + jsonString: string, ): void { try { const data = JSON.parse(jsonString); @@ -51,13 +51,16 @@ export function register_getting_started_profile( PROFILES[moduleType][displayName] = { data, displayName, - categoryName + categoryName, }; // Update available profile types updateAvailableProfileTypes(); } catch (error) { - console.error(`Failed to register profile "${displayName}" for ${moduleType}:`, error); + console.error( + `Failed to register profile "${displayName}" for ${moduleType}:`, + error, + ); } } @@ -65,7 +68,9 @@ export function register_getting_started_profile( * Unregister all profiles from a specific category * @param categoryName - The category to unregister (e.g., "file", "custom") */ -export function unregister_getting_started_category(categoryName: string): void { +export function unregister_getting_started_category( + categoryName: string, +): void { for (const moduleType in PROFILES) { for (const displayName in PROFILES[moduleType]) { if (PROFILES[moduleType][displayName].categoryName === categoryName) { @@ -97,12 +102,12 @@ function updateAvailableProfileTypes() { availableProfileTypes = Array.from(profileTypeSet).sort(); // Print summary of available profiles grouped by profile type - console.log('[Getting Started] Available profiles:'); + console.log("[Getting Started] Available profiles:"); for (const profileType of availableProfileTypes) { const modules = Object.keys(PROFILES) - .filter(moduleType => PROFILES[moduleType][profileType]) + .filter((moduleType) => PROFILES[moduleType][profileType]) .sort(); - console.log(` ${profileType}: ${modules.join(', ')}`); + console.log(` ${profileType}: ${modules.join(", ")}`); } } @@ -114,7 +119,10 @@ export { availableProfileTypes }; * @param runtime - The GridRuntime instance * @param profileType - The profile type to load (e.g., "getting-started", "advanced") */ -export async function loadGettingStartedProfiles(runtime: GridRuntime, profileType: string) { +export async function loadGettingStartedProfiles( + runtime: GridRuntime, + profileType: string, +) { const ui = get(user_input); const modules = runtime.modules; @@ -170,7 +178,9 @@ export async function loadGettingStartedProfiles(runtime: GridRuntime, profileTy // Check if we have this profile type for this module type const registeredProfile = PROFILES[moduleType]?.[profileType]; if (!registeredProfile) { - console.warn(`No "${profileType}" profile for ${moduleType}, skipping...`); + console.warn( + `No "${profileType}" profile for ${moduleType}, skipping...`, + ); skippedCount++; continue; } @@ -184,7 +194,9 @@ export async function loadGettingStartedProfiles(runtime: GridRuntime, profileTy }); // Convert to GridProfileData - const profile = GridProfileData.createFromCloudData(registeredProfile.data); + const profile = GridProfileData.createFromCloudData( + registeredProfile.data, + ); // Get the current page for this module const page = module.pages[ui.pagenumber]; @@ -244,7 +256,6 @@ export async function loadGettingStartedProfiles(runtime: GridRuntime, profileTy }, mandatory: false, }); - } catch (error) { console.error("Failed to load getting started profiles:", error); logger.set({ From 2beae4580935e7135711109e52dd9508a4d8b935 Mon Sep 17 00:00:00 2001 From: sukuwc Date: Sun, 30 Nov 2025 22:54:25 +0100 Subject: [PATCH 05/11] Add confirmation dialog to clear/load profile button MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Restores the Cancel/Confirm confirmation flow for the dropdown button to prevent accidental clearing or profile loading. This maintains backward compatibility with existing playwright tests. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- src/renderer/main/user-interface/ActiveChanges.svelte | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/renderer/main/user-interface/ActiveChanges.svelte b/src/renderer/main/user-interface/ActiveChanges.svelte index 8da3478e8..42ea7bf0b 100644 --- a/src/renderer/main/user-interface/ActiveChanges.svelte +++ b/src/renderer/main/user-interface/ActiveChanges.svelte @@ -312,12 +312,20 @@ key: "configuration_header_clear", placement: "top", class: "w-60 p-4", + buttons: [ + { + label: "Cancel", + handler: undefined, + }, + { label: "Confirm", handler: handleLoadGettingStarted }, + ], + triggerEvents: ["show-buttons", "hover"], }} > {}} bind:target={$selectedProfileType} options={profileTypeOptions} /> From d5341f9e5a4f138be44c0ea9b99092482b9790ba Mon Sep 17 00:00:00 2001 From: sukuwc Date: Sun, 7 Dec 2025 16:55:13 +0100 Subject: [PATCH 06/11] Update grid-uikit and refactor to use MoltenPushButtonGroup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Updated @intechstudio/grid-uikit from 1.20251104.1750 to 1.20251207.1523 and refactored the ActiveChanges component to use the new MoltenPushButtonGroup and MoltenPushButtonDropdown components. This provides a cleaner UI with a dedicated dropdown button for profile template selection. Changes: - Updated grid-uikit dependency to latest version with CSS variable system - Refactored profile type selector to use grouped button pattern - Added MoltenPushButtonGroup wrapper component - Split button into MoltenPushButton (grouped) and MoltenPushButtonDropdown - Added tooltip for dropdown: "Select the profile template to be loaded." 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- package-lock.json | 8 +-- package.json | 2 +- .../main/user-interface/ActiveChanges.svelte | 72 ++++++++++++------- .../tooltip/tooltip-content.json.js | 2 + 4 files changed, 55 insertions(+), 29 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9b825caaa..758bc5737 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "hasInstallScript": true, "dependencies": { "@intechstudio/grid-protocol": "1.20251126.1325", - "@intechstudio/grid-uikit": "1.20251104.1750", + "@intechstudio/grid-uikit": "1.20251207.1523", "@intechstudio/profile-cloud-webcomponent": "1.20251107.1414", "adm-zip": "^0.5.10", "axios": "^1.9.0", @@ -2281,9 +2281,9 @@ "integrity": "sha512-yzMQqtosf+6WyvEv0bcmaDeJ9SfCbtY3QTiurwgZMUsKFK3VqWrYn6+1Z7jVrAN6ZGdboMelJNBZv21aGWvpcw==" }, "node_modules/@intechstudio/grid-uikit": { - "version": "1.20251104.1750", - "resolved": "https://registry.npmjs.org/@intechstudio/grid-uikit/-/grid-uikit-1.20251104.1750.tgz", - "integrity": "sha512-uQ7OlZHIfYbfX02I2uAetWJoRUO49glg0ofW6ReYc7JrTGzA9uLK0efPiekIQLXYVfTjkOwDUMtSrK1NtByeRw==", + "version": "1.20251207.1523", + "resolved": "https://registry.npmjs.org/@intechstudio/grid-uikit/-/grid-uikit-1.20251207.1523.tgz", + "integrity": "sha512-PPpxxXw45ri+Q4vZWIuc00xsx6HKF7WSAPyGFffqE550DXrYnDhRz9JWdSYa2l35E+ruYkNT3nyHh72YU0m1Hw==", "dependencies": { "@melt-ui/svelte": "^0.86.6", "color-convert": "^2.0.1", diff --git a/package.json b/package.json index 91817415b..419fedede 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ }, "dependencies": { "@intechstudio/grid-protocol": "1.20251126.1325", - "@intechstudio/grid-uikit": "1.20251104.1750", + "@intechstudio/grid-uikit": "1.20251207.1523", "@intechstudio/profile-cloud-webcomponent": "1.20251107.1414", "adm-zip": "^0.5.10", "axios": "^1.9.0", diff --git a/src/renderer/main/user-interface/ActiveChanges.svelte b/src/renderer/main/user-interface/ActiveChanges.svelte index 42ea7bf0b..105fec845 100644 --- a/src/renderer/main/user-interface/ActiveChanges.svelte +++ b/src/renderer/main/user-interface/ActiveChanges.svelte @@ -7,7 +7,11 @@ import { Analytics } from "../../runtime/analytics.js"; import { fade, blur } from "svelte/transition"; import { selectedConfigStore } from "../panels/profileCloud/ProfileCloud"; - import { MoltenPushButton } from "@intechstudio/grid-uikit"; + import { + MoltenPushButton, + MoltenPushButtonGroup, + MoltenPushButtonDropdown, + } from "@intechstudio/grid-uikit"; import { runtime_manager } from "../../runtime/runtime-manager.store"; import { GridRuntime } from "../../runtime/runtime"; import { appSettings } from "../../runtime/app-helper.store"; @@ -59,6 +63,7 @@ let isChanges = false; let changes = 0; + let clearButtonWidth = 0; let runtime: GridRuntime; let buffer: WriteBuffer; @@ -307,29 +312,48 @@ {#if profileTypeOptions.length > 0} -
- {}} - bind:target={$selectedProfileType} - options={profileTypeOptions} - /> -
+ +
+ {}} + bind:target={$selectedProfileType} + options={profileTypeOptions} + bind:width={clearButtonWidth} + decorations={["", ""]} + grouped={true} + /> +
+
+ +
+
{/if} {#if import.meta.env.VITE_BUILD_TARGET === "web"} Date: Sun, 7 Dec 2025 18:11:19 +0100 Subject: [PATCH 07/11] SUKU ControlGroup removed from SimpleColor --- src/renderer/config-blocks/SimpleColor.svelte | 186 ++++++++---------- 1 file changed, 83 insertions(+), 103 deletions(-) diff --git a/src/renderer/config-blocks/SimpleColor.svelte b/src/renderer/config-blocks/SimpleColor.svelte index 7edf3ec4a..dc3d81beb 100644 --- a/src/renderer/config-blocks/SimpleColor.svelte +++ b/src/renderer/config-blocks/SimpleColor.svelte @@ -33,6 +33,9 @@ + {#if $appSettings.persistent.userLevelMinimalist == false} -
+ -
+ {/if} - -
- -
- - -
- Mixer -
+
+ { + const { color } = e.detail; + data.updatePickerColor(color); + sendData($data); + }} + on:change={(e) => { + dispatch("sync"); + }} />
-
-
- {#each [SimpleColor.Channel.RED, SimpleColor.Channel.GREEN, SimpleColor.Channel.BLUE] as channel} -
- {channel[0].toLocaleUpperCase()} - { - const { value, validationError } = e.detail; - data.updateRGBAChannelValue( - action, - value, - validationError, - channel, - ); - sendData($data); - }} - on:change={() => dispatch("sync")} - postProcessor={GridScript.shortify} - preProcessor={GridScript.humanize} - /> -
- {/each} -
-
- { - const { color } = e.detail; - data.updatePickerColor(color); - sendData($data); - }} - on:change={(e) => { - dispatch("sync"); - }} - /> -
-
- {SimpleColor.Channel.ALPHA[0].toLocaleUpperCase()} - { - const { value, validationError } = e.detail; - data.updateRGBAChannelValue( - action, - value, - validationError, - SimpleColor.Channel.ALPHA, - ); - sendData($data); - }} - on:change={() => dispatch("sync")} - postProcessor={GridScript.shortify} - preProcessor={GridScript.humanize} - /> -
-
- { - const { value } = e.detail; - data.updateAlphaSliderValue(value); - sendData($data); - }} - on:commit={() => { - dispatch("sync"); - }} - /> -
-
- + + + { + const { value, validationError } = e.detail; + data.updateRGBAChannelValue( + action, + value, + validationError, + SimpleColor.Channel.ALPHA, + ); + sendData($data); + }} + on:change={() => dispatch("sync")} + postProcessor={GridScript.shortify} + preProcessor={GridScript.humanize} + /> + { + const { value } = e.detail; + data.updateAlphaSliderValue(value); + sendData($data); + }} + on:commit={() => { + dispatch("sync"); + }} + /> + + + + {#each [SimpleColor.Channel.RED, SimpleColor.Channel.GREEN, SimpleColor.Channel.BLUE] as channel} + { + const { value, validationError } = e.detail; + data.updateRGBAChannelValue(action, value, validationError, channel); + sendData($data); + }} + on:change={() => dispatch("sync")} + postProcessor={GridScript.shortify} + preProcessor={GridScript.humanize} + /> + {/each} + {#if $appSettings.persistent.userLevelMinimalist == false} Date: Sun, 7 Dec 2025 19:06:01 +0100 Subject: [PATCH 08/11] Migrate from MoltenButton to MoltenPushButton MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Update Preferences.svelte to use MoltenPushButton (7 instances) - Update RawCode.svelte to use MoltenPushButton (3 instances) - Replace 'title' prop with 'text' prop - Replace 'border' prop with 'style' prop (normal/outlined) - Use 'outlined' style for warning buttons (previously yellow-500 border) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- src/renderer/config-blocks/RawCode.svelte | 20 ++++---- .../panels/preferences/Preferences.svelte | 46 +++++++++++++------ 2 files changed, 41 insertions(+), 25 deletions(-) diff --git a/src/renderer/config-blocks/RawCode.svelte b/src/renderer/config-blocks/RawCode.svelte index c31262d4e..f4bb34d1f 100644 --- a/src/renderer/config-blocks/RawCode.svelte +++ b/src/renderer/config-blocks/RawCode.svelte @@ -42,7 +42,7 @@ import SendFeedback from "../main/user-interface/SendFeedback.svelte"; import TooltipQuestion from "../../renderer/main/user-interface/tooltip/TooltipQuestion.svelte"; - import { MoltenButton } from "@intechstudio/grid-uikit"; + import { MoltenPushButton } from "@intechstudio/grid-uikit"; import { mergeActionsToCode } from "../runtime/operations"; import { GridAction, GridEvent } from "../runtime/runtime"; import { Analytics } from "../runtime/analytics.js"; @@ -128,23 +128,23 @@
{#if availablePackage?.isDownloaded === true} - {:else if availablePackage?.installProgress !== undefined}

Installing package...

{:else if availablePackage?.isDownloaded === false} - {:else} - {/if} diff --git a/src/renderer/main/panels/preferences/Preferences.svelte b/src/renderer/main/panels/preferences/Preferences.svelte index dd642106b..9ebdfc0c0 100644 --- a/src/renderer/main/panels/preferences/Preferences.svelte +++ b/src/renderer/main/panels/preferences/Preferences.svelte @@ -11,7 +11,7 @@ MeltRadio, MeltSlider, MeltSelect, - MoltenButton, + MoltenPushButton, MoltenInput, } from "@intechstudio/grid-uikit"; import { reduced_motion_store } from "../../../runtime/animations.js"; @@ -121,8 +121,9 @@ max={$appSettings.maxSize} step={$appSettings.stepSize} /> - { $appSettings.persistent.size = $appSettings.defaultSize; }} @@ -158,8 +159,9 @@ max={36} step={0.1} /> - { $appSettings.persistent.fontSize = 12; }} @@ -243,9 +245,9 @@ Reset all preferences settings to their default values. This will not affect your profiles or other data. - @@ -269,8 +271,9 @@ bind:target={$appSettings.persistent.analyticsEnabled} title={"Track interaction with the Editor application"} /> - @@ -289,13 +292,25 @@ disabled={true} bind:target={$appSettings.persistent.profileFolder} /> - + Open user folder to view the contents - + Reset folder selection to default - + {/if} @@ -324,8 +339,9 @@ Erase the NVM memory of the module. This will take some time. - { runtime_manager.NVMErase(); }} From cc273270fda0f7090e4dc02734256ee5b58d0575 Mon Sep 17 00:00:00 2001 From: gergelybartha Date: Thu, 8 Jan 2026 15:10:05 +0100 Subject: [PATCH 09/11] test --- package-lock.json | 286 ++++++++++---------------- src/content/bu16-test 1.json | 312 ++++++++++++++++++++++++++++ src/content/ef44-test 1.json | 192 +++++++++++++++++ src/content/en16-test 1.json | 376 ++++++++++++++++++++++++++++++++++ src/content/pbf4-test 1.json | 244 ++++++++++++++++++++++ src/content/po16-test 1.json | 312 ++++++++++++++++++++++++++++ src/content/tek2-test 1.json | 218 ++++++++++++++++++++ src/content/vsn1l-test 1.json | 282 +++++++++++++++++++++++++ src/content/vsn1r-test 1.json | 278 +++++++++++++++++++++++++ 9 files changed, 2318 insertions(+), 182 deletions(-) create mode 100644 src/content/bu16-test 1.json create mode 100644 src/content/ef44-test 1.json create mode 100644 src/content/en16-test 1.json create mode 100644 src/content/pbf4-test 1.json create mode 100644 src/content/po16-test 1.json create mode 100644 src/content/tek2-test 1.json create mode 100644 src/content/vsn1l-test 1.json create mode 100644 src/content/vsn1r-test 1.json diff --git a/package-lock.json b/package-lock.json index 758bc5737..750b2bfa6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -137,6 +137,7 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.10.tgz", "integrity": "sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==", "license": "MIT", + "peer": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.26.2", @@ -397,7 +398,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "license": "MIT", - "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -410,7 +410,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "license": "MIT", - "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -423,7 +422,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "license": "MIT", - "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -436,7 +434,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", "license": "MIT", - "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -452,7 +449,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", "license": "MIT", - "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -468,7 +464,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "license": "MIT", - "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -481,7 +476,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "license": "MIT", - "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -494,7 +488,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", "license": "MIT", - "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -510,7 +503,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "license": "MIT", - "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -523,7 +515,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "license": "MIT", - "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -536,7 +527,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "license": "MIT", - "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -549,7 +539,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "license": "MIT", - "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -562,7 +551,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "license": "MIT", - "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -575,7 +563,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "license": "MIT", - "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -588,7 +575,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", "license": "MIT", - "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -604,7 +590,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "license": "MIT", - "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -620,7 +605,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz", "integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==", "license": "MIT", - "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -696,8 +680,7 @@ "version": "0.2.3", "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/@develar/schema-utils": { "version": "2.6.5", @@ -1094,6 +1077,43 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/@electron/windows-sign": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@electron/windows-sign/-/windows-sign-1.2.2.tgz", + "integrity": "sha512-dfZeox66AvdPtb2lD8OsIIQh12Tp0GNCRUDfBHIKGpbmopZto2/A8nSpYYLoedPIHpqkeblZ/k8OV0Gy7PYuyQ==", + "dev": true, + "license": "BSD-2-Clause", + "optional": true, + "dependencies": { + "cross-dirname": "^0.1.0", + "debug": "^4.3.4", + "fs-extra": "^11.1.1", + "minimist": "^1.2.8", + "postject": "^1.0.0-alpha.6" + }, + "bin": { + "electron-windows-sign": "bin/electron-windows-sign.js" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@electron/windows-sign/node_modules/fs-extra": { + "version": "11.3.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.3.tgz", + "integrity": "sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, "node_modules/@esbuild/aix-ppc64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", @@ -1603,6 +1623,7 @@ "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.11.2.tgz", "integrity": "sha512-bFee0hPJZBzNtiizRxdgsu8C9DW3mn1y0OJJ4zHQsccjDYzGOfvN0G3CMGyBIiwNctsFpQa8orbp2IKywoUeqA==", "license": "Apache-2.0", + "peer": true, "dependencies": { "@firebase/component": "0.6.13", "@firebase/logger": "0.4.4", @@ -1669,6 +1690,7 @@ "resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.2.51.tgz", "integrity": "sha512-pxF1+coABt+ugqNI0YXDlmkKv4kh3pjI5BqIJJ1VXBo42OZbKMsQbFeos14YBrWwiqqSjUvQ70FBNsv5E2wuxg==", "license": "Apache-2.0", + "peer": true, "dependencies": { "@firebase/app": "0.11.2", "@firebase/component": "0.6.13", @@ -1684,7 +1706,8 @@ "version": "0.9.3", "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.9.3.tgz", "integrity": "sha512-kRVpIl4vVGJ4baogMDINbyrIOtOxqhkZQg4jTq3l8Lw6WSk0xfpEYzezFu+Kl4ve4fbPl79dvwRtaFqAC/ucCw==", - "license": "Apache-2.0" + "license": "Apache-2.0", + "peer": true }, "node_modules/@firebase/auth": { "version": "1.9.1", @@ -2135,6 +2158,7 @@ "integrity": "sha512-PzSrhIr++KI6y4P6C/IdgBNMkEx0Ex6554/cYd0Hm+ovyFSJtJXqb/3OSIdnBoa2cpwZT1/GW56EmRc5qEc5fQ==", "hasInstallScript": true, "license": "Apache-2.0", + "peer": true, "dependencies": { "tslib": "^2.1.0" }, @@ -2432,7 +2456,6 @@ "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "license": "ISC", - "peer": true, "dependencies": { "camelcase": "^5.3.1", "find-up": "^4.1.0", @@ -2449,7 +2472,6 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "license": "MIT", - "peer": true, "dependencies": { "sprintf-js": "~1.0.2" } @@ -2459,7 +2481,6 @@ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "license": "MIT", - "peer": true, "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -2473,7 +2494,6 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "license": "MIT", - "peer": true, "engines": { "node": ">=8" } @@ -2482,15 +2502,13 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "license": "BSD-3-Clause", - "peer": true + "license": "BSD-3-Clause" }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "license": "MIT", - "peer": true, "engines": { "node": ">=8" } @@ -2500,7 +2518,6 @@ "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", "license": "MIT", - "peer": true, "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -2518,7 +2535,6 @@ "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", "license": "MIT", - "peer": true, "dependencies": { "@jest/console": "^29.7.0", "@jest/reporters": "^29.7.0", @@ -2566,7 +2582,6 @@ "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", "license": "MIT", - "peer": true, "dependencies": { "@jest/fake-timers": "^29.7.0", "@jest/types": "^29.6.3", @@ -2582,7 +2597,6 @@ "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", "license": "MIT", - "peer": true, "dependencies": { "expect": "^29.7.0", "jest-snapshot": "^29.7.0" @@ -2596,7 +2610,6 @@ "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", "license": "MIT", - "peer": true, "dependencies": { "jest-get-type": "^29.6.3" }, @@ -2609,7 +2622,6 @@ "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", "license": "MIT", - "peer": true, "dependencies": { "@jest/types": "^29.6.3", "@sinonjs/fake-timers": "^10.0.2", @@ -2627,7 +2639,6 @@ "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", "license": "MIT", - "peer": true, "dependencies": { "@jest/environment": "^29.7.0", "@jest/expect": "^29.7.0", @@ -2643,7 +2654,6 @@ "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", "license": "MIT", - "peer": true, "dependencies": { "@bcoe/v8-coverage": "^0.2.3", "@jest/console": "^29.7.0", @@ -2699,7 +2709,6 @@ "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", "license": "MIT", - "peer": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.18", "callsites": "^3.0.0", @@ -2714,7 +2723,6 @@ "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", "license": "MIT", - "peer": true, "dependencies": { "@jest/console": "^29.7.0", "@jest/types": "^29.6.3", @@ -2730,7 +2738,6 @@ "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", "license": "MIT", - "peer": true, "dependencies": { "@jest/test-result": "^29.7.0", "graceful-fs": "^4.2.9", @@ -2746,7 +2753,6 @@ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", "license": "MIT", - "peer": true, "dependencies": { "@babel/core": "^7.11.6", "@jest/types": "^29.6.3", @@ -2909,6 +2915,7 @@ "integrity": "sha512-KZHu/I2MRmvRE5fIHSbGTZRlbfcu2uV6cit+1kTYKr4isuDy/T2+e4OngKYxNTvyB+zA5tp7BXUOMkoKrpqkCw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@floating-ui/core": "^1.3.1", "@floating-ui/dom": "^1.4.5", @@ -3428,7 +3435,6 @@ "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", "license": "BSD-3-Clause", - "peer": true, "dependencies": { "type-detect": "4.0.8" } @@ -3438,7 +3444,6 @@ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "license": "MIT", - "peer": true, "engines": { "node": ">=4" } @@ -3448,7 +3453,6 @@ "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "license": "BSD-3-Clause", - "peer": true, "dependencies": { "@sinonjs/commons": "^3.0.0" } @@ -3459,6 +3463,7 @@ "integrity": "sha512-erhNtXxE5/6xGZz/M9eXsmI7Pxa6MS7jyTy06zN3Ck++ldrppOnOlJwHHTsMC7DHDQdgUp4NAc4cDNQ9eGdB/w==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@sveltejs/vite-plugin-svelte-inspector": "^1.0.4", "debug": "^4.3.4", @@ -3531,7 +3536,6 @@ "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "license": "MIT", - "peer": true, "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", @@ -3545,7 +3549,6 @@ "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", "license": "MIT", - "peer": true, "dependencies": { "@babel/types": "^7.0.0" } @@ -3555,7 +3558,6 @@ "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", "license": "MIT", - "peer": true, "dependencies": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" @@ -3566,7 +3568,6 @@ "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz", "integrity": "sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==", "license": "MIT", - "peer": true, "dependencies": { "@babel/types": "^7.20.7" } @@ -3632,7 +3633,6 @@ "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", "license": "MIT", - "peer": true, "dependencies": { "@types/node": "*" } @@ -3744,8 +3744,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/@types/verror": { "version": "1.10.11", @@ -3946,6 +3945,7 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -4039,6 +4039,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "license": "MIT", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -4122,7 +4123,6 @@ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "license": "MIT", - "peer": true, "dependencies": { "type-fest": "^0.21.3" }, @@ -4138,7 +4138,6 @@ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "license": "(MIT OR CC0-1.0)", - "peer": true, "engines": { "node": ">=10" }, @@ -4499,7 +4498,6 @@ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", "license": "MIT", - "peer": true, "dependencies": { "@jest/transform": "^29.7.0", "@types/babel__core": "^7.1.14", @@ -4521,7 +4519,6 @@ "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "license": "BSD-3-Clause", - "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", @@ -4538,7 +4535,6 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "license": "BSD-3-Clause", - "peer": true, "dependencies": { "@babel/core": "^7.12.3", "@babel/parser": "^7.14.7", @@ -4555,7 +4551,6 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "license": "ISC", - "peer": true, "bin": { "semver": "bin/semver.js" } @@ -4565,7 +4560,6 @@ "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", "license": "MIT", - "peer": true, "dependencies": { "@babel/template": "^7.3.3", "@babel/types": "^7.3.3", @@ -4581,7 +4575,6 @@ "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz", "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==", "license": "MIT", - "peer": true, "dependencies": { "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-bigint": "^7.8.3", @@ -4608,7 +4601,6 @@ "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", "license": "MIT", - "peer": true, "dependencies": { "babel-plugin-jest-hoist": "^29.6.3", "babel-preset-current-node-syntax": "^1.0.0" @@ -4770,6 +4762,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "caniuse-lite": "^1.0.30001688", "electron-to-chromium": "^1.5.73", @@ -4800,7 +4793,6 @@ "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "license": "Apache-2.0", - "peer": true, "dependencies": { "node-int64": "^0.4.0" } @@ -5074,7 +5066,6 @@ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "license": "MIT", - "peer": true, "engines": { "node": ">=6" } @@ -5149,7 +5140,6 @@ "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "license": "MIT", - "peer": true, "engines": { "node": ">=10" } @@ -5269,8 +5259,7 @@ "version": "1.4.3", "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz", "integrity": "sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/clean-stack": { "version": "2.2.0", @@ -5368,7 +5357,6 @@ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "license": "MIT", - "peer": true, "engines": { "iojs": ">= 1.0.0", "node": ">= 0.12.0" @@ -5403,8 +5391,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/color-convert": { "version": "2.0.1", @@ -5610,7 +5597,6 @@ "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", "license": "MIT", - "peer": true, "dependencies": { "@jest/types": "^29.6.3", "chalk": "^4.0.0", @@ -5627,6 +5613,14 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/cross-dirname": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/cross-dirname/-/cross-dirname-0.1.0.tgz", + "integrity": "sha512-+R08/oI0nl3vfPcqftZRpytksBXDzOUveBq/NBVx0sUp1axwzPQrKinNx5yd5sxPu8j1wIy8AfnVQ+5eFdha6Q==", + "dev": true, + "license": "MIT", + "optional": true + }, "node_modules/cross-env": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", @@ -5851,7 +5845,6 @@ "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", "license": "MIT", - "peer": true, "peerDependencies": { "babel-plugin-macros": "^3.1.0" }, @@ -5999,7 +5992,6 @@ "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "license": "MIT", - "peer": true, "engines": { "node": ">=8" } @@ -6157,6 +6149,7 @@ "integrity": "sha512-C+SaRneQ11OxG99EeGp3TvPrlkW9ZaiukxB9Z7+OhhO1ge0nAtq9uD0ILt1JpvNAQ1de3gzX7TFRYJrSGsNe+Q==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "app-builder-lib": "26.0.11", "builder-util": "26.0.11", @@ -6548,7 +6541,6 @@ "dev": true, "hasInstallScript": true, "license": "MIT", - "peer": true, "dependencies": { "@electron/asar": "^3.2.1", "debug": "^4.1.1", @@ -6569,7 +6561,6 @@ "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -6585,7 +6576,6 @@ "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "dev": true, "license": "MIT", - "peer": true, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -6596,7 +6586,6 @@ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">= 4.0.0" } @@ -6632,7 +6621,6 @@ "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -6646,16 +6634,6 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "license": "MIT" }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "license": "MIT", - "optional": true, - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, "node_modules/encoding-sniffer": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/encoding-sniffer/-/encoding-sniffer-0.2.0.tgz", @@ -7263,7 +7241,6 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "license": "MIT", - "peer": true, "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", @@ -7287,7 +7264,6 @@ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "license": "MIT", - "peer": true, "engines": { "node": ">=10" }, @@ -7299,7 +7275,6 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "peer": true, "engines": { "node": ">= 0.8.0" } @@ -7318,7 +7293,6 @@ "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", "license": "MIT", - "peer": true, "dependencies": { "@jest/expect-utils": "^29.7.0", "jest-get-type": "^29.6.3", @@ -7505,7 +7479,6 @@ "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "license": "Apache-2.0", - "peer": true, "dependencies": { "bser": "2.1.1" } @@ -7576,7 +7549,6 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "license": "MIT", - "peer": true, "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -7965,7 +7937,6 @@ "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "license": "MIT", - "peer": true, "engines": { "node": ">=8.0.0" } @@ -8441,8 +8412,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/htmlparser2": { "version": "9.1.0", @@ -8523,7 +8493,6 @@ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "license": "Apache-2.0", - "peer": true, "engines": { "node": ">=10.17.0" } @@ -8632,7 +8601,6 @@ "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", "license": "MIT", - "peer": true, "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" @@ -8929,7 +8897,6 @@ "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "license": "MIT", - "peer": true, "engines": { "node": ">=6" } @@ -9259,7 +9226,6 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "license": "BSD-3-Clause", - "peer": true, "engines": { "node": ">=8" } @@ -9269,7 +9235,6 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", "license": "BSD-3-Clause", - "peer": true, "dependencies": { "@babel/core": "^7.23.9", "@babel/parser": "^7.23.9", @@ -9286,7 +9251,6 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "license": "BSD-3-Clause", - "peer": true, "dependencies": { "istanbul-lib-coverage": "^3.0.0", "make-dir": "^4.0.0", @@ -9301,7 +9265,6 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "license": "BSD-3-Clause", - "peer": true, "dependencies": { "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", @@ -9316,7 +9279,6 @@ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "license": "BSD-3-Clause", - "peer": true, "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" @@ -9413,7 +9375,6 @@ "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", "license": "MIT", - "peer": true, "dependencies": { "execa": "^5.0.0", "jest-util": "^29.7.0", @@ -9428,7 +9389,6 @@ "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", "license": "MIT", - "peer": true, "dependencies": { "@jest/environment": "^29.7.0", "@jest/expect": "^29.7.0", @@ -9460,7 +9420,6 @@ "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", "license": "MIT", - "peer": true, "dependencies": { "@jest/core": "^29.7.0", "@jest/test-result": "^29.7.0", @@ -9494,7 +9453,6 @@ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", "license": "MIT", - "peer": true, "dependencies": { "@babel/core": "^7.11.6", "@jest/test-sequencer": "^29.7.0", @@ -9540,7 +9498,6 @@ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", "license": "MIT", - "peer": true, "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^29.6.3", @@ -9556,7 +9513,6 @@ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", "license": "MIT", - "peer": true, "dependencies": { "detect-newline": "^3.0.0" }, @@ -9569,7 +9525,6 @@ "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", "license": "MIT", - "peer": true, "dependencies": { "@jest/types": "^29.6.3", "chalk": "^4.0.0", @@ -9586,7 +9541,6 @@ "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", "license": "MIT", - "peer": true, "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", @@ -9604,7 +9558,6 @@ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", "license": "MIT", - "peer": true, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } @@ -9614,7 +9567,6 @@ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", "license": "MIT", - "peer": true, "dependencies": { "@jest/types": "^29.6.3", "@types/graceful-fs": "^4.1.3", @@ -9640,7 +9592,6 @@ "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", "license": "MIT", - "peer": true, "dependencies": { "jest-get-type": "^29.6.3", "pretty-format": "^29.7.0" @@ -9654,7 +9605,6 @@ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", "license": "MIT", - "peer": true, "dependencies": { "chalk": "^4.0.0", "jest-diff": "^29.7.0", @@ -9670,7 +9620,6 @@ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", "license": "MIT", - "peer": true, "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^29.6.3", @@ -9691,7 +9640,6 @@ "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", "license": "MIT", - "peer": true, "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -9706,7 +9654,6 @@ "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "license": "MIT", - "peer": true, "engines": { "node": ">=6" }, @@ -9724,7 +9671,6 @@ "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", "license": "MIT", - "peer": true, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } @@ -9734,7 +9680,6 @@ "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", "license": "MIT", - "peer": true, "dependencies": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", @@ -9755,7 +9700,6 @@ "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", "license": "MIT", - "peer": true, "dependencies": { "jest-regex-util": "^29.6.3", "jest-snapshot": "^29.7.0" @@ -9769,7 +9713,6 @@ "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", "license": "MIT", - "peer": true, "dependencies": { "@jest/console": "^29.7.0", "@jest/environment": "^29.7.0", @@ -9802,7 +9745,6 @@ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "license": "MIT", - "peer": true, "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -9813,7 +9755,6 @@ "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", "license": "MIT", - "peer": true, "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", @@ -9847,7 +9788,6 @@ "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", "license": "MIT", - "peer": true, "dependencies": { "@babel/core": "^7.11.6", "@babel/generator": "^7.7.2", @@ -9896,7 +9836,6 @@ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", "license": "MIT", - "peer": true, "dependencies": { "@jest/types": "^29.6.3", "camelcase": "^6.2.0", @@ -9914,7 +9853,6 @@ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "license": "MIT", - "peer": true, "engines": { "node": ">=10" }, @@ -9927,7 +9865,6 @@ "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", "license": "MIT", - "peer": true, "dependencies": { "@jest/test-result": "^29.7.0", "@jest/types": "^29.6.3", @@ -9947,7 +9884,6 @@ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", "license": "MIT", - "peer": true, "dependencies": { "@types/node": "*", "jest-util": "^29.7.0", @@ -9963,7 +9899,6 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "license": "MIT", - "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -10047,8 +9982,7 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/json-schema-traverse": { "version": "0.4.1", @@ -10151,7 +10085,6 @@ "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "license": "MIT", - "peer": true, "engines": { "node": ">=6" } @@ -10256,7 +10189,6 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "license": "MIT", - "peer": true, "dependencies": { "p-locate": "^4.1.0" }, @@ -10373,7 +10305,6 @@ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "license": "MIT", - "peer": true, "dependencies": { "semver": "^7.5.3" }, @@ -10475,7 +10406,6 @@ "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "license": "BSD-3-Clause", - "peer": true, "dependencies": { "tmpl": "1.0.5" } @@ -11008,7 +10938,8 @@ "version": "0.34.1", "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.34.1.tgz", "integrity": "sha512-FKc80TyiMaruhJKKPz5SpJPIjL+dflGvz4CpuThaPMc94AyN7SeC9HQ8hrvaxX7EyHdJcUY5i4D0gNyJj1vSZQ==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/monaco-types": { "version": "0.1.0", @@ -11201,8 +11132,7 @@ "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/node-releases": { "version": "2.0.19", @@ -11494,7 +11424,6 @@ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "license": "MIT", - "peer": true, "dependencies": { "path-key": "^3.0.0" }, @@ -11705,7 +11634,6 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "license": "MIT", - "peer": true, "dependencies": { "p-limit": "^2.2.0" }, @@ -11718,7 +11646,6 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "license": "MIT", - "peer": true, "dependencies": { "p-try": "^2.0.0" }, @@ -11789,7 +11716,6 @@ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "license": "MIT", - "peer": true, "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -12036,7 +11962,6 @@ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "license": "MIT", - "peer": true, "dependencies": { "find-up": "^4.0.0" }, @@ -12227,6 +12152,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "nanoid": "^3.3.8", "picocolors": "^1.1.1", @@ -12290,6 +12216,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "lilconfig": "^3.0.0", "yaml": "^2.3.4" @@ -12375,6 +12302,34 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/postject": { + "version": "1.0.0-alpha.6", + "resolved": "https://registry.npmjs.org/postject/-/postject-1.0.0-alpha.6.tgz", + "integrity": "sha512-b9Eb8h2eVqNE8edvKdwqkrY6O7kAwmI8kcnBv1NScolYJbo59XUF0noFq+lxbC1yN20bmC0WBEbDC5H/7ASb0A==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "commander": "^9.4.0" + }, + "bin": { + "postject": "dist/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/postject/node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": "^12.20.0 || >=14" + } + }, "node_modules/prebuild-install": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz", @@ -12416,6 +12371,7 @@ "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==", "dev": true, "license": "MIT", + "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -12508,7 +12464,6 @@ "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "license": "MIT", - "peer": true, "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" @@ -12522,7 +12477,6 @@ "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "license": "MIT", - "peer": true, "engines": { "node": ">=6" } @@ -12602,8 +12556,7 @@ "url": "https://opencollective.com/fast-check" } ], - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/qs": { "version": "6.14.0", @@ -12901,7 +12854,6 @@ "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "license": "MIT", - "peer": true, "dependencies": { "resolve-from": "^5.0.0" }, @@ -12914,7 +12866,6 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "license": "MIT", - "peer": true, "engines": { "node": ">=8" } @@ -12933,7 +12884,6 @@ "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", "license": "MIT", - "peer": true, "engines": { "node": ">=10" } @@ -13607,8 +13557,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/slash": { "version": "3.0.0", @@ -13819,7 +13768,6 @@ "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "license": "MIT", - "peer": true, "dependencies": { "escape-string-regexp": "^2.0.0" }, @@ -13832,7 +13780,6 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "license": "MIT", - "peer": true, "engines": { "node": ">=8" } @@ -13875,7 +13822,6 @@ "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "license": "MIT", - "peer": true, "dependencies": { "char-regex": "^1.0.2", "strip-ansi": "^6.0.0" @@ -14023,7 +13969,6 @@ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "license": "MIT", - "peer": true, "engines": { "node": ">=8" } @@ -14033,7 +13978,6 @@ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "license": "MIT", - "peer": true, "engines": { "node": ">=6" } @@ -14205,6 +14149,7 @@ "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.19.tgz", "integrity": "sha512-IY1rnGr6izd10B0A8LqsBfmlT5OILVuZ7XsI0vdGPEvuonFV7NYEUK4dAkm9Zg2q0Um92kYjTpS1CAP3Nh/KWw==", "license": "MIT", + "peer": true, "dependencies": { "@ampproject/remapping": "^2.2.1", "@jridgewell/sourcemap-codec": "^1.4.15", @@ -14280,21 +14225,6 @@ } } }, - "node_modules/svelte-check/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/svelte-check/node_modules/readdirp": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", @@ -14626,7 +14556,6 @@ "integrity": "sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "mkdirp": "^0.5.1", "rimraf": "~2.6.2" @@ -14652,7 +14581,6 @@ "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "minimist": "^1.2.6" }, @@ -14667,7 +14595,6 @@ "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, "license": "ISC", - "peer": true, "dependencies": { "glob": "^7.1.3" }, @@ -14680,7 +14607,6 @@ "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "license": "ISC", - "peer": true, "dependencies": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", @@ -14695,7 +14621,6 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "license": "MIT", - "peer": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -14706,7 +14631,6 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "license": "ISC", - "peer": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -14829,8 +14753,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "license": "BSD-3-Clause", - "peer": true + "license": "BSD-3-Clause" }, "node_modules/to-regex-range": { "version": "5.0.1", @@ -15069,6 +14992,7 @@ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -15263,7 +15187,6 @@ "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", "license": "ISC", - "peer": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", @@ -15305,6 +15228,7 @@ "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.14.tgz", "integrity": "sha512-+v57oAaoYNnO3hIu5Z/tJRZjq5aHM2zDve9YZ8HngVHbhk66RStobhb1sqPMIPEleV6cNKYK4eGrAbE9Ulbl2g==", "license": "MIT", + "peer": true, "dependencies": { "esbuild": "^0.18.10", "postcss": "^8.4.27", @@ -16671,7 +16595,6 @@ "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "license": "Apache-2.0", - "peer": true, "dependencies": { "makeerror": "1.0.12" } @@ -16942,7 +16865,6 @@ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "license": "ISC", - "peer": true, "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^3.0.7" diff --git a/src/content/bu16-test 1.json b/src/content/bu16-test 1.json new file mode 100644 index 000000000..ba9686d52 --- /dev/null +++ b/src/content/bu16-test 1.json @@ -0,0 +1,312 @@ +{ + "id": "ae006167-4740-4242-b867-49a349df5a9c", + "modifiedAt": "2026-01-08T13:00:36.135Z", + "name": "bu16-test", + "description": "Click here to add description", + "type": "BU16", + "version": { + "major": "1", + "minor": "6", + "patch": "2" + }, + "configType": "profile", + "configs": [ + { + "controlElementNumber": 0, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,17,0,1},{255,4,0,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 1, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 2, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 3, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 4, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 5, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 6, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 7, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 8, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 9, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 10, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 11, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 12, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 13, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 14, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 15, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 255, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[page init]]" + }, + { + "event": 4, + "config": "--[[@cb]] gpl(gpn())" + }, + { + "event": 5, + "config": "--[[@l]] local ch,cmd,param1,param2=midi.ch,midi.cmd,midi.p1,midi.p2" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + } + ], + "createdAt": "2026-01-08T13:00:36.135Z", + "virtualPath": "", + "cloudId": "DxvZGlDUjp9y3K9js7DH", + "owner": "oMiJQcb4xqTI7XJlGZItEH2eKtm2" +} \ No newline at end of file diff --git a/src/content/ef44-test 1.json b/src/content/ef44-test 1.json new file mode 100644 index 000000000..136f6df45 --- /dev/null +++ b/src/content/ef44-test 1.json @@ -0,0 +1,192 @@ +{ + "id": "80c23ceb-1b58-4a3d-84ac-cbe64bda938a", + "modifiedAt": "2026-01-08T13:00:47.340Z", + "name": "ef44-test", + "description": "Click here to add description", + "type": "EF44", + "version": { + "major": "1", + "minor": "6", + "patch": "2" + }, + "configType": "profile", + "configs": [ + { + "controlElementNumber": 0, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,17,0,1},{255,4,0,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 2, + "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 1, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Encoder Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 2, + "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 2, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Encoder Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 2, + "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 3, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Encoder Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 2, + "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 4, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Potmeter Init]]" + }, + { + "event": 1, + "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 5, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Potmeter Init]]" + }, + { + "event": 1, + "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 6, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Potmeter Init]]" + }, + { + "event": 1, + "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 7, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Potmeter Init]]" + }, + { + "event": 1, + "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 255, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[page init]]" + }, + { + "event": 4, + "config": "--[[@cb]] gpl(gpn())" + }, + { + "event": 5, + "config": "--[[@l]] local ch,cmd,param1,param2=midi.ch,midi.cmd,midi.p1,midi.p2" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + } + ], + "createdAt": "2026-01-08T13:00:47.340Z", + "virtualPath": "", + "cloudId": "C1B7LdlQtW3z9dmG0Jtw", + "owner": "oMiJQcb4xqTI7XJlGZItEH2eKtm2" +} \ No newline at end of file diff --git a/src/content/en16-test 1.json b/src/content/en16-test 1.json new file mode 100644 index 000000000..961d06c58 --- /dev/null +++ b/src/content/en16-test 1.json @@ -0,0 +1,376 @@ +{ + "id": "99dc51c7-35d2-4f72-9104-288b834f605c", + "modifiedAt": "2026-01-08T13:00:55.808Z", + "name": "en16-test", + "description": "Click here to add description", + "type": "EN16", + "version": { + "major": "1", + "minor": "6", + "patch": "2" + }, + "configType": "profile", + "configs": [ + { + "controlElementNumber": 0, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,17,0,1},{255,4,0,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 2, + "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 1, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Encoder Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 2, + "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 2, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Encoder Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 2, + "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 3, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Encoder Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 2, + "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 4, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Encoder Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 2, + "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 5, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Encoder Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 2, + "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 6, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,17,0,1},{255,4,0,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 2, + "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 7, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Encoder Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 2, + "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 8, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Encoder Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 2, + "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 9, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Encoder Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 2, + "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 10, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Encoder Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 2, + "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 11, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Encoder Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 2, + "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 12, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Encoder Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 2, + "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 13, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Encoder Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 2, + "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 14, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Encoder Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 2, + "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 15, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Encoder Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 2, + "config": "--[[@sec]] self:emo(0) self:ev0(50) self:emi(0) self:ema(127) self:ese(100)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 255, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[page init]]" + }, + { + "event": 4, + "config": "--[[@cb]] gpl(gpn())" + }, + { + "event": 5, + "config": "--[[@l]] local ch,cmd,param1,param2=midi.ch,midi.cmd,midi.p1,midi.p2" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + } + ], + "createdAt": "2026-01-08T13:00:55.808Z", + "virtualPath": "", + "cloudId": "danYTylkBeFhRTD48Zsz", + "owner": "oMiJQcb4xqTI7XJlGZItEH2eKtm2" +} \ No newline at end of file diff --git a/src/content/pbf4-test 1.json b/src/content/pbf4-test 1.json new file mode 100644 index 000000000..4bd7fb22d --- /dev/null +++ b/src/content/pbf4-test 1.json @@ -0,0 +1,244 @@ +{ + "id": "c6597b1e-3d47-4ec8-bbb4-288bb095aa51", + "modifiedAt": "2026-01-08T13:01:23.695Z", + "name": "pbf4-test", + "description": "Click here to add description", + "type": "PBF4", + "version": { + "major": "1", + "minor": "6", + "patch": "2" + }, + "configType": "profile", + "configs": [ + { + "controlElementNumber": 0, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Potmeter Init]]" + }, + { + "event": 1, + "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gmsh]] gms(0,176,0,val//128) gms(0,176,32,val%128)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 1, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Potmeter Init]]" + }, + { + "event": 1, + "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 2, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Potmeter Init]]" + }, + { + "event": 1, + "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 3, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Potmeter Init]]" + }, + { + "event": 1, + "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 4, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Potmeter Init]]" + }, + { + "event": 1, + "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 5, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Potmeter Init]]" + }, + { + "event": 1, + "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 6, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Potmeter Init]]" + }, + { + "event": 1, + "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 7, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Potmeter Init]]" + }, + { + "event": 1, + "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 8, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 9, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 10, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 11, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 255, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[page init]]" + }, + { + "event": 4, + "config": "--[[@cb]] gpl(gpn())" + }, + { + "event": 5, + "config": "--[[@l]] local ch,cmd,param1,param2=midi.ch,midi.cmd,midi.p1,midi.p2" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + } + ], + "createdAt": "2026-01-08T13:01:23.695Z", + "virtualPath": "", + "cloudId": "mrSkr1YnGquVCF2x3JXJ", + "owner": "oMiJQcb4xqTI7XJlGZItEH2eKtm2" +} \ No newline at end of file diff --git a/src/content/po16-test 1.json b/src/content/po16-test 1.json new file mode 100644 index 000000000..625b8b886 --- /dev/null +++ b/src/content/po16-test 1.json @@ -0,0 +1,312 @@ +{ + "id": "dd43ab31-aaee-49f6-97d9-1493c384c83b", + "modifiedAt": "2026-01-08T13:01:32.034Z", + "name": "po16-test", + "description": "Click here to add description", + "type": "PO16", + "version": { + "major": "1", + "minor": "6", + "patch": "2" + }, + "configType": "profile", + "configs": [ + { + "controlElementNumber": 0, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Potmeter Init]]" + }, + { + "event": 1, + "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gmsh]] gms(0,176,0,val//128) gms(0,176,32,val%128)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 1, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Potmeter Init]]" + }, + { + "event": 1, + "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 2, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Potmeter Init]]" + }, + { + "event": 1, + "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 3, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Potmeter Init]]" + }, + { + "event": 1, + "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 4, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Potmeter Init]]" + }, + { + "event": 1, + "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 5, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Potmeter Init]]" + }, + { + "event": 1, + "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 6, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Potmeter Init]]" + }, + { + "event": 1, + "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 7, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Potmeter Init]]" + }, + { + "event": 1, + "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 8, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Potmeter Init]]" + }, + { + "event": 1, + "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 9, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Potmeter Init]]" + }, + { + "event": 1, + "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 10, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Potmeter Init]]" + }, + { + "event": 1, + "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 11, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Potmeter Init]]" + }, + { + "event": 1, + "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 12, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Potmeter Init]]" + }, + { + "event": 1, + "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 13, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Potmeter Init]]" + }, + { + "event": 1, + "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 14, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Potmeter Init]]" + }, + { + "event": 1, + "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 15, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Potmeter Init]]" + }, + { + "event": 1, + "config": "--[[@spc]] self:pmo(7) self:pmi(0) self:pma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 255, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[page init]]" + }, + { + "event": 4, + "config": "--[[@cb]] gpl(gpn())" + }, + { + "event": 5, + "config": "--[[@l]] local ch,cmd,param1,param2=midi.ch,midi.cmd,midi.p1,midi.p2" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + } + ], + "createdAt": "2026-01-08T13:01:32.034Z", + "virtualPath": "", + "cloudId": "Ypa1RZLBjgSA87TMU6TW", + "owner": "oMiJQcb4xqTI7XJlGZItEH2eKtm2" +} \ No newline at end of file diff --git a/src/content/tek2-test 1.json b/src/content/tek2-test 1.json new file mode 100644 index 000000000..6eddea9bc --- /dev/null +++ b/src/content/tek2-test 1.json @@ -0,0 +1,218 @@ +{ + "id": "28e3dada-156c-4701-a02a-740c2600eae0", + "modifiedAt": "2026-01-08T13:01:39.112Z", + "name": "tek2-test", + "description": "Click here to add description", + "type": "TEK2", + "version": { + "major": "1", + "minor": "6", + "patch": "2" + }, + "configType": "profile", + "configs": [ + { + "controlElementNumber": 0, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 1, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 2, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 3, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 4, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 5, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 6, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 7, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 8, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,17,0,1},{255,4,0,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 7, + "config": "--[[@sen]] self:epmo(0) self:epv0(50) self:epmi(0) self:epma(127) self:epse(50)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gmsh]] gms(0,176,0,val//128) gms(0,176,32,val%128)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 9, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Endless Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 7, + "config": "--[[@sen]] self:epmo(0) self:epv0(50) self:epmi(0) self:epma(127) self:epse(50)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 255, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[page init]]" + }, + { + "event": 4, + "config": "--[[@cb]] gpl(gpn())" + }, + { + "event": 5, + "config": "--[[@l]] local ch,cmd,param1,param2=midi.ch,midi.cmd,midi.p1,midi.p2" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + } + ], + "createdAt": "2026-01-08T13:01:39.112Z", + "virtualPath": "", + "cloudId": "m4c3h8KjJiKqax9OcWEX", + "owner": "oMiJQcb4xqTI7XJlGZItEH2eKtm2" +} \ No newline at end of file diff --git a/src/content/vsn1l-test 1.json b/src/content/vsn1l-test 1.json new file mode 100644 index 000000000..0635982db --- /dev/null +++ b/src/content/vsn1l-test 1.json @@ -0,0 +1,282 @@ +{ + "id": "5bddfa8e-2ee9-466d-985f-eda5379d6f98", + "modifiedAt": "2026-01-08T13:01:13.239Z", + "createdAt": "2026-01-08T13:01:06.011Z", + "name": "vsn1l-test", + "description": "Click here to add description", + "type": "VSN1L", + "version": { + "major": "1", + "minor": "6", + "patch": "2" + }, + "configType": "profile", + "configs": [ + { + "controlElementNumber": 0, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,17,0,1},{255,4,0,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 1, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 2, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 3, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 4, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 5, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 6, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 7, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 8, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Endless Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,0,8,1},{255,0,8,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 7, + "config": "--[[@sen]] self:epmo(0) self:epv0(50) self:epmi(0) self:epma(127) self:epse(50)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gmsh]] gms(0,176,0,val//128) gms(0,176,32,val%128)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 9, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 10, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 11, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 12, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 13, + "events": [ + { + "event": 0, + "config": "" + }, + { + "event": 8, + "config": "" + } + ] + }, + { + "controlElementNumber": 255, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[page init]]" + }, + { + "event": 4, + "config": "--[[@cb]] gpl(gpn())" + }, + { + "event": 5, + "config": "--[[@l]] local ch,cmd,param1,param2=midi.ch,midi.cmd,midi.p1,midi.p2" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + } + ], + "owner": "oMiJQcb4xqTI7XJlGZItEH2eKtm2", + "virtualPath": "", + "cloudId": "R2T7O4dfRlxtxOJ9x5bm", + "fileName": "vsnil-test 1.json", + "isEditable": true, + "syncStatus": "synced", + "public": false +} \ No newline at end of file diff --git a/src/content/vsn1r-test 1.json b/src/content/vsn1r-test 1.json new file mode 100644 index 000000000..968ed000f --- /dev/null +++ b/src/content/vsn1r-test 1.json @@ -0,0 +1,278 @@ +{ + "id": "5d583854-d3b5-4dee-aef4-ba078b9babd5", + "modifiedAt": "2026-01-08T13:01:50.684Z", + "name": "vsn1r-test", + "description": "Click here to add description", + "type": "VSN1R", + "version": { + "major": "1", + "minor": "6", + "patch": "2" + }, + "configType": "profile", + "configs": [ + { + "controlElementNumber": 0, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 1, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 2, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 3, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 4, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 5, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 6, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 7, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 8, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{255,17,0,1},{255,4,0,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 7, + "config": "--[[@sen]] self:epmo(0) self:epv0(50) self:epmi(0) self:epma(127) self:epse(50)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gmsh]] gms(0,176,0,val//128) gms(0,176,32,val%128)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 9, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 10, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 11, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 12, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[Button Init]]" + }, + { + "event": 3, + "config": "--[[@sbc]] self:bmo(0) self:bmi(0) self:bma(127)--[[@sglc]] self:glc(-1,{{-1,-1,-1,1}}) self:glp(-1,-1)--[[@gms]] self:gms(-1,-1,-1,-1)" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + }, + { + "controlElementNumber": 13, + "events": [ + { + "event": 0, + "config": "" + }, + { + "event": 8, + "config": "" + } + ] + }, + { + "controlElementNumber": 255, + "events": [ + { + "event": 0, + "config": "--[[@cb]] --[[page init]]" + }, + { + "event": 4, + "config": "--[[@cb]] gpl(gpn())" + }, + { + "event": 5, + "config": "--[[@l]] local ch,cmd,param1,param2=midi.ch,midi.cmd,midi.p1,midi.p2" + }, + { + "event": 6, + "config": "--[[@cb]] print('tick')" + } + ] + } + ], + "createdAt": "2026-01-08T13:01:50.684Z", + "virtualPath": "", + "cloudId": "H9feIBIm5R4XpfrhCN9J", + "owner": "oMiJQcb4xqTI7XJlGZItEH2eKtm2" +} \ No newline at end of file From 63d0b02cfa0e6d17320f546dc59b3e561d4e4882 Mon Sep 17 00:00:00 2001 From: sukuwc Date: Thu, 8 Jan 2026 12:02:20 +0100 Subject: [PATCH 10/11] SUKU clear all modules and clear selected module buttons created --- src/renderer/main/user-interface/ActiveChanges.svelte | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/renderer/main/user-interface/ActiveChanges.svelte b/src/renderer/main/user-interface/ActiveChanges.svelte index 105fec845..bf4d0829c 100644 --- a/src/renderer/main/user-interface/ActiveChanges.svelte +++ b/src/renderer/main/user-interface/ActiveChanges.svelte @@ -323,7 +323,11 @@ label: "Cancel", handler: undefined, }, - { label: "Confirm", handler: handleLoadGettingStarted }, + { + label: "Selected Module", + handler: handleLoadGettingStarted, + }, + { label: "Clear All Modules", handler: handleLoadGettingStarted }, ], triggerEvents: ["show-buttons", "hover"], }} From d3744a25db8a8f5709e6d355681d253380b320d0 Mon Sep 17 00:00:00 2001 From: sukuwc Date: Fri, 16 Jan 2026 11:26:56 +0100 Subject: [PATCH 11/11] SUKU changes in lock reverted --- package-lock.json | 286 +++++++++++++++++++++++++++++----------------- 1 file changed, 182 insertions(+), 104 deletions(-) diff --git a/package-lock.json b/package-lock.json index 750b2bfa6..758bc5737 100644 --- a/package-lock.json +++ b/package-lock.json @@ -137,7 +137,6 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.10.tgz", "integrity": "sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==", "license": "MIT", - "peer": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.26.2", @@ -398,6 +397,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "license": "MIT", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -410,6 +410,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "license": "MIT", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -422,6 +423,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "license": "MIT", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -434,6 +436,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", "license": "MIT", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -449,6 +452,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", "license": "MIT", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -464,6 +468,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "license": "MIT", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -476,6 +481,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "license": "MIT", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -488,6 +494,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", "license": "MIT", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -503,6 +510,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "license": "MIT", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -515,6 +523,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "license": "MIT", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -527,6 +536,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "license": "MIT", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -539,6 +549,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "license": "MIT", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -551,6 +562,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "license": "MIT", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -563,6 +575,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "license": "MIT", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -575,6 +588,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", "license": "MIT", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -590,6 +604,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "license": "MIT", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -605,6 +620,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz", "integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==", "license": "MIT", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -680,7 +696,8 @@ "version": "0.2.3", "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@develar/schema-utils": { "version": "2.6.5", @@ -1077,43 +1094,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@electron/windows-sign": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@electron/windows-sign/-/windows-sign-1.2.2.tgz", - "integrity": "sha512-dfZeox66AvdPtb2lD8OsIIQh12Tp0GNCRUDfBHIKGpbmopZto2/A8nSpYYLoedPIHpqkeblZ/k8OV0Gy7PYuyQ==", - "dev": true, - "license": "BSD-2-Clause", - "optional": true, - "dependencies": { - "cross-dirname": "^0.1.0", - "debug": "^4.3.4", - "fs-extra": "^11.1.1", - "minimist": "^1.2.8", - "postject": "^1.0.0-alpha.6" - }, - "bin": { - "electron-windows-sign": "bin/electron-windows-sign.js" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/@electron/windows-sign/node_modules/fs-extra": { - "version": "11.3.3", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.3.tgz", - "integrity": "sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, "node_modules/@esbuild/aix-ppc64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", @@ -1623,7 +1603,6 @@ "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.11.2.tgz", "integrity": "sha512-bFee0hPJZBzNtiizRxdgsu8C9DW3mn1y0OJJ4zHQsccjDYzGOfvN0G3CMGyBIiwNctsFpQa8orbp2IKywoUeqA==", "license": "Apache-2.0", - "peer": true, "dependencies": { "@firebase/component": "0.6.13", "@firebase/logger": "0.4.4", @@ -1690,7 +1669,6 @@ "resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.2.51.tgz", "integrity": "sha512-pxF1+coABt+ugqNI0YXDlmkKv4kh3pjI5BqIJJ1VXBo42OZbKMsQbFeos14YBrWwiqqSjUvQ70FBNsv5E2wuxg==", "license": "Apache-2.0", - "peer": true, "dependencies": { "@firebase/app": "0.11.2", "@firebase/component": "0.6.13", @@ -1706,8 +1684,7 @@ "version": "0.9.3", "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.9.3.tgz", "integrity": "sha512-kRVpIl4vVGJ4baogMDINbyrIOtOxqhkZQg4jTq3l8Lw6WSk0xfpEYzezFu+Kl4ve4fbPl79dvwRtaFqAC/ucCw==", - "license": "Apache-2.0", - "peer": true + "license": "Apache-2.0" }, "node_modules/@firebase/auth": { "version": "1.9.1", @@ -2158,7 +2135,6 @@ "integrity": "sha512-PzSrhIr++KI6y4P6C/IdgBNMkEx0Ex6554/cYd0Hm+ovyFSJtJXqb/3OSIdnBoa2cpwZT1/GW56EmRc5qEc5fQ==", "hasInstallScript": true, "license": "Apache-2.0", - "peer": true, "dependencies": { "tslib": "^2.1.0" }, @@ -2456,6 +2432,7 @@ "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "license": "ISC", + "peer": true, "dependencies": { "camelcase": "^5.3.1", "find-up": "^4.1.0", @@ -2472,6 +2449,7 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "license": "MIT", + "peer": true, "dependencies": { "sprintf-js": "~1.0.2" } @@ -2481,6 +2459,7 @@ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "license": "MIT", + "peer": true, "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -2494,6 +2473,7 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -2502,13 +2482,15 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "license": "BSD-3-Clause" + "license": "BSD-3-Clause", + "peer": true }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -2518,6 +2500,7 @@ "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", "license": "MIT", + "peer": true, "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -2535,6 +2518,7 @@ "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", "license": "MIT", + "peer": true, "dependencies": { "@jest/console": "^29.7.0", "@jest/reporters": "^29.7.0", @@ -2582,6 +2566,7 @@ "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", "license": "MIT", + "peer": true, "dependencies": { "@jest/fake-timers": "^29.7.0", "@jest/types": "^29.6.3", @@ -2597,6 +2582,7 @@ "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", "license": "MIT", + "peer": true, "dependencies": { "expect": "^29.7.0", "jest-snapshot": "^29.7.0" @@ -2610,6 +2596,7 @@ "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", "license": "MIT", + "peer": true, "dependencies": { "jest-get-type": "^29.6.3" }, @@ -2622,6 +2609,7 @@ "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", "license": "MIT", + "peer": true, "dependencies": { "@jest/types": "^29.6.3", "@sinonjs/fake-timers": "^10.0.2", @@ -2639,6 +2627,7 @@ "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", "license": "MIT", + "peer": true, "dependencies": { "@jest/environment": "^29.7.0", "@jest/expect": "^29.7.0", @@ -2654,6 +2643,7 @@ "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", "license": "MIT", + "peer": true, "dependencies": { "@bcoe/v8-coverage": "^0.2.3", "@jest/console": "^29.7.0", @@ -2709,6 +2699,7 @@ "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", "license": "MIT", + "peer": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.18", "callsites": "^3.0.0", @@ -2723,6 +2714,7 @@ "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", "license": "MIT", + "peer": true, "dependencies": { "@jest/console": "^29.7.0", "@jest/types": "^29.6.3", @@ -2738,6 +2730,7 @@ "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", "license": "MIT", + "peer": true, "dependencies": { "@jest/test-result": "^29.7.0", "graceful-fs": "^4.2.9", @@ -2753,6 +2746,7 @@ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", "license": "MIT", + "peer": true, "dependencies": { "@babel/core": "^7.11.6", "@jest/types": "^29.6.3", @@ -2915,7 +2909,6 @@ "integrity": "sha512-KZHu/I2MRmvRE5fIHSbGTZRlbfcu2uV6cit+1kTYKr4isuDy/T2+e4OngKYxNTvyB+zA5tp7BXUOMkoKrpqkCw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@floating-ui/core": "^1.3.1", "@floating-ui/dom": "^1.4.5", @@ -3435,6 +3428,7 @@ "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", "license": "BSD-3-Clause", + "peer": true, "dependencies": { "type-detect": "4.0.8" } @@ -3444,6 +3438,7 @@ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "license": "MIT", + "peer": true, "engines": { "node": ">=4" } @@ -3453,6 +3448,7 @@ "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "license": "BSD-3-Clause", + "peer": true, "dependencies": { "@sinonjs/commons": "^3.0.0" } @@ -3463,7 +3459,6 @@ "integrity": "sha512-erhNtXxE5/6xGZz/M9eXsmI7Pxa6MS7jyTy06zN3Ck++ldrppOnOlJwHHTsMC7DHDQdgUp4NAc4cDNQ9eGdB/w==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@sveltejs/vite-plugin-svelte-inspector": "^1.0.4", "debug": "^4.3.4", @@ -3536,6 +3531,7 @@ "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "license": "MIT", + "peer": true, "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", @@ -3549,6 +3545,7 @@ "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", "license": "MIT", + "peer": true, "dependencies": { "@babel/types": "^7.0.0" } @@ -3558,6 +3555,7 @@ "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", "license": "MIT", + "peer": true, "dependencies": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" @@ -3568,6 +3566,7 @@ "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz", "integrity": "sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==", "license": "MIT", + "peer": true, "dependencies": { "@babel/types": "^7.20.7" } @@ -3633,6 +3632,7 @@ "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", "license": "MIT", + "peer": true, "dependencies": { "@types/node": "*" } @@ -3744,7 +3744,8 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@types/verror": { "version": "1.10.11", @@ -3945,7 +3946,6 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -4039,7 +4039,6 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "license": "MIT", - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -4123,6 +4122,7 @@ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "license": "MIT", + "peer": true, "dependencies": { "type-fest": "^0.21.3" }, @@ -4138,6 +4138,7 @@ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "license": "(MIT OR CC0-1.0)", + "peer": true, "engines": { "node": ">=10" }, @@ -4498,6 +4499,7 @@ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", "license": "MIT", + "peer": true, "dependencies": { "@jest/transform": "^29.7.0", "@types/babel__core": "^7.1.14", @@ -4519,6 +4521,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "license": "BSD-3-Clause", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", @@ -4535,6 +4538,7 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "license": "BSD-3-Clause", + "peer": true, "dependencies": { "@babel/core": "^7.12.3", "@babel/parser": "^7.14.7", @@ -4551,6 +4555,7 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "license": "ISC", + "peer": true, "bin": { "semver": "bin/semver.js" } @@ -4560,6 +4565,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", "license": "MIT", + "peer": true, "dependencies": { "@babel/template": "^7.3.3", "@babel/types": "^7.3.3", @@ -4575,6 +4581,7 @@ "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz", "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==", "license": "MIT", + "peer": true, "dependencies": { "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-bigint": "^7.8.3", @@ -4601,6 +4608,7 @@ "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", "license": "MIT", + "peer": true, "dependencies": { "babel-plugin-jest-hoist": "^29.6.3", "babel-preset-current-node-syntax": "^1.0.0" @@ -4762,7 +4770,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "caniuse-lite": "^1.0.30001688", "electron-to-chromium": "^1.5.73", @@ -4793,6 +4800,7 @@ "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "license": "Apache-2.0", + "peer": true, "dependencies": { "node-int64": "^0.4.0" } @@ -5066,6 +5074,7 @@ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "license": "MIT", + "peer": true, "engines": { "node": ">=6" } @@ -5140,6 +5149,7 @@ "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "license": "MIT", + "peer": true, "engines": { "node": ">=10" } @@ -5259,7 +5269,8 @@ "version": "1.4.3", "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz", "integrity": "sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/clean-stack": { "version": "2.2.0", @@ -5357,6 +5368,7 @@ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "license": "MIT", + "peer": true, "engines": { "iojs": ">= 1.0.0", "node": ">= 0.12.0" @@ -5391,7 +5403,8 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/color-convert": { "version": "2.0.1", @@ -5597,6 +5610,7 @@ "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", "license": "MIT", + "peer": true, "dependencies": { "@jest/types": "^29.6.3", "chalk": "^4.0.0", @@ -5613,14 +5627,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/cross-dirname": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/cross-dirname/-/cross-dirname-0.1.0.tgz", - "integrity": "sha512-+R08/oI0nl3vfPcqftZRpytksBXDzOUveBq/NBVx0sUp1axwzPQrKinNx5yd5sxPu8j1wIy8AfnVQ+5eFdha6Q==", - "dev": true, - "license": "MIT", - "optional": true - }, "node_modules/cross-env": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", @@ -5845,6 +5851,7 @@ "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", "license": "MIT", + "peer": true, "peerDependencies": { "babel-plugin-macros": "^3.1.0" }, @@ -5992,6 +5999,7 @@ "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -6149,7 +6157,6 @@ "integrity": "sha512-C+SaRneQ11OxG99EeGp3TvPrlkW9ZaiukxB9Z7+OhhO1ge0nAtq9uD0ILt1JpvNAQ1de3gzX7TFRYJrSGsNe+Q==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "app-builder-lib": "26.0.11", "builder-util": "26.0.11", @@ -6541,6 +6548,7 @@ "dev": true, "hasInstallScript": true, "license": "MIT", + "peer": true, "dependencies": { "@electron/asar": "^3.2.1", "debug": "^4.1.1", @@ -6561,6 +6569,7 @@ "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -6576,6 +6585,7 @@ "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "dev": true, "license": "MIT", + "peer": true, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -6586,6 +6596,7 @@ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">= 4.0.0" } @@ -6621,6 +6632,7 @@ "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -6634,6 +6646,16 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "license": "MIT" }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "license": "MIT", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, "node_modules/encoding-sniffer": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/encoding-sniffer/-/encoding-sniffer-0.2.0.tgz", @@ -7241,6 +7263,7 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "license": "MIT", + "peer": true, "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", @@ -7264,6 +7287,7 @@ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "license": "MIT", + "peer": true, "engines": { "node": ">=10" }, @@ -7275,6 +7299,7 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "peer": true, "engines": { "node": ">= 0.8.0" } @@ -7293,6 +7318,7 @@ "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", "license": "MIT", + "peer": true, "dependencies": { "@jest/expect-utils": "^29.7.0", "jest-get-type": "^29.6.3", @@ -7479,6 +7505,7 @@ "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "license": "Apache-2.0", + "peer": true, "dependencies": { "bser": "2.1.1" } @@ -7549,6 +7576,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "license": "MIT", + "peer": true, "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -7937,6 +7965,7 @@ "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "license": "MIT", + "peer": true, "engines": { "node": ">=8.0.0" } @@ -8412,7 +8441,8 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/htmlparser2": { "version": "9.1.0", @@ -8493,6 +8523,7 @@ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "license": "Apache-2.0", + "peer": true, "engines": { "node": ">=10.17.0" } @@ -8601,6 +8632,7 @@ "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", "license": "MIT", + "peer": true, "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" @@ -8897,6 +8929,7 @@ "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "license": "MIT", + "peer": true, "engines": { "node": ">=6" } @@ -9226,6 +9259,7 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "license": "BSD-3-Clause", + "peer": true, "engines": { "node": ">=8" } @@ -9235,6 +9269,7 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", "license": "BSD-3-Clause", + "peer": true, "dependencies": { "@babel/core": "^7.23.9", "@babel/parser": "^7.23.9", @@ -9251,6 +9286,7 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "license": "BSD-3-Clause", + "peer": true, "dependencies": { "istanbul-lib-coverage": "^3.0.0", "make-dir": "^4.0.0", @@ -9265,6 +9301,7 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "license": "BSD-3-Clause", + "peer": true, "dependencies": { "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", @@ -9279,6 +9316,7 @@ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "license": "BSD-3-Clause", + "peer": true, "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" @@ -9375,6 +9413,7 @@ "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", "license": "MIT", + "peer": true, "dependencies": { "execa": "^5.0.0", "jest-util": "^29.7.0", @@ -9389,6 +9428,7 @@ "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", "license": "MIT", + "peer": true, "dependencies": { "@jest/environment": "^29.7.0", "@jest/expect": "^29.7.0", @@ -9420,6 +9460,7 @@ "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", "license": "MIT", + "peer": true, "dependencies": { "@jest/core": "^29.7.0", "@jest/test-result": "^29.7.0", @@ -9453,6 +9494,7 @@ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", "license": "MIT", + "peer": true, "dependencies": { "@babel/core": "^7.11.6", "@jest/test-sequencer": "^29.7.0", @@ -9498,6 +9540,7 @@ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", "license": "MIT", + "peer": true, "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^29.6.3", @@ -9513,6 +9556,7 @@ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", "license": "MIT", + "peer": true, "dependencies": { "detect-newline": "^3.0.0" }, @@ -9525,6 +9569,7 @@ "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", "license": "MIT", + "peer": true, "dependencies": { "@jest/types": "^29.6.3", "chalk": "^4.0.0", @@ -9541,6 +9586,7 @@ "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", "license": "MIT", + "peer": true, "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", @@ -9558,6 +9604,7 @@ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", "license": "MIT", + "peer": true, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } @@ -9567,6 +9614,7 @@ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", "license": "MIT", + "peer": true, "dependencies": { "@jest/types": "^29.6.3", "@types/graceful-fs": "^4.1.3", @@ -9592,6 +9640,7 @@ "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", "license": "MIT", + "peer": true, "dependencies": { "jest-get-type": "^29.6.3", "pretty-format": "^29.7.0" @@ -9605,6 +9654,7 @@ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", "license": "MIT", + "peer": true, "dependencies": { "chalk": "^4.0.0", "jest-diff": "^29.7.0", @@ -9620,6 +9670,7 @@ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^29.6.3", @@ -9640,6 +9691,7 @@ "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", "license": "MIT", + "peer": true, "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -9654,6 +9706,7 @@ "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "license": "MIT", + "peer": true, "engines": { "node": ">=6" }, @@ -9671,6 +9724,7 @@ "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", "license": "MIT", + "peer": true, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } @@ -9680,6 +9734,7 @@ "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", "license": "MIT", + "peer": true, "dependencies": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", @@ -9700,6 +9755,7 @@ "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", "license": "MIT", + "peer": true, "dependencies": { "jest-regex-util": "^29.6.3", "jest-snapshot": "^29.7.0" @@ -9713,6 +9769,7 @@ "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", "license": "MIT", + "peer": true, "dependencies": { "@jest/console": "^29.7.0", "@jest/environment": "^29.7.0", @@ -9745,6 +9802,7 @@ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "license": "MIT", + "peer": true, "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -9755,6 +9813,7 @@ "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", "license": "MIT", + "peer": true, "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", @@ -9788,6 +9847,7 @@ "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", "license": "MIT", + "peer": true, "dependencies": { "@babel/core": "^7.11.6", "@babel/generator": "^7.7.2", @@ -9836,6 +9896,7 @@ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", "license": "MIT", + "peer": true, "dependencies": { "@jest/types": "^29.6.3", "camelcase": "^6.2.0", @@ -9853,6 +9914,7 @@ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "license": "MIT", + "peer": true, "engines": { "node": ">=10" }, @@ -9865,6 +9927,7 @@ "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", "license": "MIT", + "peer": true, "dependencies": { "@jest/test-result": "^29.7.0", "@jest/types": "^29.6.3", @@ -9884,6 +9947,7 @@ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", "license": "MIT", + "peer": true, "dependencies": { "@types/node": "*", "jest-util": "^29.7.0", @@ -9899,6 +9963,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -9982,7 +10047,8 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/json-schema-traverse": { "version": "0.4.1", @@ -10085,6 +10151,7 @@ "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "license": "MIT", + "peer": true, "engines": { "node": ">=6" } @@ -10189,6 +10256,7 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "license": "MIT", + "peer": true, "dependencies": { "p-locate": "^4.1.0" }, @@ -10305,6 +10373,7 @@ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "license": "MIT", + "peer": true, "dependencies": { "semver": "^7.5.3" }, @@ -10406,6 +10475,7 @@ "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "license": "BSD-3-Clause", + "peer": true, "dependencies": { "tmpl": "1.0.5" } @@ -10938,8 +11008,7 @@ "version": "0.34.1", "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.34.1.tgz", "integrity": "sha512-FKc80TyiMaruhJKKPz5SpJPIjL+dflGvz4CpuThaPMc94AyN7SeC9HQ8hrvaxX7EyHdJcUY5i4D0gNyJj1vSZQ==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/monaco-types": { "version": "0.1.0", @@ -11132,7 +11201,8 @@ "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/node-releases": { "version": "2.0.19", @@ -11424,6 +11494,7 @@ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "license": "MIT", + "peer": true, "dependencies": { "path-key": "^3.0.0" }, @@ -11634,6 +11705,7 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "license": "MIT", + "peer": true, "dependencies": { "p-limit": "^2.2.0" }, @@ -11646,6 +11718,7 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "license": "MIT", + "peer": true, "dependencies": { "p-try": "^2.0.0" }, @@ -11716,6 +11789,7 @@ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -11962,6 +12036,7 @@ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "license": "MIT", + "peer": true, "dependencies": { "find-up": "^4.0.0" }, @@ -12152,7 +12227,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "nanoid": "^3.3.8", "picocolors": "^1.1.1", @@ -12216,7 +12290,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "lilconfig": "^3.0.0", "yaml": "^2.3.4" @@ -12302,34 +12375,6 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/postject": { - "version": "1.0.0-alpha.6", - "resolved": "https://registry.npmjs.org/postject/-/postject-1.0.0-alpha.6.tgz", - "integrity": "sha512-b9Eb8h2eVqNE8edvKdwqkrY6O7kAwmI8kcnBv1NScolYJbo59XUF0noFq+lxbC1yN20bmC0WBEbDC5H/7ASb0A==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "commander": "^9.4.0" - }, - "bin": { - "postject": "dist/cli.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/postject/node_modules/commander": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", - "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": "^12.20.0 || >=14" - } - }, "node_modules/prebuild-install": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz", @@ -12371,7 +12416,6 @@ "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==", "dev": true, "license": "MIT", - "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -12464,6 +12508,7 @@ "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "license": "MIT", + "peer": true, "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" @@ -12477,6 +12522,7 @@ "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "license": "MIT", + "peer": true, "engines": { "node": ">=6" } @@ -12556,7 +12602,8 @@ "url": "https://opencollective.com/fast-check" } ], - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/qs": { "version": "6.14.0", @@ -12854,6 +12901,7 @@ "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "license": "MIT", + "peer": true, "dependencies": { "resolve-from": "^5.0.0" }, @@ -12866,6 +12914,7 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -12884,6 +12933,7 @@ "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", "license": "MIT", + "peer": true, "engines": { "node": ">=10" } @@ -13557,7 +13607,8 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/slash": { "version": "3.0.0", @@ -13768,6 +13819,7 @@ "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "license": "MIT", + "peer": true, "dependencies": { "escape-string-regexp": "^2.0.0" }, @@ -13780,6 +13832,7 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -13822,6 +13875,7 @@ "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "license": "MIT", + "peer": true, "dependencies": { "char-regex": "^1.0.2", "strip-ansi": "^6.0.0" @@ -13969,6 +14023,7 @@ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -13978,6 +14033,7 @@ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "license": "MIT", + "peer": true, "engines": { "node": ">=6" } @@ -14149,7 +14205,6 @@ "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.19.tgz", "integrity": "sha512-IY1rnGr6izd10B0A8LqsBfmlT5OILVuZ7XsI0vdGPEvuonFV7NYEUK4dAkm9Zg2q0Um92kYjTpS1CAP3Nh/KWw==", "license": "MIT", - "peer": true, "dependencies": { "@ampproject/remapping": "^2.2.1", "@jridgewell/sourcemap-codec": "^1.4.15", @@ -14225,6 +14280,21 @@ } } }, + "node_modules/svelte-check/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/svelte-check/node_modules/readdirp": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", @@ -14556,6 +14626,7 @@ "integrity": "sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "mkdirp": "^0.5.1", "rimraf": "~2.6.2" @@ -14581,6 +14652,7 @@ "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "minimist": "^1.2.6" }, @@ -14595,6 +14667,7 @@ "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, "license": "ISC", + "peer": true, "dependencies": { "glob": "^7.1.3" }, @@ -14607,6 +14680,7 @@ "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "license": "ISC", + "peer": true, "dependencies": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", @@ -14621,6 +14695,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "license": "MIT", + "peer": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -14631,6 +14706,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "license": "ISC", + "peer": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -14753,7 +14829,8 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "license": "BSD-3-Clause" + "license": "BSD-3-Clause", + "peer": true }, "node_modules/to-regex-range": { "version": "5.0.1", @@ -14992,7 +15069,6 @@ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -15187,6 +15263,7 @@ "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", "license": "ISC", + "peer": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", @@ -15228,7 +15305,6 @@ "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.14.tgz", "integrity": "sha512-+v57oAaoYNnO3hIu5Z/tJRZjq5aHM2zDve9YZ8HngVHbhk66RStobhb1sqPMIPEleV6cNKYK4eGrAbE9Ulbl2g==", "license": "MIT", - "peer": true, "dependencies": { "esbuild": "^0.18.10", "postcss": "^8.4.27", @@ -16595,6 +16671,7 @@ "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "license": "Apache-2.0", + "peer": true, "dependencies": { "makeerror": "1.0.12" } @@ -16865,6 +16942,7 @@ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "license": "ISC", + "peer": true, "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^3.0.7"