diff --git a/.changeset/migrate-to-structurer.md b/.changeset/migrate-to-structurer.md new file mode 100644 index 0000000..fc4b261 --- /dev/null +++ b/.changeset/migrate-to-structurer.md @@ -0,0 +1,34 @@ +--- +"@platforma-open/milaboratories.graph-maker": minor +"@platforma-open/milaboratories.graph-maker.model": minor +"@platforma-open/milaboratories.graph-maker.ui": minor +"@platforma-open/milaboratories.graph-maker.workflow": patch +--- + +Migrate to the block-tools structurer and to BlockModelV3. + +- Adopt the tool-managed layout (oxlint/oxfmt, managed tsconfig/turbo/catalog) and + complete the SDK upgrade (model/ui-vue 1.83, workflow-tengo 6, tengo-builder 4, + block-tools 2.15). +- Upgrade @milaboratories/graph-maker to 1.8.0. +- Migrate the model from the legacy V1 API to BlockModelV3. The multi-graph page + list is unified UI-only state carried over by a one-time legacy upgrader; args + project to an empty object. The graph-maker plugin is intentionally not adopted + (the multi-graph plugin is not yet available). +- UI bindings move from app.model.ui to app.model.data; the app uses defineAppV3. +- Adopt structure v2: the block package becomes a slim facade (block/src/index.ts, + from-pack-v2 pointer) and the block declares its mandatory kind. +- Declare the block kind's init-params contract: a project template seeds graph + pages by id, label, chart type, layer template and data mapping. Source ids + travel taken apart rather than as canonical strings, so the SDK can repoint the + references inside column ids at the new project's blocks; init rebuilds them + canonically. The rest of GraphMakerState is per-view bookkeeping and does not + travel, and neither does per-view bookkeeping — the open tab, the zoom, the lasso, + or `usedDefaultOptions`, which would stop the new project's defaults being applied. + The reader's chart settings (axes, layers, statistics) travel whole rather + than as a difference from the chart type's defaults: those defaults come from a + graph-maker module a block model cannot bundle, so a seeded page keeps the defaults + of the day it was exported. Colour mappings travel as a list keyed by the source + taken apart, not by the id string graph-maker keys them with, so the column or axis + each colour was chosen for is repointed at the new project rather than naming a block + that is not there. diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 9eb4983..d863d78 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -11,7 +11,7 @@ on: workflow_dispatch: {} jobs: init: - runs-on: ubuntu-latest + runs-on: hz-ubuntu-dind steps: - uses: milaboratory/github-ci/actions/context/init@v4 with: @@ -22,12 +22,15 @@ jobs: - init uses: milaboratory/github-ci/.github/workflows/node-simple-pnpm.yaml@v4 with: - app-name: 'Block: Graph Builder' - app-name-slug: 'block-graph-builder' - node-version: '20.x' - build-script-name: 'build' + app-name: 'Block: Graph Maker' + app-name-slug: 'block-graph-maker' + node-version: '22.x' + gha-runner-label: hz-ubuntu-dind + build-script-name: 'build:dev-local' + build-before-publish-script-name: 'build:release' pnpm-recursive-build: false - test: false + + test: true test-script-name: 'test' pnpm-recursive-tests: false team-id: 'ciplopen' @@ -36,6 +39,11 @@ jobs: package-path: 'block' create-tag: 'true' + # Require the published `block` package to be bumped by a changeset on + # PRs (empty changeset or the `skip-changelog` label waives it). Needs + # the input to exist on the pinned `@v4` reusable workflow. + require-package-path-bump: true + npmrc-config: | { "registries": { @@ -54,13 +62,22 @@ jobs: "PL_CI_TEST_PASSWORD": ${{ toJSON(secrets.PL_CI_TEST_PASSWORD) }}, "AWS_CI_IAM_MONOREPO_SIMPLE_ROLE": ${{ toJSON(secrets.AWS_CI_IAM_MONOREPO_SIMPLE_ROLE) }}, - "AWS_CI_TURBOREPO_S3_BUCKET": ${{ toJSON(secrets.AWS_CI_TURBOREPO_US_S3_BUCKET) }}, - + "AWS_CI_TURBOREPO_S3_BUCKET": ${{ toJSON(secrets.AWS_CI_TURBOREPO_S3_BUCKET) }}, + + "HZ_CI_TURBO_S3_BUCKET": ${{ toJSON(vars.HZ_CI_TURBO_S3_BUCKET) }}, + "HZ_CI_TURBO_S3_ENDPOINT": ${{ toJSON(vars.HZ_CI_TURBO_S3_ENDPOINT) }}, + "HZ_CI_TURBO_S3_REGION": ${{ toJSON(vars.HZ_CI_TURBO_S3_REGION) }}, + "HZ_CI_TURBO_S3_ACCESS_KEY": ${{ toJSON(secrets.HZ_CI_TURBO_S3_ACCESS_KEY) }}, + "HZ_CI_TURBO_S3_SECRET_KEY": ${{ toJSON(secrets.HZ_CI_TURBO_S3_SECRET_KEY) }}, + "HZ_CI_CACHE_S3_ACCESS_KEY": ${{ toJSON(secrets.HZ_CI_CACHE_S3_ACCESS_KEY) }}, + "HZ_CI_CACHE_S3_SECRET_KEY": ${{ toJSON(secrets.HZ_CI_CACHE_S3_SECRET_KEY) }}, + + "PL_REGISTRY_PLATFORMA_OPEN_UPLOAD_URL": ${{ toJSON(secrets.PL_REGISTRY_PLOPEN_UPLOAD_URL) }}, "QUAY_USERNAME": ${{ toJSON(secrets.QUAY_USERNAME) }}, "QUAY_ROBOT_TOKEN": ${{ toJSON(secrets.QUAY_ROBOT_TOKEN) }} } - SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} SLACK_CHANNEL: ${{ secrets.SLACK_BLOCKS_CI_CHANNEL }} + SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} GH_ZEN_APP_ID: ${{ secrets.GH_ZEN_APP_ID }} GH_ZEN_APP_PRIVATE_KEY: ${{ secrets.GH_ZEN_APP_PRIVATE_KEY }} diff --git a/.github/workflows/mark-stable.yaml b/.github/workflows/mark-stable.yaml index 94bd67d..6e54df8 100644 --- a/.github/workflows/mark-stable.yaml +++ b/.github/workflows/mark-stable.yaml @@ -14,8 +14,8 @@ jobs: - init uses: milaboratory/github-ci/.github/workflows/block-mark-stable.yaml@v4 with: - app-name: 'Block: Graph Builder - Mark Stable' - node-version: '20.x' + app-name: 'Block: Graph Maker - Mark Stable' + node-version: '22.x' npmrc-config: | { "registries": { @@ -30,5 +30,5 @@ jobs: { "NPMJS_TOKEN": ${{ toJSON(secrets.NPMJS_TOKEN) }}, "AWS_CI_IAM_MONOREPO_SIMPLE_ROLE": ${{ toJSON(secrets.AWS_CI_IAM_MONOREPO_SIMPLE_ROLE) }} } - SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} SLACK_CHANNEL: ${{ secrets.SLACK_BLOCKS_CI_CHANNEL }} + SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} diff --git a/.gitignore b/.gitignore index 4c7f954..178cf63 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,13 @@ node_modules/ block-pack log/ .turbo +.test_auth.json +dist/ +block-pack/ +dev/ +work/ +vite.config.*.timestamp-* +software/**/*.tgz +.DS_Store +.vscode/sftp.json +test-dry-run.json diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index db2ffe3..0000000 --- a/.prettierrc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "semi": true, - "tabWidth": 2, - "trailingComma": "none", - "singleQuote": true, - "printWidth": 100 -} diff --git a/.structure b/.structure new file mode 100644 index 0000000..218abba --- /dev/null +++ b/.structure @@ -0,0 +1 @@ +{"version":2} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..25fa621 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "typescript.tsdk": "node_modules/typescript/lib" +} diff --git a/block/index.d.ts b/block/index.d.ts deleted file mode 100644 index 794bb70..0000000 --- a/block/index.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { BlockPackDescriptionAbsolute } from "@platforma-sdk/block-tools"; - -declare function loadBlockDescription(): BlockPackDescriptionAbsolute; -declare const blockSpec: { - type: "dev-v2"; - folder: string; -}; - -export { loadBlockDescription, blockSpec }; diff --git a/block/index.js b/block/index.js deleted file mode 100644 index 2845ebb..0000000 --- a/block/index.js +++ /dev/null @@ -1,15 +0,0 @@ -const blockTools = require("@platforma-sdk/block-tools"); - -async function loadBlockDescription() { - return await blockTools.tryLoadPackDescription(__dirname); -} - -const blockSpec = { - type: "dev-v2", - folder: __dirname, -}; - -module.exports = { - blockSpec, - loadBlockDescription, -}; diff --git a/block/package.json b/block/package.json index a788720..1435e0c 100644 --- a/block/package.json +++ b/block/package.json @@ -1,21 +1,41 @@ { "name": "@platforma-open/milaboratories.graph-maker", "version": "1.4.99", + "files": [ + "dist", + "block-pack" + ], + "type": "module", + "main": "./dist/index.js", + "module": "./dist/index.js", + "types": "./dist/index.d.ts", + "exports": { + ".": { + "sources": "./src/index.ts", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + }, "scripts": { "pretty": "prettier --write \"./**/*.{js,jsx,mjs,cjs,ts,tsx,json,vue}\"", - "build": "rm -rf ./block-pack && block-tools pack", + "build": "ts-builder build --target block-facade && block-tools pack", "mark-stable": "block-tools mark-stable -r 's3://milab-euce1-prod-pkgs-s3-block-registry/pub/releases/?region=eu-central-1'", - "prepublishOnly": "block-tools publish -r s3://milab-euce1-prod-pkgs-s3-block-registry/pub/releases/?region=eu-central-1 --registry-serve-url https://blocks.pl-open.science" + "prepublishOnly": "block-tools publish -r s3://milab-euce1-prod-pkgs-s3-block-registry/pub/releases/?region=eu-central-1 --registry-serve-url https://blocks.pl-open.science", + "do-pack": "shx rm -f package.tgz && pnpm pack && shx mv *.tgz package.tgz", + "check": "ts-builder type-check --target block-facade" }, - "files": [ - "index.d.ts", - "index.js" - ], - "dependencies": { - "@platforma-sdk/model": "catalog:", + "dependencies": {}, + "devDependencies": { + "@milaboratories/ts-builder": "catalog:", + "@milaboratories/ts-configs": "catalog:", + "@platforma-open/milaboratories.graph-maker.kind": "workspace:*", "@platforma-open/milaboratories.graph-maker.model": "workspace:*", "@platforma-open/milaboratories.graph-maker.ui": "workspace:*", - "@platforma-open/milaboratories.graph-maker.workflow": "workspace:*" + "@platforma-open/milaboratories.graph-maker.workflow": "workspace:*", + "@platforma-sdk/block-tools": "catalog:", + "@platforma-sdk/model": "catalog:", + "shx": "catalog:", + "typescript": "catalog:" }, "block": { "components": { @@ -43,8 +63,5 @@ }, "marketplaceRanking": 15000 } - }, - "devDependencies": { - "@platforma-sdk/block-tools": "catalog:" } } diff --git a/block/src/AGENTS.ts b/block/src/AGENTS.ts new file mode 100644 index 0000000..5cf2589 --- /dev/null +++ b/block/src/AGENTS.ts @@ -0,0 +1,5 @@ +// This file is managed by `block-tools structure`. Do not edit by hand. +// Narrow MCP / AI surface. + +export type { BlockContract, BlockOutputs, BlockData } from "./index"; +export * from "./agents-extra"; diff --git a/block/src/agents-extra.ts b/block/src/agents-extra.ts new file mode 100644 index 0000000..228811f --- /dev/null +++ b/block/src/agents-extra.ts @@ -0,0 +1,8 @@ +// Author-owned. `block-tools structure` does not modify this file. +// MCP / AI extension surface. Add types and functions the agent +// surface should expose. +// +// In the future this file will host JS functions the MCP runtime +// can execute. The `.d.ts` declarations stay visible to the agent; +// the JS bodies execute in the MCP code-execution context (the +// agent sees the types but not the implementation). diff --git a/block/src/block-extra.ts b/block/src/block-extra.ts new file mode 100644 index 0000000..fc00cdd --- /dev/null +++ b/block/src/block-extra.ts @@ -0,0 +1,9 @@ +// Author-owned. `block-tools structure` does not modify this file. +// Add block-specific helper types or values the consumer surface +// should expose. Anything you `export` here flows out via the +// main entry (./index re-exports this file). +// +// Do NOT redefine: BlockContract, BlockOutputs, BlockData, +// BlockPointer, platforma, or the block-named Block* +// aliases — those names come from ./index and `export *` from this +// file would shadow them. diff --git a/block/src/index.ts b/block/src/index.ts new file mode 100644 index 0000000..2a3c66e --- /dev/null +++ b/block/src/index.ts @@ -0,0 +1,55 @@ +// This file is managed by `block-tools structure`. Do not edit by hand. +// Author content lives in ./block-extra.ts. + +import { platforma } from "@platforma-open/milaboratories.graph-maker.model"; +import { + InferOutputsType, + InferDataType, + InferHrefType, +} from "@platforma-sdk/model"; + +export { platforma }; + +export type BlockContract = { + outputs: InferOutputsType; + data: InferDataType; + href: InferHrefType; +}; + +export type BlockOutputs = BlockContract["outputs"]; +export type BlockData = BlockContract["data"]; + +// import.meta.url is a file: URL (always forward-slash, even on Windows: +// file:///C:/…). We expose URLs, NOT paths — the facade stays dependency-free +// and loadable in minimal engines (e.g. QuickJS), and each consumer converts +// at its own edge with the right tool (fileURLToPath in Node), where Windows +// drive letters / %-encoding / UNC are handled correctly. The bundled entry +// sits one dir under the package root (dist/index.js, or src/index.ts in dev), +// so the root is two URL segments up. The structurer owns this layout — +// consumers read these URLs, they never reconstruct /block-pack. +// +// TypeScript ships `ImportMeta.url` only in the `dom`/`webworker` libs; the +// facade tsconfig is lib-minimal (no `dom`, no `@types/node`) by design. We +// type the one ESM-standard member we use with a local cast rather than a +// `declare global` — a global augmentation would leak into the published +// `dist/index.d.ts` and clash with `@types/node`'s `ImportMeta` in full-Node +// consumers (test packages, the Middle Layer). +const selfUrl = (import.meta as ImportMeta & { url: string }).url; +const dirUrl = selfUrl.slice(0, selfUrl.lastIndexOf("/")); +const rootUrl = dirUrl.slice(0, dirUrl.lastIndexOf("/")); + +export const BlockPointer = { + type: "from-pack-v2" as const, + packUrl: rootUrl + "/block-pack", + rootUrl, +} as const; + +// Block-named aliases for readable cross-block imports in tests and +// consumer code. Same types / same runtime value as the universal +// names above; the aliases avoid `as`-renames at the import site. +export type GraphMakerBlockContract = BlockContract; +export type GraphMakerBlockOutputs = BlockOutputs; +export type GraphMakerBlockData = BlockData; +export const GraphMakerBlockPointer = BlockPointer; + +export * from "./block-extra"; diff --git a/block/tsconfig.json b/block/tsconfig.json new file mode 100644 index 0000000..8b5ec69 --- /dev/null +++ b/block/tsconfig.json @@ -0,0 +1,4 @@ +{ + "extends": "@milaboratories/ts-configs/block/facade", + "include": ["src/**/*"] +} diff --git a/kind/.oxfmtrc.json b/kind/.oxfmtrc.json new file mode 100644 index 0000000..7eff5e7 --- /dev/null +++ b/kind/.oxfmtrc.json @@ -0,0 +1,4 @@ +{ + "extends": ["node_modules/@milaboratories/ts-builder/configs/oxfmt.json"], + "ignorePatterns": ["dist", "coverage", "CHANGELOG.md"] +} diff --git a/kind/.oxlintrc.json b/kind/.oxlintrc.json new file mode 100644 index 0000000..b1a1390 --- /dev/null +++ b/kind/.oxlintrc.json @@ -0,0 +1,3 @@ +{ + "extends": ["node_modules/@milaboratories/ts-builder/dist/configs/oxlint-node.json"] +} diff --git a/kind/package.json b/kind/package.json new file mode 100644 index 0000000..f8f972d --- /dev/null +++ b/kind/package.json @@ -0,0 +1,37 @@ +{ + "name": "@platforma-open/milaboratories.graph-maker.kind", + "version": "1.0.0", + "private": true, + "type": "module", + "main": "./dist/index.cjs", + "module": "./dist/index.js", + "types": "./dist/index.d.ts", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "sources": "./src/index.ts", + "import": "./dist/index.js", + "require": "./dist/index.cjs", + "default": "./dist/index.js" + } + }, + "scripts": { + "fmt": "ts-builder format", + "watch": "ts-builder build --target block-kind --watch", + "build": "ts-builder build --target block-kind && block-tools build-kind-manifest", + "check": "ts-builder check --target block-kind" + }, + "dependencies": { + "@milaboratories/graph-maker": "catalog:", + "@platforma-sdk/block-kind": "catalog:" + }, + "devDependencies": { + "@milaboratories/ts-builder": "catalog:", + "@milaboratories/ts-configs": "catalog:", + "@platforma-sdk/block-tools": "catalog:" + }, + "peerDependencies": { + "@types/node": "*", + "typescript": "*" + } +} diff --git a/kind/src/index.ts b/kind/src/index.ts new file mode 100644 index 0000000..30489ad --- /dev/null +++ b/kind/src/index.ts @@ -0,0 +1,454 @@ +import { assertParamsObject, defineBlockKind } from "@platforma-sdk/block-kind"; +import type { GraphMakerProps, GraphMakerState } from "@milaboratories/graph-maker"; +import { name, version } from "../package.json" with { type: "json" }; + +type ChartType = GraphMakerProps["chartType"]; +type LayersTemplate = GraphMakerState["template"]; +type LiveOptionsState = NonNullable; +type LiveComponent = LiveOptionsState["components"][string]; +type LiveFilterSelector = Extract["selectorStates"][number]; + +/** Fails to compile if `T` is anything but `never` — see the exhaustiveness checks below. */ +type AssertNever = T; + +/** + * The chart types a seed may name. Listed rather than derived because a runtime + * check needs values, not a type — but the list is held to the type by the + * compiler (`satisfies` rejects a stale entry, `AssertNever` rejects a missing + * one), so a graph-maker release that adds or drops a chart type breaks this + * build instead of silently letting a template through with a chart the editor + * cannot open. + */ +const CHART_TYPES = [ + "discrete", + "scatterplot", + "scatterplot-umap", + "heatmap", + "dendro", + "histogram", + "bubble", + "selection", +] as const satisfies readonly ChartType[]; +type _ChartTypesExhaustive = AssertNever>; + +/** The layer templates a seed may name. Held to `LayersTemplate` the same way. */ +const LAYERS_TEMPLATES = [ + "box", + "binnedDots", + "jitteredDots", + "violin", + "bar", + "stackedBar", + "stackedArea", + "line", + "errorbar", + "sina", + "logo", + "box_binnedDots", + "box_jitteredDots", + "violin_binnedDots", + "violin_jitteredDots", + "line_jitteredDots", + "line_binnedDots", + "line_errorbar", + "bar_line", + "bar_errorbar", + "dots", + "curve", + "curve_dots", + "heatmap", + "heatmapClustered", + "dendro", + "bins", + "bubble", + "selection", +] as const satisfies readonly LayersTemplate[]; +type _LayersTemplatesExhaustive = AssertNever< + Exclude +>; + +/** + * Which column or axis feeds a chart input. + * + * Live, graph-maker holds this as one canonical string. A seed carries it taken + * apart, and that is the whole point: a column's identity contains the `PlRef` + * naming the block that produced it, and on apply the SDK repoints those refs at + * the blocks of the project being built. Its relocator descends through objects + * and rewrites any reference it recognizes, but a reference sealed inside a + * string two layers down is not something it can reach — so a seed that carried + * the string verbatim would arrive naming blocks of the project it was exported + * from. Split open, the ref sits where the relocator sees it. + * + * **Carried whole, not field by field.** An identifier IS its canonical form: + * drop a field this parser does not know about and the id rebuilt on the way in + * names a different column, or nothing at all. So the fields below are checked + * and everything else is preserved untouched. + * + * Axis sources are a known gap. An axis carries its block id inside `domain` + * (`pl7.app/vdj/clonotypingRunId`, say), and the relocator leaves domain entries + * alone by design — that is what stops a value which merely looks like an id from + * being rewritten. Nothing a block can do reaches this: relocation runs before + * both this parser and `init`, and neither is handed the block-id map. A page + * bound to such an axis therefore still needs re-binding in the new project. + */ +export type SourceId = { + kind: "column" | "axis"; + name: string; + type: string; + domain?: Record; + /** Any further field an identifier carries: preserved, never interpreted. */ + [extra: string]: unknown; +}; + +/** One colour mapping, with the column or axis it was chosen for taken apart. */ +export type SeedAesMapping = { + source: SourceId; + /** graph-maker's own mapping for that source; carried whole, never read here. */ + mapping: Record; +}; + +/** One chart input's binding, as a seed carries it. */ +export type SeedSimpleSelector = { selectedSource: SourceId }; + +/** A filtering input's binding: the source plus the filter set on it. */ +export type SeedFilterSelector = SeedSimpleSelector & { + type: LiveFilterSelector["type"]; + selectedFilterRange?: { min: number; max: number }; + selectedFilterValues?: string[]; +}; + +export type SeedComponent = + | { type: "simple"; selectorStates: SeedSimpleSelector[] } + | { type: "filter"; selectorStates: SeedFilterSelector[] }; + +/** The data mapping, with every source taken apart. Mirrors graph-maker's `optionsState`. */ +export type SeedOptionsState = { + type: ChartType; + components: Record; + dividedAxes: Record; +}; + +/** + * One graph page, reduced to what re-creating it actually takes. + * + * `template` and `chartType` choose the chart; `optionsState` is the data + * mapping. `chartType` is kept alongside `template` because it is not derivable + * from it: the UMAP scatterplot shares template `dots` with the ordinary one. + * + * What stays behind is per-view bookkeeping — zoom, the open tab, lasso + * polygons, whether the tooltip hint was shown — and the cosmetic layers. A + * seeded page therefore opens on the right chart, bound to what the new project + * can resolve, at the chart type's default styling. + */ +export type GraphSeed = { + id: string; + label: string; + chartType: ChartType; + template: LayersTemplate; + /** Absent for a page whose data mapping the reader never touched. */ + optionsState?: SeedOptionsState; + /** + * The reader's chart settings, carried whole. + * + * Whole rather than as a difference from the chart type's defaults, which would be the smaller + * thing to carry: the defaults are produced by graph-maker's own `getInitialAxesSettings` and + * friends, and that module cannot be reached from a block model — it imports the editor's icon + * components, so bundling it into the model fails. The cost of carrying them whole is that a + * seeded page keeps the defaults of the day it was exported, and a later change to them does + * not reach it. + */ + axesSettings?: GraphMakerState["axesSettings"]; + layersSettings?: GraphMakerState["layersSettings"]; + statisticsSettings?: GraphMakerState["statisticsSettings"]; + /** + * Palettes and colour mapping, one entry per column or axis they were chosen for. + * + * A list rather than the map graph-maker holds, because that map is keyed BY the source id: + * a key is a string, so the reference inside it is past the reach of relocation, and a mapping + * carried under the exported-from project's key lands on nothing. Taken apart, the source is + * repointed like any other, and the key is rebuilt from it on the way in. + */ + dataBindAes?: SeedAesMapping[]; +}; + +/** + * This block's init-params contract — the graph pages a project template seeds a + * new graph-maker with. + */ +export type BlockParams = { + graphs: GraphSeed[]; +}; + +function isRecord(value: unknown): value is Record { + return typeof value === "object" && value !== null && !Array.isArray(value); +} + +function isOneOf( + value: unknown, + allowed: T, +): value is T[number] { + return typeof value === "string" && (allowed as readonly string[]).includes(value); +} + +function parseSourceId(value: unknown, at: string): SourceId { + if (!isRecord(value)) { + throw new Error(`'${at}' must be an object describing a column or axis.`); + } + const { kind, name, type, domain, ...rest } = value; + + if (kind !== "column" && kind !== "axis") { + throw new Error(`'${at}.kind' must be either "column" or "axis".`); + } + if (typeof name !== "string") { + throw new Error(`'${at}.name' must be a string.`); + } + if (typeof type !== "string") { + throw new Error(`'${at}.type' must be a string.`); + } + if (domain !== undefined) { + if (!isRecord(domain) || Object.values(domain).some((v) => typeof v !== "string")) { + throw new Error(`'${at}.domain' must be an object of strings.`); + } + } + + // `rest` is spread back in: see SourceId — an id is carried whole. + return { + ...rest, + kind, + name, + type, + ...(domain === undefined ? {} : { domain: domain as Record }), + }; +} + +function parseSimpleSelector(value: unknown, at: string): SeedSimpleSelector { + if (!isRecord(value)) { + throw new Error(`'${at}' must be an object.`); + } + return { selectedSource: parseSourceId(value.selectedSource, `${at}.selectedSource`) }; +} + +const FILTER_TYPES = [ + "equals", + "range", + "subset", +] as const satisfies readonly LiveFilterSelector["type"][]; +type _FilterTypesExhaustive = AssertNever< + Exclude +>; + +function parseFilterSelector(value: unknown, at: string): SeedFilterSelector { + const { selectedSource } = parseSimpleSelector(value, at); + const { type, selectedFilterRange, selectedFilterValues } = value as Record; + + if (!isOneOf(type, FILTER_TYPES)) { + throw new Error(`'${at}.type' must be one of: ${FILTER_TYPES.join(", ")}.`); + } + + const parsed: SeedFilterSelector = { selectedSource, type }; + + if (selectedFilterRange !== undefined) { + if ( + !isRecord(selectedFilterRange) || + typeof selectedFilterRange.min !== "number" || + typeof selectedFilterRange.max !== "number" + ) { + throw new Error( + `'${at}.selectedFilterRange' must be an object with numeric 'min' and 'max'.`, + ); + } + parsed.selectedFilterRange = { + min: selectedFilterRange.min, + max: selectedFilterRange.max, + }; + } + + if (selectedFilterValues !== undefined) { + if ( + !Array.isArray(selectedFilterValues) || + selectedFilterValues.some((v) => typeof v !== "string") + ) { + throw new Error(`'${at}.selectedFilterValues' must be an array of strings.`); + } + parsed.selectedFilterValues = selectedFilterValues as string[]; + } + + return parsed; +} + +function parseComponent(value: unknown, at: string): SeedComponent { + if (!isRecord(value)) { + throw new Error(`'${at}' must be an object.`); + } + const { type, selectorStates } = value; + if (!Array.isArray(selectorStates)) { + throw new Error(`'${at}.selectorStates' must be an array.`); + } + + if (type === "simple") { + return { + type, + selectorStates: selectorStates.map((s, i) => + parseSimpleSelector(s, `${at}.selectorStates[${i}]`), + ), + }; + } + if (type === "filter") { + return { + type, + selectorStates: selectorStates.map((s, i) => + parseFilterSelector(s, `${at}.selectorStates[${i}]`), + ), + }; + } + throw new Error(`'${at}.type' must be either "simple" or "filter".`); +} + +/** + * The data mapping. Read as an envelope, not as a judgement on the chart: a + * component with no source chosen yet is an ordinary state the editor can be + * left in, so a half-bound page exports and re-applies unchanged. + */ +function parseOptionsState(value: unknown, at: string): SeedOptionsState { + if (!isRecord(value)) { + throw new Error(`'${at}' must be an object.`); + } + const { type, components, dividedAxes } = value; + + if (!isOneOf(type, CHART_TYPES)) { + throw new Error(`'${at}.type' must be one of: ${CHART_TYPES.join(", ")}.`); + } + if (!isRecord(components)) { + throw new Error(`'${at}.components' must be an object keyed by input name.`); + } + if (!isRecord(dividedAxes)) { + throw new Error(`'${at}.dividedAxes' must be an object keyed by axis id.`); + } + + const parsedComponents: Record = {}; + for (const [key, component] of Object.entries(components)) { + parsedComponents[key] = parseComponent(component, `${at}.components.${key}`); + } + + const parsedDividedAxes: Record = {}; + for (const [key, divided] of Object.entries(dividedAxes)) { + if (typeof divided !== "boolean") { + throw new Error(`'${at}.dividedAxes.${key}' must be a boolean.`); + } + parsedDividedAxes[key] = divided; + } + + return { type, components: parsedComponents, dividedAxes: parsedDividedAxes }; +} + +/** + * One settings group, read as an envelope and carried whole. + * + * This kind reads none of the fields inside: they are graph-maker's own settings, what one means + * is settled where it is applied, and a parser that knew their shape would have to be taught + * again every time the editor gains a knob. + */ +function parseSettingsGroup(value: unknown, at: string): Record { + if (!isRecord(value)) { + throw new Error(`'${at}' must be an object of settings.`); + } + return value; +} + +/** The settings groups a seed may carry, each optional and each read as an envelope. */ +const SETTINGS_KEYS = ["axesSettings", "layersSettings", "statisticsSettings"] as const; + +function parseSettings(value: Record, at: string) { + const parsed: Record> = {}; + for (const key of SETTINGS_KEYS) { + if (value[key] !== undefined) parsed[key] = parseSettingsGroup(value[key], `${at}.${key}`); + } + return parsed as Pick; +} + +function parseAesMapping(value: unknown, at: string): SeedAesMapping { + if (!isRecord(value)) { + throw new Error(`'${at}' must be an object.`); + } + return { + source: parseSourceId(value.source, `${at}.source`), + mapping: parseSettingsGroup(value.mapping, `${at}.mapping`), + }; +} + +function parseGraphSeed(value: unknown, index: number): GraphSeed { + const at = `graphs[${index}]`; + if (!isRecord(value)) { + throw new Error(`'${at}' must be an object describing one graph page.`); + } + const { id, label, chartType, template, optionsState } = value; + + if (typeof id !== "string" || id === "") { + throw new Error(`'${at}.id' must be a non-empty string.`); + } + if (typeof label !== "string") { + throw new Error(`'${at}.label' must be a string.`); + } + if (!isOneOf(chartType, CHART_TYPES)) { + throw new Error(`'${at}.chartType' must be one of: ${CHART_TYPES.join(", ")}.`); + } + if (!isOneOf(template, LAYERS_TEMPLATES)) { + throw new Error(`'${at}.template' must be one of: ${LAYERS_TEMPLATES.join(", ")}.`); + } + const settings = parseSettings(value, at); + + const { dataBindAes } = value; + if (dataBindAes !== undefined && !Array.isArray(dataBindAes)) { + throw new Error(`'${at}.dataBindAes' must be an array of colour mappings.`); + } + const aes = + dataBindAes === undefined + ? {} + : { + dataBindAes: dataBindAes.map((m, i) => parseAesMapping(m, `${at}.dataBindAes[${i}]`)), + }; + + if (optionsState === undefined) { + return { id, label, chartType, template, ...settings, ...aes }; + } + + return { + id, + label, + chartType, + template, + optionsState: parseOptionsState(optionsState, `${at}.optionsState`), + ...settings, + ...aes, + }; +} + +/** + * The same contract at runtime, for params that arrive from a template file rather than + * from typed code — the only point that can catch a hand-written entry being wrong. + * + * `graphs` is optional so a template may seed the block empty, which is also what a + * block created by hand gets. + */ +function parseInitializationParams(value: unknown): BlockParams { + assertParamsObject(value); + + const { graphs } = value; + if (graphs === undefined) { + return { graphs: [] }; + } + if (!Array.isArray(graphs)) { + throw new Error("'graphs' must be an array of graph pages."); + } + + return { graphs: graphs.map(parseGraphSeed) }; +} + +// Identity (`name`/`version`) comes from this package's own `package.json`, so +// the on-wire `{name}@{version}` reference can never drift from what npm +// publishes; the bundler inlines the JSON import. +export const kind = defineBlockKind({ + name, + version, + parseInitializationParams, +}); diff --git a/kind/tsconfig.json b/kind/tsconfig.json new file mode 100644 index 0000000..5411207 --- /dev/null +++ b/kind/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "@milaboratories/ts-configs/block/facade", + "compilerOptions": { + "outDir": "./dist", + "rootDir": ".", + "resolveJsonModule": true + }, + "include": ["src/**/*", "package.json"], + "exclude": ["dist", "node_modules"] +} diff --git a/model/.oxfmtrc.json b/model/.oxfmtrc.json new file mode 100644 index 0000000..7eff5e7 --- /dev/null +++ b/model/.oxfmtrc.json @@ -0,0 +1,4 @@ +{ + "extends": ["node_modules/@milaboratories/ts-builder/configs/oxfmt.json"], + "ignorePatterns": ["dist", "coverage", "CHANGELOG.md"] +} diff --git a/model/.oxlintrc.json b/model/.oxlintrc.json new file mode 100644 index 0000000..70ab6b8 --- /dev/null +++ b/model/.oxlintrc.json @@ -0,0 +1,3 @@ +{ + "extends": ["node_modules/@milaboratories/ts-builder/dist/configs/oxlint-block-model.json"] +} diff --git a/model/package.json b/model/package.json index 00d30e0..bc6f1a1 100644 --- a/model/package.json +++ b/model/package.json @@ -1,23 +1,39 @@ { "name": "@platforma-open/milaboratories.graph-maker.model", "version": "1.2.19", + "private": true, "description": "Block config", - "main": "dist/index.js", - "module": "dist/index.mjs", + "type": "module", + "main": "dist/index.cjs", + "module": "dist/index.js", "types": "dist/index.d.ts", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "sources": "./src/index.ts", + "import": "./dist/index.js" + }, + "./dist/*": "./dist/*" + }, "scripts": { "build": "ts-builder build --target block-model && block-tools build-model", "watch": "ts-builder build --target block-model --watch", - "type-check": "ts-builder type-check --target block-model" + "type-check": "ts-builder type-check --target block-model", + "fmt": "ts-builder format", + "check": "ts-builder check --target block-model" }, "dependencies": { - "@platforma-sdk/model": "catalog:", - "@milaboratories/graph-maker": "catalog:" + "@milaboratories/graph-maker": "catalog:", + "@platforma-open/milaboratories.graph-maker.kind": "workspace:*", + "@platforma-sdk/model": "catalog:" }, "devDependencies": { "@milaboratories/ts-builder": "catalog:", "@milaboratories/ts-configs": "catalog:", - "@platforma-sdk/block-tools": "catalog:", - "typescript": "catalog:" + "@platforma-sdk/block-tools": "catalog:" + }, + "peerDependencies": { + "@types/node": "*", + "typescript": "*" } } diff --git a/model/src/dataModel.ts b/model/src/dataModel.ts new file mode 100644 index 0000000..9274de0 --- /dev/null +++ b/model/src/dataModel.ts @@ -0,0 +1,39 @@ +import { DataModelBuilder } from "@platforma-sdk/model"; +import { kind } from "@platforma-open/milaboratories.graph-maker.kind"; +import type { GraphSeed } from "@platforma-open/milaboratories.graph-maker.kind"; +import { getDataBindAesFromSeed, getOptionsStateFromSeed } from "./seedOptions"; +import type { BlockData, GraphPageState, LegacyBlockArgs, LegacyUiState } from "./types"; + +/** + * Rebuild a page from its seed: what `MainPage.addSection` writes for a brand-new + * page, plus the data mapping when the seed carries one. A page seeded without a + * mapping is indistinguishable from one the reader just created. + */ +function pageFromSeed(seed: GraphSeed): GraphPageState { + return { + id: seed.id, + label: seed.label, + state: { + template: seed.template, + title: seed.label, + ...(seed.optionsState ? { optionsState: getOptionsStateFromSeed(seed.optionsState) } : {}), + ...(seed.axesSettings ? { axesSettings: seed.axesSettings } : {}), + ...(seed.layersSettings ? { layersSettings: seed.layersSettings } : {}), + ...(seed.statisticsSettings ? { statisticsSettings: seed.statisticsSettings } : {}), + ...(seed.dataBindAes ? { dataBindAes: getDataBindAesFromSeed(seed.dataBindAes) } : {}), + }, + settings: { chartType: seed.chartType }, + }; +} + +export const blockDataModel = new DataModelBuilder({ kind }) + .from("v1") + // Legacy V1 stored the graph list under `uiState.graphs`; args was always empty. + .upgradeLegacy(({ uiState }) => ({ + graphs: uiState?.graphs ?? [], + })) + // `params` is absent for a block created by hand, present when a project template + // seeds one; both start from the same empty list. + .init(({ params }) => ({ + graphs: (params?.graphs ?? []).map(pageFromSeed), + })); diff --git a/model/src/index.ts b/model/src/index.ts index fcb7275..4ae56f6 100644 --- a/model/src/index.ts +++ b/model/src/index.ts @@ -1,48 +1,54 @@ -import { GraphMakerProps, GraphMakerState } from '@milaboratories/graph-maker'; -import { - BlockModel, - type InferOutputsType, - RenderCtx, - createPFrameForGraphs -} from '@platforma-sdk/model'; +import { BlockModelV3, createPFrameForGraphs, type InferOutputsType } from "@platforma-sdk/model"; +import { kind } from "@platforma-open/milaboratories.graph-maker.kind"; +import { blockDataModel } from "./dataModel"; +import { convertDataBindAesToSeed, convertOptionsStateToSeed } from "./seedOptions"; +import type { BlockArgs } from "./types"; -export type GraphPageState = { - id: string; - label: string; - state: GraphMakerState, - settings: GraphMakerProps -}; - -export type UiState = { - graphs: GraphPageState[] -}; - -export type BlockArgs = {}; - -export const platforma = BlockModel.create('Heavy') - .withUiState({ graphs: [] }) - .withArgs({}) +export { blockDataModel } from "./dataModel"; +export * from "./types"; +export const platforma = BlockModelV3.create({ dataModel: blockDataModel, kind }) + .args(() => ({})) + // Inverse of `init`'s seed expansion: the fields a page can be re-created from — + // the chart, and the data mapping, with every source id taken apart so the SDK + // can repoint its references at the new project's blocks. The rest of + // `GraphMakerState` is per-view bookkeeping and does not travel; see `GraphSeed` + // and `SourceId` in the kind. + .templateParams((data) => ({ + graphs: data.graphs.map((g) => ({ + id: g.id, + label: g.label, + chartType: g.settings.chartType, + template: g.state.template, + optionsState: g.state.optionsState && convertOptionsStateToSeed(g.state.optionsState), + // Carried whole; see `GraphSeed` in the kind for why not as a difference from the + // defaults. What is left behind is per-view bookkeeping — the open tab, the zoom, the + // lasso, whether the tooltip hint was shown — and `usedDefaultOptions`, which records + // which defaults were already applied and would stop the new project's from being. + axesSettings: g.state.axesSettings, + layersSettings: g.state.layersSettings, + statisticsSettings: g.state.statisticsSettings, + dataBindAes: g.state.dataBindAes && convertDataBindAesToSeed(g.state.dataBindAes), + })), + })) .sections((ctx) => { - const graphRoutes = (ctx.uiState?.graphs ?? []).map((gs: GraphPageState) => ({ - type: 'link' as const, + const graphRoutes = ctx.data.graphs.map((gs) => ({ + type: "link" as const, href: `/graph?id=${gs.id}` as const, - label: gs.label + label: gs.label, })); return [ ...graphRoutes, { - type: 'link', - href: '/', - appearance: 'add-section', - label: 'New Graph' - } + type: "link" as const, + href: "/" as const, + appearance: "add-section" as const, + label: "New Graph", + }, ]; }) + .outputWithStatus("pFrame", (ctx) => createPFrameForGraphs(ctx)) + .done(); - .outputWithStatus('pFrame', (ctx) => { - return createPFrameForGraphs(ctx); - }) - .done(2); - +export type Platforma = typeof platforma; export type BlockOutputs = InferOutputsType; diff --git a/model/src/seedOptions.ts b/model/src/seedOptions.ts new file mode 100644 index 0000000..06a1059 --- /dev/null +++ b/model/src/seedOptions.ts @@ -0,0 +1,79 @@ +import { canonicalizeJson, parseJson } from "@platforma-sdk/model"; +import type { CanonicalizedJson } from "@platforma-sdk/model"; +import type { + SeedAesMapping, + SeedComponent, + SeedOptionsState, + SourceId, +} from "@platforma-open/milaboratories.graph-maker.kind"; +import type { GraphMakerState } from "@milaboratories/graph-maker"; + +type LiveOptionsState = NonNullable; +type LiveComponent = LiveOptionsState["components"][string]; + +/** + * Translation between how graph-maker holds a data mapping and how a template + * seed carries it. The two differ in one leaf: live, a selected source is the + * canonical string of its identifier; in a seed it is that identifier taken + * apart, so the SDK's reference relocator can reach the `PlRef` inside a column + * id on the way in. See `SourceId` in the kind for why. + * + * Taking apart and rebuilding are inverses, and the rebuild must be canonical: + * an identifier IS its canonical string, so an id reassembled with its keys in + * another order is a different identifier for the same column and resolves to + * nothing. `canonicalizeJson` is the same function pf-plots builds these ids + * with, so the string handed back is the one graph-maker would have computed. + * + * The cast is only the SDK's brand meeting pf-plots' plain `ColumnOrAxisIdString`; + * the kind checks every field of what comes out. + */ +export function convertOptionsStateToSeed(live: LiveOptionsState): SeedOptionsState { + const components: Record = {}; + for (const [key, component] of Object.entries(live.components)) { + components[key] = { + ...component, + selectorStates: component.selectorStates.map((s) => ({ + ...s, + selectedSource: parseJson(s.selectedSource as CanonicalizedJson), + })), + } as SeedComponent; + } + return { type: live.type, components, dividedAxes: { ...live.dividedAxes } }; +} + +export function getOptionsStateFromSeed(seed: SeedOptionsState): LiveOptionsState { + const components: Record = {}; + for (const [key, component] of Object.entries(seed.components)) { + components[key] = { + ...component, + selectorStates: component.selectorStates.map((s) => ({ + ...s, + selectedSource: canonicalizeJson(s.selectedSource), + })), + } as LiveComponent; + } + return { type: seed.type, components, dividedAxes: { ...seed.dividedAxes } }; +} + +type LiveDataBindAes = NonNullable; + +/** + * The colour mappings, re-keyed for travel. + * + * graph-maker holds them in a map keyed by the source id, and a key is a string — so the + * reference inside it is past the reach of relocation. Each entry travels with its source taken + * apart instead, and the key is rebuilt canonically on the way back so it matches the id + * graph-maker looks the mapping up by. + */ +export function convertDataBindAesToSeed(live: LiveDataBindAes): SeedAesMapping[] { + return Object.entries(live).map(([source, mapping]) => ({ + source: parseJson(source as CanonicalizedJson), + mapping: mapping as unknown as Record, + })); +} + +export function getDataBindAesFromSeed(seed: SeedAesMapping[]): LiveDataBindAes { + return Object.fromEntries( + seed.map(({ source, mapping }) => [canonicalizeJson(source), mapping]), + ) as unknown as LiveDataBindAes; +} diff --git a/model/src/types.ts b/model/src/types.ts new file mode 100644 index 0000000..e4078e8 --- /dev/null +++ b/model/src/types.ts @@ -0,0 +1,30 @@ +import type { GraphMakerProps, GraphMakerState } from "@milaboratories/graph-maker"; + +/** + * The graph-maker block has no workflow inputs — its workflow is a pass-through + * and all of its state is UI-only view state (the user-created graph pages). + * Args therefore project to an empty object and never gate the block. + */ +export type BlockArgs = Record; + +export type GraphPageState = { + id: string; + label: string; + state: GraphMakerState; + /** Only `chartType` is consumed; the live pFrame comes from the model output. */ + settings: Pick; +}; + +/** + * Unified V3 data. Everything here is pure UI/view state (the list of graph + * pages) — nothing is projected into args/prerunArgs. + */ +export type BlockData = { + graphs: GraphPageState[]; +}; + +/** Legacy V1 on-disk shapes, consumed once by `.upgradeLegacy`. */ +export type LegacyBlockArgs = Record; +export type LegacyUiState = { + graphs?: GraphPageState[]; +}; diff --git a/model/tsconfig.json b/model/tsconfig.json index c5ecaff..ccde314 100644 --- a/model/tsconfig.json +++ b/model/tsconfig.json @@ -1,20 +1,4 @@ { - "compilerOptions": { - "target": "es2022", - "module": "commonjs", - "moduleResolution": "node", - "esModuleInterop": true, - "strict": true, - "outDir": "./dist", - "rootDir": "./src", - "sourceMap": true, - "declaration": true - }, - "types": [], - "include": [ - "src/**/*"], - "exclude": [ - "node_modules", - "dist" - ] + "extends": "@milaboratories/ts-configs/block/model", + "include": ["src/**/*"] } diff --git a/model/vite.config.mts b/model/vite.config.mts deleted file mode 100644 index 1a01b55..0000000 --- a/model/vite.config.mts +++ /dev/null @@ -1,18 +0,0 @@ -import { defineConfig } from 'vite'; - - export default defineConfig({ - build: { - emptyOutDir: false, - lib: { - entry: 'src/index.ts', - name: 'config', - fileName: (format) => `my-lib.${format}.js` - }, - rollupOptions: { - output: { - format: 'iife', - entryFileNames: 'bundle.js' - } - } - } - }); \ No newline at end of file diff --git a/package.json b/package.json index d342d19..e8aa39a 100644 --- a/package.json +++ b/package.json @@ -1,29 +1,32 @@ { - "name": "@platforma-open/milaboratories.graph-maker", "scripts": { - "pretty": "prettier --write \"./**/*.{js,jsx,mjs,cjs,ts,tsx,json,vue}\"", - "build": "turbo run build", - "build:dev": "env PL_PKG_DEV=local turbo run build", - "test": "env PL_PKG_DEV=local turbo run test --concurrency 1", + "test": "env PL_BUILD_CHANNEL=dev PL_BUILD_VARIANT=binary PL_BUILD_LOCATION=local turbo run test --concurrency 1", "mark-stable": "turbo run mark-stable", "watch": "turbo watch build", "changeset": "changeset", "version-packages": "changeset version", - "update-sdk": "pl-blocks-deps-updater" + "update-sdk": "block-tools structure refresh --update-deps-only", + "fmt": "turbo run fmt", + "check": "turbo run check", + "test:dry-run": "env PL_BUILD_CHANNEL=dev PL_BUILD_VARIANT=binary PL_BUILD_LOCATION=local turbo run test --dry-run=json", + "do-pack": "turbo run do-pack", + "upgrade-sdk": "block-tools structure refresh --update-deps-only && pnpm i && block-tools structure refresh && pnpm i && pnpm fmt", + "build:dev-local": "env PL_BUILD_CHANNEL=dev PL_BUILD_VARIANT=all PL_BUILD_LOCATION=local turbo run build", + "build:dev-remote": "env PL_BUILD_CHANNEL=dev PL_BUILD_VARIANT=all PL_BUILD_LOCATION=remote turbo run build", + "build:dev-no-software": "env PL_BUILD_CHANNEL=dev PL_BUILD_VARIANT=none turbo run build", + "build:dev-binary-existing": "env PL_BUILD_CHANNEL=dev PL_BUILD_USE_PUBLISHED=true turbo run build", + "build:release": "env PL_BUILD_CHANNEL=release PL_BUILD_VARIANT=all PL_BUILD_LOCATION=remote turbo run build" }, "devDependencies": { - "turbo": "catalog:", "@changesets/cli": "catalog:", - "@platforma-sdk/blocks-deps-updater": "catalog:" + "@milaboratories/ts-builder": "catalog:", + "@platforma-sdk/block-tools": "catalog:", + "shx": "catalog:", + "turbo": "catalog:" }, - "packageManager": "pnpm@9.12.0", - "//pnpm": { - "overrides": { - "@platforma-sdk/model": "/Users/elenaerokhina/projects/platforma/sdk/model/package.tgz", - "@milaboratories/pl-model-common": "/Users/elenaerokhina/projects/platforma/lib/model/common/package.tgz", - "@milaboratories/graph-maker": "/Users/elenaerokhina/projects/visualizations/packages/graph-maker/package.tgz", - "@milaboratories/miplots4": "/Users/elenaerokhina/projects/visualizations/packages/miplots4/package.tgz", - "@milaboratories/pf-plots": "/Users/elenaerokhina/projects/visualizations/packages/pf-plots/package.tgz" - } - } -} \ No newline at end of file + "peerDependencies": { + "oxfmt": "*", + "oxlint": "*" + }, + "packageManager": "pnpm@9.12.0" +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c34ee1c..3b3f285 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,64 +16,89 @@ catalogs: specifier: 1.14.5 version: 1.14.5 '@milaboratories/ts-builder': - specifier: 1.6.1 - version: 1.6.1 + specifier: 1.7.2 + version: 1.7.2 '@milaboratories/ts-configs': - specifier: 1.3.1 - version: 1.3.1 + specifier: 1.4.0 + version: 1.4.0 + '@platforma-sdk/block-kind': + specifier: 1.1.0 + version: 1.1.0 '@platforma-sdk/block-tools': - specifier: 2.15.0 - version: 2.15.0 - '@platforma-sdk/blocks-deps-updater': - specifier: 2.2.0 - version: 2.2.0 + specifier: 2.15.2 + version: 2.15.2 '@platforma-sdk/model': - specifier: 1.80.13 - version: 1.80.13 + specifier: 1.83.17 + version: 1.83.17 '@platforma-sdk/tengo-builder': - specifier: 4.0.20 - version: 4.0.20 + specifier: 4.0.27 + version: 4.0.27 '@platforma-sdk/test': - specifier: 1.80.13 - version: 1.80.13 + specifier: 1.83.17 + version: 1.83.17 '@platforma-sdk/ui-vue': - specifier: 1.80.13 - version: 1.80.13 + specifier: 1.83.17 + version: 1.83.17 '@platforma-sdk/workflow-tengo': - specifier: 6.8.2 - version: 6.8.2 + specifier: 6.10.1 + version: 6.10.1 sass: specifier: ^1.89.2 version: 1.89.2 + shx: + specifier: ~0.4.0 + version: 0.4.0 turbo: specifier: ^2.5.5 version: 2.5.5 typescript: specifier: ^5.9.2 - version: 5.9.2 + version: 5.9.3 vitest: specifier: ^3.2.4 version: 3.2.4 vue: - specifier: ~3.5.24 + specifier: 3.5.24 version: 3.5.24 importers: .: + dependencies: + oxfmt: + specifier: '*' + version: 0.35.0 + oxlint: + specifier: '*' + version: 1.63.0 devDependencies: '@changesets/cli': specifier: 'catalog:' version: 2.29.7(@types/node@24.5.2) - '@platforma-sdk/blocks-deps-updater': + '@milaboratories/ts-builder': + specifier: 'catalog:' + version: 1.7.2(@microsoft/api-extractor@7.52.13(@types/node@24.5.2))(@types/node@24.5.2)(@volar/typescript@2.4.28)(@vue/language-core@3.3.10)(rollup@4.52.0)(sass@1.89.2)(vue@3.5.24(typescript@7.0.2))(yaml@2.8.1) + '@platforma-sdk/block-tools': specifier: 'catalog:' - version: 2.2.0 + version: 2.15.2(@types/node@24.5.2) + shx: + specifier: 'catalog:' + version: 0.4.0 turbo: specifier: 'catalog:' version: 2.5.5 block: - dependencies: + devDependencies: + '@milaboratories/ts-builder': + specifier: 'catalog:' + version: 1.7.2(@microsoft/api-extractor@7.52.13(@types/node@24.5.2))(@types/node@24.5.2)(@volar/typescript@2.4.28)(@vue/language-core@3.3.10)(rollup@4.52.0)(sass@1.89.2)(vue@3.5.24(typescript@5.9.3))(yaml@2.8.1) + '@milaboratories/ts-configs': + specifier: 'catalog:' + version: 1.4.0 + '@platforma-open/milaboratories.graph-maker.kind': + specifier: workspace:* + version: link:../kind '@platforma-open/milaboratories.graph-maker.model': specifier: workspace:* version: link:../model @@ -83,48 +108,90 @@ importers: '@platforma-open/milaboratories.graph-maker.workflow': specifier: workspace:* version: link:../workflow + '@platforma-sdk/block-tools': + specifier: 'catalog:' + version: 2.15.2(@types/node@24.5.2) '@platforma-sdk/model': specifier: 'catalog:' - version: 1.80.13 + version: 1.83.17 + shx: + specifier: 'catalog:' + version: 0.4.0 + typescript: + specifier: 'catalog:' + version: 5.9.3 + + kind: + dependencies: + '@milaboratories/graph-maker': + specifier: 'catalog:' + version: 1.8.0(@milaboratories/pl-model-common@1.49.0)(@platforma-sdk/model@1.83.17)(@platforma-sdk/ui-vue@1.83.17(@bytecodealliance/preview2-shim@0.17.8)(typescript@7.0.2))(d3-dispatch@3.0.1)(d3-path@3.1.0)(d3-scale-chromatic@3.1.0)(typescript@7.0.2) + '@platforma-sdk/block-kind': + specifier: 'catalog:' + version: 1.1.0 + '@types/node': + specifier: '*' + version: 24.5.2 + typescript: + specifier: '*' + version: 7.0.2 devDependencies: + '@milaboratories/ts-builder': + specifier: 'catalog:' + version: 1.7.2(@microsoft/api-extractor@7.52.13(@types/node@24.5.2))(@types/node@24.5.2)(@volar/typescript@2.4.28)(@vue/language-core@3.3.10)(rollup@4.52.0)(sass@1.89.2)(vue@3.5.24(typescript@7.0.2))(yaml@2.8.1) + '@milaboratories/ts-configs': + specifier: 'catalog:' + version: 1.4.0 '@platforma-sdk/block-tools': specifier: 'catalog:' - version: 2.15.0(@types/node@24.5.2) + version: 2.15.2(@types/node@24.5.2) model: dependencies: '@milaboratories/graph-maker': specifier: 'catalog:' - version: 1.8.0(@milaboratories/pl-model-common@1.48.0)(@platforma-sdk/model@1.80.13)(@platforma-sdk/ui-vue@1.80.13(@bytecodealliance/preview2-shim@0.17.8)(typescript@5.9.2))(d3-dispatch@3.0.1)(d3-path@3.1.0)(d3-scale-chromatic@3.1.0)(typescript@5.9.2) + version: 1.8.0(@milaboratories/pl-model-common@1.49.0)(@platforma-sdk/model@1.83.17)(@platforma-sdk/ui-vue@1.83.17(@bytecodealliance/preview2-shim@0.17.8)(typescript@5.9.3))(d3-dispatch@3.0.1)(d3-path@3.1.0)(d3-scale-chromatic@3.1.0)(typescript@5.9.3) + '@platforma-open/milaboratories.graph-maker.kind': + specifier: workspace:* + version: link:../kind '@platforma-sdk/model': specifier: 'catalog:' - version: 1.80.13 + version: 1.83.17 + '@types/node': + specifier: '*' + version: 24.5.2 + typescript: + specifier: '*' + version: 5.9.3 devDependencies: '@milaboratories/ts-builder': specifier: 'catalog:' - version: 1.6.1(@types/node@24.5.2)(rollup@4.52.0)(sass@1.89.2)(vue@3.5.24(typescript@5.9.2))(yaml@2.8.1) + version: 1.7.2(@microsoft/api-extractor@7.52.13(@types/node@24.5.2))(@types/node@24.5.2)(@volar/typescript@2.4.28)(@vue/language-core@3.3.10)(rollup@4.52.0)(sass@1.89.2)(vue@3.5.24(typescript@5.9.3))(yaml@2.8.1) '@milaboratories/ts-configs': specifier: 'catalog:' - version: 1.3.1 + version: 1.4.0 '@platforma-sdk/block-tools': specifier: 'catalog:' - version: 2.15.0(@types/node@24.5.2) - typescript: - specifier: 'catalog:' - version: 5.9.2 + version: 2.15.2(@types/node@24.5.2) test: dependencies: this-block: specifier: workspace:@platforma-open/milaboratories.graph-maker@* version: link:../block + typescript: + specifier: '*' + version: 5.9.3 devDependencies: - '@platforma-sdk/test': + '@milaboratories/ts-builder': specifier: 'catalog:' - version: 1.80.13(@bytecodealliance/preview2-shim@0.17.8)(@types/node@24.5.2)(vite@7.1.7(@types/node@24.5.2)(lightningcss@1.32.0)(sass@1.89.2)(yaml@2.8.1)) - typescript: + version: 1.7.2(@microsoft/api-extractor@7.52.13(@types/node@24.5.2))(@types/node@24.5.2)(@volar/typescript@2.4.28)(@vue/language-core@3.3.10)(rollup@4.52.0)(sass@1.89.2)(vue@3.5.24(typescript@5.9.3))(yaml@2.8.1) + '@milaboratories/ts-configs': + specifier: 'catalog:' + version: 1.4.0 + '@platforma-sdk/test': specifier: 'catalog:' - version: 5.9.2 + version: 1.83.17(@bytecodealliance/preview2-shim@0.17.8)(@types/node@24.5.2)(vite@7.1.7(@types/node@24.5.2)(lightningcss@1.32.0)(sass@1.89.2)(yaml@2.8.1)) vitest: specifier: 'catalog:' version: 3.2.4(@types/node@24.5.2)(lightningcss@1.32.0)(sass@1.89.2)(yaml@2.8.1) @@ -133,7 +200,7 @@ importers: dependencies: '@milaboratories/graph-maker': specifier: 'catalog:' - version: 1.8.0(@milaboratories/pl-model-common@1.47.3)(@platforma-sdk/model@1.80.13)(@platforma-sdk/ui-vue@1.80.13(@bytecodealliance/preview2-shim@0.17.8)(typescript@5.9.2))(d3-dispatch@3.0.1)(d3-path@3.1.0)(d3-scale-chromatic@3.1.0)(typescript@5.9.2) + version: 1.8.0(@milaboratories/pl-model-common@1.49.0)(@platforma-sdk/model@1.83.17)(@platforma-sdk/ui-vue@1.83.17(@bytecodealliance/preview2-shim@0.17.8)(typescript@5.9.3))(d3-dispatch@3.0.1)(d3-path@3.1.0)(d3-scale-chromatic@3.1.0)(typescript@5.9.3) '@milaboratories/helpers': specifier: 'catalog:' version: 1.14.5 @@ -142,36 +209,45 @@ importers: version: link:../model '@platforma-sdk/model': specifier: 'catalog:' - version: 1.80.13 + version: 1.83.17 '@platforma-sdk/ui-vue': specifier: 'catalog:' - version: 1.80.13(@bytecodealliance/preview2-shim@0.17.8)(typescript@5.9.2) + version: 1.83.17(@bytecodealliance/preview2-shim@0.17.8)(typescript@5.9.3) + '@types/node': + specifier: '*' + version: 24.5.2 + typescript: + specifier: '*' + version: 5.9.3 vue: specifier: 'catalog:' - version: 3.5.24(typescript@5.9.2) + version: 3.5.24(typescript@5.9.3) devDependencies: '@milaboratories/ts-builder': specifier: 'catalog:' - version: 1.6.1(@types/node@24.5.2)(rollup@4.52.0)(sass@1.89.2)(vue@3.5.24(typescript@5.9.2))(yaml@2.8.1) + version: 1.7.2(@microsoft/api-extractor@7.52.13(@types/node@24.5.2))(@types/node@24.5.2)(@volar/typescript@2.4.28)(@vue/language-core@3.3.10)(rollup@4.52.0)(sass@1.89.2)(vue@3.5.24(typescript@5.9.3))(yaml@2.8.1) '@milaboratories/ts-configs': specifier: 'catalog:' - version: 1.3.1 + version: 1.4.0 sass: specifier: 'catalog:' version: 1.89.2 - typescript: - specifier: 'catalog:' - version: 5.9.2 workflow: dependencies: '@platforma-sdk/workflow-tengo': specifier: 'catalog:' - version: 6.8.2 + version: 6.10.1 devDependencies: '@platforma-sdk/tengo-builder': specifier: 'catalog:' - version: 4.0.20 + version: 4.0.27 + '@platforma-sdk/test': + specifier: 'catalog:' + version: 1.83.17(@bytecodealliance/preview2-shim@0.17.8)(@types/node@24.5.2)(vite@8.0.10(@types/node@24.5.2)(sass@1.89.2)(yaml@2.8.1)) + shx: + specifier: 'catalog:' + version: 0.4.0 packages: @@ -413,10 +489,6 @@ packages: resolution: {integrity: sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==} engines: {node: '>=6.9.0'} - '@babel/generator@8.0.0': - resolution: {integrity: sha512-NT9NrVwJsbSV6Y2FSstWa71EETOnzrjkL5/wX3D2mYHtKM+qvqB1DvR4D0Setb/gDBsHzRICifwEWMO8CnTF6g==} - engines: {node: ^22.18.0 || >=24.11.0} - '@babel/helper-compilation-targets@7.28.6': resolution: {integrity: sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==} engines: {node: '>=6.9.0'} @@ -439,18 +511,10 @@ packages: resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@8.0.0': - resolution: {integrity: sha512-6mJgmFFFIIO82vvoLt9XtRC7/TkzXfts1t/SpRX4IHSzMgqoPYCWesVu1udUPUWioAE/2fcG6WuI8zrkE1gwrg==} - engines: {node: ^22.18.0 || >=24.11.0} - '@babel/helper-validator-identifier@7.28.5': resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@8.0.4': - resolution: {integrity: sha512-4wFaiLd0bVo4cIoTXI3zKI038NIWE/cr3jvBjejOVYVxV/m8Ltav1USiGzG1fmS5J2RhgEOgXNNK46cRPnRsrg==} - engines: {node: ^22.18.0 || >=24.11.0} - '@babel/helper-validator-option@7.27.1': resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} engines: {node: '>=6.9.0'} @@ -459,21 +523,11 @@ packages: resolution: {integrity: sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==} engines: {node: '>=6.9.0'} - '@babel/parser@7.28.5': - resolution: {integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==} - engines: {node: '>=6.0.0'} - hasBin: true - '@babel/parser@7.29.0': resolution: {integrity: sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/parser@8.0.4': - resolution: {integrity: sha512-srpptsAkEbbNIC/q8nT7o+m6CQe8CJUTV/t7MYc9NnWlgYVtHOb7JH6SorxMhN0kuRJjVqXbKClG6xSbPtzz+g==} - engines: {node: ^22.18.0 || >=24.11.0} - hasBin: true - '@babel/runtime@7.28.4': resolution: {integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==} engines: {node: '>=6.9.0'} @@ -486,18 +540,10 @@ packages: resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==} engines: {node: '>=6.9.0'} - '@babel/types@7.28.5': - resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==} - engines: {node: '>=6.9.0'} - '@babel/types@7.29.0': resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} engines: {node: '>=6.9.0'} - '@babel/types@8.0.4': - resolution: {integrity: sha512-eY+Yn3dCqTGmyiq2QRU66lA5FL8lqqqvecHt0fF3uHONIa7ToYsaCiWV8lOKqAs0Rb2SjixiKFROngnulPtt2g==} - engines: {node: ^22.18.0 || >=24.11.0} - '@bufbuild/protobuf@2.9.0': resolution: {integrity: sha512-rnJenoStJ8nvmt9Gzye8nkYd6V22xUAnu4086ER7h1zJ508vStko4pMvDeQ446ilDTFpV5wnoc5YS7XvMwwMqA==} @@ -622,21 +668,12 @@ packages: '@emnapi/core@1.10.0': resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==} - '@emnapi/core@2.0.0-alpha.3': - resolution: {integrity: sha512-AZypUeJ/yByuxyS7BlSNRDOMLMlROYtjYdIAuBmJssVz1UJDSeYxLrdizhXCFYhedC5bqd/ASy8EuNXbVVXp9g==} - '@emnapi/runtime@1.10.0': resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==} - '@emnapi/runtime@2.0.0-alpha.3': - resolution: {integrity: sha512-hFPAhMUjJD9BSyCANEISPOogeXC9Zo9ZQl7L6vKnaVsMkCtzznaW/naYypeyl0Gv5rYfWYsZbpixTMpjDJzQeA==} - '@emnapi/wasi-threads@1.2.1': resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} - '@emnapi/wasi-threads@2.0.1': - resolution: {integrity: sha512-9DsSk+o5NBX0CCJT8s0EROGSGxjR/tKu6aBTaVyq+SjAEQH4XcdcRxPBRzsBLizTTJ49MJjF+jgu3qnO9GLQcQ==} - '@esbuild/aix-ppc64@0.25.10': resolution: {integrity: sha512-0NFWnA+7l41irNuaSVlLfgNT12caWJVLzp5eAVhZ0z1qpxbockccEt3s+149rE64VUI3Ml2zt8Nv5JVc4QXTsw==} engines: {node: '>=18'} @@ -793,19 +830,10 @@ packages: cpu: [x64] os: [win32] - '@grpc/grpc-js@1.13.4': - resolution: {integrity: sha512-GsFaMXCkMqkKIvwCQjCrwH+GHbPKBjhwo/8ZuUkWHqbI73Kky9I+pQltrlT0+MWpedCoosda53lgjYfyEPgxBg==} - engines: {node: '>=12.10.0'} - '@grpc/grpc-js@1.14.4': resolution: {integrity: sha512-k9Dj3DV/itK9D06Y8f190Qgop7/Ui+D0njFV3LHMPwPT75DpXLQohE9Wmz0QElrJnzsjB7KPWiKJbOl7IPDArQ==} engines: {node: '>=12.10.0'} - '@grpc/proto-loader@0.7.15': - resolution: {integrity: sha512-tMXdRCfYVixjuFK+Hk0Q1s38gV9zDiDJfWL3h1rv4Qc39oILCu1TRTDt7+fGUI8K4G1Fj125Hx/ru3azECWTyQ==} - engines: {node: '>=6'} - hasBin: true - '@grpc/proto-loader@0.8.1': resolution: {integrity: sha512-wtF6h+DY6M3YaDBPAmvuuA6jV8Sif9MjtOI5euKFWRgCDl5PeDpPsHR9u2l6St5ceY8AZgoNDww5+HvEsXFsGg==} engines: {node: '>=6'} @@ -974,20 +1002,20 @@ packages: resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} engines: {node: '>=8'} - '@jitl/quickjs-ffi-types@0.31.0': - resolution: {integrity: sha512-1yrgvXlmXH2oNj3eFTrkwacGJbmM0crwipA3ohCrjv52gBeDaD7PsTvFYinlAnqU8iPME3LGP437yk05a2oejw==} + '@jitl/quickjs-ffi-types@0.32.0': + resolution: {integrity: sha512-v9T+GQpmk43VDJ7d72sf0Nexhk+ArvtUihW27dy7lqAl0zBObFKtSBBIm5RBjwIhE8VwsPPm9PNuvPvNqLWUEg==} - '@jitl/quickjs-wasmfile-debug-asyncify@0.31.0': - resolution: {integrity: sha512-YkdzQdr1uaftFhgEnTRjTTZHk2SFZdpWO7XhOmRVbi6CEVsH9g5oNF8Ta1q3OuSJHRwwT8YsuR1YzEiEIJEk6w==} + '@jitl/quickjs-wasmfile-debug-asyncify@0.32.0': + resolution: {integrity: sha512-EX8zbXwGqCgAE764M+qvkHtyXDi/FUoMBea0JnES7vCM3P7a2+EOZOjGv85wtZ2sJhI1oJ+nekmqpOODFDY+hw==} - '@jitl/quickjs-wasmfile-debug-sync@0.31.0': - resolution: {integrity: sha512-8XvloaaWBONqcHXYs5tWOjdhQVxzULilIfB2hvZfS6S+fI4m2+lFiwQy7xeP8ExHmiZ7D8gZGChNkdLgjGfknw==} + '@jitl/quickjs-wasmfile-debug-sync@0.32.0': + resolution: {integrity: sha512-LeYWrPGC1uNCTBWvibo3ZLJj0CSVNYUXvJpXMCmuQ5Sap2cCACc3uvGvYV4homHHBAzfw5akoTqMMS4YFRtw+Q==} - '@jitl/quickjs-wasmfile-release-asyncify@0.31.0': - resolution: {integrity: sha512-uz0BbQYTxNsFkvkurd7vk2dOg57ElTBLCuvNtRl4rgrtbC++NIndD5qv2+AXb6yXDD3Uy1O2PCwmoaH0eXgEOg==} + '@jitl/quickjs-wasmfile-release-asyncify@0.32.0': + resolution: {integrity: sha512-3oSwPfja12ICz4aIblB58cuY8JlEq5Txt8Cut4VLo+LH47QN+mzCnSgnbB03hWzg1LBcc+VyyI9UOag7a1NF+Q==} - '@jitl/quickjs-wasmfile-release-sync@0.31.0': - resolution: {integrity: sha512-hYduecOByj9AsAfsJhZh5nA6exokmuFC8cls39+lYmTCGY51bgjJJJwReEu7Ff7vBWaQCL6TeDdVlnp2WYz0jw==} + '@jitl/quickjs-wasmfile-release-sync@0.32.0': + resolution: {integrity: sha512-BKNDI/TPBfGlLNGYpLrhcDGXmIk4xHm4MRAisOBnOzpXVn9HZWsfmMAc9WMBrAHjvvds6HOikKeaOBKdPdpVrg==} '@jridgewell/gen-mapping@0.3.13': resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} @@ -1002,6 +1030,9 @@ packages: '@jridgewell/sourcemap-codec@1.5.5': resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + '@jridgewell/sourcemap-codec@1.6.0': + resolution: {integrity: sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw==} + '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} @@ -1032,8 +1063,8 @@ packages: '@microsoft/tsdoc@0.15.1': resolution: {integrity: sha512-4aErSrCR/On/e5G2hDP0wjooqDdauzEbIq8hIkIe5pXV0rtWJZvdCEKL0ykZxex+IxIwBp0eGeV48hQN07dXtw==} - '@milaboratories/columns-collection-driver@0.2.3': - resolution: {integrity: sha512-3rNWmuQGvEaBEzGMHIWeOi1p8j8sMDpnPKNUQvT0Ji7/ArvnfM5HK8dywxB+n3mLK8c11lW16+auM5xuydJXGw==} + '@milaboratories/columns-collection-driver@0.2.5': + resolution: {integrity: sha512-34GWMESzpu6MGEiDCLPuglVL3MSPt3MFKGJQfKHLjmVn725bZQ2kjRjPDLZxAqs6v85GNm3PHtAub0/dqoGZYw==} '@milaboratories/computable@2.9.8': resolution: {integrity: sha512-X0ZtxOnIJlAd9Y7CyBtWSKHgVuTKXbIryMwJaoYSEz0gY3JZVnsD0f59J/lwe3Key0/lSYh3EbL/pP5jACIzfQ==} @@ -1056,8 +1087,8 @@ packages: '@milaboratories/miplots4@1.5.0': resolution: {integrity: sha512-f37VKK3/954KTnjwLlFVnAwCfs02Zb3jEUqymxc6ph0G9lEzPziTdPkCicyLIpyn6VDDbgoEM7h9zax+I3btoA==} - '@milaboratories/pf-driver@1.8.5': - resolution: {integrity: sha512-w9GqvYClb7q4BkvHvKeUa8JrcnO/uAN7OrN5aLTs8cmMp5JQGHm13N5KQOQ5I1Tj9slREk+x+QOsRrPO0HQFCA==} + '@milaboratories/pf-driver@1.9.2': + resolution: {integrity: sha512-inQHRTLRWJWbXMV+p1fLyd4hTBvupNx9PFIhofblcOFnf2JAe5sEvnuCA0SRg7ZfDZdzLyPbtlXGjB20S+7Dpw==} engines: {node: '>=22.19.0'} '@milaboratories/pf-plots@1.5.0': @@ -1066,92 +1097,80 @@ packages: '@milaboratories/pl-model-common': 1.46.4 '@platforma-sdk/model': 1.79.27 - '@milaboratories/pf-spec-driver@1.4.24': - resolution: {integrity: sha512-ZGDodKhtw8gMIFUU2tFB8SmMmmFX13ywIemJApHQZsDBFNwmXdCQaj2jweKzJkOu+nZMrAi2gTE2dWd1CcfYSg==} - - '@milaboratories/pframes-rs-node@1.1.56': - resolution: {integrity: sha512-H6qltcR+HHb2kAy0U0zP90rqmv/MZGGkdXIyf89FUZTpoHOlXG4Ahxq7wXp9vviUczci4cLl2L0Q+dL2XGcsUA==} + '@milaboratories/pf-spec-driver@1.5.2': + resolution: {integrity: sha512-u14PAeAXWUR7fQGyCNTR3dTBVlfRNrXvyFqAzUxjPhF/97Bs4JJ33JDzx5RtFtDOXK/lUijrruSB83Cd0i8AIg==} - '@milaboratories/pframes-rs-serv@1.1.56': - resolution: {integrity: sha512-Pi0CRuvkfL+PqdgQ8im0MW5tqVjUvJ8hJbOG7v5pS45adg8tuq4TyrAoWN7un9ZWQ6KRLypUD+7eXCwhjOwADg==} - hasBin: true + '@milaboratories/pf-spec@1.0.2': + resolution: {integrity: sha512-YV6Q7w8CZJ0DVHR9O8nGZIJvyIjWd2VrWTWRTj7a+3DjLY8XjN8Duaa/0VbN3lt8+lzVE/ueXtcnaNqQk2wmjA==} + peerDependencies: + '@bytecodealliance/preview2-shim': ^0.20.1 - '@milaboratories/pframes-rs-wasip2@1.1.56': - resolution: {integrity: sha512-54bhC6XCAVO09J/sqVwEKA4hhTa27BDDNdH8BE+6+LvjBVkg/qq2/f0MzdrVijrmagbr97F1zgj5wIgUqwCSoA==} + '@milaboratories/pframes-rs-node@1.1.60': + resolution: {integrity: sha512-RXyBVAcFY6mu/Msgl6J78VK84fZ7PpRsb26t1cRV8ehJmRfQFweasEy0u6wVAT/Z+kH9wSnKV0+SFbTuqMS05A==} - '@milaboratories/pframes-rs-wasm@1.1.56': - resolution: {integrity: sha512-k/RQqiF+SwoOtFnYQ+i34Lzna8prOoFbLHaPY5oEUOrB/czehosFMzRQJAeFDKOxI/SbrH4D5jmWzTgUuhavLQ==} - peerDependencies: - '@bytecodealliance/preview2-shim': 0.17.9 - '@milaboratories/pl-model-common': 1.46.2 - '@milaboratories/pl-model-middle-layer': 1.30.7 + '@milaboratories/pframes-rs-serv@1.1.60': + resolution: {integrity: sha512-n0hcdYPxCbEtQ0ixiFrPBgyFoe/7tpM8G+mbBhgFSZLB4azwmEJHFkkT9DTW41c7jFIbRshXf3CQDjF/rOExbQ==} + hasBin: true - '@milaboratories/pl-client@3.14.4': - resolution: {integrity: sha512-LljKMbKa8zl2lNFkg3VthMx9E6308B5vSH7dtWnlVz20ZU1GF7steToGv5gWs1lwUtm4GRU7kmmsMzU9a7l2yg==} - engines: {node: '>=22.19.0'} + '@milaboratories/pframes-rs-wasip2@1.1.60': + resolution: {integrity: sha512-7P2Xgm5IcHl7yooaLAHxt+Fgv8Hqj8oF4MH5PjcqkyXOlx8sKrC+19Vow2QcVLVUt/cOxnxXODe/1K8ej1mAbQ==} - '@milaboratories/pl-client@3.16.0': - resolution: {integrity: sha512-5gZGDLWQUYWjEuRxJb0Vlt/siBI3Y+kkRNKC9bl3knm+BJkJ3sAROPrCViJNpA73I8IrOdxX/dC49cqNzEaHxQ==} + '@milaboratories/pl-client@3.16.2': + resolution: {integrity: sha512-Il7TAr6/DNHA+BMXkMCa3r46MZnTPuDvGZsg5UlTSZPcwPSXDSsvg3OVu6BxwbQQ0Q5du3HOPISJnZntVdQuAw==} engines: {node: '>=22.19.0'} '@milaboratories/pl-config@1.8.5': resolution: {integrity: sha512-XnfYXSSkRxeImQ21k6I8y5apisvagcSgMGfEeyRxNdSGwUVJbbI8TwJk+XBEDQ4lErW8oqtLxKjFQuHJMzRUoQ==} - '@milaboratories/pl-deployments@3.0.14': - resolution: {integrity: sha512-ltkbSlNf7kIHxZ5SG0L7MVxlGa2NKwjN051NzJ6mF0DsWVpn6kcSz1usIsmpJnK7F7xprDKDgVD/YbtMJipy+A==} + '@milaboratories/pl-deployments@3.0.17': + resolution: {integrity: sha512-r6FRMqHleGNShS+sJhOslef+hr6IyIVDZ5MPZwLy1vPqwYP4AuPngExT+KAMs/6x9/q0xpmFXUq3vUq0dqraXQ==} engines: {node: '>=22.19.0'} - '@milaboratories/pl-drivers@1.16.13': - resolution: {integrity: sha512-OB6J2Lbp41G2cGsQFqtB5wj6L3ThH8H6GarsSSaSPJY4KhaLTIt/CXZZg1yCASoovD1DzUtju3nEDawFCppFyw==} + '@milaboratories/pl-drivers@1.16.21': + resolution: {integrity: sha512-Q5HODzaVOwoi0K84rnPhbL7tKO9W8WcLgSGSCinYyyloFr919iWW0phbZsyO0x/ju/A1E7riuJEUbTkIYFQ4jw==} engines: {node: '>=22'} '@milaboratories/pl-error-like@1.12.10': resolution: {integrity: sha512-iHmnLG5lxJqcymUmEL8onCDGEADk1S/5RNACQ5yfTCNcCkUc+7hYrDHQpFmWXPPGC9sG+NTBxt4wr5m8UsLm2g==} - '@milaboratories/pl-errors@1.4.33': - resolution: {integrity: sha512-ijKj4jMJlWzihOWLq6Q/HWfFhMyuRY5hmnR/HzlHNf/tjhKa5/yCx2H9V5HduH81xORgPSRceTrDUZy1cqXwTQ==} + '@milaboratories/pl-errors@1.4.40': + resolution: {integrity: sha512-0gHwWIYjXiFy6Hgbn4IHQ5W7623/JBj+NZv8iqdLi++QCYWVDIavGL91TKv8q9r2qBoAsVqvSiR4fqSvo+fNuw==} + + '@milaboratories/pl-flight-recorder@0.2.1': + resolution: {integrity: sha512-KFQGoufvekv23W+le7fhhk8xTljGa/sIWfvNdZ39vMSc/1pyuhsquUMzXlzs5vKop5KyttTAr2vKZnGdpsdL0A==} - '@milaboratories/pl-healthcheck@1.0.4': - resolution: {integrity: sha512-VLoF7iW7px8BG+vTT/nQ+qkJDNSsXUivRsyZlbM7VCxKdVrZwPfn/rqQIJ4g6daBONVtCqUhAFi52IeXRg5mxg==} + '@milaboratories/pl-healthcheck@1.0.5': + resolution: {integrity: sha512-ZkQti4VU2FapJBFRtZGfR5NDPXEAEFgTf/NfemypgY0aA75fFPi4/c3BpXX5K7dht+JOgHqkMrBHxKIuE2T+fA==} engines: {node: '>=22.19.0'} '@milaboratories/pl-http@1.2.4': resolution: {integrity: sha512-QKmhx+WEvJCV9dUy/SBdQk/ApaJ5ewBFgm/b+XPlS10SusAdqUUTGvK5+hq8YSuUMXlHb/dk++UtI5YlDuDl2Q==} - '@milaboratories/pl-middle-layer@1.66.12': - resolution: {integrity: sha512-++zIcgGOCOX0yDAIN8E3HknV8LGY1D5RlB+odNz6ShjXu+TycZckQDidr9eud5g3TfYqBzt++ZwKLKLoXzNZQg==} + '@milaboratories/pl-middle-layer@1.71.5': + resolution: {integrity: sha512-NjSlO/l5dbW22PTCPG4kO2FxdcQnZZhlq8QGt5jcyGAo5hryJwJ1JwCxahd3nKOEB5vfWL76sZfooLwBwSuSOQ==} engines: {node: '>=22.19.0'} - '@milaboratories/pl-model-backend@1.4.18': - resolution: {integrity: sha512-cDSreI5DV25v9JmiRDMdp8c2+ZxJgeIjnybsuToVbBwDHoANFqB+2Nsxos5jzU2nxCx5kt2KYJw9/tweuSC4xQ==} - - '@milaboratories/pl-model-backend@1.4.23': - resolution: {integrity: sha512-r1xBRXyDdvyWo+9SQZCmMVvItoP8BSbHRN7ikTQpIpFdWyE5FgfSKgrJEhutVzghNnYyhd1+Ea/owasaOy2jkg==} + '@milaboratories/pl-model-backend@1.4.25': + resolution: {integrity: sha512-O+kr7+Ud/fVvR//Hhahg04ywX0UO+jMCA7/NEimR5UFAhjHPeBEXRIKsha3m0NOIgTwR+Lxe7LSxU81cJXKplw==} '@milaboratories/pl-model-common@1.46.2': resolution: {integrity: sha512-VEeauisApYScvCS8lnK3zpFJ520xuTAodKJmjR8ulHcMrWMyWMfHEdGb7j5OMD0mM/OwTgmQrrJ5eB7Xd+xoOQ==} - '@milaboratories/pl-model-common@1.47.3': - resolution: {integrity: sha512-tXmKujm+6ru/Fh9hr9H3iRBWbS+JE0Q7FNualtzJpijaB3SNtScR4erLTamdANv5RYNn7kbYpDWr6wAjAOajrg==} - - '@milaboratories/pl-model-common@1.48.0': - resolution: {integrity: sha512-oCVrjFNmjQolb7YWnbSGHnp6GGVm1PhG1lnNABp9lqYjvA2ISjIPQLIo/vT2ca0mqwLrEvbuRqiqSFOg7sQ5tQ==} - - '@milaboratories/pl-model-middle-layer@1.30.15': - resolution: {integrity: sha512-oBkVlKR+qgsQR74N8G3aW3wBaJw78+9HJjnaNbH7QrTjKq4pno7wTXdrz7Ptk6Tu4SWfkcecXY6+xCnkDKr4eQ==} + '@milaboratories/pl-model-common@1.49.0': + resolution: {integrity: sha512-xTPt0gYwUUQPdqO8jMAqHi7TSkReZdBVN27LLWtsIsF0E2QIcTxdiipAdFxRH7xKbD5X6iXsyWgWrKDCck9Q0g==} '@milaboratories/pl-model-middle-layer@1.30.7': resolution: {integrity: sha512-rs9x3Ron4ujR/UOdEgB8WUB1SvZ8ZAScT1Av/e4or+iiQ/CzhmK9nqtYamHVwKV+JgwIFbXQwxGvIHDVz955dQ==} - '@milaboratories/pl-model-middle-layer@1.32.0': - resolution: {integrity: sha512-X1iLGgOwzkw8mQ/GfTxfOTJakBJ26np85h5HqUziMbVkFL0SR7wpd7xpgUs6TKVkYNM8viAv3iA2k63Yc5SahQ==} + '@milaboratories/pl-model-middle-layer@1.32.1': + resolution: {integrity: sha512-MSodImNNOXnzWzQrCZbDdCl6ZbNzZQ1+uywpV7R4vZmuGwnLDym+zjTjB0H+maOLR5DGzG3QvUSP8R6W0zA5Vw==} - '@milaboratories/pl-tree@1.13.4': - resolution: {integrity: sha512-MBucvNXZfam4/2pxmQloAMDlhqbvqDqKg2rYI2VhQFczYdswy+0z+h3d9T7Hw5ZL4rRHPZMETabHJBfyP06y4w==} + '@milaboratories/pl-tree@1.14.4': + resolution: {integrity: sha512-GakRU1lwsDtCyMqWFzwYLcIZn07TDd3ZzomUJa6cFBXwyCg3A7QWqmtllhcp8ul5v+z0Q3j/7ES7FjFgK0WX0Q==} engines: {node: '>=22.19.0'} - '@milaboratories/ptabler-expression-js@1.2.37': - resolution: {integrity: sha512-urVRk4b5Jse555euNNITlOJ437McZVtBnC5h/E6O+iHm+hfNIi6OP1aAD5ai4jOpHllm85zW5Ne7hVyyd71bJw==} + '@milaboratories/ptabler-expression-js@1.2.39': + resolution: {integrity: sha512-nhEw7aBnQA0dI69+e2CXQxc1kl+Um8uf9/eXfrd0jsnc/xvYoyAoAzerlgJA707ARWdcAlANpSqgsqeviJalzA==} '@milaboratories/resolve-helper@1.1.3': resolution: {integrity: sha512-38/dW/XRZQREOxAOOKtO0lzEWPCP/DH0qhB3q1kYcGoN++5V92/zbVwbYrMDeDcjTyo+D62iIep+sKXeWHa7Uw==} @@ -1164,19 +1183,19 @@ packages: os: [darwin, linux, win32] hasBin: true - '@milaboratories/ts-builder@1.6.1': - resolution: {integrity: sha512-0m+I8bdxw6mGTfPt+xW8OGvburrxLUpI/QZsyACHsXwyfVRfDKvWB3/9Hm053KzwHqrzpeuvidEBdKRVRAi9KQ==} + '@milaboratories/ts-builder@1.7.2': + resolution: {integrity: sha512-cHDscAjCDA5SXYkgE14kkbbzqYQfm6ltH0kWFcL8ZlxDzxUWo5AL6uziNJDBgZ6ybb4kEa4I+FMYwvEwh6VEkw==} hasBin: true - '@milaboratories/ts-configs@1.3.1': - resolution: {integrity: sha512-MfLF+qgDwnD2BuncGzFqQxKuqq/0KtXcXXftcvp8E08xY9cl5kkmBHX/H8RYAH4FvF6ghb56c3I6iaxIa5xIUw==} + '@milaboratories/ts-configs@1.4.0': + resolution: {integrity: sha512-VzU9D+RiggsG4VYteJSBN4o8IjYae9GbZ8MofikMJQLOI1Ir9/pVyPXXGnG/TAGvmcjbK/psAiZVGSvI5MBPGg==} '@milaboratories/ts-helpers@1.8.6': resolution: {integrity: sha512-ef01tARUl+0Urt3x8HHAByrhYHg4Rnn7WiFyJ+joZFZl1T1pUKTgfB7Zxc8Cn06HIl4i6H7s5OSymjZePIGqfQ==} engines: {node: '>=22.19.0'} - '@milaboratories/uikit@2.15.19': - resolution: {integrity: sha512-2Q67cQTHKLFAaHZxFukDM+hmRwRb934bxR9eZN5JYv+pZ5NG47/Fb62sI2OojW/rbtxTodEpjXbxCcj1GVRf8w==} + '@milaboratories/uikit@2.15.30': + resolution: {integrity: sha512-jviPS0S6XTxKdNzJXPZ4vVzdgRU+VKcp6BjYoM7NhgVJGTdW1MFIZrFtdKuqsspyDDC18YLnLwr8CoYR43xAxg==} '@napi-rs/wasm-runtime@1.1.4': resolution: {integrity: sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==} @@ -1184,13 +1203,6 @@ packages: '@emnapi/core': ^1.7.1 '@emnapi/runtime': ^1.7.1 - '@napi-rs/wasm-runtime@1.2.1': - resolution: {integrity: sha512-KjZdi8Q1wh89gsVmghvbrMgWl6ZWmRmHV6wjB7/g4Zf0dyO+hH3neZUtuDNPO00qq5YE5RITVWvrIZKRaAmzGQ==} - engines: {node: ^20.19.0 || ^22.13.0 || >=23.5.0} - peerDependencies: - '@emnapi/core': ^1.7.1 || ^2.0.0-alpha.3 - '@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.3 - '@noble/hashes@1.4.0': resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} engines: {node: '>= 16'} @@ -1217,8 +1229,8 @@ packages: '@oxc-project/types@0.127.0': resolution: {integrity: sha512-aIYXQBo4lCbO4z0R3FHeucQHpF46l2LbMdxRvqvuRuW2OxdnSkcng5B8+K12spgLDj93rtN3+J2Vac/TIO+ciQ==} - '@oxc-project/types@0.142.0': - resolution: {integrity: sha512-7W+2q5AKQVU36fkaryontrHn3YDt1RyUYXatw9i5H8ocYe2sPKSFB6eS8WNPeRKiN1qAWWZUPm7gwFzJGrccqQ==} + '@oxc-project/types@0.149.0': + resolution: {integrity: sha512-Efcc+iF0j3Bf67YjEqIqWXbX5XddXoK/Mw4K1/JuXwRCZ8N16VR7iT23nlCc9XrveFVh/E5Rqs2StT0V8v9LdA==} '@oxfmt/binding-android-arm-eabi@0.35.0': resolution: {integrity: sha512-BaRKlM3DyG81y/xWTsE6gZiv89F/3pHe2BqX2H4JbiB8HNVlWWtplzgATAE5IDSdwChdeuWLDTQzJ92Lglw3ZA==} @@ -1568,11 +1580,11 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} - '@platforma-open/milaboratories.software-ptabler.schema@1.15.21': - resolution: {integrity: sha512-3EWO64poe5VcBIgVIdIFHwN7nPi000kPuaRmlVt3xnnQZqXUYDFNZfZ2Mc9/mE1Eq3FLwQxcy/5mng7LvgWnXg==} + '@platforma-open/milaboratories.software-ptabler.schema@1.15.23': + resolution: {integrity: sha512-tCrPwxtzYvO33FsgpE3FCZx4aERVKjg77aVUaYC0RNisXW7fgqIqfkN30tQZZQ77v1A7E+PC31/oKsKScehOlw==} - '@platforma-open/milaboratories.software-ptabler@2.1.8': - resolution: {integrity: sha512-28dKwcKNIB/8OYH6l/li7Qa/aE2NgDVtNUmN8v6jZsLKT59ogFclz8ZrQ+OiQFzHQCLBlWBt5TdIHfHPxBaNFw==} + '@platforma-open/milaboratories.software-ptabler@2.1.9': + resolution: {integrity: sha512-n5HQa4S9Ih+bT6Zqb+MdmyFf9gVvoN6D28GzrrRF98C9Ez/9tBriDIf33R4cglkWkSNapHCuX9PIMNaFtFHNNg==} '@platforma-open/milaboratories.software-ptexter@1.2.4': resolution: {integrity: sha512-4ZqhqksSNVKWhEB9WwrL0rU89G+00ulzH1urYyNA4EdBVGA4mwbKbw0K/zcwce/oUYYMdRl+epXmr0w9wHyNzA==} @@ -1595,40 +1607,36 @@ packages: '@platforma-open/milaboratories.software-small-binaries@2.1.1': resolution: {integrity: sha512-KN1PR7YgUUfx1dxh/TtcoWpSZbOXbRxXzQuJ505qHuXuE0spYwC7bXnvJsEYbEwRcPMa0foTrjBnPNORE4yr+Q==} - '@platforma-sdk/block-tools@2.12.9': - resolution: {integrity: sha512-wtqkPsjMpan+XjP0GHa8pcJbj3CX0Jmzxjxez0sz+jGMiIqpsNV3sSTQGYj1zkgYA9Wi0lusKiNoVOYB7Jtmbw==} - hasBin: true + '@platforma-sdk/block-kind@1.1.0': + resolution: {integrity: sha512-4uh+40o6BGfQcPPhkYGCjng8EXR9qn+6i5Fuc3RJ5QGfPYfcwbxT35G2V7ALUxmsqjLZ5SGL+JcW6Lm2v0cZHA==} - '@platforma-sdk/block-tools@2.15.0': - resolution: {integrity: sha512-4HPRntfJx1alyJIvrq//cGQNs4ELVypH0AQ8JveeH0UAg1p9jW8/PIAdQzTTjT8VTB3Mphl3zqIzydz4hBfXvQ==} + '@platforma-sdk/block-tools@2.15.2': + resolution: {integrity: sha512-aMDEmenqGgKiZdJV3LBFjuMp35VIWsqDMDxLpnlxAikRkK50KmwCYgTdhvRYGP7sOLYTKeFmFuWAvYE2fXBWEg==} hasBin: true '@platforma-sdk/blocks-deps-updater@2.2.0': resolution: {integrity: sha512-p9lBxhFXM9WoRsrJO7dfkiXSK+1m63yIn1sKhBO71eMbhrLMyVYHEOeNf3w5OCdbRF5QsNhXzWuiTmFK3zHFsA==} hasBin: true - '@platforma-sdk/model@1.80.13': - resolution: {integrity: sha512-wxGQ4/sxgWMAKrGWeGD13s9BZYLfg9+5StwH4ZsdNfGkBSwj9Amu8O6az63qRc0n+HUce5MVBxVeSoAc6eFEvA==} - - '@platforma-sdk/package-builder-lib@1.2.1': - resolution: {integrity: sha512-H6weitj7JxbiJSlteEFLafTJ+tfty6iv/imf3ysy8oCS8AZIRJk2VMW3M/aAc+xVkQeX7oVIwMwFMYrJIoFsAg==} + '@platforma-sdk/model@1.83.17': + resolution: {integrity: sha512-r3NqgNgWPcU1i/YPCl+5avLK+Ojd4APf8AOFBOq76J20y0v9H5UV0A8P3V8fiTbbe79u209r/5LzatyZV2xFvg==} '@platforma-sdk/package-builder-lib@1.4.0': resolution: {integrity: sha512-ORcuPJ5SM1RiQAOUVM7alWDbOWQ/gUTgLDToP/yAs2uHXhKNvXphgDQTamCX6cseMZ0uKdWzTudJAQAJM1Kvwg==} - '@platforma-sdk/tengo-builder@4.0.20': - resolution: {integrity: sha512-4zf38sLzctOgbwym39+YdrE07/W61zzNaeZebZd0p2QDYNacAf83hRlD5KlDvUZtrDbhYNMgoZtghw61XAchog==} + '@platforma-sdk/tengo-builder@4.0.27': + resolution: {integrity: sha512-dkS7IFRLs362c42KuqEp/ccjGd6sjXzAqBBHK6TaarvJH3FyS+dzLRY3bqmlNu+R0jzh6w08qAohHTBaO10aQQ==} engines: {node: '>=22'} hasBin: true - '@platforma-sdk/test@1.80.13': - resolution: {integrity: sha512-N6duMDw8K8Xq78wUIljcYx/2OQ2nqdKhsz0UAz87F8tJL9PQDs2XmbxcfOHDSzkTrEDImJyi4fEbZMJiwRXWxg==} + '@platforma-sdk/test@1.83.17': + resolution: {integrity: sha512-lKQyFyNF+IpORjtgd0M1X4IONpisztidL4/Cu0+lCyhW/w3Pap/Nn2m5ngsC7bY+TgylUU8JB4ajdPJBybww/A==} - '@platforma-sdk/ui-vue@1.80.13': - resolution: {integrity: sha512-o13M9XbBP5SbNYSoS5W/RmuxgzMJzLrCpy2cWkcd7xWvSGXRp6ACm1NxSCeowiS30st1XAAB6wUsulehM7/5aQ==} + '@platforma-sdk/ui-vue@1.83.17': + resolution: {integrity: sha512-89UsahvWaMHeG6j4ltnVMBDtQxLoabz8bv7zXNv0EtYaMTiJmPg+14aSGuXhlHtqdihyMZDyox1So7mulorIHA==} - '@platforma-sdk/workflow-tengo@6.8.2': - resolution: {integrity: sha512-AHR/Y+vbyfda17A7xY2uH9TlXiBpM8242tTO6+lj8phA4/KS6mez4GLu4ZEaASlZpX6YkQsUs5LUxYQU7pXeiQ==} + '@platforma-sdk/workflow-tengo@6.10.1': + resolution: {integrity: sha512-Qmz+VYps08d+NMynfl+eba1mhNxY1OBg8RmgcfmobnpaHsG+QcwbMl5sUNJTJTvahwxg/a7mzu08/H22HfUxrQ==} '@protobuf-ts/grpc-transport@2.11.1': resolution: {integrity: sha512-l6wrcFffY+tuNnuyrNCkRM8hDIsAZVLA8Mn7PKdVyYxITosYh60qW663p9kL6TWXYuDCL3oxH8ih3vLKTDyhtg==} @@ -1655,50 +1663,41 @@ packages: '@protobufjs/base64@1.1.2': resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} - '@protobufjs/codegen@2.0.4': - resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} - '@protobufjs/codegen@2.0.5': resolution: {integrity: sha512-zgXFLzW3Ap33e6d0Wlj4MGIm6Ce8O89n/apUaGNB/jx+hw+ruWEp7EwGUshdLKVRCxZW12fp9r40E1mQrf/34g==} - '@protobufjs/eventemitter@1.1.0': - resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} - '@protobufjs/eventemitter@1.1.1': resolution: {integrity: sha512-vW1GmwMZNnL+gMRaovlh9yZX74kc+TTU3FObkkurpMaRtBfLP3ldjS9KQWlwZgraRE0+dheEEoAxdzcJQ8eXZg==} - '@protobufjs/fetch@1.1.0': - resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} - '@protobufjs/fetch@1.1.1': resolution: {integrity: sha512-GpptLrs57adMSuHi3VNj0mAF8dwh36LMaYF6XyJ6JMWlVsc+t42tm1HSEDmOs3A8fC9yyeisgLhsTVQokOZ0zw==} '@protobufjs/float@1.0.2': resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} - '@protobufjs/inquire@1.1.0': - resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==} - '@protobufjs/path@1.1.2': resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} '@protobufjs/pool@1.1.0': resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} - '@protobufjs/utf8@1.1.0': - resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} - '@protobufjs/utf8@1.1.2': resolution: {integrity: sha512-b1UQwcEZ4yCnMCD8DAL1VlbvBJE9/IX4FTIp7BG1xYpf29SLazLSrqUkj4w7Y5y7cCVP6E5tcqqcI0xemPkHug==} + '@rolldown/binding-android-arm-eabi@1.2.8': + resolution: {integrity: sha512-tN5aztYkKCte4i5SIrrz5yK/HMjEuCqCSCJa418jOV8tZ1cBY3YF2otxB1ktPxzsLA1BeTqwapK0bfjxNvHJVw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] + '@rolldown/binding-android-arm64@1.0.0-rc.17': resolution: {integrity: sha512-s70pVGhw4zqGeFnXWvAzJDlvxhlRollagdCCKRgOsgUOH3N1l0LIxf83AtGzmb5SiVM4Hjl5HyarMRfdfj3DaQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@rolldown/binding-android-arm64@1.2.1': - resolution: {integrity: sha512-02hOeOSryYxVrOIphmLAsqnCJWxwlzFk+pEt/N/i6OgT3lShHO7xGCU5cpgchRDHboAEbSjzgGh+O/u1GswQmA==} + '@rolldown/binding-android-arm64@1.2.8': + resolution: {integrity: sha512-dIYTWl9XprMUiQFoc55KUyk/oS8SKYH3zFl0LTR7RT0Xj4hgSVyuJcroH8JUu8RcpF8fTB6E0aOwCkZoYPcDSQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] @@ -1709,8 +1708,8 @@ packages: cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-arm64@1.2.1': - resolution: {integrity: sha512-fMsTOnN0OjFm3CyppWPitKnc8UlliVARUULW6cfU6AIqjdtgmSFWSk9vecHzZduv/yMWIHDlRhM1e8Iff9uAfA==} + '@rolldown/binding-darwin-arm64@1.2.8': + resolution: {integrity: sha512-PCSDQGXD2IyTEFrcgPyBM8jJuGmrbCMuoIOXdbEGVemruKACXoLQJrb+A45Z0L5t1RQkdfJprAYPkikbh7dzdA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] @@ -1721,8 +1720,8 @@ packages: cpu: [x64] os: [darwin] - '@rolldown/binding-darwin-x64@1.2.1': - resolution: {integrity: sha512-1wjKdz/XLGKHaTNHjQveQ/B23TKx4ItAqm1JbyVuvNPc4Ze0Fb48s49TAd/2zcplPl8okE/UbTgmlVfwT7eFeQ==} + '@rolldown/binding-darwin-x64@1.2.8': + resolution: {integrity: sha512-Uk7lRsGhPFHVX/sAUC6D5H9Ol30dFHd6iquokll2th3LpdJ3F5CzQB+7DHn0Ri2mG+U7k2zXiPHDrwZenXhwSA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] @@ -1733,8 +1732,8 @@ packages: cpu: [x64] os: [freebsd] - '@rolldown/binding-freebsd-x64@1.2.1': - resolution: {integrity: sha512-Fa0jHR07E7YBN4vOEsbVf2briYNsuOowfLJaXULZM0ldMlaCaj2LJgLMbMe4iacRyZmvR8efFhgR9wKuGclQUg==} + '@rolldown/binding-freebsd-x64@1.2.8': + resolution: {integrity: sha512-DjszaTEVogPqA5bYzsEeqDCQxbcp2fexQwKcRspYji2yzR68fCf+e4fx6kBSRDwX5/brZaHw/hWS9+A/+/w9sQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] @@ -1745,8 +1744,8 @@ packages: cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm-gnueabihf@1.2.1': - resolution: {integrity: sha512-pzkgu1SSHGgRRyRZ4fbmSgmajbVt+epaLP99NDjFft69v/ypfTi6swBMiVdh2EkQ0OSnHE1lZDM7DRGkyAzUpA==} + '@rolldown/binding-linux-arm-gnueabihf@1.2.8': + resolution: {integrity: sha512-zmwa7FTmdzB6aaEEuuls18H6Ap5JmJPSoPTuXixeJZV6tG40SyLkApQtz1g8ptZtiEKqj9OM0oNLPh1AgvE31Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] @@ -1757,8 +1756,8 @@ packages: cpu: [arm64] os: [linux] - '@rolldown/binding-linux-arm64-gnu@1.2.1': - resolution: {integrity: sha512-QI5SEDY8cbiYWHx0VO4vIc3UlS6a32vXHjU8Qy/17adEmZIPuByJg13UEvo9c/UCiUkdcVWY83C+b+JrwnNyUg==} + '@rolldown/binding-linux-arm64-gnu@1.2.8': + resolution: {integrity: sha512-KdYQDPHwJVnbFwdTGMgxsI9SqblBlz6STGM+w1We/d5B8OWWidYH0MwkU/uA1wM5fIpO2MkOVxXrNzzuZhw9ew==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] @@ -1769,8 +1768,8 @@ packages: cpu: [arm64] os: [linux] - '@rolldown/binding-linux-arm64-musl@1.2.1': - resolution: {integrity: sha512-Sm41FyCeXqmYcERoYOCbGIL5hNfd8w9LQ7Y61Bev48HkcjaJqV/iiVOaiDxjVTRMS+QKrZmD8cfPt4uMVnvM+A==} + '@rolldown/binding-linux-arm64-musl@1.2.8': + resolution: {integrity: sha512-jFJTifHnNPY+yzOoNZQfSIysrVyXzEQPhPnOUjmD1bcQGHH6s7c8cViKWar8YplQImE5N9JRqMCLrM2CdxOrZA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] @@ -1781,8 +1780,8 @@ packages: cpu: [ppc64] os: [linux] - '@rolldown/binding-linux-ppc64-gnu@1.2.1': - resolution: {integrity: sha512-2x+WhXTGl9yJYPbltW/BSEPTVz9OIWQyER4N+gJEDWkkn904eRcBzELqh/Hf7K0w/ubGbKNMv0ZC+94QK/IFEg==} + '@rolldown/binding-linux-ppc64-gnu@1.2.8': + resolution: {integrity: sha512-FhiOziBDWPBjbcmRzfLyIJnaP7AVMFXT7YCXPjXxj7wKU3vx24RjrCNN/zjvVa+N2vVoHJwCoUBvsrN/DG3zIA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] @@ -1793,8 +1792,8 @@ packages: cpu: [s390x] os: [linux] - '@rolldown/binding-linux-s390x-gnu@1.2.1': - resolution: {integrity: sha512-eEjmQpuRQayHPWWnywaWHkFT3ToPbP3RYy42VVd/B9aBGDA+Ol25EIWHxKQST3IiWJjikCWUF7KtbfqwZrzVwQ==} + '@rolldown/binding-linux-s390x-gnu@1.2.8': + resolution: {integrity: sha512-WnHfADMzOV2Y55wlx1hzzQnar/wDt/VdvWSD99r18Mz9ylNieIGOkRx3UV21h7m/eJvjySYJkO26VvGNFkwsIQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] @@ -1805,8 +1804,8 @@ packages: cpu: [x64] os: [linux] - '@rolldown/binding-linux-x64-gnu@1.2.1': - resolution: {integrity: sha512-/Orga1fZYkLc/56jBICcHrKchl8Z2UKdDSr3LG9ToWO1lQ6a4Livk9Xz+9WN91zsz5QR3XQz2NNoSDEvP6qadw==} + '@rolldown/binding-linux-x64-gnu@1.2.8': + resolution: {integrity: sha512-H9tRr5ibfXFVLxbPOseVewewFpl28zcEdjRDt2FTUZU7odxP0gEv1ki4/kGmcGOh78oRwZuuQllGLZ9zTJp84g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] @@ -1817,8 +1816,8 @@ packages: cpu: [x64] os: [linux] - '@rolldown/binding-linux-x64-musl@1.2.1': - resolution: {integrity: sha512-xxBJRL+0q0Kce7orznGWLuylHDY65vuARXZRpX+hPdv+DqK2c3NlCsVA98tlWzWNEE7yPqA/1NQ5nnCrj49Y5A==} + '@rolldown/binding-linux-x64-musl@1.2.8': + resolution: {integrity: sha512-UefiqfM3D6IVNlZ8tSGs9+Ejjud2T+oxO0IHADU45Y+lyEjD2dVFyZHbkfX0LUb5Zugo/oIv1eCO/KVYhgYJYA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] @@ -1829,8 +1828,8 @@ packages: cpu: [arm64] os: [openharmony] - '@rolldown/binding-openharmony-arm64@1.2.1': - resolution: {integrity: sha512-M6AdXIXw3s+/8XpKMzdGDEXGS1S7kwUsy+rcTIUIOx5Ge4nXKCtAFHFV9YKkXvGcC5WMoTjAteLzlsQROVI0Yw==} + '@rolldown/binding-openharmony-arm64@1.2.8': + resolution: {integrity: sha512-637Ke4kWSy6rp9cxQ9gMOXlxPgIw/c1beASV4M//3+9I4uwBVOOl74G+e3zyU3u19U7RkRl/HuewixZ/Z6+Rjg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] @@ -1840,18 +1839,14 @@ packages: engines: {node: ^20.19.0 || >=22.12.0} cpu: [wasm32] - '@rolldown/binding-wasm32-wasi@1.2.1': - resolution: {integrity: sha512-/TX0SoRGojHzSAHpfVBbavRVSazg5U3h3Y3VXfcc0cdugq6kxdqw8LPGFiPr+/7gE/60zRcsOY2Vi9b9eT0jww==} - engines: {node: ^20.19.0 || ^22.13.0 || >=23.5.0} - '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.17': resolution: {integrity: sha512-gUmyzBl3SPMa6hrqFUth9sVfcLBlYsbMzBx5PlexMroZStgzGqlZ26pYG89rBb45Mnia+oil6YAIFeEWGWhoZA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@rolldown/binding-win32-arm64-msvc@1.2.1': - resolution: {integrity: sha512-EvRrivJieyHG+AO9lleZWgq+g0+S7oV2C51yuqlcyU/R9net+sI4Pj0F+lUoP2bEr6TWX3SqFaaS0SzfLxSzkw==} + '@rolldown/binding-win32-arm64-msvc@1.2.8': + resolution: {integrity: sha512-xWBkPOF1Q9k/Gv1nQXnVdLxKu74jXppuOM4Z3mnypVUJJJwLsMl7hNJGRAUJoG8A5MgOI1ACKM+wBFxSJzKy4A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] @@ -1862,8 +1857,8 @@ packages: cpu: [x64] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.2.1': - resolution: {integrity: sha512-Z4eCmn5QJ/5+azF9knpLWKfVd9aidn0mAe9TpJgvBLId9Ax3t0+JVxBmT25Bv7NBbVW1TZyKjQjQReouMeH5UQ==} + '@rolldown/binding-win32-x64-msvc@1.2.8': + resolution: {integrity: sha512-uz2ZvfgXbxqNwijjjbxrnvALwpyODDcgc1T1N8N3rf/DXKQmaFwmB4LX4yyjggpwN2obdQLb2rgirX5ffCWYng==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] @@ -1871,9 +1866,6 @@ packages: '@rolldown/pluginutils@1.0.0-rc.17': resolution: {integrity: sha512-n8iosDOt6Ig1UhJ2AYqoIhHWh/isz0xpicHTzpKBeotdVsTEcxsSA/i3EVM7gQAj0rU27OLAxCjzlj15IWY7bg==} - '@rolldown/pluginutils@1.0.0-rc.2': - resolution: {integrity: sha512-izyXV/v+cHiRfozX62W9htOAvwMo4/bXKDrQ+vom1L1qRuexPock/7VZDAhnpHCLNejd3NJ6hiab+tO0D44Rgw==} - '@rolldown/pluginutils@1.0.1': resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} @@ -3670,9 +3662,6 @@ packages: '@tybys/wasm-util@0.10.1': resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} - '@tybys/wasm-util@0.10.3': - resolution: {integrity: sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==} - '@types/argparse@1.0.38': resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} @@ -3715,9 +3704,6 @@ packages: '@types/glob@7.2.0': resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} - '@types/jsesc@2.5.1': - resolution: {integrity: sha512-9VN+6yxLOPLOav+7PwjZbxiID2bVaeq0ED4qSQmdQTdjnXJSaCVKTR58t15oqH1H5t8Ng2ZX1SabJVoN9Q34bw==} - '@types/minimatch@6.0.0': resolution: {integrity: sha512-zmPitbQ8+6zNutpwgcQuLcsEpn/Cj54Kbn7L5pX0Os5kdWplB7xPgEh/g+SWOB/qmows2gpuCaPyduq8ZZRnxA==} deprecated: This is a stub types definition. minimatch provides its own type definitions, so you do not need this installed. @@ -3743,13 +3729,137 @@ packages: '@types/web-bluetooth@0.0.21': resolution: {integrity: sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==} + '@typescript/typescript-aix-ppc64@7.0.2': + resolution: {integrity: sha512-MTKKkWB7p/0E9xi1d1tHtZ5PiLkGEMIq88pK2CubZjOsLtYTLqhgIgi6zepFa+9GHZ6h05NMCkQxGKiPXMxXtQ==} + engines: {node: '>=16.20.0'} + cpu: [ppc64] + os: [aix] + + '@typescript/typescript-darwin-arm64@7.0.2': + resolution: {integrity: sha512-gowzar9MwS/aRWp6f3a4KUqzRjAZjOsmGNCM6LcTgXum+dBfgsBVMN+AgvOCCbguXyick6LJhpBszxMebJ8syA==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [darwin] + + '@typescript/typescript-darwin-x64@7.0.2': + resolution: {integrity: sha512-SZ9xZInqApNlNGc9s0W1VSsktYSOe9cFqNOIqmN1Gs8SmkjKZYFt017G4VwPxASInODuAdbTW7sXiFUf893RgA==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [darwin] + + '@typescript/typescript-freebsd-arm64@7.0.2': + resolution: {integrity: sha512-W5NH4y/J0plIIS5b2xvTEkU7JFxyqdMAOgf+Ilhl0vHQXKO5dZoxd+C/jEtq56c4F3wk71RB4BMRQ2XdI+bwYQ==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [freebsd] + + '@typescript/typescript-freebsd-x64@7.0.2': + resolution: {integrity: sha512-UMGDx5sTpzNw3WiPebH7l90IWfJggEd+egHt/q6p7/Cm3zqoV7VxkGXt+3DxPIw8CcmvAB0j3sVVfbhX+M4Tpw==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [freebsd] + + '@typescript/typescript-linux-arm64@7.0.2': + resolution: {integrity: sha512-Qh4eU4/y3yDjnfjjyPYihMj5/ODIlmt+Bzu17OI+fiSRDW57QmU5SiN63exPRNJPKUzcc1INa1NXdrJ+MqHjUQ==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [linux] + + '@typescript/typescript-linux-arm@7.0.2': + resolution: {integrity: sha512-gffT3xPz9sR7j/YJExkyPntrI0P2EP9XbOyWzth2/Gs0RstK+90RBcO0ncXoXy/beYll1SXw846Nf2zdnEz0QQ==} + engines: {node: '>=16.20.0'} + cpu: [arm] + os: [linux] + + '@typescript/typescript-linux-loong64@7.0.2': + resolution: {integrity: sha512-uEHck9i8hoAzXPiYRib1O7miOnz23SxIeVl6F4LXox+qov1K35jHcEW6VHKvZI+pyvl7fZEP4MCU5LYvIq1GuQ==} + engines: {node: '>=16.20.0'} + cpu: [loong64] + os: [linux] + + '@typescript/typescript-linux-mips64el@7.0.2': + resolution: {integrity: sha512-R4KvAMnE43W5Qeqb0Ly56O3mWMWIAgsMyz36DCaycd5nbg/9kzm0liw3JocfRqyJY0KPmzFjbswozXyW0DnIYA==} + engines: {node: '>=16.20.0'} + cpu: [mips64el] + os: [linux] + + '@typescript/typescript-linux-ppc64@7.0.2': + resolution: {integrity: sha512-DORx5b3sd/4S7eayxm4FQv+A7CrkUIGRaHiwI8oiHTAI1fAPWhF4J0vAlkC8biAlHSVVwxMQ3tjZ2/DVbnQiiA==} + engines: {node: '>=16.20.0'} + cpu: [ppc64] + os: [linux] + + '@typescript/typescript-linux-riscv64@7.0.2': + resolution: {integrity: sha512-wf0jqEDOjrPRnKwYRyyJDRo11KMbvMFrU+q4zqKyChODBzvlkbhNQfKvLxQCcwTpdDaXSHZTVuh0JoCrKCUMHQ==} + engines: {node: '>=16.20.0'} + cpu: [riscv64] + os: [linux] + + '@typescript/typescript-linux-s390x@7.0.2': + resolution: {integrity: sha512-IkwJc3L7yhytWd/ewjyxNDfOmswCm9GWMJT/ue/dU4aZNbwZeYAetq42VyLmsmSjvoX7z74X6ZaYCtzAr0EuGw==} + engines: {node: '>=16.20.0'} + cpu: [s390x] + os: [linux] + + '@typescript/typescript-linux-x64@7.0.2': + resolution: {integrity: sha512-EYdf2cNg7rgCWJnxCdJ+F3V39O8ihb37eHAu1LK8oAFizgTQbPOK7zHHXbPt8rX24COqODXeI3sIf0fCXG7H/A==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [linux] + + '@typescript/typescript-netbsd-arm64@7.0.2': + resolution: {integrity: sha512-+polYF4MF04aPpO5FTkHran9yUQDSXqy5GiSDKpsll5jy3l3+g9QLhpf39T+ePtefhXLOGrLl0QIjkQP6VnelA==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [netbsd] + + '@typescript/typescript-netbsd-x64@7.0.2': + resolution: {integrity: sha512-8YIT0EHM/3dq10ZOVF/A7pc/YSMtbcecct4rWtexrnSCHOPcpC2KTLXfTCR6vDpnSiY12heNb1GiN/wu+T/FyA==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [netbsd] + + '@typescript/typescript-openbsd-arm64@7.0.2': + resolution: {integrity: sha512-APT8+ClYnuYm1u9+kgGXoMj2VzWzcymwh2gNSQVySHfkRDGOTVkoWLjCmOQSaO+PoqQ57B0flRp9SA+7GnnkzQ==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [openbsd] + + '@typescript/typescript-openbsd-x64@7.0.2': + resolution: {integrity: sha512-yX7s+Q0Dln0Dt9tEzZsAjXXR/+ytBM7AlglaqyeMPxQszJ1JhlJdZ6jLA+IzldHtflX81em7lDao1xXu+aRRkg==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [openbsd] + + '@typescript/typescript-sunos-x64@7.0.2': + resolution: {integrity: sha512-dLJDGaLZ1D4HPQn62u1n8mBDkJREwMsAkCdkwd4Ieqw+x3TUyTsqY0YiBCtE6H6OzzgGk3iuZ3vFWRS+E8/d1g==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [sunos] + + '@typescript/typescript-win32-arm64@7.0.2': + resolution: {integrity: sha512-Gyl1Vy6OsWesLzmq+EP0Fb7b4Nid5232AvcA2SFcdYreldpNtYFFofPjnt62y9hQy7VTaZp65ICJjuAQRaVcIQ==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [win32] + + '@typescript/typescript-win32-x64@7.0.2': + resolution: {integrity: sha512-0BQ3HkAHHlKLSp1qRvf3SUhGpGsDuhB/jgFw75guyqbxJqEaS0Cw/VFO8i2nHglJUzQCRtMMR/IBAKE3ETMC4g==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [win32] + + '@typescript/typescript6@6.0.2': + resolution: {integrity: sha512-mbCddXd+jm7hfx7w2YU64/Av4/NqqeG3GoRZgxPcgoTxYjhrcfJRw9ULch71SS4G+Q3bOXFhRvPqjguN0Hyp5w==} + hasBin: true + '@typescript/vfs@1.6.1': resolution: {integrity: sha512-JwoxboBh7Oz1v38tPbkrZ62ZXNHAk9bJ7c9x0eI5zBfBnBYGhURdbnh7Z4smN/MV48Y5OCcZb58n972UtbazsA==} peerDependencies: typescript: '*' - '@vitejs/plugin-vue@6.0.5': - resolution: {integrity: sha512-bL3AxKuQySfk1iGcBsQnoRVexTPJq0Z/ixFVM8OhVJAP6ZXXXLtM7NFKWhLl30Kg7uTBqIaPXbh+nuQCuBDedg==} + '@vitejs/plugin-vue@6.0.9': + resolution: {integrity: sha512-rD/MORlhaZMlXWW0rEn4FB4wMinWC0z/D7Ye160S5+Rs1mC8ZDAdcDp4SjKfUhG5t8q1ktcPVw4xuTkPRlzrSA==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -3839,19 +3949,8 @@ packages: '@vue/compiler-ssr@3.5.24': resolution: {integrity: sha512-trOvMWNBMQ/odMRHW7Ae1CdfYx+7MuiQu62Jtu36gMLXcaoqKvAyh+P73sYG9ll+6jLB6QPovqoKGGZROzkFFg==} - '@vue/compiler-vue2@2.7.16': - resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} - - '@vue/language-core@2.2.0': - resolution: {integrity: sha512-O1ZZFaaBGkKbsRfnVH1ifOK1/1BUkyK+3SQsfnh6PmMmD4qJcTU8godCeA96jjDRTL6zgnK7YzCHfaUlH2r0Mw==} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@vue/language-core@3.3.5': - resolution: {integrity: sha512-UkKu5nhX89fg4VhlG/FOeI10G3cj/7radKT/cy9BT4Q9qJmJlSTAc/dP63Xqs29aypN4f39xUV6PsLNk/dcD6g==} + '@vue/language-core@3.3.10': + resolution: {integrity: sha512-CR7ByBbgPHqhxrioKPOcZBqttaozzLNwtkCzXQ+uF8gLPHnUe03srPnGpdtHD3zp+bq5iyVkZ1WNx7W564RPwg==} '@vue/reactivity@3.5.24': resolution: {integrity: sha512-BM8kBhtlkkbnyl4q+HiF5R5BL0ycDPfihowulm02q3WYp2vxgPcJuZO866qa/0u3idbMntKEtVNuAUp5bw4teg==} @@ -3928,12 +4027,131 @@ packages: peerDependencies: vue: ^3.5.0 - '@zip.js/zip.js@2.14.0': - resolution: {integrity: sha512-7HIW+xGAl6LeTlgfLEKeRBPBskNtLSXRNXqb0QuUv6kYO7hhJvSda1UfYvyfyKJxod3q5GRvYZjjdtkxO1FMiQ==} - engines: {bun: '>=0.7.0', deno: '>=1.0.0', node: '>=18.0.0'} + '@yuku-codegen/binding-android-arm64@0.9.5': + resolution: {integrity: sha512-jrOY5WM+AaAqkv51fHP1x28ifto4WgcZVzodLUyMU1jMWn5Sq+VciRdk/n8E0Ey5w4p4cWWE+m5GfXWOYh7Kzw==} + cpu: [arm64] + os: [android] + + '@yuku-codegen/binding-darwin-arm64@0.9.5': + resolution: {integrity: sha512-4O4lkCQIzPZGjiNB1GORSI6hBECbiiSBS/APZXPvNKYH+nhY4uuqv03LNXA+SET3hoBjvr95P5rIhY8KQaQUBA==} + cpu: [arm64] + os: [darwin] + + '@yuku-codegen/binding-darwin-x64@0.9.5': + resolution: {integrity: sha512-9EvoUO0SEhD6/d8VHdWuPerepPMSR1y84+UEgz8Un1Ope14Oe7xMvePpEQLTLovoIFZ8Zg3iZ8z8E11pZMqC3g==} + cpu: [x64] + os: [darwin] + + '@yuku-codegen/binding-freebsd-x64@0.9.5': + resolution: {integrity: sha512-HqT78WwgHTmp8lwujoUa9CrIortX4DdpuiVC18ZPSGvuuJf4ylpIEI6QrQEM78Zwz3muhAWAOXZ5irdiYY+AyA==} + cpu: [x64] + os: [freebsd] + + '@yuku-codegen/binding-linux-arm-gnu@0.9.5': + resolution: {integrity: sha512-QJXwIW6Ms3QIawbcBIedmrmXnfdpuAOjZJ/eAABq5XTzWvSxZ7lutu9W5yIHahlaTaFnBo7ikrVMD1szLTpPUw==} + cpu: [arm] + os: [linux] + + '@yuku-codegen/binding-linux-arm-musl@0.9.5': + resolution: {integrity: sha512-eHbFy3IHGb+IYarrYwAo0yWSEQV3eAmEn6VrsKA6I1Wy1YPJxWqSJlV69JhqsHtJuJlljUIF3ex0y46yaKIu9w==} + cpu: [arm] + os: [linux] + + '@yuku-codegen/binding-linux-arm64-gnu@0.9.5': + resolution: {integrity: sha512-ByoJMbySTaDhjAXSu8q6Lh7HKg3YoesXpcT72aYk0Aiw4PCznmY4ybpLTq0RCvp0RIPhFm/6yECFiGBwyCC1nw==} + cpu: [arm64] + os: [linux] + + '@yuku-codegen/binding-linux-arm64-musl@0.9.5': + resolution: {integrity: sha512-gD9vfXIoBw1toSxhO9rgmSu/FEfy3PMznJAxVjIuH8DrWEiDKXmJO0pJKfj1Ltbe/TmtWVZR+TjISqeSIGQzMg==} + cpu: [arm64] + os: [linux] + + '@yuku-codegen/binding-linux-x64-gnu@0.9.5': + resolution: {integrity: sha512-BARvdnvqMGjOr5Iel2JH+9H5vAIE0R6H0Z2fsT02xrvmI/1ZXNB8lkuX+ZGevPhZb3zJ9WeC/R8JZstrsUOK5g==} + cpu: [x64] + os: [linux] - '@zip.js/zip.js@2.8.8': - resolution: {integrity: sha512-v0KutehhSAuaoFAFGLp+V4+UiZ1mIxQ8vNOYMD7k9ZJaBbtQV49MYlg568oRLiuwWDg2Di58Iw3Q0ESNWR+5JA==} + '@yuku-codegen/binding-linux-x64-musl@0.9.5': + resolution: {integrity: sha512-x8flcevS1fbb7ESrmpOY/pON4eInSaE/7Ktjqx2udOE2W33BNSZmJuwpyUgo54AoHNqrcaM7szqydyJn5fNvew==} + cpu: [x64] + os: [linux] + + '@yuku-codegen/binding-win32-arm64@0.9.5': + resolution: {integrity: sha512-KOL/rBatWqH4ZpCNoF8ZtSNdOJbAxBJLmk/VeRciepGROPTbPum1A9t67GpFgOU7qrkUWlPJdJ+KHKbvbmOt+w==} + cpu: [arm64] + os: [win32] + + '@yuku-codegen/binding-win32-x64@0.9.5': + resolution: {integrity: sha512-FxENahEjWSan59Syh/us/Kf4wNq8qrJLFJ3R2N4Oiwtb6yNdz/rWLNTIoNSssnsp7IoWJdUP6o/Z8ppg7lXMcg==} + cpu: [x64] + os: [win32] + + '@yuku-parser/binding-android-arm64@0.9.5': + resolution: {integrity: sha512-A2JCFCSHfnficqYEw4Iujpx7XrkMM3UfFcgJFmYpZSo9zM4nyhmdIIE0FogSduuU60lhM0/UcfuUBXIVNBMlGQ==} + cpu: [arm64] + os: [android] + + '@yuku-parser/binding-darwin-arm64@0.9.5': + resolution: {integrity: sha512-3PiyU+Eare4YuKaQ22N98/yAiROPY5o/NQJHraICzDvk4pgS+m+bgLKOvkGBRn33OnV95Vdv1Mn38b+MQHpULQ==} + cpu: [arm64] + os: [darwin] + + '@yuku-parser/binding-darwin-x64@0.9.5': + resolution: {integrity: sha512-blFMAFI7AInI83XaiOF8cIeiRM46Nz9EfpZtZPRLbKxSA9aAr5v8aHYpmfN6NoyXxAv/10pwS4gsAuc1W6fy5Q==} + cpu: [x64] + os: [darwin] + + '@yuku-parser/binding-freebsd-x64@0.9.5': + resolution: {integrity: sha512-TsNuL4qsZdO0tHp5GW43Y5fHeLPpPHA675wdcPNTcdq2ZO5AvsQWFFoiDg8CH4oBktfsQ9tdvKhjLnLYwKvp4g==} + cpu: [x64] + os: [freebsd] + + '@yuku-parser/binding-linux-arm-gnu@0.9.5': + resolution: {integrity: sha512-b0afYK5gHeV8RdmOcqAlgM8ONsye4cax4DMnIBaoJyPMd1UTGvTbpkqQcPVdhmHlcfcGVGMV1laeVovlr/dscw==} + cpu: [arm] + os: [linux] + + '@yuku-parser/binding-linux-arm-musl@0.9.5': + resolution: {integrity: sha512-fD3lKzl+r6j6n8DwiMY53qnh5DLqD8KJjCp+NbVud54Nnh3Q9Wprqss3YzyMHP3NSJk663Wlg1E1X5qOuFVFig==} + cpu: [arm] + os: [linux] + + '@yuku-parser/binding-linux-arm64-gnu@0.9.5': + resolution: {integrity: sha512-aRU/aCphV1MWCl/lvI6NX8LgucHQ68Fx+vz7NBb/5MEr2EuzCxiPOQqeFcMdWh+2AED/p0AvAREch0c+cSnlhA==} + cpu: [arm64] + os: [linux] + + '@yuku-parser/binding-linux-arm64-musl@0.9.5': + resolution: {integrity: sha512-5+Guro0l8H473YXlEjVNBRLN/IbPbJdnQh1zo0OLt49xxnON+XMJRRaEyTOTfkn9QSRg0+BhEKGR4W9Gu2uZJQ==} + cpu: [arm64] + os: [linux] + + '@yuku-parser/binding-linux-x64-gnu@0.9.5': + resolution: {integrity: sha512-pwwSyV9q+GlvzSXlsMZBMlgk22L5bud714/vqZCdeUTivzeUVltQzUaf3IQXOGXdpc59JYTeuMCtbGquaAUoCA==} + cpu: [x64] + os: [linux] + + '@yuku-parser/binding-linux-x64-musl@0.9.5': + resolution: {integrity: sha512-z18j6JN3lBHH8vzN7gG1M8fI0nlgItSfnC9PfbmUbt97iHViKfw2iA2G9fGwRMe5LyPRZBrejIlapbygPbpdaw==} + cpu: [x64] + os: [linux] + + '@yuku-parser/binding-win32-arm64@0.9.5': + resolution: {integrity: sha512-s6Gwttb1dQvtPX6Bgkw+UPC9IO3UBDXc6Zezog8MMgvu3UfJBBB9TQqKBX/2quu0Eyh+lLSAyNlIyyecaagUPg==} + cpu: [arm64] + os: [win32] + + '@yuku-parser/binding-win32-x64@0.9.5': + resolution: {integrity: sha512-FrERt9YWatY3bJfSUdi4YWY+6iQcyo3MzCC821BxlWM5TFZEHijnpz/bknR79VHlXY/9CvXz8ZlaAGPsTtN3nw==} + cpu: [x64] + os: [win32] + + '@yuku-toolchain/types@0.9.5': + resolution: {integrity: sha512-KiuLNNgX9uNealaWAR+G3/cMXnRk9x4TY2EkYe/KIag+UPdwiA0RRf1hr1WAxzTP8KGzCTkqUdLPvqh32sEO3w==} + + '@zip.js/zip.js@2.15.0': + resolution: {integrity: sha512-hYAuHAaWjt0axbofaDL5XUlmrQPsBDcK3f45ApZuh6N+8UGVk26GoGdtGDvcvzahsHytTQ6DtBVXwG9IcCMjjQ==} engines: {bun: '>=0.7.0', deno: '>=1.0.0', node: '>=18.0.0'} abbrev@2.0.0: @@ -4008,9 +4226,6 @@ packages: ajv@8.13.0: resolution: {integrity: sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==} - alien-signals@0.4.14: - resolution: {integrity: sha512-itUAVzhczTmP2U5yX67xVpsbbOiquusbWVyA9N+sy6+r6YVbFkahXvNCeEPWEOMhwDYwbVbGHFkVL03N9I5g+Q==} - alien-signals@3.2.1: resolution: {integrity: sha512-I8FjmltrfnDFoZedi5CG8DghVYNhzb/Ijluz7tCSJH0xpd0484Kowhbb1XDYOxfJpU1p5wnM2X54dA+IfGyD1g==} @@ -4060,10 +4275,6 @@ packages: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} - ast-kit@3.0.0: - resolution: {integrity: sha512-8OG92q3R35qjC/4i6BLBMg8IB+fClWu/1PEwg2Z9Rn+BuNaiEgJzpzn+pxWOdHJWDCAwu2JP0wCDTozAM4QirQ==} - engines: {node: ^22.18.0 || >=24.11.0} - async@3.2.6: resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} @@ -4129,22 +4340,13 @@ packages: resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} engines: {node: '>=4'} - better-sqlite3@12.10.0: - resolution: {integrity: sha512-CyzaZRQKyHkB2ZInfTTl2nvT33EbDpjkLEbE8/Zck3Ll6O0qqvuGdrJ45HgtH+HykRg88ITY3AdreBGN70aBSQ==} - engines: {node: 20.x || 22.x || 23.x || 24.x || 25.x || 26.x} - - bindings@1.5.0: - resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} - - birpc@4.0.0: - resolution: {integrity: sha512-LShSxJP0KTmd101b6DRyGBj57LZxSDYWKitQNW/mi8GRMvZb078Uf9+pveax1DrVL89vm7mWe+TovdI/UDOuPw==} + better-sqlite3@13.0.3: + resolution: {integrity: sha512-RbOBxmLBG8uvFUc15X9+9SFemKcQ0WBuISBVkpuiaUB2qblC8UWlHEjdWVoZ8AdhSwmoEgsiXKfopX0CQxaACQ==} + engines: {node: '>=22'} bl@1.2.3: resolution: {integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==} - bl@4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - bowser@2.12.1: resolution: {integrity: sha512-z4rE2Gxh7tvshQ4hluIT7XcFrgLIQaw9X3A+kTTRdovCz5PMukm/0QC/BKSYPj3omF5Qfypn9O/c5kgpmvYUCw==} @@ -4230,8 +4432,8 @@ packages: chardet@2.1.0: resolution: {integrity: sha512-bNFETTG/pM5ryzQ9Ad0lJOTa6HWD/YsScAR3EnCPZRPlQh77JocYktSHOUHelyhm8IARL+o4c4F1bP5KVOjiRA==} - chardet@2.2.0: - resolution: {integrity: sha512-rddelWYNPRrXq6PtNEN2S3f6t9ILzvqaN5pVgi4kqt9jHQaXIial9PznB5iSPVlQSLNaaH22ItWz3EJtQ10+OA==} + chardet@2.1.1: + resolution: {integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==} check-error@2.1.1: resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} @@ -4241,9 +4443,6 @@ packages: resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} engines: {node: '>= 14.16.0'} - chownr@1.1.4: - resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} - chownr@3.0.0: resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} engines: {node: '>=18'} @@ -4345,6 +4544,10 @@ packages: resolution: {integrity: sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==} engines: {node: '>= 14'} + cross-spawn@6.0.6: + resolution: {integrity: sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==} + engines: {node: '>=4.8'} + cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} @@ -4442,9 +4645,6 @@ packages: resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} engines: {node: '>=12'} - de-indent@1.0.2: - resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} - debug@2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: @@ -4462,10 +4662,6 @@ packages: supports-color: optional: true - decompress-response@6.0.0: - resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} - engines: {node: '>=10'} - decompress-tar@4.1.1: resolution: {integrity: sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==} engines: {node: '>=4'} @@ -4490,10 +4686,6 @@ packages: resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} engines: {node: '>=6'} - deep-extend@0.6.0: - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} - engines: {node: '>=4.0.0'} - define-data-property@1.1.4: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} @@ -4615,8 +4807,8 @@ packages: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} - expand-template@2.0.3: - resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} + execa@1.0.0: + resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==} engines: {node: '>=6'} expect-type@1.2.2: @@ -4680,9 +4872,6 @@ packages: resolution: {integrity: sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==} engines: {node: '>=4'} - file-uri-to-path@1.0.0: - resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} - fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} @@ -4748,17 +4937,21 @@ packages: resolution: {integrity: sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==} engines: {node: '>=0.10.0'} - get-tsconfig@5.0.0-beta.5: - resolution: {integrity: sha512-/6gFNr0N04nob252sTQxyFLi3eKFRqIg1I87YcqAMT1i6SQrSF6KujUEQrtrjMV0H/eejTCltLdDSTEMzHbnsQ==} - engines: {node: '>=20.20.0'} + get-stream@4.1.0: + resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} + engines: {node: '>=6'} - github-from-package@0.0.0: - resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} + get-tsconfig@5.0.0-beta.6: + resolution: {integrity: sha512-X6fBC0pmImC70gvX2zm56go9hx0MyoGVdG0tUCkg/D+Xnh5TJsOZ7iDbOdI3PvmtrDxnu1YdDufpK2QJX1Meqw==} + engines: {node: '>=20.20.0'} glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} + glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + glob@10.4.5: resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me @@ -4802,10 +4995,6 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} - he@1.2.0: - resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} - hasBin: true - html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} @@ -4852,6 +5041,10 @@ packages: resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} engines: {node: '>=12'} + interpret@1.4.0: + resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} + engines: {node: '>= 0.10'} + is-arrayish@0.3.4: resolution: {integrity: sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA==} @@ -5138,10 +5331,6 @@ packages: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} - mimic-response@3.1.0: - resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} - engines: {node: '>=10'} - minimatch@10.0.3: resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==} engines: {node: 20 || >=22} @@ -5172,9 +5361,6 @@ packages: resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==} engines: {node: '>= 18'} - mkdirp-classic@0.5.3: - resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} - mlly@1.8.0: resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==} @@ -5203,16 +5389,16 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - napi-build-utils@2.0.0: - resolution: {integrity: sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==} - - node-abi@3.94.0: - resolution: {integrity: sha512-W5ZNO5KRPB5TkYmGVD9F6YqhsglXJzE6etpbmT+f6EQElhiX/UTG551cnsRGvLG3fyZEg9HwaDmNmj5nwJ4z9g==} - engines: {node: '>=10'} + nice-try@1.0.5: + resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} node-addon-api@7.1.1: resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} + node-addon-api@8.9.2: + resolution: {integrity: sha512-VijLXbi3UACN69I0JVXJsX4tjACjNoQDgv2gTF6sx2wWEi8tkSg2eX8p5gSIFi8z2+DL3oHmY6OyKce38SDolg==} + engines: {node: ^18 || ^20 || >= 21} + node-fetch@2.7.0: resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} engines: {node: 4.x || >=6.0.0} @@ -5239,15 +5425,16 @@ packages: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} + npm-run-path@2.0.2: + resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} + engines: {node: '>=4'} + object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - obug@2.1.1: - resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==} - - obug@2.1.4: - resolution: {integrity: sha512-4a+OsYv9UktOJKE+l1A4OufDgdRF9PifWj+tJnHURo/P+WOxpG4GzUFL9qCalmWauao6ogiG+QvnCovwPoyAWA==} + obug@2.2.1: + resolution: {integrity: sha512-XrsrhT5sybtKI6wakr2SPOlGZWWYbUXZ7a0jT8/QOeAPau+1X/bSegNe5YR75oJmEZQbKningirmGOEJCIk61Q==} engines: {node: '>=12.20.0'} once@1.4.0: @@ -5288,6 +5475,10 @@ packages: resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} engines: {node: '>=8'} + p-finally@1.0.0: + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} + engines: {node: '>=4'} + p-limit@2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} @@ -5321,6 +5512,10 @@ packages: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} + path-key@2.0.1: + resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} + engines: {node: '>=4'} + path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -5403,12 +5598,6 @@ packages: resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} engines: {node: ^10 || ^12 || >=14} - prebuild-install@7.1.3: - resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==} - engines: {node: '>=10'} - deprecated: No longer maintained. Please contact the author of the relevant native addon; alternatives are available. - hasBin: true - prettier@2.8.8: resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} engines: {node: '>=10.13.0'} @@ -5424,10 +5613,6 @@ packages: proto-list@1.2.4: resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} - protobufjs@7.5.4: - resolution: {integrity: sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg==} - engines: {node: '>=12.0.0'} - protobufjs@7.6.6: resolution: {integrity: sha512-dYDWdjSl5RNb7SgPxGQcRU+GtvP7s2fpkrY0r432PcOIaZ0/rBcxEZnQN67iJhFuQiVw754JDoPruPCNdGsbjg==} engines: {node: '>=12.0.0'} @@ -5452,11 +5637,11 @@ packages: queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - quickjs-emscripten-core@0.31.0: - resolution: {integrity: sha512-oQz8p0SiKDBc1TC7ZBK2fr0GoSHZKA0jZIeXxsnCyCs4y32FStzCW4d1h6E1sE0uHDMbGITbk2zhNaytaoJwXQ==} + quickjs-emscripten-core@0.32.0: + resolution: {integrity: sha512-QFnPfjFey8EqknSrSxe1hZrf1/8z7/6s1QzGOmKo6++02r7QRRX7ZoyNaZh7JuVjWsVW87KnQrbZqnHkOAzUyg==} - quickjs-emscripten@0.31.0: - resolution: {integrity: sha512-K7Yt78aRPLjPcqv3fIuLW1jW3pvwO21B9pmFOolsjM/57ZhdVXBr51GqJpalgBlkPu9foAvhEAuuQPnvIGvLvQ==} + quickjs-emscripten@0.32.0: + resolution: {integrity: sha512-So0Sqw869y/S2oE3Nuc0uT3Dhqgvsj8FSrwBdsuTosVsG8ME5/OcudU1GxsrIFdFABgy17GHnTVO9TYV/bLQcA==} engines: {node: '>=16.0.0'} quickselect@3.0.0: @@ -5465,10 +5650,6 @@ packages: rbush@4.0.1: resolution: {integrity: sha512-IP0UpfeWQujYC8Jg162rMNc01Rf0gWMMAb2Uxus/Q0qOFw4lCcq6ZnQEZwUoJqWyUGJ9th7JjwI4yIWo+uvoAQ==} - rc@1.2.8: - resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} - hasBin: true - react-dom@19.2.4: resolution: {integrity: sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==} peerDependencies: @@ -5500,6 +5681,10 @@ packages: resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} engines: {node: '>= 14.18.0'} + rechoir@0.6.2: + resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} + engines: {node: '>= 0.10'} + reflect-metadata@0.2.2: resolution: {integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==} @@ -5530,20 +5715,20 @@ packages: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rolldown-plugin-dts@0.26.0: - resolution: {integrity: sha512-e+kEPtUiDES0htk5iqkSeF4EzAV7R+vugGB44iPDuw1Kw9E+WyL1VG7PaV0IIjGHLiacztMBcMTyrr8ON9CT1Q==} - engines: {node: ^22.18.0 || >=24.11.0} + rolldown-plugin-dts@0.28.5: + resolution: {integrity: sha512-yYd3C9CeJwqjOc9X23m0Tyxcqic491uLZlfg51szT287S8zCCqLR2uoySoElgqy2CLn7PdXcEo1dlkBs4n1WHg==} + engines: {node: ^22.18.0 || ^24.11.0 || >=26.0.0} peerDependencies: - '@ts-macro/tsc': ^0.3.6 - '@typescript/native-preview': '>=7.0.0-dev.20260325.1' - rolldown: ^1.0.0 - typescript: ^5.0.0 || ^6.0.0 + '@typescript/native-preview': '*' + '@volar/typescript': ~2.4.0 + rolldown: ^1.2.0 + typescript: ^5.0.0 || ^6.0.0 || ~7.0.0 vue-tsc: ~3.2.0 || ~3.3.0 peerDependenciesMeta: - '@ts-macro/tsc': - optional: true '@typescript/native-preview': optional: true + '@volar/typescript': + optional: true typescript: optional: true vue-tsc: @@ -5554,8 +5739,8 @@ packages: engines: {node: ^20.19.0 || >=22.12.0} hasBin: true - rolldown@1.2.1: - resolution: {integrity: sha512-4FKJhg8d3OiyQOA6Q1Q0hoFFpW9/OoX+VsHzpECsdsIZoOArrAK90gl59YK/Z+gnDel45bgJZK03ozH/9bCqEw==} + rolldown@1.2.8: + resolution: {integrity: sha512-Z67nTmhZe7anqnM/EjI392w5i/ANUinjip7QYsOyN37oayduxt3ksdX0hf5OOamkAd53BiIHfbfSzfUmzKFQqQ==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true @@ -5610,6 +5795,10 @@ packages: resolution: {integrity: sha512-ftnu3TW4+3eBfLRFnDEkzGxSF/10BJBkaLJuBHZX0kiPS7bRdlpZGu6YGt4KngMkdTwJE6MbjavFpqHvqVt+Ew==} engines: {node: '>=18'} + semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true @@ -5628,27 +5817,42 @@ packages: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} + shebang-command@1.2.0: + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} + engines: {node: '>=0.10.0'} + shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} + shebang-regex@1.0.0: + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} + engines: {node: '>=0.10.0'} + shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} + shelljs@0.9.2: + resolution: {integrity: sha512-S3I64fEiKgTZzKCC46zT/Ib9meqofLrQVbpSswtjFfAVDW+AZ54WTnAM/3/yENoxz/V1Cy6u3kiiEbQ4DNphvw==} + engines: {node: '>=18'} + hasBin: true + + shx@0.4.0: + resolution: {integrity: sha512-Z0KixSIlGPpijKgcH6oCMCbltPImvaKy0sGH8AkLRXw1KyzpKtaCTizP2xen+hNDqVF4xxgvA0KXSb9o4Q6hnA==} + engines: {node: '>=18'} + hasBin: true + siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - simple-concat@1.0.1: - resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} - - simple-get@4.0.1: - resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} - simple-swizzle@0.2.4: resolution: {integrity: sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==} @@ -5728,8 +5932,8 @@ packages: strip-dirs@2.1.0: resolution: {integrity: sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==} - strip-json-comments@2.0.1: - resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + strip-eof@1.0.0: + resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} engines: {node: '>=0.10.0'} strip-json-comments@3.1.1: @@ -5754,9 +5958,6 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - tar-fs@2.1.5: - resolution: {integrity: sha512-OboTd8mmMhZDNPV+UjQcK9yKAatXu2aJ+r1w4im1Otd4M4fl2hwvdoXUxIYHFTHWK/3y3FarBP70v3vwmGlOxw==} - tar-fs@3.1.1: resolution: {integrity: sha512-LZA0oaPOc2fVo82Txf3gw+AkEd38szODlptMYejQUhndHMLQ9M059uXR+AfS7DNo0NpINvSqDsvyaCrBVkptWg==} @@ -5764,10 +5965,6 @@ packages: resolution: {integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==} engines: {node: '>= 0.8.0'} - tar-stream@2.2.0: - resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} - engines: {node: '>=6'} - tar-stream@3.1.7: resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} @@ -5852,9 +6049,6 @@ packages: resolution: {integrity: sha512-axr3IdNuVIxnaK5XGEUFTu3YmAQ6lllgrvqfEoR16g/HGnYY/6We4oWENtAnzK6/LpJ2ur9PAb80RBt7/U4ugw==} engines: {node: '>= 6.0.0'} - tunnel-agent@0.6.0: - resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} - turbo-darwin-64@2.5.5: resolution: {integrity: sha512-RYnTz49u4F5tDD2SUwwtlynABNBAfbyT2uU/brJcyh5k6lDLyNfYKdKmqd3K2ls4AaiALWrFKVSBsiVwhdFNzQ==} cpu: [x64] @@ -5911,16 +6105,21 @@ packages: engines: {node: '>=14.17'} hasBin: true - typescript@5.9.2: - resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==} + typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} engines: {node: '>=14.17'} hasBin: true - typescript@5.9.3: - resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} + typescript@6.0.3: + resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==} engines: {node: '>=14.17'} hasBin: true + typescript@7.0.2: + resolution: {integrity: sha512-8FYau96o3NKOhbjKi/qNvG/W5jhzxkbdm5sj9AbZ/5T5sWqn3hJgLfGx27sRKZWTvyzCP8dLRBTf5tBTSRVUNA==} + engines: {node: '>=16.20.0'} + hasBin: true + ufo@1.6.1: resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} @@ -5946,6 +6145,40 @@ packages: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} + unplugin-dts@1.1.0: + resolution: {integrity: sha512-KZJ+qk+lmd9dJY/PJvDRFL9BUtVubKDiX7Ai/X6mlkCArcQNzwmupKjVqHbRA42uqO5ZfFRFc+o8/OCbQ1GonQ==} + peerDependencies: + '@microsoft/api-extractor': '>=7' + '@rspack/core': ^1 + '@vue/language-core': ^3.1.5 + esbuild: '*' + rolldown: '*' + rollup: '>=3' + typescript: '>=4' + vite: '>=3' + webpack: ^4 || ^5 + peerDependenciesMeta: + '@microsoft/api-extractor': + optional: true + '@rspack/core': + optional: true + '@vue/language-core': + optional: true + esbuild: + optional: true + rolldown: + optional: true + rollup: + optional: true + vite: + optional: true + webpack: + optional: true + + unplugin@2.3.11: + resolution: {integrity: sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww==} + engines: {node: '>=18.12.0'} + upath@2.0.1: resolution: {integrity: sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==} engines: {node: '>=4'} @@ -5979,12 +6212,17 @@ packages: vite-plugin-commonjs@0.10.4: resolution: {integrity: sha512-eWQuvQKCcx0QYB5e5xfxBNjQKyrjEWZIR9UOkOV6JAgxVhtbZvCOF+FNC2ZijBJ3U3Px04ZMMyyMyFBVWIJ5+g==} - vite-plugin-dts@4.5.4: - resolution: {integrity: sha512-d4sOM8M/8z7vRXHHq/ebbblfaxENjogAAekcfcDCCwAyvGqnPrc7f4NZbvItS+g4WTgerW0xDwSz5qz11JT3vg==} + vite-plugin-dts@5.1.0: + resolution: {integrity: sha512-MfLc2G+mXPUDGGxpHQeYbdunavFP9UpT9yxiAsTgUXRxfEd3HqysSAM4E72jhz5eIz3OOexCHkqiVlQq8ok9/A==} peerDependencies: - typescript: '*' - vite: '*' + '@microsoft/api-extractor': '>=7' + rollup: '>=3' + vite: '>=3' peerDependenciesMeta: + '@microsoft/api-extractor': + optional: true + rollup: + optional: true vite: optional: true @@ -6159,8 +6397,8 @@ packages: vue-component-type-helpers@2.2.12: resolution: {integrity: sha512-YbGqHZ5/eW4SnkPNR44mKVc6ZKQoRs/Rux1sxC6rdwXb4qpbOSYfDr9DsTHolOTGmIKgM9j141mZbBeg05R1pw==} - vue-tsc@3.3.5: - resolution: {integrity: sha512-Rzh/G2MmNlMSAMTiQEjDrsb4dgB/jbtEM47rVN2NtidF1dfb/q4w4QvpQBtW5+y3y5H27Hjh7deVwk+YB02fNg==} + vue-tsc@3.3.10: + resolution: {integrity: sha512-YaDVxcW+CGtaOt3pZahMG5jYPx0hsUTxyEoPOTSMebcGUXP9lIBabQ14vfKMORb2CqqK5CxsNo/d1d+4IQwiKg==} hasBin: true peerDependencies: typescript: '>=5.0.0' @@ -6176,6 +6414,9 @@ packages: webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + webpack-virtual-modules@0.6.2: + resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} + whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} @@ -6183,6 +6424,10 @@ packages: resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==} engines: {node: '>= 0.4'} + which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -6254,6 +6499,15 @@ packages: resolution: {integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==} engines: {node: '>=18'} + yuku-ast@0.9.5: + resolution: {integrity: sha512-Q8qW8WwQnN5Cm0ZZivdRIfv0sRLTjUq0YumXJkw8CYN1aCdICH9rk4C47/4n6kA5EqDtlj+F608twoTSV2MwdQ==} + + yuku-codegen@0.9.5: + resolution: {integrity: sha512-zGUVyDpSK4b6c9B0yyxi2P0wujn1XZTbG9dCb7d6gyAoP63EMgyLzUwPUvwxPG5jgYqhlI7w+S3oCyapqGr4PA==} + + yuku-parser@0.9.5: + resolution: {integrity: sha512-IBnAdNVMswWbJcM7woPluOudectJzFjJ1N8jVRxP9Uq4CIv5hZdBIcdmtRbFDYF/Ph2j2gVup4YJ4N9mh0jYFA==} + zip-stream@6.0.1: resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} engines: {node: '>= 14'} @@ -6864,15 +7118,6 @@ snapshots: '@jridgewell/trace-mapping': 0.3.31 jsesc: 3.1.0 - '@babel/generator@8.0.0': - dependencies: - '@babel/parser': 8.0.4 - '@babel/types': 8.0.4 - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - '@types/jsesc': 2.5.1 - jsesc: 3.1.0 - '@babel/helper-compilation-targets@7.28.6': dependencies: '@babel/compat-data': 7.29.0 @@ -6901,12 +7146,8 @@ snapshots: '@babel/helper-string-parser@7.27.1': {} - '@babel/helper-string-parser@8.0.0': {} - '@babel/helper-validator-identifier@7.28.5': {} - '@babel/helper-validator-identifier@8.0.4': {} - '@babel/helper-validator-option@7.27.1': {} '@babel/helpers@7.28.6': @@ -6914,18 +7155,10 @@ snapshots: '@babel/template': 7.28.6 '@babel/types': 7.29.0 - '@babel/parser@7.28.5': - dependencies: - '@babel/types': 7.28.5 - '@babel/parser@7.29.0': dependencies: '@babel/types': 7.29.0 - '@babel/parser@8.0.4': - dependencies: - '@babel/types': 8.0.4 - '@babel/runtime@7.28.4': {} '@babel/template@7.28.6': @@ -6946,21 +7179,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/types@7.28.5': - dependencies: - '@babel/helper-string-parser': 7.27.1 - '@babel/helper-validator-identifier': 7.28.5 - '@babel/types@7.29.0': dependencies: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 - '@babel/types@8.0.4': - dependencies: - '@babel/helper-string-parser': 8.0.0 - '@babel/helper-validator-identifier': 8.0.4 - '@bufbuild/protobuf@2.9.0': {} '@bufbuild/protoplugin@2.9.0': @@ -7192,32 +7415,16 @@ snapshots: tslib: 2.8.1 optional: true - '@emnapi/core@2.0.0-alpha.3': - dependencies: - '@emnapi/wasi-threads': 2.0.1 - tslib: 2.8.1 - optional: true - '@emnapi/runtime@1.10.0': dependencies: tslib: 2.8.1 optional: true - '@emnapi/runtime@2.0.0-alpha.3': - dependencies: - tslib: 2.8.1 - optional: true - '@emnapi/wasi-threads@1.2.1': dependencies: tslib: 2.8.1 optional: true - '@emnapi/wasi-threads@2.0.1': - dependencies: - tslib: 2.8.1 - optional: true - '@esbuild/aix-ppc64@0.25.10': optional: true @@ -7296,23 +7503,11 @@ snapshots: '@esbuild/win32-x64@0.25.10': optional: true - '@grpc/grpc-js@1.13.4': - dependencies: - '@grpc/proto-loader': 0.7.15 - '@js-sdsl/ordered-map': 4.4.2 - '@grpc/grpc-js@1.14.4': dependencies: '@grpc/proto-loader': 0.8.1 '@js-sdsl/ordered-map': 4.4.2 - '@grpc/proto-loader@0.7.15': - dependencies: - lodash.camelcase: 4.3.0 - long: 5.3.2 - protobufjs: 7.5.4 - yargs: 17.7.2 - '@grpc/proto-loader@0.8.1': dependencies: lodash.camelcase: 4.3.0 @@ -7377,7 +7572,7 @@ snapshots: '@inquirer/external-editor@1.0.3(@types/node@24.5.2)': dependencies: - chardet: 2.2.0 + chardet: 2.1.1 iconv-lite: 0.7.0 optionalDependencies: '@types/node': 24.5.2 @@ -7473,27 +7668,27 @@ snapshots: '@istanbuljs/schema@0.1.3': {} - '@jitl/quickjs-ffi-types@0.31.0': {} + '@jitl/quickjs-ffi-types@0.32.0': {} - '@jitl/quickjs-wasmfile-debug-asyncify@0.31.0': + '@jitl/quickjs-wasmfile-debug-asyncify@0.32.0': dependencies: - '@jitl/quickjs-ffi-types': 0.31.0 + '@jitl/quickjs-ffi-types': 0.32.0 - '@jitl/quickjs-wasmfile-debug-sync@0.31.0': + '@jitl/quickjs-wasmfile-debug-sync@0.32.0': dependencies: - '@jitl/quickjs-ffi-types': 0.31.0 + '@jitl/quickjs-ffi-types': 0.32.0 - '@jitl/quickjs-wasmfile-release-asyncify@0.31.0': + '@jitl/quickjs-wasmfile-release-asyncify@0.32.0': dependencies: - '@jitl/quickjs-ffi-types': 0.31.0 + '@jitl/quickjs-ffi-types': 0.32.0 - '@jitl/quickjs-wasmfile-release-sync@0.31.0': + '@jitl/quickjs-wasmfile-release-sync@0.32.0': dependencies: - '@jitl/quickjs-ffi-types': 0.31.0 + '@jitl/quickjs-ffi-types': 0.32.0 '@jridgewell/gen-mapping@0.3.13': dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/sourcemap-codec': 1.6.0 '@jridgewell/trace-mapping': 0.3.31 '@jridgewell/remapping@2.3.5': @@ -7505,10 +7700,12 @@ snapshots: '@jridgewell/sourcemap-codec@1.5.5': {} + '@jridgewell/sourcemap-codec@1.6.0': {} + '@jridgewell/trace-mapping@0.3.31': dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/sourcemap-codec': 1.6.0 '@js-sdsl/ordered-map@4.4.2': {} @@ -7548,6 +7745,7 @@ snapshots: '@rushstack/node-core-library': 5.14.0(@types/node@24.5.2) transitivePeerDependencies: - '@types/node' + optional: true '@microsoft/api-extractor@7.52.13(@types/node@24.5.2)': dependencies: @@ -7566,6 +7764,7 @@ snapshots: typescript: 5.8.2 transitivePeerDependencies: - '@types/node' + optional: true '@microsoft/tsdoc-config@0.17.1': dependencies: @@ -7573,13 +7772,15 @@ snapshots: ajv: 8.12.0 jju: 1.4.0 resolve: 1.22.10 + optional: true - '@microsoft/tsdoc@0.15.1': {} + '@microsoft/tsdoc@0.15.1': + optional: true - '@milaboratories/columns-collection-driver@0.2.3': + '@milaboratories/columns-collection-driver@0.2.5': dependencies: '@milaboratories/helpers': 1.14.5 - '@milaboratories/pl-model-common': 1.47.3 + '@milaboratories/pl-model-common': 1.49.0 '@milaboratories/computable@2.9.8': dependencies: @@ -7588,25 +7789,25 @@ snapshots: '@types/node': 24.5.2 utility-types: 3.11.0 - '@milaboratories/graph-maker@1.8.0(@milaboratories/pl-model-common@1.47.3)(@platforma-sdk/model@1.80.13)(@platforma-sdk/ui-vue@1.80.13(@bytecodealliance/preview2-shim@0.17.8)(typescript@5.9.2))(d3-dispatch@3.0.1)(d3-path@3.1.0)(d3-scale-chromatic@3.1.0)(typescript@5.9.2)': + '@milaboratories/graph-maker@1.8.0(@milaboratories/pl-model-common@1.49.0)(@platforma-sdk/model@1.83.17)(@platforma-sdk/ui-vue@1.83.17(@bytecodealliance/preview2-shim@0.17.8)(typescript@5.9.3))(d3-dispatch@3.0.1)(d3-path@3.1.0)(d3-scale-chromatic@3.1.0)(typescript@5.9.3)': dependencies: '@ag-grid-community/core': 32.3.9 '@milaboratories/helpers': 1.14.5 '@milaboratories/miplots4': 1.5.0(d3-dispatch@3.0.1)(d3-path@3.1.0)(d3-scale-chromatic@3.1.0) - '@milaboratories/pf-plots': 1.5.0(@milaboratories/pl-model-common@1.47.3)(@platforma-sdk/model@1.80.13) - '@platforma-sdk/model': 1.80.13 - '@platforma-sdk/ui-vue': 1.80.13(@bytecodealliance/preview2-shim@0.17.8)(typescript@5.9.2) + '@milaboratories/pf-plots': 1.5.0(@milaboratories/pl-model-common@1.49.0)(@platforma-sdk/model@1.83.17) + '@platforma-sdk/model': 1.83.17 + '@platforma-sdk/ui-vue': 1.83.17(@bytecodealliance/preview2-shim@0.17.8)(typescript@5.9.3) '@types/d3-color': 3.1.3 '@types/d3-hierarchy': 3.1.7 '@types/d3-scale': 4.0.9 - '@vueuse/core': 13.9.0(vue@3.5.24(typescript@5.9.2)) - '@zip.js/zip.js': 2.14.0 - ag-grid-vue3: 34.1.2(vue@3.5.24(typescript@5.9.2)) + '@vueuse/core': 13.9.0(vue@3.5.24(typescript@5.9.3)) + '@zip.js/zip.js': 2.15.0 + ag-grid-vue3: 34.1.2(vue@3.5.24(typescript@5.9.3)) canonicalize: 2.1.0 d3-color: 3.1.0 d3-hierarchy: 3.1.2 d3-scale: 4.0.2 - vue: 3.5.24(typescript@5.9.2) + vue: 3.5.24(typescript@5.9.3) transitivePeerDependencies: - '@milaboratories/pl-model-common' - d3-dispatch @@ -7615,25 +7816,25 @@ snapshots: - supports-color - typescript - '@milaboratories/graph-maker@1.8.0(@milaboratories/pl-model-common@1.48.0)(@platforma-sdk/model@1.80.13)(@platforma-sdk/ui-vue@1.80.13(@bytecodealliance/preview2-shim@0.17.8)(typescript@5.9.2))(d3-dispatch@3.0.1)(d3-path@3.1.0)(d3-scale-chromatic@3.1.0)(typescript@5.9.2)': + '@milaboratories/graph-maker@1.8.0(@milaboratories/pl-model-common@1.49.0)(@platforma-sdk/model@1.83.17)(@platforma-sdk/ui-vue@1.83.17(@bytecodealliance/preview2-shim@0.17.8)(typescript@7.0.2))(d3-dispatch@3.0.1)(d3-path@3.1.0)(d3-scale-chromatic@3.1.0)(typescript@7.0.2)': dependencies: '@ag-grid-community/core': 32.3.9 '@milaboratories/helpers': 1.14.5 '@milaboratories/miplots4': 1.5.0(d3-dispatch@3.0.1)(d3-path@3.1.0)(d3-scale-chromatic@3.1.0) - '@milaboratories/pf-plots': 1.5.0(@milaboratories/pl-model-common@1.48.0)(@platforma-sdk/model@1.80.13) - '@platforma-sdk/model': 1.80.13 - '@platforma-sdk/ui-vue': 1.80.13(@bytecodealliance/preview2-shim@0.17.8)(typescript@5.9.2) + '@milaboratories/pf-plots': 1.5.0(@milaboratories/pl-model-common@1.49.0)(@platforma-sdk/model@1.83.17) + '@platforma-sdk/model': 1.83.17 + '@platforma-sdk/ui-vue': 1.83.17(@bytecodealliance/preview2-shim@0.17.8)(typescript@7.0.2) '@types/d3-color': 3.1.3 '@types/d3-hierarchy': 3.1.7 '@types/d3-scale': 4.0.9 - '@vueuse/core': 13.9.0(vue@3.5.24(typescript@5.9.2)) - '@zip.js/zip.js': 2.14.0 - ag-grid-vue3: 34.1.2(vue@3.5.24(typescript@5.9.2)) + '@vueuse/core': 13.9.0(vue@3.5.24(typescript@7.0.2)) + '@zip.js/zip.js': 2.15.0 + ag-grid-vue3: 34.1.2(vue@3.5.24(typescript@7.0.2)) canonicalize: 2.1.0 d3-color: 3.1.0 d3-hierarchy: 3.1.2 d3-scale: 4.0.2 - vue: 3.5.24(typescript@5.9.2) + vue: 3.5.24(typescript@7.0.2) transitivePeerDependencies: - '@milaboratories/pl-model-common' - d3-dispatch @@ -7684,13 +7885,13 @@ snapshots: - d3-scale-chromatic - supports-color - '@milaboratories/pf-driver@1.8.5(@bytecodealliance/preview2-shim@0.17.8)': + '@milaboratories/pf-driver@1.9.2(@bytecodealliance/preview2-shim@0.17.8)': dependencies: '@milaboratories/helpers': 1.14.5 - '@milaboratories/pframes-rs-node': 1.1.56 - '@milaboratories/pframes-rs-wasm': 1.1.56(@bytecodealliance/preview2-shim@0.17.8)(@milaboratories/pl-model-common@1.47.3)(@milaboratories/pl-model-middle-layer@1.30.15) - '@milaboratories/pl-model-common': 1.47.3 - '@milaboratories/pl-model-middle-layer': 1.30.15 + '@milaboratories/pf-spec': 1.0.2(@bytecodealliance/preview2-shim@0.17.8) + '@milaboratories/pframes-rs-node': 1.1.60 + '@milaboratories/pl-model-common': 1.49.0 + '@milaboratories/pl-model-middle-layer': 1.32.1 '@milaboratories/ts-helpers': 1.8.6 es-toolkit: 1.39.10 lru-cache: 11.2.2 @@ -7699,84 +7900,56 @@ snapshots: - encoding - supports-color - '@milaboratories/pf-plots@1.5.0(@milaboratories/pl-model-common@1.47.3)(@platforma-sdk/model@1.80.13)': - dependencies: - '@milaboratories/helpers': 1.14.5 - '@milaboratories/pl-model-common': 1.47.3 - '@platforma-sdk/model': 1.80.13 - canonicalize: 2.1.0 - lodash: 4.17.21 - - '@milaboratories/pf-plots@1.5.0(@milaboratories/pl-model-common@1.48.0)(@platforma-sdk/model@1.80.13)': + '@milaboratories/pf-plots@1.5.0(@milaboratories/pl-model-common@1.49.0)(@platforma-sdk/model@1.83.17)': dependencies: '@milaboratories/helpers': 1.14.5 - '@milaboratories/pl-model-common': 1.48.0 - '@platforma-sdk/model': 1.80.13 + '@milaboratories/pl-model-common': 1.49.0 + '@platforma-sdk/model': 1.83.17 canonicalize: 2.1.0 lodash: 4.17.21 - '@milaboratories/pf-spec-driver@1.4.24(@bytecodealliance/preview2-shim@0.17.8)': + '@milaboratories/pf-spec-driver@1.5.2(@bytecodealliance/preview2-shim@0.17.8)': dependencies: '@milaboratories/helpers': 1.14.5 - '@milaboratories/pframes-rs-wasm': 1.1.56(@bytecodealliance/preview2-shim@0.17.8)(@milaboratories/pl-model-common@1.47.3)(@milaboratories/pl-model-middle-layer@1.30.15) - '@milaboratories/pl-model-common': 1.47.3 - '@milaboratories/pl-model-middle-layer': 1.30.15 + '@milaboratories/pf-spec': 1.0.2(@bytecodealliance/preview2-shim@0.17.8) + '@milaboratories/pl-model-common': 1.49.0 '@noble/hashes': 2.0.1 transitivePeerDependencies: - '@bytecodealliance/preview2-shim' - '@milaboratories/pframes-rs-node@1.1.56': + '@milaboratories/pf-spec@1.0.2(@bytecodealliance/preview2-shim@0.17.8)': + dependencies: + '@bytecodealliance/preview2-shim': 0.17.8 + '@milaboratories/pl-model-common': 1.49.0 + '@milaboratories/pl-model-middle-layer': 1.32.1 + + '@milaboratories/pframes-rs-node@1.1.60': dependencies: '@mapbox/node-pre-gyp': 2.0.3 '@milaboratories/helpers': 1.14.2 - '@milaboratories/pframes-rs-serv': 1.1.56 + '@milaboratories/pframes-rs-serv': 1.1.60 '@milaboratories/pl-model-common': 1.46.2 ulid: 3.0.2 transitivePeerDependencies: - encoding - supports-color - '@milaboratories/pframes-rs-serv@1.1.56': + '@milaboratories/pframes-rs-serv@1.1.60': dependencies: '@milaboratories/helpers': 1.14.2 '@milaboratories/pl-model-common': 1.46.2 '@milaboratories/pl-model-middle-layer': 1.30.7 - better-sqlite3: 12.10.0 + better-sqlite3: 13.0.3 commander: 14.0.3 selfsigned: 5.5.0 - '@milaboratories/pframes-rs-wasip2@1.1.56': {} - - '@milaboratories/pframes-rs-wasm@1.1.56(@bytecodealliance/preview2-shim@0.17.8)(@milaboratories/pl-model-common@1.47.3)(@milaboratories/pl-model-middle-layer@1.30.15)': - dependencies: - '@bytecodealliance/preview2-shim': 0.17.8 - '@milaboratories/pframes-rs-wasip2': 1.1.56 - '@milaboratories/pl-model-common': 1.47.3 - '@milaboratories/pl-model-middle-layer': 1.30.15 - - '@milaboratories/pl-client@3.14.4': - dependencies: - '@grpc/grpc-js': 1.13.4 - '@milaboratories/pl-http': 1.2.4 - '@milaboratories/pl-model-common': 1.47.3 - '@milaboratories/ts-helpers': 1.8.6 - '@protobuf-ts/grpc-transport': 2.11.1(@grpc/grpc-js@1.13.4) - '@protobuf-ts/runtime': 2.11.1 - '@protobuf-ts/runtime-rpc': 2.11.1 - canonicalize: 2.1.0 - denque: 2.1.0 - long: 5.3.2 - lru-cache: 11.2.2 - openapi-fetch: 0.15.0 - undici: 7.16.0 - utility-types: 3.11.0 - yaml: 2.8.1 + '@milaboratories/pframes-rs-wasip2@1.1.60': {} - '@milaboratories/pl-client@3.16.0': + '@milaboratories/pl-client@3.16.2': dependencies: '@grpc/grpc-js': 1.14.4 '@milaboratories/pl-http': 1.2.4 - '@milaboratories/pl-model-common': 1.48.0 + '@milaboratories/pl-model-common': 1.49.0 '@milaboratories/ts-helpers': 1.8.6 '@protobuf-ts/grpc-transport': 2.11.1(@grpc/grpc-js@1.14.4) '@protobuf-ts/runtime': 2.11.1 @@ -7796,12 +7969,12 @@ snapshots: upath: 2.0.1 yaml: 2.8.1 - '@milaboratories/pl-deployments@3.0.14': + '@milaboratories/pl-deployments@3.0.17': dependencies: '@milaboratories/pl-config': 1.8.5 - '@milaboratories/pl-healthcheck': 1.0.4 + '@milaboratories/pl-healthcheck': 1.0.5 '@milaboratories/pl-http': 1.2.4 - '@milaboratories/pl-model-common': 1.47.3 + '@milaboratories/pl-model-common': 1.49.0 '@milaboratories/ts-helpers': 1.8.6 decompress: 4.2.1 ssh2: 1.17.0 @@ -7811,16 +7984,16 @@ snapshots: yaml: 2.8.1 zod: 3.25.76 - '@milaboratories/pl-drivers@1.16.13': + '@milaboratories/pl-drivers@1.16.21': dependencies: - '@grpc/grpc-js': 1.13.4 + '@grpc/grpc-js': 1.14.4 '@milaboratories/computable': 2.9.8 '@milaboratories/helpers': 1.14.5 - '@milaboratories/pl-client': 3.14.4 - '@milaboratories/pl-model-common': 1.47.3 - '@milaboratories/pl-tree': 1.13.4 + '@milaboratories/pl-client': 3.16.2 + '@milaboratories/pl-model-common': 1.49.0 + '@milaboratories/pl-tree': 1.14.4 '@milaboratories/ts-helpers': 1.8.6 - '@protobuf-ts/grpc-transport': 2.11.1(@grpc/grpc-js@1.13.4) + '@protobuf-ts/grpc-transport': 2.11.1(@grpc/grpc-js@1.14.4) '@protobuf-ts/plugin': 2.11.1 '@protobuf-ts/runtime': 2.11.1 '@protobuf-ts/runtime-rpc': 2.11.1 @@ -7841,17 +8014,21 @@ snapshots: json-stringify-safe: 5.0.1 zod: 3.25.76 - '@milaboratories/pl-errors@1.4.33': + '@milaboratories/pl-errors@1.4.40': dependencies: - '@milaboratories/pl-client': 3.14.4 + '@milaboratories/pl-client': 3.16.2 '@milaboratories/ts-helpers': 1.8.6 zod: 3.25.76 - '@milaboratories/pl-healthcheck@1.0.4': + '@milaboratories/pl-flight-recorder@0.2.1': dependencies: - '@grpc/grpc-js': 1.13.4 + '@milaboratories/pl-model-common': 1.49.0 + + '@milaboratories/pl-healthcheck@1.0.5': + dependencies: + '@grpc/grpc-js': 1.14.4 '@milaboratories/ts-helpers': 1.8.6 - '@protobuf-ts/grpc-transport': 2.11.1(@grpc/grpc-js@1.13.4) + '@protobuf-ts/grpc-transport': 2.11.1(@grpc/grpc-js@1.14.4) '@protobuf-ts/runtime': 2.11.1 '@protobuf-ts/runtime-rpc': 2.11.1 @@ -7859,34 +8036,34 @@ snapshots: dependencies: undici: 7.16.0 - '@milaboratories/pl-middle-layer@1.66.12(@bytecodealliance/preview2-shim@0.17.8)(@types/node@24.5.2)': + '@milaboratories/pl-middle-layer@1.71.5(@bytecodealliance/preview2-shim@0.17.8)(@types/node@24.5.2)': dependencies: - '@milaboratories/columns-collection-driver': 0.2.3 + '@milaboratories/columns-collection-driver': 0.2.5 '@milaboratories/computable': 2.9.8 '@milaboratories/helpers': 1.14.5 - '@milaboratories/pf-driver': 1.8.5(@bytecodealliance/preview2-shim@0.17.8) - '@milaboratories/pf-spec-driver': 1.4.24(@bytecodealliance/preview2-shim@0.17.8) - '@milaboratories/pframes-rs-node': 1.1.56 - '@milaboratories/pframes-rs-wasm': 1.1.56(@bytecodealliance/preview2-shim@0.17.8)(@milaboratories/pl-model-common@1.47.3)(@milaboratories/pl-model-middle-layer@1.30.15) - '@milaboratories/pl-client': 3.14.4 - '@milaboratories/pl-deployments': 3.0.14 - '@milaboratories/pl-drivers': 1.16.13 - '@milaboratories/pl-errors': 1.4.33 + '@milaboratories/pf-driver': 1.9.2(@bytecodealliance/preview2-shim@0.17.8) + '@milaboratories/pf-spec-driver': 1.5.2(@bytecodealliance/preview2-shim@0.17.8) + '@milaboratories/pframes-rs-node': 1.1.60 + '@milaboratories/pl-client': 3.16.2 + '@milaboratories/pl-deployments': 3.0.17 + '@milaboratories/pl-drivers': 1.16.21 + '@milaboratories/pl-errors': 1.4.40 + '@milaboratories/pl-flight-recorder': 0.2.1 '@milaboratories/pl-http': 1.2.4 - '@milaboratories/pl-model-backend': 1.4.18 - '@milaboratories/pl-model-common': 1.47.3 - '@milaboratories/pl-model-middle-layer': 1.30.15 - '@milaboratories/pl-tree': 1.13.4 + '@milaboratories/pl-model-backend': 1.4.25 + '@milaboratories/pl-model-common': 1.49.0 + '@milaboratories/pl-model-middle-layer': 1.32.1 + '@milaboratories/pl-tree': 1.14.4 '@milaboratories/resolve-helper': 1.1.3 '@milaboratories/ts-helpers': 1.8.6 - '@platforma-sdk/block-tools': 2.12.9(@types/node@24.5.2) - '@platforma-sdk/model': 1.80.13 - '@platforma-sdk/workflow-tengo': 6.8.2 + '@platforma-sdk/block-tools': 2.15.2(@types/node@24.5.2) + '@platforma-sdk/model': 1.83.17 + '@platforma-sdk/workflow-tengo': 6.10.1 canonicalize: 2.1.0 denque: 2.1.0 es-toolkit: 1.39.10 lru-cache: 11.2.2 - quickjs-emscripten: 0.31.0 + quickjs-emscripten: 0.32.0 semver: 7.7.2 undici: 7.16.0 utility-types: 3.11.0 @@ -7901,15 +8078,9 @@ snapshots: - react-native-b4a - supports-color - '@milaboratories/pl-model-backend@1.4.18': + '@milaboratories/pl-model-backend@1.4.25': dependencies: - '@milaboratories/pl-client': 3.14.4 - canonicalize: 2.1.0 - zod: 3.25.76 - - '@milaboratories/pl-model-backend@1.4.23': - dependencies: - '@milaboratories/pl-client': 3.16.0 + '@milaboratories/pl-client': 3.16.2 canonicalize: 2.1.0 zod: 3.25.76 @@ -7920,15 +8091,7 @@ snapshots: canonicalize: 2.1.0 zod: 3.25.76 - '@milaboratories/pl-model-common@1.47.3': - dependencies: - '@milaboratories/helpers': 1.14.5 - '@milaboratories/pl-error-like': 1.12.10 - canonicalize: 2.1.0 - es-toolkit: 1.39.10 - zod: 3.25.76 - - '@milaboratories/pl-model-common@1.48.0': + '@milaboratories/pl-model-common@1.49.0': dependencies: '@milaboratories/helpers': 1.14.5 '@milaboratories/pl-error-like': 1.12.10 @@ -7936,14 +8099,6 @@ snapshots: es-toolkit: 1.39.10 zod: 3.25.76 - '@milaboratories/pl-model-middle-layer@1.30.15': - dependencies: - '@milaboratories/helpers': 1.14.5 - '@milaboratories/pl-model-common': 1.47.3 - es-toolkit: 1.39.10 - utility-types: 3.11.0 - zod: 3.25.76 - '@milaboratories/pl-model-middle-layer@1.30.7': dependencies: '@milaboratories/helpers': 1.14.2 @@ -7952,27 +8107,27 @@ snapshots: utility-types: 3.11.0 zod: 3.25.76 - '@milaboratories/pl-model-middle-layer@1.32.0': + '@milaboratories/pl-model-middle-layer@1.32.1': dependencies: '@milaboratories/helpers': 1.14.5 - '@milaboratories/pl-model-common': 1.48.0 + '@milaboratories/pl-model-common': 1.49.0 es-toolkit: 1.39.10 utility-types: 3.11.0 zod: 3.25.76 - '@milaboratories/pl-tree@1.13.4': + '@milaboratories/pl-tree@1.14.4': dependencies: '@milaboratories/computable': 2.9.8 - '@milaboratories/pl-client': 3.14.4 - '@milaboratories/pl-errors': 1.4.33 + '@milaboratories/pl-client': 3.16.2 + '@milaboratories/pl-errors': 1.4.40 '@milaboratories/ts-helpers': 1.8.6 denque: 2.1.0 utility-types: 3.11.0 zod: 3.25.76 - '@milaboratories/ptabler-expression-js@1.2.37': + '@milaboratories/ptabler-expression-js@1.2.39': dependencies: - '@platforma-open/milaboratories.software-ptabler.schema': 1.15.21 + '@platforma-open/milaboratories.software-ptabler.schema': 1.15.23 '@milaboratories/resolve-helper@1.1.3': {} @@ -7980,31 +8135,81 @@ snapshots: '@milaboratories/tengo-tester@1.6.4': {} - '@milaboratories/ts-builder@1.6.1(@types/node@24.5.2)(rollup@4.52.0)(sass@1.89.2)(vue@3.5.24(typescript@5.9.2))(yaml@2.8.1)': + '@milaboratories/ts-builder@1.7.2(@microsoft/api-extractor@7.52.13(@types/node@24.5.2))(@types/node@24.5.2)(@volar/typescript@2.4.28)(@vue/language-core@3.3.10)(rollup@4.52.0)(sass@1.89.2)(vue@3.5.24(typescript@5.9.3))(yaml@2.8.1)': dependencies: - '@milaboratories/ts-configs': 1.3.1 - '@vitejs/plugin-vue': 6.0.5(vite@8.0.10(@types/node@24.5.2)(sass@1.89.2)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.2)) + '@milaboratories/ts-configs': 1.4.0 + '@typescript/typescript6': 6.0.2 + '@vitejs/plugin-vue': 6.0.9(vite@8.0.10(@types/node@24.5.2)(sass@1.89.2)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3)) commander: 15.0.0 jsonc-parser: 3.3.1 oxfmt: 0.35.0 oxlint: 1.63.0 oxlint-plugin-eslint: 1.63.0 - rolldown: 1.2.1 - rolldown-plugin-dts: 0.26.0(rolldown@1.2.1)(typescript@5.9.3)(vue-tsc@3.3.5(typescript@5.9.3)) + rolldown: 1.2.8 + rolldown-plugin-dts: 0.28.5(@volar/typescript@2.4.28)(rolldown@1.2.8)(typescript@7.0.2)(vue-tsc@3.3.10(typescript@7.0.2)) rollup-plugin-copy: 3.5.0 rollup-plugin-sourcemaps2: 0.5.4(@types/node@24.5.2)(rollup@4.52.0) - typescript: 5.9.3 + typescript: 7.0.2 + vite: 8.0.10(@types/node@24.5.2)(sass@1.89.2)(yaml@2.8.1) + vite-plugin-commonjs: 0.10.4 + vite-plugin-dts: 5.1.0(@microsoft/api-extractor@7.52.13(@types/node@24.5.2))(@vue/language-core@3.3.10)(rolldown@1.2.8)(rollup@4.52.0)(typescript@7.0.2)(vite@8.0.10(@types/node@24.5.2)(sass@1.89.2)(yaml@2.8.1)) + vite-plugin-externalize-deps: 0.10.0(vite@8.0.10(@types/node@24.5.2)(sass@1.89.2)(yaml@2.8.1)) + vite-plugin-lib-inject-css: 2.2.2(vite@8.0.10(@types/node@24.5.2)(sass@1.89.2)(yaml@2.8.1)) + vue-tsc: 3.3.10(typescript@7.0.2) + transitivePeerDependencies: + - '@microsoft/api-extractor' + - '@rspack/core' + - '@types/node' + - '@typescript/native-preview' + - '@vitejs/devtools' + - '@volar/typescript' + - '@vue/language-core' + - esbuild + - jiti + - less + - oxc-resolver + - oxlint-tsgolint + - rollup + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - vue + - webpack + - yaml + + '@milaboratories/ts-builder@1.7.2(@microsoft/api-extractor@7.52.13(@types/node@24.5.2))(@types/node@24.5.2)(@volar/typescript@2.4.28)(@vue/language-core@3.3.10)(rollup@4.52.0)(sass@1.89.2)(vue@3.5.24(typescript@7.0.2))(yaml@2.8.1)': + dependencies: + '@milaboratories/ts-configs': 1.4.0 + '@typescript/typescript6': 6.0.2 + '@vitejs/plugin-vue': 6.0.9(vite@8.0.10(@types/node@24.5.2)(sass@1.89.2)(yaml@2.8.1))(vue@3.5.24(typescript@7.0.2)) + commander: 15.0.0 + jsonc-parser: 3.3.1 + oxfmt: 0.35.0 + oxlint: 1.63.0 + oxlint-plugin-eslint: 1.63.0 + rolldown: 1.2.8 + rolldown-plugin-dts: 0.28.5(@volar/typescript@2.4.28)(rolldown@1.2.8)(typescript@7.0.2)(vue-tsc@3.3.10(typescript@7.0.2)) + rollup-plugin-copy: 3.5.0 + rollup-plugin-sourcemaps2: 0.5.4(@types/node@24.5.2)(rollup@4.52.0) + typescript: 7.0.2 vite: 8.0.10(@types/node@24.5.2)(sass@1.89.2)(yaml@2.8.1) vite-plugin-commonjs: 0.10.4 - vite-plugin-dts: 4.5.4(@types/node@24.5.2)(rollup@4.52.0)(typescript@5.9.3)(vite@8.0.10(@types/node@24.5.2)(sass@1.89.2)(yaml@2.8.1)) + vite-plugin-dts: 5.1.0(@microsoft/api-extractor@7.52.13(@types/node@24.5.2))(@vue/language-core@3.3.10)(rolldown@1.2.8)(rollup@4.52.0)(typescript@7.0.2)(vite@8.0.10(@types/node@24.5.2)(sass@1.89.2)(yaml@2.8.1)) vite-plugin-externalize-deps: 0.10.0(vite@8.0.10(@types/node@24.5.2)(sass@1.89.2)(yaml@2.8.1)) vite-plugin-lib-inject-css: 2.2.2(vite@8.0.10(@types/node@24.5.2)(sass@1.89.2)(yaml@2.8.1)) - vue-tsc: 3.3.5(typescript@5.9.3) + vue-tsc: 3.3.10(typescript@7.0.2) transitivePeerDependencies: - - '@ts-macro/tsc' + - '@microsoft/api-extractor' + - '@rspack/core' - '@types/node' - '@typescript/native-preview' - '@vitejs/devtools' + - '@volar/typescript' + - '@vue/language-core' - esbuild - jiti - less @@ -8019,9 +8224,10 @@ snapshots: - terser - tsx - vue + - webpack - yaml - '@milaboratories/ts-configs@1.3.1': {} + '@milaboratories/ts-configs@1.4.0': {} '@milaboratories/ts-helpers@1.8.6': dependencies: @@ -8029,18 +8235,52 @@ snapshots: canonicalize: 2.1.0 denque: 2.1.0 - '@milaboratories/uikit@2.15.19(typescript@5.9.2)': + '@milaboratories/uikit@2.15.30(typescript@5.9.3)': + dependencies: + '@milaboratories/helpers': 1.14.5 + '@platforma-sdk/model': 1.83.17 + '@types/d3-array': 3.2.2 + '@types/d3-axis': 3.0.6 + '@types/d3-scale': 4.0.9 + '@types/d3-selection': 3.0.11 + '@types/sortablejs': 1.15.8 + '@vue/test-utils': 2.4.6 + '@vueuse/core': 13.9.0(vue@3.5.24(typescript@5.9.3)) + '@vueuse/integrations': 13.9.0(sortablejs@1.15.6)(vue@3.5.24(typescript@5.9.3)) + canonicalize: 2.1.0 + d3-array: 3.2.4 + d3-axis: 3.0.0 + d3-scale: 4.0.2 + d3-selection: 3.0.0 + resize-observer-polyfill: 1.5.1 + sortablejs: 1.15.6 + vue: 3.5.24(typescript@5.9.3) + transitivePeerDependencies: + - async-validator + - axios + - change-case + - drauu + - focus-trap + - fuse.js + - idb-keyval + - jwt-decode + - nprogress + - qrcode + - typescript + - universal-cookie + + '@milaboratories/uikit@2.15.30(typescript@7.0.2)': dependencies: '@milaboratories/helpers': 1.14.5 - '@platforma-sdk/model': 1.80.13 + '@platforma-sdk/model': 1.83.17 '@types/d3-array': 3.2.2 '@types/d3-axis': 3.0.6 '@types/d3-scale': 4.0.9 '@types/d3-selection': 3.0.11 '@types/sortablejs': 1.15.8 '@vue/test-utils': 2.4.6 - '@vueuse/core': 13.9.0(vue@3.5.24(typescript@5.9.2)) - '@vueuse/integrations': 13.9.0(sortablejs@1.15.6)(vue@3.5.24(typescript@5.9.2)) + '@vueuse/core': 13.9.0(vue@3.5.24(typescript@7.0.2)) + '@vueuse/integrations': 13.9.0(sortablejs@1.15.6)(vue@3.5.24(typescript@7.0.2)) canonicalize: 2.1.0 d3-array: 3.2.4 d3-axis: 3.0.0 @@ -8048,7 +8288,7 @@ snapshots: d3-selection: 3.0.0 resize-observer-polyfill: 1.5.1 sortablejs: 1.15.6 - vue: 3.5.24(typescript@5.9.2) + vue: 3.5.24(typescript@7.0.2) transitivePeerDependencies: - async-validator - axios @@ -8070,13 +8310,6 @@ snapshots: '@tybys/wasm-util': 0.10.1 optional: true - '@napi-rs/wasm-runtime@1.2.1(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)': - dependencies: - '@emnapi/core': 2.0.0-alpha.3 - '@emnapi/runtime': 2.0.0-alpha.3 - '@tybys/wasm-util': 0.10.3 - optional: true - '@noble/hashes@1.4.0': {} '@noble/hashes@2.0.1': {} @@ -8097,7 +8330,7 @@ snapshots: '@oxc-project/types@0.127.0': {} - '@oxc-project/types@0.142.0': {} + '@oxc-project/types@0.149.0': {} '@oxfmt/binding-android-arm-eabi@0.35.0': optional: true @@ -8367,11 +8600,11 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true - '@platforma-open/milaboratories.software-ptabler.schema@1.15.21': + '@platforma-open/milaboratories.software-ptabler.schema@1.15.23': dependencies: - '@milaboratories/pl-model-common': 1.47.3 + '@milaboratories/pl-model-common': 1.49.0 - '@platforma-open/milaboratories.software-ptabler@2.1.8': {} + '@platforma-open/milaboratories.software-ptabler@2.1.9': {} '@platforma-open/milaboratories.software-ptexter@1.2.4': {} @@ -8393,41 +8626,17 @@ snapshots: '@platforma-open/milaboratories.software-small-binaries.mnz-client': 1.6.5 '@platforma-open/milaboratories.software-small-binaries.table-converter': 1.3.5 - '@platforma-sdk/block-tools@2.12.9(@types/node@24.5.2)': - dependencies: - '@aws-sdk/client-ecr-public': 3.859.0 - '@aws-sdk/client-s3': 3.859.0 - '@inquirer/prompts': 7.10.1(@types/node@24.5.2) - '@milaboratories/pl-http': 1.2.4 - '@milaboratories/pl-model-backend': 1.4.18 - '@milaboratories/pl-model-common': 1.47.3 - '@milaboratories/pl-model-middle-layer': 1.30.15 - '@milaboratories/resolve-helper': 1.1.3 - '@milaboratories/ts-helpers': 1.8.6 - '@platforma-sdk/blocks-deps-updater': 2.2.0 - '@platforma-sdk/package-builder-lib': 1.2.1 - canonicalize: 2.1.0 - commander: 15.0.0 - lru-cache: 11.2.2 - mime-types: 2.1.35 - tar: 7.4.4 - undici: 7.16.0 - yaml: 2.8.1 - zod: 3.25.76 - transitivePeerDependencies: - - '@types/node' - - aws-crt - - react-native-b4a + '@platforma-sdk/block-kind@1.1.0': {} - '@platforma-sdk/block-tools@2.15.0(@types/node@24.5.2)': + '@platforma-sdk/block-tools@2.15.2(@types/node@24.5.2)': dependencies: '@aws-sdk/client-ecr-public': 3.859.0 '@aws-sdk/client-s3': 3.859.0 '@inquirer/prompts': 7.10.1(@types/node@24.5.2) '@milaboratories/pl-http': 1.2.4 - '@milaboratories/pl-model-backend': 1.4.23 - '@milaboratories/pl-model-common': 1.48.0 - '@milaboratories/pl-model-middle-layer': 1.32.0 + '@milaboratories/pl-model-backend': 1.4.25 + '@milaboratories/pl-model-common': 1.49.0 + '@milaboratories/pl-model-middle-layer': 1.32.1 '@milaboratories/resolve-helper': 1.1.3 '@milaboratories/ts-helpers': 1.8.6 '@platforma-sdk/blocks-deps-updater': 2.2.0 @@ -8449,13 +8658,13 @@ snapshots: dependencies: yaml: 2.8.1 - '@platforma-sdk/model@1.80.13': + '@platforma-sdk/model@1.83.17': dependencies: '@milaboratories/helpers': 1.14.5 '@milaboratories/pl-error-like': 1.12.10 - '@milaboratories/pl-model-common': 1.47.3 - '@milaboratories/pl-model-middle-layer': 1.30.15 - '@milaboratories/ptabler-expression-js': 1.2.37 + '@milaboratories/pl-model-common': 1.49.0 + '@milaboratories/pl-model-middle-layer': 1.32.1 + '@milaboratories/ptabler-expression-js': 1.2.39 canonicalize: 2.1.0 es-toolkit: 1.39.10 fast-json-patch: 3.1.1 @@ -8463,7 +8672,7 @@ snapshots: utility-types: 3.11.0 zod: 3.25.76 - '@platforma-sdk/package-builder-lib@1.2.1': + '@platforma-sdk/package-builder-lib@1.4.0': dependencies: '@aws-sdk/client-s3': 3.859.0 '@aws-sdk/lib-storage': 3.859.0(@aws-sdk/client-s3@3.859.0) @@ -8477,36 +8686,22 @@ snapshots: - aws-crt - react-native-b4a - '@platforma-sdk/package-builder-lib@1.4.0': + '@platforma-sdk/tengo-builder@4.0.27': dependencies: - '@aws-sdk/client-s3': 3.859.0 - '@aws-sdk/lib-storage': 3.859.0(@aws-sdk/client-s3@3.859.0) - '@milaboratories/resolve-helper': 1.1.3 - archiver: 7.0.1 - undici: 7.16.0 - winston: 3.17.0 - yaml: 2.8.1 - zod: 3.25.76 - transitivePeerDependencies: - - aws-crt - - react-native-b4a - - '@platforma-sdk/tengo-builder@4.0.20': - dependencies: - '@milaboratories/pl-model-backend': 1.4.18 + '@milaboratories/pl-model-backend': 1.4.25 '@milaboratories/resolve-helper': 1.1.3 '@milaboratories/tengo-tester': 1.6.4 '@milaboratories/ts-helpers': 1.8.6 commander: 15.0.0 winston: 3.17.0 - '@platforma-sdk/test@1.80.13(@bytecodealliance/preview2-shim@0.17.8)(@types/node@24.5.2)(vite@7.1.7(@types/node@24.5.2)(lightningcss@1.32.0)(sass@1.89.2)(yaml@2.8.1))': + '@platforma-sdk/test@1.83.17(@bytecodealliance/preview2-shim@0.17.8)(@types/node@24.5.2)(vite@7.1.7(@types/node@24.5.2)(lightningcss@1.32.0)(sass@1.89.2)(yaml@2.8.1))': dependencies: '@milaboratories/computable': 2.9.8 - '@milaboratories/pl-client': 3.14.4 - '@milaboratories/pl-middle-layer': 1.66.12(@bytecodealliance/preview2-shim@0.17.8)(@types/node@24.5.2) - '@milaboratories/pl-tree': 1.13.4 - '@platforma-sdk/model': 1.80.13 + '@milaboratories/pl-client': 3.16.2 + '@milaboratories/pl-middle-layer': 1.71.5(@bytecodealliance/preview2-shim@0.17.8)(@types/node@24.5.2) + '@milaboratories/pl-tree': 1.14.4 + '@platforma-sdk/model': 1.83.17 '@vitest/coverage-istanbul': 4.1.5(vitest@3.2.4(@types/node@24.5.2)(lightningcss@1.32.0)(sass@1.89.2)(yaml@2.8.1)) vitest: 4.1.5(@types/node@24.5.2)(@vitest/coverage-istanbul@4.1.5)(vite@7.1.7(@types/node@24.5.2)(lightningcss@1.32.0)(sass@1.89.2)(yaml@2.8.1)) transitivePeerDependencies: @@ -8529,27 +8724,56 @@ snapshots: - supports-color - vite - '@platforma-sdk/ui-vue@1.80.13(@bytecodealliance/preview2-shim@0.17.8)(typescript@5.9.2)': + '@platforma-sdk/test@1.83.17(@bytecodealliance/preview2-shim@0.17.8)(@types/node@24.5.2)(vite@8.0.10(@types/node@24.5.2)(sass@1.89.2)(yaml@2.8.1))': + dependencies: + '@milaboratories/computable': 2.9.8 + '@milaboratories/pl-client': 3.16.2 + '@milaboratories/pl-middle-layer': 1.71.5(@bytecodealliance/preview2-shim@0.17.8)(@types/node@24.5.2) + '@milaboratories/pl-tree': 1.14.4 + '@platforma-sdk/model': 1.83.17 + '@vitest/coverage-istanbul': 4.1.5(vitest@4.1.5) + vitest: 4.1.5(@types/node@24.5.2)(@vitest/coverage-istanbul@4.1.5)(vite@8.0.10(@types/node@24.5.2)(sass@1.89.2)(yaml@2.8.1)) + transitivePeerDependencies: + - '@bytecodealliance/preview2-shim' + - '@edge-runtime/vm' + - '@opentelemetry/api' + - '@types/node' + - '@vitest/browser-playwright' + - '@vitest/browser-preview' + - '@vitest/browser-webdriverio' + - '@vitest/coverage-v8' + - '@vitest/ui' + - aws-crt + - bare-buffer + - encoding + - happy-dom + - jsdom + - msw + - react-native-b4a + - supports-color + - vite + + '@platforma-sdk/ui-vue@1.83.17(@bytecodealliance/preview2-shim@0.17.8)(typescript@5.9.3)': dependencies: - '@milaboratories/columns-collection-driver': 0.2.3 - '@milaboratories/pf-spec-driver': 1.4.24(@bytecodealliance/preview2-shim@0.17.8) - '@milaboratories/pl-model-common': 1.47.3 - '@milaboratories/uikit': 2.15.19(typescript@5.9.2) - '@platforma-sdk/model': 1.80.13 + '@milaboratories/columns-collection-driver': 0.2.5 + '@milaboratories/pf-spec-driver': 1.5.2(@bytecodealliance/preview2-shim@0.17.8) + '@milaboratories/pl-model-common': 1.49.0 + '@milaboratories/uikit': 2.15.30(typescript@5.9.3) + '@platforma-sdk/model': 1.83.17 '@types/d3-format': 3.0.4 '@types/node': 24.5.2 '@types/semver': 7.7.1 - '@vueuse/core': 13.9.0(vue@3.5.24(typescript@5.9.2)) - '@zip.js/zip.js': 2.8.8 + '@vueuse/core': 13.9.0(vue@3.5.24(typescript@5.9.3)) + '@zip.js/zip.js': 2.15.0 ag-grid-enterprise: 34.1.2 - ag-grid-vue3: 34.1.2(vue@3.5.24(typescript@5.9.2)) + ag-grid-vue3: 34.1.2(vue@3.5.24(typescript@5.9.3)) canonicalize: 2.1.0 d3-format: 3.1.0 es-toolkit: 1.39.10 fast-json-patch: 3.1.1 immer: 11.1.4 lru-cache: 11.2.2 - vue: 3.5.24(typescript@5.9.2) + vue: 3.5.24(typescript@5.9.3) zod: 3.25.76 transitivePeerDependencies: - '@bytecodealliance/preview2-shim' @@ -8566,20 +8790,51 @@ snapshots: - typescript - universal-cookie - '@platforma-sdk/workflow-tengo@6.8.2': + '@platforma-sdk/ui-vue@1.83.17(@bytecodealliance/preview2-shim@0.17.8)(typescript@7.0.2)': dependencies: - '@milaboratories/pframes-rs-wasip2': 1.1.56 + '@milaboratories/columns-collection-driver': 0.2.5 + '@milaboratories/pf-spec-driver': 1.5.2(@bytecodealliance/preview2-shim@0.17.8) + '@milaboratories/pl-model-common': 1.49.0 + '@milaboratories/uikit': 2.15.30(typescript@7.0.2) + '@platforma-sdk/model': 1.83.17 + '@types/d3-format': 3.0.4 + '@types/node': 24.5.2 + '@types/semver': 7.7.1 + '@vueuse/core': 13.9.0(vue@3.5.24(typescript@7.0.2)) + '@zip.js/zip.js': 2.15.0 + ag-grid-enterprise: 34.1.2 + ag-grid-vue3: 34.1.2(vue@3.5.24(typescript@7.0.2)) + canonicalize: 2.1.0 + d3-format: 3.1.0 + es-toolkit: 1.39.10 + fast-json-patch: 3.1.1 + immer: 11.1.4 + lru-cache: 11.2.2 + vue: 3.5.24(typescript@7.0.2) + zod: 3.25.76 + transitivePeerDependencies: + - '@bytecodealliance/preview2-shim' + - async-validator + - axios + - change-case + - drauu + - focus-trap + - fuse.js + - idb-keyval + - jwt-decode + - nprogress + - qrcode + - typescript + - universal-cookie + + '@platforma-sdk/workflow-tengo@6.10.1': + dependencies: + '@milaboratories/pframes-rs-wasip2': 1.1.60 '@milaboratories/software-pframes-conv': 2.2.9 - '@platforma-open/milaboratories.software-ptabler': 2.1.8 + '@platforma-open/milaboratories.software-ptabler': 2.1.9 '@platforma-open/milaboratories.software-ptexter': 1.2.4 '@platforma-open/milaboratories.software-small-binaries': 2.1.1 - '@protobuf-ts/grpc-transport@2.11.1(@grpc/grpc-js@1.13.4)': - dependencies: - '@grpc/grpc-js': 1.13.4 - '@protobuf-ts/runtime': 2.11.1 - '@protobuf-ts/runtime-rpc': 2.11.1 - '@protobuf-ts/grpc-transport@2.11.1(@grpc/grpc-js@1.14.4)': dependencies: '@grpc/grpc-js': 1.14.4 @@ -8609,105 +8864,95 @@ snapshots: '@protobufjs/base64@1.1.2': {} - '@protobufjs/codegen@2.0.4': {} - '@protobufjs/codegen@2.0.5': {} - '@protobufjs/eventemitter@1.1.0': {} - '@protobufjs/eventemitter@1.1.1': {} - '@protobufjs/fetch@1.1.0': - dependencies: - '@protobufjs/aspromise': 1.1.2 - '@protobufjs/inquire': 1.1.0 - '@protobufjs/fetch@1.1.1': dependencies: '@protobufjs/aspromise': 1.1.2 '@protobufjs/float@1.0.2': {} - '@protobufjs/inquire@1.1.0': {} - '@protobufjs/path@1.1.2': {} '@protobufjs/pool@1.1.0': {} - '@protobufjs/utf8@1.1.0': {} - '@protobufjs/utf8@1.1.2': {} + '@rolldown/binding-android-arm-eabi@1.2.8': + optional: true + '@rolldown/binding-android-arm64@1.0.0-rc.17': optional: true - '@rolldown/binding-android-arm64@1.2.1': + '@rolldown/binding-android-arm64@1.2.8': optional: true '@rolldown/binding-darwin-arm64@1.0.0-rc.17': optional: true - '@rolldown/binding-darwin-arm64@1.2.1': + '@rolldown/binding-darwin-arm64@1.2.8': optional: true '@rolldown/binding-darwin-x64@1.0.0-rc.17': optional: true - '@rolldown/binding-darwin-x64@1.2.1': + '@rolldown/binding-darwin-x64@1.2.8': optional: true '@rolldown/binding-freebsd-x64@1.0.0-rc.17': optional: true - '@rolldown/binding-freebsd-x64@1.2.1': + '@rolldown/binding-freebsd-x64@1.2.8': optional: true '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.17': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.2.1': + '@rolldown/binding-linux-arm-gnueabihf@1.2.8': optional: true '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.17': optional: true - '@rolldown/binding-linux-arm64-gnu@1.2.1': + '@rolldown/binding-linux-arm64-gnu@1.2.8': optional: true '@rolldown/binding-linux-arm64-musl@1.0.0-rc.17': optional: true - '@rolldown/binding-linux-arm64-musl@1.2.1': + '@rolldown/binding-linux-arm64-musl@1.2.8': optional: true '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.17': optional: true - '@rolldown/binding-linux-ppc64-gnu@1.2.1': + '@rolldown/binding-linux-ppc64-gnu@1.2.8': optional: true '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.17': optional: true - '@rolldown/binding-linux-s390x-gnu@1.2.1': + '@rolldown/binding-linux-s390x-gnu@1.2.8': optional: true '@rolldown/binding-linux-x64-gnu@1.0.0-rc.17': optional: true - '@rolldown/binding-linux-x64-gnu@1.2.1': + '@rolldown/binding-linux-x64-gnu@1.2.8': optional: true '@rolldown/binding-linux-x64-musl@1.0.0-rc.17': optional: true - '@rolldown/binding-linux-x64-musl@1.2.1': + '@rolldown/binding-linux-x64-musl@1.2.8': optional: true '@rolldown/binding-openharmony-arm64@1.0.0-rc.17': optional: true - '@rolldown/binding-openharmony-arm64@1.2.1': + '@rolldown/binding-openharmony-arm64@1.2.8': optional: true '@rolldown/binding-wasm32-wasi@1.0.0-rc.17': @@ -8717,29 +8962,20 @@ snapshots: '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) optional: true - '@rolldown/binding-wasm32-wasi@1.2.1': - dependencies: - '@emnapi/core': 2.0.0-alpha.3 - '@emnapi/runtime': 2.0.0-alpha.3 - '@napi-rs/wasm-runtime': 1.2.1(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3) - optional: true - '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.17': optional: true - '@rolldown/binding-win32-arm64-msvc@1.2.1': + '@rolldown/binding-win32-arm64-msvc@1.2.8': optional: true '@rolldown/binding-win32-x64-msvc@1.0.0-rc.17': optional: true - '@rolldown/binding-win32-x64-msvc@1.2.1': + '@rolldown/binding-win32-x64-msvc@1.2.8': optional: true '@rolldown/pluginutils@1.0.0-rc.17': {} - '@rolldown/pluginutils@1.0.0-rc.2': {} - '@rolldown/pluginutils@1.0.1': {} '@rollup/pluginutils@5.2.0(rollup@4.52.0)': @@ -8836,11 +9072,13 @@ snapshots: semver: 7.5.4 optionalDependencies: '@types/node': 24.5.2 + optional: true '@rushstack/rig-package@0.5.3': dependencies: resolve: 1.22.10 strip-json-comments: 3.1.1 + optional: true '@rushstack/terminal@0.16.0(@types/node@24.5.2)': dependencies: @@ -8848,6 +9086,7 @@ snapshots: supports-color: 8.1.1 optionalDependencies: '@types/node': 24.5.2 + optional: true '@rushstack/ts-command-line@5.0.3(@types/node@24.5.2)': dependencies: @@ -8857,6 +9096,7 @@ snapshots: string-argv: 0.3.2 transitivePeerDependencies: - '@types/node' + optional: true '@smithy/abort-controller@4.1.1': dependencies: @@ -11278,13 +11518,9 @@ snapshots: tslib: 2.8.1 optional: true - '@tybys/wasm-util@0.10.3': - dependencies: - tslib: 2.8.1 + '@types/argparse@1.0.38': optional: true - '@types/argparse@1.0.38': {} - '@types/chai@5.2.2': dependencies: '@types/deep-eql': 4.0.2 @@ -11322,8 +11558,6 @@ snapshots: '@types/minimatch': 6.0.0 '@types/node': 24.5.2 - '@types/jsesc@2.5.1': {} - '@types/minimatch@6.0.0': dependencies: minimatch: 10.0.3 @@ -11344,6 +11578,70 @@ snapshots: '@types/web-bluetooth@0.0.21': {} + '@typescript/typescript-aix-ppc64@7.0.2': + optional: true + + '@typescript/typescript-darwin-arm64@7.0.2': + optional: true + + '@typescript/typescript-darwin-x64@7.0.2': + optional: true + + '@typescript/typescript-freebsd-arm64@7.0.2': + optional: true + + '@typescript/typescript-freebsd-x64@7.0.2': + optional: true + + '@typescript/typescript-linux-arm64@7.0.2': + optional: true + + '@typescript/typescript-linux-arm@7.0.2': + optional: true + + '@typescript/typescript-linux-loong64@7.0.2': + optional: true + + '@typescript/typescript-linux-mips64el@7.0.2': + optional: true + + '@typescript/typescript-linux-ppc64@7.0.2': + optional: true + + '@typescript/typescript-linux-riscv64@7.0.2': + optional: true + + '@typescript/typescript-linux-s390x@7.0.2': + optional: true + + '@typescript/typescript-linux-x64@7.0.2': + optional: true + + '@typescript/typescript-netbsd-arm64@7.0.2': + optional: true + + '@typescript/typescript-netbsd-x64@7.0.2': + optional: true + + '@typescript/typescript-openbsd-arm64@7.0.2': + optional: true + + '@typescript/typescript-openbsd-x64@7.0.2': + optional: true + + '@typescript/typescript-sunos-x64@7.0.2': + optional: true + + '@typescript/typescript-win32-arm64@7.0.2': + optional: true + + '@typescript/typescript-win32-x64@7.0.2': + optional: true + + '@typescript/typescript6@6.0.2': + dependencies: + '@typescript/old': typescript@6.0.3 + '@typescript/vfs@1.6.1(typescript@5.4.5)': dependencies: debug: 4.4.3 @@ -11351,11 +11649,17 @@ snapshots: transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@6.0.5(vite@8.0.10(@types/node@24.5.2)(sass@1.89.2)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.2))': + '@vitejs/plugin-vue@6.0.9(vite@8.0.10(@types/node@24.5.2)(sass@1.89.2)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3))': + dependencies: + '@rolldown/pluginutils': 1.0.1 + vite: 8.0.10(@types/node@24.5.2)(sass@1.89.2)(yaml@2.8.1) + vue: 3.5.24(typescript@5.9.3) + + '@vitejs/plugin-vue@6.0.9(vite@8.0.10(@types/node@24.5.2)(sass@1.89.2)(yaml@2.8.1))(vue@3.5.24(typescript@7.0.2))': dependencies: - '@rolldown/pluginutils': 1.0.0-rc.2 + '@rolldown/pluginutils': 1.0.1 vite: 8.0.10(@types/node@24.5.2)(sass@1.89.2)(yaml@2.8.1) - vue: 3.5.24(typescript@5.9.2) + vue: 3.5.24(typescript@7.0.2) '@vitest/coverage-istanbul@4.1.5(vitest@3.2.4(@types/node@24.5.2)(lightningcss@1.32.0)(sass@1.89.2)(yaml@2.8.1))': dependencies: @@ -11367,12 +11671,28 @@ snapshots: istanbul-lib-report: 3.0.1 istanbul-reports: 3.2.0 magicast: 0.5.2 - obug: 2.1.1 + obug: 2.2.1 tinyrainbow: 3.1.0 vitest: 3.2.4(@types/node@24.5.2)(lightningcss@1.32.0)(sass@1.89.2)(yaml@2.8.1) transitivePeerDependencies: - supports-color + '@vitest/coverage-istanbul@4.1.5(vitest@4.1.5)': + dependencies: + '@babel/core': 7.29.0 + '@istanbuljs/schema': 0.1.3 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-report: 3.0.1 + istanbul-reports: 3.2.0 + magicast: 0.5.2 + obug: 2.2.1 + tinyrainbow: 3.1.0 + vitest: 4.1.5(@types/node@24.5.2)(@vitest/coverage-istanbul@4.1.5)(vite@7.1.7(@types/node@24.5.2)(lightningcss@1.32.0)(sass@1.89.2)(yaml@2.8.1)) + transitivePeerDependencies: + - supports-color + '@vitest/expect@3.2.4': dependencies: '@types/chai': 5.2.2 @@ -11406,6 +11726,14 @@ snapshots: optionalDependencies: vite: 7.1.7(@types/node@24.5.2)(lightningcss@1.32.0)(sass@1.89.2)(yaml@2.8.1) + '@vitest/mocker@4.1.5(vite@8.0.10(@types/node@24.5.2)(sass@1.89.2)(yaml@2.8.1))': + dependencies: + '@vitest/spy': 4.1.5 + estree-walker: 3.0.3 + magic-string: 0.30.21 + optionalDependencies: + vite: 8.0.10(@types/node@24.5.2)(sass@1.89.2)(yaml@2.8.1) + '@vitest/pretty-format@3.2.4': dependencies: tinyrainbow: 2.0.0 @@ -11470,7 +11798,7 @@ snapshots: '@vue/compiler-core@3.5.24': dependencies: - '@babel/parser': 7.28.5 + '@babel/parser': 7.29.0 '@vue/shared': 3.5.24 entities: 4.5.0 estree-walker: 2.0.2 @@ -11483,14 +11811,14 @@ snapshots: '@vue/compiler-sfc@3.5.24': dependencies: - '@babel/parser': 7.28.5 + '@babel/parser': 7.29.0 '@vue/compiler-core': 3.5.24 '@vue/compiler-dom': 3.5.24 '@vue/compiler-ssr': 3.5.24 '@vue/shared': 3.5.24 estree-walker: 2.0.2 magic-string: 0.30.21 - postcss: 8.5.6 + postcss: 8.5.10 source-map-js: 1.2.1 '@vue/compiler-ssr@3.5.24': @@ -11498,25 +11826,7 @@ snapshots: '@vue/compiler-dom': 3.5.24 '@vue/shared': 3.5.24 - '@vue/compiler-vue2@2.7.16': - dependencies: - de-indent: 1.0.2 - he: 1.2.0 - - '@vue/language-core@2.2.0(typescript@5.9.3)': - dependencies: - '@volar/language-core': 2.4.28 - '@vue/compiler-dom': 3.5.24 - '@vue/compiler-vue2': 2.7.16 - '@vue/shared': 3.5.24 - alien-signals: 0.4.14 - minimatch: 9.0.5 - muggle-string: 0.4.1 - path-browserify: 1.0.1 - optionalDependencies: - typescript: 5.9.3 - - '@vue/language-core@3.3.5': + '@vue/language-core@3.3.10': dependencies: '@volar/language-core': 2.4.28 '@vue/compiler-dom': 3.5.24 @@ -11542,11 +11852,17 @@ snapshots: '@vue/shared': 3.5.24 csstype: 3.1.3 - '@vue/server-renderer@3.5.24(vue@3.5.24(typescript@5.9.2))': + '@vue/server-renderer@3.5.24(vue@3.5.24(typescript@5.9.3))': + dependencies: + '@vue/compiler-ssr': 3.5.24 + '@vue/shared': 3.5.24 + vue: 3.5.24(typescript@5.9.3) + + '@vue/server-renderer@3.5.24(vue@3.5.24(typescript@7.0.2))': dependencies: '@vue/compiler-ssr': 3.5.24 '@vue/shared': 3.5.24 - vue: 3.5.24(typescript@5.9.2) + vue: 3.5.24(typescript@7.0.2) '@vue/shared@3.5.24': {} @@ -11555,30 +11871,121 @@ snapshots: js-beautify: 1.15.4 vue-component-type-helpers: 2.2.12 - '@vueuse/core@13.9.0(vue@3.5.24(typescript@5.9.2))': + '@vueuse/core@13.9.0(vue@3.5.24(typescript@5.9.3))': + dependencies: + '@types/web-bluetooth': 0.0.21 + '@vueuse/metadata': 13.9.0 + '@vueuse/shared': 13.9.0(vue@3.5.24(typescript@5.9.3)) + vue: 3.5.24(typescript@5.9.3) + + '@vueuse/core@13.9.0(vue@3.5.24(typescript@7.0.2))': dependencies: '@types/web-bluetooth': 0.0.21 '@vueuse/metadata': 13.9.0 - '@vueuse/shared': 13.9.0(vue@3.5.24(typescript@5.9.2)) - vue: 3.5.24(typescript@5.9.2) + '@vueuse/shared': 13.9.0(vue@3.5.24(typescript@7.0.2)) + vue: 3.5.24(typescript@7.0.2) - '@vueuse/integrations@13.9.0(sortablejs@1.15.6)(vue@3.5.24(typescript@5.9.2))': + '@vueuse/integrations@13.9.0(sortablejs@1.15.6)(vue@3.5.24(typescript@5.9.3))': dependencies: - '@vueuse/core': 13.9.0(vue@3.5.24(typescript@5.9.2)) - '@vueuse/shared': 13.9.0(vue@3.5.24(typescript@5.9.2)) - vue: 3.5.24(typescript@5.9.2) + '@vueuse/core': 13.9.0(vue@3.5.24(typescript@5.9.3)) + '@vueuse/shared': 13.9.0(vue@3.5.24(typescript@5.9.3)) + vue: 3.5.24(typescript@5.9.3) + optionalDependencies: + sortablejs: 1.15.6 + + '@vueuse/integrations@13.9.0(sortablejs@1.15.6)(vue@3.5.24(typescript@7.0.2))': + dependencies: + '@vueuse/core': 13.9.0(vue@3.5.24(typescript@7.0.2)) + '@vueuse/shared': 13.9.0(vue@3.5.24(typescript@7.0.2)) + vue: 3.5.24(typescript@7.0.2) optionalDependencies: sortablejs: 1.15.6 '@vueuse/metadata@13.9.0': {} - '@vueuse/shared@13.9.0(vue@3.5.24(typescript@5.9.2))': + '@vueuse/shared@13.9.0(vue@3.5.24(typescript@5.9.3))': dependencies: - vue: 3.5.24(typescript@5.9.2) + vue: 3.5.24(typescript@5.9.3) + + '@vueuse/shared@13.9.0(vue@3.5.24(typescript@7.0.2))': + dependencies: + vue: 3.5.24(typescript@7.0.2) + + '@yuku-codegen/binding-android-arm64@0.9.5': + optional: true + + '@yuku-codegen/binding-darwin-arm64@0.9.5': + optional: true + + '@yuku-codegen/binding-darwin-x64@0.9.5': + optional: true + + '@yuku-codegen/binding-freebsd-x64@0.9.5': + optional: true + + '@yuku-codegen/binding-linux-arm-gnu@0.9.5': + optional: true + + '@yuku-codegen/binding-linux-arm-musl@0.9.5': + optional: true + + '@yuku-codegen/binding-linux-arm64-gnu@0.9.5': + optional: true + + '@yuku-codegen/binding-linux-arm64-musl@0.9.5': + optional: true + + '@yuku-codegen/binding-linux-x64-gnu@0.9.5': + optional: true + + '@yuku-codegen/binding-linux-x64-musl@0.9.5': + optional: true + + '@yuku-codegen/binding-win32-arm64@0.9.5': + optional: true + + '@yuku-codegen/binding-win32-x64@0.9.5': + optional: true + + '@yuku-parser/binding-android-arm64@0.9.5': + optional: true + + '@yuku-parser/binding-darwin-arm64@0.9.5': + optional: true + + '@yuku-parser/binding-darwin-x64@0.9.5': + optional: true + + '@yuku-parser/binding-freebsd-x64@0.9.5': + optional: true + + '@yuku-parser/binding-linux-arm-gnu@0.9.5': + optional: true + + '@yuku-parser/binding-linux-arm-musl@0.9.5': + optional: true + + '@yuku-parser/binding-linux-arm64-gnu@0.9.5': + optional: true + + '@yuku-parser/binding-linux-arm64-musl@0.9.5': + optional: true + + '@yuku-parser/binding-linux-x64-gnu@0.9.5': + optional: true - '@zip.js/zip.js@2.14.0': {} + '@yuku-parser/binding-linux-x64-musl@0.9.5': + optional: true + + '@yuku-parser/binding-win32-arm64@0.9.5': + optional: true - '@zip.js/zip.js@2.8.8': {} + '@yuku-parser/binding-win32-x64@0.9.5': + optional: true + + '@yuku-toolchain/types@0.9.5': {} + + '@zip.js/zip.js@2.15.0': {} abbrev@2.0.0: {} @@ -11626,20 +12033,27 @@ snapshots: ag-charts-community: 12.1.2 ag-charts-enterprise: 12.1.2 - ag-grid-vue3@34.1.2(vue@3.5.24(typescript@5.9.2)): + ag-grid-vue3@34.1.2(vue@3.5.24(typescript@5.9.3)): + dependencies: + ag-grid-community: 34.1.2 + vue: 3.5.24(typescript@5.9.3) + + ag-grid-vue3@34.1.2(vue@3.5.24(typescript@7.0.2)): dependencies: ag-grid-community: 34.1.2 - vue: 3.5.24(typescript@5.9.2) + vue: 3.5.24(typescript@7.0.2) agent-base@7.1.4: {} ajv-draft-04@1.0.0(ajv@8.13.0): optionalDependencies: ajv: 8.13.0 + optional: true ajv-formats@3.0.1(ajv@8.13.0): optionalDependencies: ajv: 8.13.0 + optional: true ajv@8.12.0: dependencies: @@ -11647,6 +12061,7 @@ snapshots: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 uri-js: 4.4.1 + optional: true ajv@8.13.0: dependencies: @@ -11654,8 +12069,7 @@ snapshots: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 uri-js: 4.4.1 - - alien-signals@0.4.14: {} + optional: true alien-signals@3.2.1: {} @@ -11711,12 +12125,6 @@ snapshots: assertion-error@2.0.1: {} - ast-kit@3.0.0: - dependencies: - '@babel/parser': 8.0.4 - estree-walker: 3.0.3 - pathe: 2.0.3 - async@3.2.6: {} available-typed-arrays@1.0.7: @@ -11774,28 +12182,15 @@ snapshots: dependencies: is-windows: 1.0.2 - better-sqlite3@12.10.0: + better-sqlite3@13.0.3: dependencies: - bindings: 1.5.0 - prebuild-install: 7.1.3 - - bindings@1.5.0: - dependencies: - file-uri-to-path: 1.0.0 - - birpc@4.0.0: {} + node-addon-api: 8.9.2 bl@1.2.3: dependencies: readable-stream: 2.3.8 safe-buffer: 5.2.1 - bl@4.1.0: - dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.2 - bowser@2.12.1: {} brace-expansion@1.1.13: @@ -11887,7 +12282,7 @@ snapshots: chardet@2.1.0: {} - chardet@2.2.0: {} + chardet@2.1.1: {} check-error@2.1.1: {} @@ -11895,8 +12290,6 @@ snapshots: dependencies: readdirp: 4.1.2 - chownr@1.1.4: {} - chownr@3.0.0: {} ci-info@3.9.0: {} @@ -11988,6 +12381,14 @@ snapshots: crc-32: 1.2.2 readable-stream: 4.7.0 + cross-spawn@6.0.6: + dependencies: + nice-try: 1.0.5 + path-key: 2.0.1 + semver: 5.7.2 + shebang-command: 1.2.0 + which: 1.3.1 + cross-spawn@7.0.6: dependencies: path-key: 3.1.1 @@ -12075,8 +12476,6 @@ snapshots: d3-selection: 3.0.0 d3-transition: 3.0.1(d3-selection@3.0.0) - de-indent@1.0.2: {} - debug@2.6.9: dependencies: ms: 2.0.0 @@ -12085,10 +12484,6 @@ snapshots: dependencies: ms: 2.1.3 - decompress-response@6.0.0: - dependencies: - mimic-response: 3.1.0 - decompress-tar@4.1.1: dependencies: file-type: 5.2.0 @@ -12129,8 +12524,6 @@ snapshots: deep-eql@5.0.2: {} - deep-extend@0.6.0: {} - define-data-property@1.1.4: dependencies: es-define-property: 1.0.1 @@ -12247,7 +12640,15 @@ snapshots: events@3.3.0: {} - expand-template@2.0.3: {} + execa@1.0.0: + dependencies: + cross-spawn: 6.0.6 + get-stream: 4.1.0 + is-stream: 1.1.0 + npm-run-path: 2.0.2 + p-finally: 1.0.0 + signal-exit: 3.0.7 + strip-eof: 1.0.0 expect-type@1.2.2: {} @@ -12257,7 +12658,8 @@ snapshots: extendable-error@0.1.7: {} - fast-deep-equal@3.1.3: {} + fast-deep-equal@3.1.3: + optional: true fast-fifo@1.3.2: {} @@ -12299,8 +12701,6 @@ snapshots: file-type@6.2.0: {} - file-uri-to-path@1.0.0: {} - fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 @@ -12328,6 +12728,7 @@ snapshots: graceful-fs: 4.2.11 jsonfile: 6.2.0 universalify: 2.0.1 + optional: true fs-extra@7.0.1: dependencies: @@ -12375,16 +12776,20 @@ snapshots: object-assign: 4.1.1 pinkie-promise: 2.0.1 - get-tsconfig@5.0.0-beta.5: + get-stream@4.1.0: dependencies: - resolve-pkg-maps: 1.0.0 + pump: 3.0.3 - github-from-package@0.0.0: {} + get-tsconfig@5.0.0-beta.6: + dependencies: + resolve-pkg-maps: 1.0.0 glob-parent@5.1.2: dependencies: is-glob: 4.0.3 + glob-to-regexp@0.4.1: {} + glob@10.4.5: dependencies: foreground-child: 3.3.1 @@ -12443,8 +12848,6 @@ snapshots: dependencies: function-bind: 1.1.2 - he@1.2.0: {} - html-escaper@2.0.2: {} https-proxy-agent@7.0.6: @@ -12468,7 +12871,8 @@ snapshots: immutable@5.1.3: {} - import-lazy@4.0.0: {} + import-lazy@4.0.0: + optional: true inflight@1.0.6: dependencies: @@ -12481,6 +12885,8 @@ snapshots: internmap@2.0.3: {} + interpret@1.4.0: {} + is-arrayish@0.3.4: {} is-callable@1.2.7: {} @@ -12542,7 +12948,8 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 - jju@1.4.0: {} + jju@1.4.0: + optional: true js-beautify@1.15.4: dependencies: @@ -12565,7 +12972,8 @@ snapshots: jsesc@3.1.0: {} - json-schema-traverse@1.0.0: {} + json-schema-traverse@1.0.0: + optional: true json-stringify-safe@5.0.1: {} @@ -12582,6 +12990,7 @@ snapshots: universalify: 2.0.1 optionalDependencies: graceful-fs: 4.2.11 + optional: true kdbush@4.0.2: {} @@ -12682,6 +13091,7 @@ snapshots: lru-cache@6.0.0: dependencies: yallist: 4.0.0 + optional: true magic-string@0.30.19: dependencies: @@ -12720,8 +13130,6 @@ snapshots: dependencies: mime-db: 1.52.0 - mimic-response@3.1.0: {} - minimatch@10.0.3: dependencies: '@isaacs/brace-expansion': 5.0.0 @@ -12750,8 +13158,6 @@ snapshots: dependencies: minipass: 7.1.2 - mkdirp-classic@0.5.3: {} - mlly@1.8.0: dependencies: acorn: 8.15.0 @@ -12774,15 +13180,13 @@ snapshots: nanoid@3.3.11: {} - napi-build-utils@2.0.0: {} - - node-abi@3.94.0: - dependencies: - semver: 7.7.2 + nice-try@1.0.5: {} node-addon-api@7.1.1: optional: true + node-addon-api@8.9.2: {} + node-fetch@2.7.0: dependencies: whatwg-url: 5.0.0 @@ -12799,11 +13203,13 @@ snapshots: normalize-path@3.0.0: {} - object-assign@4.1.1: {} + npm-run-path@2.0.2: + dependencies: + path-key: 2.0.1 - obug@2.1.1: {} + object-assign@4.1.1: {} - obug@2.1.4: {} + obug@2.2.1: {} once@1.4.0: dependencies: @@ -12873,6 +13279,8 @@ snapshots: dependencies: p-map: 2.1.0 + p-finally@1.0.0: {} + p-limit@2.3.0: dependencies: p-try: 2.2.0 @@ -12897,6 +13305,8 @@ snapshots: path-is-absolute@1.0.1: {} + path-key@2.0.1: {} + path-key@3.1.1: {} path-parse@1.0.7: {} @@ -12969,21 +13379,6 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 - prebuild-install@7.1.3: - dependencies: - detect-libc: 2.1.0 - expand-template: 2.0.3 - github-from-package: 0.0.0 - minimist: 1.2.8 - mkdirp-classic: 0.5.3 - napi-build-utils: 2.0.0 - node-abi: 3.94.0 - pump: 3.0.3 - rc: 1.2.8 - simple-get: 4.0.1 - tar-fs: 2.1.5 - tunnel-agent: 0.6.0 - prettier@2.8.8: {} process-nextick-args@2.0.1: {} @@ -12992,21 +13387,6 @@ snapshots: proto-list@1.2.4: {} - protobufjs@7.5.4: - dependencies: - '@protobufjs/aspromise': 1.1.2 - '@protobufjs/base64': 1.1.2 - '@protobufjs/codegen': 2.0.4 - '@protobufjs/eventemitter': 1.1.0 - '@protobufjs/fetch': 1.1.0 - '@protobufjs/float': 1.0.2 - '@protobufjs/inquire': 1.1.0 - '@protobufjs/path': 1.1.2 - '@protobufjs/pool': 1.1.0 - '@protobufjs/utf8': 1.1.0 - '@types/node': 24.5.2 - long: 5.3.2 - protobufjs@7.6.6: dependencies: '@protobufjs/aspromise': 1.1.2 @@ -13026,7 +13406,8 @@ snapshots: end-of-stream: 1.4.5 once: 1.4.0 - punycode@2.3.1: {} + punycode@2.3.1: + optional: true pvtsutils@1.3.6: dependencies: @@ -13038,17 +13419,17 @@ snapshots: queue-microtask@1.2.3: {} - quickjs-emscripten-core@0.31.0: + quickjs-emscripten-core@0.32.0: dependencies: - '@jitl/quickjs-ffi-types': 0.31.0 + '@jitl/quickjs-ffi-types': 0.32.0 - quickjs-emscripten@0.31.0: + quickjs-emscripten@0.32.0: dependencies: - '@jitl/quickjs-wasmfile-debug-asyncify': 0.31.0 - '@jitl/quickjs-wasmfile-debug-sync': 0.31.0 - '@jitl/quickjs-wasmfile-release-asyncify': 0.31.0 - '@jitl/quickjs-wasmfile-release-sync': 0.31.0 - quickjs-emscripten-core: 0.31.0 + '@jitl/quickjs-wasmfile-debug-asyncify': 0.32.0 + '@jitl/quickjs-wasmfile-debug-sync': 0.32.0 + '@jitl/quickjs-wasmfile-release-asyncify': 0.32.0 + '@jitl/quickjs-wasmfile-release-sync': 0.32.0 + quickjs-emscripten-core: 0.32.0 quickselect@3.0.0: {} @@ -13056,13 +13437,6 @@ snapshots: dependencies: quickselect: 3.0.0 - rc@1.2.8: - dependencies: - deep-extend: 0.6.0 - ini: 1.3.8 - minimist: 1.2.8 - strip-json-comments: 2.0.1 - react-dom@19.2.4(react@19.2.4): dependencies: react: 19.2.4 @@ -13107,11 +13481,16 @@ snapshots: readdirp@4.1.2: {} + rechoir@0.6.2: + dependencies: + resolve: 1.22.10 + reflect-metadata@0.2.2: {} require-directory@2.1.1: {} - require-from-string@2.0.2: {} + require-from-string@2.0.2: + optional: true resize-observer-polyfill@1.5.1: {} @@ -13127,20 +13506,19 @@ snapshots: reusify@1.1.0: {} - rolldown-plugin-dts@0.26.0(rolldown@1.2.1)(typescript@5.9.3)(vue-tsc@3.3.5(typescript@5.9.3)): + rolldown-plugin-dts@0.28.5(@volar/typescript@2.4.28)(rolldown@1.2.8)(typescript@7.0.2)(vue-tsc@3.3.10(typescript@7.0.2)): dependencies: - '@babel/generator': 8.0.0 - '@babel/helper-validator-identifier': 8.0.4 - '@babel/parser': 8.0.4 - ast-kit: 3.0.0 - birpc: 4.0.0 dts-resolver: 3.0.0 - get-tsconfig: 5.0.0-beta.5 - obug: 2.1.4 - rolldown: 1.2.1 + get-tsconfig: 5.0.0-beta.6 + obug: 2.2.1 + rolldown: 1.2.8 + yuku-ast: 0.9.5 + yuku-codegen: 0.9.5 + yuku-parser: 0.9.5 optionalDependencies: - typescript: 5.9.3 - vue-tsc: 3.3.5(typescript@5.9.3) + '@volar/typescript': 2.4.28 + typescript: 7.0.2 + vue-tsc: 3.3.10(typescript@7.0.2) transitivePeerDependencies: - oxc-resolver @@ -13165,26 +13543,26 @@ snapshots: '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.17 '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.17 - rolldown@1.2.1: + rolldown@1.2.8: dependencies: - '@oxc-project/types': 0.142.0 + '@oxc-project/types': 0.149.0 '@rolldown/pluginutils': 1.0.1 optionalDependencies: - '@rolldown/binding-android-arm64': 1.2.1 - '@rolldown/binding-darwin-arm64': 1.2.1 - '@rolldown/binding-darwin-x64': 1.2.1 - '@rolldown/binding-freebsd-x64': 1.2.1 - '@rolldown/binding-linux-arm-gnueabihf': 1.2.1 - '@rolldown/binding-linux-arm64-gnu': 1.2.1 - '@rolldown/binding-linux-arm64-musl': 1.2.1 - '@rolldown/binding-linux-ppc64-gnu': 1.2.1 - '@rolldown/binding-linux-s390x-gnu': 1.2.1 - '@rolldown/binding-linux-x64-gnu': 1.2.1 - '@rolldown/binding-linux-x64-musl': 1.2.1 - '@rolldown/binding-openharmony-arm64': 1.2.1 - '@rolldown/binding-wasm32-wasi': 1.2.1 - '@rolldown/binding-win32-arm64-msvc': 1.2.1 - '@rolldown/binding-win32-x64-msvc': 1.2.1 + '@rolldown/binding-android-arm-eabi': 1.2.8 + '@rolldown/binding-android-arm64': 1.2.8 + '@rolldown/binding-darwin-arm64': 1.2.8 + '@rolldown/binding-darwin-x64': 1.2.8 + '@rolldown/binding-freebsd-x64': 1.2.8 + '@rolldown/binding-linux-arm-gnueabihf': 1.2.8 + '@rolldown/binding-linux-arm64-gnu': 1.2.8 + '@rolldown/binding-linux-arm64-musl': 1.2.8 + '@rolldown/binding-linux-ppc64-gnu': 1.2.8 + '@rolldown/binding-linux-s390x-gnu': 1.2.8 + '@rolldown/binding-linux-x64-gnu': 1.2.8 + '@rolldown/binding-linux-x64-musl': 1.2.8 + '@rolldown/binding-openharmony-arm64': 1.2.8 + '@rolldown/binding-win32-arm64-msvc': 1.2.8 + '@rolldown/binding-win32-x64-msvc': 1.2.8 rollup-plugin-copy@3.5.0: dependencies: @@ -13260,11 +13638,14 @@ snapshots: '@peculiar/x509': 1.14.3 pkijs: 3.3.3 + semver@5.7.2: {} + semver@6.3.1: {} semver@7.5.4: dependencies: lru-cache: 6.0.0 + optional: true semver@7.7.2: {} @@ -13277,23 +13658,35 @@ snapshots: gopd: 1.2.0 has-property-descriptors: 1.0.2 + shebang-command@1.2.0: + dependencies: + shebang-regex: 1.0.0 + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 + shebang-regex@1.0.0: {} + shebang-regex@3.0.0: {} - siginfo@2.0.0: {} + shelljs@0.9.2: + dependencies: + execa: 1.0.0 + fast-glob: 3.3.3 + interpret: 1.4.0 + rechoir: 0.6.2 - signal-exit@4.1.0: {} + shx@0.4.0: + dependencies: + minimist: 1.2.8 + shelljs: 0.9.2 - simple-concat@1.0.1: {} + siginfo@2.0.0: {} - simple-get@4.0.1: - dependencies: - decompress-response: 6.0.0 - once: 1.4.0 - simple-concat: 1.0.1 + signal-exit@3.0.7: {} + + signal-exit@4.1.0: {} simple-swizzle@0.2.4: dependencies: @@ -13305,7 +13698,8 @@ snapshots: source-map-js@1.2.1: {} - source-map@0.6.1: {} + source-map@0.6.1: + optional: true spawndamnit@3.0.1: dependencies: @@ -13343,7 +13737,8 @@ snapshots: transitivePeerDependencies: - react-native-b4a - string-argv@0.3.2: {} + string-argv@0.3.2: + optional: true string-width@4.2.3: dependencies: @@ -13379,9 +13774,10 @@ snapshots: dependencies: is-natural-number: 4.0.1 - strip-json-comments@2.0.1: {} + strip-eof@1.0.0: {} - strip-json-comments@3.1.1: {} + strip-json-comments@3.1.1: + optional: true strip-literal@3.0.0: dependencies: @@ -13396,16 +13792,10 @@ snapshots: supports-color@8.1.1: dependencies: has-flag: 4.0.0 + optional: true supports-preserve-symlinks-flag@1.0.0: {} - tar-fs@2.1.5: - dependencies: - chownr: 1.1.4 - mkdirp-classic: 0.5.3 - pump: 3.0.3 - tar-stream: 2.2.0 - tar-fs@3.1.1: dependencies: pump: 3.0.3 @@ -13427,14 +13817,6 @@ snapshots: to-buffer: 1.2.1 xtend: 4.0.2 - tar-stream@2.2.0: - dependencies: - bl: 4.1.0 - end-of-stream: 1.4.5 - fs-constants: 1.0.0 - inherits: 2.0.4 - readable-stream: 3.6.2 - tar-stream@3.1.7: dependencies: b4a: 1.7.1 @@ -13511,10 +13893,6 @@ snapshots: dependencies: tslib: 1.14.1 - tunnel-agent@0.6.0: - dependencies: - safe-buffer: 5.2.1 - turbo-darwin-64@2.5.5: optional: true @@ -13554,12 +13932,36 @@ snapshots: typescript@5.4.5: {} - typescript@5.8.2: {} - - typescript@5.9.2: {} + typescript@5.8.2: + optional: true typescript@5.9.3: {} + typescript@6.0.3: {} + + typescript@7.0.2: + optionalDependencies: + '@typescript/typescript-aix-ppc64': 7.0.2 + '@typescript/typescript-darwin-arm64': 7.0.2 + '@typescript/typescript-darwin-x64': 7.0.2 + '@typescript/typescript-freebsd-arm64': 7.0.2 + '@typescript/typescript-freebsd-x64': 7.0.2 + '@typescript/typescript-linux-arm': 7.0.2 + '@typescript/typescript-linux-arm64': 7.0.2 + '@typescript/typescript-linux-loong64': 7.0.2 + '@typescript/typescript-linux-mips64el': 7.0.2 + '@typescript/typescript-linux-ppc64': 7.0.2 + '@typescript/typescript-linux-riscv64': 7.0.2 + '@typescript/typescript-linux-s390x': 7.0.2 + '@typescript/typescript-linux-x64': 7.0.2 + '@typescript/typescript-netbsd-arm64': 7.0.2 + '@typescript/typescript-netbsd-x64': 7.0.2 + '@typescript/typescript-openbsd-arm64': 7.0.2 + '@typescript/typescript-openbsd-x64': 7.0.2 + '@typescript/typescript-sunos-x64': 7.0.2 + '@typescript/typescript-win32-arm64': 7.0.2 + '@typescript/typescript-win32-x64': 7.0.2 + ufo@1.6.1: {} ulid@3.0.2: {} @@ -13575,7 +13977,36 @@ snapshots: universalify@0.1.2: {} - universalify@2.0.1: {} + universalify@2.0.1: + optional: true + + unplugin-dts@1.1.0(@microsoft/api-extractor@7.52.13(@types/node@24.5.2))(@vue/language-core@3.3.10)(rolldown@1.2.8)(rollup@4.52.0)(typescript@7.0.2)(vite@8.0.10(@types/node@24.5.2)(sass@1.89.2)(yaml@2.8.1)): + dependencies: + '@rollup/pluginutils': 5.3.0(rollup@4.52.0) + '@volar/typescript': 2.4.28 + compare-versions: 6.1.1 + debug: 4.4.3 + glob-to-regexp: 0.4.1 + kolorist: 1.8.0 + local-pkg: 1.1.2 + magic-string: 0.30.21 + typescript: 7.0.2 + unplugin: 2.3.11 + optionalDependencies: + '@microsoft/api-extractor': 7.52.13(@types/node@24.5.2) + '@vue/language-core': 3.3.10 + rolldown: 1.2.8 + rollup: 4.52.0 + vite: 8.0.10(@types/node@24.5.2)(sass@1.89.2)(yaml@2.8.1) + transitivePeerDependencies: + - supports-color + + unplugin@2.3.11: + dependencies: + '@jridgewell/remapping': 2.3.5 + acorn: 8.15.0 + picomatch: 4.0.4 + webpack-virtual-modules: 0.6.2 upath@2.0.1: {} @@ -13588,6 +14019,7 @@ snapshots: uri-js@4.4.1: dependencies: punycode: 2.3.1 + optional: true util-deprecate@1.0.2: {} @@ -13622,24 +14054,21 @@ snapshots: magic-string: 0.30.21 vite-plugin-dynamic-import: 1.6.0 - vite-plugin-dts@4.5.4(@types/node@24.5.2)(rollup@4.52.0)(typescript@5.9.3)(vite@8.0.10(@types/node@24.5.2)(sass@1.89.2)(yaml@2.8.1)): + vite-plugin-dts@5.1.0(@microsoft/api-extractor@7.52.13(@types/node@24.5.2))(@vue/language-core@3.3.10)(rolldown@1.2.8)(rollup@4.52.0)(typescript@7.0.2)(vite@8.0.10(@types/node@24.5.2)(sass@1.89.2)(yaml@2.8.1)): dependencies: - '@microsoft/api-extractor': 7.52.13(@types/node@24.5.2) - '@rollup/pluginutils': 5.3.0(rollup@4.52.0) - '@volar/typescript': 2.4.28 - '@vue/language-core': 2.2.0(typescript@5.9.3) - compare-versions: 6.1.1 - debug: 4.4.3 - kolorist: 1.8.0 - local-pkg: 1.1.2 - magic-string: 0.30.21 - typescript: 5.9.3 + unplugin-dts: 1.1.0(@microsoft/api-extractor@7.52.13(@types/node@24.5.2))(@vue/language-core@3.3.10)(rolldown@1.2.8)(rollup@4.52.0)(typescript@7.0.2)(vite@8.0.10(@types/node@24.5.2)(sass@1.89.2)(yaml@2.8.1)) optionalDependencies: + '@microsoft/api-extractor': 7.52.13(@types/node@24.5.2) + rollup: 4.52.0 vite: 8.0.10(@types/node@24.5.2)(sass@1.89.2)(yaml@2.8.1) transitivePeerDependencies: - - '@types/node' - - rollup + - '@rspack/core' + - '@vue/language-core' + - esbuild + - rolldown - supports-color + - typescript + - webpack vite-plugin-dynamic-import@1.6.0: dependencies: @@ -13740,7 +14169,7 @@ snapshots: es-module-lexer: 2.0.0 expect-type: 1.3.0 magic-string: 0.30.21 - obug: 2.1.1 + obug: 2.2.1 pathe: 2.0.3 picomatch: 4.0.4 std-env: 4.0.0 @@ -13756,28 +14185,68 @@ snapshots: transitivePeerDependencies: - msw + vitest@4.1.5(@types/node@24.5.2)(@vitest/coverage-istanbul@4.1.5)(vite@8.0.10(@types/node@24.5.2)(sass@1.89.2)(yaml@2.8.1)): + dependencies: + '@vitest/expect': 4.1.5 + '@vitest/mocker': 4.1.5(vite@8.0.10(@types/node@24.5.2)(sass@1.89.2)(yaml@2.8.1)) + '@vitest/pretty-format': 4.1.5 + '@vitest/runner': 4.1.5 + '@vitest/snapshot': 4.1.5 + '@vitest/spy': 4.1.5 + '@vitest/utils': 4.1.5 + es-module-lexer: 2.0.0 + expect-type: 1.3.0 + magic-string: 0.30.21 + obug: 2.2.1 + pathe: 2.0.3 + picomatch: 4.0.4 + std-env: 4.0.0 + tinybench: 2.9.0 + tinyexec: 1.0.2 + tinyglobby: 0.2.16 + tinyrainbow: 3.1.0 + vite: 8.0.10(@types/node@24.5.2)(sass@1.89.2)(yaml@2.8.1) + why-is-node-running: 2.3.0 + optionalDependencies: + '@types/node': 24.5.2 + '@vitest/coverage-istanbul': 4.1.5(vitest@4.1.5) + transitivePeerDependencies: + - msw + vscode-uri@3.1.0: {} vue-component-type-helpers@2.2.12: {} - vue-tsc@3.3.5(typescript@5.9.3): + vue-tsc@3.3.10(typescript@7.0.2): dependencies: '@volar/typescript': 2.4.28 - '@vue/language-core': 3.3.5 + '@vue/language-core': 3.3.10 + typescript: 7.0.2 + + vue@3.5.24(typescript@5.9.3): + dependencies: + '@vue/compiler-dom': 3.5.24 + '@vue/compiler-sfc': 3.5.24 + '@vue/runtime-dom': 3.5.24 + '@vue/server-renderer': 3.5.24(vue@3.5.24(typescript@5.9.3)) + '@vue/shared': 3.5.24 + optionalDependencies: typescript: 5.9.3 - vue@3.5.24(typescript@5.9.2): + vue@3.5.24(typescript@7.0.2): dependencies: '@vue/compiler-dom': 3.5.24 '@vue/compiler-sfc': 3.5.24 '@vue/runtime-dom': 3.5.24 - '@vue/server-renderer': 3.5.24(vue@3.5.24(typescript@5.9.2)) + '@vue/server-renderer': 3.5.24(vue@3.5.24(typescript@7.0.2)) '@vue/shared': 3.5.24 optionalDependencies: - typescript: 5.9.2 + typescript: 7.0.2 webidl-conversions@3.0.1: {} + webpack-virtual-modules@0.6.2: {} + whatwg-url@5.0.0: dependencies: tr46: 0.0.3 @@ -13793,6 +14262,10 @@ snapshots: gopd: 1.2.0 has-tostringtag: 1.0.2 + which@1.3.1: + dependencies: + isexe: 2.0.0 + which@2.0.2: dependencies: isexe: 2.0.0 @@ -13848,7 +14321,8 @@ snapshots: yallist@3.1.1: {} - yallist@4.0.0: {} + yallist@4.0.0: + optional: true yallist@5.0.0: {} @@ -13873,6 +14347,45 @@ snapshots: yoctocolors-cjs@2.1.3: {} + yuku-ast@0.9.5: + dependencies: + '@yuku-toolchain/types': 0.9.5 + + yuku-codegen@0.9.5: + dependencies: + '@yuku-toolchain/types': 0.9.5 + optionalDependencies: + '@yuku-codegen/binding-android-arm64': 0.9.5 + '@yuku-codegen/binding-darwin-arm64': 0.9.5 + '@yuku-codegen/binding-darwin-x64': 0.9.5 + '@yuku-codegen/binding-freebsd-x64': 0.9.5 + '@yuku-codegen/binding-linux-arm-gnu': 0.9.5 + '@yuku-codegen/binding-linux-arm-musl': 0.9.5 + '@yuku-codegen/binding-linux-arm64-gnu': 0.9.5 + '@yuku-codegen/binding-linux-arm64-musl': 0.9.5 + '@yuku-codegen/binding-linux-x64-gnu': 0.9.5 + '@yuku-codegen/binding-linux-x64-musl': 0.9.5 + '@yuku-codegen/binding-win32-arm64': 0.9.5 + '@yuku-codegen/binding-win32-x64': 0.9.5 + + yuku-parser@0.9.5: + dependencies: + '@yuku-toolchain/types': 0.9.5 + yuku-ast: 0.9.5 + optionalDependencies: + '@yuku-parser/binding-android-arm64': 0.9.5 + '@yuku-parser/binding-darwin-arm64': 0.9.5 + '@yuku-parser/binding-darwin-x64': 0.9.5 + '@yuku-parser/binding-freebsd-x64': 0.9.5 + '@yuku-parser/binding-linux-arm-gnu': 0.9.5 + '@yuku-parser/binding-linux-arm-musl': 0.9.5 + '@yuku-parser/binding-linux-arm64-gnu': 0.9.5 + '@yuku-parser/binding-linux-arm64-musl': 0.9.5 + '@yuku-parser/binding-linux-x64-gnu': 0.9.5 + '@yuku-parser/binding-linux-x64-musl': 0.9.5 + '@yuku-parser/binding-win32-arm64': 0.9.5 + '@yuku-parser/binding-win32-x64': 0.9.5 + zip-stream@6.0.1: dependencies: archiver-utils: 5.0.2 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index d8c4a58..917de29 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,38 +1,37 @@ packages: - - workflow - - model - - ui - block + - kind + - model - test + - ui + - workflow catalog: - '@milaboratories/ts-builder': 1.6.1 - '@milaboratories/ts-configs': 1.3.1 + '@milaboratories/ts-builder': 1.7.2 + '@milaboratories/ts-configs': 1.4.0 '@milaboratories/build-configs': 2.0.0 - '@platforma-sdk/tengo-builder': 4.0.20 - '@platforma-sdk/block-tools': 2.15.0 - '@platforma-sdk/workflow-tengo': 6.8.2 - '@platforma-sdk/model': 1.80.13 - '@platforma-sdk/test': 1.80.13 + '@platforma-sdk/tengo-builder': 4.0.27 + '@platforma-sdk/block-tools': 2.15.2 + '@platforma-sdk/workflow-tengo': 6.10.1 + '@platforma-sdk/model': 1.83.17 + '@platforma-sdk/test': 1.83.17 '@milaboratories/graph-maker': 1.8.0 - '@platforma-sdk/ui-vue': 1.80.13 + '@platforma-sdk/ui-vue': 1.83.17 '@milaboratories/helpers': 1.14.5 '@milaboratories/software-pframes-conv': 2.2.9 '@platforma-sdk/blocks-deps-updater': 2.2.0 'sass': ^1.89.2 - 'vue': ~3.5.24 - 'vue-tsc': ^3.0.5 + 'vue': 3.5.24 'zod': ^3.23.8 'typescript': ^5.9.2 - 'tsup': ~8.3.5 'turbo': ^2.5.5 - - 'vite': ^7.1.2 'vitest': ^3.2.4 - '@vitejs/plugin-vue': ^6.0.1 '@changesets/cli': ^2.29.7 + "@platforma-sdk/package-builder": 3.16.0 + shx: ~0.4.0 + "@platforma-sdk/block-kind": 1.1.0 diff --git a/test/.oxfmtrc.json b/test/.oxfmtrc.json new file mode 100644 index 0000000..6f74854 --- /dev/null +++ b/test/.oxfmtrc.json @@ -0,0 +1,4 @@ +{ + "extends": ["node_modules/@milaboratories/ts-builder/configs/oxfmt.json"], + "ignorePatterns": ["dist", "coverage", "CHANGELOG.md", ".test_auth.json"] +} diff --git a/test/.oxlintrc.json b/test/.oxlintrc.json new file mode 100644 index 0000000..55dd4d4 --- /dev/null +++ b/test/.oxlintrc.json @@ -0,0 +1,3 @@ +{ + "extends": ["node_modules/@milaboratories/ts-builder/dist/configs/oxlint-test.json"] +} diff --git a/test/package.json b/test/package.json index b1ca9a8..4596436 100644 --- a/test/package.json +++ b/test/package.json @@ -1,20 +1,26 @@ { "name": "@platforma-open/milaboratories.graph-maker.test", - "private": true, "version": "1.2.3", + "private": true, "description": "Block tests", + "keywords": [], + "files": [], "type": "module", "scripts": { - "test": "vitest --passWithNoTests" + "test": "vitest run --passWithNoTests", + "fmt": "ts-builder format", + "check": "ts-builder check --target block-test" }, - "files": [], - "keywords": [], "dependencies": { "this-block": "workspace:@platforma-open/milaboratories.graph-maker@*" }, "devDependencies": { + "@milaboratories/ts-builder": "catalog:", + "@milaboratories/ts-configs": "catalog:", "@platforma-sdk/test": "catalog:", - "vitest": "catalog:", - "typescript": "catalog:" + "vitest": "catalog:" + }, + "peerDependencies": { + "typescript": "*" } } diff --git a/test/src/wf.test.ts b/test/src/wf.test.ts index 7068cde..a25a24d 100644 --- a/test/src/wf.test.ts +++ b/test/src/wf.test.ts @@ -1 +1,15 @@ -/**/ \ No newline at end of file +import { GraphMakerBlockPointer } from "this-block"; +import { blockTest } from "@platforma-sdk/test"; + +blockTest("Run template", { timeout: 30000 }, async ({ rawPrj: project, helpers }) => { + const blockId = await project.addBlock("Block", GraphMakerBlockPointer); + const overview = await project.overview.getValue(); + const blockOverview = overview?.blocks.find((b) => b.id === blockId)!; + if (blockOverview.updatedBlockPack) { + await project.updateBlockPack(blockId, blockOverview.updatedBlockPack!); + } + await project.runBlock(blockId); + await helpers.awaitBlockDone(blockId); + const blockState = await project.getBlockState(blockId); + console.dir(await blockState.awaitStableValue(), { depth: 5 }); +}); diff --git a/test/tsconfig.json b/test/tsconfig.json index 64ebfa3..d7ac02f 100644 --- a/test/tsconfig.json +++ b/test/tsconfig.json @@ -1,16 +1,5 @@ { - "compilerOptions": { - "target": "es2020", - "module": "commonjs", - "moduleResolution": "node", - "esModuleInterop": true, - "strict": true, - "outDir": "./dist", - "rootDir": "./src", - "sourceMap": true, - "declaration": true, - "skipLibCheck": true - }, + "extends": "@milaboratories/ts-configs/block/test", "include": ["src/**/*"], - "exclude": ["node_modules", "dist"] + "files": [] } diff --git a/test/vitest.config.mts b/test/vitest.config.mts index d0d1b5e..e8d331a 100644 --- a/test/vitest.config.mts +++ b/test/vitest.config.mts @@ -1,7 +1,11 @@ -import { defineConfig } from 'vitest/config'; +import { defineConfig } from "vitest/config"; export default defineConfig({ test: { - watch: false - } -}); \ No newline at end of file + watch: false, + testTimeout: 10000, + // Block test runs against a CI-provisioned pl backend whose cold start has no + // readiness gate (pl-compose `sleep 1`); retries absorb the startup race. + retry: 2, + }, +}); diff --git a/turbo.json b/turbo.json index 83aabe4..d079cd3 100644 --- a/turbo.json +++ b/turbo.json @@ -2,13 +2,39 @@ "$schema": "https://turbo.build/schema.json", "globalDependencies": ["tsconfig.json"], "tasks": { + "fmt": { + "cache": false + }, + "check": { + "dependsOn": ["^build"], + "outputs": [] + }, "build": { + "dependsOn": ["^build", "check"], "inputs": ["$TURBO_DEFAULT$"], - "outputs": ["./dist/**", "./block-pack/**"], - "dependsOn": ["^build"] + "env": [ + "PL_DOCKER_REGISTRY_PUSH_TO", + "PL_BUILD_CHANNEL", + "PL_BUILD_VARIANT", + "PL_BUILD_LOCATION", + "PL_BUILD_USE_PUBLISHED", + "PL_DEV_DOCKER_PUSH_URL", + "PL_DEV_DOCKER_PULL_URL", + "PL_DEV_BINARY_UPLOAD_URL", + "PL_RELEASE_DOCKER_PUSH_URL", + "PL_RELEASE_DOCKER_PULL_URL", + "PL_RELEASE_BINARY_UPLOAD_URL", + "PL_REGISTRY_PLATFORMA_OPEN_UPLOAD_URL" + ], + "passThroughEnv": ["AWS_*", "PL_AWS_*"], + "outputs": ["./dist/**", "./block-pack/**", "./pkg-*.tgz"] }, - "test": { + "do-pack": { "dependsOn": ["build"], + "outputs": ["package.tgz"] + }, + "test": { + "dependsOn": ["build", "check"], "passThroughEnv": ["PL_ADDRESS", "PL_TEST_PASSWORD", "PL_TEST_USER", "PL_TEST_PROXY", "DEBUG"] }, "mark-stable": { diff --git a/ui/.oxfmtrc.json b/ui/.oxfmtrc.json new file mode 100644 index 0000000..ba9bb8f --- /dev/null +++ b/ui/.oxfmtrc.json @@ -0,0 +1,3 @@ +{ + "ignorePatterns": ["dist", "CHANGELOG.md"] +} diff --git a/ui/.oxlintrc.json b/ui/.oxlintrc.json new file mode 100644 index 0000000..5cb5522 --- /dev/null +++ b/ui/.oxlintrc.json @@ -0,0 +1,3 @@ +{ + "extends": ["node_modules/@milaboratories/ts-builder/dist/configs/oxlint-block-ui.json"] +} diff --git a/ui/index.html b/ui/index.html index 0b68f52..d840cc8 100644 --- a/ui/index.html +++ b/ui/index.html @@ -2,11 +2,14 @@ - +
- \ No newline at end of file + diff --git a/ui/package.json b/ui/package.json index 60666f0..2c07859 100644 --- a/ui/package.json +++ b/ui/package.json @@ -1,26 +1,31 @@ { "name": "@platforma-open/milaboratories.graph-maker.ui", - "private": true, "version": "0.3.94", + "private": true, "type": "module", "scripts": { "dev": "ts-builder serve --target block-ui", "watch": "ts-builder build --target block-ui --watch", "build": "ts-builder build --target block-ui", - "type-check": "ts-builder type-check --target block-ui" + "type-check": "ts-builder type-check --target block-ui", + "fmt": "ts-builder format", + "check": "ts-builder check --target block-ui" }, "dependencies": { "@milaboratories/graph-maker": "catalog:", "@milaboratories/helpers": "catalog:", "@platforma-open/milaboratories.graph-maker.model": "workspace:*", - "@platforma-sdk/ui-vue": "catalog:", "@platforma-sdk/model": "catalog:", + "@platforma-sdk/ui-vue": "catalog:", "vue": "catalog:" }, "devDependencies": { "@milaboratories/ts-builder": "catalog:", "@milaboratories/ts-configs": "catalog:", - "sass": "catalog:", - "typescript": "catalog:" + "sass": "catalog:" + }, + "peerDependencies": { + "@types/node": "*", + "typescript": "*" } } diff --git a/ui/src/GraphPage.vue b/ui/src/GraphPage.vue index 2416dc3..ec3bf76 100644 --- a/ui/src/GraphPage.vue +++ b/ui/src/GraphPage.vue @@ -1,47 +1,51 @@ diff --git a/ui/src/MainPage.vue b/ui/src/MainPage.vue index e1650ca..26be427 100644 --- a/ui/src/MainPage.vue +++ b/ui/src/MainPage.vue @@ -1,53 +1,48 @@ diff --git a/ui/src/app.ts b/ui/src/app.ts index a0c5efa..28a5ccb 100644 --- a/ui/src/app.ts +++ b/ui/src/app.ts @@ -1,16 +1,15 @@ -import { platforma } from '@platforma-open/milaboratories.graph-maker.model'; -import { defineApp } from '@platforma-sdk/ui-vue'; -import GraphPage from './GraphPage.vue'; -import MainPage from './MainPage.vue'; +import { platforma } from "@platforma-open/milaboratories.graph-maker.model"; +import { defineAppV3 } from "@platforma-sdk/ui-vue"; +import GraphPage from "./GraphPage.vue"; +import MainPage from "./MainPage.vue"; - -export const sdkPlugin = defineApp(platforma, () => { +export const sdkPlugin = defineAppV3(platforma, () => { return { routes: { - '/': () => MainPage, - '/graph': () => GraphPage - } + "/": () => MainPage, + "/graph": () => GraphPage, + }, }; }); -export const useApp = sdkPlugin.useApp; \ No newline at end of file +export const useApp = sdkPlugin.useApp; diff --git a/ui/src/assets/add-graph.scss b/ui/src/assets/add-graph.scss index 5384e3a..c154bfc 100644 --- a/ui/src/assets/add-graph.scss +++ b/ui/src/assets/add-graph.scss @@ -1,136 +1,139 @@ @mixin scrollbar($y: true, $x: false, $over: auto) { - &::-webkit-scrollbar { - width: 6px; - height: 5px; - padding-right: 5px; - background-color: transparent; - display: block; + &::-webkit-scrollbar { + width: 6px; + height: 5px; + padding-right: 5px; + background-color: transparent; + display: block; + } + + &::-webkit-scrollbar-thumb { + background: var(--color-ic-02); + border-radius: 5px; + + &:hover { + --color-ic-02: var(--border-color-focus); } + } - &::-webkit-scrollbar-thumb { - background: var(--color-ic-02); - border-radius: 5px; + @if $y { + overflow-y: $over; + } - &:hover { - --color-ic-02: var(--border-color-focus); - } - } - - @if $y { - overflow-y: $over; - } - - @if $x { - overflow-x: $over; - } + @if $x { + overflow-x: $over; + } } .add-graph { - display: grid; - grid-template-columns: 320px 320px 320px; - gap: 6px; - - @media screen and (max-width: 1024px) { - grid-template-columns: 320px 320px; - } - - &__item { - cursor: pointer; - display: flex; - width: 320px; - height: 128px; - flex-shrink: 0; - border-radius: 8px; - border: 1px solid var(--border-color-div-grey); - background-color: var(--bg-elevated-01); - padding: 14px 12px 14px 20px; - transition: background-color .2s ease-in-out; - - &:hover { - background-color: rgba(99, 224, 36, 0.12); - transition: background-color .2s ease-in-out, border-color .2s ease-in-out; - border-color: var(--border-color-default); - - .add-graph__description { - color: var(--txt-01); - transition: color .2s ease-in-out; - } - .add-graph__icon-hover { - opacity: 1; - transition: opacity .2s ease-in-out; - } - } - } - - &__text { - margin-top: 6px; - } - - &__title { + display: grid; + grid-template-columns: 320px 320px 320px; + gap: 6px; + + @media screen and (max-width: 1024px) { + grid-template-columns: 320px 320px; + } + + &__item { + cursor: pointer; + display: flex; + width: 320px; + height: 128px; + flex-shrink: 0; + border-radius: 8px; + border: 1px solid var(--border-color-div-grey); + background-color: var(--bg-elevated-01); + padding: 14px 12px 14px 20px; + transition: background-color 0.2s ease-in-out; + + &:hover { + background-color: rgba(99, 224, 36, 0.12); + transition: + background-color 0.2s ease-in-out, + border-color 0.2s ease-in-out; + border-color: var(--border-color-default); + + .add-graph__description { color: var(--txt-01); - font-family: Manrope; - font-size: 14px; - font-weight: 600; - line-height: 20px; - text-transform: capitalize; - } - - &__description { - color: var(--txt-03); - font-family: var(--font-family-base); - font-size: 12px; - font-style: normal; - font-weight: 500; - line-height: 16px; - } - - &__icon { - width: 100px; - height: 100px; - position: relative; - display: flex; - align-items: center; - align-self: center; - justify-content: center; - flex-shrink: 0; - } - - &__icon-hover, &__icon-main { - position: absolute; - inset: 0; - display: block; - } - - &__icon-hover { - opacity: 0; - transition: opacity .2s ease-in-out; + transition: color 0.2s ease-in-out; + } + .add-graph__icon-hover { + opacity: 1; + transition: opacity 0.2s ease-in-out; + } } + } + + &__text { + margin-top: 6px; + } + + &__title { + color: var(--txt-01); + font-family: Manrope; + font-size: 14px; + font-weight: 600; + line-height: 20px; + text-transform: capitalize; + } + + &__description { + color: var(--txt-03); + font-family: var(--font-family-base); + font-size: 12px; + font-style: normal; + font-weight: 500; + line-height: 16px; + } + + &__icon { + width: 100px; + height: 100px; + position: relative; + display: flex; + align-items: center; + align-self: center; + justify-content: center; + flex-shrink: 0; + } + + &__icon-hover, + &__icon-main { + position: absolute; + inset: 0; + display: block; + } + + &__icon-hover { + opacity: 0; + transition: opacity 0.2s ease-in-out; + } } .add-graph-search { - display: grid; - grid-template-columns: calc(323px * 3); + display: grid; + grid-template-columns: calc(323px * 3); - .pl-search-field { - border-bottom-width: 1px; + .pl-search-field { + border-bottom-width: 1px; - input { - flex-grow: 1; - } + input { + flex-grow: 1; } + } - @media screen and (max-width: 1024px) { - grid-template-columns: calc(323px * 2); - } + @media screen and (max-width: 1024px) { + grid-template-columns: calc(323px * 2); + } } .add-graph-section { - display: grid; - grid-template-columns: calc(320px * 3); - gap: 24px; - @include scrollbar(); - - @media screen and (max-width: 1024px) { - grid-template-columns: calc(320px * 2); - } -} \ No newline at end of file + display: grid; + grid-template-columns: calc(320px * 3); + gap: 24px; + @include scrollbar(); + + @media screen and (max-width: 1024px) { + grid-template-columns: calc(320px * 2); + } +} diff --git a/ui/src/assets/edit.vue b/ui/src/assets/edit.vue index 99160ca..1df3e05 100644 --- a/ui/src/assets/edit.vue +++ b/ui/src/assets/edit.vue @@ -1,6 +1,11 @@ \ No newline at end of file + + + + + diff --git a/ui/src/components/AddGraph.vue b/ui/src/components/AddGraph.vue index 50f0890..a012eae 100644 --- a/ui/src/components/AddGraph.vue +++ b/ui/src/components/AddGraph.vue @@ -1,16 +1,16 @@