From f8336e728ec7be0181ac7ef65e6dc594057bd539 Mon Sep 17 00:00:00 2001 From: Novus Nota <68142933+novusnota@users.noreply.github.com> Date: Fri, 14 Nov 2025 13:38:21 +0100 Subject: [PATCH 1/7] feat(internal-infra): syntax highlighting for TON languages in MDX code blocks --- docs.json | 18 +- package-lock.json | 2 +- package.json | 2 +- resources/syntaxes/fift.tmLanguage.json | 147 ++++++ resources/syntaxes/func.tmLanguage.json | 195 ++++++++ resources/syntaxes/tact.tmLanguage.json | 617 ++++++++++++++++++++++++ resources/syntaxes/tasm.tmLanguage.json | 224 +++++++++ resources/syntaxes/tlb.tmLanguage.json | 264 ++++++++++ resources/syntaxes/tolk.tmLanguage.json | 83 ++++ 9 files changed, 1549 insertions(+), 3 deletions(-) create mode 100644 resources/syntaxes/fift.tmLanguage.json create mode 100644 resources/syntaxes/func.tmLanguage.json create mode 100644 resources/syntaxes/tact.tmLanguage.json create mode 100644 resources/syntaxes/tasm.tmLanguage.json create mode 100644 resources/syntaxes/tlb.tmLanguage.json create mode 100644 resources/syntaxes/tolk.tmLanguage.json diff --git a/docs.json b/docs.json index 0ed65952c..f43ca5839 100644 --- a/docs.json +++ b/docs.json @@ -24,7 +24,23 @@ "background": "/resources/logo/og-image-bg.svg" }, "styling": { - "eyebrows": "breadcrumbs" + "eyebrows": "breadcrumbs", + "codeblocks": { + "theme": { + "light": "github-light-default", + "dark": "dark-plus" + }, + "languages": { + "custom": [ + "resources/syntaxes/tolk.tmLanguage.json", + "resources/syntaxes/tlb.tmLanguage.json", + "resources/syntaxes/fift.tmLanguage.json", + "resources/syntaxes/tasm.tmLanguage.json", + "resources/syntaxes/func.tmLanguage.json", + "resources/syntaxes/tact.tmLanguage.json" + ] + } + } }, "contextual": { "options": [ diff --git a/package-lock.json b/package-lock.json index f9c10355f..409d7de37 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,7 +7,7 @@ "name": "ton-docs", "dependencies": { "cspell": "^9.2.1", - "mint": "^4.2.186", + "mint": "^4.2.202", "remark": "^15.0.1", "remark-cli": "^12.0.1", "remark-frontmatter": "^5.0.0", diff --git a/package.json b/package.json index 87ae8ae64..694806da5 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ }, "dependencies": { "cspell": "^9.2.1", - "mint": "^4.2.186", + "mint": "^4.2.202", "remark": "^15.0.1", "remark-cli": "^12.0.1", "remark-frontmatter": "^5.0.0", diff --git a/resources/syntaxes/fift.tmLanguage.json b/resources/syntaxes/fift.tmLanguage.json new file mode 100644 index 000000000..0c96631b7 --- /dev/null +++ b/resources/syntaxes/fift.tmLanguage.json @@ -0,0 +1,147 @@ +{ + "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json", + "name": "fift", + "scopeName": "source.fift", + "fileTypes": [ + "fif" + ], + "patterns": [ + { + "include": "#comments" + }, + { + "include": "#strings" + }, + { + "include": "#numbers" + }, + { + "include": "#stack_words" + }, + { + "include": "#program_words" + }, + { + "include": "#control_words" + }, + { + "include": "#literals" + }, + { + "include": "#commands" + } + ], + "repository": { + "comments": { + "patterns": [ + { + "match": "//.*$", + "name": "comment.line.double-slash.fift" + } + ] + }, + "strings": { + "patterns": [ + { + "begin": "\"", + "end": "\"", + "name": "string.quoted.double.fift", + "patterns": [ + { + "match": "\\\\.", + "name": "constant.character.escape.fift" + } + ] + }, + { + "match": "abort\"[^\"]*\"", + "name": "string.quoted.double.abort.fift" + }, + { + "match": "\\.\"[^\"]*\"", + "name": "string.quoted.double.print.fift" + } + ] + }, + "numbers": { + "patterns": [ + { + "match": "\\b-?[0-9]+(/-?[0-9]+)?\\b", + "name": "constant.numeric.decimal.fift" + }, + { + "match": "\\b0x[0-9a-fA-F]+\\b", + "name": "constant.numeric.hex.fift" + }, + { + "match": "\\b0b[01]+\\b", + "name": "constant.numeric.binary.fift" + } + ] + }, + "stack_words": { + "patterns": [ + { + "match": "\\b(dup|drop|swap|rot|-rot|over|tuck|nip|2dup|2drop|2swap|pick|roll|-roll|exch|exch2|\\?dup)\\b", + "name": "keyword.operator.stack.fift" + } + ] + }, + "program_words": { + "patterns": [ + { + "match": "\\b(PROGRAM|END>c|PROC|PROCINLINE|DECLPROC|DECLMETHOD)\\b", + "name": "keyword.control.program.fift" + }, + { + "match": "\\b(CALLDICT|INLINECALLDICT)\\b", + "name": "keyword.control.call.fift" + } + ] + }, + "control_words": { + "patterns": [ + { + "match": "\\b(if|ifnot|cond|until|while|times)\\b", + "name": "keyword.control.flow.fift" + }, + { + "match": "\\b(include)\\b", + "name": "keyword.control.import.fift" + } + ] + }, + "literals": { + "patterns": [ + { + "match": "\\b(true|false)\\b", + "name": "constant.language.boolean.fift" + }, + { + "match": "b\\{[01]+\\}", + "name": "constant.other.binary-slice.fift" + }, + { + "match": "x\\{[0-9a-fA-F_]+\\}", + "name": "constant.other.hex-slice.fift" + }, + { + "match": "B\\{[0-9a-fA-F_]+\\}", + "name": "constant.other.hex-bytes.fift" + }, + { + "match": "char .", + "name": "constant.character.fift" + } + ] + }, + "commands": { + "patterns": [ + { + "match": "\\b[A-Z][A-Z0-9_]*\\b", + "name": "keyword.other.command.fift" + } + ] + } + } +} diff --git a/resources/syntaxes/func.tmLanguage.json b/resources/syntaxes/func.tmLanguage.json new file mode 100644 index 000000000..902a4e500 --- /dev/null +++ b/resources/syntaxes/func.tmLanguage.json @@ -0,0 +1,195 @@ +{ + "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json", + "name": "func", + "scopeName": "source.func", + "fileTypes": [ + "fc", + "func" + ], + "patterns": [ + { + "include": "#comments" + }, + { + "include": "#strings" + }, + { + "include": "#numbers" + }, + { + "include": "#directives" + }, + { + "include": "#keywords" + }, + { + "include": "#types" + }, + { + "include": "#specifiers" + }, + { + "include": "#operators" + }, + { + "include": "#function-calls" + }, + { + "include": "#punctuation" + }, + { + "include": "#identifiers" + } + ], + "repository": { + "comments": { + "patterns": [ + { + "name": "comment.line.double-semicolon.func", + "match": ";;.*$" + }, + { + "name": "comment.block.func", + "begin": "\\{-", + "end": "-\\}", + "patterns": [ + { + "include": "#comments" + } + ] + } + ] + }, + "strings": { + "patterns": [ + { + "name": "string.quoted.double.func", + "match": "\"(?:[^\\\"\\\\]|\\\\.)*\"[Hhcu]?" + } + ] + }, + "numbers": { + "patterns": [ + { + "name": "constant.numeric.hex.func", + "match": "(?=|<=>|<<=|>>=|~>>=|\\^>>=|<<|>>|~>>|\\^>>|->|=|\\+=|-=|\\*=|\\/=|~\\/=|\\^\\/=|%|~%=|\\^%|&|\\|\\||~|\\^|\\?|\\.)" + } + ] + }, + "function-calls": { + "patterns": [ + { + "name": "meta.function-call.builtin.func", + "match": "(?x)\\b(?:throw_unless|equal_slices|send_raw_message|accept_message)\\b(?=\\s*\\()", + "captures": { + "0": { + "name": "support.function.builtin.func" + } + } + }, + { + "name": "meta.function-call.method.func", + "begin": "(?<=\\.|~)\\s*(`[^`]+`|[A-Za-z_\\$][^\\s+\\-*\\/%,.;(){}\\[\\]=<>|\\^~]*)\\s*(?=\\()", + "beginCaptures": { + "1": { + "name": "support.function.method.func" + } + }, + "end": "(?=)", + "patterns": [] + }, + { + "name": "meta.function-call.func", + "begin": "(?x)(?|\\^~]*)\\s*(?=\\()", + "beginCaptures": { + "1": { + "name": "support.function.call.func" + } + }, + "end": "(?=)", + "patterns": [] + } + ] + }, + "punctuation": { + "patterns": [ + { + "name": "punctuation.brackets.func", + "match": "[()\\[\\]{}]" + }, + { + "name": "punctuation.separator.func", + "match": "[,:;]" + } + ] + }, + "identifiers": { + "patterns": [ + { + "name": "entity.name.function.definition.func", + "match": "(?x)(?<=^|[;{]\\s*)(`[^`]+`|[A-Za-z_\\$][^\\s+\\-*\\/%,.;(){}\\[\\]=<>|\\^~]*)\\s*(?=\\()" + }, + { + "name": "variable.other.func", + "match": "`[^`]+`|[A-Za-z_\\$][^\\s+\\-*\\/%,.;(){}\\[\\]=<>|\\^~]*" + } + ] + } + } +} diff --git a/resources/syntaxes/tact.tmLanguage.json b/resources/syntaxes/tact.tmLanguage.json new file mode 100644 index 000000000..1f83feab7 --- /dev/null +++ b/resources/syntaxes/tact.tmLanguage.json @@ -0,0 +1,617 @@ +{ + "name": "tact", + "scopeName": "source.tact", + "fileTypes": [ + "tact" + ], + "patterns": [ + { + "include": "#comment" + }, + { + "include": "#annotation" + }, + { + "include": "#literal" + }, + { + "include": "#invalid" + }, + { + "include": "#constant" + }, + { + "include": "#type" + }, + { + "include": "#expression" + }, + { + "include": "#punctuation" + }, + { + "include": "#keyword" + }, + { + "include": "#function" + }, + { + "include": "#variable" + } + ], + "repository": { + "comment": { + "patterns": [ + { + "name": "comment.line.double-slash.tact", + "begin": "//", + "beginCaptures": { + "0": { + "name": "punctuation.definition.comment.line.double-slash.tact" + } + }, + "patterns": [ + { + "include": "#todo" + } + ], + "end": "$" + }, + { + "name": "comment.block.tact", + "begin": "\\s*/\\*", + "beginCaptures": { + "0": { + "name": "comment.block.begin.tact punctuation.definition.comment.begin.tact" + } + }, + "patterns": [ + { + "include": "#todo" + } + ], + "end": "\\*/", + "endCaptures": { + "0": { + "name": "comment.block.end.tact punctuation.definition.comment.end.tact" + } + } + } + ] + }, + + "todo": { + "match": "\\b(FIXME|TODO|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG)\\b", + "name": "keyword.comment.todo.tact" + }, + + "annotation": { + "patterns": [ + { + "comment": "@name() in native functions", + "begin": "^\\s*(@name)\\s*(\\()", + "beginCaptures": { + "1": { + "name": "entity.other.attribute-name.tact" + }, + "2": { + "name": "punctuation.brackets.round.tact" + } + }, + "patterns": [ + { + "comment": "FunC identifier", + "match": "(.*?)", + "name": "entity.name.function.func.tact" + } + ], + "end": "\\)", + "endCaptures": { + "0": { + "name": "punctuation.brackets.round.tact" + } + } + }, + { + "comment": "One or more @interface() before traits and contracts", + "begin": "(?", + "name": "keyword.operator.mapsto.tact" + }, + { + "comment": "Decimal integer WITH leading zero", + "match": "\\b(0[0-9]*)\\b", + "name": "constant.numeric.decimal.tact" + }, + { + "comment": "Decimal integer WITHOUT leading zero", + "match": "\\b([1-9](?:_?[0-9])*)\\b", + "name": "constant.numeric.decimal.tact" + } + ], + "end": "\\)", + "endCaptures": { + "0": { + "name": "punctuation.brackets.round.tact" + } + } + }, + { + "comment": "Fallback match", + "match": "(?", + "begin": "(?", + "endCaptures": { + "0": { + "name": "punctuation.brackets.angle.tact" + } + } + }, + { + "comment": "map or set", + "begin": "(?", + "endCaptures": { + "0": { + "name": "punctuation.brackets.angle.tact" + } + } + }, + { + "include": "#as-tlb" + } + ] + }, + + "simple-type": { + "comment": "Simple types", + "match": "(?>)(?!=)", + "name": "keyword.operator.bitwise.tact" + }, + { + "comment": "Augmented assignment operators", + "match": "(\\+=|-=|\\*=|/=|%=|\\^=|&=|\\|=|\\|\\|=|&&=|<<=|>>=)", + "name": "keyword.operator.assignment.tact" + }, + { + "comment": "Assignment operator", + "match": "(?])=(?!=)", + "name": "keyword.operator.assignment.equal.tact" + }, + { + "comment": "Comparison operators", + "match": "([!=]=|<=?|>=?)", + "name": "keyword.operator.comparison.tact" + }, + { + "comment": "Arithmetic operators", + "match": "([+%*\\-])|(/(?!/))", + "name": "keyword.operator.arithmetic.tact" + }, + { + "comment": "initOf expression", + "match": "\\b(initOf)\\b", + "name": "keyword.operator.new.tact" + }, + { + "comment": "codeOf expression", + "match": "\\b(codeOf)\\b", + "name": "keyword.operator.new.tact" + }, + { + "comment": "Ternary expression", + "begin": "(?!\\?\\.\\s*[^[:digit:]])(\\?)(?!\\?)", + "beginCaptures": { + "1": { + "name": "keyword.operator.ternary.tact" + } + }, + "patterns": [ + { + "include": "$self" + } + ], + "end": "\\s*(:)", + "endCaptures": { + "1": { + "name": "keyword.operator.ternary.tact" + } + } + } + ] + }, + + "punctuation": { + "patterns": [ + { + "match": ",", + "name": "punctuation.comma.tact" + }, + { + "match": "[{}]", + "name": "punctuation.brackets.curly.tact" + }, + { + "match": "[()]", + "name": "punctuation.brackets.round.tact" + }, + { + "match": ";", + "name": "punctuation.semi.tact" + }, + { + "match": ":", + "name": "punctuation.colon.tact" + }, + { + "match": "\\.", + "name": "punctuation.dot.tact" + } + ] + }, + + "keyword": { + "patterns": [ + { + "match": "(?", + "match": "=>", + "name": "keyword.operator.mapsto.tasm" + }, + { + "include": "#literal" + }, + { + "include": "#code_block" + }, + { + "include": "#punctuation" + } + ] + }, + "punctuation": { + "patterns": [ + { + "match": ",", + "name": "punctuation.comma.tasm" + }, + { + "match": ";", + "name": "punctuation.semi.tasm" + }, + { + "match": ":", + "name": "punctuation.colon.tasm" + } + ] + } + } +} diff --git a/resources/syntaxes/tlb.tmLanguage.json b/resources/syntaxes/tlb.tmLanguage.json new file mode 100644 index 000000000..a3cc49450 --- /dev/null +++ b/resources/syntaxes/tlb.tmLanguage.json @@ -0,0 +1,264 @@ +{ + "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json", + "name": "tlb", + "scopeName": "source.tlb", + "fileTypes": [ + "tlb" + ], + "patterns": [ + { + "include": "#comment" + }, + { + "include": "#constructors" + }, + { + "include": "#typeDefinitions" + }, + { + "include": "#typeParameters" + }, + { + "include": "#fields" + }, + { + "include": "#hashExpressions" + }, + { + "include": "#operators" + }, + { + "include": "#primitiveTypes" + }, + { + "include": "#arrays" + }, + { + "include": "#numbers" + }, + { + "include": "#declarations" + } + ], + "repository": { + "comment": { + "patterns": [ + { + "name": "comment.line.double-slash.tlb", + "begin": "//", + "beginCaptures": { + "0": { + "name": "punctuation.definition.comment.line.double-slash.tlb" + } + }, + "end": "$" + }, + { + "name": "comment.block.tlb", + "begin": "\\s*/\\*", + "beginCaptures": { + "0": { + "name": "comment.block.begin.tlb punctuation.definition.comment.begin.tlb" + } + }, + "end": "\\*/", + "endCaptures": { + "0": { + "name": "comment.block.end.tlb punctuation.definition.comment.end.tlb" + } + } + } + ] + }, + "constructors": { + "patterns": [ + { + "match": "([a-zA-Z_][a-zA-Z0-9_]*)\\s*(\\$[01_]+|#[0-9a-fA-F_]*)", + "captures": { + "1": { + "name": "entity.name.type.constructor.tlb" + }, + "2": { + "name": "constant.numeric.constructor-tag.tlb" + } + } + } + ] + }, + "typeParameters": { + "patterns": [ + { + "match": "\\{([A-Z][a-zA-Z0-9]*):Type\\}", + "captures": { + "1": { + "name": "support.type.parameter.tlb" + } + } + }, + { + "match": "\\{([a-z][a-zA-Z0-9]*):([^}]+)\\}", + "captures": { + "1": { + "name": "variable.parameter.tlb" + }, + "2": { + "name": "support.type.parameter.tlb" + } + } + } + ] + }, + "fields": { + "patterns": [ + { + "match": "([a-zA-Z_][a-zA-Z0-9_]*)\\s*(:)", + "captures": { + "1": { + "name": "variable.other.property.tlb" + }, + "2": { + "name": "keyword.operator.colon.tlb" + } + } + }, + { + "match": "\\^\\s*\\(([^)]+)\\)", + "captures": { + "1": { + "patterns": [ + { + "include": "#expressions" + } + ] + }, + "0": { + "name": "keyword.operator.reference.tlb" + } + } + } + ] + }, + "hashExpressions": { + "patterns": [ + { + "match": "(##)\\s*\\(([^)]+)\\)", + "captures": { + "1": { + "name": "entity.name.function.macro.tlb" + }, + "2": { + "patterns": [ + { + "include": "#expressions" + } + ] + } + } + }, + { + "match": "(##|~)", + "name": "entity.name.function.macro.tlb" + } + ] + }, + "operators": { + "patterns": [ + { + "match": "(\\+|\\-|\\*|\\|<=|>=|!=|=|<|>|\\^|~|\\?)", + "name": "keyword.operator.tlb" + } + ] + }, + "primitiveTypes": { + "patterns": [ + { + "match": "\\b((u)?int\\d+|Type|Bit|Maybe)\\b", + "name": "support.type.primitive.tlb" + } + ] + }, + "arrays": { + "patterns": [ + { + "begin": "\\[", + "end": "\\]", + "patterns": [ + { + "include": "#expressions" + } + ], + "name": "meta.array.tlb" + } + ] + }, + "numbers": { + "patterns": [ + { + "match": "\\b\\d+\\b", + "name": "constant.numeric.decimal.tlb" + }, + { + "match": "\\b0x[0-9a-fA-F]+\\b", + "name": "constant.numeric.hex.tlb" + } + ] + }, + "expressions": { + "patterns": [ + { + "include": "#hashExpressions" + }, + { + "include": "#operators" + }, + { + "include": "#primitiveTypes" + }, + { + "include": "#arrays" + }, + { + "include": "#numbers" + }, + { + "match": "\\b[a-zA-Z_][a-zA-Z0-9_]*\\b", + "name": "variable.other.tlb" + } + ] + }, + "typeDefinitions": { + "patterns": [ + { + "match": "=\\s*([A-Z][a-zA-Z0-9]*)(?:\\s+([a-zA-Z0-9_\\s]+))?\\s*(?:X)?\\s*;", + "captures": { + "1": { + "name": "entity.name.class.tlb" + }, + "2": { + "patterns": [ + { + "include": "#expressions" + } + ] + } + } + } + ] + }, + "declarations": { + "patterns": [ + { + "match": "([a-zA-Z_][a-zA-Z0-9_]*)#([0-9a-fA-F]+)", + "captures": { + "1": { + "name": "entity.name.type.tlb" + }, + "2": { + "name": "constant.numeric.hex.tlb" + } + } + } + ] + } + } +} diff --git a/resources/syntaxes/tolk.tmLanguage.json b/resources/syntaxes/tolk.tmLanguage.json new file mode 100644 index 000000000..e1fb6feff --- /dev/null +++ b/resources/syntaxes/tolk.tmLanguage.json @@ -0,0 +1,83 @@ +{ + "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json", + "name": "tolk", + "scopeName": "source.tolk", + "fileTypes": [ + "tolk" + ], + "foldingStartMarker": "\\{\\s*$", + "foldingStopMarker": "^\\s*\\}", + "patterns": [ + { + "name": "comment.line.double-slash", + "match": "//(.*)" + }, + { + "name": "comment.block", + "begin": "/\\*", + "end": "\\*/" + }, + { + "name": "string.quoted.triple", + "begin": "\"\"\"", + "end": "\"\"\"", + "patterns": [ + { + "name": "constant.character.escape", + "match": "\\\\." + } + ] + }, + { + "name": "string.quoted.double", + "begin": "\"", + "end": "\"", + "patterns": [ + { + "name": "constant.character.escape", + "match": "\\\\." + } + ] + }, + { + "name": "constant.numeric", + "match": "(-?([\\d]+|0x[\\da-fA-F]+|0b[01]+))\\b" + }, + { + "name": "keyword.control", + "match": "\\b(do|if|try|else|while|break|throw|catch|return|assert|repeat|continue|asm|builtin|match|lazy)\\b" + }, + { + "name": "keyword.operator", + "match": "\\+|-|\\*|/|%|\\?|:|,|;|\\(|\\)|\\[|\\]|{|}|=|<|>|!|&|\\||\\^|==|!=|<=|>=|<<|>>|&&|\\|\\||~/|\\^/|\\+=|-=|\\*=|/=|%=|&=|\\|=|\\^=|->|<=>|~>>|\\^>>|<<=|>>=|=>" + }, + { + "name": "keyword.other", + "match": "\\b(import|export|private|readonly|true|false|null|redef|mutate|tolk|as|is|!is)\\b" + }, + { + "name": "storage.type", + "match": "\\b(type|int|cell|void|bool|slice|tuple|builder|continuation|never|coins|int\\d+|uint\\d+)\\b" + }, + { + "name": "storage.modifier", + "match": "\\b(global|const|var|val|fun|get|struct|enum|private|readonly)\\b" + }, + { + "name": "entity.name.type", + "match": "@\\w+" + }, + { + "name": "entity.name.function", + "match": "(`[^`]+`|[a-zA-Z$_][a-zA-Z0-9$_]*)(?=\\()" + }, + { + "name": "variable.language", + "match": "\bself\b" + }, + { + "name": "variable.name", + "match": "`[^`]+`|[a-zA-Z$_][a-zA-Z0-9$_]*" + } + ] +} From 08aca2ecaf66223be5cfc125299c0fb22eecf449 Mon Sep 17 00:00:00 2001 From: Novus Nota <68142933+novusnota@users.noreply.github.com> Date: Wed, 10 Dec 2025 10:21:01 +0100 Subject: [PATCH 2/7] pkg --- package-lock.json | 2380 ++++++++++++++++++++++++++++++--------------- package.json | 42 +- 2 files changed, 1583 insertions(+), 839 deletions(-) diff --git a/package-lock.json b/package-lock.json index 409d7de37..799eaff2c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,19 +6,21 @@ "": { "name": "ton-docs", "dependencies": { - "cspell": "^9.2.1", - "mint": "^4.2.202", + "cspell": "^9.4.0", + "husky": "^9.1.7", + "mint": "^4.2.226", "remark": "^15.0.1", "remark-cli": "^12.0.1", "remark-frontmatter": "^5.0.0", "remark-gfm": "^4.0.1", "remark-math": "^6.0.0", "remark-mdx": "^3.1.1", - "unified-consistency": "^2.0.0", + "string-width": "=8.1.0", + "unified-consistency": "=2.0.0", "unist-util-visit-parents": "^6.0.2" }, "engines": { - "node": ">=20.0", + "node": ">=20.17", "npm": ">=9" } }, @@ -46,17 +48,17 @@ } }, "node_modules/@ark/schema": { - "version": "0.54.0", - "resolved": "https://registry.npmjs.org/@ark/schema/-/schema-0.54.0.tgz", - "integrity": "sha512-QloFou+ODfb5qXgPxX1EbJyRqZEwoElzvJ6VuuFVvWJQGoigBEUW3L0HejXG/B9v8K3VvDikuULp5ELSwZn8hg==", + "version": "0.55.0", + "resolved": "https://registry.npmjs.org/@ark/schema/-/schema-0.55.0.tgz", + "integrity": "sha512-IlSIc0FmLKTDGr4I/FzNHauMn0MADA6bCjT1wauu4k6MyxhC1R9gz0olNpIRvK7lGGDwtc/VO0RUDNvVQW5WFg==", "dependencies": { - "@ark/util": "0.54.0" + "@ark/util": "0.55.0" } }, "node_modules/@ark/util": { - "version": "0.54.0", - "resolved": "https://registry.npmjs.org/@ark/util/-/util-0.54.0.tgz", - "integrity": "sha512-ugTfpEDGA6d2uU2/3M7uRiuPNYckQMhg2wfNMw8zZHXjPhuVCbXWZzIcBojuXuCN8j4MrNWNqQ9z7f8W/JiE8w==" + "version": "0.55.0", + "resolved": "https://registry.npmjs.org/@ark/util/-/util-0.55.0.tgz", + "integrity": "sha512-aWFNK7aqSvqFtVsl1xmbTjGbg91uqtJV7Za76YGNEwIO4qLjMfyY8flmmbhooYMuqPCO2jyxu8hve943D+w3bA==" }, "node_modules/@asyncapi/parser": { "version": "3.4.0", @@ -119,39 +121,39 @@ "integrity": "sha512-QdObRRjRbcXGmM1tmJ+MrHcaz1MftF2+W7YI+MsphnsCrmtyfS0d5qJbk0MeSbUeyM/jCb0hmnkXPsy026L7dA==" }, "node_modules/@cspell/cspell-bundled-dicts": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-9.2.1.tgz", - "integrity": "sha512-85gHoZh3rgZ/EqrHIr1/I4OLO53fWNp6JZCqCdgaT7e3sMDaOOG6HoSxCvOnVspXNIf/1ZbfTCDMx9x79Xq0AQ==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-9.4.0.tgz", + "integrity": "sha512-Hm2gpMg/lRv4fKtiO2NfBiaJdFZVVb1V1a+IVhlD9qCuObLhCt60Oze2kD1dQzhbaIX756cs/eyxa5bQ5jihhQ==", "dependencies": { "@cspell/dict-ada": "^4.1.1", "@cspell/dict-al": "^1.1.1", - "@cspell/dict-aws": "^4.0.15", - "@cspell/dict-bash": "^4.2.1", - "@cspell/dict-companies": "^3.2.5", - "@cspell/dict-cpp": "^6.0.12", + "@cspell/dict-aws": "^4.0.16", + "@cspell/dict-bash": "^4.2.2", + "@cspell/dict-companies": "^3.2.7", + "@cspell/dict-cpp": "^6.0.15", "@cspell/dict-cryptocurrencies": "^5.0.5", "@cspell/dict-csharp": "^4.0.7", "@cspell/dict-css": "^4.0.18", "@cspell/dict-dart": "^2.3.1", - "@cspell/dict-data-science": "^2.0.9", + "@cspell/dict-data-science": "^2.0.12", "@cspell/dict-django": "^4.1.5", "@cspell/dict-docker": "^1.1.16", "@cspell/dict-dotnet": "^5.0.10", "@cspell/dict-elixir": "^4.0.8", - "@cspell/dict-en_us": "^4.4.18", - "@cspell/dict-en-common-misspellings": "^2.1.5", - "@cspell/dict-en-gb-mit": "^3.1.8", - "@cspell/dict-filetypes": "^3.0.13", + "@cspell/dict-en_us": "^4.4.24", + "@cspell/dict-en-common-misspellings": "^2.1.8", + "@cspell/dict-en-gb-mit": "^3.1.14", + "@cspell/dict-filetypes": "^3.0.14", "@cspell/dict-flutter": "^1.1.1", "@cspell/dict-fonts": "^4.0.5", "@cspell/dict-fsharp": "^1.1.1", "@cspell/dict-fullstack": "^3.2.7", "@cspell/dict-gaming-terms": "^1.1.2", "@cspell/dict-git": "^3.0.7", - "@cspell/dict-golang": "^6.0.23", + "@cspell/dict-golang": "^6.0.24", "@cspell/dict-google": "^1.0.9", "@cspell/dict-haskell": "^4.0.6", - "@cspell/dict-html": "^4.0.12", + "@cspell/dict-html": "^4.0.13", "@cspell/dict-html-symbol-entities": "^4.0.4", "@cspell/dict-java": "^5.0.12", "@cspell/dict-julia": "^1.1.1", @@ -161,54 +163,55 @@ "@cspell/dict-lorem-ipsum": "^4.0.5", "@cspell/dict-lua": "^4.0.8", "@cspell/dict-makefile": "^1.0.5", - "@cspell/dict-markdown": "^2.0.12", + "@cspell/dict-markdown": "^2.0.13", "@cspell/dict-monkeyc": "^1.0.11", "@cspell/dict-node": "^5.0.8", - "@cspell/dict-npm": "^5.2.15", - "@cspell/dict-php": "^4.0.15", + "@cspell/dict-npm": "^5.2.25", + "@cspell/dict-php": "^4.1.0", "@cspell/dict-powershell": "^5.0.15", "@cspell/dict-public-licenses": "^2.0.15", - "@cspell/dict-python": "^4.2.19", + "@cspell/dict-python": "^4.2.23", "@cspell/dict-r": "^2.1.1", "@cspell/dict-ruby": "^5.0.9", "@cspell/dict-rust": "^4.0.12", "@cspell/dict-scala": "^5.0.8", - "@cspell/dict-shell": "^1.1.1", - "@cspell/dict-software-terms": "^5.1.7", + "@cspell/dict-shell": "^1.1.2", + "@cspell/dict-software-terms": "^5.1.15", "@cspell/dict-sql": "^2.2.1", "@cspell/dict-svelte": "^1.0.7", "@cspell/dict-swift": "^2.0.6", "@cspell/dict-terraform": "^1.1.3", "@cspell/dict-typescript": "^3.2.3", - "@cspell/dict-vue": "^3.0.5" + "@cspell/dict-vue": "^3.0.5", + "@cspell/dict-zig": "^1.0.0" }, "engines": { "node": ">=20" } }, "node_modules/@cspell/cspell-json-reporter": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@cspell/cspell-json-reporter/-/cspell-json-reporter-9.2.1.tgz", - "integrity": "sha512-LiiIWzLP9h2etKn0ap6g2+HrgOGcFEF/hp5D8ytmSL5sMxDcV13RrmJCEMTh1axGyW0SjQEFjPnYzNpCL1JjGA==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/@cspell/cspell-json-reporter/-/cspell-json-reporter-9.4.0.tgz", + "integrity": "sha512-TpHY7t13xNhcZF9bwOfgVIhcyPDamMnxU/TBYhf4mPtXPLrZ5gBTg3UZh0/9Zn3naMjmJtngdsLvB2wai9xBlQ==", "dependencies": { - "@cspell/cspell-types": "9.2.1" + "@cspell/cspell-types": "9.4.0" }, "engines": { "node": ">=20" } }, "node_modules/@cspell/cspell-pipe": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@cspell/cspell-pipe/-/cspell-pipe-9.2.1.tgz", - "integrity": "sha512-2N1H63If5cezLqKToY/YSXon4m4REg/CVTFZr040wlHRbbQMh5EF3c7tEC/ue3iKAQR4sm52ihfqo1n4X6kz+g==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/@cspell/cspell-pipe/-/cspell-pipe-9.4.0.tgz", + "integrity": "sha512-cI0sUe7SB99hJB1T6PhH/MpSrnml1kOekTCE+VH3Eb7zkVP5/mwJXs8BlufdvwBona+Cgkx6jeWlhFpxLc39Yg==", "engines": { "node": ">=20" } }, "node_modules/@cspell/cspell-resolver": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@cspell/cspell-resolver/-/cspell-resolver-9.2.1.tgz", - "integrity": "sha512-fRPQ6GWU5eyh8LN1TZblc7t24TlGhJprdjJkfZ+HjQo+6ivdeBPT7pC7pew6vuMBQPS1oHBR36hE0ZnJqqkCeg==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/@cspell/cspell-resolver/-/cspell-resolver-9.4.0.tgz", + "integrity": "sha512-o9gbbdXlhxG2rqtGqQ7xZ8MGDDsPLbskBnTeuA++ix4Ch/HdjrBNmKReIGAEqJPfP+JGgoEKqFISHUDKAJ/ygQ==", "dependencies": { "global-directory": "^4.0.1" }, @@ -217,17 +220,17 @@ } }, "node_modules/@cspell/cspell-service-bus": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@cspell/cspell-service-bus/-/cspell-service-bus-9.2.1.tgz", - "integrity": "sha512-k4M6bqdvWbcGSbcfLD7Lf4coZVObsISDW+sm/VaWp9aZ7/uwiz1IuGUxL9WO4JIdr9CFEf7Ivmvd2txZpVOCIA==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/@cspell/cspell-service-bus/-/cspell-service-bus-9.4.0.tgz", + "integrity": "sha512-UottRlFPN6FGUfojx5HtUPZTeYXg2rf2HvO/HLh0KicirVYO16vFxTevg9MyOvw1EXSsDRz8ECANjiE7fnzBCQ==", "engines": { "node": ">=20" } }, "node_modules/@cspell/cspell-types": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@cspell/cspell-types/-/cspell-types-9.2.1.tgz", - "integrity": "sha512-FQHgQYdTHkcpxT0u1ddLIg5Cc5ePVDcLg9+b5Wgaubmc5I0tLotgYj8c/mvStWuKsuZIs6sUopjJrE91wk6Onw==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/@cspell/cspell-types/-/cspell-types-9.4.0.tgz", + "integrity": "sha512-vSpd50OfmthBH0aRFRLA2zJFtwli3ntHA0WAOJ8tIMLUCJgF3udooRXFeX3wR8ri69C9mc3864LC4inyRC/E9w==", "engines": { "node": ">=20" } @@ -243,27 +246,27 @@ "integrity": "sha512-sD8GCaZetgQL4+MaJLXqbzWcRjfKVp8x+px3HuCaaiATAAtvjwUQ5/Iubiqwfd1boIh2Y1/3EgM3TLQ7Q8e0wQ==" }, "node_modules/@cspell/dict-aws": { - "version": "4.0.15", - "resolved": "https://registry.npmjs.org/@cspell/dict-aws/-/dict-aws-4.0.15.tgz", - "integrity": "sha512-aPY7VVR5Os4rz36EaqXBAEy14wR4Rqv+leCJ2Ug/Gd0IglJpM30LalF3e2eJChnjje3vWoEC0Rz3+e5gpZG+Kg==" + "version": "4.0.16", + "resolved": "https://registry.npmjs.org/@cspell/dict-aws/-/dict-aws-4.0.16.tgz", + "integrity": "sha512-a681zShZbtTo947NvTYGLer95ZDQw1ROKvIFydak1e0OlfFCsNdtcYTupn0nbbYs53c9AO7G2DU8AcNEAnwXPA==" }, "node_modules/@cspell/dict-bash": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@cspell/dict-bash/-/dict-bash-4.2.1.tgz", - "integrity": "sha512-SBnzfAyEAZLI9KFS7DUG6Xc1vDFuLllY3jz0WHvmxe8/4xV3ufFE3fGxalTikc1VVeZgZmxYiABw4iGxVldYEg==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@cspell/dict-bash/-/dict-bash-4.2.2.tgz", + "integrity": "sha512-kyWbwtX3TsCf5l49gGQIZkRLaB/P8g73GDRm41Zu8Mv51kjl2H7Au0TsEvHv7jzcsRLS6aUYaZv6Zsvk1fOz+Q==", "dependencies": { - "@cspell/dict-shell": "1.1.1" + "@cspell/dict-shell": "1.1.2" } }, "node_modules/@cspell/dict-companies": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/@cspell/dict-companies/-/dict-companies-3.2.5.tgz", - "integrity": "sha512-H51R0w7c6RwJJPqH7Gs65tzP6ouZsYDEHmmol6MIIk0kQaOIBuFP2B3vIxHLUr2EPRVFZsMW8Ni7NmVyaQlwsg==" + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/@cspell/dict-companies/-/dict-companies-3.2.7.tgz", + "integrity": "sha512-fEyr3LmpFKTaD0LcRhB4lfW1AmULYBqzg4gWAV0dQCv06l+TsA+JQ+3pZJbUcoaZirtgsgT3dL3RUjmGPhUH0A==" }, "node_modules/@cspell/dict-cpp": { - "version": "6.0.12", - "resolved": "https://registry.npmjs.org/@cspell/dict-cpp/-/dict-cpp-6.0.12.tgz", - "integrity": "sha512-N4NsCTttVpMqQEYbf0VQwCj6np+pJESov0WieCN7R/0aByz4+MXEiDieWWisaiVi8LbKzs1mEj4ZTw5K/6O2UQ==" + "version": "6.0.15", + "resolved": "https://registry.npmjs.org/@cspell/dict-cpp/-/dict-cpp-6.0.15.tgz", + "integrity": "sha512-N7MKK3llRNoBncygvrnLaGvmjo4xzVr5FbtAc9+MFGHK6/LeSySBupr1FM72XDaVSIsmBEe7sDYCHHwlI9Jb2w==" }, "node_modules/@cspell/dict-cryptocurrencies": { "version": "5.0.5", @@ -286,9 +289,9 @@ "integrity": "sha512-xoiGnULEcWdodXI6EwVyqpZmpOoh8RA2Xk9BNdR7DLamV/QMvEYn8KJ7NlRiTSauJKPNkHHQ5EVHRM6sTS7jdg==" }, "node_modules/@cspell/dict-data-science": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/@cspell/dict-data-science/-/dict-data-science-2.0.9.tgz", - "integrity": "sha512-wTOFMlxv06veIwKdXUwdGxrQcK44Zqs426m6JGgHIB/GqvieZQC5n0UI+tUm5OCxuNyo4OV6mylT4cRMjtKtWQ==" + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@cspell/dict-data-science/-/dict-data-science-2.0.12.tgz", + "integrity": "sha512-vI/mg6cI28IkFcpeINS7cm5M9HWemmXSTnxJiu3nmc4VAGx35SXIEyuLGBcsVzySvDablFYf4hsEpmg1XpVsUQ==" }, "node_modules/@cspell/dict-django": { "version": "4.1.5", @@ -311,24 +314,24 @@ "integrity": "sha512-CyfphrbMyl4Ms55Vzuj+mNmd693HjBFr9hvU+B2YbFEZprE5AG+EXLYTMRWrXbpds4AuZcvN3deM2XVB80BN/Q==" }, "node_modules/@cspell/dict-en_us": { - "version": "4.4.19", - "resolved": "https://registry.npmjs.org/@cspell/dict-en_us/-/dict-en_us-4.4.19.tgz", - "integrity": "sha512-JYYgzhGqSGuIMNY1cTlmq3zrNpehrExMHqLmLnSM2jEGFeHydlL+KLBwBYxMy4e73w+p1+o/rmAiGsMj9g3MCw==" + "version": "4.4.24", + "resolved": "https://registry.npmjs.org/@cspell/dict-en_us/-/dict-en_us-4.4.24.tgz", + "integrity": "sha512-JE+/H2YicHJTneRmgH4GSI21rS+1yGZVl1jfOQgl8iHLC+yTTMtCvueNDMK94CgJACzYAoCsQB70MqiFJJfjLQ==" }, "node_modules/@cspell/dict-en-common-misspellings": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@cspell/dict-en-common-misspellings/-/dict-en-common-misspellings-2.1.6.tgz", - "integrity": "sha512-xV9yryOqZizbSqxRS7kSVRrxVEyWHUqwdY56IuT7eAWGyTCJNmitXzXa4p+AnEbhL+AB2WLynGVSbNoUC3ceFA==" + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@cspell/dict-en-common-misspellings/-/dict-en-common-misspellings-2.1.8.tgz", + "integrity": "sha512-vDsjRFPQGuAADAiitf82z9Mz3DcqKZi6V5hPAEIFkLLKjFVBcjUsSq59SfL59ElIFb76MtBO0BLifdEbBj+DoQ==" }, "node_modules/@cspell/dict-en-gb-mit": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/@cspell/dict-en-gb-mit/-/dict-en-gb-mit-3.1.9.tgz", - "integrity": "sha512-1lSnphnHTOxnpNLpPLg1XXv8df3hs4oL0LJ6dkQ0IqNROl8Jzl6PD55BDTlKy4YOAA76dJlePB0wyrxB+VVKbg==" + "version": "3.1.14", + "resolved": "https://registry.npmjs.org/@cspell/dict-en-gb-mit/-/dict-en-gb-mit-3.1.14.tgz", + "integrity": "sha512-b+vEerlHP6rnNf30tmTJb7JZnOq4WAslYUvexOz/L3gDna9YJN3bAnwRJ3At3bdcOcMG7PTv3Pi+C73IR22lNg==" }, "node_modules/@cspell/dict-filetypes": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@cspell/dict-filetypes/-/dict-filetypes-3.0.13.tgz", - "integrity": "sha512-g6rnytIpQlMNKGJT1JKzWkC+b3xCliDKpQ3ANFSq++MnR4GaLiifaC4JkVON11Oh/UTplYOR1nY3BR4X30bswA==" + "version": "3.0.14", + "resolved": "https://registry.npmjs.org/@cspell/dict-filetypes/-/dict-filetypes-3.0.14.tgz", + "integrity": "sha512-KSXaSMYYNMLLdHEnju1DyRRH3eQWPRYRnOXpuHUdOh2jC44VgQoxyMU7oB3NAhDhZKBPCihabzECsAGFbdKfEA==" }, "node_modules/@cspell/dict-flutter": { "version": "1.1.1", @@ -361,9 +364,9 @@ "integrity": "sha512-odOwVKgfxCQfiSb+nblQZc4ErXmnWEnv8XwkaI4sNJ7cNmojnvogYVeMqkXPjvfrgEcizEEA4URRD2Ms5PDk1w==" }, "node_modules/@cspell/dict-golang": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/@cspell/dict-golang/-/dict-golang-6.0.23.tgz", - "integrity": "sha512-oXqUh/9dDwcmVlfUF5bn3fYFqbUzC46lXFQmi5emB0vYsyQXdNWsqi6/yH3uE7bdRE21nP7Yo0mR1jjFNyLamg==" + "version": "6.0.24", + "resolved": "https://registry.npmjs.org/@cspell/dict-golang/-/dict-golang-6.0.24.tgz", + "integrity": "sha512-rY7PlC3MsHozmjrZWi0HQPUl0BVCV0+mwK0rnMT7pOIXqOe4tWCYMULDIsEk4F0gbIxb5badd2dkCPDYjLnDgA==" }, "node_modules/@cspell/dict-google": { "version": "1.0.9", @@ -376,9 +379,9 @@ "integrity": "sha512-ib8SA5qgftExpYNjWhpYIgvDsZ/0wvKKxSP+kuSkkak520iPvTJumEpIE+qPcmJQo4NzdKMN8nEfaeci4OcFAQ==" }, "node_modules/@cspell/dict-html": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/@cspell/dict-html/-/dict-html-4.0.12.tgz", - "integrity": "sha512-JFffQ1dDVEyJq6tCDWv0r/RqkdSnV43P2F/3jJ9rwLgdsOIXwQbXrz6QDlvQLVvNSnORH9KjDtenFTGDyzfCaA==" + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/@cspell/dict-html/-/dict-html-4.0.13.tgz", + "integrity": "sha512-vHzk2xfqQYPvoXtQtywa6ekIonPrUEwe2uftjry3UNRNl89TtzLJVSkiymKJ3WMb+W/DwKXKIb1tKzcIS8ccIg==" }, "node_modules/@cspell/dict-html-symbol-entities": { "version": "4.0.4", @@ -426,12 +429,12 @@ "integrity": "sha512-4vrVt7bGiK8Rx98tfRbYo42Xo2IstJkAF4tLLDMNQLkQ86msDlYSKG1ZCk8Abg+EdNcFAjNhXIiNO+w4KflGAQ==" }, "node_modules/@cspell/dict-markdown": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/@cspell/dict-markdown/-/dict-markdown-2.0.12.tgz", - "integrity": "sha512-ufwoliPijAgWkD/ivAMC+A9QD895xKiJRF/fwwknQb7kt7NozTLKFAOBtXGPJAB4UjhGBpYEJVo2elQ0FCAH9A==", + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@cspell/dict-markdown/-/dict-markdown-2.0.13.tgz", + "integrity": "sha512-rFeGikf+lVlywEp7giATUfi8myFeee6jqgbUgtdIdl/OBmRBPe5m7mKNk7yMItMZe8ICrwMxFwJy5OeTnrr6QA==", "peerDependencies": { "@cspell/dict-css": "^4.0.18", - "@cspell/dict-html": "^4.0.12", + "@cspell/dict-html": "^4.0.13", "@cspell/dict-html-symbol-entities": "^4.0.4", "@cspell/dict-typescript": "^3.2.3" } @@ -447,14 +450,14 @@ "integrity": "sha512-AirZcN2i84ynev3p2/1NCPEhnNsHKMz9zciTngGoqpdItUb2bDt1nJBjwlsrFI78GZRph/VaqTVFwYikmncpXg==" }, "node_modules/@cspell/dict-npm": { - "version": "5.2.17", - "resolved": "https://registry.npmjs.org/@cspell/dict-npm/-/dict-npm-5.2.17.tgz", - "integrity": "sha512-0yp7lBXtN3CtxBrpvTu/yAuPdOHR2ucKzPxdppc3VKO068waZNpKikn1NZCzBS3dIAFGVITzUPtuTXxt9cxnSg==" + "version": "5.2.25", + "resolved": "https://registry.npmjs.org/@cspell/dict-npm/-/dict-npm-5.2.25.tgz", + "integrity": "sha512-jxhVxM3+ilxbum/N2ejAvVuvet1OrGeW1fD7GagAkHU/2zlzINZkJLDtXk6v1WHUjigfhiAsois3puobv/2A1A==" }, "node_modules/@cspell/dict-php": { - "version": "4.0.15", - "resolved": "https://registry.npmjs.org/@cspell/dict-php/-/dict-php-4.0.15.tgz", - "integrity": "sha512-iepGB2gtToMWSTvybesn4/lUp4LwXcEm0s8vasJLP76WWVkq1zYjmeS+WAIzNgsuURyZ/9mGqhS0CWMuo74ODw==" + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-php/-/dict-php-4.1.0.tgz", + "integrity": "sha512-dTDeabyOj7eFvn2Q4Za3uVXM2+SzeFMqX8ly2P0XTo4AzbCmI2hulFD/QIADwWmwiRrInbbf8cxwFHNIYrXl4w==" }, "node_modules/@cspell/dict-powershell": { "version": "5.0.15", @@ -467,11 +470,11 @@ "integrity": "sha512-cJEOs901H13Pfy0fl4dCD1U+xpWIMaEPq8MeYU83FfDZvellAuSo4GqWCripfIqlhns/L6+UZEIJSOZnjgy7Wg==" }, "node_modules/@cspell/dict-python": { - "version": "4.2.19", - "resolved": "https://registry.npmjs.org/@cspell/dict-python/-/dict-python-4.2.19.tgz", - "integrity": "sha512-9S2gTlgILp1eb6OJcVZeC8/Od83N8EqBSg5WHVpx97eMMJhifOzePkE0kDYjyHMtAFznCQTUu0iQEJohNQ5B0A==", + "version": "4.2.23", + "resolved": "https://registry.npmjs.org/@cspell/dict-python/-/dict-python-4.2.23.tgz", + "integrity": "sha512-c0C//tmG4PZWeONtTBPXa6q0ylfz3/BgEcHAR1L0BPWjNUIzTyx9J+hEIUCPYf7eAPeYjaDuTvYlg11igXXE4Q==", "dependencies": { - "@cspell/dict-data-science": "^2.0.9" + "@cspell/dict-data-science": "^2.0.12" } }, "node_modules/@cspell/dict-r": { @@ -495,14 +498,14 @@ "integrity": "sha512-YdftVmumv8IZq9zu1gn2U7A4bfM2yj9Vaupydotyjuc+EEZZSqAafTpvW/jKLWji2TgybM1L2IhmV0s/Iv9BTw==" }, "node_modules/@cspell/dict-shell": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@cspell/dict-shell/-/dict-shell-1.1.1.tgz", - "integrity": "sha512-T37oYxE7OV1x/1D4/13Y8JZGa1QgDCXV7AVt3HLXjn0Fe3TaNDvf5sU0fGnXKmBPqFFrHdpD3uutAQb1dlp15g==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@cspell/dict-shell/-/dict-shell-1.1.2.tgz", + "integrity": "sha512-WqOUvnwcHK1X61wAfwyXq04cn7KYyskg90j4lLg3sGGKMW9Sq13hs91pqrjC44Q+lQLgCobrTkMDw9Wyl9nRFA==" }, "node_modules/@cspell/dict-software-terms": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/@cspell/dict-software-terms/-/dict-software-terms-5.1.8.tgz", - "integrity": "sha512-iwCHLP11OmVHEX2MzE8EPxpPw7BelvldxWe5cJ3xXIDL8TjF2dBTs2noGcrqnZi15SLYIlO8897BIOa33WHHZA==" + "version": "5.1.15", + "resolved": "https://registry.npmjs.org/@cspell/dict-software-terms/-/dict-software-terms-5.1.15.tgz", + "integrity": "sha512-93VqazVvVtHuKY7seGxbfdtrnPBgZ/hZ/NmFFkBRhkRL6NavaQ6U2QsHpnlVEZN5km3DmaQy1X4ZcvNoSTK/ZQ==" }, "node_modules/@cspell/dict-sql": { "version": "2.2.1", @@ -534,12 +537,17 @@ "resolved": "https://registry.npmjs.org/@cspell/dict-vue/-/dict-vue-3.0.5.tgz", "integrity": "sha512-Mqutb8jbM+kIcywuPQCCaK5qQHTdaByoEO2J9LKFy3sqAdiBogNkrplqUK0HyyRFgCfbJUgjz3N85iCMcWH0JA==" }, + "node_modules/@cspell/dict-zig": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-zig/-/dict-zig-1.0.0.tgz", + "integrity": "sha512-XibBIxBlVosU06+M6uHWkFeT0/pW5WajDRYdXG2CgHnq85b0TI/Ks0FuBJykmsgi2CAD3Qtx8UHFEtl/DSFnAQ==" + }, "node_modules/@cspell/dynamic-import": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@cspell/dynamic-import/-/dynamic-import-9.2.1.tgz", - "integrity": "sha512-izYQbk7ck0ffNA1gf7Gi3PkUEjj+crbYeyNK1hxHx5A+GuR416ozs0aEyp995KI2v9HZlXscOj3SC3wrWzHZeA==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/@cspell/dynamic-import/-/dynamic-import-9.4.0.tgz", + "integrity": "sha512-d2fjLjzrKGUIn5hWK8gMuyAh2pqXSxBqOHpU1jR3jxbrO3MilunKNijaSstv7CZn067Jpc36VfaKQodaXNZzUA==", "dependencies": { - "@cspell/url": "9.2.1", + "@cspell/url": "9.4.0", "import-meta-resolve": "^4.2.0" }, "engines": { @@ -547,29 +555,44 @@ } }, "node_modules/@cspell/filetypes": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@cspell/filetypes/-/filetypes-9.2.1.tgz", - "integrity": "sha512-Dy1y1pQ+7hi2gPs+jERczVkACtYbUHcLodXDrzpipoxgOtVxMcyZuo+84WYHImfu0gtM0wU2uLObaVgMSTnytw==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/@cspell/filetypes/-/filetypes-9.4.0.tgz", + "integrity": "sha512-RMrYHkvPF0tHVFM+T4voEhX9sfYQrd/mnNbf6+O4CWUyLCz4NQ5H9yOgEIJwEcLu4y3NESGXFef/Jn5xo0CUfg==", "engines": { "node": ">=20" } }, "node_modules/@cspell/strong-weak-map": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@cspell/strong-weak-map/-/strong-weak-map-9.2.1.tgz", - "integrity": "sha512-1HsQWZexvJSjDocVnbeAWjjgqWE/0op/txxzDPvDqI2sE6pY0oO4Cinj2I8z+IP+m6/E6yjPxdb23ydbQbPpJQ==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/@cspell/strong-weak-map/-/strong-weak-map-9.4.0.tgz", + "integrity": "sha512-ui7mlXYmqElS/SmRubPBNWdkQVWgWbB6rjCurc+0owYXlnweItAMHTxC8mCWM/Au22SF1dB/JR8QBELFXLkTjQ==", "engines": { "node": ">=20" } }, "node_modules/@cspell/url": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@cspell/url/-/url-9.2.1.tgz", - "integrity": "sha512-9EHCoGKtisPNsEdBQ28tKxKeBmiVS3D4j+AN8Yjr+Dmtu+YACKGWiMOddNZG2VejQNIdFx7FwzU00BGX68ELhA==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/@cspell/url/-/url-9.4.0.tgz", + "integrity": "sha512-nt88P6m20AaVbqMxsyPf8KqyWPaFEW2UANi0ijBxc2xTkD2KiUovxfZUYW6NMU9XBYZlovT5LztkEhst2yBcSA==", "engines": { "node": ">=20" } }, + "node_modules/@emnapi/runtime": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.7.1.tgz", + "integrity": "sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "optional": true + }, "node_modules/@floating-ui/core": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz", @@ -608,6 +631,123 @@ "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==", "peer": true }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz", + "integrity": "sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.0.4" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz", + "integrity": "sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.0.4" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz", + "integrity": "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz", + "integrity": "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz", + "integrity": "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz", + "integrity": "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz", + "integrity": "sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, "node_modules/@img/sharp-libvips-linux-x64": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz", @@ -623,6 +763,21 @@ "url": "https://opencollective.com/libvips" } }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz", + "integrity": "sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, "node_modules/@img/sharp-libvips-linuxmusl-x64": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz", @@ -638,6 +793,69 @@ "url": "https://opencollective.com/libvips" } }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz", + "integrity": "sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.0.5" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz", + "integrity": "sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.0.4" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz", + "integrity": "sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.0.4" + } + }, "node_modules/@img/sharp-linux-x64": { "version": "0.33.5", "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz", @@ -659,6 +877,27 @@ "@img/sharp-libvips-linux-x64": "1.0.4" } }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz", + "integrity": "sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.0.4" + } + }, "node_modules/@img/sharp-linuxmusl-x64": { "version": "0.33.5", "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz", @@ -680,6 +919,60 @@ "@img/sharp-libvips-linuxmusl-x64": "1.0.4" } }, + "node_modules/@img/sharp-wasm32": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz", + "integrity": "sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==", + "cpu": [ + "wasm32" + ], + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.2.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz", + "integrity": "sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz", + "integrity": "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, "node_modules/@inquirer/ansi": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@inquirer/ansi/-/ansi-1.0.2.tgz", @@ -889,20 +1182,20 @@ } }, "node_modules/@inquirer/prompts": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.10.1.tgz", - "integrity": "sha512-Dx/y9bCQcXLI5ooQ5KyvA4FTgeo2jYj/7plWfV5Ak5wDPKQZgudKez2ixyfz7tKXzcJciTxqLeK7R9HItwiByg==", - "dependencies": { - "@inquirer/checkbox": "^4.3.2", - "@inquirer/confirm": "^5.1.21", - "@inquirer/editor": "^4.2.23", - "@inquirer/expand": "^4.0.23", - "@inquirer/input": "^4.3.1", - "@inquirer/number": "^3.0.23", - "@inquirer/password": "^4.0.23", - "@inquirer/rawlist": "^4.1.11", - "@inquirer/search": "^3.2.2", - "@inquirer/select": "^4.4.2" + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.9.0.tgz", + "integrity": "sha512-X7/+dG9SLpSzRkwgG5/xiIzW0oMrV3C0HOa7YHG1WnrLK+vCQHfte4k/T80059YBdei29RBC3s+pSMvPJDU9/A==", + "dependencies": { + "@inquirer/checkbox": "^4.3.0", + "@inquirer/confirm": "^5.1.19", + "@inquirer/editor": "^4.2.21", + "@inquirer/expand": "^4.0.21", + "@inquirer/input": "^4.2.5", + "@inquirer/number": "^3.0.21", + "@inquirer/password": "^4.0.21", + "@inquirer/rawlist": "^4.1.9", + "@inquirer/search": "^3.2.0", + "@inquirer/select": "^4.4.0" }, "engines": { "node": ">=18" @@ -1173,31 +1466,31 @@ } }, "node_modules/@mintlify/cli": { - "version": "4.0.806", - "resolved": "https://registry.npmjs.org/@mintlify/cli/-/cli-4.0.806.tgz", - "integrity": "sha512-qRt+WIAW8yT/lSEZj56JDSW13DaAgJDzfruA1AvKdTHKlD3p1Lqw0lxhH/oH3KZUVZh6gLN7Wy1IPnjTzNq9iA==", - "dependencies": { - "@inquirer/prompts": "^7.9.0", - "@mintlify/common": "1.0.606", - "@mintlify/link-rot": "3.0.748", - "@mintlify/models": "0.0.240", - "@mintlify/prebuild": "1.0.735", - "@mintlify/previewing": "4.0.784", - "@mintlify/validation": "0.1.521", - "adm-zip": "^0.5.10", - "chalk": "^5.2.0", - "color": "^4.2.3", - "detect-port": "^1.5.1", - "fs-extra": "^11.2.0", - "gray-matter": "^4.0.3", - "ink": "^6.0.1", - "inquirer": "^12.3.0", - "js-yaml": "^4.1.0", - "mdast-util-mdx-jsx": "^3.2.0", - "react": "^19.1.0", - "semver": "^7.7.2", - "unist-util-visit": "^5.0.0", - "yargs": "^17.6.0" + "version": "4.0.830", + "resolved": "https://registry.npmjs.org/@mintlify/cli/-/cli-4.0.830.tgz", + "integrity": "sha512-xSqZJCfU9lD76YTjnPOtepXE7ThLNmyVOUMcGjoYItD4osc/NpArtyaKIl2+Tpkfc3BV4gBhce2fymWctmV8yQ==", + "dependencies": { + "@inquirer/prompts": "7.9.0", + "@mintlify/common": "1.0.623", + "@mintlify/link-rot": "3.0.770", + "@mintlify/models": "0.0.244", + "@mintlify/prebuild": "1.0.754", + "@mintlify/previewing": "4.0.805", + "@mintlify/validation": "0.1.531", + "adm-zip": "0.5.16", + "chalk": "5.2.0", + "color": "4.2.3", + "detect-port": "1.5.1", + "front-matter": "4.0.2", + "fs-extra": "11.2.0", + "ink": "6.3.0", + "inquirer": "12.3.0", + "js-yaml": "4.1.0", + "mdast-util-mdx-jsx": "3.2.0", + "react": "19.2.1", + "semver": "7.7.2", + "unist-util-visit": "5.0.0", + "yargs": "17.7.1" }, "bin": { "mint": "bin/index.js", @@ -1207,59 +1500,82 @@ "node": ">=18.0.0" } }, + "node_modules/@mintlify/cli/node_modules/chalk": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", + "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@mintlify/cli/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@mintlify/common": { - "version": "1.0.606", - "resolved": "https://registry.npmjs.org/@mintlify/common/-/common-1.0.606.tgz", - "integrity": "sha512-mHIPH8F59ZIkP0Ls96XCz1XUfIAAgIb1EmKcqgdjppnRo4Uo5ECWEMCH7gGK9A082B5KLaxCdAv1dXw2zecAOA==", + "version": "1.0.623", + "resolved": "https://registry.npmjs.org/@mintlify/common/-/common-1.0.623.tgz", + "integrity": "sha512-tc30qVKIJ3A2dtrQ+hUGQQnS4GpsKYSqqe4qq32a+XeAxRkzsOHYXGFeAGe//VAXVufjEKUjRkTfTBIQjO/W5g==", "dependencies": { - "@asyncapi/parser": "^3.4.0", - "@mintlify/mdx": "^3.0.1", - "@mintlify/models": "0.0.240", + "@asyncapi/parser": "3.4.0", + "@mintlify/mdx": "^3.0.4", + "@mintlify/models": "0.0.244", "@mintlify/openapi-parser": "^0.0.8", - "@mintlify/validation": "0.1.521", - "@sindresorhus/slugify": "^2.1.1", - "acorn": "^8.11.2", - "acorn-jsx": "^5.3.2", - "color-blend": "^4.0.0", - "estree-util-to-js": "^2.0.0", - "estree-walker": "^3.0.3", - "gray-matter": "^4.0.3", - "hast-util-from-html": "^2.0.3", - "hast-util-to-html": "^9.0.4", - "hast-util-to-text": "^4.0.2", - "hex-rgb": "^5.0.0", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "mdast-util-from-markdown": "^2.0.2", - "mdast-util-gfm": "^3.0.0", - "mdast-util-mdx": "^3.0.0", - "mdast-util-mdx-jsx": "^3.1.3", - "micromark-extension-gfm": "^3.0.0", - "micromark-extension-mdx-jsx": "^3.0.1", - "micromark-extension-mdxjs": "^3.0.0", - "openapi-types": "^12.0.0", - "postcss": "^8.5.6", - "remark": "^15.0.1", - "remark-frontmatter": "^5.0.0", - "remark-gfm": "^4.0.0", - "remark-math": "^6.0.0", - "remark-mdx": "^3.1.0", - "remark-stringify": "^11.0.0", - "tailwindcss": "^3.4.4", - "unified": "^11.0.5", - "unist-builder": "^4.0.0", - "unist-util-map": "^4.0.0", - "unist-util-remove": "^4.0.0", - "unist-util-remove-position": "^5.0.0", - "unist-util-visit": "^5.0.0", - "unist-util-visit-parents": "^6.0.1", - "vfile": "^6.0.3" + "@mintlify/validation": "0.1.531", + "@sindresorhus/slugify": "2.2.0", + "acorn": "8.11.2", + "acorn-jsx": "5.3.2", + "color-blend": "4.0.0", + "estree-util-to-js": "2.0.0", + "estree-walker": "3.0.3", + "front-matter": "4.0.2", + "hast-util-from-html": "2.0.3", + "hast-util-to-html": "9.0.4", + "hast-util-to-text": "4.0.2", + "hex-rgb": "5.0.0", + "ignore": "7.0.5", + "js-yaml": "4.1.0", + "lodash": "4.17.21", + "mdast-util-from-markdown": "2.0.2", + "mdast-util-gfm": "3.0.0", + "mdast-util-mdx": "3.0.0", + "mdast-util-mdx-jsx": "3.1.3", + "micromark-extension-gfm": "3.0.0", + "micromark-extension-mdx-jsx": "3.0.1", + "micromark-extension-mdxjs": "3.0.0", + "openapi-types": "12.1.3", + "postcss": "8.5.6", + "remark": "15.0.1", + "remark-frontmatter": "5.0.0", + "remark-gfm": "4.0.0", + "remark-math": "6.0.0", + "remark-mdx": "3.1.0", + "remark-stringify": "11.0.0", + "tailwindcss": "3.4.4", + "unified": "11.0.5", + "unist-builder": "4.0.0", + "unist-util-map": "4.0.0", + "unist-util-remove": "4.0.0", + "unist-util-remove-position": "5.0.0", + "unist-util-visit": "5.0.0", + "unist-util-visit-parents": "6.0.1", + "vfile": "6.0.3" } }, "node_modules/@mintlify/common/node_modules/@mintlify/mdx": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@mintlify/mdx/-/mdx-3.0.3.tgz", - "integrity": "sha512-YwvZZ/2CJG+MT2sWyKOXAEk/nS5lzq3ACUerqD8xtPtnMMCgqoSQ/Y8pA32OfTAHFMsiIwqI3NNWYFLEftyrWg==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@mintlify/mdx/-/mdx-3.0.4.tgz", + "integrity": "sha512-tJhdpnM5ReJLNJ2fuDRIEr0zgVd6id7/oAIfs26V46QlygiLsc8qx4Rz3LWIX51rUXW/cfakjj0EATxIciIw+g==", "dependencies": { "@shikijs/transformers": "^3.11.0", "@shikijs/twoslash": "^3.12.2", @@ -1284,6 +1600,47 @@ "react-dom": "^18.3.1" } }, + "node_modules/@mintlify/common/node_modules/@mintlify/mdx/node_modules/mdast-util-gfm": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz", + "integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@mintlify/common/node_modules/@mintlify/mdx/node_modules/mdast-util-mdx-jsx": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz", + "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/@mintlify/common/node_modules/@radix-ui/react-popover": { "version": "1.1.15", "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.1.15.tgz", @@ -1321,6 +1678,88 @@ } } }, + "node_modules/@mintlify/common/node_modules/acorn": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/@mintlify/common/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@mintlify/common/node_modules/mdast-util-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz", + "integrity": "sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@mintlify/common/node_modules/mdast-util-mdx-jsx": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.1.3.tgz", + "integrity": "sha512-bfOjvNt+1AcbPLTFMFWY149nJz0OjmewJs3LQQ5pIyVGxP4CdOqNVJL6kTaM5c68p8q82Xv3nCyFfUnuEcH3UQ==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@mintlify/common/node_modules/micromark-extension-mdx-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.1.tgz", + "integrity": "sha512-vNuFb9czP8QCtAQcEJn0UJQJZA8Dk6DXKBqx+bg/w0WGuSxDxNr7hErW89tHUY31dUW4NqEOWwmEUNhjTFmHkg==", + "dependencies": { + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/@mintlify/common/node_modules/next-mdx-remote-client": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/next-mdx-remote-client/-/next-mdx-remote-client-1.1.4.tgz", @@ -1367,6 +1806,36 @@ "react": "^18.3.1" } }, + "node_modules/@mintlify/common/node_modules/remark-gfm": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.0.tgz", + "integrity": "sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@mintlify/common/node_modules/remark-mdx": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.1.0.tgz", + "integrity": "sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA==", + "dependencies": { + "mdast-util-mdx": "^3.0.0", + "micromark-extension-mdxjs": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/@mintlify/common/node_modules/scheduler": { "version": "0.23.2", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", @@ -1376,17 +1845,30 @@ "loose-envify": "^1.1.0" } }, + "node_modules/@mintlify/common/node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/@mintlify/link-rot": { - "version": "3.0.748", - "resolved": "https://registry.npmjs.org/@mintlify/link-rot/-/link-rot-3.0.748.tgz", - "integrity": "sha512-X6orT/6HoObBV62XIu3xaUCFGL0TK/mc77npv7jrnMDBYSlXRsh1QgRouovHW6gzQY4TDtP65a3IVadJ0RO3rA==", + "version": "3.0.770", + "resolved": "https://registry.npmjs.org/@mintlify/link-rot/-/link-rot-3.0.770.tgz", + "integrity": "sha512-VCDMMVYH6aUouZYKrgtaN0FCPiW7vvNa2nRKySgPDf5u+yU6wv+6N1EUqoF/Jp31hvDwdqehcudCreQyER5Mqg==", "dependencies": { - "@mintlify/common": "1.0.606", - "@mintlify/prebuild": "1.0.735", - "@mintlify/previewing": "4.0.784", - "@mintlify/validation": "0.1.521", - "fs-extra": "^11.1.0", - "unist-util-visit": "^4.1.1" + "@mintlify/common": "1.0.623", + "@mintlify/prebuild": "1.0.754", + "@mintlify/previewing": "4.0.805", + "@mintlify/validation": "0.1.531", + "fs-extra": "11.1.0", + "unist-util-visit": "4.1.2" }, "engines": { "node": ">=18.0.0" @@ -1397,6 +1879,19 @@ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==" }, + "node_modules/@mintlify/link-rot/node_modules/fs-extra": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.0.tgz", + "integrity": "sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, "node_modules/@mintlify/link-rot/node_modules/unist-util-is": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", @@ -1437,12 +1932,12 @@ } }, "node_modules/@mintlify/models": { - "version": "0.0.240", - "resolved": "https://registry.npmjs.org/@mintlify/models/-/models-0.0.240.tgz", - "integrity": "sha512-9j8UfcYw+pD5D5qhB/iPywSpnB/sgwft+mUc08mWS+Tol19smROa901Myy0yLT0NZPfoZVfSSLp8J5LTloljpA==", + "version": "0.0.244", + "resolved": "https://registry.npmjs.org/@mintlify/models/-/models-0.0.244.tgz", + "integrity": "sha512-OdmCCC0mosRyP7YMnGRJ+Ba0OAWI+DgLo3oNnIkCRXru+YDjsc39/kjv6VBmkS3cNYL4z7IKw3sjEf9UTOZmpw==", "dependencies": { - "axios": "^1.8.3", - "openapi-types": "^12.0.0" + "axios": "1.10.0", + "openapi-types": "12.1.3" }, "engines": { "node": ">=18.0.0" @@ -1481,24 +1976,24 @@ } }, "node_modules/@mintlify/prebuild": { - "version": "1.0.735", - "resolved": "https://registry.npmjs.org/@mintlify/prebuild/-/prebuild-1.0.735.tgz", - "integrity": "sha512-v0w1Ky8LMiyJzJPAZdGDxDSMmuxAVV6FAZChhtT4+m+PPGQIH0zSYlJX/INYA/Xdkzyq4c8nbC+BMFNh/e3bqg==", + "version": "1.0.754", + "resolved": "https://registry.npmjs.org/@mintlify/prebuild/-/prebuild-1.0.754.tgz", + "integrity": "sha512-THkArqNKTsiRCncvzWlKr+3JEEBlwfBddAtO9VkG7PaKbOonRjL0cRrxPVRT+Z5JawVJZBQVCXYTDFofFvltSQ==", "dependencies": { - "@mintlify/common": "1.0.606", - "@mintlify/openapi-parser": "^0.0.8", - "@mintlify/scraping": "4.0.466", - "@mintlify/validation": "0.1.521", - "chalk": "^5.3.0", - "favicons": "^7.2.0", - "fs-extra": "^11.1.0", - "gray-matter": "^4.0.3", - "js-yaml": "^4.1.0", - "openapi-types": "^12.0.0", - "sharp": "^0.33.1", - "sharp-ico": "^0.1.5", - "unist-util-visit": "^4.1.1", - "uuid": "^11.1.0" + "@mintlify/common": "1.0.623", + "@mintlify/openapi-parser": "^0.0.8", + "@mintlify/scraping": "4.0.483", + "@mintlify/validation": "0.1.531", + "chalk": "5.3.0", + "favicons": "7.2.0", + "front-matter": "4.0.2", + "fs-extra": "11.1.0", + "js-yaml": "4.1.0", + "openapi-types": "12.1.3", + "sharp": "0.33.5", + "sharp-ico": "0.1.5", + "unist-util-visit": "4.1.2", + "uuid": "11.1.0" } }, "node_modules/@mintlify/prebuild/node_modules/@types/unist": { @@ -1506,6 +2001,30 @@ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==" }, + "node_modules/@mintlify/prebuild/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@mintlify/prebuild/node_modules/fs-extra": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.0.tgz", + "integrity": "sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, "node_modules/@mintlify/prebuild/node_modules/unist-util-is": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", @@ -1546,30 +2065,30 @@ } }, "node_modules/@mintlify/previewing": { - "version": "4.0.784", - "resolved": "https://registry.npmjs.org/@mintlify/previewing/-/previewing-4.0.784.tgz", - "integrity": "sha512-nROZjexv0nUJ4zhJ4UQXybKAsrNJenZ2NmIQvGQQcbDdgNjH+aK4R6m2d+M6ppff6nbWrnAJ9J2doHhAOPZVBQ==", - "dependencies": { - "@mintlify/common": "1.0.606", - "@mintlify/prebuild": "1.0.735", - "@mintlify/validation": "0.1.521", - "better-opn": "^3.0.2", - "chalk": "^5.1.0", - "chokidar": "^3.5.3", - "express": "^4.18.2", - "fs-extra": "^11.1.0", - "got": "^13.0.0", - "gray-matter": "^4.0.3", - "ink": "^6.0.1", - "ink-spinner": "^5.0.0", - "is-online": "^10.0.0", - "js-yaml": "^4.1.0", - "openapi-types": "^12.0.0", - "react": "^19.1.0", - "socket.io": "^4.7.2", - "tar": "^6.1.15", - "unist-util-visit": "^4.1.1", - "yargs": "^17.6.0" + "version": "4.0.805", + "resolved": "https://registry.npmjs.org/@mintlify/previewing/-/previewing-4.0.805.tgz", + "integrity": "sha512-jjKU6+VbliAWLBR4ImDAAPJ9z6lf9I7IIXcxdg/gtng06tO0/F2e4yFU6nqs3V59S08MFWtOAIAwIzKnlWMf/g==", + "dependencies": { + "@mintlify/common": "1.0.623", + "@mintlify/prebuild": "1.0.754", + "@mintlify/validation": "0.1.531", + "better-opn": "3.0.2", + "chalk": "5.2.0", + "chokidar": "3.5.3", + "express": "4.18.2", + "front-matter": "4.0.2", + "fs-extra": "11.1.0", + "got": "13.0.0", + "ink": "6.3.0", + "ink-spinner": "5.0.0", + "is-online": "10.0.0", + "js-yaml": "4.1.0", + "openapi-types": "12.1.3", + "react": "19.2.1", + "socket.io": "4.7.2", + "tar": "6.1.15", + "unist-util-visit": "4.1.2", + "yargs": "17.7.1" }, "engines": { "node": ">=18.0.0" @@ -1580,6 +2099,56 @@ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==" }, + "node_modules/@mintlify/previewing/node_modules/chalk": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", + "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@mintlify/previewing/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/@mintlify/previewing/node_modules/fs-extra": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.0.tgz", + "integrity": "sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, "node_modules/@mintlify/previewing/node_modules/unist-util-is": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", @@ -1620,27 +2189,27 @@ } }, "node_modules/@mintlify/scraping": { - "version": "4.0.466", - "resolved": "https://registry.npmjs.org/@mintlify/scraping/-/scraping-4.0.466.tgz", - "integrity": "sha512-LGqRCH3NPd9OjgfLk85kDNbE9TGLJmKhec6pJIJtAFkvfxKskjzesznPL6VdiDPg9y0lYPuV6CmGlaD0bdBYWQ==", + "version": "4.0.483", + "resolved": "https://registry.npmjs.org/@mintlify/scraping/-/scraping-4.0.483.tgz", + "integrity": "sha512-DcwfOGY+27CWa8j/2Dvwck9aUc4g0O3OpH89GMXO5ni8+82JHNAb59rtlGoNaVW3RrkQFKIagbzYS8rhILN8Lw==", "dependencies": { - "@mintlify/common": "1.0.606", + "@mintlify/common": "1.0.623", "@mintlify/openapi-parser": "^0.0.8", - "fs-extra": "^11.1.1", - "hast-util-to-mdast": "^10.1.0", - "js-yaml": "^4.1.0", - "mdast-util-mdx-jsx": "^3.1.3", - "neotraverse": "^0.6.18", - "puppeteer": "^22.14.0", - "rehype-parse": "^9.0.0", - "remark-gfm": "^4.0.0", - "remark-mdx": "^3.0.1", - "remark-parse": "^11.0.0", - "remark-stringify": "^11.0.0", - "unified": "^11.0.5", - "unist-util-visit": "^5.0.0", - "yargs": "^17.6.0", - "zod": "^3.20.6" + "fs-extra": "11.1.1", + "hast-util-to-mdast": "10.1.0", + "js-yaml": "4.1.0", + "mdast-util-mdx-jsx": "3.1.3", + "neotraverse": "0.6.18", + "puppeteer": "22.14.0", + "rehype-parse": "9.0.1", + "remark-gfm": "4.0.0", + "remark-mdx": "3.0.1", + "remark-parse": "11.0.0", + "remark-stringify": "11.0.0", + "unified": "11.0.5", + "unist-util-visit": "5.0.0", + "yargs": "17.7.1", + "zod": "3.21.4" }, "bin": { "mintlify-scrape": "bin/cli.js" @@ -1649,28 +2218,94 @@ "node": ">=18.0.0" } }, - "node_modules/@mintlify/validation": { - "version": "0.1.521", - "resolved": "https://registry.npmjs.org/@mintlify/validation/-/validation-0.1.521.tgz", - "integrity": "sha512-8icZULy+5CXGucFNo7mTWEgzif/73Lvbb8pNuo7MBL81kbvixPWKX3j5TiSLkVCUjwUGIglr9IKc9+RXxwN09A==", + "node_modules/@mintlify/scraping/node_modules/fs-extra": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", + "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", "dependencies": { - "@mintlify/mdx": "^3.0.1", - "@mintlify/models": "0.0.240", - "arktype": "^2.1.20", - "js-yaml": "^4.1.0", - "lcm": "^0.0.3", - "lodash": "^4.17.21", - "object-hash": "^3.0.0", - "openapi-types": "^12.0.0", - "uuid": "^11.1.0", - "zod": "^3.20.6", - "zod-to-json-schema": "^3.20.3" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@mintlify/scraping/node_modules/mdast-util-mdx-jsx": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.1.3.tgz", + "integrity": "sha512-bfOjvNt+1AcbPLTFMFWY149nJz0OjmewJs3LQQ5pIyVGxP4CdOqNVJL6kTaM5c68p8q82Xv3nCyFfUnuEcH3UQ==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@mintlify/scraping/node_modules/remark-gfm": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.0.tgz", + "integrity": "sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@mintlify/scraping/node_modules/remark-mdx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.0.1.tgz", + "integrity": "sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA==", + "dependencies": { + "mdast-util-mdx": "^3.0.0", + "micromark-extension-mdxjs": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@mintlify/validation": { + "version": "0.1.531", + "resolved": "https://registry.npmjs.org/@mintlify/validation/-/validation-0.1.531.tgz", + "integrity": "sha512-RGefDaW/n4cWZGeB3AZNSOTn1WKbxxKAEYtnr5iyv8OB4cmlnUrFMBsec4lwhmqTNirbwbVDEci62RxO2gIE0w==", + "dependencies": { + "@mintlify/mdx": "^3.0.4", + "@mintlify/models": "0.0.244", + "arktype": "2.1.27", + "js-yaml": "4.1.0", + "lcm": "0.0.3", + "lodash": "4.17.21", + "object-hash": "3.0.0", + "openapi-types": "12.1.3", + "uuid": "11.1.0", + "zod": "3.21.4", + "zod-to-json-schema": "3.20.4" } }, "node_modules/@mintlify/validation/node_modules/@mintlify/mdx": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@mintlify/mdx/-/mdx-3.0.3.tgz", - "integrity": "sha512-YwvZZ/2CJG+MT2sWyKOXAEk/nS5lzq3ACUerqD8xtPtnMMCgqoSQ/Y8pA32OfTAHFMsiIwqI3NNWYFLEftyrWg==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@mintlify/mdx/-/mdx-3.0.4.tgz", + "integrity": "sha512-tJhdpnM5ReJLNJ2fuDRIEr0zgVd6id7/oAIfs26V46QlygiLsc8qx4Rz3LWIX51rUXW/cfakjj0EATxIciIw+g==", "dependencies": { "@shikijs/transformers": "^3.11.0", "@shikijs/twoslash": "^3.12.2", @@ -2023,6 +2658,68 @@ "node": ">=18" } }, + "node_modules/@puppeteer/browsers/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@puppeteer/browsers/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/@puppeteer/browsers/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@puppeteer/browsers/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@puppeteer/browsers/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@puppeteer/browsers/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/@radix-ui/primitive": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.3.tgz", @@ -2416,67 +3113,89 @@ "peer": true }, "node_modules/@shikijs/core": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-3.15.0.tgz", - "integrity": "sha512-8TOG6yG557q+fMsSVa8nkEDOZNTSxjbbR8l6lF2gyr6Np+jrPlslqDxQkN6rMXCECQ3isNPZAGszAfYoJOPGlg==", + "version": "3.19.0", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-3.19.0.tgz", + "integrity": "sha512-L7SrRibU7ZoYi1/TrZsJOFAnnHyLTE1SwHG1yNWjZIVCqjOEmCSuK2ZO9thnRbJG6TOkPp+Z963JmpCNw5nzvA==", "dependencies": { - "@shikijs/types": "3.15.0", + "@shikijs/types": "3.19.0", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4", "hast-util-to-html": "^9.0.5" } }, + "node_modules/@shikijs/core/node_modules/hast-util-to-html": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", + "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/@shikijs/engine-javascript": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-3.15.0.tgz", - "integrity": "sha512-ZedbOFpopibdLmvTz2sJPJgns8Xvyabe2QbmqMTz07kt1pTzfEvKZc5IqPVO/XFiEbbNyaOpjPBkkr1vlwS+qg==", + "version": "3.19.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-3.19.0.tgz", + "integrity": "sha512-ZfWJNm2VMhKkQIKT9qXbs76RRcT0SF/CAvEz0+RkpUDAoDaCx0uFdCGzSRiD9gSlhm6AHkjdieOBJMaO2eC1rQ==", "dependencies": { - "@shikijs/types": "3.15.0", + "@shikijs/types": "3.19.0", "@shikijs/vscode-textmate": "^10.0.2", - "oniguruma-to-es": "^4.3.3" + "oniguruma-to-es": "^4.3.4" } }, "node_modules/@shikijs/engine-oniguruma": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.15.0.tgz", - "integrity": "sha512-HnqFsV11skAHvOArMZdLBZZApRSYS4LSztk2K3016Y9VCyZISnlYUYsL2hzlS7tPqKHvNqmI5JSUJZprXloMvA==", + "version": "3.19.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.19.0.tgz", + "integrity": "sha512-1hRxtYIJfJSZeM5ivbUXv9hcJP3PWRo5prG/V2sWwiubUKTa+7P62d2qxCW8jiVFX4pgRHhnHNp+qeR7Xl+6kg==", "dependencies": { - "@shikijs/types": "3.15.0", + "@shikijs/types": "3.19.0", "@shikijs/vscode-textmate": "^10.0.2" } }, "node_modules/@shikijs/langs": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.15.0.tgz", - "integrity": "sha512-WpRvEFvkVvO65uKYW4Rzxs+IG0gToyM8SARQMtGGsH4GDMNZrr60qdggXrFOsdfOVssG/QQGEl3FnJ3EZ+8w8A==", + "version": "3.19.0", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.19.0.tgz", + "integrity": "sha512-dBMFzzg1QiXqCVQ5ONc0z2ebyoi5BKz+MtfByLm0o5/nbUu3Iz8uaTCa5uzGiscQKm7lVShfZHU1+OG3t5hgwg==", "dependencies": { - "@shikijs/types": "3.15.0" + "@shikijs/types": "3.19.0" } }, "node_modules/@shikijs/themes": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.15.0.tgz", - "integrity": "sha512-8ow2zWb1IDvCKjYb0KiLNrK4offFdkfNVPXb1OZykpLCzRU6j+efkY+Y7VQjNlNFXonSw+4AOdGYtmqykDbRiQ==", + "version": "3.19.0", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.19.0.tgz", + "integrity": "sha512-H36qw+oh91Y0s6OlFfdSuQ0Ld+5CgB/VE6gNPK+Hk4VRbVG/XQgkjnt4KzfnnoO6tZPtKJKHPjwebOCfjd6F8A==", "dependencies": { - "@shikijs/types": "3.15.0" + "@shikijs/types": "3.19.0" } }, "node_modules/@shikijs/transformers": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/@shikijs/transformers/-/transformers-3.15.0.tgz", - "integrity": "sha512-Hmwip5ovvSkg+Kc41JTvSHHVfCYF+C8Cp1omb5AJj4Xvd+y9IXz2rKJwmFRGsuN0vpHxywcXJ1+Y4B9S7EG1/A==", + "version": "3.19.0", + "resolved": "https://registry.npmjs.org/@shikijs/transformers/-/transformers-3.19.0.tgz", + "integrity": "sha512-e6vwrsyw+wx4OkcrDbL+FVCxwx8jgKiCoXzakVur++mIWVcgpzIi8vxf4/b4dVTYrV/nUx5RjinMf4tq8YV8Fw==", "dependencies": { - "@shikijs/core": "3.15.0", - "@shikijs/types": "3.15.0" + "@shikijs/core": "3.19.0", + "@shikijs/types": "3.19.0" } }, "node_modules/@shikijs/twoslash": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/@shikijs/twoslash/-/twoslash-3.15.0.tgz", - "integrity": "sha512-3GoJvYMm2oj4Mq+yJyXt9vmMFfih34FBlLMYLRAIXNmBrj3/6jsuHKakGHMVza5jui6TmmjbS5bmJI29UHftQQ==", + "version": "3.19.0", + "resolved": "https://registry.npmjs.org/@shikijs/twoslash/-/twoslash-3.19.0.tgz", + "integrity": "sha512-DnkH4slSLPC7dJPhZ9Eofy1X/ZgXiWsvOl/ERK7799ZqXsJwtsq2e8RgHBQUX4Y2lf6aoMojirocLY0AbPF3Dg==", "dependencies": { - "@shikijs/core": "3.15.0", - "@shikijs/types": "3.15.0", + "@shikijs/core": "3.19.0", + "@shikijs/types": "3.19.0", "twoslash": "^0.3.4" }, "peerDependencies": { @@ -2484,9 +3203,9 @@ } }, "node_modules/@shikijs/types": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.15.0.tgz", - "integrity": "sha512-BnP+y/EQnhihgHy4oIAN+6FFtmfTekwOLsQbRw9hOKwqgNy8Bdsjq8B05oAt/ZgvIWWFrshV71ytOrlPfYjIJw==", + "version": "3.19.0", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.19.0.tgz", + "integrity": "sha512-Z2hdeEQlzuntf/BZpFG8a+Fsw9UVXdML7w0o3TgSXV3yNESGon+bs9ITkQb3Ki7zxoXOOu5oJWqZ2uto06V9iQ==", "dependencies": { "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" @@ -2509,9 +3228,9 @@ } }, "node_modules/@sindresorhus/slugify": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@sindresorhus/slugify/-/slugify-2.2.1.tgz", - "integrity": "sha512-MkngSCRZ8JdSOCHRaYd+D01XhvU3Hjy6MGl06zhOk614hp9EOAp5gIkBeQg7wtmxpitU6eAL4kdiRMcJa2dlrw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/slugify/-/slugify-2.2.0.tgz", + "integrity": "sha512-9Vybc/qX8Kj6pxJaapjkFbiUJPk7MAkCh/GFCxIBnnsuYCFPIXKvnLidG8xlepht3i24L5XemUmGtrJ3UWrl6w==", "dependencies": { "@sindresorhus/transliterate": "^1.0.0", "escape-string-regexp": "^5.0.0" @@ -2883,6 +3602,14 @@ "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==" }, + "node_modules/@types/acorn": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", + "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==", + "dependencies": { + "@types/estree": "*" + } + }, "node_modules/@types/concat-stream": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-2.0.3.tgz", @@ -2891,6 +3618,11 @@ "@types/node": "*" } }, + "node_modules/@types/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" + }, "node_modules/@types/cors": { "version": "2.8.19", "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.19.tgz", @@ -2991,12 +3723,12 @@ } }, "node_modules/@types/react": { - "version": "19.2.5", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.5.tgz", - "integrity": "sha512-keKxkZMqnDicuvFoJbzrhbtdLSPhj/rZThDlKWCDbgXmUg0rEUFtRssDXKYmtXluZlIqiC5VqkCgRwzuyLHKHw==", + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.7.tgz", + "integrity": "sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==", "peer": true, "dependencies": { - "csstype": "^3.0.2" + "csstype": "^3.2.2" } }, "node_modules/@types/supports-color": { @@ -3267,26 +3999,21 @@ "peer": true }, "node_modules/arkregex": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/arkregex/-/arkregex-0.0.2.tgz", - "integrity": "sha512-ttjDUICBVoXD/m8bf7eOjx8XMR6yIT2FmmW9vsN0FCcFOygEZvvIX8zK98tTdXkzi0LkRi5CmadB44jFEIyDNA==", + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/arkregex/-/arkregex-0.0.3.tgz", + "integrity": "sha512-bU21QJOJEFJK+BPNgv+5bVXkvRxyAvgnon75D92newgHxkBJTgiFwQxusyViYyJkETsddPlHyspshDQcCzmkNg==", "dependencies": { - "@ark/util": "0.53.0" + "@ark/util": "0.55.0" } }, - "node_modules/arkregex/node_modules/@ark/util": { - "version": "0.53.0", - "resolved": "https://registry.npmjs.org/@ark/util/-/util-0.53.0.tgz", - "integrity": "sha512-TGn4gLlA6dJcQiqrtCtd88JhGb2XBHo6qIejsDre+nxpGuUVW4G3YZGVrwjNBTO0EyR+ykzIo4joHJzOj+/cpA==" - }, "node_modules/arktype": { - "version": "2.1.26", - "resolved": "https://registry.npmjs.org/arktype/-/arktype-2.1.26.tgz", - "integrity": "sha512-zDwukKV6uTElKCAbIoQ9OU6shXE5ALjvZAqHErOSv6l0iLKlubELZ7AcevYLaWFYr5rmIN4Uv9+dIzInktSO1A==", + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/arktype/-/arktype-2.1.27.tgz", + "integrity": "sha512-enctOHxI4SULBv/TDtCVi5M8oLd4J5SVlPUblXDzSsOYQNMzmVbUosGBnJuZDKmFlN5Ie0/QVEuTE+Z5X1UhsQ==", "dependencies": { - "@ark/schema": "0.54.0", - "@ark/util": "0.54.0", - "arkregex": "0.0.2" + "@ark/schema": "0.55.0", + "@ark/util": "0.55.0", + "arkregex": "0.0.3" } }, "node_modules/array-buffer-byte-length": { @@ -3414,12 +4141,12 @@ } }, "node_modules/axios": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.2.tgz", - "integrity": "sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.10.0.tgz", + "integrity": "sha512-/1xYAC4MP/HEG+3duIhFr4ZQXR4sQXOIe+o6sdqzeykGLx6Upp/1p8MHqhINOvGeP7xyNHe7tsiJByc4SSVUxw==", "dependencies": { "follow-redirects": "^1.15.6", - "form-data": "^4.0.4", + "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" } }, @@ -3464,9 +4191,9 @@ } }, "node_modules/bare-fs": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.5.1.tgz", - "integrity": "sha512-zGUCsm3yv/ePt2PHNbVxjjn0nNB1MkIaR4wOCxJ2ig5pCf5cCVAYJXVhQg/3OhhJV6DB1ts7Hv0oUaElc2TPQg==", + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.5.2.tgz", + "integrity": "sha512-veTnRzkb6aPHOvSKIOy60KzURfBdUflr5VReI+NSaPL6xf+XLdONQgZgpYvUuZLVQ8dCqxpBAudaOM1+KpAUxw==", "optional": true, "dependencies": { "bare-events": "^2.5.4", @@ -3593,20 +4320,20 @@ } }, "node_modules/body-parser": { - "version": "1.20.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", - "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", "dependencies": { "bytes": "3.1.2", - "content-type": "~1.0.5", + "content-type": "~1.0.4", "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", "http-errors": "2.0.0", "iconv-lite": "0.4.24", "on-finished": "2.4.1", - "qs": "6.13.0", - "raw-body": "2.5.2", + "qs": "6.11.0", + "raw-body": "2.5.1", "type-is": "~1.6.18", "unpipe": "1.0.0" }, @@ -3895,9 +4622,9 @@ } }, "node_modules/chromium-bidi": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.6.3.tgz", - "integrity": "sha512-qXlsCmpCZJAnoTYI83Iu6EdYQpMYdVkCfq08KDh2pmlVqK5t5IA9mGs4/LwCwp4fqisSOMXZxP3HIh8w8aRn0A==", + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.6.2.tgz", + "integrity": "sha512-4WVBa6ijmUTVr9cZD4eicQD8Mdy/HCX3bzEIYYpmk0glqYLoWH+LqQEvV9RpDRzoQSbY1KJHloYXbDMXMbDPhg==", "dependencies": { "mitt": "3.0.1", "urlpattern-polyfill": "10.0.0", @@ -4014,15 +4741,57 @@ } }, "node_modules/cli-truncate": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.1.1.tgz", - "integrity": "sha512-SroPvNHxUnk+vIW/dOSfNqdy1sPEFkrTk6TUtqLCnBlo3N7TNYYkzzN7uSD6+jVjrdO4+p8nH7JzH6cIvUem6A==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", + "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", "dependencies": { - "slice-ansi": "^7.1.0", - "string-width": "^8.0.0" + "slice-ansi": "^5.0.0", + "string-width": "^7.0.0" }, "engines": { - "node": ">=20" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate/node_modules/is-fullwidth-code-point": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate/node_modules/slice-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "dependencies": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/cli-truncate/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -4277,9 +5046,9 @@ } }, "node_modules/cookie": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", - "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", "engines": { "node": ">= 0.6" } @@ -4345,28 +5114,29 @@ } }, "node_modules/cspell": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/cspell/-/cspell-9.2.1.tgz", - "integrity": "sha512-PoKGKE9Tl87Sn/jwO4jvH7nTqe5Xrsz2DeJT5CkulY7SoL2fmsAqfbImQOFS2S0s36qD98t6VO+Ig2elEEcHew==", - "dependencies": { - "@cspell/cspell-json-reporter": "9.2.1", - "@cspell/cspell-pipe": "9.2.1", - "@cspell/cspell-types": "9.2.1", - "@cspell/dynamic-import": "9.2.1", - "@cspell/url": "9.2.1", - "chalk": "^5.6.0", - "chalk-template": "^1.1.0", - "commander": "^14.0.0", - "cspell-config-lib": "9.2.1", - "cspell-dictionary": "9.2.1", - "cspell-gitignore": "9.2.1", - "cspell-glob": "9.2.1", - "cspell-io": "9.2.1", - "cspell-lib": "9.2.1", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/cspell/-/cspell-9.4.0.tgz", + "integrity": "sha512-ZvXO+EY/G0/msu7jwRiVk0sXL/zB7DMJLBvjSUrK82uVbDoDxHwXxUuOz2UVnk2+J61//ldIZrjxVK8KMvaJlg==", + "dependencies": { + "@cspell/cspell-json-reporter": "9.4.0", + "@cspell/cspell-pipe": "9.4.0", + "@cspell/cspell-types": "9.4.0", + "@cspell/dynamic-import": "9.4.0", + "@cspell/url": "9.4.0", + "ansi-regex": "^6.2.2", + "chalk": "^5.6.2", + "chalk-template": "^1.1.2", + "commander": "^14.0.2", + "cspell-config-lib": "9.4.0", + "cspell-dictionary": "9.4.0", + "cspell-gitignore": "9.4.0", + "cspell-glob": "9.4.0", + "cspell-io": "9.4.0", + "cspell-lib": "9.4.0", "fast-json-stable-stringify": "^2.1.0", "flatted": "^3.3.3", - "semver": "^7.7.2", - "tinyglobby": "^0.2.14" + "semver": "^7.7.3", + "tinyglobby": "^0.2.15" }, "bin": { "cspell": "bin.mjs", @@ -4380,41 +5150,41 @@ } }, "node_modules/cspell-config-lib": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/cspell-config-lib/-/cspell-config-lib-9.2.1.tgz", - "integrity": "sha512-qqhaWW+0Ilc7493lXAlXjziCyeEmQbmPMc1XSJw2EWZmzb+hDvLdFGHoX18QU67yzBtu5hgQsJDEDZKvVDTsRA==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/cspell-config-lib/-/cspell-config-lib-9.4.0.tgz", + "integrity": "sha512-CvQKSmK/DRIf3LpNx2sZth65pHW2AHngZqLkH3DTwnAPbiCAsE0XvCrVhvDfCNu/6uJIaa+NVHSs8GOf//DHBQ==", "dependencies": { - "@cspell/cspell-types": "9.2.1", - "comment-json": "^4.2.5", - "smol-toml": "^1.4.2", - "yaml": "^2.8.1" + "@cspell/cspell-types": "9.4.0", + "comment-json": "^4.4.1", + "smol-toml": "^1.5.2", + "yaml": "^2.8.2" }, "engines": { "node": ">=20" } }, "node_modules/cspell-dictionary": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/cspell-dictionary/-/cspell-dictionary-9.2.1.tgz", - "integrity": "sha512-0hQVFySPsoJ0fONmDPwCWGSG6SGj4ERolWdx4t42fzg5zMs+VYGXpQW4BJneQ5Tfxy98Wx8kPhmh/9E8uYzLTw==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/cspell-dictionary/-/cspell-dictionary-9.4.0.tgz", + "integrity": "sha512-c2qscanRZChoHZFYI7KpvBMdy8i6wNwl2EflcNRrFiFOq67t9CgxLe54PafaqhrHGpBc8nElaZKciLvjj6Uscw==", "dependencies": { - "@cspell/cspell-pipe": "9.2.1", - "@cspell/cspell-types": "9.2.1", - "cspell-trie-lib": "9.2.1", - "fast-equals": "^5.2.2" + "@cspell/cspell-pipe": "9.4.0", + "@cspell/cspell-types": "9.4.0", + "cspell-trie-lib": "9.4.0", + "fast-equals": "^5.3.3" }, "engines": { "node": ">=20" } }, "node_modules/cspell-gitignore": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/cspell-gitignore/-/cspell-gitignore-9.2.1.tgz", - "integrity": "sha512-WPnDh03gXZoSqVyXq4L7t9ljx6lTDvkiSRUudb125egEK5e9s04csrQpLI3Yxcnc1wQA2nzDr5rX9XQVvCHf7g==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/cspell-gitignore/-/cspell-gitignore-9.4.0.tgz", + "integrity": "sha512-HMrzLmJBUMSpaMMkltlTAz/aVOrHxixyhKfg5WbFCJ5JYZO6Qu3/JU3wRoOFoud9449wRjLkvrGmbbL2+vO6Lw==", "dependencies": { - "@cspell/url": "9.2.1", - "cspell-glob": "9.2.1", - "cspell-io": "9.2.1" + "@cspell/url": "9.4.0", + "cspell-glob": "9.4.0", + "cspell-io": "9.4.0" }, "bin": { "cspell-gitignore": "bin.mjs" @@ -4424,11 +5194,11 @@ } }, "node_modules/cspell-glob": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/cspell-glob/-/cspell-glob-9.2.1.tgz", - "integrity": "sha512-CrT/6ld3rXhB36yWFjrx1SrMQzwDrGOLr+wYEnrWI719/LTYWWCiMFW7H+qhsJDTsR+ku8+OAmfRNBDXvh9mnQ==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/cspell-glob/-/cspell-glob-9.4.0.tgz", + "integrity": "sha512-Q87Suj9oXrhoKck15qWorCizBjMNxG/k3NjnhKIAMrF+PdUa1Mpl0MOD+hqV1Wvwh1UHcIMYCP3bR3XpBbNx+Q==", "dependencies": { - "@cspell/url": "9.2.1", + "@cspell/url": "9.4.0", "picomatch": "^4.0.3" }, "engines": { @@ -4447,12 +5217,12 @@ } }, "node_modules/cspell-grammar": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/cspell-grammar/-/cspell-grammar-9.2.1.tgz", - "integrity": "sha512-10RGFG7ZTQPdwyW2vJyfmC1t8813y8QYRlVZ8jRHWzer9NV8QWrGnL83F+gTPXiKR/lqiW8WHmFlXR4/YMV+JQ==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/cspell-grammar/-/cspell-grammar-9.4.0.tgz", + "integrity": "sha512-ie7OQ4Neflo+61bMzoLR7GtlZfMBAm2KL1U4iNqh15wUE5fDbvXeN15H5lu+gcO8BwYvC5wxZknw1x62/J8+3Q==", "dependencies": { - "@cspell/cspell-pipe": "9.2.1", - "@cspell/cspell-types": "9.2.1" + "@cspell/cspell-pipe": "9.4.0", + "@cspell/cspell-types": "9.4.0" }, "bin": { "cspell-grammar": "bin.mjs" @@ -4462,41 +5232,39 @@ } }, "node_modules/cspell-io": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/cspell-io/-/cspell-io-9.2.1.tgz", - "integrity": "sha512-v9uWXtRzB+RF/Mzg5qMzpb8/yt+1bwtTt2rZftkLDLrx5ybVvy6rhRQK05gFWHmWVtWEe0P/pIxaG2Vz92C8Ag==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/cspell-io/-/cspell-io-9.4.0.tgz", + "integrity": "sha512-8w30dqlO54H9w6WGlvZhHI5kytVbF3bYPqKJAZLWKEO36L2mdpf6/abx/FA4yVLJ56wmH1x0N0ZK32wNRl5C6A==", "dependencies": { - "@cspell/cspell-service-bus": "9.2.1", - "@cspell/url": "9.2.1" + "@cspell/cspell-service-bus": "9.4.0", + "@cspell/url": "9.4.0" }, "engines": { "node": ">=20" } }, "node_modules/cspell-lib": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/cspell-lib/-/cspell-lib-9.2.1.tgz", - "integrity": "sha512-KeB6NHcO0g1knWa7sIuDippC3gian0rC48cvO0B0B0QwhOxNxWVp8cSmkycXjk4ijBZNa++IwFjeK/iEqMdahQ==", - "dependencies": { - "@cspell/cspell-bundled-dicts": "9.2.1", - "@cspell/cspell-pipe": "9.2.1", - "@cspell/cspell-resolver": "9.2.1", - "@cspell/cspell-types": "9.2.1", - "@cspell/dynamic-import": "9.2.1", - "@cspell/filetypes": "9.2.1", - "@cspell/strong-weak-map": "9.2.1", - "@cspell/url": "9.2.1", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/cspell-lib/-/cspell-lib-9.4.0.tgz", + "integrity": "sha512-ajjioE59IEDNUPawfaBpiMfGC32iKPkuYd4T9ftguuef8VvyKRifniiUi1nxwGgAhzSfxHvWs7qdT+29Pp5TMQ==", + "dependencies": { + "@cspell/cspell-bundled-dicts": "9.4.0", + "@cspell/cspell-pipe": "9.4.0", + "@cspell/cspell-resolver": "9.4.0", + "@cspell/cspell-types": "9.4.0", + "@cspell/dynamic-import": "9.4.0", + "@cspell/filetypes": "9.4.0", + "@cspell/strong-weak-map": "9.4.0", + "@cspell/url": "9.4.0", "clear-module": "^4.1.2", - "comment-json": "^4.2.5", - "cspell-config-lib": "9.2.1", - "cspell-dictionary": "9.2.1", - "cspell-glob": "9.2.1", - "cspell-grammar": "9.2.1", - "cspell-io": "9.2.1", - "cspell-trie-lib": "9.2.1", + "cspell-config-lib": "9.4.0", + "cspell-dictionary": "9.4.0", + "cspell-glob": "9.4.0", + "cspell-grammar": "9.4.0", + "cspell-io": "9.4.0", + "cspell-trie-lib": "9.4.0", "env-paths": "^3.0.0", - "fast-equals": "^5.2.2", - "gensequence": "^7.0.0", + "gensequence": "^8.0.8", "import-fresh": "^3.3.1", "resolve-from": "^5.0.0", "vscode-languageserver-textdocument": "^1.0.12", @@ -4527,22 +5295,22 @@ } }, "node_modules/cspell-trie-lib": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-9.2.1.tgz", - "integrity": "sha512-qOtbL+/tUzGFHH0Uq2wi7sdB9iTy66QNx85P7DKeRdX9ZH53uQd7qC4nEk+/JPclx1EgXX26svxr0jTGISJhLw==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-9.4.0.tgz", + "integrity": "sha512-bySJTm8XDiJAoC1MDo4lE/KpSNxydo13ZETC8TF7Hb3rbWI1c6o5eZ4+i/tkG3M94OvKV91+MeAvoMCe7GGgAw==", "dependencies": { - "@cspell/cspell-pipe": "9.2.1", - "@cspell/cspell-types": "9.2.1", - "gensequence": "^7.0.0" + "@cspell/cspell-pipe": "9.4.0", + "@cspell/cspell-types": "9.4.0", + "gensequence": "^8.0.8" }, "engines": { "node": ">=20" } }, "node_modules/cspell/node_modules/commander": { - "version": "14.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.1.tgz", - "integrity": "sha512-2JkV3gUZUVrbNA+1sjBOYLsMZ5cEEl8GTFP2a4AVz5hvasAMCQ1D2l2le/cX+pV4N6ZU17zjUahLpIXRrnWL8A==", + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", + "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", "engines": { "node": ">=20" } @@ -4559,9 +5327,9 @@ } }, "node_modules/csstype": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.0.tgz", - "integrity": "sha512-si++xzRAY9iPp60roQiFta7OFbhrgvcthrhlNAGeQptSY25uJjkfUV8OArC3KLocB8JT8ohz+qgxWCmz8RhjIg==", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", "peer": true }, "node_modules/data-uri-to-buffer": { @@ -4815,9 +5583,9 @@ "peer": true }, "node_modules/detect-port": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.6.1.tgz", - "integrity": "sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz", + "integrity": "sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==", "dependencies": { "address": "^1.0.1", "debug": "4" @@ -4825,9 +5593,6 @@ "bin": { "detect": "bin/detect-port.js", "detect-port": "bin/detect-port.js" - }, - "engines": { - "node": ">= 4.0.0" } }, "node_modules/devlop": { @@ -4908,9 +5673,9 @@ "integrity": "sha512-lb49vf1Xzfx080OKA0o6l8DQQpV+6Vg95zyCJX9VB/BqKYlhG7N4wgROUUHRA+ZPUefLnteQOad7z1kT2bV7bg==" }, "node_modules/encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "engines": { "node": ">= 0.8" } @@ -4924,15 +5689,16 @@ } }, "node_modules/engine.io": { - "version": "6.6.4", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.4.tgz", - "integrity": "sha512-ZCkIjSYNDyGn0R6ewHDtXgns/Zre/NT6Agvq1/WobF7JXgFff4SeDroKiCO3fNJreU9YG429Sc81o4w5ok/W5g==", + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.5.tgz", + "integrity": "sha512-C5Pn8Wk+1vKBoHghJODM63yk8MvrO9EWZUfkAt5HAqIgPE4/8FF0PEGHXtEd40l223+cE5ABWuPzm38PHFXfMA==", "dependencies": { + "@types/cookie": "^0.4.1", "@types/cors": "^2.8.12", "@types/node": ">=10.0.0", "accepts": "~1.3.4", "base64id": "2.0.0", - "cookie": "~0.7.2", + "cookie": "~0.4.1", "cors": "~2.8.5", "debug": "~4.3.1", "engine.io-parser": "~5.2.1", @@ -4951,9 +5717,9 @@ } }, "node_modules/engine.io/node_modules/cookie": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", - "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", "engines": { "node": ">= 0.6" } @@ -5183,9 +5949,9 @@ } }, "node_modules/es-toolkit": { - "version": "1.41.0", - "resolved": "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.41.0.tgz", - "integrity": "sha512-bDd3oRmbVgqZCJS6WmeQieOrzpl3URcWBUVDXxOELlUW2FuW+0glPOz1n0KnRie+PdyvUZcXz2sOn00c6pPRIA==" + "version": "1.42.0", + "resolved": "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.42.0.tgz", + "integrity": "sha512-SLHIyY7VfDJBM8clz4+T2oquwTQxEzu263AyhVK4jREOAwJ+8eebaa4wM3nlvnAqhDrMm2EsA6hWHaQsMPQ1nA==" }, "node_modules/esast-util-from-estree": { "version": "2.0.0", @@ -5407,36 +6173,36 @@ } }, "node_modules/express": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", - "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.3", + "body-parser": "1.20.1", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.7.1", + "cookie": "0.5.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", - "encodeurl": "~2.0.0", + "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "1.3.1", + "finalhandler": "1.2.0", "fresh": "0.5.2", "http-errors": "2.0.0", - "merge-descriptors": "1.0.3", + "merge-descriptors": "1.0.1", "methods": "~1.1.2", "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.12", + "path-to-regexp": "0.1.7", "proxy-addr": "~2.0.7", - "qs": "6.13.0", + "qs": "6.11.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.19.0", - "serve-static": "1.16.2", + "send": "0.18.0", + "serve-static": "1.15.0", "setprototypeof": "1.2.0", "statuses": "2.0.1", "type-is": "~1.6.18", @@ -5445,10 +6211,6 @@ }, "engines": { "node": ">= 0.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" } }, "node_modules/express/node_modules/debug": { @@ -5469,17 +6231,6 @@ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, - "node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/extract-zip": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", @@ -5524,9 +6275,9 @@ "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==" }, "node_modules/fast-equals": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-5.3.2.tgz", - "integrity": "sha512-6rxyATwPCkaFIL3JLqw8qXqMpIZ942pTX/tbQFkRsDGblS8tNGtlUauA/+mt6RUfqn/4MoEr+WDkYoIQbibWuQ==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-5.3.3.tgz", + "integrity": "sha512-/boTcHZeIAQ2r/tL11voclBHDeP9WPxLt+tyAbVSyyXuUFyh0Tne7gJZTqGbxnvj79TjLdCXLOY7UIPhyG5MTw==", "engines": { "node": ">=6.0.0" } @@ -5629,12 +6380,12 @@ } }, "node_modules/finalhandler": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", - "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "dependencies": { "debug": "2.6.9", - "encodeurl": "~2.0.0", + "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "on-finished": "2.4.1", "parseurl": "~1.3.3", @@ -5712,9 +6463,9 @@ } }, "node_modules/form-data": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", - "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -5758,10 +6509,38 @@ "node": ">= 0.6" } }, + "node_modules/front-matter": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/front-matter/-/front-matter-4.0.2.tgz", + "integrity": "sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg==", + "dependencies": { + "js-yaml": "^3.13.1" + } + }, + "node_modules/front-matter/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/front-matter/node_modules/js-yaml": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", + "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/fs-extra": { - "version": "11.3.2", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.2.tgz", - "integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==", + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -5793,6 +6572,19 @@ "node": ">=8" } }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", @@ -5842,11 +6634,11 @@ } }, "node_modules/gensequence": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/gensequence/-/gensequence-7.0.0.tgz", - "integrity": "sha512-47Frx13aZh01afHJTB3zTtKIlFI6vWY+MYCN9Qpew6i52rfKjnhCF/l1YlC8UmEMvvntZZ6z4PiCcmyuedR2aQ==", + "version": "8.0.8", + "resolved": "https://registry.npmjs.org/gensequence/-/gensequence-8.0.8.tgz", + "integrity": "sha512-omMVniXEXpdx/vKxGnPRoO2394Otlze28TyxECbFVyoSpZ9H3EO7lemjcB12OpQJzRW4e5tt/dL1rOxry6aMHg==", "engines": { - "node": ">=18" + "node": ">=20" } }, "node_modules/get-caller-file": { @@ -5953,9 +6745,10 @@ } }, "node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", @@ -6081,40 +6874,6 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, - "node_modules/gray-matter": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", - "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", - "dependencies": { - "js-yaml": "^3.13.1", - "kind-of": "^6.0.2", - "section-matter": "^1.0.0", - "strip-bom-string": "^1.0.0" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/gray-matter/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/gray-matter/node_modules/js-yaml": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", - "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/has-bigints": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", @@ -6373,9 +7132,9 @@ } }, "node_modules/hast-util-to-html": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", - "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.4.tgz", + "integrity": "sha512-wxQzXtdbhiwGAUKrnQJXlOPmHnEehzphwkK7aluUPQ+lEc1xefC8pblMgpp2w5ldBTEfveRIrADcrhGIWrlTDA==", "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", @@ -6384,7 +7143,7 @@ "hast-util-whitespace": "^3.0.0", "html-void-elements": "^3.0.0", "mdast-util-to-hast": "^13.0.0", - "property-information": "^7.0.0", + "property-information": "^6.0.0", "space-separated-tokens": "^2.0.0", "stringify-entities": "^4.0.0", "zwitch": "^2.0.4" @@ -6394,6 +7153,15 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/hast-util-to-html/node_modules/property-information": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", + "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/hast-util-to-jsx-runtime": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz", @@ -6421,9 +7189,9 @@ } }, "node_modules/hast-util-to-mdast": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/hast-util-to-mdast/-/hast-util-to-mdast-10.1.2.tgz", - "integrity": "sha512-FiCRI7NmOvM4y+f5w32jPRzcxDIz+PUqDwEqn1A+1q2cdp3B8Gx7aVrXORdOKjMNDQsD1ogOr896+0jJHW1EFQ==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/hast-util-to-mdast/-/hast-util-to-mdast-10.1.0.tgz", + "integrity": "sha512-DsL/SvCK9V7+vfc6SLQ+vKIyBDXTk2KLSbfBYkH4zeF/uR1yBajHRhkzuaUSGOB1WJSTieJBdHwxlC+HLKvZZw==", "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", @@ -6592,6 +7360,21 @@ "node": ">= 14" } }, + "node_modules/husky": { + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.7.tgz", + "integrity": "sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==", + "license": "MIT", + "bin": { + "husky": "bin.js" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, "node_modules/ico-endec": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/ico-endec/-/ico-endec-0.1.6.tgz", @@ -6697,28 +7480,28 @@ } }, "node_modules/ink": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/ink/-/ink-6.5.0.tgz", - "integrity": "sha512-abn3rYIxepGKD/h4ZH6sQHgJxBi/EISY/1fIxHODlF5LPvw0wKv2S2uOMIMTfJdBwy9DsWndCfKDCcWSRclp/w==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/ink/-/ink-6.3.0.tgz", + "integrity": "sha512-2CbJAa7XeziZYe6pDS5RVLirRY28iSGMQuEV8jRU5NQsONQNfcR/BZHHc9vkMg2lGYTHTM2pskxC1YmY28p6bQ==", "dependencies": { - "@alcalzone/ansi-tokenize": "^0.2.1", - "ansi-escapes": "^7.2.0", + "@alcalzone/ansi-tokenize": "^0.2.0", + "ansi-escapes": "^7.0.0", "ansi-styles": "^6.2.1", "auto-bind": "^5.0.1", "chalk": "^5.6.0", "cli-boxes": "^3.0.0", "cli-cursor": "^4.0.0", - "cli-truncate": "^5.1.1", + "cli-truncate": "^4.0.0", "code-excerpt": "^4.0.0", "es-toolkit": "^1.39.10", "indent-string": "^5.0.0", "is-in-ci": "^2.0.0", "patch-console": "^2.0.0", - "react-reconciler": "^0.33.0", + "react-reconciler": "^0.32.0", "signal-exit": "^3.0.7", "slice-ansi": "^7.1.0", "stack-utils": "^2.0.6", - "string-width": "^8.1.0", + "string-width": "^7.2.0", "type-fest": "^4.27.0", "widest-line": "^5.0.0", "wrap-ansi": "^9.0.0", @@ -6731,7 +7514,7 @@ "peerDependencies": { "@types/react": ">=19.0.0", "react": ">=19.0.0", - "react-devtools-core": "^6.1.2" + "react-devtools-core": "^4.19.1" }, "peerDependenciesMeta": { "@types/react": { @@ -6762,66 +7545,86 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, - "node_modules/ink/node_modules/wrap-ansi": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", - "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", + "node_modules/ink/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", "dependencies": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", "strip-ansi": "^7.1.0" }, "engines": { "node": ">=18" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ink/node_modules/wrap-ansi/node_modules/string-width": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "node_modules/ink/node_modules/wrap-ansi": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", "strip-ansi": "^7.1.0" }, "engines": { "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, "node_modules/inline-style-parser": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.6.tgz", - "integrity": "sha512-gtGXVaBdl5mAes3rPcMedEBm12ibjt1kDMFfheul1wUAOVEJW60voNdMVzVkfLN06O7ZaD/rxhfKgtlgtTbMjg==" + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.7.tgz", + "integrity": "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==" }, "node_modules/inquirer": { - "version": "12.11.1", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-12.11.1.tgz", - "integrity": "sha512-9VF7mrY+3OmsAfjH3yKz/pLbJ5z22E23hENKw3/LNSaA/sAt3v49bDRY+Ygct1xwuKT+U+cBfTzjCPySna69Qw==", - "dependencies": { - "@inquirer/ansi": "^1.0.2", - "@inquirer/core": "^10.3.2", - "@inquirer/prompts": "^7.10.1", - "@inquirer/type": "^3.0.10", + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-12.3.0.tgz", + "integrity": "sha512-3NixUXq+hM8ezj2wc7wC37b32/rHq1MwNZDYdvx+d6jokOD+r+i8Q4Pkylh9tISYP114A128LCX8RKhopC5RfQ==", + "dependencies": { + "@inquirer/core": "^10.1.2", + "@inquirer/prompts": "^7.2.1", + "@inquirer/type": "^3.0.2", + "ansi-escapes": "^4.3.2", "mute-stream": "^2.0.0", - "run-async": "^4.0.6", - "rxjs": "^7.8.2" + "run-async": "^3.0.0", + "rxjs": "^7.8.1" }, "engines": { "node": ">=18" }, "peerDependencies": { "@types/node": ">=18" + } + }, + "node_modules/inquirer/node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dependencies": { + "type-fest": "^0.21.3" }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inquirer/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/internal-slot": { @@ -7046,14 +7849,6 @@ "resolved": "https://registry.npmjs.org/is-empty/-/is-empty-1.2.0.tgz", "integrity": "sha512-F2FnH/otLNJv0J6wc73A5Xo7oHLNnqplYqZhUu01tD54DIPvxIRSTSLkrUB/M0nHO4vo1O9PDfN4KoTxCzLh/w==" }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -7426,9 +8221,9 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "node_modules/js-yaml": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dependencies": { "argparse": "^2.0.1" }, @@ -7534,14 +8329,6 @@ "json-buffer": "3.0.1" } }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/lcm": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/lcm/-/lcm-0.0.3.tgz", @@ -7562,14 +8349,11 @@ } }, "node_modules/lilconfig": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", - "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antonk52" + "node": ">=10" } }, "node_modules/lines-and-columns": { @@ -7923,9 +8707,9 @@ } }, "node_modules/mdast-util-to-hast": { - "version": "13.2.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz", - "integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==", + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", + "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", @@ -7983,12 +8767,9 @@ } }, "node_modules/merge-descriptors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", - "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" }, "node_modules/merge2": { "version": "1.4.1", @@ -8833,11 +9614,11 @@ } }, "node_modules/mint": { - "version": "4.2.202", - "resolved": "https://registry.npmjs.org/mint/-/mint-4.2.202.tgz", - "integrity": "sha512-IRMbMNBoo90iYV8j16zHsgCJDWR2dTA1N8OF8KTCd7XO1LZp0Rs60aFmg7i/8zmogMtYxy432lJTditTwzcz3Q==", + "version": "4.2.226", + "resolved": "https://registry.npmjs.org/mint/-/mint-4.2.226.tgz", + "integrity": "sha512-70BuUUUpBuJK0Ufh9+DGvQVDHYdaFRGbTSCXohcNIWp7GpCbDiUw7ETpEMa1/XqVHkfQ0kL9Fz7fJymW6ui2VA==", "dependencies": { - "@mintlify/cli": "4.0.806" + "@mintlify/cli": "4.0.830" }, "bin": { "mint": "index.js", @@ -9162,9 +9943,9 @@ "integrity": "sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==" }, "node_modules/oniguruma-to-es": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.3.tgz", - "integrity": "sha512-rPiZhzC3wXwE59YQMRDodUwwT9FZ9nNBwQQfsd1wfdtlKEyCdRV0avrTcSZ5xlIvGRVPd/cx6ZN45ECmS39xvg==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.4.tgz", + "integrity": "sha512-3VhUGN3w2eYxnTzHn+ikMI+fp/96KoRSVK9/kMTcFqj1NRDh2IhQCKvYxDnWePKRXY/AqH+Fuiyb7VHSzBjHfA==", "dependencies": { "oniguruma-parser": "^0.12.1", "regex": "^6.0.1", @@ -9421,9 +10202,9 @@ "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" }, "node_modules/path-to-regexp": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", - "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==" + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" }, "node_modules/pend": { "version": "1.2.0", @@ -9546,9 +10327,9 @@ } }, "node_modules/postcss-load-config": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-6.0.1.tgz", - "integrity": "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", "funding": [ { "type": "opencollective", @@ -9560,32 +10341,36 @@ } ], "dependencies": { - "lilconfig": "^3.1.1" + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" }, "engines": { - "node": ">= 18" + "node": ">= 14" }, "peerDependencies": { - "jiti": ">=1.21.0", "postcss": ">=8.0.9", - "tsx": "^4.8.1", - "yaml": "^2.4.2" + "ts-node": ">=9.0.0" }, "peerDependenciesMeta": { - "jiti": { - "optional": true - }, "postcss": { "optional": true }, - "tsx": { - "optional": true - }, - "yaml": { + "ts-node": { "optional": true } } }, + "node_modules/postcss-load-config/node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, "node_modules/postcss-nested": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", @@ -9765,16 +10550,16 @@ } }, "node_modules/puppeteer": { - "version": "22.15.0", - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-22.15.0.tgz", - "integrity": "sha512-XjCY1SiSEi1T7iSYuxS82ft85kwDJUS7wj1Z0eGVXKdtr5g4xnVcbjwxhq5xBnpK/E7x1VZZoJDxpjAOasHT4Q==", + "version": "22.14.0", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-22.14.0.tgz", + "integrity": "sha512-MGTR6/pM8zmWbTdazb6FKnwIihzsSEXBPH49mFFU96DNZpQOevCAZMnjBZGlZRGRzRK6aADCavR6SQtrbv5dQw==", "deprecated": "< 24.15.0 is no longer supported", "hasInstallScript": true, "dependencies": { "@puppeteer/browsers": "2.3.0", "cosmiconfig": "^9.0.0", "devtools-protocol": "0.0.1312386", - "puppeteer-core": "22.15.0" + "puppeteer-core": "22.14.0" }, "bin": { "puppeteer": "lib/esm/puppeteer/node/cli.js" @@ -9784,13 +10569,13 @@ } }, "node_modules/puppeteer-core": { - "version": "22.15.0", - "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-22.15.0.tgz", - "integrity": "sha512-cHArnywCiAAVXa3t4GGL2vttNxh7GqXtIYGym99egkNJ3oG//wL9LkvO4WE8W1TJe95t1F1ocu9X4xWaGsOKOA==", + "version": "22.14.0", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-22.14.0.tgz", + "integrity": "sha512-rl4tOY5LcA3e374GAlsGGHc05HL3eGNf5rZ+uxkl6id9zVZKcwcp1Z+Nd6byb6WPiPeecT/dwz8f/iUm+AZQSw==", "dependencies": { "@puppeteer/browsers": "2.3.0", - "chromium-bidi": "0.6.3", - "debug": "^4.3.6", + "chromium-bidi": "0.6.2", + "debug": "^4.3.5", "devtools-protocol": "0.0.1312386", "ws": "^8.18.0" }, @@ -9799,11 +10584,11 @@ } }, "node_modules/qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", "dependencies": { - "side-channel": "^1.0.6" + "side-channel": "^1.0.4" }, "engines": { "node": ">=0.6" @@ -9851,9 +10636,9 @@ } }, "node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", @@ -9876,43 +10661,49 @@ } }, "node_modules/react": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.0.tgz", - "integrity": "sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.1.tgz", + "integrity": "sha512-DGrYcCWK7tvYMnWh79yrPHt+vdx9tY+1gPZa7nJQtO/p8bLTDaHp4dzwEhQB7pZ4Xe3ok4XKuEPrVuc+wlpkmw==", "engines": { "node": ">=0.10.0" } }, "node_modules/react-dom": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.0.tgz", - "integrity": "sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==", + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.1.tgz", + "integrity": "sha512-ibrK8llX2a4eOskq1mXKu/TGZj9qzomO+sNfO98M6d9zIPOEhlBkMkBUBLd1vgS0gQsLDBzA+8jJBVXDnfHmJg==", "peer": true, "dependencies": { "scheduler": "^0.27.0" }, "peerDependencies": { - "react": "^19.2.0" + "react": "^19.2.1" } }, + "node_modules/react-dom/node_modules/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "peer": true + }, "node_modules/react-reconciler": { - "version": "0.33.0", - "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.33.0.tgz", - "integrity": "sha512-KetWRytFv1epdpJc3J4G75I4WrplZE5jOL7Yq0p34+OVOKF4Se7WrdIdVC45XsSSmUTlht2FM/fM1FZb1mfQeA==", + "version": "0.32.0", + "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.32.0.tgz", + "integrity": "sha512-2NPMOzgTlG0ZWdIf3qG+dcbLSoAc/uLfOwckc3ofy5sSK0pLJqnQLpUFxvGcN2rlXSjnVtGeeFLNimCQEj5gOQ==", "dependencies": { - "scheduler": "^0.27.0" + "scheduler": "^0.26.0" }, "engines": { "node": ">=0.10.0" }, "peerDependencies": { - "react": "^19.2.0" + "react": "^19.1.0" } }, "node_modules/react-remove-scroll": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.7.1.tgz", - "integrity": "sha512-HpMh8+oahmIdOuS5aFKKY6Pyog+FNaZV/XyJOq7b4YFwsFHe5yYfdbIalI4k3vU2nSDql7YskmUseHsRrJqIPA==", + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.7.2.tgz", + "integrity": "sha512-Iqb9NjCCTt6Hf+vOdNIZGdTiH1QSqr27H/Ek9sv/a97gfueI/5h1s3yRi1nngzMUaOOToin5dI1dXKdXiF+u0Q==", "peer": true, "dependencies": { "react-remove-scroll-bar": "^2.3.7", @@ -10325,9 +11116,9 @@ } }, "node_modules/remark-mdx-remove-esm": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/remark-mdx-remove-esm/-/remark-mdx-remove-esm-1.2.1.tgz", - "integrity": "sha512-Vz1GKmRR9u7ij8TTf88DK8dFc/mVror9YUJekl1uP+S0sTzHxGdszJMeBbh96aIR+ZiI2QRKHu2UsV+/pWj7uQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/remark-mdx-remove-esm/-/remark-mdx-remove-esm-1.2.2.tgz", + "integrity": "sha512-YSaUwqiuJuD6S9XTAD6zmO4JJJZJgsRAdsl2drZO8/ssAVv0HXAg4vkSgHZAP46ORh8ERPFQrC7JWlbkwBwu1A==", "dependencies": { "@types/mdast": "^4.0.4", "mdast-util-mdxjs-esm": "^2.0.1", @@ -10553,9 +11344,9 @@ } }, "node_modules/run-async": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-4.0.6.tgz", - "integrity": "sha512-IoDlSLTs3Yq593mb3ZoKWKXMNu3UpObxhgA/Xuid5p4bbfi2jdY1Hj0m1K+0/tEuQTxIGMhQDqGjKb7RuxGpAQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-3.0.0.tgz", + "integrity": "sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==", "engines": { "node": ">=0.12.0" } @@ -10679,26 +11470,14 @@ "integrity": "sha512-yqYn1JhPczigF94DMS+shiDMjDowYO6y9+wB/4WgO0Y19jWYk0lQ4tuG5KI7kj4FTp1wxPj5IFfcrz/s1c3jjQ==" }, "node_modules/scheduler": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", - "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==" - }, - "node_modules/section-matter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", - "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", - "dependencies": { - "extend-shallow": "^2.0.1", - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=4" - } + "version": "0.26.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", + "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==" }, "node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", "bin": { "semver": "bin/semver.js" }, @@ -10707,9 +11486,9 @@ } }, "node_modules/send": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", - "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dependencies": { "debug": "2.6.9", "depd": "2.0.0", @@ -10742,14 +11521,6 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, - "node_modules/send/node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/serialize-error": { "version": "12.0.0", "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-12.0.0.tgz", @@ -10765,14 +11536,14 @@ } }, "node_modules/serve-static": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", - "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dependencies": { - "encodeurl": "~2.0.0", + "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.19.0" + "send": "0.18.0" }, "engines": { "node": ">= 0.8.0" @@ -10894,16 +11665,16 @@ } }, "node_modules/shiki": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-3.15.0.tgz", - "integrity": "sha512-kLdkY6iV3dYbtPwS9KXU7mjfmDm25f5m0IPNFnaXO7TBPcvbUOY72PYXSuSqDzwp+vlH/d7MXpHlKO/x+QoLXw==", - "dependencies": { - "@shikijs/core": "3.15.0", - "@shikijs/engine-javascript": "3.15.0", - "@shikijs/engine-oniguruma": "3.15.0", - "@shikijs/langs": "3.15.0", - "@shikijs/themes": "3.15.0", - "@shikijs/types": "3.15.0", + "version": "3.19.0", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-3.19.0.tgz", + "integrity": "sha512-77VJr3OR/VUZzPiStyRhADmO2jApMM0V2b1qf0RpfWya8Zr1PeZev5AEpPGAAKWdiYUtcZGBE4F5QvJml1PvWA==", + "dependencies": { + "@shikijs/core": "3.19.0", + "@shikijs/engine-javascript": "3.19.0", + "@shikijs/engine-oniguruma": "3.19.0", + "@shikijs/langs": "3.19.0", + "@shikijs/themes": "3.19.0", + "@shikijs/types": "3.19.0", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } @@ -11036,9 +11807,9 @@ } }, "node_modules/smol-toml": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.4.2.tgz", - "integrity": "sha512-rInDH6lCNiEyn3+hH8KVGFdbjc099j47+OSgbMrfDYX1CmXLfdKd7qi6IfcWj2wFxvSVkuI46M+wPGYfEOEj6g==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.5.2.tgz", + "integrity": "sha512-QlaZEqcAH3/RtNyet1IPIYPsEWAaYyXXv1Krsi+1L/QHppjX4Ifm8MQsBISz9vE8cHicIq3clogsheili5vhaQ==", "engines": { "node": ">= 18" }, @@ -11047,15 +11818,15 @@ } }, "node_modules/socket.io": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.1.tgz", - "integrity": "sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg==", + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.2.tgz", + "integrity": "sha512-bvKVS29/I5fl2FGLNHuXlQaUH/BlzX1IN6S+NKLNZpBsPZIDH+90eQmCs2Railn4YUiww4SzUedJ6+uzwFnKLw==", "dependencies": { "accepts": "~1.3.4", "base64id": "~2.0.0", "cors": "~2.8.5", "debug": "~4.3.2", - "engine.io": "~6.6.0", + "engine.io": "~6.5.2", "socket.io-adapter": "~2.5.2", "socket.io-parser": "~4.2.4" }, @@ -11454,41 +12225,33 @@ "node": ">=8" } }, - "node_modules/strip-bom-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", - "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/style-to-js": { - "version": "1.1.19", - "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.19.tgz", - "integrity": "sha512-Ev+SgeqiNGT1ufsXyVC5RrJRXdrkRJ1Gol9Qw7Pb72YCKJXrBvP0ckZhBeVSrw2m06DJpei2528uIpjMb4TsoQ==", + "version": "1.1.21", + "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.21.tgz", + "integrity": "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==", "dependencies": { - "style-to-object": "1.0.12" + "style-to-object": "1.0.14" } }, "node_modules/style-to-object": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.12.tgz", - "integrity": "sha512-ddJqYnoT4t97QvN2C95bCgt+m7AAgXjVnkk/jxAfmp7EAB8nnqqZYEbMd3em7/vEomDb2LAQKAy1RFfv41mdNw==", + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.14.tgz", + "integrity": "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==", "dependencies": { - "inline-style-parser": "0.2.6" + "inline-style-parser": "0.2.7" } }, "node_modules/sucrase": { - "version": "3.35.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", - "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "version": "3.35.1", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.1.tgz", + "integrity": "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==", "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", - "glob": "^10.3.10", "lines-and-columns": "^1.1.6", "mz": "^2.7.0", "pirates": "^4.0.1", + "tinyglobby": "^0.2.11", "ts-interface-checker": "^0.1.9" }, "bin": { @@ -11530,32 +12293,32 @@ } }, "node_modules/tailwindcss": { - "version": "3.4.18", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.18.tgz", - "integrity": "sha512-6A2rnmW5xZMdw11LYjhcI5846rt9pbLSabY5XPxo+XWdxwZaFEn47Go4NzFiHu9sNNmr/kXivP1vStfvMaK1GQ==", + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.4.tgz", + "integrity": "sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==", "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", - "chokidar": "^3.6.0", + "chokidar": "^3.5.3", "didyoumean": "^1.2.2", "dlv": "^1.1.3", - "fast-glob": "^3.3.2", + "fast-glob": "^3.3.0", "glob-parent": "^6.0.2", "is-glob": "^4.0.3", - "jiti": "^1.21.7", - "lilconfig": "^3.1.3", - "micromatch": "^4.0.8", + "jiti": "^1.21.0", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", "normalize-path": "^3.0.0", "object-hash": "^3.0.0", - "picocolors": "^1.1.1", - "postcss": "^8.4.47", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", "postcss-import": "^15.1.0", "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.2 || ^5.0 || ^6.0", - "postcss-nested": "^6.2.0", - "postcss-selector-parser": "^6.1.2", - "resolve": "^1.22.8", - "sucrase": "^3.35.0" + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" }, "bin": { "tailwind": "lib/cli.js", @@ -11577,9 +12340,9 @@ } }, "node_modules/tar": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", - "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "version": "6.1.15", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz", + "integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==", "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", @@ -12877,20 +13640,23 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/yaml": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz", - "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==", + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", + "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", "bin": { "yaml": "bin.mjs" }, "engines": { "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" } }, "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "version": "17.7.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz", + "integrity": "sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==", "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -12983,19 +13749,19 @@ "integrity": "sha512-0LPOt3AxKqMdFBZA3HBAt/t/8vIKq7VaQYbuA8WxCgung+p9TVyKRYdpvCb80HcdTN2NkbIKbhNwKUfm3tQywQ==" }, "node_modules/zod": { - "version": "3.25.76", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", - "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", + "version": "3.21.4", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz", + "integrity": "sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==", "funding": { "url": "https://github.com/sponsors/colinhacks" } }, "node_modules/zod-to-json-schema": { - "version": "3.24.6", - "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.6.tgz", - "integrity": "sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg==", + "version": "3.20.4", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.20.4.tgz", + "integrity": "sha512-Un9+kInJ2Zt63n6Z7mLqBifzzPcOyX+b+Exuzf7L1+xqck9Q2EPByyTRduV3kmSPaXaRer1JCsucubpgL1fipg==", "peerDependencies": { - "zod": "^3.24.1" + "zod": "^3.20.0" } }, "node_modules/zwitch": { diff --git a/package.json b/package.json index 694806da5..478fdda94 100644 --- a/package.json +++ b/package.json @@ -10,57 +10,35 @@ "check:navigation": "node scripts/check-navigation.mjs", "check:fs": "echo 'https://github.com/ton-org/docs/issues/1182'", "check:fmt": "remark . -e mdx,md --no-stdout --quiet --frail", + "check:fmt:some": "remark --no-stdout --quiet --frail --silently-ignore", "check:spell": "cspell --no-progress --show-suggestions .", "check:all": "npm run check:openapi && npm run check:links && npm run check:redirects && npm run check:fs && npm run check:fmt && npm run check:spell", "fmt": "remark . -e mdx,md -o --silent", - "fmt:some": "remark -o --silent", + "fmt:some": "remark -o --silent --silently-ignore", "spell": "cspell lint --no-progress --show-suggestions .", "spell:some": "cspell lint", "lint:all": "npm run check:all", "gen:mdx-for-openapi:toncenter-v2": "npx @mintlify/scraping@latest openapi-file -w ecosystem/api/toncenter/v2.json -o ecosystem/api/toncenter/v2", "gen:mdx-for-openapi:toncenter-v3": "npx @mintlify/scraping@latest openapi-file -w ecosystem/api/toncenter/v3.yaml -o ecosystem/api/toncenter/v3", - "stats": "python3 scripts/stats.py" + "stats": "python3 scripts/stats.py", + "prepare": "husky" }, "dependencies": { - "cspell": "^9.2.1", - "mint": "^4.2.202", + "cspell": "^9.4.0", + "husky": "^9.1.7", + "mint": "^4.2.226", "remark": "^15.0.1", "remark-cli": "^12.0.1", "remark-frontmatter": "^5.0.0", "remark-gfm": "^4.0.1", "remark-math": "^6.0.0", "remark-mdx": "^3.1.1", - "unified-consistency": "^2.0.0", + "string-width": "=8.1.0", + "unified-consistency": "=2.0.0", "unist-util-visit-parents": "^6.0.2" }, - "remarkConfig": { - "plugins": [ - "remark-frontmatter", - "remark-math", - [ - "remark-gfm", - { - "singleTilde": false - } - ], - [ - "remark-mdx", - { - "printWidth": 20 - } - ], - "unified-consistency" - ], - "settings": { - "bullet": "-", - "emphasis": "_", - "rule": "-", - "incrementListMarker": false, - "tightDefinitions": true - } - }, "engines": { - "node": ">=20.0", + "node": ">=20.17", "npm": ">=9" }, "packageManager": "npm@9.9.4" From 694edc9182c76d8ee08f0d6750e8ff93de503549 Mon Sep 17 00:00:00 2001 From: Novus Nota <68142933+novusnota@users.noreply.github.com> Date: Wed, 10 Dec 2025 10:23:09 +0100 Subject: [PATCH 3/7] remove the Prism.js hack --- extra.css | 54 ------------------------- extra.js | 117 ------------------------------------------------------ 2 files changed, 171 deletions(-) diff --git a/extra.css b/extra.css index 9414b769c..a1c8fbe4c 100644 --- a/extra.css +++ b/extra.css @@ -75,57 +75,3 @@ table { div[data-component-part="callout-content"]>.code-block:last-child { margin-bottom: 0; } - -/* - A temporary solution syntax highlighting of Tolk snippets: invoke Prism.js on a client-side. - See `snippets/tolk-highlight.jsx`. - @link https://github.com/ton-org/docs/issues/1473 - */ - -:root { - --tolk-token-comment: #808080; - --tolk-token-type-hint: #D500EC; - --tolk-token-keyword: #0000FF; - --tolk-token-struct: #007EA2; - --tolk-token-variable: #444444; - --tolk-token-attr-name: #808000; - --tolk-token-function: #A82D2D; - --tolk-token-number: #0B9000; - --tolk-token-string: #008000; - --tolk-token-string-bg: #FAF9EF; - --tolk-token-operator: #A0A000; - --tolk-token-punctuation: #808000; - --tolk-token-three-dots: #999999; -} - -code.language-tolk { color: var(--tolk-token-variable); } -.token.comment { color: var(--tolk-token-comment); font-style: italic; } -.token.type-hint { color: var(--tolk-token-type-hint); } -.token.boolean { color: var(--tolk-token-keyword); } -.token.keyword { color: var(--tolk-token-keyword); } -.token.self { color: var(--tolk-token-variable); font-weight: bold; } -.token.attr-name { color: var(--tolk-token-attr-name); } -.token.function { color: var(--tolk-token-function); } -.token.number { color: var(--tolk-token-number); } -.token.string { color: var(--tolk-token-string); background-color: var(--tolk-token-string-bg); } -.token.operator { color: var(--tolk-token-operator); } -.token.punctuation { color: var(--tolk-token-punctuation); } -.token.three-dots { color: var(--tolk-token-three-dots); } -.token.struct { color: var(--tolk-token-struct); } -.token.variable { color: var(--tolk-token-variable); } - -html.dark { - --tolk-token-comment: #808080; - --tolk-token-type-hint: #DF90F8; - --tolk-token-keyword: #D75F02; - --tolk-token-struct: #56C1FF; - --tolk-token-variable: #C5D2E0; - --tolk-token-attr-name: #808000; - --tolk-token-function: #F9B900; - --tolk-token-number: #33A033; - --tolk-token-string: #33A033; - --tolk-token-string-bg: #1B1C1E; - --tolk-token-operator: #A0A000; - --tolk-token-punctuation: #85B2A0; - --tolk-token-three-dots: #777777; -} diff --git a/extra.js b/extra.js index 8c7a19e45..0d08e578a 100644 --- a/extra.js +++ b/extra.js @@ -1,118 +1 @@ /* See: https://mintlify.com/docs/settings/custom-scripts#custom-javascript */ -/* - A temporary solution syntax highlighting of Tolk snippets: invoke Prism.js on a client-side. - Sources of Prism.js are embedded right here, it's not downloaded separately. - @link https://github.com/ton-org/docs/issues/1473 - - All code blocks for the Tolk language are highlighted: - ```tolk - // automatically highlighted: see isTolkBlockCode() - ``` - - Visual appearance is defined in `extra.css`. - */ - -(function() { - const TOLK_GRAMMAR = { - 'comment': [ - { pattern: /\/\/.*/, greedy: true }, - // http://stackoverflow.com/questions/13014947/regex-to-match-a-c-style-multiline-comment/36328890#36328890 - { pattern: /\/\*[^*]*\*+([^/*][^*]*\*+)*\//, greedy: true }, - ], - 'attr-name': /@[a-zA-Z0-9_]+/, - 'keyword': /\b(do|if|as|is|try|else|while|break|throw|catch|return|assert|repeat|continue|asm|builtin|import|export|true|false|null|redef|mutate|tolk|global|const|var|val|fun|get\sfun|struct|match|type|lazy|enum|private|readonly)\b/, - 'function': /[a-zA-Z$_][a-zA-Z0-9$_]*(?=(<[^>]+>)*\()/, - 'type-hint': /\b(int|cell|void|never|bool|slice|tuple|builder|continuation|coins|int\d+|uint\d+|bytes\d+|bits\d+|address|any_address|map|dict)\b/, - 'boolean': /\b(false|true|null)\b/, - 'self': /\b(self)\b/, - 'number': /\b(-?\d+|0x[\da-fA-F]+|0b[01]+)\b/, - 'string': [ - { pattern: /"""[\s\S]*?"""/, greedy: true }, - { pattern: /"[^\n"]*"\w?/, greedy: true }, - ], - 'operator': new RegExp("\\+|-|\\*|/|%|\\?|:|=|<|>|!|&|\\||\\^|==|!=|<=|>=|<<|>>|&&|\\|\\||~/|\\^/|\\+=|-=|\\*=|/=|%=|&=|\\|=|\\^=|->|<=>|~>>|\\^>>|<<=|>>=|=>"), - 'three-dots': /\.\.\./, - 'punctuation': /[.,;(){}\[\]]/, - 'struct': /\b[A-Z][a-z][a-zA-Z0-9$_]*\b/, - 'variable': [ - { pattern: /`[^`]+`/ }, - { pattern: /\b[a-zA-Z$_][a-zA-Z0-9$_]*\b/ }, - ], - }; - - // code blocks inserted with ```tolk are rendered as actually, - // because Mintlify knows nothing about custom languages; - // here we try to detect whether it's not func/fift/tlb - function isTolkBlockCode(/**HTMLElement*/ codeElement) { - if (codeElement.getAttribute('language') !== 'text') { - return false; - } - - // highlight all snippets inside the "Tolk" left menu sections - // (even small ones, like `var x = 123`; they cannot be distinguished from FunC, - // but on "Tolk" pages, no other languages are present) - const isTolkPage = window.location.href.includes('/languages/tolk'); - if (isTolkPage) { - return true; - } - - // highlight if markdown has a title: ```tolk title="filename.tolk" - const hasTitleFilenameTolk = codeElement - .closest('div.code-block') - ?.querySelector('div[data-component-part="code-block-header-filename"]') - ?.innerText - ?.toLowerCase() - ?.endsWith('tolk'); - if (hasTitleFilenameTolk) { - return true; - } - - // try to detect the language based on innerText; - // treat the occurrence of fun/struct/enum/etc. as Tolk; - // it works without false positives for quite big, "real-world", meaningful snippets; - // it does not work for small snippets like `var x = 123` or `if (x != 0) {}` - const innerText = codeElement.innerText; - return /\b(fun\s\w+|struct\s\w+|struct\s*\([0-9a-fx]{4,}|enum\s\w+|lazy\s\w+)\b/.test(innerText); - } - - // check if Prism was called for - function isCodeHighlighted(/**HTMLElement*/ codeElement) { - return codeElement.classList.contains('language-tolk'); - } - - // call Prism for - function highlightCode(/**HTMLElement*/ codeElement, Prism) { - codeElement.classList.add('language-tolk'); - codeElement.parentElement.style.backgroundColor = ''; // parent is
-    codeElement.parentElement.classList.remove('shiki'); // avoid css mixing
-    try {
-      Prism.highlightElement(codeElement);
-    } catch (ex) {
-      console.error('suppressed Prism error for code', codeElement, ex);
-    }
-  }
-
-  function highlightAllCodeElementsOnPage(Prism) {
-    let allCodes = document.querySelectorAll('code');
-    for (let i = 0; i < allCodes.length; ++i) {
-      if (isTolkBlockCode(allCodes[i]) && !isCodeHighlighted(allCodes[i])) {
-        highlightCode(allCodes[i], Prism)
-      }
-    }
-
-    // call it iteratively in case of dynamic content changes
-    setTimeout(function() {
-      highlightAllCodeElementsOnPage(Prism)
-    }, 500);
-  }
-
-  if (typeof window !== "undefined") {
-    /* PrismJS 1.30.0 */
-    var _self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(e){var n=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,r={},a={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function e(n){return n instanceof i?new i(n.type,e(n.content),n.alias):Array.isArray(n)?n.map(e):n.replace(/&/g,"&").replace(/=g.reach);A+=w.value.length,w=w.next){var P=w.value;if(n.length>e.length)return;if(!(P instanceof i)){var E,S=1;if(y){if(!(E=l(b,A,e,m))||E.index>=e.length)break;var L=E.index,O=E.index+E[0].length,C=A;for(C+=w.value.length;L>=C;)C+=(w=w.next).value.length;if(A=C-=w.value.length,w.value instanceof i)continue;for(var j=w;j!==n.tail&&(Cg.reach&&(g.reach=W);var I=w.prev;if(_&&(I=u(n,I,_),A+=_.length),c(n,I,S),w=u(n,I,new i(f,p?a.tokenize(N,p):N,k,N)),M&&u(n,w,M),S>1){var T={cause:f+","+d,reach:W};o(e,n,t,w.prev,A,T),g&&T.reach>g.reach&&(g.reach=T.reach)}}}}}}function s(){var e={value:null,prev:null,next:null},n={value:null,prev:e,next:null};e.next=n,this.head=e,this.tail=n,this.length=0}function u(e,n,t){var r=n.next,a={value:t,prev:n,next:r};return n.next=a,r.prev=a,e.length++,a}function c(e,n,t){for(var r=n.next,a=0;a"+i.content+""},!e.document)return e.addEventListener?(a.disableWorkerMessageHandler||e.addEventListener("message",(function(n){var t=JSON.parse(n.data),r=t.language,i=t.code,l=t.immediateClose;e.postMessage(a.highlight(i,a.languages[r],r)),l&&e.close()}),!1),a):a;var g=a.util.currentScript();function f(){a.manual||a.highlightAll()}if(g&&(a.filename=g.src,g.hasAttribute("data-manual")&&(a.manual=!0)),!a.manual){var h=document.readyState;"loading"===h||"interactive"===h&&g&&g.defer?document.addEventListener("DOMContentLoaded",f):window.requestAnimationFrame?window.requestAnimationFrame(f):window.setTimeout(f,16)}return a}(_self);"undefined"!=typeof module&&module.exports&&(module.exports=Prism),"undefined"!=typeof global&&(global.Prism=Prism);
-    Prism.languages.tolk = TOLK_GRAMMAR;
-
-    setTimeout(function() {
-      highlightAllCodeElementsOnPage(Prism);
-    }, 0);
-  }
-})();

From 7ce51ac00e5520003d52a1d6b8388616d8fc5a06 Mon Sep 17 00:00:00 2001
From: Novus Nota <68142933+novusnota@users.noreply.github.com>
Date: Wed, 10 Dec 2025 10:31:23 +0100
Subject: [PATCH 4/7] update definitions

---
 docs.json                               |  12 +-
 resources/syntaxes/fift.tmLanguage.json | 246 ++++++-------
 resources/syntaxes/func.tmLanguage.json | 337 +++++++++--------
 resources/syntaxes/tasm.tmLanguage.json | 406 ++++++++++----------
 resources/syntaxes/tlb.tmLanguage.json  | 470 ++++++++++++------------
 resources/syntaxes/tolk.tmLanguage.json | 155 ++++----
 6 files changed, 808 insertions(+), 818 deletions(-)

diff --git a/docs.json b/docs.json
index ada93c1e1..863e9566b 100644
--- a/docs.json
+++ b/docs.json
@@ -32,12 +32,12 @@
       },
       "languages": {
         "custom": [
-          "resources/syntaxes/tolk.tmLanguage.json",
-          "resources/syntaxes/tlb.tmLanguage.json",
-          "resources/syntaxes/fift.tmLanguage.json",
-          "resources/syntaxes/tasm.tmLanguage.json",
-          "resources/syntaxes/func.tmLanguage.json",
-          "resources/syntaxes/tact.tmLanguage.json"
+          "/resources/syntaxes/tolk.tmLanguage.json",
+          "/resources/syntaxes/tlb.tmLanguage.json",
+          "/resources/syntaxes/fift.tmLanguage.json",
+          "/resources/syntaxes/tasm.tmLanguage.json",
+          "/resources/syntaxes/func.tmLanguage.json",
+          "/resources/syntaxes/tact.tmLanguage.json"
         ]
       }
     }
