@sit-onyx/modelcontextprotocol 0.2.0-dev-20260701081620 → 0.3.0-dev-20260715090706
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js
CHANGED
|
@@ -19,14 +19,7 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
19
19
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
20
20
|
var __getProtoOf = Object.getPrototypeOf;
|
|
21
21
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
22
|
-
var __esmMin = (fn, res
|
|
23
|
-
if (err) throw err[0];
|
|
24
|
-
try {
|
|
25
|
-
return fn && (res = fn(fn = 0)), res;
|
|
26
|
-
} catch (e) {
|
|
27
|
-
throw err = [e], e;
|
|
28
|
-
}
|
|
29
|
-
};
|
|
22
|
+
var __esmMin = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
30
23
|
var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
|
|
31
24
|
var __exportAll = (all, no_symbols) => {
|
|
32
25
|
let target = {};
|
|
@@ -52,10 +45,10 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
52
45
|
enumerable: true
|
|
53
46
|
}) : target, mod));
|
|
54
47
|
var __toCommonJS = (mod) => __hasOwnProp.call(mod, "module.exports") ? mod["module.exports"] : __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
55
|
-
var __require = /*
|
|
48
|
+
var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
56
49
|
var package_default = {
|
|
57
50
|
name: "@sit-onyx/modelcontextprotocol",
|
|
58
|
-
version: "0.
|
|
51
|
+
version: "0.2.0",
|
|
59
52
|
description: "MCP (Model Context Protocol) Server that provide onyx specific tools and resources.",
|
|
60
53
|
homepage: "https://onyx.schwarz",
|
|
61
54
|
bugs: { "url": "https://github.com/SchwarzIT/onyx/issues" },
|
|
@@ -103,30 +96,44 @@ var package_default = {
|
|
|
103
96
|
};
|
|
104
97
|
//#endregion
|
|
105
98
|
//#region src/resources/skills/onyx-components/SKILL.md
|
|
99
|
+
var SKILL_exports$3 = /* @__PURE__ */ __exportAll({
|
|
100
|
+
default: () => SKILL_default$3,
|
|
101
|
+
frontmatter: () => frontmatter$3,
|
|
102
|
+
raw: () => raw$3
|
|
103
|
+
});
|
|
104
|
+
var SKILL_default$3 = "# Onyx Components\n\nImplement and configure Onyx Vue 3 UI components using authoritative API definitions.\n\n## Rule: Mandatory Dynamic API Lookups (MCP)\n\nOnyx component APIs are dynamic and change across versions. **NEVER guess or assume props, events, or slots.**\n\n### Action Components (Buttons & Links)\n\n* **Props-based Links:** Components like `OnyxButton`, `OnyxIconButton`, `OnyxSystemButton`, `OnyxMenuItem`, and `OnyxNavItem` support a `link` prop. Do not wrap these components in raw `<a>` tags; pass the URL to the `link` prop.\n* **Headless Links:** Use the `useLink` composable (`const { navigate, isActive } = useLink()`) or `OnyxRouterLink` for custom unstyled navigation components.\n\n### Form Elements\n\n* **Labels & Messages:** Always configure standard `Message` and `LabelPositions` properties consistently.\n* **Loading State:** Implement built-in `Skeleton` loading states when loading form data.\n* **Accessibility:** Use proper labels and fieldsets for complex multi-input forms (`date-picker`, `radio-group`, `checkbox-group`).\n\n### Cards & Layout Structure\n\n* Nest and structure basic components (`Accordion`, `Cards`, `Badge`, `Tag`) inside the Onyx grid layout (see `onyx-foundation`) to prevent layout breaking.\n\n***\n\n## Validation & Quality Check\n\nAfter writing or updating components, you **MUST** run the following verification steps:\n\n1. **Type Check:** Run TypeScript verification (e.g., `npx vue-tsc --noEmit` or `npm run type-check`) to confirm no invalid props or event bindings exist.\n2. **Linter Check:** Run standard project linters (e.g., `npm run lint` or `eslint .`) to confirm code style and rules are respected.\n3. **Manual Verification:** Confirm all slots and custom events mapped conform to the authoritative API fetched from the MCP.\n";
|
|
105
|
+
var raw$3 = "---\nname: onyx-components\ndescription: Best practices and dynamic API lookup instructions for Onyx UI components. Use when implementing UI features, forms, or building Vue templates.\nlicense: Apache-2.0\n---\n\n# Onyx Components\n\nImplement and configure Onyx Vue 3 UI components using authoritative API definitions.\n\n## Rule: Mandatory Dynamic API Lookups (MCP)\n\nOnyx component APIs are dynamic and change across versions. **NEVER guess or assume props, events, or slots.**\n\n### Action Components (Buttons & Links)\n\n- **Props-based Links:** Components like `OnyxButton`, `OnyxIconButton`, `OnyxSystemButton`, `OnyxMenuItem`, and `OnyxNavItem` support a `link` prop. Do not wrap these components in raw `<a>` tags; pass the URL to the `link` prop.\n- **Headless Links:** Use the `useLink` composable (`const { navigate, isActive } = useLink()`) or `OnyxRouterLink` for custom unstyled navigation components.\n\n### Form Elements\n\n- **Labels & Messages:** Always configure standard `Message` and `LabelPositions` properties consistently.\n- **Loading State:** Implement built-in `Skeleton` loading states when loading form data.\n- **Accessibility:** Use proper labels and fieldsets for complex multi-input forms (`date-picker`, `radio-group`, `checkbox-group`).\n\n### Cards & Layout Structure\n\n- Nest and structure basic components (`Accordion`, `Cards`, `Badge`, `Tag`) inside the Onyx grid layout (see `onyx-foundation`) to prevent layout breaking.\n\n---\n\n## Validation & Quality Check\n\nAfter writing or updating components, you **MUST** run the following verification steps:\n\n1. **Type Check:** Run TypeScript verification (e.g., `npx vue-tsc --noEmit` or `npm run type-check`) to confirm no invalid props or event bindings exist.\n2. **Linter Check:** Run standard project linters (e.g., `npm run lint` or `eslint .`) to confirm code style and rules are respected.\n3. **Manual Verification:** Confirm all slots and custom events mapped conform to the authoritative API fetched from the MCP.\n";
|
|
106
|
+
var frontmatter$3 = {
|
|
107
|
+
"name": "onyx-components",
|
|
108
|
+
"description": "Best practices and dynamic API lookup instructions for Onyx UI components. Use when implementing UI features, forms, or building Vue templates.",
|
|
109
|
+
"license": "Apache-2.0"
|
|
110
|
+
};
|
|
111
|
+
//#endregion
|
|
112
|
+
//#region src/resources/skills/onyx-foundation/SKILL.md
|
|
106
113
|
var SKILL_exports$2 = /* @__PURE__ */ __exportAll({
|
|
107
114
|
default: () => SKILL_default$2,
|
|
108
115
|
frontmatter: () => frontmatter$2,
|
|
109
116
|
raw: () => raw$2
|
|
110
117
|
});
|
|
111
|
-
var SKILL_default$2 = "# Onyx
|
|
112
|
-
var raw$2 = "---\nname: onyx-
|
|
118
|
+
var SKILL_default$2 = "# Onyx Foundation & Theming\n\nApply Onyx styling foundations, CSS variables, responsive grid, and layout rules.\n\n## Theming & Colors\n\nOnyx supports light and dark themes out-of-the-box. Theme switching is handled automatically.\n\n### Rule: CSS Variables Only\n\n**NEVER hardcode hex, rgb, or hsl color values.** Always use semantic Onyx CSS variables (prefixed with `--onyx-`).\n\n* **Base backgrounds:** `var(--onyx-color-base-background-tinted)`, `var(--onyx-color-base-background-blank)`\n* **Primary brand:** `var(--onyx-color-base-primary-500)`, `var(--onyx-color-base-primary-100)`\n* **Text & icons:** `var(--onyx-color-text-icons-primary-soft)`, `var(--onyx-color-text-icons-primary-medium)`, `var(--onyx-color-text-icons-primary-intense)`\n* **Component states:** `var(--onyx-color-component-cta-default)`, `var(--onyx-color-component-border-primary)`, `var(--onyx-color-component-focus-primary)`\n\n*Note: Access ONLY Semantic variables. Do NOT use global or component variables directly in applications.*\n\n## Density\n\nDensity levels control the vertical white space and heights (base heights: Compact = 32px, Default = 40px, Cozy = 48px).\nApply density via properties on supported components or by adding these CSS classes to any element:\n\n* `.onyx-density-compact`\n* `.onyx-density-default`\n* `.onyx-density-cozy`\n\n## Breakpoints\n\nThe design system defines six standard breakpoints:\n\n* `2xs`: `320px` to `576px` (Max 4 columns)\n* `xs`: `577px` to `768px` (Max 8 columns)\n* `sm`: `769px` to `992px` (Max 8 columns)\n* `md`: `993px` to `1440px` (Max 12 columns)\n* `lg`: `1441px` to `1920px` (Max 12 or 16 columns)\n* `xl`: `1921px` and beyond (Max 12, 16, or 20 columns)\n\n### Responsive SCSS Mixins\n\nImport `\"sit-onyx/breakpoints.scss\"` to apply media or container queries:\n\n```scss\n@use \"sit-onyx/breakpoints.scss\";\n\n// Media queries (compares against whole screen width)\n.my-screen-class {\n @include breakpoints.screen(max, sm) {\n /* styles for sm and smaller */\n }\n @include breakpoints.screen(min, md) {\n /* styles for md and larger */\n }\n}\n\n// Container queries (compares against nearest container width)\n// MUST set container-type on the parent element\n.my-container-class {\n container-type: inline-size;\n\n @include breakpoints.container(max, md) {\n /* styles for md container and smaller */\n }\n @include breakpoints.container(min, lg) {\n /* styles for lg container and larger */\n }\n}\n```\n\n## Grid System\n\nOnyx uses container-query-based grids. The nearest parent component with `container-type: inline-size;` (automatically set by `OnyxPageLayout`, `OnyxAppLayout`, `OnyxSidebar`) determines the active grid width.\n\n### Grid Classes\n\n* **Container:** `.onyx-grid` (Defines a grid container)\n* **Spanning Columns:** `.onyx-grid-span-<number>` (Define exact span from 1 to 12)\n* **Full Width:** `.onyx-grid-span-full` (Span all available columns)\n* **Breakpoint-Specific Span:** `.onyx-grid-<breakpoint>-span-<number>` (Define column span for a specific breakpoint **and larger**)\n\n### Grid Margin\n\nApply `.onyx-grid-layout` manually to wrap page contents and add outer page margins if not using `OnyxPageLayout`.\n\n```vue\n<template>\n <div class=\"onyx-grid\">\n <!-- Spans 4 cols on smaller screens, 6 on md and larger -->\n <OnyxCard class=\"onyx-grid-span-4 onyx-grid-md-span-6\">Content</OnyxCard>\n\n <!-- Spans full width always -->\n <OnyxCard class=\"onyx-grid-span-full\">Footer / Hero</OnyxCard>\n </div>\n</template>\n```\n\n### Grid Customization\n\nSet these CSS classes on the root element of your application (e.g. `OnyxAppLayout`):\n\n* **Limit Max Width:** `onyx-grid-max-md` (max 1440px) or `onyx-grid-max-lg` (max 1920px)\n* **Alignment:** `onyx-grid-center` (Centers the layout when screen size exceeds max width)\n* **Max Columns (lg and beyond):** `onyx-grid-lg-16` (16 columns) or `onyx-grid-xl-20` (20 columns)\n\n## Page Layout (`OnyxPageLayout`)\n\nImplement the `OnyxPageLayout` component as the root element on every individual page/view to ensure standardized paddings, page-level scroll behavior, and unified outer page margins.\n\n```vue\n<template>\n <OnyxPageLayout>\n <OnyxHeadline is=\"h1\">Page Title</OnyxHeadline>\n </OnyxPageLayout>\n</template>\n```\n\nFor recurring page elements (like sidebars, footers, or sub-navigation), wrap the `OnyxPageLayout` in a reusable component or a Nuxt layout.\n\n## Layout Principles & Page Anatomy\n\nAll custom layout constructions must align with the core Onyx layout guidelines:\n\n### Core Principles\n\n* **Responsive:** Layouts must fluidly adapt to maintain usability and visual hierarchy across all device sizes.\n* **Content-Driven:** Prioritize structural layout decisions based on the content's hierarchy and user needs, not vice versa.\n\n### The Four Page Anatomy Regions\n\n1. **Main Navigation (`OnyxNavBar`):** Persistent top/left area independent of scroll containers, providing access to top-level views.\n2. **Sidebar (`OnyxSidebar`):** Persistent left/right sidebar used for secondary navigation or master-detail detail panels.\n3. **Page Content (`OnyxPageLayout`):** The flexible central area governed by the grid system and acting as the primary scroll container.\n4. **Bottom Bar (`OnyxBottomBar`):** Scroll-independent sticky bar at the bottom for status confirmations or primary page-level triggers.\n\n### Component Alignment Rule\n\n* **STRICT Left-Alignment:** All internal component layout structures must be left-aligned to preserve scannability.\n* **Exception:** Tables and data grids may utilize center/right alignment within specific columns depending on data type formats (e.g. numeric currencies).\n\n### Visual Rhythm & Grouping\n\n* **Spatial Grouping:** Group functionally related components together using generous empty space (white space), typography, or dividers to minimize cognitive load. Ensure balanced proportions across all section distributions.\n\n***\n\n## Validation & Quality Check\n\nAfter writing custom layouts or styling overrides, you **MUST** run the following verification steps:\n\n1. **CSS Variables Audit:** Scan your stylesheets for any hardcoded hex, rgb, or hsl values, or direct global/component variable usages. Replace them with proper `--onyx-` semantic variables.\n2. **Layout Alignment Check:** Verify all custom component interiors are left-aligned (with the exception of specific table/data grid columns).\n3. **Responsive Verification:** Verify your CSS container-query selectors are properly paired with a parent `container-type: inline-size;`. Ensure no breakpoint styles break responsive fluidity.\n";
|
|
119
|
+
var raw$2 = "---\nname: onyx-foundation\ndescription: Styling foundations, CSS variables, layout grid, breakpoints, and responsive mixins for Onyx. Use when writing custom CSS, designing layouts, or ensuring theme compliance.\nlicense: Apache-2.0\n---\n\n# Onyx Foundation & Theming\n\nApply Onyx styling foundations, CSS variables, responsive grid, and layout rules.\n\n## Theming & Colors\n\nOnyx supports light and dark themes out-of-the-box. Theme switching is handled automatically.\n\n### Rule: CSS Variables Only\n\n**NEVER hardcode hex, rgb, or hsl color values.** Always use semantic Onyx CSS variables (prefixed with `--onyx-`).\n\n- **Base backgrounds:** `var(--onyx-color-base-background-tinted)`, `var(--onyx-color-base-background-blank)`\n- **Primary brand:** `var(--onyx-color-base-primary-500)`, `var(--onyx-color-base-primary-100)`\n- **Text & icons:** `var(--onyx-color-text-icons-primary-soft)`, `var(--onyx-color-text-icons-primary-medium)`, `var(--onyx-color-text-icons-primary-intense)`\n- **Component states:** `var(--onyx-color-component-cta-default)`, `var(--onyx-color-component-border-primary)`, `var(--onyx-color-component-focus-primary)`\n\n_Note: Access ONLY Semantic variables. Do NOT use global or component variables directly in applications._\n\n## Density\n\nDensity levels control the vertical white space and heights (base heights: Compact = 32px, Default = 40px, Cozy = 48px).\nApply density via properties on supported components or by adding these CSS classes to any element:\n\n- `.onyx-density-compact`\n- `.onyx-density-default`\n- `.onyx-density-cozy`\n\n## Breakpoints\n\nThe design system defines six standard breakpoints:\n\n- `2xs`: `320px` to `576px` (Max 4 columns)\n- `xs`: `577px` to `768px` (Max 8 columns)\n- `sm`: `769px` to `992px` (Max 8 columns)\n- `md`: `993px` to `1440px` (Max 12 columns)\n- `lg`: `1441px` to `1920px` (Max 12 or 16 columns)\n- `xl`: `1921px` and beyond (Max 12, 16, or 20 columns)\n\n### Responsive SCSS Mixins\n\nImport `\"sit-onyx/breakpoints.scss\"` to apply media or container queries:\n\n```scss\n@use \"sit-onyx/breakpoints.scss\";\n\n// Media queries (compares against whole screen width)\n.my-screen-class {\n @include breakpoints.screen(max, sm) {\n /* styles for sm and smaller */\n }\n @include breakpoints.screen(min, md) {\n /* styles for md and larger */\n }\n}\n\n// Container queries (compares against nearest container width)\n// MUST set container-type on the parent element\n.my-container-class {\n container-type: inline-size;\n\n @include breakpoints.container(max, md) {\n /* styles for md container and smaller */\n }\n @include breakpoints.container(min, lg) {\n /* styles for lg container and larger */\n }\n}\n```\n\n## Grid System\n\nOnyx uses container-query-based grids. The nearest parent component with `container-type: inline-size;` (automatically set by `OnyxPageLayout`, `OnyxAppLayout`, `OnyxSidebar`) determines the active grid width.\n\n### Grid Classes\n\n- **Container:** `.onyx-grid` (Defines a grid container)\n- **Spanning Columns:** `.onyx-grid-span-<number>` (Define exact span from 1 to 12)\n- **Full Width:** `.onyx-grid-span-full` (Span all available columns)\n- **Breakpoint-Specific Span:** `.onyx-grid-<breakpoint>-span-<number>` (Define column span for a specific breakpoint **and larger**)\n\n### Grid Margin\n\nApply `.onyx-grid-layout` manually to wrap page contents and add outer page margins if not using `OnyxPageLayout`.\n\n```vue\n<template>\n <div class=\"onyx-grid\">\n <!-- Spans 4 cols on smaller screens, 6 on md and larger -->\n <OnyxCard class=\"onyx-grid-span-4 onyx-grid-md-span-6\">Content</OnyxCard>\n\n <!-- Spans full width always -->\n <OnyxCard class=\"onyx-grid-span-full\">Footer / Hero</OnyxCard>\n </div>\n</template>\n```\n\n### Grid Customization\n\nSet these CSS classes on the root element of your application (e.g. `OnyxAppLayout`):\n\n- **Limit Max Width:** `onyx-grid-max-md` (max 1440px) or `onyx-grid-max-lg` (max 1920px)\n- **Alignment:** `onyx-grid-center` (Centers the layout when screen size exceeds max width)\n- **Max Columns (lg and beyond):** `onyx-grid-lg-16` (16 columns) or `onyx-grid-xl-20` (20 columns)\n\n## Page Layout (`OnyxPageLayout`)\n\nImplement the `OnyxPageLayout` component as the root element on every individual page/view to ensure standardized paddings, page-level scroll behavior, and unified outer page margins.\n\n```vue\n<template>\n <OnyxPageLayout>\n <OnyxHeadline is=\"h1\">Page Title</OnyxHeadline>\n </OnyxPageLayout>\n</template>\n```\n\nFor recurring page elements (like sidebars, footers, or sub-navigation), wrap the `OnyxPageLayout` in a reusable component or a Nuxt layout.\n\n## Layout Principles & Page Anatomy\n\nAll custom layout constructions must align with the core Onyx layout guidelines:\n\n### Core Principles\n\n- **Responsive:** Layouts must fluidly adapt to maintain usability and visual hierarchy across all device sizes.\n- **Content-Driven:** Prioritize structural layout decisions based on the content's hierarchy and user needs, not vice versa.\n\n### The Four Page Anatomy Regions\n\n1. **Main Navigation (`OnyxNavBar`):** Persistent top/left area independent of scroll containers, providing access to top-level views.\n2. **Sidebar (`OnyxSidebar`):** Persistent left/right sidebar used for secondary navigation or master-detail detail panels.\n3. **Page Content (`OnyxPageLayout`):** The flexible central area governed by the grid system and acting as the primary scroll container.\n4. **Bottom Bar (`OnyxBottomBar`):** Scroll-independent sticky bar at the bottom for status confirmations or primary page-level triggers.\n\n### Component Alignment Rule\n\n- **STRICT Left-Alignment:** All internal component layout structures must be left-aligned to preserve scannability.\n- **Exception:** Tables and data grids may utilize center/right alignment within specific columns depending on data type formats (e.g. numeric currencies).\n\n### Visual Rhythm & Grouping\n\n- **Spatial Grouping:** Group functionally related components together using generous empty space (white space), typography, or dividers to minimize cognitive load. Ensure balanced proportions across all section distributions.\n\n---\n\n## Validation & Quality Check\n\nAfter writing custom layouts or styling overrides, you **MUST** run the following verification steps:\n\n1. **CSS Variables Audit:** Scan your stylesheets for any hardcoded hex, rgb, or hsl values, or direct global/component variable usages. Replace them with proper `--onyx-` semantic variables.\n2. **Layout Alignment Check:** Verify all custom component interiors are left-aligned (with the exception of specific table/data grid columns).\n3. **Responsive Verification:** Verify your CSS container-query selectors are properly paired with a parent `container-type: inline-size;`. Ensure no breakpoint styles break responsive fluidity.\n";
|
|
113
120
|
var frontmatter$2 = {
|
|
114
|
-
"name": "onyx-
|
|
115
|
-
"description": "
|
|
121
|
+
"name": "onyx-foundation",
|
|
122
|
+
"description": "Styling foundations, CSS variables, layout grid, breakpoints, and responsive mixins for Onyx. Use when writing custom CSS, designing layouts, or ensuring theme compliance.",
|
|
116
123
|
"license": "Apache-2.0"
|
|
117
124
|
};
|
|
118
125
|
//#endregion
|
|
119
|
-
//#region src/resources/skills/onyx-
|
|
126
|
+
//#region src/resources/skills/onyx-install-mcp/SKILL.md
|
|
120
127
|
var SKILL_exports$1 = /* @__PURE__ */ __exportAll({
|
|
121
128
|
default: () => SKILL_default$1,
|
|
122
129
|
frontmatter: () => frontmatter$1,
|
|
123
130
|
raw: () => raw$1
|
|
124
131
|
});
|
|
125
|
-
var SKILL_default$1 = "# Onyx
|
|
126
|
-
var raw$1 = "---\nname: onyx-
|
|
132
|
+
var SKILL_default$1 = "# Onyx MCP Server Installation & Setup\n\nTo allow coding-agents to dynamically query component API specifications and icons, install and configure the official Onyx Model Context Protocol (MCP) server.\n\n### 1. Global Installation\n\nInstall the package globally using your package manager:\n\n```bash\n# Using npm\nnpm install -g @sit-onyx/modelcontextprotocol\n\n# Using pnpm\npnpm install -g @sit-onyx/modelcontextprotocol\n```\n\nVerify the installation is successful:\n\n```bash\nonyx-mcp -h\n```\n\n### 2. General MCP Client Configuration\n\nConfigure the server in your preferred MCP-compliant client (such as Cursor, Claude Desktop, VS Code plugins, or general command-line utilities) using these standard parameters:\n\n* **Command:** `onyx-mcp`\n* **Arguments:** `[\"-r\"]` (Optional: Use the `--resourcesAsTools` flag if the coding-assistant is not able to to use MCP resources. This setting makes resources also available as MCP tools to support these Coding Assistants.)\n* **Description:** `\"Provides necessary details about working with the onyx UI component library, e.g. components and their APIs, setup instructions and best practices\"`\n\n### Step 1: Version Autodiscovery\n\nBefore querying the MCP server, you **MUST** discover the exact Onyx version used in the project:\n\n1. Open and read the root `package.json`.\n2. Find the version defined under `dependencies` or `devDependencies` for `sit-onyx`.\n3. Use this parsed version number (e.g. `\"1.2.3\"`) as the required `version` parameter for all subsequent MCP tool calls.\n\n### Step 2: Query the MCP Server\n\nUse the connected `onyx-mcp` tools using your discovered version.\n";
|
|
133
|
+
var raw$1 = "---\nname: onyx-install-mcp\ndescription: Installation and setup instructions for the local onyx MCP server\nlicense: Apache-2.0\n---\n\n# Onyx MCP Server Installation & Setup\n\nTo allow coding-agents to dynamically query component API specifications and icons, install and configure the official Onyx Model Context Protocol (MCP) server.\n\n### 1. Global Installation\n\nInstall the package globally using your package manager:\n\n```bash\n# Using npm\nnpm install -g @sit-onyx/modelcontextprotocol\n\n# Using pnpm\npnpm install -g @sit-onyx/modelcontextprotocol\n```\n\nVerify the installation is successful:\n\n```bash\nonyx-mcp -h\n```\n\n### 2. General MCP Client Configuration\n\nConfigure the server in your preferred MCP-compliant client (such as Cursor, Claude Desktop, VS Code plugins, or general command-line utilities) using these standard parameters:\n\n- **Command:** `onyx-mcp`\n- **Arguments:** `[\"-r\"]` (Optional: Use the `--resourcesAsTools` flag if the coding-assistant is not able to to use MCP resources. This setting makes resources also available as MCP tools to support these Coding Assistants.)\n- **Description:** `\"Provides necessary details about working with the onyx UI component library, e.g. components and their APIs, setup instructions and best practices\"`\n\n### Step 1: Version Autodiscovery\n\nBefore querying the MCP server, you **MUST** discover the exact Onyx version used in the project:\n\n1. Open and read the root `package.json`.\n2. Find the version defined under `dependencies` or `devDependencies` for `sit-onyx`.\n3. Use this parsed version number (e.g. `\"1.2.3\"`) as the required `version` parameter for all subsequent MCP tool calls.\n\n### Step 2: Query the MCP Server\n\nUse the connected `onyx-mcp` tools using your discovered version.\n";
|
|
127
134
|
var frontmatter$1 = {
|
|
128
|
-
"name": "onyx-
|
|
129
|
-
"description": "
|
|
135
|
+
"name": "onyx-install-mcp",
|
|
136
|
+
"description": "Installation and setup instructions for the local onyx MCP server",
|
|
130
137
|
"license": "Apache-2.0"
|
|
131
138
|
};
|
|
132
139
|
//#endregion
|
|
@@ -146,8 +153,9 @@ var frontmatter = {
|
|
|
146
153
|
//#endregion
|
|
147
154
|
//#region src/resources/skills.ts
|
|
148
155
|
var skills = /* #__PURE__ */ Object.assign({
|
|
149
|
-
"./skills/onyx-components/SKILL.md": SKILL_exports$
|
|
150
|
-
"./skills/onyx-foundation/SKILL.md": SKILL_exports$
|
|
156
|
+
"./skills/onyx-components/SKILL.md": SKILL_exports$3,
|
|
157
|
+
"./skills/onyx-foundation/SKILL.md": SKILL_exports$2,
|
|
158
|
+
"./skills/onyx-install-mcp/SKILL.md": SKILL_exports$1,
|
|
151
159
|
"./skills/onyx-setup/SKILL.md": SKILL_exports
|
|
152
160
|
});
|
|
153
161
|
var allSkills = Object.values(skills).map(({ default: text, frontmatter: { description, name } }) => [
|
|
@@ -200,10 +208,6 @@ var run = async (getServer) => {
|
|
|
200
208
|
var { version: version$2 } = package_default;
|
|
201
209
|
var USER_AGENT = `onyx-mcp/${version$2}`;
|
|
202
210
|
var REGISTRY_URL = process.env.REGISTRY_URL ?? "https://registry.npmjs.org";
|
|
203
|
-
/**
|
|
204
|
-
* Minimum `sit-onyx` version that provides the `component-meta.json` file
|
|
205
|
-
*/
|
|
206
|
-
var SIT_ONYX_MIN_VERSION = "1.12.0";
|
|
207
211
|
var SIT_ONYX_COMPONENT_META_FILE = "package/dist/component-meta.json";
|
|
208
212
|
var SIT_ONYX_DESIGN_TOKENS_FILE = "package/src/styles/variables/themes/onyx.css";
|
|
209
213
|
var SIT_ONYX_DESIGN_TOKENS_SPACINGS_FILE = "package/src/styles/variables/spacing.css";
|
|
@@ -222,36 +226,6 @@ var cached$1 = (func) => {
|
|
|
222
226
|
};
|
|
223
227
|
};
|
|
224
228
|
//#endregion
|
|
225
|
-
//#region ../../node_modules/.pnpm/url-join@5.0.0/node_modules/url-join/lib/url-join.js
|
|
226
|
-
function normalize(strArray) {
|
|
227
|
-
var resultArray = [];
|
|
228
|
-
if (strArray.length === 0) return "";
|
|
229
|
-
if (typeof strArray[0] !== "string") throw new TypeError("Url must be a string. Received " + strArray[0]);
|
|
230
|
-
if (strArray[0].match(/^[^/:]+:\/*$/) && strArray.length > 1) strArray[0] = strArray.shift() + strArray[0];
|
|
231
|
-
if (strArray[0].match(/^file:\/\/\//)) strArray[0] = strArray[0].replace(/^([^/:]+):\/*/, "$1:///");
|
|
232
|
-
else strArray[0] = strArray[0].replace(/^([^/:]+):\/*/, "$1://");
|
|
233
|
-
for (var i = 0; i < strArray.length; i++) {
|
|
234
|
-
var component = strArray[i];
|
|
235
|
-
if (typeof component !== "string") throw new TypeError("Url must be a string. Received " + component);
|
|
236
|
-
if (component === "") continue;
|
|
237
|
-
if (i > 0) component = component.replace(/^[\/]+/, "");
|
|
238
|
-
if (i < strArray.length - 1) component = component.replace(/[\/]+$/, "");
|
|
239
|
-
else component = component.replace(/[\/]+$/, "/");
|
|
240
|
-
resultArray.push(component);
|
|
241
|
-
}
|
|
242
|
-
var str = resultArray.join("/");
|
|
243
|
-
str = str.replace(/\/(\?|&|#[^!])/g, "$1");
|
|
244
|
-
var parts = str.split("?");
|
|
245
|
-
str = parts.shift() + (parts.length > 0 ? "?" : "") + parts.join("&");
|
|
246
|
-
return str;
|
|
247
|
-
}
|
|
248
|
-
function urlJoin() {
|
|
249
|
-
var input;
|
|
250
|
-
if (typeof arguments[0] === "object") input = arguments[0];
|
|
251
|
-
else input = [].slice.call(arguments);
|
|
252
|
-
return normalize(input);
|
|
253
|
-
}
|
|
254
|
-
//#endregion
|
|
255
229
|
//#region ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/core.js
|
|
256
230
|
var _a$1;
|
|
257
231
|
function $constructor(name, initializer, params) {
|
|
@@ -373,10 +347,7 @@ function assignProp(target, prop, value) {
|
|
|
373
347
|
}
|
|
374
348
|
function mergeDefs(...defs) {
|
|
375
349
|
const mergedDescriptors = {};
|
|
376
|
-
for (const def of defs)
|
|
377
|
-
const descriptors = Object.getOwnPropertyDescriptors(def);
|
|
378
|
-
Object.assign(mergedDescriptors, descriptors);
|
|
379
|
-
}
|
|
350
|
+
for (const def of defs) Object.assign(mergedDescriptors, Object.getOwnPropertyDescriptors(def));
|
|
380
351
|
return Object.defineProperties({}, mergedDescriptors);
|
|
381
352
|
}
|
|
382
353
|
function esc(str) {
|
|
@@ -698,7 +669,7 @@ var _parse = (_Err) => (schema, value, _ctx, _params) => {
|
|
|
698
669
|
}, ctx);
|
|
699
670
|
if (result instanceof Promise) throw new $ZodAsyncError();
|
|
700
671
|
if (result.issues.length) {
|
|
701
|
-
const e = new (
|
|
672
|
+
const e = new (_params?.Err ?? _Err)(result.issues.map((iss) => finalizeIssue(iss, ctx, config())));
|
|
702
673
|
captureStackTrace(e, _params?.callee);
|
|
703
674
|
throw e;
|
|
704
675
|
}
|
|
@@ -716,7 +687,7 @@ var _parseAsync = (_Err) => async (schema, value, _ctx, params) => {
|
|
|
716
687
|
}, ctx);
|
|
717
688
|
if (result instanceof Promise) result = await result;
|
|
718
689
|
if (result.issues.length) {
|
|
719
|
-
const e = new (
|
|
690
|
+
const e = new (params?.Err ?? _Err)(result.issues.map((iss) => finalizeIssue(iss, ctx, config())));
|
|
720
691
|
captureStackTrace(e, params?.callee);
|
|
721
692
|
throw e;
|
|
722
693
|
}
|
|
@@ -1679,7 +1650,7 @@ var $ZodBoolean = /*@__PURE__*/ $constructor("$ZodBoolean", (inst, def) => {
|
|
|
1679
1650
|
var $ZodNull = /*@__PURE__*/ $constructor("$ZodNull", (inst, def) => {
|
|
1680
1651
|
$ZodType.init(inst, def);
|
|
1681
1652
|
inst._zod.pattern = _null$2;
|
|
1682
|
-
inst._zod.values =
|
|
1653
|
+
inst._zod.values = new Set([null]);
|
|
1683
1654
|
inst._zod.parse = (payload, _ctx) => {
|
|
1684
1655
|
const input = payload.value;
|
|
1685
1656
|
if (input === null) return payload;
|
|
@@ -1826,13 +1797,13 @@ var $ZodObject = /*@__PURE__*/ $constructor("$ZodObject", (inst, def) => {
|
|
|
1826
1797
|
}
|
|
1827
1798
|
return propValues;
|
|
1828
1799
|
});
|
|
1829
|
-
const isObject$
|
|
1800
|
+
const isObject$1 = isObject;
|
|
1830
1801
|
const catchall = def.catchall;
|
|
1831
1802
|
let value;
|
|
1832
1803
|
inst._zod.parse = (payload, ctx) => {
|
|
1833
1804
|
value ?? (value = _normalized.value);
|
|
1834
1805
|
const input = payload.value;
|
|
1835
|
-
if (!isObject$
|
|
1806
|
+
if (!isObject$1(input)) {
|
|
1836
1807
|
payload.issues.push({
|
|
1837
1808
|
expected: "object",
|
|
1838
1809
|
code: "invalid_type",
|
|
@@ -1955,7 +1926,7 @@ var $ZodObjectJIT = /*@__PURE__*/ $constructor("$ZodObjectJIT", (inst, def) => {
|
|
|
1955
1926
|
return (payload, ctx) => fn(shape, payload, ctx);
|
|
1956
1927
|
};
|
|
1957
1928
|
let fastpass;
|
|
1958
|
-
const isObject$
|
|
1929
|
+
const isObject$2 = isObject;
|
|
1959
1930
|
const jit = !globalConfig.jitless;
|
|
1960
1931
|
const fastEnabled = jit && allowsEval.value;
|
|
1961
1932
|
const catchall = def.catchall;
|
|
@@ -1963,7 +1934,7 @@ var $ZodObjectJIT = /*@__PURE__*/ $constructor("$ZodObjectJIT", (inst, def) => {
|
|
|
1963
1934
|
inst._zod.parse = (payload, ctx) => {
|
|
1964
1935
|
value ?? (value = _normalized.value);
|
|
1965
1936
|
const input = payload.value;
|
|
1966
|
-
if (!isObject$
|
|
1937
|
+
if (!isObject$2(input)) {
|
|
1967
1938
|
payload.issues.push({
|
|
1968
1939
|
expected: "object",
|
|
1969
1940
|
code: "invalid_type",
|
|
@@ -2309,7 +2280,7 @@ var $ZodOptional = /*@__PURE__*/ $constructor("$ZodOptional", (inst, def) => {
|
|
|
2309
2280
|
inst._zod.optin = "optional";
|
|
2310
2281
|
inst._zod.optout = "optional";
|
|
2311
2282
|
defineLazy(inst._zod, "values", () => {
|
|
2312
|
-
return def.innerType._zod.values ?
|
|
2283
|
+
return def.innerType._zod.values ? new Set([...def.innerType._zod.values, void 0]) : void 0;
|
|
2313
2284
|
});
|
|
2314
2285
|
defineLazy(inst._zod, "pattern", () => {
|
|
2315
2286
|
const pattern = def.innerType._zod.pattern;
|
|
@@ -2343,7 +2314,7 @@ var $ZodNullable = /*@__PURE__*/ $constructor("$ZodNullable", (inst, def) => {
|
|
|
2343
2314
|
return pattern ? new RegExp(`^(${cleanRegex(pattern.source)}|null)$`) : void 0;
|
|
2344
2315
|
});
|
|
2345
2316
|
defineLazy(inst._zod, "values", () => {
|
|
2346
|
-
return def.innerType._zod.values ?
|
|
2317
|
+
return def.innerType._zod.values ? new Set([...def.innerType._zod.values, null]) : void 0;
|
|
2347
2318
|
});
|
|
2348
2319
|
inst._zod.parse = (payload, ctx) => {
|
|
2349
2320
|
if (payload.value === null) return payload;
|
|
@@ -4505,205 +4476,206 @@ function superRefine(fn, params) {
|
|
|
4505
4476
|
return /* @__PURE__ */ _superRefine(fn, params);
|
|
4506
4477
|
}
|
|
4507
4478
|
//#endregion
|
|
4508
|
-
//#region ../../node_modules/.pnpm/
|
|
4509
|
-
var
|
|
4510
|
-
|
|
4511
|
-
|
|
4512
|
-
|
|
4513
|
-
|
|
4514
|
-
|
|
4515
|
-
|
|
4516
|
-
|
|
4517
|
-
|
|
4518
|
-
|
|
4519
|
-
|
|
4520
|
-
|
|
4521
|
-
|
|
4522
|
-
|
|
4523
|
-
|
|
4524
|
-
|
|
4525
|
-
|
|
4526
|
-
|
|
4527
|
-
|
|
4528
|
-
|
|
4529
|
-
|
|
4530
|
-
|
|
4531
|
-
|
|
4532
|
-
|
|
4533
|
-
|
|
4534
|
-
|
|
4535
|
-
|
|
4536
|
-
|
|
4537
|
-
|
|
4538
|
-
|
|
4539
|
-
|
|
4540
|
-
|
|
4541
|
-
"
|
|
4542
|
-
"
|
|
4543
|
-
"
|
|
4544
|
-
|
|
4545
|
-
|
|
4546
|
-
|
|
4547
|
-
|
|
4548
|
-
|
|
4549
|
-
|
|
4550
|
-
|
|
4551
|
-
|
|
4552
|
-
|
|
4553
|
-
|
|
4554
|
-
|
|
4555
|
-
|
|
4556
|
-
|
|
4557
|
-
|
|
4558
|
-
|
|
4559
|
-
|
|
4560
|
-
|
|
4561
|
-
|
|
4562
|
-
|
|
4563
|
-
|
|
4564
|
-
|
|
4565
|
-
|
|
4566
|
-
|
|
4567
|
-
|
|
4568
|
-
|
|
4569
|
-
|
|
4570
|
-
|
|
4571
|
-
|
|
4572
|
-
|
|
4573
|
-
|
|
4574
|
-
|
|
4575
|
-
|
|
4576
|
-
|
|
4577
|
-
|
|
4578
|
-
|
|
4579
|
-
|
|
4580
|
-
|
|
4581
|
-
|
|
4582
|
-
|
|
4583
|
-
|
|
4584
|
-
|
|
4585
|
-
]
|
|
4586
|
-
|
|
4587
|
-
|
|
4588
|
-
|
|
4589
|
-
|
|
4590
|
-
|
|
4591
|
-
|
|
4592
|
-
|
|
4593
|
-
|
|
4594
|
-
|
|
4595
|
-
|
|
4596
|
-
|
|
4597
|
-
|
|
4598
|
-
|
|
4599
|
-
|
|
4600
|
-
|
|
4601
|
-
|
|
4602
|
-
|
|
4603
|
-
|
|
4604
|
-
|
|
4605
|
-
|
|
4606
|
-
|
|
4607
|
-
|
|
4608
|
-
|
|
4609
|
-
|
|
4610
|
-
|
|
4611
|
-
|
|
4612
|
-
|
|
4613
|
-
|
|
4614
|
-
|
|
4615
|
-
|
|
4616
|
-
|
|
4617
|
-
|
|
4618
|
-
|
|
4619
|
-
|
|
4620
|
-
|
|
4621
|
-
|
|
4622
|
-
|
|
4623
|
-
|
|
4624
|
-
|
|
4625
|
-
|
|
4626
|
-
|
|
4627
|
-
|
|
4628
|
-
|
|
4629
|
-
|
|
4630
|
-
|
|
4631
|
-
|
|
4632
|
-
|
|
4633
|
-
|
|
4634
|
-
|
|
4635
|
-
|
|
4636
|
-
|
|
4637
|
-
|
|
4638
|
-
|
|
4639
|
-
|
|
4640
|
-
|
|
4641
|
-
|
|
4642
|
-
|
|
4643
|
-
module
|
|
4644
|
-
|
|
4645
|
-
|
|
4646
|
-
|
|
4647
|
-
|
|
4648
|
-
|
|
4649
|
-
|
|
4650
|
-
|
|
4651
|
-
|
|
4652
|
-
|
|
4653
|
-
|
|
4654
|
-
|
|
4655
|
-
|
|
4656
|
-
|
|
4657
|
-
|
|
4658
|
-
|
|
4659
|
-
|
|
4660
|
-
|
|
4661
|
-
|
|
4662
|
-
|
|
4663
|
-
|
|
4664
|
-
|
|
4665
|
-
|
|
4666
|
-
|
|
4667
|
-
|
|
4668
|
-
|
|
4669
|
-
|
|
4670
|
-
//#
|
|
4671
|
-
|
|
4672
|
-
|
|
4673
|
-
#
|
|
4674
|
-
#
|
|
4675
|
-
#
|
|
4676
|
-
#
|
|
4677
|
-
#
|
|
4678
|
-
|
|
4679
|
-
|
|
4680
|
-
|
|
4681
|
-
if (
|
|
4682
|
-
|
|
4683
|
-
this.#
|
|
4684
|
-
this.#
|
|
4685
|
-
|
|
4686
|
-
|
|
4687
|
-
|
|
4688
|
-
|
|
4689
|
-
|
|
4690
|
-
|
|
4691
|
-
|
|
4692
|
-
|
|
4693
|
-
|
|
4694
|
-
|
|
4695
|
-
|
|
4696
|
-
|
|
4697
|
-
|
|
4698
|
-
|
|
4699
|
-
|
|
4700
|
-
|
|
4701
|
-
|
|
4702
|
-
|
|
4703
|
-
|
|
4704
|
-
|
|
4705
|
-
|
|
4706
|
-
|
|
4479
|
+
//#region ../../node_modules/.pnpm/zod-package-json@2.1.0_zod@4.4.3/node_modules/zod-package-json/dist/package-json.js
|
|
4480
|
+
var Bugs = union([string$1(), object({
|
|
4481
|
+
url: optional(string$1()),
|
|
4482
|
+
email: optional(string$1())
|
|
4483
|
+
})]);
|
|
4484
|
+
var Funding = union([
|
|
4485
|
+
string$1(),
|
|
4486
|
+
object({
|
|
4487
|
+
url: string$1(),
|
|
4488
|
+
type: optional(string$1())
|
|
4489
|
+
}),
|
|
4490
|
+
array(union([string$1(), object({
|
|
4491
|
+
url: string$1(),
|
|
4492
|
+
type: optional(string$1())
|
|
4493
|
+
})]))
|
|
4494
|
+
]);
|
|
4495
|
+
var Person = union([string$1(), object({
|
|
4496
|
+
name: string$1(),
|
|
4497
|
+
email: optional(string$1()),
|
|
4498
|
+
url: optional(string$1())
|
|
4499
|
+
})]);
|
|
4500
|
+
var Repository = union([string$1(), object({
|
|
4501
|
+
/** Repository type (e.g., `git`). */
|
|
4502
|
+
type: string$1(),
|
|
4503
|
+
/** Machine-readable repository URL (e.g., `https://github.com/user/repo.git`). */
|
|
4504
|
+
url: string$1(),
|
|
4505
|
+
/** Directory in a monorepo where the package's source code is located. */
|
|
4506
|
+
directory: optional(string$1())
|
|
4507
|
+
})]);
|
|
4508
|
+
var DevEngineDependency = object({
|
|
4509
|
+
name: string$1(),
|
|
4510
|
+
version: optional(string$1()),
|
|
4511
|
+
onFail: optional(literal([
|
|
4512
|
+
"ignore",
|
|
4513
|
+
"warn",
|
|
4514
|
+
"error"
|
|
4515
|
+
]))
|
|
4516
|
+
});
|
|
4517
|
+
var DevEngineDependencies = union([DevEngineDependency, array(DevEngineDependency)]);
|
|
4518
|
+
var DevEngines = object({
|
|
4519
|
+
cpu: optional(DevEngineDependencies),
|
|
4520
|
+
os: optional(DevEngineDependencies),
|
|
4521
|
+
libc: optional(DevEngineDependencies),
|
|
4522
|
+
runtime: optional(DevEngineDependencies),
|
|
4523
|
+
packageManager: optional(DevEngineDependencies)
|
|
4524
|
+
});
|
|
4525
|
+
var PackageJson = looseObject({
|
|
4526
|
+
/** Package name. */
|
|
4527
|
+
name: string$1(),
|
|
4528
|
+
/** Package semver version number. */
|
|
4529
|
+
version: string$1(),
|
|
4530
|
+
/** Description for the package. */
|
|
4531
|
+
description: optional(string$1()),
|
|
4532
|
+
/** List of keywords for searching the package. */
|
|
4533
|
+
keywords: optional(array(string$1())),
|
|
4534
|
+
/** URL of the package's homepage. */
|
|
4535
|
+
homepage: optional(string$1()),
|
|
4536
|
+
/** Issue tracker for the package. */
|
|
4537
|
+
bugs: optional(Bugs),
|
|
4538
|
+
/** SPDX license expression or a custom license. */
|
|
4539
|
+
license: optional(string$1()),
|
|
4540
|
+
/** Author of the package. */
|
|
4541
|
+
author: optional(Person),
|
|
4542
|
+
/** Contributors to the package. */
|
|
4543
|
+
contributors: optional(array(Person)),
|
|
4544
|
+
/** Maintainers of the package. */
|
|
4545
|
+
maintainers: optional(array(Person)),
|
|
4546
|
+
/** Funding options for the package. */
|
|
4547
|
+
funding: optional(Funding),
|
|
4548
|
+
/** File patterns for files to be included when publishing the package. */
|
|
4549
|
+
files: optional(array(string$1())),
|
|
4550
|
+
/** Package exports. @see {@link https://nodejs.org/api/packages.html#exports} */
|
|
4551
|
+
exports: optional(union([
|
|
4552
|
+
_null(),
|
|
4553
|
+
string$1(),
|
|
4554
|
+
array(string$1()),
|
|
4555
|
+
record(string$1(), unknown())
|
|
4556
|
+
])),
|
|
4557
|
+
/** Type for all the `.js` files in the package, usually `module`. */
|
|
4558
|
+
type: optional(literal(["module", "commonjs"])),
|
|
4559
|
+
/** Main entry point for the package, usually CommonJS. */
|
|
4560
|
+
main: optional(string$1()),
|
|
4561
|
+
/**
|
|
4562
|
+
Main entry point for the package when used in a browser environment.
|
|
4563
|
+
@see {@link https://docs.npmjs.com/cli/v10/configuring-npm/package-json#browser}
|
|
4564
|
+
@see {@link https://gist.github.com/defunctzombie/4339901/49493836fb873ddaa4b8a7aa0ef2352119f69211}
|
|
4565
|
+
*/
|
|
4566
|
+
browser: optional(union([string$1(), record(string$1(), union([string$1(), boolean()]))])),
|
|
4567
|
+
/** Executable files. */
|
|
4568
|
+
bin: optional(union([string$1(), record(string$1(), string$1())])),
|
|
4569
|
+
/** Documentation to be used with the `man` command. */
|
|
4570
|
+
man: optional(union([string$1(), array(string$1())])),
|
|
4571
|
+
/** Directories in the package. */
|
|
4572
|
+
directories: optional(record(string$1(), string$1())),
|
|
4573
|
+
/** Repository for the package's source code. */
|
|
4574
|
+
repository: optional(Repository),
|
|
4575
|
+
/** Scripts used in the package. */
|
|
4576
|
+
scripts: optional(record(string$1(), string$1())),
|
|
4577
|
+
/** Configuration values for scripts. */
|
|
4578
|
+
config: optional(record(string$1(), unknown())),
|
|
4579
|
+
/** Production dependencies. */
|
|
4580
|
+
dependencies: optional(record(string$1(), string$1())),
|
|
4581
|
+
/** Development dependencies. */
|
|
4582
|
+
devDependencies: optional(record(string$1(), string$1())),
|
|
4583
|
+
/** Peer dependencies. */
|
|
4584
|
+
peerDependencies: optional(record(string$1(), string$1())),
|
|
4585
|
+
/** Metadata about peer dependencies. */
|
|
4586
|
+
peerDependenciesMeta: optional(record(string$1(), object({ optional: boolean() }))),
|
|
4587
|
+
/** Dependencies bundled with the package. */
|
|
4588
|
+
bundleDependencies: optional(union([boolean(), array(string$1())])),
|
|
4589
|
+
/** Dependencies bundled with the package (equivalent to `bundleDependencies`). */
|
|
4590
|
+
bundledDependencies: optional(union([boolean(), array(string$1())])),
|
|
4591
|
+
/** Optional dependencies. */
|
|
4592
|
+
optionalDependencies: optional(record(string$1(), string$1())),
|
|
4593
|
+
/** Overrides for dependency resolution using npm. */
|
|
4594
|
+
overrides: optional(record(string$1(), unknown())),
|
|
4595
|
+
/** Runtime systems supported by the package. */
|
|
4596
|
+
engines: optional(record(string$1(), string$1())),
|
|
4597
|
+
/** Operating systems supported by the package. */
|
|
4598
|
+
os: optional(array(string$1())),
|
|
4599
|
+
/** CPU architectures supported by the package. */
|
|
4600
|
+
cpu: optional(array(string$1())),
|
|
4601
|
+
/** Version of libc required to build or run this package on Linux. */
|
|
4602
|
+
libc: optional(string$1()),
|
|
4603
|
+
/** Tooling required to develop the package. */
|
|
4604
|
+
devEngines: optional(DevEngines),
|
|
4605
|
+
/** True if the package should not be published. */
|
|
4606
|
+
private: optional(boolean()),
|
|
4607
|
+
/** Configuration values used at publishing time. */
|
|
4608
|
+
publishConfig: optional(record(string$1(), unknown())),
|
|
4609
|
+
/** File patterns for locating local workspaces. */
|
|
4610
|
+
workspaces: optional(array(string$1())),
|
|
4611
|
+
/** Deprecation message. */
|
|
4612
|
+
deprecated: optional(string$1()),
|
|
4613
|
+
/** Main ESM entry point for the package. */
|
|
4614
|
+
module: optional(string$1()),
|
|
4615
|
+
/** Main TypeScript declaration file. */
|
|
4616
|
+
types: optional(string$1()),
|
|
4617
|
+
/** Main TypeScript declaration file (equivalent to `types`). */
|
|
4618
|
+
typings: optional(string$1()),
|
|
4619
|
+
/**
|
|
4620
|
+
TypeScript types resolutions.
|
|
4621
|
+
@see {@link https://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html#version-selection-with-typesversions}
|
|
4622
|
+
*/
|
|
4623
|
+
typesVersions: optional(record(string$1(), record(string$1(), array(string$1())))),
|
|
4624
|
+
/**
|
|
4625
|
+
Corepack package manager.
|
|
4626
|
+
@see {@link https://nodejs.org/api/corepack.html}
|
|
4627
|
+
*/
|
|
4628
|
+
packageManager: optional(string$1()),
|
|
4629
|
+
/**
|
|
4630
|
+
False if importing modules from the package does not cause side effects.
|
|
4631
|
+
True or a list of file patterns if importing modules from the package causes side effects.
|
|
4632
|
+
@see {@link https://webpack.js.org/guides/tree-shaking/#mark-the-file-as-side-effect-free}
|
|
4633
|
+
*/
|
|
4634
|
+
sideEffects: optional(union([boolean(), array(string$1())])),
|
|
4635
|
+
/**
|
|
4636
|
+
Imports map.
|
|
4637
|
+
@see {@link https://nodejs.org/api/packages.html#imports}
|
|
4638
|
+
*/
|
|
4639
|
+
imports: optional(record(string$1(), unknown()))
|
|
4640
|
+
});
|
|
4641
|
+
//#endregion
|
|
4642
|
+
//#region ../../node_modules/.pnpm/quick-lru@7.3.0/node_modules/quick-lru/index.js
|
|
4643
|
+
var QuickLRU = class extends Map {
|
|
4644
|
+
#size = 0;
|
|
4645
|
+
#cache = /* @__PURE__ */ new Map();
|
|
4646
|
+
#oldCache = /* @__PURE__ */ new Map();
|
|
4647
|
+
#maxSize;
|
|
4648
|
+
#maxAge;
|
|
4649
|
+
#onEviction;
|
|
4650
|
+
constructor(options = {}) {
|
|
4651
|
+
super();
|
|
4652
|
+
if (!(options.maxSize && options.maxSize > 0)) throw new TypeError("`maxSize` must be a number greater than 0");
|
|
4653
|
+
if (typeof options.maxAge === "number" && options.maxAge === 0) throw new TypeError("`maxAge` must be a number greater than 0");
|
|
4654
|
+
this.#maxSize = options.maxSize;
|
|
4655
|
+
this.#maxAge = options.maxAge || Number.POSITIVE_INFINITY;
|
|
4656
|
+
this.#onEviction = options.onEviction;
|
|
4657
|
+
}
|
|
4658
|
+
get __oldCache() {
|
|
4659
|
+
return this.#oldCache;
|
|
4660
|
+
}
|
|
4661
|
+
#emitEvictions(cache) {
|
|
4662
|
+
if (typeof this.#onEviction !== "function") return;
|
|
4663
|
+
for (const [key, item] of cache) this.#onEviction(key, item.value);
|
|
4664
|
+
}
|
|
4665
|
+
#deleteIfExpired(key, item) {
|
|
4666
|
+
if (typeof item.expiry === "number" && item.expiry <= Date.now()) {
|
|
4667
|
+
if (typeof this.#onEviction === "function") this.#onEviction(key, item.value);
|
|
4668
|
+
return this.delete(key);
|
|
4669
|
+
}
|
|
4670
|
+
return false;
|
|
4671
|
+
}
|
|
4672
|
+
#getOrDeleteIfExpired(key, item) {
|
|
4673
|
+
if (this.#deleteIfExpired(key, item) === false) return item.value;
|
|
4674
|
+
}
|
|
4675
|
+
#getItemValue(key, item) {
|
|
4676
|
+
return item.expiry ? this.#getOrDeleteIfExpired(key, item) : item.value;
|
|
4677
|
+
}
|
|
4678
|
+
#peek(key, cache) {
|
|
4707
4679
|
const item = cache.get(key);
|
|
4708
4680
|
return this.#getItemValue(key, item);
|
|
4709
4681
|
}
|
|
@@ -4840,48 +4812,240 @@ var QuickLRU = class extends Map {
|
|
|
4840
4812
|
}
|
|
4841
4813
|
}
|
|
4842
4814
|
}
|
|
4843
|
-
*entriesAscending() {
|
|
4844
|
-
for (const [key, value] of this.#entriesAscending()) yield [key, value.value];
|
|
4845
|
-
}
|
|
4846
|
-
get size() {
|
|
4847
|
-
if (!this.#size) return this.#oldCache.size;
|
|
4848
|
-
let oldCacheSize = 0;
|
|
4849
|
-
for (const key of this.#oldCache.keys()) if (!this.#cache.has(key)) oldCacheSize++;
|
|
4850
|
-
return Math.min(this.#size + oldCacheSize, this.#maxSize);
|
|
4851
|
-
}
|
|
4852
|
-
get maxSize() {
|
|
4853
|
-
return this.#maxSize;
|
|
4854
|
-
}
|
|
4855
|
-
get maxAge() {
|
|
4856
|
-
return this.#maxAge;
|
|
4857
|
-
}
|
|
4858
|
-
entries() {
|
|
4859
|
-
return this.entriesAscending();
|
|
4860
|
-
}
|
|
4861
|
-
forEach(callbackFunction, thisArgument = this) {
|
|
4862
|
-
for (const [key, value] of this.entriesAscending()) callbackFunction.call(thisArgument, value, key, this);
|
|
4863
|
-
}
|
|
4864
|
-
get [Symbol.toStringTag]() {
|
|
4865
|
-
return "QuickLRU";
|
|
4866
|
-
}
|
|
4867
|
-
toString() {
|
|
4868
|
-
return `QuickLRU(${this.size}/${this.maxSize})`;
|
|
4869
|
-
}
|
|
4870
|
-
[Symbol.for("nodejs.util.inspect.custom")]() {
|
|
4871
|
-
return this.toString();
|
|
4872
|
-
}
|
|
4873
|
-
};
|
|
4815
|
+
*entriesAscending() {
|
|
4816
|
+
for (const [key, value] of this.#entriesAscending()) yield [key, value.value];
|
|
4817
|
+
}
|
|
4818
|
+
get size() {
|
|
4819
|
+
if (!this.#size) return this.#oldCache.size;
|
|
4820
|
+
let oldCacheSize = 0;
|
|
4821
|
+
for (const key of this.#oldCache.keys()) if (!this.#cache.has(key)) oldCacheSize++;
|
|
4822
|
+
return Math.min(this.#size + oldCacheSize, this.#maxSize);
|
|
4823
|
+
}
|
|
4824
|
+
get maxSize() {
|
|
4825
|
+
return this.#maxSize;
|
|
4826
|
+
}
|
|
4827
|
+
get maxAge() {
|
|
4828
|
+
return this.#maxAge;
|
|
4829
|
+
}
|
|
4830
|
+
entries() {
|
|
4831
|
+
return this.entriesAscending();
|
|
4832
|
+
}
|
|
4833
|
+
forEach(callbackFunction, thisArgument = this) {
|
|
4834
|
+
for (const [key, value] of this.entriesAscending()) callbackFunction.call(thisArgument, value, key, this);
|
|
4835
|
+
}
|
|
4836
|
+
get [Symbol.toStringTag]() {
|
|
4837
|
+
return "QuickLRU";
|
|
4838
|
+
}
|
|
4839
|
+
toString() {
|
|
4840
|
+
return `QuickLRU(${this.size}/${this.maxSize})`;
|
|
4841
|
+
}
|
|
4842
|
+
[Symbol.for("nodejs.util.inspect.custom")]() {
|
|
4843
|
+
return this.toString();
|
|
4844
|
+
}
|
|
4845
|
+
};
|
|
4846
|
+
//#endregion
|
|
4847
|
+
//#region ../../node_modules/.pnpm/query-registry@4.3.0_zod@4.4.3/node_modules/query-registry/dist/cache.js
|
|
4848
|
+
/**
|
|
4849
|
+
Internal cache for all requests.
|
|
4850
|
+
@see {@link https://github.com/sindresorhus/quick-lru}
|
|
4851
|
+
@internal
|
|
4852
|
+
*/
|
|
4853
|
+
var cache = new QuickLRU({
|
|
4854
|
+
maxSize: 100,
|
|
4855
|
+
maxAge: 300 * 1e3
|
|
4856
|
+
});
|
|
4857
|
+
//#endregion
|
|
4858
|
+
//#region ../../node_modules/.pnpm/url-join@5.0.0/node_modules/url-join/lib/url-join.js
|
|
4859
|
+
function normalize(strArray) {
|
|
4860
|
+
var resultArray = [];
|
|
4861
|
+
if (strArray.length === 0) return "";
|
|
4862
|
+
if (typeof strArray[0] !== "string") throw new TypeError("Url must be a string. Received " + strArray[0]);
|
|
4863
|
+
if (strArray[0].match(/^[^/:]+:\/*$/) && strArray.length > 1) strArray[0] = strArray.shift() + strArray[0];
|
|
4864
|
+
if (strArray[0].match(/^file:\/\/\//)) strArray[0] = strArray[0].replace(/^([^/:]+):\/*/, "$1:///");
|
|
4865
|
+
else strArray[0] = strArray[0].replace(/^([^/:]+):\/*/, "$1://");
|
|
4866
|
+
for (var i = 0; i < strArray.length; i++) {
|
|
4867
|
+
var component = strArray[i];
|
|
4868
|
+
if (typeof component !== "string") throw new TypeError("Url must be a string. Received " + component);
|
|
4869
|
+
if (component === "") continue;
|
|
4870
|
+
if (i > 0) component = component.replace(/^[\/]+/, "");
|
|
4871
|
+
if (i < strArray.length - 1) component = component.replace(/[\/]+$/, "");
|
|
4872
|
+
else component = component.replace(/[\/]+$/, "/");
|
|
4873
|
+
resultArray.push(component);
|
|
4874
|
+
}
|
|
4875
|
+
var str = resultArray.join("/");
|
|
4876
|
+
str = str.replace(/\/(\?|&|#[^!])/g, "$1");
|
|
4877
|
+
var parts = str.split("?");
|
|
4878
|
+
str = parts.shift() + (parts.length > 0 ? "?" : "") + parts.join("&");
|
|
4879
|
+
return str;
|
|
4880
|
+
}
|
|
4881
|
+
function urlJoin() {
|
|
4882
|
+
var input;
|
|
4883
|
+
if (typeof arguments[0] === "object") input = arguments[0];
|
|
4884
|
+
else input = [].slice.call(arguments);
|
|
4885
|
+
return normalize(input);
|
|
4886
|
+
}
|
|
4887
|
+
//#endregion
|
|
4888
|
+
//#region ../../node_modules/.pnpm/validate-npm-package-name@7.0.2/node_modules/validate-npm-package-name/lib/builtin-modules.json
|
|
4889
|
+
var builtin_modules_exports = /* @__PURE__ */ __exportAll({ default: () => builtin_modules_default });
|
|
4890
|
+
var builtin_modules_default;
|
|
4891
|
+
var init_builtin_modules = __esmMin((() => {
|
|
4892
|
+
builtin_modules_default = [
|
|
4893
|
+
"_http_agent",
|
|
4894
|
+
"_http_client",
|
|
4895
|
+
"_http_common",
|
|
4896
|
+
"_http_incoming",
|
|
4897
|
+
"_http_outgoing",
|
|
4898
|
+
"_http_server",
|
|
4899
|
+
"_stream_duplex",
|
|
4900
|
+
"_stream_passthrough",
|
|
4901
|
+
"_stream_readable",
|
|
4902
|
+
"_stream_transform",
|
|
4903
|
+
"_stream_wrap",
|
|
4904
|
+
"_stream_writable",
|
|
4905
|
+
"_tls_common",
|
|
4906
|
+
"_tls_wrap",
|
|
4907
|
+
"assert",
|
|
4908
|
+
"assert/strict",
|
|
4909
|
+
"async_hooks",
|
|
4910
|
+
"buffer",
|
|
4911
|
+
"child_process",
|
|
4912
|
+
"cluster",
|
|
4913
|
+
"console",
|
|
4914
|
+
"constants",
|
|
4915
|
+
"crypto",
|
|
4916
|
+
"dgram",
|
|
4917
|
+
"diagnostics_channel",
|
|
4918
|
+
"dns",
|
|
4919
|
+
"dns/promises",
|
|
4920
|
+
"domain",
|
|
4921
|
+
"events",
|
|
4922
|
+
"fs",
|
|
4923
|
+
"fs/promises",
|
|
4924
|
+
"http",
|
|
4925
|
+
"http2",
|
|
4926
|
+
"https",
|
|
4927
|
+
"inspector",
|
|
4928
|
+
"inspector/promises",
|
|
4929
|
+
"module",
|
|
4930
|
+
"net",
|
|
4931
|
+
"os",
|
|
4932
|
+
"path",
|
|
4933
|
+
"path/posix",
|
|
4934
|
+
"path/win32",
|
|
4935
|
+
"perf_hooks",
|
|
4936
|
+
"process",
|
|
4937
|
+
"punycode",
|
|
4938
|
+
"querystring",
|
|
4939
|
+
"readline",
|
|
4940
|
+
"readline/promises",
|
|
4941
|
+
"repl",
|
|
4942
|
+
"stream",
|
|
4943
|
+
"stream/consumers",
|
|
4944
|
+
"stream/promises",
|
|
4945
|
+
"stream/web",
|
|
4946
|
+
"string_decoder",
|
|
4947
|
+
"sys",
|
|
4948
|
+
"timers",
|
|
4949
|
+
"timers/promises",
|
|
4950
|
+
"tls",
|
|
4951
|
+
"trace_events",
|
|
4952
|
+
"tty",
|
|
4953
|
+
"url",
|
|
4954
|
+
"util",
|
|
4955
|
+
"util/types",
|
|
4956
|
+
"v8",
|
|
4957
|
+
"vm",
|
|
4958
|
+
"wasi",
|
|
4959
|
+
"worker_threads",
|
|
4960
|
+
"zlib",
|
|
4961
|
+
"node:sea",
|
|
4962
|
+
"node:sqlite",
|
|
4963
|
+
"node:test",
|
|
4964
|
+
"node:test/reporters"
|
|
4965
|
+
];
|
|
4966
|
+
}));
|
|
4967
|
+
//#endregion
|
|
4968
|
+
//#region ../../node_modules/.pnpm/query-registry@4.3.0_zod@4.4.3/node_modules/query-registry/dist/assert-valid-package-name.js
|
|
4969
|
+
var import_lib = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
4970
|
+
var builtins = (init_builtin_modules(), __toCommonJS(builtin_modules_exports).default);
|
|
4971
|
+
var scopedPackagePattern = /* @__PURE__ */ new RegExp("^(?:@([^/]+?)[/])?([^/]+?)$");
|
|
4972
|
+
var exclusionList = ["node_modules", "favicon.ico"];
|
|
4973
|
+
function validate(name) {
|
|
4974
|
+
var warnings = [];
|
|
4975
|
+
var errors = [];
|
|
4976
|
+
if (name === null) {
|
|
4977
|
+
errors.push("name cannot be null");
|
|
4978
|
+
return done(warnings, errors);
|
|
4979
|
+
}
|
|
4980
|
+
if (name === void 0) {
|
|
4981
|
+
errors.push("name cannot be undefined");
|
|
4982
|
+
return done(warnings, errors);
|
|
4983
|
+
}
|
|
4984
|
+
if (typeof name !== "string") {
|
|
4985
|
+
errors.push("name must be a string");
|
|
4986
|
+
return done(warnings, errors);
|
|
4987
|
+
}
|
|
4988
|
+
if (!name.length) errors.push("name length must be greater than zero");
|
|
4989
|
+
if (name.startsWith(".")) errors.push("name cannot start with a period");
|
|
4990
|
+
if (name.startsWith("-")) errors.push("name cannot start with a hyphen");
|
|
4991
|
+
if (name.match(/^_/)) errors.push("name cannot start with an underscore");
|
|
4992
|
+
if (name.trim() !== name) errors.push("name cannot contain leading or trailing spaces");
|
|
4993
|
+
exclusionList.forEach(function(excludedName) {
|
|
4994
|
+
if (name.toLowerCase() === excludedName) errors.push(excludedName + " is not a valid package name");
|
|
4995
|
+
});
|
|
4996
|
+
if (builtins.includes(name.toLowerCase())) warnings.push(name + " is a core module name");
|
|
4997
|
+
if (name.length > 214) warnings.push("name can no longer contain more than 214 characters");
|
|
4998
|
+
if (name.toLowerCase() !== name) warnings.push("name can no longer contain capital letters");
|
|
4999
|
+
if (/[~'!()*]/.test(name.split("/").slice(-1)[0])) warnings.push("name can no longer contain special characters (\"~'!()*\")");
|
|
5000
|
+
if (encodeURIComponent(name) !== name) {
|
|
5001
|
+
var nameMatch = name.match(scopedPackagePattern);
|
|
5002
|
+
if (nameMatch) {
|
|
5003
|
+
var user = nameMatch[1];
|
|
5004
|
+
var pkg = nameMatch[2];
|
|
5005
|
+
if (pkg.startsWith(".")) errors.push("name cannot start with a period");
|
|
5006
|
+
if (encodeURIComponent(user) === user && encodeURIComponent(pkg) === pkg) return done(warnings, errors);
|
|
5007
|
+
}
|
|
5008
|
+
errors.push("name can only contain URL-friendly characters");
|
|
5009
|
+
}
|
|
5010
|
+
return done(warnings, errors);
|
|
5011
|
+
}
|
|
5012
|
+
var done = function(warnings, errors) {
|
|
5013
|
+
var result = {
|
|
5014
|
+
validForNewPackages: errors.length === 0 && warnings.length === 0,
|
|
5015
|
+
validForOldPackages: errors.length === 0,
|
|
5016
|
+
warnings,
|
|
5017
|
+
errors
|
|
5018
|
+
};
|
|
5019
|
+
if (!result.warnings.length) delete result.warnings;
|
|
5020
|
+
if (!result.errors.length) delete result.errors;
|
|
5021
|
+
return result;
|
|
5022
|
+
};
|
|
5023
|
+
module.exports = validate;
|
|
5024
|
+
})))(), 1);
|
|
5025
|
+
function assertValidPackageName(name) {
|
|
5026
|
+
const { validForOldPackages, validForNewPackages, warnings, errors } = (0, import_lib.default)(name);
|
|
5027
|
+
if (!(validForOldPackages || validForNewPackages)) throw new Error("invalid package name", { cause: {
|
|
5028
|
+
name,
|
|
5029
|
+
warnings,
|
|
5030
|
+
errors
|
|
5031
|
+
} });
|
|
5032
|
+
}
|
|
4874
5033
|
//#endregion
|
|
4875
|
-
//#region ../../node_modules/.pnpm/query-registry@4.3.0_zod@4.4.3/node_modules/query-registry/dist/
|
|
5034
|
+
//#region ../../node_modules/.pnpm/query-registry@4.3.0_zod@4.4.3/node_modules/query-registry/dist/dist-tags.js
|
|
4876
5035
|
/**
|
|
4877
|
-
|
|
4878
|
-
|
|
4879
|
-
@internal
|
|
5036
|
+
`DistTags` describes the mapping of distribution tags to semver version numbers
|
|
5037
|
+
(e.g., `{ "latest": "1.0.0" }`).
|
|
4880
5038
|
*/
|
|
4881
|
-
var
|
|
4882
|
-
|
|
4883
|
-
|
|
4884
|
-
|
|
5039
|
+
var DistTags = object({
|
|
5040
|
+
/** Latest semver version number. */
|
|
5041
|
+
latest: string$1(),
|
|
5042
|
+
next: string$1().optional(),
|
|
5043
|
+
alpha: string$1().optional(),
|
|
5044
|
+
beta: string$1().optional(),
|
|
5045
|
+
rc: string$1().optional(),
|
|
5046
|
+
canary: string$1().optional(),
|
|
5047
|
+
dev: string$1().optional()
|
|
5048
|
+
}).catchall(string$1());
|
|
4885
5049
|
//#endregion
|
|
4886
5050
|
//#region ../../node_modules/.pnpm/query-registry@4.3.0_zod@4.4.3/node_modules/query-registry/dist/fetch-data.js
|
|
4887
5051
|
async function fetchData(schema, url, headers) {
|
|
@@ -4896,169 +5060,6 @@ async function fetchData(schema, url, headers) {
|
|
|
4896
5060
|
return schema.parse(json);
|
|
4897
5061
|
}
|
|
4898
5062
|
//#endregion
|
|
4899
|
-
//#region ../../node_modules/.pnpm/zod-package-json@2.1.0_zod@4.4.3/node_modules/zod-package-json/dist/package-json.js
|
|
4900
|
-
var Bugs = union([string$1(), object({
|
|
4901
|
-
url: optional(string$1()),
|
|
4902
|
-
email: optional(string$1())
|
|
4903
|
-
})]);
|
|
4904
|
-
var Funding = union([
|
|
4905
|
-
string$1(),
|
|
4906
|
-
object({
|
|
4907
|
-
url: string$1(),
|
|
4908
|
-
type: optional(string$1())
|
|
4909
|
-
}),
|
|
4910
|
-
array(union([string$1(), object({
|
|
4911
|
-
url: string$1(),
|
|
4912
|
-
type: optional(string$1())
|
|
4913
|
-
})]))
|
|
4914
|
-
]);
|
|
4915
|
-
var Person = union([string$1(), object({
|
|
4916
|
-
name: string$1(),
|
|
4917
|
-
email: optional(string$1()),
|
|
4918
|
-
url: optional(string$1())
|
|
4919
|
-
})]);
|
|
4920
|
-
var Repository = union([string$1(), object({
|
|
4921
|
-
/** Repository type (e.g., `git`). */
|
|
4922
|
-
type: string$1(),
|
|
4923
|
-
/** Machine-readable repository URL (e.g., `https://github.com/user/repo.git`). */
|
|
4924
|
-
url: string$1(),
|
|
4925
|
-
/** Directory in a monorepo where the package's source code is located. */
|
|
4926
|
-
directory: optional(string$1())
|
|
4927
|
-
})]);
|
|
4928
|
-
var DevEngineDependency = object({
|
|
4929
|
-
name: string$1(),
|
|
4930
|
-
version: optional(string$1()),
|
|
4931
|
-
onFail: optional(literal([
|
|
4932
|
-
"ignore",
|
|
4933
|
-
"warn",
|
|
4934
|
-
"error"
|
|
4935
|
-
]))
|
|
4936
|
-
});
|
|
4937
|
-
var DevEngineDependencies = union([DevEngineDependency, array(DevEngineDependency)]);
|
|
4938
|
-
var DevEngines = object({
|
|
4939
|
-
cpu: optional(DevEngineDependencies),
|
|
4940
|
-
os: optional(DevEngineDependencies),
|
|
4941
|
-
libc: optional(DevEngineDependencies),
|
|
4942
|
-
runtime: optional(DevEngineDependencies),
|
|
4943
|
-
packageManager: optional(DevEngineDependencies)
|
|
4944
|
-
});
|
|
4945
|
-
var PackageJson = looseObject({
|
|
4946
|
-
/** Package name. */
|
|
4947
|
-
name: string$1(),
|
|
4948
|
-
/** Package semver version number. */
|
|
4949
|
-
version: string$1(),
|
|
4950
|
-
/** Description for the package. */
|
|
4951
|
-
description: optional(string$1()),
|
|
4952
|
-
/** List of keywords for searching the package. */
|
|
4953
|
-
keywords: optional(array(string$1())),
|
|
4954
|
-
/** URL of the package's homepage. */
|
|
4955
|
-
homepage: optional(string$1()),
|
|
4956
|
-
/** Issue tracker for the package. */
|
|
4957
|
-
bugs: optional(Bugs),
|
|
4958
|
-
/** SPDX license expression or a custom license. */
|
|
4959
|
-
license: optional(string$1()),
|
|
4960
|
-
/** Author of the package. */
|
|
4961
|
-
author: optional(Person),
|
|
4962
|
-
/** Contributors to the package. */
|
|
4963
|
-
contributors: optional(array(Person)),
|
|
4964
|
-
/** Maintainers of the package. */
|
|
4965
|
-
maintainers: optional(array(Person)),
|
|
4966
|
-
/** Funding options for the package. */
|
|
4967
|
-
funding: optional(Funding),
|
|
4968
|
-
/** File patterns for files to be included when publishing the package. */
|
|
4969
|
-
files: optional(array(string$1())),
|
|
4970
|
-
/** Package exports. @see {@link https://nodejs.org/api/packages.html#exports} */
|
|
4971
|
-
exports: optional(union([
|
|
4972
|
-
_null(),
|
|
4973
|
-
string$1(),
|
|
4974
|
-
array(string$1()),
|
|
4975
|
-
record(string$1(), unknown())
|
|
4976
|
-
])),
|
|
4977
|
-
/** Type for all the `.js` files in the package, usually `module`. */
|
|
4978
|
-
type: optional(literal(["module", "commonjs"])),
|
|
4979
|
-
/** Main entry point for the package, usually CommonJS. */
|
|
4980
|
-
main: optional(string$1()),
|
|
4981
|
-
/**
|
|
4982
|
-
Main entry point for the package when used in a browser environment.
|
|
4983
|
-
@see {@link https://docs.npmjs.com/cli/v10/configuring-npm/package-json#browser}
|
|
4984
|
-
@see {@link https://gist.github.com/defunctzombie/4339901/49493836fb873ddaa4b8a7aa0ef2352119f69211}
|
|
4985
|
-
*/
|
|
4986
|
-
browser: optional(union([string$1(), record(string$1(), union([string$1(), boolean()]))])),
|
|
4987
|
-
/** Executable files. */
|
|
4988
|
-
bin: optional(union([string$1(), record(string$1(), string$1())])),
|
|
4989
|
-
/** Documentation to be used with the `man` command. */
|
|
4990
|
-
man: optional(union([string$1(), array(string$1())])),
|
|
4991
|
-
/** Directories in the package. */
|
|
4992
|
-
directories: optional(record(string$1(), string$1())),
|
|
4993
|
-
/** Repository for the package's source code. */
|
|
4994
|
-
repository: optional(Repository),
|
|
4995
|
-
/** Scripts used in the package. */
|
|
4996
|
-
scripts: optional(record(string$1(), string$1())),
|
|
4997
|
-
/** Configuration values for scripts. */
|
|
4998
|
-
config: optional(record(string$1(), unknown())),
|
|
4999
|
-
/** Production dependencies. */
|
|
5000
|
-
dependencies: optional(record(string$1(), string$1())),
|
|
5001
|
-
/** Development dependencies. */
|
|
5002
|
-
devDependencies: optional(record(string$1(), string$1())),
|
|
5003
|
-
/** Peer dependencies. */
|
|
5004
|
-
peerDependencies: optional(record(string$1(), string$1())),
|
|
5005
|
-
/** Metadata about peer dependencies. */
|
|
5006
|
-
peerDependenciesMeta: optional(record(string$1(), object({ optional: boolean() }))),
|
|
5007
|
-
/** Dependencies bundled with the package. */
|
|
5008
|
-
bundleDependencies: optional(union([boolean(), array(string$1())])),
|
|
5009
|
-
/** Dependencies bundled with the package (equivalent to `bundleDependencies`). */
|
|
5010
|
-
bundledDependencies: optional(union([boolean(), array(string$1())])),
|
|
5011
|
-
/** Optional dependencies. */
|
|
5012
|
-
optionalDependencies: optional(record(string$1(), string$1())),
|
|
5013
|
-
/** Overrides for dependency resolution using npm. */
|
|
5014
|
-
overrides: optional(record(string$1(), unknown())),
|
|
5015
|
-
/** Runtime systems supported by the package. */
|
|
5016
|
-
engines: optional(record(string$1(), string$1())),
|
|
5017
|
-
/** Operating systems supported by the package. */
|
|
5018
|
-
os: optional(array(string$1())),
|
|
5019
|
-
/** CPU architectures supported by the package. */
|
|
5020
|
-
cpu: optional(array(string$1())),
|
|
5021
|
-
/** Version of libc required to build or run this package on Linux. */
|
|
5022
|
-
libc: optional(string$1()),
|
|
5023
|
-
/** Tooling required to develop the package. */
|
|
5024
|
-
devEngines: optional(DevEngines),
|
|
5025
|
-
/** True if the package should not be published. */
|
|
5026
|
-
private: optional(boolean()),
|
|
5027
|
-
/** Configuration values used at publishing time. */
|
|
5028
|
-
publishConfig: optional(record(string$1(), unknown())),
|
|
5029
|
-
/** File patterns for locating local workspaces. */
|
|
5030
|
-
workspaces: optional(array(string$1())),
|
|
5031
|
-
/** Deprecation message. */
|
|
5032
|
-
deprecated: optional(string$1()),
|
|
5033
|
-
/** Main ESM entry point for the package. */
|
|
5034
|
-
module: optional(string$1()),
|
|
5035
|
-
/** Main TypeScript declaration file. */
|
|
5036
|
-
types: optional(string$1()),
|
|
5037
|
-
/** Main TypeScript declaration file (equivalent to `types`). */
|
|
5038
|
-
typings: optional(string$1()),
|
|
5039
|
-
/**
|
|
5040
|
-
TypeScript types resolutions.
|
|
5041
|
-
@see {@link https://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html#version-selection-with-typesversions}
|
|
5042
|
-
*/
|
|
5043
|
-
typesVersions: optional(record(string$1(), record(string$1(), array(string$1())))),
|
|
5044
|
-
/**
|
|
5045
|
-
Corepack package manager.
|
|
5046
|
-
@see {@link https://nodejs.org/api/corepack.html}
|
|
5047
|
-
*/
|
|
5048
|
-
packageManager: optional(string$1()),
|
|
5049
|
-
/**
|
|
5050
|
-
False if importing modules from the package does not cause side effects.
|
|
5051
|
-
True or a list of file patterns if importing modules from the package causes side effects.
|
|
5052
|
-
@see {@link https://webpack.js.org/guides/tree-shaking/#mark-the-file-as-side-effect-free}
|
|
5053
|
-
*/
|
|
5054
|
-
sideEffects: optional(union([boolean(), array(string$1())])),
|
|
5055
|
-
/**
|
|
5056
|
-
Imports map.
|
|
5057
|
-
@see {@link https://nodejs.org/api/packages.html#imports}
|
|
5058
|
-
*/
|
|
5059
|
-
imports: optional(record(string$1(), unknown()))
|
|
5060
|
-
});
|
|
5061
|
-
//#endregion
|
|
5062
5063
|
//#region ../../node_modules/.pnpm/query-registry@4.3.0_zod@4.4.3/node_modules/query-registry/dist/npm-registry.js
|
|
5063
5064
|
/** Base URL for the {@link https://registry.npmjs.org | npm registry API}. */
|
|
5064
5065
|
var npmRegistryUrl = "https://registry.npmjs.org";
|
|
@@ -7610,19 +7611,19 @@ ${exposed.description}`).join("\n\n");
|
|
|
7610
7611
|
|
|
7611
7612
|
## Props
|
|
7612
7613
|
|
|
7613
|
-
${propsText}
|
|
7614
|
+
${propsText || "_No Props_"}
|
|
7614
7615
|
|
|
7615
7616
|
## Slots
|
|
7616
7617
|
|
|
7617
|
-
${slotsText}
|
|
7618
|
+
${slotsText || "_No Slots_"}
|
|
7618
7619
|
|
|
7619
7620
|
## Events
|
|
7620
7621
|
|
|
7621
|
-
${eventsText}
|
|
7622
|
+
${eventsText || "_No Events_"}
|
|
7622
7623
|
|
|
7623
7624
|
## Exposed
|
|
7624
7625
|
|
|
7625
|
-
${exposedText}
|
|
7626
|
+
${exposedText || "_No Exposed API_"}
|
|
7626
7627
|
`;
|
|
7627
7628
|
return { contents: [{
|
|
7628
7629
|
uri: uri.href,
|
|
@@ -7632,23 +7633,66 @@ ${exposedText}
|
|
|
7632
7633
|
}
|
|
7633
7634
|
];
|
|
7634
7635
|
//#endregion
|
|
7635
|
-
//#region src/util/
|
|
7636
|
+
//#region src/util/semver.ts
|
|
7637
|
+
/**
|
|
7638
|
+
* Compares two semver version strings.
|
|
7639
|
+
* Precedence is considered based on https://semver.org.
|
|
7640
|
+
*/
|
|
7636
7641
|
var versionCompare = (a, b) => {
|
|
7637
|
-
const
|
|
7638
|
-
const
|
|
7639
|
-
const
|
|
7640
|
-
const
|
|
7641
|
-
const
|
|
7642
|
-
|
|
7642
|
+
const aParsed = parseSemver(a);
|
|
7643
|
+
const bParsed = parseSemver(b);
|
|
7644
|
+
const diffMajor = aParsed.major - bParsed.major;
|
|
7645
|
+
const diffMinor = aParsed.minor - bParsed.minor;
|
|
7646
|
+
const diffPatch = aParsed.patch - bParsed.patch;
|
|
7647
|
+
const result = Math.sign(diffMajor || diffMinor || diffPatch);
|
|
7648
|
+
if (result !== 0) return result;
|
|
7649
|
+
if (aParsed.preRelease === bParsed.preRelease) return 0;
|
|
7650
|
+
if (aParsed.preRelease && !bParsed.preRelease) return -1;
|
|
7651
|
+
if (!aParsed.preRelease && bParsed.preRelease) return 1;
|
|
7652
|
+
if (aParsed.preRelease && bParsed.preRelease) return preReleaseCompare(aParsed.preRelease, bParsed.preRelease);
|
|
7653
|
+
return 0;
|
|
7654
|
+
};
|
|
7655
|
+
/**
|
|
7656
|
+
* Prerelease strings have special rules for version comparisons
|
|
7657
|
+
*/
|
|
7658
|
+
var preReleaseCompare = (a, b) => {
|
|
7659
|
+
const aIdentifier = a.split(".");
|
|
7660
|
+
const bIdentifier = b.split(".");
|
|
7661
|
+
const maxLength = Math.max(aIdentifier.length, bIdentifier.length);
|
|
7662
|
+
for (let i = 0; i < maxLength; i++) {
|
|
7663
|
+
const aI = aIdentifier.at(i);
|
|
7664
|
+
const bI = bIdentifier.at(i);
|
|
7665
|
+
if (aI === bI) continue;
|
|
7666
|
+
if (aI === void 0 || bI === void 0) return aI === void 0 ? -1 : 1;
|
|
7667
|
+
const aNum = /^\d+$/.test(aI) ? Number(aI) : void 0;
|
|
7668
|
+
const bNum = /^\d+$/.test(bI) ? Number(bI) : void 0;
|
|
7669
|
+
if (aNum === void 0 && bNum === void 0) return aI.localeCompare(bI);
|
|
7670
|
+
if (aNum === void 0 || bNum === void 0) return aNum === void 0 ? 1 : -1;
|
|
7671
|
+
if (aNum !== bNum) return aNum - bNum;
|
|
7672
|
+
}
|
|
7673
|
+
return 0;
|
|
7674
|
+
};
|
|
7675
|
+
var parseSemver = (semver) => {
|
|
7676
|
+
const [rest, ...buildMetadata] = semver.split("+");
|
|
7677
|
+
const [versions, ...preRelease] = rest.split("-");
|
|
7678
|
+
const [major, minor, patch] = versions.split(".");
|
|
7679
|
+
return {
|
|
7680
|
+
major: Number.parseInt(major),
|
|
7681
|
+
minor: Number.parseInt(minor),
|
|
7682
|
+
patch: Number.parseInt(patch),
|
|
7683
|
+
buildMetadata: buildMetadata.join("+"),
|
|
7684
|
+
preRelease: preRelease.join("-")
|
|
7685
|
+
};
|
|
7643
7686
|
};
|
|
7687
|
+
var isPreRelease = (version) => parseSemver(version).preRelease !== "";
|
|
7644
7688
|
//#endregion
|
|
7645
7689
|
//#region src/resources/list-components.ts
|
|
7646
7690
|
var listComponents = [
|
|
7647
7691
|
"list-components",
|
|
7648
7692
|
new ResourceTemplate("sit-onyx://components/{version}", { list: async () => {
|
|
7649
7693
|
const { versions } = await getAbbreviatedPackument("sit-onyx", REGISTRY_URL);
|
|
7650
|
-
return { resources: Object.keys(versions).filter((version) => versionCompare(
|
|
7651
|
-
uri: `
|
|
7694
|
+
return { resources: Object.keys(versions).filter((version) => !isPreRelease(version) && versionCompare("1.12.0", version) < 0).map((version) => ({
|
|
7695
|
+
uri: `sit-onyx://components/${version}`,
|
|
7652
7696
|
name: `components for sit-onyx@${version}`
|
|
7653
7697
|
})) };
|
|
7654
7698
|
} }),
|
|
@@ -8491,7 +8535,7 @@ Options:
|
|
|
8491
8535
|
The "http" transport considers PORT and HOST environment variables, when starting the server.
|
|
8492
8536
|
-r, --resourcesAsTools Some LLM Coding Assistants (e.g. Gemini) are not able to to use MCP resources (yet).
|
|
8493
8537
|
This setting makes resources also available as tools to support these Coding Assistants.
|
|
8494
|
-
-w, --
|
|
8538
|
+
-w, --writeSkills <directory> Write skill resources to SKILL.md files in the specified directory.
|
|
8495
8539
|
-h, --help Show this help text and quit.
|
|
8496
8540
|
-v, --version Show version number and quit.`);
|
|
8497
8541
|
process.exit(0);
|