diff --git a/examples/vite-react-frontend/package.json b/examples/vite-react-frontend/package.json index 3ee39b8c..d6301308 100644 --- a/examples/vite-react-frontend/package.json +++ b/examples/vite-react-frontend/package.json @@ -31,7 +31,7 @@ "lucide-react": "^0.525.0", "react": "^18.3.1", "react-dom": "^18.3.1", - "react-router": "^7.6.3", + "react-router": "^7.15.0", "tailwind-merge": "^3.3.1", "tw-animate-css": "^1.3.5" }, diff --git a/package.json b/package.json index f15ac7ff..beaac8ad 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "release": "pnpm build && pnpm publish -r --access public --no-git-checks" }, "dependencies": { - "@anthropic-ai/sdk": "^0.56.0", + "@anthropic-ai/sdk": "^0.57.0", "@flowlib/cli": "workspace:*", "@nestjs/platform-express": "^11.1.18", "@nestjs/schedule": "^6.0.0", diff --git a/pkg/docs/package.json b/pkg/docs/package.json index 7fe76654..4b2a9ecf 100644 --- a/pkg/docs/package.json +++ b/pkg/docs/package.json @@ -30,7 +30,7 @@ "next": "^16.2.3", "react": "^19.0.0", "react-dom": "^19.0.0", - "react-router": "^7.6.3", + "react-router": "^7.15.0", "tailwind-merge": "^3.3.1", "three": "^0.183.1", "zustand": "^5.0.9" diff --git a/pkg/plugins/agents/package.json b/pkg/plugins/agents/package.json index ea68837f..909ec172 100644 --- a/pkg/plugins/agents/package.json +++ b/pkg/plugins/agents/package.json @@ -91,7 +91,7 @@ "agents": "^0.12.3", "react": "^18.3.1", "react-dom": "^18.3.1", - "react-router": "^7.0.0", + "react-router": "^7.15.0", "tsdown": "^0.21.10", "typescript": "^5.3.3", "vitest": "^4.1.4", diff --git a/pkg/ui/package.json b/pkg/ui/package.json index 8ac4b993..69950a89 100644 --- a/pkg/ui/package.json +++ b/pkg/ui/package.json @@ -110,7 +110,7 @@ "react-hotkeys-hook": "^5.2.4", "react-markdown": "^10.1.0", "react-resizable-panels": "^3.0.6", - "react-router": "^7.6.3", + "react-router": "^7.15.0", "react-router-dom": "^7.6.3", "remark-gfm": "^4.0.1", "tailwind-merge": "^3.3.1", diff --git a/pkg/vsix-extension/package.json b/pkg/vsix-extension/package.json index 7f84ad45..ac5d69f6 100644 --- a/pkg/vsix-extension/package.json +++ b/pkg/vsix-extension/package.json @@ -60,7 +60,7 @@ "jiti": "^2.4.0", "react": "^18.3.1", "react-dom": "^18.3.1", - "react-router": "^7.13.1" + "react-router": "^7.15.0" }, "devDependencies": { "@flowlib/actions": "workspace:*", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0f2e3980..40c7175d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -47,8 +47,8 @@ importers: .: dependencies: '@anthropic-ai/sdk': - specifier: ^0.56.0 - version: 0.56.0 + specifier: ^0.57.0 + version: 0.57.0 '@flowlib/cli': specifier: workspace:* version: link:pkg/cli @@ -605,8 +605,8 @@ importers: specifier: ^18.3.1 version: 18.3.1(react@18.3.1) react-router: - specifier: ^7.6.3 - version: 7.13.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^7.15.0 + version: 7.15.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) tailwind-merge: specifier: ^3.3.1 version: 3.5.0 @@ -884,13 +884,13 @@ importers: version: 2.1.1 fumadocs-core: specifier: ^16.7.16 - version: 16.7.16(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@18.3.7)(lucide-react@0.525.0(react@19.2.4))(next@16.2.7(@opentelemetry/api@1.9.1)(@playwright/test@1.58.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react-router@7.13.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4)(zod@4.4.3) + version: 16.7.16(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@18.3.7)(lucide-react@0.525.0(react@19.2.4))(next@16.2.7(@opentelemetry/api@1.9.1)(@playwright/test@1.58.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react-router@7.15.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4)(zod@4.4.3) fumadocs-mdx: specifier: ^14.2.14 - version: 14.2.14(@types/mdast@4.0.4)(@types/mdx@2.0.13)(@types/react@18.3.7)(fumadocs-core@16.7.16(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@18.3.7)(lucide-react@0.525.0(react@19.2.4))(next@16.2.7(@opentelemetry/api@1.9.1)(@playwright/test@1.58.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react-router@7.13.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4)(zod@4.4.3))(next@16.2.7(@opentelemetry/api@1.9.1)(@playwright/test@1.58.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4)(vite@8.0.8(@types/node@22.19.15)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.3)) + version: 14.2.14(@types/mdast@4.0.4)(@types/mdx@2.0.13)(@types/react@18.3.7)(fumadocs-core@16.7.16(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@18.3.7)(lucide-react@0.525.0(react@19.2.4))(next@16.2.7(@opentelemetry/api@1.9.1)(@playwright/test@1.58.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react-router@7.15.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4)(zod@4.4.3))(next@16.2.7(@opentelemetry/api@1.9.1)(@playwright/test@1.58.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4)(vite@8.0.8(@types/node@22.19.15)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.3)) fumadocs-ui: specifier: ^16.7.16 - version: 16.7.16(@tailwindcss/oxide@4.2.1)(@types/mdx@2.0.13)(@types/react-dom@18.3.7(@types/react@18.3.7))(@types/react@18.3.7)(fumadocs-core@16.7.16(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@18.3.7)(lucide-react@0.525.0(react@19.2.4))(next@16.2.7(@opentelemetry/api@1.9.1)(@playwright/test@1.58.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react-router@7.13.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4)(zod@4.4.3))(next@16.2.7(@opentelemetry/api@1.9.1)(@playwright/test@1.58.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(tailwindcss@4.2.1) + version: 16.7.16(@tailwindcss/oxide@4.2.1)(@types/mdx@2.0.13)(@types/react-dom@18.3.7(@types/react@18.3.7))(@types/react@18.3.7)(fumadocs-core@16.7.16(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@18.3.7)(lucide-react@0.525.0(react@19.2.4))(next@16.2.7(@opentelemetry/api@1.9.1)(@playwright/test@1.58.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react-router@7.15.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4)(zod@4.4.3))(next@16.2.7(@opentelemetry/api@1.9.1)(@playwright/test@1.58.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(tailwindcss@4.2.1) geist: specifier: ^1.3.0 version: 1.7.0(next@16.2.7(@opentelemetry/api@1.9.1)(@playwright/test@1.58.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)) @@ -910,8 +910,8 @@ importers: specifier: ^19.0.0 version: 19.2.4(react@19.2.4) react-router: - specifier: ^7.6.3 - version: 7.13.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + specifier: ^7.15.0 + version: 7.15.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) tailwind-merge: specifier: ^3.3.1 version: 3.5.0 @@ -1208,8 +1208,8 @@ importers: specifier: ^18.3.1 version: 18.3.1(react@18.3.1) react-router: - specifier: ^7.0.0 - version: 7.13.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^7.15.0 + version: 7.15.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) tsdown: specifier: ^0.21.10 version: 0.21.10(oxc-resolver@11.19.1)(synckit@0.11.12)(typescript@5.9.3) @@ -1709,8 +1709,8 @@ importers: specifier: ^3.0.6 version: 3.0.6(react-dom@19.2.4(react@19.2.4))(react@19.2.4) react-router: - specifier: ^7.6.3 - version: 7.13.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + specifier: ^7.15.0 + version: 7.15.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) react-router-dom: specifier: ^7.6.3 version: 7.13.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) @@ -1824,8 +1824,8 @@ importers: specifier: ^18.3.1 version: 18.3.1(react@18.3.1) react-router: - specifier: ^7.13.1 - version: 7.13.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^7.15.0 + version: 7.15.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) devDependencies: '@flowlib/actions': specifier: workspace:* @@ -2018,10 +2018,6 @@ packages: peerDependencies: zod: ^4.0.0 - '@anthropic-ai/sdk@0.56.0': - resolution: {integrity: sha512-SLCB8M8+VMg1cpCucnA1XWHGWqVSZtIWzmOdDOEu3eTFZMB+A0sGZ1ESO5MHDnqrNTXz3safMrWx9x4rMZSOqA==} - hasBin: true - '@anthropic-ai/sdk@0.57.0': resolution: {integrity: sha512-z5LMy0MWu0+w2hflUgj4RlJr1R+0BxKXL7ldXTO8FasU8fu599STghO+QKwId2dAD0d464aHtU+ChWuRHw4FNw==} hasBin: true @@ -12698,6 +12694,16 @@ packages: react-dom: optional: true + react-router@7.15.0: + resolution: {integrity: sha512-HW9vYwuM8f4yx66Izy8xfrzCM+SBJluoZcCbww9A1TySax11S5Vgw6fi3ZjMONw9J4gQwngL7PzkyIpJJpJ7RQ==} + engines: {node: '>=20.0.0'} + peerDependencies: + react: '>=18' + react-dom: '>=18' + peerDependenciesMeta: + react-dom: + optional: true + react-style-singleton@2.2.3: resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==} engines: {node: '>=10'} @@ -14759,8 +14765,6 @@ snapshots: - '@cfworker/json-schema' - supports-color - '@anthropic-ai/sdk@0.56.0': {} - '@anthropic-ai/sdk@0.57.0': {} '@anthropic-ai/sdk@0.81.0(zod@3.25.76)': @@ -23719,7 +23723,7 @@ snapshots: fsevents@2.3.3: optional: true - fumadocs-core@16.7.16(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@18.3.7)(lucide-react@0.525.0(react@19.2.4))(next@16.2.7(@opentelemetry/api@1.9.1)(@playwright/test@1.58.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react-router@7.13.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4)(zod@4.4.3): + fumadocs-core@16.7.16(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@18.3.7)(lucide-react@0.525.0(react@19.2.4))(next@16.2.7(@opentelemetry/api@1.9.1)(@playwright/test@1.58.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react-router@7.15.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4)(zod@4.4.3): dependencies: '@orama/orama': 3.1.18 '@shikijs/transformers': 4.0.2 @@ -23748,19 +23752,19 @@ snapshots: next: 16.2.7(@opentelemetry/api@1.9.1)(@playwright/test@1.58.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) react: 19.2.4 react-dom: 19.2.4(react@19.2.4) - react-router: 7.13.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + react-router: 7.15.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) zod: 4.4.3 transitivePeerDependencies: - supports-color - fumadocs-mdx@14.2.14(@types/mdast@4.0.4)(@types/mdx@2.0.13)(@types/react@18.3.7)(fumadocs-core@16.7.16(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@18.3.7)(lucide-react@0.525.0(react@19.2.4))(next@16.2.7(@opentelemetry/api@1.9.1)(@playwright/test@1.58.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react-router@7.13.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4)(zod@4.4.3))(next@16.2.7(@opentelemetry/api@1.9.1)(@playwright/test@1.58.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4)(vite@8.0.8(@types/node@22.19.15)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.3)): + fumadocs-mdx@14.2.14(@types/mdast@4.0.4)(@types/mdx@2.0.13)(@types/react@18.3.7)(fumadocs-core@16.7.16(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@18.3.7)(lucide-react@0.525.0(react@19.2.4))(next@16.2.7(@opentelemetry/api@1.9.1)(@playwright/test@1.58.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react-router@7.15.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4)(zod@4.4.3))(next@16.2.7(@opentelemetry/api@1.9.1)(@playwright/test@1.58.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4)(vite@8.0.8(@types/node@22.19.15)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.3)): dependencies: '@mdx-js/mdx': 3.1.1 '@standard-schema/spec': 1.1.0 chokidar: 5.0.0 esbuild: 0.28.0 estree-util-value-to-estree: 3.5.0 - fumadocs-core: 16.7.16(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@18.3.7)(lucide-react@0.525.0(react@19.2.4))(next@16.2.7(@opentelemetry/api@1.9.1)(@playwright/test@1.58.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react-router@7.13.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4)(zod@4.4.3) + fumadocs-core: 16.7.16(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@18.3.7)(lucide-react@0.525.0(react@19.2.4))(next@16.2.7(@opentelemetry/api@1.9.1)(@playwright/test@1.58.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react-router@7.15.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4)(zod@4.4.3) js-yaml: 4.1.1 mdast-util-mdx: 3.0.0 mdast-util-to-markdown: 2.1.2 @@ -23783,7 +23787,7 @@ snapshots: transitivePeerDependencies: - supports-color - fumadocs-ui@16.7.16(@tailwindcss/oxide@4.2.1)(@types/mdx@2.0.13)(@types/react-dom@18.3.7(@types/react@18.3.7))(@types/react@18.3.7)(fumadocs-core@16.7.16(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@18.3.7)(lucide-react@0.525.0(react@19.2.4))(next@16.2.7(@opentelemetry/api@1.9.1)(@playwright/test@1.58.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react-router@7.13.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4)(zod@4.4.3))(next@16.2.7(@opentelemetry/api@1.9.1)(@playwright/test@1.58.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(tailwindcss@4.2.1): + fumadocs-ui@16.7.16(@tailwindcss/oxide@4.2.1)(@types/mdx@2.0.13)(@types/react-dom@18.3.7(@types/react@18.3.7))(@types/react@18.3.7)(fumadocs-core@16.7.16(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@18.3.7)(lucide-react@0.525.0(react@19.2.4))(next@16.2.7(@opentelemetry/api@1.9.1)(@playwright/test@1.58.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react-router@7.15.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4)(zod@4.4.3))(next@16.2.7(@opentelemetry/api@1.9.1)(@playwright/test@1.58.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(tailwindcss@4.2.1): dependencies: '@fumadocs/tailwind': 0.0.5(@tailwindcss/oxide@4.2.1)(tailwindcss@4.2.1) '@radix-ui/react-accordion': 1.2.12(@types/react-dom@18.3.7(@types/react@18.3.7))(@types/react@18.3.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) @@ -23797,7 +23801,7 @@ snapshots: '@radix-ui/react-slot': 1.2.4(@types/react@18.3.7)(react@19.2.4) '@radix-ui/react-tabs': 1.1.13(@types/react-dom@18.3.7(@types/react@18.3.7))(@types/react@18.3.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) class-variance-authority: 0.7.1 - fumadocs-core: 16.7.16(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@18.3.7)(lucide-react@0.525.0(react@19.2.4))(next@16.2.7(@opentelemetry/api@1.9.1)(@playwright/test@1.58.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react-router@7.13.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4)(zod@4.4.3) + fumadocs-core: 16.7.16(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@18.3.7)(lucide-react@0.525.0(react@19.2.4))(next@16.2.7(@opentelemetry/api@1.9.1)(@playwright/test@1.58.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react-router@7.15.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4)(zod@4.4.3) lucide-react: 1.8.0(react@19.2.4) motion: 12.38.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) next-themes: 0.4.6(react-dom@19.2.4(react@19.2.4))(react@19.2.4) @@ -27248,6 +27252,22 @@ snapshots: optionalDependencies: react-dom: 19.2.4(react@19.2.4) + react-router@7.15.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + cookie: 1.1.1 + react: 18.3.1 + set-cookie-parser: 2.7.2 + optionalDependencies: + react-dom: 18.3.1(react@18.3.1) + + react-router@7.15.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4): + dependencies: + cookie: 1.1.1 + react: 19.2.4 + set-cookie-parser: 2.7.2 + optionalDependencies: + react-dom: 19.2.4(react@19.2.4) + react-style-singleton@2.2.3(@types/react@18.3.7)(react@18.3.1): dependencies: get-nonce: 1.0.1