Compare commits

...
Author SHA1 Message Date
Public Source Publisher f2d427b3a4 Publish curated DevRunbook source from 6c816f19fca10d6aed986e1e2c2ae8df9b1654b7
Managed validation / full (push) Successful in 3m45s
2026-10-01 17:21:27 +00:00
Public Source Publisher 56f083c141 Publish curated DevRunbook source from 968e4df3f2c0f5ce9ba05a32ccf47565920663ab
Managed validation / full (push) Successful in 4m13s
2026-09-30 00:22:42 +00:00
15 changed files with 288 additions and 187 deletions

No files matched your search

+1 -1
View File
@@ -27,7 +27,7 @@ jobs:
full:
name: full
if: ${{ gitea.event_name != 'pull_request' || gitea.event.pull_request.head.repo.full_name == gitea.repository }}
runs-on: ubuntu-latest
runs-on: linux-validation
timeout-minutes: 30
env:
CI: 'true'
+20
View File
@@ -729,3 +729,23 @@ account or production data was changed to manufacture a green browser result.
`git diff --check` passes and Gitleaks found no secret across 207 commits.
Final Node 24, PostgreSQL, security and audit authority remains the managed
Gitea run for the final candidate commit.
## Publication maintenance — 2026-10-01
- Scope: refined the English canonical/public README and patched Next.js
16.3.3 to 16.3.6 after the protected publication audit reported
GHSA-vcvr-r3jv-pc5j. The manifest and lockfile changes are limited to Next.js
and its matching environment/compiler packages and peer references.
- Local evidence: Windows with Node 24.18.1 and pnpm 10.33.0 passed frozen
installation, runtime preflight, `pnpm verify`, all 681 executed tests,
14 workspace builds, 11 security tests and both Python specification checks.
All 28 golden prompts remain unchanged. The production audit has zero high
and zero critical findings; three existing moderate findings remain.
- Limits: 32 database integration tests were skipped by the ordinary local
unit invocation. Fresh PostgreSQL integration validation remains mandatory
in exact-head Linux CI before protected merge. No browser interaction,
production deployment, schema, migration or configuration was changed.
- Detailed finding, applicability and evidence:
[dependency patch record](docs/SECURITY_DEPENDENCY_PATCH_20261001.md).
- Product milestone state is unchanged. Publication must continue through
protected merge, automatic curated export and manifest verification.
+12 -9
View File
@@ -2,7 +2,7 @@
a6b98ea7cb6d61ed8d430dd0dffa46c87012b5cf859d4ce7207898954951fdcd .editorconfig
ef3faff39e79e3a723704ff3bb33f8cd90a6d5e8c72fabd356c0780ae1118a0a .env.example
8d75fbed0329d55480242ea79c61cbdd3da312c700298bfba9572b81ec325cc6 .gitattributes
d01d94473aa423e96a01929f52d4f0bc599652a61c409702c38ba9a0ef8271af .gitea/workflows/managed-validation.yml
01512984e9e8dd5274755a96276157ed031b961e61efdf8e8dae9c1258db934c .gitea/workflows/managed-validation.yml
6cd8a37d7e2a507e90e0e60136fe5ec795d5cfd92e318c460252608fa88bbad5 .github/workflows/ci.yml
1cf3186d21c2bafb868945943e28b8448c7edd6469209bd3d8d5c00b4db93ef7 .gitignore
24c8656eb63e90e2e33dacc1cb1dc681680a569f72af6754d17fd9286f664106 .gitleaks.toml
@@ -16,7 +16,7 @@ dc40bcfabcf8a38eae1a5abfff558c18443534604f8b9739fae3b47d3bf67568 BUILD_PACK.jso
73c53eb65109d3b49bf00cf47231fc87e1bcab42df583e50c73fe91b78fafb75 CODEX_EXECUTION_PROTOCOL.md
2a8e8ac0be23381257c53ab47b4059ba9bed8adb9200b55dcc9c3b86d1e8df36 CODEX_MASTER_PROMPT.md
0ded5168bf6b3b664756d05d7210272af4f28f422597a5519ad8793f13aa9896 CONTRIBUTING.md
7c1bcc375441f8548bad672516ba10424f4e224f9b112e9ebdf97e9c4d1ab6a9 CURRENT_STATE.md
3ac472c87bbc7a18b0ee7172a18e40c70c97da75b6f3a4294b2065e9d97b348c CURRENT_STATE.md
591939dde953361d5b64641ce4eb215a3afac5c98600148778d148e949bd2d7a DECISIONS.md
f274162f7540f3fd2c93637ac34f1ca6c11a6b562e5ffcf61ac1ed330ea2e054 Dockerfile
0a60fdc763f33df8c066e69c9a4a024eb587f1528e8fefb530001fd759f34485 FILE_INDEX.txt
@@ -25,7 +25,7 @@ f038f971c5f2866e7710486f15a236d05770eea76ba36d6bfcf8739ed6fd3331 FINAL_HANDOFF.
638b400d8d3aed60e672875df8a4a2ed749203a7f1c3fc336a295da2824edebd LICENSE
b796ec54788d1295f85223e5917a49ca04eff8c0b9fadc9e4d6b43945c650bb6 PACK_MANIFEST.sha256
ca5ad9d9127b9e1fec448fbed19a400c399463b952b6c03945e91746e355d672 PACK_REVIEW.md
bef5294849929a41730e8be0cab843d94ae495a4c9a4ca0813bf1a1e1dfe66a1 README.md
51f5628b63bcc7ac7f3cd51d5b3861b9ff32a1b2d4288282015bdfeca69aa26f README.md
03fa606416d402f5430483dd1447f701bb9923b443d5b02e85c5855c10aa0125 SECURITY.md
a40b0c5b5560eca6248ee900f7e004cfd5f1849ab8659fc5ca8d8acbf6c43f89 START_HERE_CODEX.md
56d37c6cfe1c24eb4050bdac449821bedf9d13263948e1f833b5b0e0bf787114 adr/ADR-001-git-first-content.md
@@ -35,9 +35,9 @@ f9ab72425ec1dd03053420e99095dd658719600267a353e4de7841e1bbf85259 adr/ADR-002-mo
5ce4e17096792a3e877b2e47332bdea7abdc1433bfc37a274775ac8a8344227c adr/ADR-005-integration-secrets.md
b628d2c48be924b25572dac7252e248d6fec3128ff0137c967b32294ce0669df adr/ADR-006-better-auth-adapter-boundary.md
3dc46224d399a7a09e833b3284b18597504d9c967615b933d781dfb3b4ea675c api/openapi.yaml
7b550dda9686c16f36a17bf9051d5dbf31e98555b30d114ac49fc49a1e712651 apps/web/next-env.d.ts
1862ac4bbbc5192d4bf562161df66ea547ed3e67173100656ab606ae9797db2b apps/web/next-env.d.ts
5cb4cf40fdb110a121ff9a451d845287894237f4be50fccfdf9356704c5c29ee apps/web/next.config.ts
d5a2f5ae219145744af95ae2781d6c4318e5d3aeb7baf75a21011b10a244a90a apps/web/package.json
a72629084e6207b209e4eb868d0a0caacbaab1dde22c4b030c655055c1b38fbc apps/web/package.json
3fc8d1c13ad963bbf7da04d59024d38cc2ad14563b36afd71bc8b43c7148dd25 apps/web/postcss.config.mjs
14105408b2deaad0971d252f99af8b9e897a4a4fbbc42642317ac77d97bba65c apps/web/src/app/_authenticated/authenticated-app-layout.tsx
179b1911a82fa2ace7251ba819737fd91104b3d924f0c2b2f75f80d55f7dfc79 apps/web/src/app/_authenticated/authenticated-app-presentation.test.ts
@@ -562,7 +562,10 @@ c16970cadcb0fcb3836c1f27fb2420b4365a1e336474f642909aaf79b5cc0696 docs/52-gitea-
b46c0f8e29dc5fd2e75105cd6a0ac66c82a0345b0a47d6f0b36534b911bcfe8b docs/ASSET_PROVENANCE.md
6d62a07c756bfec0f8bb677b843dd7f9f7359d854d2e1075c7871abc9bd5a0b5 docs/PUBLICATION_READINESS.md
a36db9d8120714af90ba467645345904f8d187684d20c87f5be52d93e5fa5039 docs/REPOSITORY_SANITATION.md
0c5a2e76e3c1ca33991a951ceb9ef26f1c2057cd6fbffc1e10d908769085d36a docs/SECURITY_DEPENDENCY_PATCH_20261001.md
566c9e1753c9042bd1b08123a341d78b32fc148ef0ed83a428e4410f066dc139 docs/operator-guide.md
2531c632929e72815f0a8e83a5c4b5211c44a659f799e80063c97c2e4f2aa3c3 docs/screenshots/README.md
cd363d96fe0649f210506a69de1bc66a6d76a3f706dbfeea76302b656f04a7c2 docs/screenshots/workflow-concept.png
5fdb53b5036751c41bf478eb775731def6d36350fcb405345716c59d5a37b61a eslint.config.mjs
4680aca707c14cf2e0ad2517aa35153eb87cfbb0f8200990b2f6cb601506bad4 evidence/functional-visual-audit-2026-07-28.md
ec505857b3987f5710b828e08585ee142a7bc6b4102574e1868625dc4d25126a evidence/performance-report.json
@@ -637,7 +640,7 @@ e90820c822cc116e7c1014b1aa2b2c72af4297830231bea5947473505cabc348 examples/rende
ce5809aafd05d58952cf273992440fc42ca55dd9c8c8e563f8a31a434a3f07bd examples/run-packs/root-cause-example/TASK.md
85dd6148501e2256b7479dd8711317db2526a84f1779aea70bcb9b20a17ca21a examples/run-packs/root-cause-example/VALIDATION.md
b7aaa535f96a09629525cef0eb219a7af1f7befdb65af3a6687d64e2806a5e3f examples/run-packs/root-cause-example/manifest.json
3eda0f5796f240f98983966052823f43a6973cf0d7614dd20cd0c8cc19e42ea7 package.json
4b27cdbdf7e359aee99f7f3cb62069f0193173287a19a1b2bc9913f3a9e1af95 package.json
f27d0f8dbf91b5ff53495dd9c5efa862a6b152caafd1f94d309d93966b75ca90 packages/application/package.json
264938b89693441ea63425a62ab58f894b276c0bf632cdd6918ba334d74c8736 packages/application/src/artifacts/export-generated-run-artifact.test.ts
da4bf25f06898c5319b2b14e0f093d6c97b87a8f2bc1e632a6bec3d6e124b8d5 packages/application/src/artifacts/export-generated-run-artifact.ts
@@ -866,7 +869,7 @@ fcef0f6944a0c822c3c817de0d0c5cc1cddb87e9e89372804f0b27f12194f12f packages/ui/sr
2bbc1d21f92ce062e08bdcb8ad3324bd66c8433e7556a41d1cacdad013d6c6b8 packages/ui/src/status/state-panel.tsx
d308feb27bb9b7ea5ea17fe139fab6b7c24a704fd52b3601e3629be8c8797f90 packages/ui/tsconfig.json
9d715dfbd77f972f821b3557415e410e2b19d1b57917022076b2a8a058784396 playwright.config.ts
a81f32f49468c131a0c2bba37eb8def9db2307e18cc51701035cf01f1ef4ddc1 pnpm-lock.yaml
52e83fe485140c02cc290aaaad38e655366c5c19064ad224784868b4486af928 pnpm-lock.yaml
253208fa7c1b64372c219b9e19cef15ed70ca93b66a4d5c4c4d2297a5aff8880 pnpm-workspace.yaml
b43fe240547fa9ed6f235155a8c79a777daef73221e982dbe49aea609f9d982d release-evidence.json
37b161d2e975584f6ff2fc1629075dd4b9c85fde08d671e0c2cfea12b719fa82 schemas/condition.schema.json
@@ -880,7 +883,7 @@ d3e430dd1e3b0270d1fbab0f9593d0553081aac979d19d00b610bac782284b37 schemas/releas
2a292fb2ca240150cbb9886459e5d037d5e5923de83b95696fce4137b698a618 schemas/seed-catalog.schema.json
cce328f73430051fea2a2dfa234413a710ebfdf56f986fb4db815776d17140a0 scripts/build_archive.py
4939769f47a869570454e024b9612cf066aa3cc91703c727481c9c9eb94e2cb0 scripts/check-runtime.mjs
36e02c8debe14def28cfb6128efdf535b2afd6b0027832b677fc2e9d63dbca66 scripts/export-public-source.sh
10c0fd55e3c832c07e8de235fd2e4b466a644cb7270e1c8b9ddbdb3e094c3cbc scripts/export-public-source.sh
b2a0cfb4282d6ad760d22266faf001514635111d116d0e3523aee40569877e17 scripts/reference_compose.py
380e07bdda99910127aa662702fa533bb338525ac51cdfb7ac5ee2078536371c scripts/release/backup.sh
a371bb696d641b522f4e8976f616ae743ff755aef3b65eb2f1fb51798a6256bb scripts/release/generate-release-evidence.mjs
@@ -923,5 +926,5 @@ db7fc59c2dbeb5a051be474afba8a6f9e3d24f4681f385ac52fa89c3220a8779 turbo.json
81ec67fa4095763b261ddc84391643478cfaa5ba6369c7814c76b8ef2fa9cac0 unraid/devrunbook.xml
324ce6ad4395235354ab2d688ad4a6aacc8fddc0af0eaf5de23a0f82c9da9a0d unraid/docker-compose.unraid.yml
002fc58d644e31245976ed9fa84bce7b64d98dc6a5ed159e3c0dc87150b1faea vitest.config.ts
db1ecf849eb0cf4a611d4e7696bae5a693705de137514a99e7dee3cca67cf4f1 vitest.integration.config.ts
36c98dc95b427d78335546bbd87a8ae583a3d68b489ea05c7353e4ebf2a2cb5b vitest.integration.config.ts
be5c006227c3ca6c14350dc9d0f3d63ffd2e86c70ef1c564df5a54e03b53d928 vitest.security.config.ts
+27
View File
@@ -1,5 +1,9 @@
# DevRunbook
<p align="center"><img src="apps/web/src/app/icon.svg" width="72" alt="DevRunbook icon"></p>
<p align="center"><strong>From a development request to a reviewable agent task.</strong></p>
<p align="center"><a href="#how-it-works">Workflow</a> · <a href="#what-users-can-do">Features</a> · <a href="#quick-start-with-docker-compose">Quick start</a> · <a href="#architecture-and-safety">Architecture</a></p>
DevRunbook is a self-hosted platform for turning development intent into
structured, reusable and verifiable tasks for coding agents such as Codex. It
combines a reviewed playbook, repository context, risk controls and validation
@@ -9,6 +13,23 @@ The platform helps developers stop rewriting the same instructions while
keeping scope, provenance and evidence visible. It does **not** execute
repository commands or write to your Git forge.
![Conceptual illustration of a development request becoming a verified Run Pack](docs/screenshots/workflow-concept.png)
*Conceptual workflow illustration; this is not a screenshot of the application.*
## How it works
```mermaid
flowchart LR
Intent[Development intent] --> Playbook[Reviewed playbook]
Profile[Repository profile] --> Composer[Task composer]
Playbook --> Composer
Composer --> Review[Compatibility and guardrail review]
Review --> Output[Immutable task or verified Run Pack]
```
Choose a playbook, add a repository profile, describe the task, inspect the generated scope and validation requirements, then export the exact prompt or Run Pack for your coding agent. Simple mode guides common tasks; Expert mode exposes the detailed controls. The application keeps the authoring and review boundary visible before anything is handed to an agent.
## What users can do
- Browse and search 28 built-in, versioned development playbooks.
@@ -65,6 +86,12 @@ mount the Docker socket or weaken the default Gitea network policy. The
reference stack binds its HTTP port to host loopback; terminate public HTTPS at
a maintained reverse proxy on the same host or adjust the binding deliberately.
## Create your first RunPack
After creating the owner account, select a built-in playbook, provide the repository profile and describe one bounded task. Review the composed prompt, assumptions and guardrails before exporting the RunPack. Start with a local profile if you do not need the optional Gitea connector.
DevRunbook produces an instruction package for a human or coding agent. Exporting a package does not execute its commands, modify a repository or establish that the requested work passed validation. Keep the exported package with the evidence produced by the actual execution.
## Local development
DevRunbook requires Node.js 24, pnpm 10.33.0 and Python 3 for the specification
+1
View File
@@ -1,6 +1,7 @@
/// <reference types="next" />
/// <reference types="next/image-types/global" />
import "./.next/types/routes.d.ts";
import "./.next/types/root-params.d.ts";
// NOTE: This file should not be edited
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
+1 -1
View File
@@ -22,7 +22,7 @@
"@devrunbook/ui": "workspace:*",
"better-auth": "1.6.25",
"lucide-react": "1.27.0",
"next": "16.2.12",
"next": "16.3.6",
"react": "19.2.8",
"react-dom": "19.2.8",
"yaml": "2.9.0",
@@ -0,0 +1,41 @@
# Publication dependency patch — 1 October 2026
## Finding and scope
The protected README-publication PR failed its production dependency audit on
Next.js 16.3.3, reported as critical advisory
[GHSA-vcvr-r3jv-pc5j](https://github.com/vercel/next.js/security/advisories/GHSA-vcvr-r3jv-pc5j).
The maintainer advisory identifies 16.3.6 as the patched version. Its affected
path is attacker-controlled SVG input passed to Node.js `next/og` ImageResponse.
An inspection of `apps` and `packages` found no ImageResponse, `next/og` or
`@vercel/og` usage; this patch removes the vulnerable framework dependency
without claiming an observed exploitable application route.
The owner authorized fixing security blockers in this documentation round.
The web manifest now pins Next.js 16.3.6. The pnpm 10.33.0 lockfile changes only
the matching Next.js, environment and platform compiler packages, their
integrities and dependent peer references. Authentication, application code,
schemas, migrations, deployment configuration and audit thresholds are unchanged.
## Verification
Local environment: Windows, Node.js 24.18.1, pnpm 10.33.0 and Python 3.13.
- Frozen workspace installation and the runtime preflight passed.
- Both Python contract checks passed: 28 P0 packages, six normative examples,
72 catalog entries, nine schemas and 28 unchanged golden prompts.
- `pnpm test:security` passed both files and all 11 tests, including hostile
inputs and authorization/origin/dependency boundaries.
- `pnpm audit --prod --audit-level high` passed. The critical Next.js finding
is gone; the audit reports zero high and zero critical findings. Its three
pre-existing moderate findings remain below the unchanged release threshold.
- `pnpm verify` passed: formatting, all 14 workspace lint/typecheck/build tasks,
681 tests and both specification checks. The web suite passed 55 files and
247 tests. The ordinary unit invocation skipped 32 database integration tests
because no disposable PostgreSQL instance was configured locally; this is
not evidence for the separate mandatory integration gate.
Fresh PostgreSQL integration validation is provided by the existing exact-head
Linux CI gate. No application instance or production data is changed by the
local checks. Public source export must follow the protected merge and retain
the existing sanitation and manifest verification.
+5
View File
@@ -0,0 +1,5 @@
# Image provenance
`workflow-concept.png` is a conceptual illustration generated for the public README. It is not an application screenshot and contains no customer data. Prompt: "A professional dark software architecture illustration with restrained lime highlights: development request, reviewed playbook and repository context, verified task package; no text, people, logos or code."
An application screenshot is not included because the isolated demo instance did not reproduce an initialized product state. The illustration communicates the workflow without depicting an unverified interface state.
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

+2 -2
View File
@@ -12,11 +12,11 @@
"brace-expansion@>=2.0.0 <2.1.4": "2.1.4",
"brace-expansion@>=5.0.0 <5.0.9": "5.0.9",
"esbuild@0.18.20": "0.25.12",
"fast-uri@>=3.0.0 <3.1.6": "3.1.6",
"fast-uri@>=3.0.0 <3.1.7": "3.1.7",
"js-yaml@>=4.0.0 <4.3.1": "4.3.1",
"nanoid@3.3.16": "3.3.18",
"postcss@8.4.31": "8.5.23",
"sharp@0.34.5": "0.35.3"
"sharp@0.35.3": "0.35.4"
}
},
"scripts": {
+173 -173
View File
@@ -9,11 +9,11 @@ overrides:
brace-expansion@>=2.0.0 <2.1.4: 2.1.4
brace-expansion@>=5.0.0 <5.0.9: 5.0.9
esbuild@0.18.20: 0.25.12
fast-uri@>=3.0.0 <3.1.6: 3.1.6
fast-uri@>=3.0.0 <3.1.7: 3.1.7
js-yaml@>=4.0.0 <4.3.1: 4.3.1
nanoid@3.3.16: 3.3.18
postcss@8.4.31: 8.5.23
sharp@0.34.5: 0.35.3
sharp@0.35.3: 0.35.4
importers:
@@ -93,13 +93,13 @@ importers:
version: link:../../packages/ui
better-auth:
specifier: 1.6.25
version: 1.6.25(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(kysely@0.29.4)(postgres@3.4.9))(next@16.2.12(@babel/core@7.29.7)(@playwright/test@1.62.0)(@types/node@24.13.3)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(vitest@4.1.10(@types/node@24.13.3)(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(yaml@2.9.0)))
version: 1.6.25(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(kysely@0.29.4)(postgres@3.4.9))(next@16.3.6(@babel/core@7.29.7)(@playwright/test@1.62.0)(@types/node@24.13.3)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(vitest@4.1.10(@types/node@24.13.3)(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(yaml@2.9.0)))
lucide-react:
specifier: 1.27.0
version: 1.27.0(react@19.2.8)
next:
specifier: 16.2.12
version: 16.2.12(@babel/core@7.29.7)(@playwright/test@1.62.0)(@types/node@24.13.3)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)
specifier: 16.3.6
version: 16.3.6(@babel/core@7.29.7)(@playwright/test@1.62.0)(@types/node@24.13.3)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)
react:
specifier: 19.2.8
version: 19.2.8
@@ -962,160 +962,160 @@ packages:
resolution: {integrity: sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==}
engines: {node: '>=18'}
'@img/sharp-darwin-arm64@0.35.3':
resolution: {integrity: sha512-RMnFX7YQsMoh7lWfcM4NEHHymBX/rLuKNPVM84XE9ONPcaSCDgE7CHIHpSgPcO2xcRthgBy1HfNO319mwhIAkg==}
'@img/sharp-darwin-arm64@0.35.4':
resolution: {integrity: sha512-Uhfl4V4lhP2nbUVF9+hyH1+luj86f1gUFeo8ALYxFoULoU+G87D43BfeMP8XHsk9boxAnCY/bf2EHwhA7MuGsA==}
engines: {node: '>=20.9.0'}
cpu: [arm64]
os: [darwin]
'@img/sharp-darwin-x64@0.35.3':
resolution: {integrity: sha512-Xo+5uFBtLN0BKqieTxiFzFPQAUlBbbH5iBKyRX/z1JrbnYsHTfKJnUfL8+p2TPXr1pXqao4eeL4Rl144uDpK9w==}
'@img/sharp-darwin-x64@0.35.4':
resolution: {integrity: sha512-hWniXY3bG5qKpkKrAwPe4y+VTPmf086YQAnkxWh7uA1YrlRouWGa0M0Mxj3ZjnXFkv7/TD1bTy9lGUK26vRvWw==}
engines: {node: '>=20.9.0'}
cpu: [x64]
os: [darwin]
'@img/sharp-freebsd-wasm32@0.35.3':
resolution: {integrity: sha512-lUxcqWIj2wMQ9BrwNjngcr1gWUr5xgaGThBRqPPalIC2n67Cqj1uPh8NnA/ZhAg8hUbKl+kVHKwgUIwe6ZYPrg==}
'@img/sharp-freebsd-wasm32@0.35.4':
resolution: {integrity: sha512-lIsKw/BU+kjB4eZjxrYrZmwOJYi3Ajrv66iAlBmUPyKc3HpnloevB1g3wxGD9P/5BbQ1brBGl65VRRrCvQDEqA==}
engines: {node: '>=20.9.0'}
os: [freebsd]
'@img/sharp-libvips-darwin-arm64@1.3.2':
resolution: {integrity: sha512-9J6ypZFpQBj4YnePGoq/S38w6nz+vqg5WZLrLGY4YuSemdMq47GMLBPO42MzwdGwpg/agZ7xzZcFHa48xlywfg==}
'@img/sharp-libvips-darwin-arm64@1.3.3':
resolution: {integrity: sha512-suTBPTDGrI9WodccaDdwZItTSaBYASlBk1NSfElSHrUfzu3szG6lvIF58+WiFvnfzuK8ZBFS5zE00PxqxnRiPg==}
cpu: [arm64]
os: [darwin]
'@img/sharp-libvips-darwin-x64@1.3.2':
resolution: {integrity: sha512-m2pW1n6cns9VaubNwsZ+c3CRYjxNQWgJ5gPlnL1nbBcpkBvFm6SCFN5o0psFHI8w9n11NKhFkeEDns98tiqbEw==}
'@img/sharp-libvips-darwin-x64@1.3.3':
resolution: {integrity: sha512-FVJZ5mITMobmXIz/hPDTw0EintTW5H3WfrxwLqEqjiIihlu+hVRyGrFQ60xl0Lxn7Bt3zdpevPaQi0HEzqz9fw==}
cpu: [x64]
os: [darwin]
'@img/sharp-libvips-linux-arm64@1.3.2':
resolution: {integrity: sha512-dqVSFynCox4C/J8kT16V7SIFAns0IjgLwkvYT7p8LQVmJ5OS5b6tI9IGflxTeuBS//zXeFIUbwt5dwxyZ17cnA==}
'@img/sharp-libvips-linux-arm64@1.3.3':
resolution: {integrity: sha512-0DaL0A6Xu6sQSQFwe4iVCrKWU2cCTItnRsYsCdxAMm9NF6twAA9BKnoqy4hqz4+azQ0JHuA26qiUKsf1XJ/v5A==}
cpu: [arm64]
os: [linux]
libc: [glibc]
'@img/sharp-libvips-linux-arm@1.3.2':
resolution: {integrity: sha512-1eMLzy92I4J6rmi4mAT8yC3HxOtniyGELlzGbNMLLeqe052ahFQ0h6LFq+lh5DsDIdYViIDst08abvSbcEdLXQ==}
'@img/sharp-libvips-linux-arm@1.3.3':
resolution: {integrity: sha512-3rbU4vqXXc3hY/OiXdl52xZvT0F1yEngWfvqudtPJg/KkyiaQw2DRsFrNzpmLvfavbwOq3qXn36GP8obHRULQA==}
cpu: [arm]
os: [linux]
libc: [glibc]
'@img/sharp-libvips-linux-ppc64@1.3.2':
resolution: {integrity: sha512-3z0NHDxD6n5I9gc05U1eW1AyRm+Gznzq3naMrthPNqE6oYykcogW0l/jfpJdjYnuNl8R7yI9pNbE1XiUeyq0Aw==}
'@img/sharp-libvips-linux-ppc64@1.3.3':
resolution: {integrity: sha512-cdn1OvUBwsXhbC0zSzJnNzf5MZ/mTrobawDvNXBTxe8VtqKAm0sRuEY2Evzovb/w9JMk4TvRxqt1mekSuJz64w==}
cpu: [ppc64]
os: [linux]
libc: [glibc]
'@img/sharp-libvips-linux-riscv64@1.3.2':
resolution: {integrity: sha512-bsb4rI+NldGOsXuej2r8OdSS8+zXDVaCWxyWrcv6kneTOlgAHtZABRzBBCwdsPiD90J4myNJuHpg6kA20ImW/w==}
'@img/sharp-libvips-linux-riscv64@1.3.3':
resolution: {integrity: sha512-HjPVx7yKz+0lqdhDlTw1tt90wamBoxhiXpvl1XZpJLiHH4RCJ5yDTqH+VlYPv2fwFs89JFw4c1IexYOcQUi4IQ==}
cpu: [riscv64]
os: [linux]
libc: [glibc]
'@img/sharp-libvips-linux-s390x@1.3.2':
resolution: {integrity: sha512-/ABshyj8gCpyIrNXnHn4LorDJ0HHm1VhXPBlxZ8zAtfVPAaSafXPGn+sUSIRiwaSBy0mmFjSjiXI5mkcwdChKQ==}
'@img/sharp-libvips-linux-s390x@1.3.3':
resolution: {integrity: sha512-neWLh+3yCNThxnfy3c4BbVBeGgt9aftno+XbT56iK28RgeDs3UOFWviLWlUu0bArYVYJaFDK+RRohbicUNCm8Q==}
cpu: [s390x]
os: [linux]
libc: [glibc]
'@img/sharp-libvips-linux-x64@1.3.2':
resolution: {integrity: sha512-ITPEtgffGJ0S6G9dRyw/366tJQqFRcHWPHhC+Stpg3Z8AEMrDrTr2lhdz4f/Y/HMbRh//7Z5mBzEpVdi62Oc3w==}
'@img/sharp-libvips-linux-x64@1.3.3':
resolution: {integrity: sha512-4vKmvAst9nrowcqquKFAyZJUDolUaIp8uRiN0mWFguJ1IplC9/pitXtlnnlU4aa/eJw3J7i67V+pwUL+wZGdsA==}
cpu: [x64]
os: [linux]
libc: [glibc]
'@img/sharp-libvips-linuxmusl-arm64@1.3.2':
resolution: {integrity: sha512-zE9EdiUzUmg5mDT5a1rk5fYJ6GWPloTwWBYDS14naqHsL+EaMpDj1AWnpLgh3u0YCORv2Tt50wrcrpYqkP97Kw==}
'@img/sharp-libvips-linuxmusl-arm64@1.3.3':
resolution: {integrity: sha512-Y9kQaLMuNoB0bPYOOdcZMaseNrFpPodIWWMrx+CZyydf2xn68j9WYc6sWWRrDwNkzCQjKYfc68L7jKjGlHMibw==}
cpu: [arm64]
os: [linux]
libc: [musl]
'@img/sharp-libvips-linuxmusl-x64@1.3.2':
resolution: {integrity: sha512-m0lrLiUt+lBYnCFr8qV/65yMR4E/c7/wf78I5eKTdkEakFAlZ9QlzEM3QIhhAwVeUhLAHLcCq7a7Vszq/oFNZQ==}
'@img/sharp-libvips-linuxmusl-x64@1.3.3':
resolution: {integrity: sha512-fj8Mv0HHfD1Rr+4I68+3agJynxDWtBFgicTbSOb9Bke6pIwzGcJ+RX/yHjmiEGFMCavY/dxvem7MyNaJF+wDiw==}
cpu: [x64]
os: [linux]
libc: [musl]
'@img/sharp-linux-arm64@0.35.3':
resolution: {integrity: sha512-QgKDspHPnrU+GQ55XPhGwyhC8acLVOOSyAvo1oVfFmrIXLkDNmGWzAfDZ4xK8oSA1qBQrALcHX0G5UZni/SuFQ==}
'@img/sharp-linux-arm64@0.35.4':
resolution: {integrity: sha512-De4jpEnAU8Hd5oT0j1G3uL4ZvTuipVMn7YC6vPaJhy6/7EwEae0SVAoBrUMYQbkLGDm85taVWwuPc1a44LTzCQ==}
engines: {node: '>=20.9.0'}
cpu: [arm64]
os: [linux]
libc: [glibc]
'@img/sharp-linux-arm@0.35.3':
resolution: {integrity: sha512-affVWCTLooy8TSxbDx2qkzuDeaWLNVBA+P//FNBirHsXpP2fuBhk5AuboYUnrDnzoXes8GFjpTx0SBFOCRg+FA==}
'@img/sharp-linux-arm@0.35.4':
resolution: {integrity: sha512-7OAS8gI0EReKGVN2HssHlM6umJgxF5VI3xN0p9FA91p/YO+ou5hiNghLdZ5BEHztwaaK5+bLKRf8x/o2L2nk9A==}
engines: {node: '>=20.9.0'}
cpu: [arm]
os: [linux]
libc: [glibc]
'@img/sharp-linux-ppc64@0.35.3':
resolution: {integrity: sha512-sMd8rDxmpLOwv/7N44klFjOD5DUO7FLdjiXDI0hoxYaf7Ar262dQIEkosE98bps+5HPLtp/EvNqeqQtOycP/IA==}
'@img/sharp-linux-ppc64@0.35.4':
resolution: {integrity: sha512-2oYZJeIl4kCcMGk4ouZVjnkCtFrpQFlNEtJ6GbxzhHQchwH0NH/qEb9ykmOl29dqwMq+JhFdZn+1ak2FKhI9fQ==}
engines: {node: '>=20.9.0'}
cpu: [ppc64]
os: [linux]
libc: [glibc]
'@img/sharp-linux-riscv64@0.35.3':
resolution: {integrity: sha512-0Eob78yjlYPfL5vMNWAW55l3R9Y6BQS/gOfe0ZcP9mEz9ohhKSt4im1hayiknXgf8AWrFqMvJcKIdmLmEe7yeQ==}
'@img/sharp-linux-riscv64@0.35.4':
resolution: {integrity: sha512-cPbNChoRURAWdebDIHSenxRpgEdy7JkPydSnUxRm9VvKD7m0/xVaR/8Fzlu81pk5nHEvHH87UZUA7cTtwnbJSA==}
engines: {node: '>=20.9.0'}
cpu: [riscv64]
os: [linux]
libc: [glibc]
'@img/sharp-linux-s390x@0.35.3':
resolution: {integrity: sha512-KgAxQ0DxpNOq1rG2t5cgTgShJFGSuU7XO45cqC+1NVOuZnP6tlgZRuSYOfNupGkHID0o3cJOsw4DVeJpMovcGw==}
'@img/sharp-linux-s390x@0.35.4':
resolution: {integrity: sha512-RY0JFY8Fd6RonCBtHz+DvadaPkXDSI1AUn6yWL9TipqkZ1vY8w8evqdgyDFnkm4/K1ve1TvZiaePP5oSd4+WVQ==}
engines: {node: '>=20.9.0'}
cpu: [s390x]
os: [linux]
libc: [glibc]
'@img/sharp-linux-x64@0.35.3':
resolution: {integrity: sha512-8pqvxubL2PGdhlPy6GLqzDYMUjyRmKAwKHYKixpdJYBUK7PJ0C029XdsnpFIdgRZG68fZiGdHVWcKPvtiPB4cA==}
'@img/sharp-linux-x64@0.35.4':
resolution: {integrity: sha512-9qvvEAuk8k89TfWUoX2htWjbAMX8p+NxCppjpcg5k6xMsjhBQPTsoIh36h9Qde4WRuGpJeYnOjdosDn/cnv+OA==}
engines: {node: '>=20.9.0'}
cpu: [x64]
os: [linux]
libc: [glibc]
'@img/sharp-linuxmusl-arm64@0.35.3':
resolution: {integrity: sha512-Vz0iQjzzcSX3HCbfwFfCSG/9SCIqyO0mH2sXyiHaAYfBk0cRsCWXRyQYX0ovCK/PAQBbTzQ0dsPQHh5MAFL59w==}
'@img/sharp-linuxmusl-arm64@0.35.4':
resolution: {integrity: sha512-KB5jxpfWQTr0nc3xdHtWChdbifHrBGsd2SM62Eyxrl8afikm+f5qGBU75SJIZBT/S1MC8XyacdlXBMSWq6OURA==}
engines: {node: '>=20.9.0'}
cpu: [arm64]
os: [linux]
libc: [musl]
'@img/sharp-linuxmusl-x64@0.35.3':
resolution: {integrity: sha512-6O1NPKcDVj9QEdg7Hx549EX8U0rp6yXQERqru6yRN7fGBn32UvIRJUlWnk+8xDCiG76hXVBbX82NZ/ZKr0euIg==}
'@img/sharp-linuxmusl-x64@0.35.4':
resolution: {integrity: sha512-f+eZJZIQNEEd26RPSW+76chwOf1XtA2Y/O+5ocVyLliHkeih3e+jhLVBdNTd2rS3IbNXK8+ug93Vf5ZXtF5Lxg==}
engines: {node: '>=20.9.0'}
cpu: [x64]
os: [linux]
libc: [musl]
'@img/sharp-wasm32@0.35.3':
resolution: {integrity: sha512-cZ0XkcYGpHZkqW6iCkqTcmUC0CD9DhD5d/qeZlZkfRBn6GnHniZXLUo5+9xw8Iv76YE6LQFN9YNBlKREcCG76w==}
'@img/sharp-wasm32@0.35.4':
resolution: {integrity: sha512-zQnl4Kwp7Q6NHsENtU2T/00Zi+w3AQNwz3+UaTyVBy2FpXrzXzGjndpK61onhZjRtRpQXxCTeqw19bVyXOh7jA==}
engines: {node: '>=20.9.0'}
'@img/sharp-webcontainers-wasm32@0.35.3':
resolution: {integrity: sha512-2rnq7bX3NzeR2T4YWgz8qiG4h3TSdMe+vN1iQXpJleSJ3SM5zQ8Fy2SyyXAWlbxpEZ2Y+Z4u1BePgJEYbSy80Q==}
'@img/sharp-webcontainers-wasm32@0.35.4':
resolution: {integrity: sha512-ESfNkywmCfPNyaZjxooddJQiQ+l/nTpGEOGthxiLnIHXC/CmcBixnfwUleX9mCz9ovrUUvKMap/pm8RYbzfwaA==}
engines: {node: '>=20.9.0'}
cpu: [wasm32]
'@img/sharp-win32-arm64@0.35.3':
resolution: {integrity: sha512-4bPwFdMbeC4JQ8L8LOyWp6nsHcboP5fxkp6iPOXz2Vg49R42TuMs2whkJ5OAP4/Ul035qOzy0AecOF9VOscn4w==}
'@img/sharp-win32-arm64@0.35.4':
resolution: {integrity: sha512-iNdlBX9gLVvqe2I3uIJSIKTq6wckP/DYxZtcqxm09x5Gi24DnFBmPAWZmr60ZyYMG0xlzo6goG3670ar+RXvRw==}
engines: {node: '>=20.9.0'}
cpu: [arm64]
os: [win32]
'@img/sharp-win32-ia32@0.35.3':
resolution: {integrity: sha512-r53mXsBN6lFUDiST764SvgwUdHAqM4rPAiDzAmf4fLoB6X/rkfyTrLCg6+g17wJJiCmB3JYgHuUldCWUIRFSXw==}
'@img/sharp-win32-ia32@0.35.4':
resolution: {integrity: sha512-kqRsbaa5CS6KHlpxnN7WhE6vAAugXyZButpRdvDWetlv6Qv4N9WTcrWzF7tXfB9T7MsoadqdI8hmwLq6UlLvtw==}
engines: {node: ^20.9.0}
cpu: [ia32]
os: [win32]
'@img/sharp-win32-x64@0.35.3':
resolution: {integrity: sha512-D4y1vNeZrIIJCN+uHaWVtH86B+aCrdMYYjicy9pXHvbGZeGYLLSd3wdVuC37FxVXlU1ARsk84eKWfWMXGYEqvA==}
'@img/sharp-win32-x64@0.35.4':
resolution: {integrity: sha512-XtmnYhBcrORsJ4XJngyzr/EWP0hRZLAZRFaApdKuviyqF78+ylxh2y06ZmtULAMOnObJ3ucpN0AcwSWnMowTRg==}
engines: {node: '>=20.9.0'}
cpu: [x64]
os: [win32]
@@ -1142,60 +1142,60 @@ packages:
'@emnapi/core': ^1.7.1
'@emnapi/runtime': ^1.7.1
'@next/env@16.2.12':
resolution: {integrity: sha512-d0Z5Bc13Fa4nR8pFAKx2jay2yhJM16vlfHbTzYnUQAxlNb6B6lmn4hjt69lYNt4kRtyYP6gEM49lPRHNbIyneg==}
'@next/env@16.3.6':
resolution: {integrity: sha512-x9Vblze1EbtltQYnNH38xCPWU3TVfBd1eXqA3+w9+BTpedkkdNpAaltXlGQ/nsc1+E0mVTNrtcbX3GoO09zeLQ==}
'@next/eslint-plugin-next@16.2.12':
resolution: {integrity: sha512-uF2z/qAK2q7B5/6CpnFcBRX6jOq5iCO+Uqh1UkJhXljX1JwLarLYhhoJadO6dPb6moTprOKewMXheBcbIoSbug==}
'@next/swc-darwin-arm64@16.2.12':
resolution: {integrity: sha512-0W1R0teHWJrqKX0FH20IzzIWAOuGtBxPGuObrxy1lE8hQvCFj49KE8a3WUg0D7sq6rn6zkM4c7YGUnhudBS6oA==}
'@next/swc-darwin-arm64@16.3.6':
resolution: {integrity: sha512-E/7GEqaUkt8mk/T8v9lAnrhzR06kdq1ZBkC12F8tAMkdIadwNp3H1KqHynDHrpcTlGCUdq/qu6vUL2aYVyYBdw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
'@next/swc-darwin-x64@16.2.12':
resolution: {integrity: sha512-Hy5Ls099+aFUmOLmIgPfLqNi6iCwhL3uQCssz5rWk+5Nkc6TUKCE83DY5BbNylfm3+mfwcSFnLRfrZDJhVxdtw==}
'@next/swc-darwin-x64@16.3.6':
resolution: {integrity: sha512-yBE893/nDWTlaiBD1p+qgt7NUen4U5R6FXyH0s67Npq1S3E0cVSef1WIXC2xBRgQvwAvJq6DnS6Y6PrY0cy4Ew==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
'@next/swc-linux-arm64-gnu@16.2.12':
resolution: {integrity: sha512-+YqU2h1cQkHsGfvjAsrSmst8UIFBibBGm5x3Xgel8NLMiDQtNOM4sM2GOEMvG5YiOBNeN/Ykk8cQC2S0Xrqljg==}
'@next/swc-linux-arm64-gnu@16.3.6':
resolution: {integrity: sha512-KJDpjBqBPYlvkivmyrp+Qys6k/7ksbqGQvRVc6ZEGfR+cjQxx+nUkJaWmNZJsmoOrqYNbaXByF8wa0lBwDhB3Q==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
libc: [glibc]
'@next/swc-linux-arm64-musl@16.2.12':
resolution: {integrity: sha512-0qjhiYBaKAqF63LA1ZWAAnKTzFUguAaZiRa5etMLGGPj/B6uEVjtIZldIzFEp3wHlB0koK6aTzqPtSdplTCjoA==}
'@next/swc-linux-arm64-musl@16.3.6':
resolution: {integrity: sha512-mqNg2K+hvWskSRb/QM+Ix412DvBsuSF0XV+frTSw5vmoucNnIlynFwKYew8D01bfATErMOM7Bujrf0BA5DRKFA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
libc: [musl]
'@next/swc-linux-x64-gnu@16.2.12':
resolution: {integrity: sha512-7A3q26W+h7gnA15uqBToNuDqBEFZZcqh0mW2mn4AJh/G5pdg2RVE3n4slzLEliASZFG3NmsbEzng/x2Sh09mBg==}
'@next/swc-linux-x64-gnu@16.3.6':
resolution: {integrity: sha512-nFncBNGAYouRHjRVaITs9beZRfhX4ssVwpnvPIAbkZVH6LtGoAVlH4bJ8Cnf9SOo9bsXgPFer/GdHtEE3JNOkw==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
libc: [glibc]
'@next/swc-linux-x64-musl@16.2.12':
resolution: {integrity: sha512-qSjL/uppm+cbh21s72Ss8gkiOhQ4dExWHNGOWy6eZV7STj5WsKehgxT61beSsOj+YYQuTplL376lOCdMQU5T8w==}
'@next/swc-linux-x64-musl@16.3.6':
resolution: {integrity: sha512-5Mf3cHDGR/Iz0ng2Bj3zUR3p5QS9YK3Hn2QiAfavFmyF48zwThAjpFoiTKNIcOHLYS4zEk+gzyJ/9deQ2ZB8yQ==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
libc: [musl]
'@next/swc-win32-arm64-msvc@16.2.12':
resolution: {integrity: sha512-X6hzsOUJac/e7AWSbn9gQ9nzHld1xWP5iyjHpYWvud8pufB679O1xg4JDyKr8Xd69Jvd+kM2Der6uftiZCmjYA==}
'@next/swc-win32-arm64-msvc@16.3.6':
resolution: {integrity: sha512-0jkJy0C2kbrJWTk4YLa3xk80pVBpx8FCHJym7CnUfDAXe/FWv5qT7SQJbR0KuemyxaEDlEx5WT4VQJoTW+/9Qw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
'@next/swc-win32-x64-msvc@16.2.12':
resolution: {integrity: sha512-F6fakeHuFTLOPt0bslQJdf+xtT+WIP9DVn/m4y1w1mRnVPyh3D/cNvzlRkxM444xfm+IvvYNSOrKiA2CDJ0Uxw==}
'@next/swc-win32-x64-msvc@16.3.6':
resolution: {integrity: sha512-/YXjI1e5OXcZ7YpxRwgP/1jAV/SBKTzeVKqN2mk7mLpcICsyn3Gl5+dIfDTJp70M0ccMhyMMRso4v6mPDCGepg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
@@ -1343,8 +1343,8 @@ packages:
'@standard-schema/spec@1.1.0':
resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==}
'@swc/helpers@0.5.15':
resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==}
'@swc/helpers@0.5.23':
resolution: {integrity: sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw==}
'@tailwindcss/node@4.3.3':
resolution: {integrity: sha512-/T8IKEsf9VTU6tLjgC7+sv2mOPtQxzE2jMw7u4Tt40Tx+QSZxpzh95/H6cMKoja9XuW7iMdLJYBB0o9G1CaAgg==}
@@ -2381,8 +2381,8 @@ packages:
fast-levenshtein@2.0.6:
resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
fast-uri@3.1.6:
resolution: {integrity: sha512-7Ical1vFEMr0onbVzEDIreM22I4khW+fzyQPwvAFWBp1iwdshSZRsL4jjRvPG9JP1uiqMHRto+YU6R2/CzDz5Q==}
fast-uri@3.1.7:
resolution: {integrity: sha512-dOvZVzjdZdz7phd9v6jCbwxrBW3fK6n8Rc0CtdmM4bumzMnxywBYhuph6J819RRw/ku+rLbelwfMunktuzVVHg==}
fastq@1.20.1:
resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==}
@@ -2949,8 +2949,8 @@ packages:
neo-async@2.6.2:
resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
next@16.2.12:
resolution: {integrity: sha512-iD59eYQWmbFcEbX7v/acG5DRym9iw1DdaPoD0WTA920naWsE25wShzJW4+UvAs8MK9EC2kBfIH6vtto1H1PHGw==}
next@16.3.6:
resolution: {integrity: sha512-L+otWM/aQbYTx98aZhgEoMb4bZAXx1YVW4UMA/vuCyCoWG5HJyZUili8QAkqzrcC+5///tsz3s0M+SlyB5bLMw==}
engines: {node: '>=20.9.0'}
hasBin: true
peerDependencies:
@@ -3221,8 +3221,8 @@ packages:
resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==}
engines: {node: '>= 0.4'}
sharp@0.35.3:
resolution: {integrity: sha512-ej0zVHuZGHCiABXcNxeYhpRnPNPAcvbG8RMdBAhDAxLKkCRVSpK3Iyu7qbqw3JMzoj0REeM6f3tJLtVwl0023Q==}
sharp@0.35.4:
resolution: {integrity: sha512-n++8XWcj+jCOr2IOl7h8LbKnGBDY4aPbmprMONBNFdn0ImXqpGVv5zliDs0V9HbmbCQLpbuo2ej9rAoOQTvMDA==}
engines: {node: '>=20.9.0'}
peerDependencies:
'@types/node': '*'
@@ -4022,108 +4022,108 @@ snapshots:
'@img/colour@1.1.0':
optional: true
'@img/sharp-darwin-arm64@0.35.3':
'@img/sharp-darwin-arm64@0.35.4':
optionalDependencies:
'@img/sharp-libvips-darwin-arm64': 1.3.2
'@img/sharp-libvips-darwin-arm64': 1.3.3
optional: true
'@img/sharp-darwin-x64@0.35.3':
'@img/sharp-darwin-x64@0.35.4':
optionalDependencies:
'@img/sharp-libvips-darwin-x64': 1.3.2
'@img/sharp-libvips-darwin-x64': 1.3.3
optional: true
'@img/sharp-freebsd-wasm32@0.35.3':
'@img/sharp-freebsd-wasm32@0.35.4':
dependencies:
'@img/sharp-wasm32': 0.35.3
'@img/sharp-wasm32': 0.35.4
optional: true
'@img/sharp-libvips-darwin-arm64@1.3.2':
'@img/sharp-libvips-darwin-arm64@1.3.3':
optional: true
'@img/sharp-libvips-darwin-x64@1.3.2':
'@img/sharp-libvips-darwin-x64@1.3.3':
optional: true
'@img/sharp-libvips-linux-arm64@1.3.2':
'@img/sharp-libvips-linux-arm64@1.3.3':
optional: true
'@img/sharp-libvips-linux-arm@1.3.2':
'@img/sharp-libvips-linux-arm@1.3.3':
optional: true
'@img/sharp-libvips-linux-ppc64@1.3.2':
'@img/sharp-libvips-linux-ppc64@1.3.3':
optional: true
'@img/sharp-libvips-linux-riscv64@1.3.2':
'@img/sharp-libvips-linux-riscv64@1.3.3':
optional: true
'@img/sharp-libvips-linux-s390x@1.3.2':
'@img/sharp-libvips-linux-s390x@1.3.3':
optional: true
'@img/sharp-libvips-linux-x64@1.3.2':
'@img/sharp-libvips-linux-x64@1.3.3':
optional: true
'@img/sharp-libvips-linuxmusl-arm64@1.3.2':
'@img/sharp-libvips-linuxmusl-arm64@1.3.3':
optional: true
'@img/sharp-libvips-linuxmusl-x64@1.3.2':
'@img/sharp-libvips-linuxmusl-x64@1.3.3':
optional: true
'@img/sharp-linux-arm64@0.35.3':
'@img/sharp-linux-arm64@0.35.4':
optionalDependencies:
'@img/sharp-libvips-linux-arm64': 1.3.2
'@img/sharp-libvips-linux-arm64': 1.3.3
optional: true
'@img/sharp-linux-arm@0.35.3':
'@img/sharp-linux-arm@0.35.4':
optionalDependencies:
'@img/sharp-libvips-linux-arm': 1.3.2
'@img/sharp-libvips-linux-arm': 1.3.3
optional: true
'@img/sharp-linux-ppc64@0.35.3':
'@img/sharp-linux-ppc64@0.35.4':
optionalDependencies:
'@img/sharp-libvips-linux-ppc64': 1.3.2
'@img/sharp-libvips-linux-ppc64': 1.3.3
optional: true
'@img/sharp-linux-riscv64@0.35.3':
'@img/sharp-linux-riscv64@0.35.4':
optionalDependencies:
'@img/sharp-libvips-linux-riscv64': 1.3.2
'@img/sharp-libvips-linux-riscv64': 1.3.3
optional: true
'@img/sharp-linux-s390x@0.35.3':
'@img/sharp-linux-s390x@0.35.4':
optionalDependencies:
'@img/sharp-libvips-linux-s390x': 1.3.2
'@img/sharp-libvips-linux-s390x': 1.3.3
optional: true
'@img/sharp-linux-x64@0.35.3':
'@img/sharp-linux-x64@0.35.4':
optionalDependencies:
'@img/sharp-libvips-linux-x64': 1.3.2
'@img/sharp-libvips-linux-x64': 1.3.3
optional: true
'@img/sharp-linuxmusl-arm64@0.35.3':
'@img/sharp-linuxmusl-arm64@0.35.4':
optionalDependencies:
'@img/sharp-libvips-linuxmusl-arm64': 1.3.2
'@img/sharp-libvips-linuxmusl-arm64': 1.3.3
optional: true
'@img/sharp-linuxmusl-x64@0.35.3':
'@img/sharp-linuxmusl-x64@0.35.4':
optionalDependencies:
'@img/sharp-libvips-linuxmusl-x64': 1.3.2
'@img/sharp-libvips-linuxmusl-x64': 1.3.3
optional: true
'@img/sharp-wasm32@0.35.3':
'@img/sharp-wasm32@0.35.4':
dependencies:
'@emnapi/runtime': 1.11.3
optional: true
'@img/sharp-webcontainers-wasm32@0.35.3':
'@img/sharp-webcontainers-wasm32@0.35.4':
dependencies:
'@img/sharp-wasm32': 0.35.3
'@img/sharp-wasm32': 0.35.4
optional: true
'@img/sharp-win32-arm64@0.35.3':
'@img/sharp-win32-arm64@0.35.4':
optional: true
'@img/sharp-win32-ia32@0.35.3':
'@img/sharp-win32-ia32@0.35.4':
optional: true
'@img/sharp-win32-x64@0.35.3':
'@img/sharp-win32-x64@0.35.4':
optional: true
'@jridgewell/gen-mapping@0.3.13':
@@ -4159,34 +4159,34 @@ snapshots:
'@tybys/wasm-util': 0.10.3
optional: true
'@next/env@16.2.12': {}
'@next/env@16.3.6': {}
'@next/eslint-plugin-next@16.2.12':
dependencies:
fast-glob: 3.3.1
'@next/swc-darwin-arm64@16.2.12':
'@next/swc-darwin-arm64@16.3.6':
optional: true
'@next/swc-darwin-x64@16.2.12':
'@next/swc-darwin-x64@16.3.6':
optional: true
'@next/swc-linux-arm64-gnu@16.2.12':
'@next/swc-linux-arm64-gnu@16.3.6':
optional: true
'@next/swc-linux-arm64-musl@16.2.12':
'@next/swc-linux-arm64-musl@16.3.6':
optional: true
'@next/swc-linux-x64-gnu@16.2.12':
'@next/swc-linux-x64-gnu@16.3.6':
optional: true
'@next/swc-linux-x64-musl@16.2.12':
'@next/swc-linux-x64-musl@16.3.6':
optional: true
'@next/swc-win32-arm64-msvc@16.2.12':
'@next/swc-win32-arm64-msvc@16.3.6':
optional: true
'@next/swc-win32-x64-msvc@16.2.12':
'@next/swc-win32-x64-msvc@16.3.6':
optional: true
'@noble/ciphers@2.2.0': {}
@@ -4272,7 +4272,7 @@ snapshots:
'@standard-schema/spec@1.1.0': {}
'@swc/helpers@0.5.15':
'@swc/helpers@0.5.23':
dependencies:
tslib: 2.8.1
@@ -4718,7 +4718,7 @@ snapshots:
ajv@8.20.0:
dependencies:
fast-deep-equal: 3.1.3
fast-uri: 3.1.6
fast-uri: 3.1.7
json-schema-traverse: 1.0.0
require-from-string: 2.0.2
@@ -4821,7 +4821,7 @@ snapshots:
baseline-browser-mapping@2.11.4: {}
better-auth@1.6.25(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(kysely@0.29.4)(postgres@3.4.9))(next@16.2.12(@babel/core@7.29.7)(@playwright/test@1.62.0)(@types/node@24.13.3)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(vitest@4.1.10(@types/node@24.13.3)(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(yaml@2.9.0))):
better-auth@1.6.25(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(kysely@0.29.4)(postgres@3.4.9))(next@16.3.6(@babel/core@7.29.7)(@playwright/test@1.62.0)(@types/node@24.13.3)(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(vitest@4.1.10(@types/node@24.13.3)(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(yaml@2.9.0))):
dependencies:
'@better-auth/core': 1.6.25(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.3.7(zod@4.4.3))(jose@6.2.4)(kysely@0.29.4)(nanostores@1.4.1)
'@better-auth/drizzle-adapter': 1.6.25(@better-auth/core@1.6.25(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.3.7(zod@4.4.3))(jose@6.2.4)(kysely@0.29.4)(nanostores@1.4.1))(@better-auth/utils@0.4.2)(drizzle-orm@0.45.2(kysely@0.29.4)(postgres@3.4.9))
@@ -4843,7 +4843,7 @@ snapshots:
optionalDependencies:
drizzle-kit: 0.31.10
drizzle-orm: 0.45.2(kysely@0.29.4)(postgres@3.4.9)
next: 16.2.12(@babel/core@7.29.7)(@playwright/test@1.62.0)(@types/node@24.13.3)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)
next: 16.3.6(@babel/core@7.29.7)(@playwright/test@1.62.0)(@types/node@24.13.3)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)
react: 19.2.8
react-dom: 19.2.8(react@19.2.8)
vitest: 4.1.10(@types/node@24.13.3)(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(yaml@2.9.0))
@@ -5412,7 +5412,7 @@ snapshots:
fast-levenshtein@2.0.6: {}
fast-uri@3.1.6: {}
fast-uri@3.1.7: {}
fastq@1.20.1:
dependencies:
@@ -5911,10 +5911,10 @@ snapshots:
neo-async@2.6.2: {}
next@16.2.12(@babel/core@7.29.7)(@playwright/test@1.62.0)(@types/node@24.13.3)(react-dom@19.2.8(react@19.2.8))(react@19.2.8):
next@16.3.6(@babel/core@7.29.7)(@playwright/test@1.62.0)(@types/node@24.13.3)(react-dom@19.2.8(react@19.2.8))(react@19.2.8):
dependencies:
'@next/env': 16.2.12
'@swc/helpers': 0.5.15
'@next/env': 16.3.6
'@swc/helpers': 0.5.23
baseline-browser-mapping: 2.11.4
caniuse-lite: 1.0.30001806
postcss: 8.5.23
@@ -5922,16 +5922,16 @@ snapshots:
react-dom: 19.2.8(react@19.2.8)
styled-jsx: 5.1.6(@babel/core@7.29.7)(react@19.2.8)
optionalDependencies:
'@next/swc-darwin-arm64': 16.2.12
'@next/swc-darwin-x64': 16.2.12
'@next/swc-linux-arm64-gnu': 16.2.12
'@next/swc-linux-arm64-musl': 16.2.12
'@next/swc-linux-x64-gnu': 16.2.12
'@next/swc-linux-x64-musl': 16.2.12
'@next/swc-win32-arm64-msvc': 16.2.12
'@next/swc-win32-x64-msvc': 16.2.12
'@next/swc-darwin-arm64': 16.3.6
'@next/swc-darwin-x64': 16.3.6
'@next/swc-linux-arm64-gnu': 16.3.6
'@next/swc-linux-arm64-musl': 16.3.6
'@next/swc-linux-x64-gnu': 16.3.6
'@next/swc-linux-x64-musl': 16.3.6
'@next/swc-win32-arm64-msvc': 16.3.6
'@next/swc-win32-x64-msvc': 16.3.6
'@playwright/test': 1.62.0
sharp: 0.35.3(@types/node@24.13.3)
sharp: 0.35.4(@types/node@24.13.3)
transitivePeerDependencies:
- '@babel/core'
- '@types/node'
@@ -6218,37 +6218,37 @@ snapshots:
es-errors: 1.3.0
es-object-atoms: 1.1.2
sharp@0.35.3(@types/node@24.13.3):
sharp@0.35.4(@types/node@24.13.3):
dependencies:
'@img/colour': 1.1.0
detect-libc: 2.1.2
semver: 7.8.5
optionalDependencies:
'@img/sharp-darwin-arm64': 0.35.3
'@img/sharp-darwin-x64': 0.35.3
'@img/sharp-freebsd-wasm32': 0.35.3
'@img/sharp-libvips-darwin-arm64': 1.3.2
'@img/sharp-libvips-darwin-x64': 1.3.2
'@img/sharp-libvips-linux-arm': 1.3.2
'@img/sharp-libvips-linux-arm64': 1.3.2
'@img/sharp-libvips-linux-ppc64': 1.3.2
'@img/sharp-libvips-linux-riscv64': 1.3.2
'@img/sharp-libvips-linux-s390x': 1.3.2
'@img/sharp-libvips-linux-x64': 1.3.2
'@img/sharp-libvips-linuxmusl-arm64': 1.3.2
'@img/sharp-libvips-linuxmusl-x64': 1.3.2
'@img/sharp-linux-arm': 0.35.3
'@img/sharp-linux-arm64': 0.35.3
'@img/sharp-linux-ppc64': 0.35.3
'@img/sharp-linux-riscv64': 0.35.3
'@img/sharp-linux-s390x': 0.35.3
'@img/sharp-linux-x64': 0.35.3
'@img/sharp-linuxmusl-arm64': 0.35.3
'@img/sharp-linuxmusl-x64': 0.35.3
'@img/sharp-webcontainers-wasm32': 0.35.3
'@img/sharp-win32-arm64': 0.35.3
'@img/sharp-win32-ia32': 0.35.3
'@img/sharp-win32-x64': 0.35.3
'@img/sharp-darwin-arm64': 0.35.4
'@img/sharp-darwin-x64': 0.35.4
'@img/sharp-freebsd-wasm32': 0.35.4
'@img/sharp-libvips-darwin-arm64': 1.3.3
'@img/sharp-libvips-darwin-x64': 1.3.3
'@img/sharp-libvips-linux-arm': 1.3.3
'@img/sharp-libvips-linux-arm64': 1.3.3
'@img/sharp-libvips-linux-ppc64': 1.3.3
'@img/sharp-libvips-linux-riscv64': 1.3.3
'@img/sharp-libvips-linux-s390x': 1.3.3
'@img/sharp-libvips-linux-x64': 1.3.3
'@img/sharp-libvips-linuxmusl-arm64': 1.3.3
'@img/sharp-libvips-linuxmusl-x64': 1.3.3
'@img/sharp-linux-arm': 0.35.4
'@img/sharp-linux-arm64': 0.35.4
'@img/sharp-linux-ppc64': 0.35.4
'@img/sharp-linux-riscv64': 0.35.4
'@img/sharp-linux-s390x': 0.35.4
'@img/sharp-linux-x64': 0.35.4
'@img/sharp-linuxmusl-arm64': 0.35.4
'@img/sharp-linuxmusl-x64': 0.35.4
'@img/sharp-webcontainers-wasm32': 0.35.4
'@img/sharp-win32-arm64': 0.35.4
'@img/sharp-win32-ia32': 0.35.4
'@img/sharp-win32-x64': 0.35.4
'@types/node': 24.13.3
optional: true
Regular → Executable
+1
View File
@@ -25,6 +25,7 @@ git -C "$ROOT_DIR" archive --format=tar HEAD | tar -xf - -C "$OUTPUT_DIR"
# Production deployment is private operational policy, not public source.
rm -f "$OUTPUT_DIR/.gitea/workflows/unraid-deploy.yml"
rm -f "$OUTPUT_DIR/.gitea/workflows/public-source-sync.yml"
for forbidden in \
'.env' '*.pem' '*.key' '*.p12' '*.pfx' '*.db' '*.sqlite' '*.sqlite3' \
Regular → Executable
View File
File mode changed.
View File
File mode changed.
+4 -1
View File
@@ -9,7 +9,10 @@ export default defineConfig({
'tests/integration/**/*.test.ts',
'packages/db/src/**/*.integration.test.ts',
],
env: { DEVRUNBOOK_DATABASE_INTEGRATION: 'true' },
env: {
DATABASE_URL: process.env.DATABASE_URL ?? '',
DEVRUNBOOK_DATABASE_INTEGRATION: 'true',
},
testTimeout: 30_000,
},
})