diff --git a/resources/syntaxes/fift.tmLanguage.json b/resources/syntaxes/fift.tmLanguage.json
index 0c96631b7..6cbe6ecbb 100644
--- a/resources/syntaxes/fift.tmLanguage.json
+++ b/resources/syntaxes/fift.tmLanguage.json
@@ -1,147 +1,145 @@
 {
-  "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
-  "name": "fift",
-  "scopeName": "source.fift",
-  "fileTypes": [
-    "fif"
-  ],
-  "patterns": [
-    {
-      "include": "#comments"
-    },
-    {
-      "include": "#strings"
-    },
-    {
-      "include": "#numbers"
-    },
-    {
-      "include": "#stack_words"
-    },
-    {
-      "include": "#program_words"
-    },
-    {
-      "include": "#control_words"
-    },
-    {
-      "include": "#literals"
-    },
-    {
-      "include": "#commands"
-    }
-  ],
-  "repository": {
-    "comments": {
-      "patterns": [
-        {
-          "match": "//.*$",
-          "name": "comment.line.double-slash.fift"
-        }
-      ]
-    },
-    "strings": {
-      "patterns": [
+    "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
+    "name": "fift",
+    "scopeName": "source.fift",
+    "fileTypes": ["fif"],
+    "patterns": [
         {
-          "begin": "\"",
-          "end": "\"",
-          "name": "string.quoted.double.fift",
-          "patterns": [
-            {
-              "match": "\\\\.",
-              "name": "constant.character.escape.fift"
-            }
-          ]
+            "include": "#comments"
         },
         {
-          "match": "abort\"[^\"]*\"",
-          "name": "string.quoted.double.abort.fift"
+            "include": "#strings"
         },
         {
-          "match": "\\.\"[^\"]*\"",
-          "name": "string.quoted.double.print.fift"
-        }
-      ]
-    },
-    "numbers": {
-      "patterns": [
-        {
-          "match": "\\b-?[0-9]+(/-?[0-9]+)?\\b",
-          "name": "constant.numeric.decimal.fift"
+            "include": "#numbers"
         },
         {
-          "match": "\\b0x[0-9a-fA-F]+\\b",
-          "name": "constant.numeric.hex.fift"
+            "include": "#stack_words"
         },
         {
-          "match": "\\b0b[01]+\\b",
-          "name": "constant.numeric.binary.fift"
-        }
-      ]
-    },
-    "stack_words": {
-      "patterns": [
-        {
-          "match": "\\b(dup|drop|swap|rot|-rot|over|tuck|nip|2dup|2drop|2swap|pick|roll|-roll|exch|exch2|\\?dup)\\b",
-          "name": "keyword.operator.stack.fift"
-        }
-      ]
-    },
-    "program_words": {
-      "patterns": [
-        {
-          "match": "\\b(PROGRAM|END>c|PROC|PROCINLINE|DECLPROC|DECLMETHOD)\\b",
-          "name": "keyword.control.program.fift"
+            "include": "#program_words"
         },
         {
-          "match": "\\b(CALLDICT|INLINECALLDICT)\\b",
-          "name": "keyword.control.call.fift"
-        }
-      ]
-    },
-    "control_words": {
-      "patterns": [
+            "include": "#control_words"
+        },
         {
-          "match": "\\b(if|ifnot|cond|until|while|times)\\b",
-          "name": "keyword.control.flow.fift"
+            "include": "#literals"
         },
         {
-          "match": "\\b(include)\\b",
-          "name": "keyword.control.import.fift"
+            "include": "#commands"
         }
-      ]
-    },
-    "literals": {
-      "patterns": [
-        {
-          "match": "\\b(true|false)\\b",
-          "name": "constant.language.boolean.fift"
+    ],
+    "repository": {
+        "comments": {
+            "patterns": [
+                {
+                    "match": "//.*$",
+                    "name": "comment.line.double-slash.fift"
+                }
+            ]
         },
-        {
-          "match": "b\\{[01]+\\}",
-          "name": "constant.other.binary-slice.fift"
+        "strings": {
+            "patterns": [
+                {
+                    "begin": "\"",
+                    "end": "\"",
+                    "name": "string.quoted.double.fift",
+                    "patterns": [
+                        {
+                            "match": "\\\\.",
+                            "name": "constant.character.escape.fift"
+                        }
+                    ]
+                },
+                {
+                    "match": "abort\"[^\"]*\"",
+                    "name": "string.quoted.double.abort.fift"
+                },
+                {
+                    "match": "\\.\"[^\"]*\"",
+                    "name": "string.quoted.double.print.fift"
+                }
+            ]
         },
-        {
-          "match": "x\\{[0-9a-fA-F_]+\\}",
-          "name": "constant.other.hex-slice.fift"
+        "numbers": {
+            "patterns": [
+                {
+                    "match": "\\b-?[0-9]+(/-?[0-9]+)?\\b",
+                    "name": "constant.numeric.decimal.fift"
+                },
+                {
+                    "match": "\\b0x[0-9a-fA-F]+\\b",
+                    "name": "constant.numeric.hex.fift"
+                },
+                {
+                    "match": "\\b0b[01]+\\b",
+                    "name": "constant.numeric.binary.fift"
+                }
+            ]
         },
-        {
-          "match": "B\\{[0-9a-fA-F_]+\\}",
-          "name": "constant.other.hex-bytes.fift"
+        "stack_words": {
+            "patterns": [
+                {
+                    "match": "\\b(dup|drop|swap|rot|-rot|over|tuck|nip|2dup|2drop|2swap|pick|roll|-roll|exch|exch2|\\?dup)\\b",
+                    "name": "keyword.operator.stack.fift"
+                }
+            ]
         },
-        {
-          "match": "char .",
-          "name": "constant.character.fift"
-        }
-      ]
-    },
-    "commands": {
-      "patterns": [
-        {
-          "match": "\\b[A-Z][A-Z0-9_]*\\b",
-          "name": "keyword.other.command.fift"
+        "program_words": {
+            "patterns": [
+                {
+                    "match": "\\b(PROGRAM|END>c|PROC|PROCINLINE|DECLPROC|DECLMETHOD)\\b",
+                    "name": "keyword.control.program.fift"
+                },
+                {
+                    "match": "\\b(CALLDICT|INLINECALLDICT)\\b",
+                    "name": "keyword.control.call.fift"
+                }
+            ]
+        },
+        "control_words": {
+            "patterns": [
+                {
+                    "match": "\\b(if|ifnot|cond|until|while|times)\\b",
+                    "name": "keyword.control.flow.fift"
+                },
+                {
+                    "match": "\\b(include)\\b",
+                    "name": "keyword.control.import.fift"
+                }
+            ]
+        },
+        "literals": {
+            "patterns": [
+                {
+                    "match": "\\b(true|false)\\b",
+                    "name": "constant.language.boolean.fift"
+                },
+                {
+                    "match": "b\\{[01]+\\}",
+                    "name": "constant.other.binary-slice.fift"
+                },
+                {
+                    "match": "x\\{[0-9a-fA-F_]+\\}",
+                    "name": "constant.other.hex-slice.fift"
+                },
+                {
+                    "match": "B\\{[0-9a-fA-F_]+\\}",
+                    "name": "constant.other.hex-bytes.fift"
+                },
+                {
+                    "match": "char .",
+                    "name": "constant.character.fift"
+                }
+            ]
+        },
+        "commands": {
+            "patterns": [
+                {
+                    "match": "\\b[A-Z][A-Z0-9_]*\\b",
+                    "name": "keyword.other.command.fift"
+                }
+            ]
         }
-      ]
     }
-  }
 }
diff --git a/resources/syntaxes/func.tmLanguage.json b/resources/syntaxes/func.tmLanguage.json
index 902a4e500..d805d0530 100644
--- a/resources/syntaxes/func.tmLanguage.json
+++ b/resources/syntaxes/func.tmLanguage.json
@@ -1,195 +1,192 @@
 {
-  "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
-  "name": "func",
-  "scopeName": "source.func",
-  "fileTypes": [
-    "fc",
-    "func"
-  ],
-  "patterns": [
-    {
-      "include": "#comments"
-    },
-    {
-      "include": "#strings"
-    },
-    {
-      "include": "#numbers"
-    },
-    {
-      "include": "#directives"
-    },
-    {
-      "include": "#keywords"
-    },
-    {
-      "include": "#types"
-    },
-    {
-      "include": "#specifiers"
-    },
-    {
-      "include": "#operators"
-    },
-    {
-      "include": "#function-calls"
-    },
-    {
-      "include": "#punctuation"
-    },
-    {
-      "include": "#identifiers"
-    }
-  ],
-  "repository": {
-    "comments": {
-      "patterns": [
+    "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
+    "name": "func",
+    "scopeName": "source.func",
+    "fileTypes": ["fc", "func"],
+    "patterns": [
         {
-          "name": "comment.line.double-semicolon.func",
-          "match": ";;.*$"
+            "include": "#comments"
         },
         {
-          "name": "comment.block.func",
-          "begin": "\\{-",
-          "end": "-\\}",
-          "patterns": [
-            {
-              "include": "#comments"
-            }
-          ]
-        }
-      ]
-    },
-    "strings": {
-      "patterns": [
-        {
-          "name": "string.quoted.double.func",
-          "match": "\"(?:[^\\\"\\\\]|\\\\.)*\"[Hhcu]?"
-        }
-      ]
-    },
-    "numbers": {
-      "patterns": [
-        {
-          "name": "constant.numeric.hex.func",
-          "match": "(?=|<=>|<<=|>>=|~>>=|\\^>>=|<<|>>|~>>|\\^>>|->|=|\\+=|-=|\\*=|\\/=|~\\/=|\\^\\/=|%|~%=|\\^%|&|\\|\\||~|\\^|\\?|\\.)"
-        }
-      ]
-    },
-    "function-calls": {
-      "patterns": [
+            "include": "#types"
+        },
         {
-          "name": "meta.function-call.builtin.func",
-          "match": "(?x)\\b(?:throw_unless|equal_slices|send_raw_message|accept_message)\\b(?=\\s*\\()",
-          "captures": {
-            "0": {
-              "name": "support.function.builtin.func"
-            }
-          }
+            "include": "#specifiers"
         },
         {
-          "name": "meta.function-call.method.func",
-          "begin": "(?<=\\.|~)\\s*(`[^`]+`|[A-Za-z_\\$][^\\s+\\-*\\/%,.;(){}\\[\\]=<>|\\^~]*)\\s*(?=\\()",
-          "beginCaptures": {
-            "1": {
-              "name": "support.function.method.func"
-            }
-          },
-          "end": "(?=)",
-          "patterns": []
+            "include": "#operators"
         },
         {
-          "name": "meta.function-call.func",
-          "begin": "(?x)(?|\\^~]*)\\s*(?=\\()",
-          "beginCaptures": {
-            "1": {
-              "name": "support.function.call.func"
-            }
-          },
-          "end": "(?=)",
-          "patterns": []
-        }
-      ]
-    },
-    "punctuation": {
-      "patterns": [
+            "include": "#function-calls"
+        },
         {
-          "name": "punctuation.brackets.func",
-          "match": "[()\\[\\]{}]"
+            "include": "#punctuation"
         },
         {
-          "name": "punctuation.separator.func",
-          "match": "[,:;]"
+            "include": "#identifiers"
         }
-      ]
-    },
-    "identifiers": {
-      "patterns": [
-        {
-          "name": "entity.name.function.definition.func",
-          "match": "(?x)(?<=^|[;{]\\s*)(`[^`]+`|[A-Za-z_\\$][^\\s+\\-*\\/%,.;(){}\\[\\]=<>|\\^~]*)\\s*(?=\\()"
+    ],
+    "repository": {
+        "comments": {
+            "patterns": [
+                {
+                    "name": "comment.line.double-semicolon.func",
+                    "match": ";;.*$"
+                },
+                {
+                    "name": "comment.block.func",
+                    "begin": "\\{-",
+                    "end": "-\\}",
+                    "patterns": [
+                        {
+                            "include": "#comments"
+                        }
+                    ]
+                }
+            ]
         },
-        {
-          "name": "variable.other.func",
-          "match": "`[^`]+`|[A-Za-z_\\$][^\\s+\\-*\\/%,.;(){}\\[\\]=<>|\\^~]*"
+        "strings": {
+            "patterns": [
+                {
+                    "name": "string.quoted.double.func",
+                    "match": "\"(?:[^\\\"\\\\]|\\\\.)*\"[Hhcu]?"
+                }
+            ]
+        },
+        "numbers": {
+            "patterns": [
+                {
+                    "name": "constant.numeric.hex.func",
+                    "match": "(?=|<=>|<<=|>>=|~>>=|\\^>>=|<<|>>|~>>|\\^>>|->|=|\\+=|-=|\\*=|\\/=|~\\/=|\\^\\/=|%|~%=|\\^%|&|\\|\\||~|\\^|\\?|\\.)"
+                }
+            ]
+        },
+        "function-calls": {
+            "patterns": [
+                {
+                    "name": "meta.function-call.builtin.func",
+                    "match": "(?x)\\b(?:throw_unless|equal_slices|send_raw_message|accept_message)\\b(?=\\s*\\()",
+                    "captures": {
+                        "0": {
+                            "name": "support.function.builtin.func"
+                        }
+                    }
+                },
+                {
+                    "name": "meta.function-call.method.func",
+                    "begin": "(?<=\\.|~)\\s*(`[^`]+`|[A-Za-z_\\$][^\\s+\\-*\\/%,.;(){}\\[\\]=<>|\\^~]*)\\s*(?=\\()",
+                    "beginCaptures": {
+                        "1": {
+                            "name": "support.function.method.func"
+                        }
+                    },
+                    "end": "(?=)",
+                    "patterns": []
+                },
+                {
+                    "name": "meta.function-call.func",
+                    "begin": "(?x)(?|\\^~]*)\\s*(?=\\()",
+                    "beginCaptures": {
+                        "1": {
+                            "name": "support.function.call.func"
+                        }
+                    },
+                    "end": "(?=)",
+                    "patterns": []
+                }
+            ]
+        },
+        "punctuation": {
+            "patterns": [
+                {
+                    "name": "punctuation.brackets.func",
+                    "match": "[()\\[\\]{}]"
+                },
+                {
+                    "name": "punctuation.separator.func",
+                    "match": "[,:;]"
+                }
+            ]
+        },
+        "identifiers": {
+            "patterns": [
+                {
+                    "name": "entity.name.function.definition.func",
+                    "match": "(?x)(?<=^|[;{]\\s*)(`[^`]+`|[A-Za-z_\\$][^\\s+\\-*\\/%,.;(){}\\[\\]=<>|\\^~]*)\\s*(?=\\()"
+                },
+                {
+                    "name": "variable.other.func",
+                    "match": "`[^`]+`|[A-Za-z_\\$][^\\s+\\-*\\/%,.;(){}\\[\\]=<>|\\^~]*"
+                }
+            ]
         }
-      ]
     }
-  }
 }
diff --git a/resources/syntaxes/tasm.tmLanguage.json b/resources/syntaxes/tasm.tmLanguage.json
index 229dc3940..6d282e966 100644
--- a/resources/syntaxes/tasm.tmLanguage.json
+++ b/resources/syntaxes/tasm.tmLanguage.json
@@ -1,224 +1,222 @@
 {
-  "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
-  "name": "tasm",
-  "scopeName": "source.tasm",
-  "fileTypes": [
-    "tasm"
-  ],
-  "foldingStartMarker": "\\{\\s*$",
-  "foldingStopMarker": "^\\s*\\}",
-  "patterns": [
-    {
-      "include": "#comment"
-    },
-    {
-      "include": "#keyword"
-    },
-    {
-      "include": "#instruction"
-    },
-    {
-      "include": "#literal"
-    },
-    {
-      "include": "#register"
-    },
-    {
-      "include": "#code_block"
-    },
-    {
-      "include": "#dictionary"
-    },
-    {
-      "include": "#punctuation"
-    }
-  ],
-  "repository": {
-    "comment": {
-      "patterns": [
-        {
-          "name": "comment.line.double-slash.tasm",
-          "begin": "//",
-          "beginCaptures": {
-            "0": {
-              "name": "punctuation.definition.comment.tasm"
-            }
-          },
-          "end": "$"
-        }
-      ]
-    },
-    "keyword": {
-      "patterns": [
-        {
-          "name": "keyword.other.ref.tasm",
-          "match": "\\b(ref)(?!\\w)"
-        },
-        {
-          "name": "keyword.other.embed.tasm",
-          "match": "\\b(embed)(?!\\w)"
-        },
-        {
-          "name": "keyword.other.exotic.tasm",
-          "match": "\\b(exotic)(?!\\w)"
-        },
-        {
-          "name": "keyword.other.library.tasm",
-          "match": "\\b(library)(?!\\w)"
-        }
-      ]
-    },
-    "instruction": {
-      "patterns": [
-        {
-          "match": "\\b([A-Z_][A-Z0-9_]*)\\b",
-          "name": "keyword.control.instruction.tasm"
-        }
-      ]
-    },
-    "literal": {
-      "patterns": [
-        {
-          "comment": "Hexadecimal integer literal (0x...)",
-          "match": "\\b(0[xX][a-fA-F0-9](?:_?[a-fA-F0-9])*)\\b",
-          "name": "constant.numeric.hex.tasm"
-        },
-        {
-          "comment": "Binary integer literal (0b...)",
-          "match": "\\b(0[bB][01](?:_?[01])*)\\b",
-          "name": "constant.numeric.binary.tasm"
-        },
-        {
-          "comment": "Octal integer literal (0o...)",
-          "match": "\\b(0[oO][0-7](?:_?[0-7])*)\\b",
-          "name": "constant.numeric.octal.tasm"
-        },
-        {
-          "comment": "Decimal integer literal",
-          "match": "\\b(-?(?:[0-9](?:_?[0-9])*))\\b",
-          "name": "constant.numeric.decimal.tasm"
-        },
+    "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
+    "name": "tasm",
+    "scopeName": "source.tasm",
+    "foldingStartMarker": "\\{\\s*$",
+    "foldingStopMarker": "^\\s*\\}",
+    "fileTypes": ["tasm"],
+    "patterns": [
         {
-          "comment": "Hex data literal (x{...})",
-          "match": "x\\{[a-fA-F0-9_]*\\}",
-          "name": "constant.other.hex.tasm"
+            "include": "#comment"
         },
         {
-          "comment": "Binary data literal (b{...})",
-          "match": "b\\{[01_]*\\}",
-          "name": "constant.other.binary.tasm"
+            "include": "#keyword"
         },
         {
-          "comment": "BOC data literal (boc{...})",
-          "match": "boc\\{[a-fA-F0-9_]*\\}",
-          "name": "constant.other.boc.tasm"
+            "include": "#instruction"
         },
         {
-          "comment": "String literal",
-          "begin": "\"",
-          "beginCaptures": {
-            "0": {
-              "name": "punctuation.definition.string.begin.tasm"
-            }
-          },
-          "end": "\"",
-          "endCaptures": {
-            "0": {
-              "name": "punctuation.definition.string.end.tasm"
-            }
-          },
-          "name": "string.quoted.double.tasm",
-          "patterns": [
-            {
-              "match": "\\\\.",
-              "name": "constant.character.escape.tasm"
-            }
-          ]
-        }
-      ]
-    },
-    "register": {
-      "patterns": [
-        {
-          "comment": "Stack registers (s0, s-1, etc.)",
-          "match": "\\b(s-?[0-9]+)\\b",
-          "name": "variable.parameter.register.stack.tasm"
+            "include": "#literal"
         },
         {
-          "comment": "Control registers (c0, c4, etc.)",
-          "match": "\\b(c[0-9]+)\\b",
-          "name": "variable.parameter.register.control.tasm"
-        }
-      ]
-    },
-    "code_block": {
-      "comment": "Code blocks { ... }",
-      "begin": "\\{",
-      "beginCaptures": {
-        "0": {
-          "name": "punctuation.section.code.begin.tasm"
-        }
-      },
-      "end": "\\}",
-      "endCaptures": {
-        "0": {
-          "name": "punctuation.section.code.end.tasm"
-        }
-      },
-      "name": "meta.code-block.tasm",
-      "patterns": [
-        {
-          "include": "$self"
-        }
-      ]
-    },
-    "dictionary": {
-      "comment": "Dictionaries [ ... ]",
-      "begin": "\\[",
-      "beginCaptures": {
-        "0": {
-          "name": "punctuation.section.dictionary.begin.tasm"
-        }
-      },
-      "end": "\\]",
-      "endCaptures": {
-        "0": {
-          "name": "punctuation.section.dictionary.end.tasm"
-        }
-      },
-      "name": "meta.dictionary.tasm",
-      "patterns": [
-        {
-          "comment": "Dictionary key-value separator =>",
-          "match": "=>",
-          "name": "keyword.operator.mapsto.tasm"
+            "include": "#register"
         },
         {
-          "include": "#literal"
+            "include": "#code_block"
         },
         {
-          "include": "#code_block"
+            "include": "#dictionary"
         },
         {
-          "include": "#punctuation"
+            "include": "#punctuation"
         }
-      ]
-    },
-    "punctuation": {
-      "patterns": [
-        {
-          "match": ",",
-          "name": "punctuation.comma.tasm"
-        },
-        {
-          "match": ";",
-          "name": "punctuation.semi.tasm"
-        },
-        {
-          "match": ":",
-          "name": "punctuation.colon.tasm"
+    ],
+    "repository": {
+        "comment": {
+            "patterns": [
+                {
+                    "name": "comment.line.double-slash.tasm",
+                    "begin": "//",
+                    "beginCaptures": {
+                        "0": {
+                            "name": "punctuation.definition.comment.tasm"
+                        }
+                    },
+                    "end": "$"
+                }
+            ]
+        },
+        "keyword": {
+            "patterns": [
+                {
+                    "name": "keyword.other.ref.tasm",
+                    "match": "\\b(ref)(?!\\w)"
+                },
+                {
+                    "name": "keyword.other.embed.tasm",
+                    "match": "\\b(embed)(?!\\w)"
+                },
+                {
+                    "name": "keyword.other.exotic.tasm",
+                    "match": "\\b(exotic)(?!\\w)"
+                },
+                {
+                    "name": "keyword.other.library.tasm",
+                    "match": "\\b(library)(?!\\w)"
+                }
+            ]
+        },
+        "instruction": {
+            "patterns": [
+                {
+                    "match": "\\b([A-Z_][A-Z0-9_]*)\\b",
+                    "name": "keyword.control.instruction.tasm"
+                }
+            ]
+        },
+        "literal": {
+            "patterns": [
+                {
+                    "comment": "Hexadecimal integer literal (0x...)",
+                    "match": "\\b(0[xX][a-fA-F0-9](?:_?[a-fA-F0-9])*)\\b",
+                    "name": "constant.numeric.hex.tasm"
+                },
+                {
+                    "comment": "Binary integer literal (0b...)",
+                    "match": "\\b(0[bB][01](?:_?[01])*)\\b",
+                    "name": "constant.numeric.binary.tasm"
+                },
+                {
+                    "comment": "Octal integer literal (0o...)",
+                    "match": "\\b(0[oO][0-7](?:_?[0-7])*)\\b",
+                    "name": "constant.numeric.octal.tasm"
+                },
+                {
+                    "comment": "Decimal integer literal",
+                    "match": "\\b(-?(?:[0-9](?:_?[0-9])*))\\b",
+                    "name": "constant.numeric.decimal.tasm"
+                },
+                {
+                    "comment": "Hex data literal (x{...})",
+                    "match": "x\\{[a-fA-F0-9_]*\\}",
+                    "name": "constant.other.hex.tasm"
+                },
+                {
+                    "comment": "Binary data literal (b{...})",
+                    "match": "b\\{[01_]*\\}",
+                    "name": "constant.other.binary.tasm"
+                },
+                {
+                    "comment": "BOC data literal (boc{...})",
+                    "match": "boc\\{[a-fA-F0-9_]*\\}",
+                    "name": "constant.other.boc.tasm"
+                },
+                {
+                    "comment": "String literal",
+                    "begin": "\"",
+                    "beginCaptures": {
+                        "0": {
+                            "name": "punctuation.definition.string.begin.tasm"
+                        }
+                    },
+                    "end": "\"",
+                    "endCaptures": {
+                        "0": {
+                            "name": "punctuation.definition.string.end.tasm"
+                        }
+                    },
+                    "name": "string.quoted.double.tasm",
+                    "patterns": [
+                        {
+                            "match": "\\\\.",
+                            "name": "constant.character.escape.tasm"
+                        }
+                    ]
+                }
+            ]
+        },
+        "register": {
+            "patterns": [
+                {
+                    "comment": "Stack registers (s0, s-1, etc.)",
+                    "match": "\\b(s-?[0-9]+)\\b",
+                    "name": "variable.parameter.register.stack.tasm"
+                },
+                {
+                    "comment": "Control registers (c0, c4, etc.)",
+                    "match": "\\b(c[0-9]+)\\b",
+                    "name": "variable.parameter.register.control.tasm"
+                }
+            ]
+        },
+        "code_block": {
+            "comment": "Code blocks { ... }",
+            "begin": "\\{",
+            "beginCaptures": {
+                "0": {
+                    "name": "punctuation.section.code.begin.tasm"
+                }
+            },
+            "end": "\\}",
+            "endCaptures": {
+                "0": {
+                    "name": "punctuation.section.code.end.tasm"
+                }
+            },
+            "name": "meta.code-block.tasm",
+            "patterns": [
+                {
+                    "include": "$self"
+                }
+            ]
+        },
+        "dictionary": {
+            "comment": "Dictionaries [ ... ]",
+            "begin": "\\[",
+            "beginCaptures": {
+                "0": {
+                    "name": "punctuation.section.dictionary.begin.tasm"
+                }
+            },
+            "end": "\\]",
+            "endCaptures": {
+                "0": {
+                    "name": "punctuation.section.dictionary.end.tasm"
+                }
+            },
+            "name": "meta.dictionary.tasm",
+            "patterns": [
+                {
+                    "comment": "Dictionary key-value separator =>",
+                    "match": "=>",
+                    "name": "keyword.operator.mapsto.tasm"
+                },
+                {
+                    "include": "#literal"
+                },
+                {
+                    "include": "#code_block"
+                },
+                {
+                    "include": "#punctuation"
+                }
+            ]
+        },
+        "punctuation": {
+            "patterns": [
+                {
+                    "match": ",",
+                    "name": "punctuation.comma.tasm"
+                },
+                {
+                    "match": ";",
+                    "name": "punctuation.semi.tasm"
+                },
+                {
+                    "match": ":",
+                    "name": "punctuation.colon.tasm"
+                }
+            ]
         }
-      ]
     }
-  }
 }
diff --git a/resources/syntaxes/tlb.tmLanguage.json b/resources/syntaxes/tlb.tmLanguage.json
index a3cc49450..836cd9746 100644
--- a/resources/syntaxes/tlb.tmLanguage.json
+++ b/resources/syntaxes/tlb.tmLanguage.json
@@ -1,264 +1,262 @@
 {
-  "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
-  "name": "tlb",
-  "scopeName": "source.tlb",
-  "fileTypes": [
-    "tlb"
-  ],
-  "patterns": [
-    {
-      "include": "#comment"
-    },
-    {
-      "include": "#constructors"
-    },
-    {
-      "include": "#typeDefinitions"
-    },
-    {
-      "include": "#typeParameters"
-    },
-    {
-      "include": "#fields"
-    },
-    {
-      "include": "#hashExpressions"
-    },
-    {
-      "include": "#operators"
-    },
-    {
-      "include": "#primitiveTypes"
-    },
-    {
-      "include": "#arrays"
-    },
-    {
-      "include": "#numbers"
-    },
-    {
-      "include": "#declarations"
-    }
-  ],
-  "repository": {
-    "comment": {
-      "patterns": [
+    "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
+    "name": "tlb",
+    "scopeName": "source.tlb",
+    "fileTypes": ["tlb"],
+    "patterns": [
         {
-          "name": "comment.line.double-slash.tlb",
-          "begin": "//",
-          "beginCaptures": {
-            "0": {
-              "name": "punctuation.definition.comment.line.double-slash.tlb"
-            }
-          },
-          "end": "$"
+            "include": "#comment"
         },
         {
-          "name": "comment.block.tlb",
-          "begin": "\\s*/\\*",
-          "beginCaptures": {
-            "0": {
-              "name": "comment.block.begin.tlb punctuation.definition.comment.begin.tlb"
-            }
-          },
-          "end": "\\*/",
-          "endCaptures": {
-            "0": {
-              "name": "comment.block.end.tlb punctuation.definition.comment.end.tlb"
-            }
-          }
-        }
-      ]
-    },
-    "constructors": {
-      "patterns": [
-        {
-          "match": "([a-zA-Z_][a-zA-Z0-9_]*)\\s*(\\$[01_]+|#[0-9a-fA-F_]*)",
-          "captures": {
-            "1": {
-              "name": "entity.name.type.constructor.tlb"
-            },
-            "2": {
-              "name": "constant.numeric.constructor-tag.tlb"
-            }
-          }
-        }
-      ]
-    },
-    "typeParameters": {
-      "patterns": [
-        {
-          "match": "\\{([A-Z][a-zA-Z0-9]*):Type\\}",
-          "captures": {
-            "1": {
-              "name": "support.type.parameter.tlb"
-            }
-          }
+            "include": "#constructors"
         },
         {
-          "match": "\\{([a-z][a-zA-Z0-9]*):([^}]+)\\}",
-          "captures": {
-            "1": {
-              "name": "variable.parameter.tlb"
-            },
-            "2": {
-              "name": "support.type.parameter.tlb"
-            }
-          }
-        }
-      ]
-    },
-    "fields": {
-      "patterns": [
-        {
-          "match": "([a-zA-Z_][a-zA-Z0-9_]*)\\s*(:)",
-          "captures": {
-            "1": {
-              "name": "variable.other.property.tlb"
-            },
-            "2": {
-              "name": "keyword.operator.colon.tlb"
-            }
-          }
+            "include": "#typeDefinitions"
         },
         {
-          "match": "\\^\\s*\\(([^)]+)\\)",
-          "captures": {
-            "1": {
-              "patterns": [
-                {
-                  "include": "#expressions"
-                }
-              ]
-            },
-            "0": {
-              "name": "keyword.operator.reference.tlb"
-            }
-          }
-        }
-      ]
-    },
-    "hashExpressions": {
-      "patterns": [
-        {
-          "match": "(##)\\s*\\(([^)]+)\\)",
-          "captures": {
-            "1": {
-              "name": "entity.name.function.macro.tlb"
-            },
-            "2": {
-              "patterns": [
-                {
-                  "include": "#expressions"
-                }
-              ]
-            }
-          }
+            "include": "#typeParameters"
         },
         {
-          "match": "(##|~)",
-          "name": "entity.name.function.macro.tlb"
-        }
-      ]
-    },
-    "operators": {
-      "patterns": [
-        {
-          "match": "(\\+|\\-|\\*|\\|<=|>=|!=|=|<|>|\\^|~|\\?)",
-          "name": "keyword.operator.tlb"
-        }
-      ]
-    },
-    "primitiveTypes": {
-      "patterns": [
-        {
-          "match": "\\b((u)?int\\d+|Type|Bit|Maybe)\\b",
-          "name": "support.type.primitive.tlb"
-        }
-      ]
-    },
-    "arrays": {
-      "patterns": [
-        {
-          "begin": "\\[",
-          "end": "\\]",
-          "patterns": [
-            {
-              "include": "#expressions"
-            }
-          ],
-          "name": "meta.array.tlb"
-        }
-      ]
-    },
-    "numbers": {
-      "patterns": [
-        {
-          "match": "\\b\\d+\\b",
-          "name": "constant.numeric.decimal.tlb"
+            "include": "#fields"
         },
         {
-          "match": "\\b0x[0-9a-fA-F]+\\b",
-          "name": "constant.numeric.hex.tlb"
-        }
-      ]
-    },
-    "expressions": {
-      "patterns": [
-        {
-          "include": "#hashExpressions"
+            "include": "#hashExpressions"
         },
         {
-          "include": "#operators"
+            "include": "#operators"
         },
         {
-          "include": "#primitiveTypes"
+            "include": "#primitiveTypes"
         },
         {
-          "include": "#arrays"
+            "include": "#arrays"
         },
         {
-          "include": "#numbers"
+            "include": "#numbers"
         },
         {
-          "match": "\\b[a-zA-Z_][a-zA-Z0-9_]*\\b",
-          "name": "variable.other.tlb"
+            "include": "#declarations"
         }
-      ]
-    },
-    "typeDefinitions": {
-      "patterns": [
-        {
-          "match": "=\\s*([A-Z][a-zA-Z0-9]*)(?:\\s+([a-zA-Z0-9_\\s]+))?\\s*(?:X)?\\s*;",
-          "captures": {
-            "1": {
-              "name": "entity.name.class.tlb"
-            },
-            "2": {
-              "patterns": [
+    ],
+    "repository": {
+        "comment": {
+            "patterns": [
+                {
+                    "name": "comment.line.double-slash.tlb",
+                    "begin": "//",
+                    "beginCaptures": {
+                        "0": {
+                            "name": "punctuation.definition.comment.line.double-slash.tlb"
+                        }
+                    },
+                    "end": "$"
+                },
                 {
-                  "include": "#expressions"
+                    "name": "comment.block.tlb",
+                    "begin": "\\s*/\\*",
+                    "beginCaptures": {
+                        "0": {
+                            "name": "comment.block.begin.tlb punctuation.definition.comment.begin.tlb"
+                        }
+                    },
+                    "end": "\\*/",
+                    "endCaptures": {
+                        "0": {
+                            "name": "comment.block.end.tlb punctuation.definition.comment.end.tlb"
+                        }
+                    }
                 }
-              ]
-            }
-          }
-        }
-      ]
-    },
-    "declarations": {
-      "patterns": [
-        {
-          "match": "([a-zA-Z_][a-zA-Z0-9_]*)#([0-9a-fA-F]+)",
-          "captures": {
-            "1": {
-              "name": "entity.name.type.tlb"
-            },
-            "2": {
-              "name": "constant.numeric.hex.tlb"
-            }
-          }
+            ]
+        },
+        "constructors": {
+            "patterns": [
+                {
+                    "match": "([a-zA-Z_][a-zA-Z0-9_]*)\\s*(\\$[01_]+|#[0-9a-fA-F_]*)",
+                    "captures": {
+                        "1": {
+                            "name": "entity.name.type.constructor.tlb"
+                        },
+                        "2": {
+                            "name": "constant.numeric.constructor-tag.tlb"
+                        }
+                    }
+                }
+            ]
+        },
+        "typeParameters": {
+            "patterns": [
+                {
+                    "match": "\\{([A-Z][a-zA-Z0-9]*):Type\\}",
+                    "captures": {
+                        "1": {
+                            "name": "support.type.parameter.tlb"
+                        }
+                    }
+                },
+                {
+                    "match": "\\{([a-z][a-zA-Z0-9]*):([^}]+)\\}",
+                    "captures": {
+                        "1": {
+                            "name": "variable.parameter.tlb"
+                        },
+                        "2": {
+                            "name": "support.type.parameter.tlb"
+                        }
+                    }
+                }
+            ]
+        },
+        "fields": {
+            "patterns": [
+                {
+                    "match": "([a-zA-Z_][a-zA-Z0-9_]*)\\s*(:)",
+                    "captures": {
+                        "1": {
+                            "name": "variable.other.property.tlb"
+                        },
+                        "2": {
+                            "name": "keyword.operator.colon.tlb"
+                        }
+                    }
+                },
+                {
+                    "match": "\\^\\s*\\(([^)]+)\\)",
+                    "captures": {
+                        "1": {
+                            "patterns": [
+                                {
+                                    "include": "#expressions"
+                                }
+                            ]
+                        },
+                        "0": {
+                            "name": "keyword.operator.reference.tlb"
+                        }
+                    }
+                }
+            ]
+        },
+        "hashExpressions": {
+            "patterns": [
+                {
+                    "match": "(##)\\s*\\(([^)]+)\\)",
+                    "captures": {
+                        "1": {
+                            "name": "entity.name.function.macro.tlb"
+                        },
+                        "2": {
+                            "patterns": [
+                                {
+                                    "include": "#expressions"
+                                }
+                            ]
+                        }
+                    }
+                },
+                {
+                    "match": "(##|~)",
+                    "name": "entity.name.function.macro.tlb"
+                }
+            ]
+        },
+        "operators": {
+            "patterns": [
+                {
+                    "match": "(\\+|\\-|\\*|\\|<=|>=|!=|=|<|>|\\^|~|\\?)",
+                    "name": "keyword.operator.tlb"
+                }
+            ]
+        },
+        "primitiveTypes": {
+            "patterns": [
+                {
+                    "match": "\\b((u)?int\\d+|Type|Bit|Maybe)\\b",
+                    "name": "support.type.primitive.tlb"
+                }
+            ]
+        },
+        "arrays": {
+            "patterns": [
+                {
+                    "begin": "\\[",
+                    "end": "\\]",
+                    "patterns": [
+                        {
+                            "include": "#expressions"
+                        }
+                    ],
+                    "name": "meta.array.tlb"
+                }
+            ]
+        },
+        "numbers": {
+            "patterns": [
+                {
+                    "match": "\\b\\d+\\b",
+                    "name": "constant.numeric.decimal.tlb"
+                },
+                {
+                    "match": "\\b0x[0-9a-fA-F]+\\b",
+                    "name": "constant.numeric.hex.tlb"
+                }
+            ]
+        },
+        "expressions": {
+            "patterns": [
+                {
+                    "include": "#hashExpressions"
+                },
+                {
+                    "include": "#operators"
+                },
+                {
+                    "include": "#primitiveTypes"
+                },
+                {
+                    "include": "#arrays"
+                },
+                {
+                    "include": "#numbers"
+                },
+                {
+                    "match": "\\b[a-zA-Z_][a-zA-Z0-9_]*\\b",
+                    "name": "variable.other.tlb"
+                }
+            ]
+        },
+        "typeDefinitions": {
+            "patterns": [
+                {
+                    "match": "=\\s*([A-Z][a-zA-Z0-9]*)(?:\\s+([a-zA-Z0-9_\\s]+))?\\s*(?:X)?\\s*;",
+                    "captures": {
+                        "1": {
+                            "name": "entity.name.class.tlb"
+                        },
+                        "2": {
+                            "patterns": [
+                                {
+                                    "include": "#expressions"
+                                }
+                            ]
+                        }
+                    }
+                }
+            ]
+        },
+        "declarations": {
+            "patterns": [
+                {
+                    "match": "([a-zA-Z_][a-zA-Z0-9_]*)#([0-9a-fA-F]+)",
+                    "captures": {
+                        "1": {
+                            "name": "entity.name.type.tlb"
+                        },
+                        "2": {
+                            "name": "constant.numeric.hex.tlb"
+                        }
+                    }
+                }
+            ]
         }
-      ]
     }
-  }
 }
diff --git a/resources/syntaxes/tolk.tmLanguage.json b/resources/syntaxes/tolk.tmLanguage.json
index e1fb6feff..dbf962fce 100644
--- a/resources/syntaxes/tolk.tmLanguage.json
+++ b/resources/syntaxes/tolk.tmLanguage.json
@@ -1,83 +1,82 @@
 {
-  "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
-  "name": "tolk",
-  "scopeName": "source.tolk",
-  "fileTypes": [
-    "tolk"
-  ],
-  "foldingStartMarker": "\\{\\s*$",
-  "foldingStopMarker": "^\\s*\\}",
-  "patterns": [
-    {
-      "name": "comment.line.double-slash",
-      "match": "//(.*)"
-    },
-    {
-      "name": "comment.block",
-      "begin": "/\\*",
-      "end": "\\*/"
-    },
-    {
-      "name": "string.quoted.triple",
-      "begin": "\"\"\"",
-      "end": "\"\"\"",
-      "patterns": [
+    "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
+    "name": "tolk",
+    "scopeName": "source.tolk",
+    "foldingStartMarker": "\\{\\s*$",
+    "foldingStopMarker": "^\\s*\\}",
+    "fileTypes": ["tolk"],
+    "patterns": [
         {
-          "name": "constant.character.escape",
-          "match": "\\\\."
-        }
-      ]
-    },
-    {
-      "name": "string.quoted.double",
-      "begin": "\"",
-      "end": "\"",
-      "patterns": [
+            "name": "comment.line.double-slash",
+            "match": "//(.*)"
+        },
+        {
+            "name": "comment.block",
+            "begin": "/\\*",
+            "end": "\\*/"
+        },
+        {
+            "name": "string.quoted.triple",
+            "begin": "\"\"\"",
+            "end": "\"\"\"",
+            "patterns": [
+                {
+                    "name": "constant.character.escape",
+                    "match": "\\\\."
+                }
+            ]
+        },
+        {
+            "name": "string.quoted.double",
+            "begin": "\"",
+            "end": "\"",
+            "patterns": [
+                {
+                    "name": "constant.character.escape",
+                    "match": "\\\\."
+                }
+            ]
+        },
+        {
+            "name": "constant.numeric",
+            "match": "(-?([\\d]+|0x[\\da-fA-F]+|0b[01]+))\\b"
+        },
+        {
+            "name": "keyword.control",
+            "match": "\\b(do|if|try|else|while|break|throw|catch|return|assert|repeat|continue|asm|builtin|match|lazy)\\b"
+        },
+        {
+            "name": "keyword.operator",
+            "match": "\\+|-|\\*|/|%|\\?|:|,|;|\\(|\\)|\\[|\\]|{|}|=|<|>|!|&|\\||\\^|==|!=|<=|>=|<<|>>|&&|\\|\\||~/|\\^/|\\+=|-=|\\*=|/=|%=|&=|\\|=|\\^=|->|<=>|~>>|\\^>>|<<=|>>=|=>"
+        },
+        {
+            "name": "keyword.other",
+            "match": "\\b(import|export|private|readonly|true|false|null|redef|mutate|tolk|as|is|!is)\\b"
+        },
+        {
+            "name": "storage.type",
+            "match": "\\b(type|int|cell|void|bool|slice|tuple|builder|continuation|never|coins|int\\d+|uint\\d+)\\b"
+        },
+        {
+            "name": "storage.modifier",
+            "match": "\\b(global|const|var|val|fun|get|struct|enum|private|readonly)\\b"
+        },
+        {
+            "name": "entity.name.type",
+            "match": "@\\w+"
+        },
+        {
+            "name": "entity.name.function",
+            "match": "(`[^`]+`|[a-zA-Z$_][a-zA-Z0-9$_]*)(?=\\()"
+        },
+        {
+            "name": "variable.language",
+            "match": "\bself\b"
+        },
         {
-          "name": "constant.character.escape",
-          "match": "\\\\."
+            "name": "variable.name",
+            "match": "`[^`]+`|[a-zA-Z$_][a-zA-Z0-9$_]*"
         }
-      ]
-    },
-    {
-      "name": "constant.numeric",
-      "match": "(-?([\\d]+|0x[\\da-fA-F]+|0b[01]+))\\b"
-    },
-    {
-      "name": "keyword.control",
-      "match": "\\b(do|if|try|else|while|break|throw|catch|return|assert|repeat|continue|asm|builtin|match|lazy)\\b"
-    },
-    {
-      "name": "keyword.operator",
-      "match": "\\+|-|\\*|/|%|\\?|:|,|;|\\(|\\)|\\[|\\]|{|}|=|<|>|!|&|\\||\\^|==|!=|<=|>=|<<|>>|&&|\\|\\||~/|\\^/|\\+=|-=|\\*=|/=|%=|&=|\\|=|\\^=|->|<=>|~>>|\\^>>|<<=|>>=|=>"
-    },
-    {
-      "name": "keyword.other",
-      "match": "\\b(import|export|private|readonly|true|false|null|redef|mutate|tolk|as|is|!is)\\b"
-    },
-    {
-      "name": "storage.type",
-      "match": "\\b(type|int|cell|void|bool|slice|tuple|builder|continuation|never|coins|int\\d+|uint\\d+)\\b"
-    },
-    {
-      "name": "storage.modifier",
-      "match": "\\b(global|const|var|val|fun|get|struct|enum|private|readonly)\\b"
-    },
-    {
-      "name": "entity.name.type",
-      "match": "@\\w+"
-    },
-    {
-      "name": "entity.name.function",
-      "match": "(`[^`]+`|[a-zA-Z$_][a-zA-Z0-9$_]*)(?=\\()"
-    },
-    {
-      "name": "variable.language",
-      "match": "\bself\b"
-    },
-    {
-      "name": "variable.name",
-      "match": "`[^`]+`|[a-zA-Z$_][a-zA-Z0-9$_]*"
-    }
-  ]
+    ],
+    "repository": {}
 }

From 2e3b6c0b98bf43d4dfe3745deb0b1fc4ff10a03d Mon Sep 17 00:00:00 2001
From: Novus Nota <68142933+novusnota@users.noreply.github.com>
Date: Wed, 10 Dec 2025 10:50:01 +0100
Subject: [PATCH 5/7] this will only take effect after the merge

---
 .github/workflows/bouncer.yml | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/.github/workflows/bouncer.yml b/.github/workflows/bouncer.yml
index 55a8bf884..64aea602b 100644
--- a/.github/workflows/bouncer.yml
+++ b/.github/workflows/bouncer.yml
@@ -67,7 +67,10 @@ jobs:
                   'ecosystem/api/toncenter/v3.yaml',
                   'ecosystem/api/toncenter/smc-index.json',
                   'tvm/instructions.mdx',
-                ].includes(f.filename) && !f.filename.endsWith('.py') && !f.filename.startsWith('snippets'),
+                ].includes(f.filename) &&
+                !f.filename.endsWith('.py') &&
+                !f.filename.startsWith('snippets') &&
+                !f.filename.startsWith('resources/syntaxes/'),
             );
             const additions = filtered.reduce((acc, it) => acc + it.additions, 0);
             if (additions > maxAdditions) {

From 0ed0b7f3ed9425b6b457828cd294c072181e9816 Mon Sep 17 00:00:00 2001
From: Novus Nota <68142933+novusnota@users.noreply.github.com>
Date: Fri, 12 Dec 2025 15:42:28 +0100
Subject: [PATCH 6/7] upd

---
 .github/workflows/bouncer.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/bouncer.yml b/.github/workflows/bouncer.yml
index 64aea602b..aa1d350fc 100644
--- a/.github/workflows/bouncer.yml
+++ b/.github/workflows/bouncer.yml
@@ -158,7 +158,7 @@ jobs:
           script: |
             const maxIssuesAllowed = Number(process.env.MAX_ISSUES_PER_PR ?? '3');
             const body = context.payload.pull_request.body || '';
-            const closePatterns = /\b(?:close[sd]?|fixes|fixed|resolve[sd]?|towards)\s+(?:https?:\/\/github\.com\/|[a-z0-9\-\_\/]*#\d+)/gi;
+            const closePatterns = /\b(?:close[sd]?|fixes|fixed|fix|resolve[sd]?|towards)\s+(?:https?:\/\/github\.com\/|[a-z0-9\-\_\/]*#\d+)/gi;
             const issueCount = [...body.matchAll(closePatterns)].length;
             if (issueCount > maxIssuesAllowed) {
               core.setFailed(`This pull request attempts to close ${issueCount} issues, while the maximum number allowed is ${maxIssuesAllowed}.`);

From 9aaa4520f6c67367d87e82751a1d42d3d04d5160 Mon Sep 17 00:00:00 2001
From: Novus Nota <68142933+novusnota@users.noreply.github.com>
Date: Thu, 18 Dec 2025 07:31:35 +0100
Subject: [PATCH 7/7] upd

---
 .github/workflows/bouncer.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/bouncer.yml b/.github/workflows/bouncer.yml
index aa1d350fc..7b2e37a6c 100644
--- a/.github/workflows/bouncer.yml
+++ b/.github/workflows/bouncer.yml
@@ -158,7 +158,7 @@ jobs:
           script: |
             const maxIssuesAllowed = Number(process.env.MAX_ISSUES_PER_PR ?? '3');
             const body = context.payload.pull_request.body || '';
-            const closePatterns = /\b(?:close[sd]?|fixes|fixed|fix|resolve[sd]?|towards)\s+(?:https?:\/\/github\.com\/|[a-z0-9\-\_\/]*#\d+)/gi;
+            const closePatterns = /\b(?:close[sd]?|fixes|fixed|fix|resolve[sd]?|towards):?\s+(?:https?:\/\/github\.com\/|[a-z0-9\-\_\/]*#\d+)/gi;
             const issueCount = [...body.matchAll(closePatterns)].length;
             if (issueCount > maxIssuesAllowed) {
               core.setFailed(`This pull request attempts to close ${issueCount} issues, while the maximum number allowed is ${maxIssuesAllowed}.`);