From 916b3054d8002a3bffc5ed908084219344d0cda9 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 18 Jan 2026 17:10:07 +0000 Subject: [PATCH 01/11] Initial plan From c98c75857ec693cd51022a5f4dd88b0c34a84645 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 18 Jan 2026 17:36:39 +0000 Subject: [PATCH 02/11] Add Fumadocs documentation site setup Co-authored-by: huangyiirene <7665279+huangyiirene@users.noreply.github.com> --- .gitignore | 9 +- app/docs/[[...slug]]/page.tsx | 41 +++ app/docs/layout.tsx | 23 ++ app/global.css | 2 + app/layout.config.tsx | 16 + app/layout.tsx | 13 + app/page.tsx | 5 + app/source.ts | 13 + next.config.mjs | 14 + package.json | 22 +- pnpm-lock.yaml | 671 ++++++++-------------------------- postcss.config.mjs | 9 + source.config.ts | 13 + tailwind.config.js | 14 + tsconfig.app.json | 27 ++ tsconfig.json | 47 ++- 16 files changed, 412 insertions(+), 527 deletions(-) create mode 100644 app/docs/[[...slug]]/page.tsx create mode 100644 app/docs/layout.tsx create mode 100644 app/global.css create mode 100644 app/layout.config.tsx create mode 100644 app/layout.tsx create mode 100644 app/page.tsx create mode 100644 app/source.ts create mode 100644 next.config.mjs create mode 100644 postcss.config.mjs create mode 100644 source.config.ts create mode 100644 tailwind.config.js create mode 100644 tsconfig.app.json diff --git a/.gitignore b/.gitignore index 1e941cef3..2701ebf03 100644 --- a/.gitignore +++ b/.gitignore @@ -41,4 +41,11 @@ temp/ packages/*/dist/ packages/*/*.tsbuildinfo -.next \ No newline at end of file +# Next.js +.next +out/ +next-env.d.ts +.vercel + +# Fumadocs +.source/ \ No newline at end of file diff --git a/app/docs/[[...slug]]/page.tsx b/app/docs/[[...slug]]/page.tsx new file mode 100644 index 000000000..6ce690e0b --- /dev/null +++ b/app/docs/[[...slug]]/page.tsx @@ -0,0 +1,41 @@ +import { source } from '@/app/source'; +import type { Metadata } from 'next'; +import { DocsPage, DocsBody } from 'fumadocs-ui/page'; +import { notFound } from 'next/navigation'; + +export default async function Page(props: { + params: Promise<{ slug?: string[] }>; +}) { + const params = await props.params; + const page = await source.getPage(params.slug ?? []); + if (!page) notFound(); + + const Content = (page.data as any).body; + + return ( + + +

{page.data.title}

+ {page.data.description &&

{page.data.description}

} + +
+
+ ); +} + +export async function generateStaticParams() { + return source.generateParams(); +} + +export async function generateMetadata(props: { + params: Promise<{ slug?: string[] }>; +}): Promise { + const params = await props.params; + const page = await source.getPage(params.slug ?? []); + if (!page) notFound(); + + return { + title: page.data.title, + description: page.data.description, + }; +} diff --git a/app/docs/layout.tsx b/app/docs/layout.tsx new file mode 100644 index 000000000..6efca4873 --- /dev/null +++ b/app/docs/layout.tsx @@ -0,0 +1,23 @@ +import { source } from '@/app/source'; +import type { Metadata } from 'next'; +import { DocsLayout } from 'fumadocs-ui/layouts/docs'; +import type { ReactNode } from 'react'; +import { baseOptions } from '@/app/layout.config'; + +export default function Layout({ children }: { children: ReactNode }) { + return ( + + {children} + + ); +} + +export function generateMetadata(): Metadata { + return { + title: { + default: 'ObjectStack Protocol', + template: '%s | ObjectStack Protocol', + }, + description: 'The Standard for Post-SaaS Operating Systems', + }; +} diff --git a/app/global.css b/app/global.css new file mode 100644 index 000000000..1ad97569a --- /dev/null +++ b/app/global.css @@ -0,0 +1,2 @@ +@import "tailwindcss"; +@import "fumadocs-ui/style.css"; diff --git a/app/layout.config.tsx b/app/layout.config.tsx new file mode 100644 index 000000000..52a3645ad --- /dev/null +++ b/app/layout.config.tsx @@ -0,0 +1,16 @@ +import type { BaseLayoutProps } from 'fumadocs-ui/layouts/shared'; + +export const baseOptions: BaseLayoutProps = { + nav: { + title: 'ObjectStack Protocol', + transparentMode: 'top', + }, + links: [ + { + text: 'Documentation', + url: '/docs', + active: 'nested-url', + }, + ], + githubUrl: 'https://github.com/objectstack-ai/spec', +}; diff --git a/app/layout.tsx b/app/layout.tsx new file mode 100644 index 000000000..1e30864de --- /dev/null +++ b/app/layout.tsx @@ -0,0 +1,13 @@ +import './global.css'; +import { RootProvider } from 'fumadocs-ui/provider/next'; +import type { ReactNode } from 'react'; + +export default function Layout({ children }: { children: ReactNode }) { + return ( + + + {children} + + + ); +} diff --git a/app/page.tsx b/app/page.tsx new file mode 100644 index 000000000..4393163a5 --- /dev/null +++ b/app/page.tsx @@ -0,0 +1,5 @@ +import { redirect } from 'next/navigation'; + +export default function HomePage() { + redirect('/docs'); +} diff --git a/app/source.ts b/app/source.ts new file mode 100644 index 000000000..757f61ceb --- /dev/null +++ b/app/source.ts @@ -0,0 +1,13 @@ +import { docs, meta } from '@/.source/server'; +import { loader } from 'fumadocs-core/source'; + +export const source = loader({ + baseUrl: '/docs', + source: { + files: docs.map((doc: any) => ({ + type: 'page' as const, + path: doc.path, + data: doc, + })), + } as any, +}); diff --git a/next.config.mjs b/next.config.mjs new file mode 100644 index 000000000..c8d35a2dd --- /dev/null +++ b/next.config.mjs @@ -0,0 +1,14 @@ +import { createMDX } from 'fumadocs-mdx/next'; + +const withMDX = createMDX(); + +/** @type {import('next').NextConfig} */ +const config = { + reactStrictMode: true, + output: 'standalone', + typescript: { + ignoreBuildErrors: false, + }, +}; + +export default withMDX(config); diff --git a/package.json b/package.json index 03765d9cc..327cdd74c 100644 --- a/package.json +++ b/package.json @@ -9,9 +9,9 @@ "clean": "pnpm -r --parallel clean && rm -rf dist", "version": "changeset version", "release": "pnpm run build && changeset publish", - "docs:dev": "objectdocs dev", - "docs:build": "objectdocs build", - "docs:start": "objectdocs start" + "docs:dev": "next dev", + "docs:build": "next build", + "docs:start": "next start" }, "keywords": [ "objectstack", @@ -24,18 +24,30 @@ "license": "Apache-2.0", "devDependencies": { "@changesets/cli": "^2.27.1", + "@tailwindcss/postcss": "^4.1.18", + "@tailwindcss/typography": "^0.5.19", "@types/node": "^20.10.0", - "typescript": "^5.3.0" + "@types/react": "^19.2.8", + "@types/react-dom": "^19.2.3", + "autoprefixer": "^10.4.23", + "fumadocs-core": "^16.4.7", + "fumadocs-mdx": "^14.2.5", + "fumadocs-ui": "^16.4.7", + "postcss": "^8.5.6", + "tailwindcss": "^4.0.0", + "typescript": "^5.3.0", + "zod": "4.3.5" }, "engines": { "node": ">=18.0.0" }, "packageManager": "pnpm@10.28.0", "dependencies": { - "@objectdocs/cli": "^0.2.11", "client-only": "^0.0.1", "lucide-react": "^0.562.0", "next": "^16.1.3", + "react": "^19.2.3", + "react-dom": "^19.2.3", "server-only": "^0.0.1" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 77f530064..17b3f5434 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,9 +8,6 @@ importers: .: dependencies: - '@objectdocs/cli': - specifier: ^0.2.11 - version: 0.2.11(zod@3.25.76) client-only: specifier: ^0.0.1 version: 0.0.1 @@ -20,6 +17,12 @@ importers: next: specifier: ^16.1.3 version: 16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + react: + specifier: ^19.2.3 + version: 19.2.3 + react-dom: + specifier: ^19.2.3 + version: 19.2.3(react@19.2.3) server-only: specifier: ^0.0.1 version: 0.0.1 @@ -27,12 +30,45 @@ importers: '@changesets/cli': specifier: ^2.27.1 version: 2.29.8(@types/node@20.19.30) + '@tailwindcss/postcss': + specifier: ^4.1.18 + version: 4.1.18 + '@tailwindcss/typography': + specifier: ^0.5.19 + version: 0.5.19(tailwindcss@4.0.0) '@types/node': specifier: ^20.10.0 version: 20.19.30 + '@types/react': + specifier: ^19.2.8 + version: 19.2.8 + '@types/react-dom': + specifier: ^19.2.3 + version: 19.2.3(@types/react@19.2.8) + autoprefixer: + specifier: ^10.4.23 + version: 10.4.23(postcss@8.5.6) + fumadocs-core: + specifier: ^16.4.7 + version: 16.4.7(@types/react@19.2.8)(lucide-react@0.562.0(react@19.2.3))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@4.3.5) + fumadocs-mdx: + specifier: ^14.2.5 + version: 14.2.5(@types/react@19.2.8)(fumadocs-core@16.4.7(@types/react@19.2.8)(lucide-react@0.562.0(react@19.2.3))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@4.3.5))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3) + fumadocs-ui: + specifier: ^16.4.7 + version: 16.4.7(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(fumadocs-core@16.4.7(@types/react@19.2.8)(lucide-react@0.562.0(react@19.2.3))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@4.3.5))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(tailwindcss@4.0.0) + postcss: + specifier: ^8.5.6 + version: 8.5.6 + tailwindcss: + specifier: ^4.0.0 + version: 4.0.0 typescript: specifier: ^5.3.0 version: 5.9.3 + zod: + specifier: 4.3.5 + version: 4.3.5 packages/spec: dependencies: @@ -549,13 +585,6 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@objectdocs/cli@0.2.11': - resolution: {integrity: sha512-bpzLeNwEed0rYmXjFmgwgX7MtVeK050wZJaXaCKe2r/V9044b9ZtdSgp1cxd5zoAHqcU9A2nO5vKn2855C3TZQ==} - hasBin: true - - '@objectdocs/site@0.2.11': - resolution: {integrity: sha512-DMh5+DlyDHie0AjSjmmiCua5a3suqWMiO3raxIPSYtmYHFUqBjAdHAS4sEjB9TaK9Zysl10/ZrSTrKVGOory2A==} - '@orama/orama@3.1.18': resolution: {integrity: sha512-a61ljmRVVyG5MC/698C8/FfFDw5a8LOIvyOLW5fztgUXqUpc1jOfQzOitSCbge657OgXXThmY3Tk8fpiDb4UcA==} engines: {node: '>= 20.0.0'} @@ -1046,6 +1075,11 @@ packages: '@tailwindcss/postcss@4.1.18': resolution: {integrity: sha512-Ce0GFnzAOuPyfV5SxjXGn0CubwGcuDB0zcdaPuCSzAa/2vII24JTkH+I6jcbXLb1ctjZMZZI6OjDaLPJQL1S0g==} + '@tailwindcss/typography@0.5.19': + resolution: {integrity: sha512-w31dd8HOx3k9vPtcQh5QHP9GwKcgbMp87j58qi6xgiBnFFtKEAgCWnDw4qUT8aHwkCp8bKvb/KGKWWHedP0AAg==} + peerDependencies: + tailwindcss: '>=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1' + '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} @@ -1067,20 +1101,16 @@ packages: '@types/ms@2.1.0': resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} - '@types/node-fetch@2.6.13': - resolution: {integrity: sha512-QGpRVpzSaUs30JBSGPjOg4Uveu384erbHBoT1zeONvyCfwQxIkUshLAOqN/k9EjGviPRmWTTe6aH2qySWKTVSw==} - '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@18.19.130': - resolution: {integrity: sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg==} - '@types/node@20.19.30': resolution: {integrity: sha512-WJtwWJu7UdlvzEAUm484QNg5eAoq5QR08KDNx7g45Usrs2NtOPiX8ugDqmKdXkyL03rBqU5dYNYVQetEpBHq2g==} - '@types/node@25.0.9': - resolution: {integrity: sha512-/rpCXHlCWeqClNBwUhDcusJxXYDjZTyE8v5oTO7WbL8eij2nKhUeU89/6xgjU7N4/Vh3He0BtyhJdQbDyhiXAw==} + '@types/react-dom@19.2.3': + resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==} + peerDependencies: + '@types/react': ^19.2.0 '@types/react@19.2.8': resolution: {integrity: sha512-3MbSL37jEchWZz2p2mjntRZtPt837ij10ApxKfgmXCTuHWagYg7iA5bqPw6C8BMPfwidlvfPI/fxOc42HLhcyg==} @@ -1094,10 +1124,6 @@ packages: '@ungap/structured-clone@1.3.0': resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} - abort-controller@3.0.0: - resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} - engines: {node: '>=6.5'} - acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -1108,10 +1134,6 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - agentkeepalive@4.6.0: - resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==} - engines: {node: '>= 8.0.0'} - ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} engines: {node: '>=6'} @@ -1138,9 +1160,6 @@ packages: resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} hasBin: true - asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - autoprefixer@10.4.23: resolution: {integrity: sha512-YYTXSFulfwytnjAPlw8QHncHJmlvFKtczb8InXaAx9Q0LbfDnfEYDE55omerIJKihhmU61Ft+cAOSzQVaBUmeA==} engines: {node: ^10 || ^12 || >=14} @@ -1168,14 +1187,6 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true - cac@6.7.14: - resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} - engines: {node: '>=8'} - - call-bind-apply-helpers@1.0.2: - resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} - engines: {node: '>= 0.4'} - caniuse-lite@1.0.30001764: resolution: {integrity: sha512-9JGuzl2M+vPL+pz70gtMF9sHdMFbY9FJaQBi186cHKH3pSzDvzoUJUPV6fqiKIMyXbud9ZLg4F3Yza1vJ1+93g==} @@ -1218,10 +1229,6 @@ packages: collapse-white-space@2.1.0: resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} - combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} - comma-separated-tokens@2.0.3: resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} @@ -1252,10 +1259,6 @@ packages: decode-named-character-reference@1.2.0: resolution: {integrity: sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==} - delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} - dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} @@ -1278,14 +1281,6 @@ packages: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} - dotenv@16.6.1: - resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==} - engines: {node: '>=12'} - - dunder-proto@1.0.1: - resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} - engines: {node: '>= 0.4'} - electron-to-chromium@1.5.267: resolution: {integrity: sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==} @@ -1297,22 +1292,6 @@ packages: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} - es-define-property@1.0.1: - resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} - engines: {node: '>= 0.4'} - - es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} - engines: {node: '>= 0.4'} - - es-object-atoms@1.1.1: - resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} - engines: {node: '>= 0.4'} - - es-set-tostringtag@2.1.0: - resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} - engines: {node: '>= 0.4'} - esast-util-from-estree@2.0.0: resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==} @@ -1361,10 +1340,6 @@ packages: estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} - event-target-shim@5.0.1: - resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} - engines: {node: '>=6'} - extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} @@ -1395,17 +1370,6 @@ packages: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} - form-data-encoder@1.7.2: - resolution: {integrity: sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==} - - form-data@4.0.5: - resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} - engines: {node: '>= 6'} - - formdata-node@4.4.1: - resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==} - engines: {node: '>= 12.20'} - fraction.js@5.3.4: resolution: {integrity: sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==} @@ -1505,21 +1469,10 @@ packages: tailwindcss: optional: true - function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - - get-intrinsic@1.3.0: - resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} - engines: {node: '>= 0.4'} - get-nonce@1.0.1: resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} engines: {node: '>=6'} - get-proto@1.0.1: - resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} - engines: {node: '>= 0.4'} - get-tsconfig@4.13.0: resolution: {integrity: sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==} @@ -1534,25 +1487,9 @@ packages: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} - gopd@1.2.0: - resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} - engines: {node: '>= 0.4'} - graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - has-symbols@1.1.0: - resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} - engines: {node: '>= 0.4'} - - has-tostringtag@1.0.2: - resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} - engines: {node: '>= 0.4'} - - hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} - engines: {node: '>= 0.4'} - hast-util-to-estree@3.1.3: resolution: {integrity: sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==} @@ -1575,9 +1512,6 @@ packages: resolution: {integrity: sha512-tsYlhAYpjCKa//8rXZ9DqKEawhPoSytweBC2eNvcaDK+57RZLHGqNs3PZTQO6yekLFSuvA6AlnAfrw1uBvtb+Q==} hasBin: true - humanize-ms@1.2.1: - resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} - iconv-lite@0.7.2: resolution: {integrity: sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==} engines: {node: '>=0.10.0'} @@ -1743,13 +1677,6 @@ packages: markdown-table@3.0.4: resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} - math-intrinsics@1.1.0: - resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} - engines: {node: '>= 0.4'} - - mdast-util-directive@3.1.0: - resolution: {integrity: sha512-I3fNFt+DHmpWCYAT7quoM6lHf9wuqtI+oCOfvILnoicNIqjh5E3dEJWiXuYME2gNe8vl1iMQwyUHa7bgFmak6Q==} - mdast-util-find-and-replace@3.0.2: resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} @@ -1805,9 +1732,6 @@ packages: micromark-core-commonmark@2.0.3: resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} - micromark-extension-directive@4.0.0: - resolution: {integrity: sha512-/C2nqVmXXmiseSSuCdItCMho7ybwwop6RrrRPk0KbOHW21JKoCldC+8rFOaundDoRBUWBnJJcxeA/Kvi34WQXg==} - micromark-extension-gfm-autolink-literal@2.1.0: resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} @@ -1914,14 +1838,6 @@ packages: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} - mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - - mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} @@ -1965,20 +1881,6 @@ packages: sass: optional: true - node-domexception@1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} - deprecated: Use your platform's native DOMException instead - - node-fetch@2.7.0: - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - node-releases@2.0.27: resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==} @@ -1992,18 +1894,6 @@ packages: oniguruma-to-es@4.3.4: resolution: {integrity: sha512-3VhUGN3w2eYxnTzHn+ikMI+fp/96KoRSVK9/kMTcFqj1NRDh2IhQCKvYxDnWePKRXY/AqH+Fuiyb7VHSzBjHfA==} - openai@4.104.0: - resolution: {integrity: sha512-p99EFNsA/yX6UhVO93f5kJsDRLAg+CTA2RBqdHK4RtK8u5IJw32Hyb2dTGKbnnFmnuoBv5r7Z2CURI9sGZpSuA==} - hasBin: true - peerDependencies: - ws: ^8.18.0 - zod: ^3.23.8 - peerDependenciesMeta: - ws: - optional: true - zod: - optional: true - outdent@0.5.0: resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} @@ -2063,6 +1953,10 @@ packages: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} + postcss-selector-parser@6.0.10: + resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} + engines: {node: '>=4'} + postcss-selector-parser@7.1.1: resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==} engines: {node: '>=4'} @@ -2171,9 +2065,6 @@ packages: rehype-recma@1.0.0: resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==} - remark-directive@4.0.0: - resolution: {integrity: sha512-7sxn4RfF1o3izevPV1DheyGDD6X4c9hrGpfdUpm7uC++dqrnJxIZVkk7CoKqcLm0VUMAuOol7Mno3m6g8cfMuA==} - remark-gfm@4.0.1: resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==} @@ -2296,6 +2187,9 @@ packages: tailwind-merge@3.4.0: resolution: {integrity: sha512-uSaO4gnW+b3Y2aWoWfFpX62vn2sR3skfhbjsEnaBI81WD1wBLlHZe5sWf0AqjksNdYTbGBEd0UasQMT3SNV15g==} + tailwindcss@4.0.0: + resolution: {integrity: sha512-ULRPI3A+e39T7pSaf1xoi58AqqJxVCLg8F/uM5A3FadUbnyDTgltVnXJvdkTjwCOGA6NazqHVcwPJC5h2vRYVQ==} + tailwindcss@4.1.18: resolution: {integrity: sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw==} @@ -2319,9 +2213,6 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} - tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - trim-lines@3.0.1: resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} @@ -2341,15 +2232,9 @@ packages: engines: {node: '>=14.17'} hasBin: true - undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} - undici-types@7.16.0: - resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} - unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} @@ -2413,16 +2298,6 @@ packages: vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - web-streams-polyfill@4.0.0-beta.3: - resolution: {integrity: sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==} - engines: {node: '>= 14'} - - webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - - whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -2701,9 +2576,9 @@ snapshots: '@formatjs/fast-memoize': 3.0.3 tslib: 2.8.1 - '@fumadocs/ui@16.4.7(@types/react@19.2.8)(fumadocs-core@16.4.7(@types/react@19.2.8)(lucide-react@0.562.0(react@19.2.3))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@3.25.76))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(tailwindcss@4.1.18)': + '@fumadocs/ui@16.4.7(@types/react@19.2.8)(fumadocs-core@16.4.7(@types/react@19.2.8)(lucide-react@0.562.0(react@19.2.3))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@4.3.5))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(tailwindcss@4.0.0)': dependencies: - fumadocs-core: 16.4.7(@types/react@19.2.8)(lucide-react@0.562.0(react@19.2.3))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@3.25.76) + fumadocs-core: 16.4.7(@types/react@19.2.8)(lucide-react@0.562.0(react@19.2.3))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@4.3.5) next-themes: 0.4.6(react-dom@19.2.3(react@19.2.3))(react@19.2.3) postcss-selector-parser: 7.1.1 react: 19.2.3 @@ -2712,7 +2587,7 @@ snapshots: optionalDependencies: '@types/react': 19.2.8 next: 16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - tailwindcss: 4.1.18 + tailwindcss: 4.0.0 '@img/colour@1.0.0': optional: true @@ -2921,136 +2796,65 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.20.1 - '@objectdocs/cli@0.2.11(zod@3.25.76)': - dependencies: - '@objectdocs/site': 0.2.11(zod@3.25.76) - '@types/node': 25.0.9 - cac: 6.7.14 - dotenv: 16.6.1 - openai: 4.104.0(zod@3.25.76) - typescript: 5.9.3 - transitivePeerDependencies: - - '@babel/core' - - '@fumadocs/mdx-remote' - - '@mixedbread/sdk' - - '@opentelemetry/api' - - '@orama/core' - - '@oramacloud/client' - - '@playwright/test' - - '@tanstack/react-router' - - '@types/react-dom' - - algoliasearch - - babel-plugin-macros - - babel-plugin-react-compiler - - encoding - - react-router - - sass - - supports-color - - vite - - waku - - ws - - zod - - '@objectdocs/site@0.2.11(zod@3.25.76)': - dependencies: - '@fumadocs/ui': 16.4.7(@types/react@19.2.8)(fumadocs-core@16.4.7(@types/react@19.2.8)(lucide-react@0.562.0(react@19.2.3))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@3.25.76))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(tailwindcss@4.1.18) - '@tailwindcss/postcss': 4.1.18 - '@types/mdx': 2.0.13 - '@types/node': 25.0.9 - '@types/react': 19.2.8 - autoprefixer: 10.4.23(postcss@8.5.6) - client-only: 0.0.1 - dotenv: 16.6.1 - fumadocs-core: 16.4.7(@types/react@19.2.8)(lucide-react@0.562.0(react@19.2.3))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@3.25.76) - fumadocs-mdx: 14.2.5(@types/react@19.2.8)(fumadocs-core@16.4.7(@types/react@19.2.8)(lucide-react@0.562.0(react@19.2.3))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@3.25.76))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3) - fumadocs-ui: 16.4.7(@types/react@19.2.8)(fumadocs-core@16.4.7(@types/react@19.2.8)(lucide-react@0.562.0(react@19.2.3))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@3.25.76))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(tailwindcss@4.1.18) - lucide-react: 0.562.0(react@19.2.3) - next: 16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - openai: 4.104.0(zod@3.25.76) - postcss: 8.5.6 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - remark-directive: 4.0.0 - server-only: 0.0.1 - tailwindcss: 4.1.18 - typescript: 5.9.3 - transitivePeerDependencies: - - '@babel/core' - - '@fumadocs/mdx-remote' - - '@mixedbread/sdk' - - '@opentelemetry/api' - - '@orama/core' - - '@oramacloud/client' - - '@playwright/test' - - '@tanstack/react-router' - - '@types/react-dom' - - algoliasearch - - babel-plugin-macros - - babel-plugin-react-compiler - - encoding - - react-router - - sass - - supports-color - - vite - - waku - - ws - - zod - '@orama/orama@3.1.18': {} '@radix-ui/number@1.1.1': {} '@radix-ui/primitive@1.1.3': {} - '@radix-ui/react-accordion@1.2.12(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-accordion@1.2.12(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collapsible': 1.1.12(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-collection': 1.1.7(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-collapsible': 1.1.12(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.8)(react@19.2.3) '@radix-ui/react-context': 1.1.2(@types/react@19.2.8)(react@19.2.3) '@radix-ui/react-direction': 1.1.1(@types/react@19.2.8)(react@19.2.3) '@radix-ui/react-id': 1.1.1(@types/react@19.2.8)(react@19.2.3) - '@radix-ui/react-primitive': 2.1.3(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.8)(react@19.2.3) react: 19.2.3 react-dom: 19.2.3(react@19.2.3) optionalDependencies: '@types/react': 19.2.8 + '@types/react-dom': 19.2.3(@types/react@19.2.8) - '@radix-ui/react-arrow@1.1.7(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-arrow@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) react: 19.2.3 react-dom: 19.2.3(react@19.2.3) optionalDependencies: '@types/react': 19.2.8 + '@types/react-dom': 19.2.3(@types/react@19.2.8) - '@radix-ui/react-collapsible@1.1.12(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-collapsible@1.1.12(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: '@radix-ui/primitive': 1.1.3 '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.8)(react@19.2.3) '@radix-ui/react-context': 1.1.2(@types/react@19.2.8)(react@19.2.3) '@radix-ui/react-id': 1.1.1(@types/react@19.2.8)(react@19.2.3) - '@radix-ui/react-presence': 1.1.5(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-primitive': 2.1.3(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.8)(react@19.2.3) '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.8)(react@19.2.3) react: 19.2.3 react-dom: 19.2.3(react@19.2.3) optionalDependencies: '@types/react': 19.2.8 + '@types/react-dom': 19.2.3(@types/react@19.2.8) - '@radix-ui/react-collection@1.1.7(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-collection@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.8)(react@19.2.3) '@radix-ui/react-context': 1.1.2(@types/react@19.2.8)(react@19.2.3) - '@radix-ui/react-primitive': 2.1.3(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-slot': 1.2.3(@types/react@19.2.8)(react@19.2.3) react: 19.2.3 react-dom: 19.2.3(react@19.2.3) optionalDependencies: '@types/react': 19.2.8 + '@types/react-dom': 19.2.3(@types/react@19.2.8) '@radix-ui/react-compose-refs@1.1.2(@types/react@19.2.8)(react@19.2.3)': dependencies: @@ -3064,18 +2868,18 @@ snapshots: optionalDependencies: '@types/react': 19.2.8 - '@radix-ui/react-dialog@1.1.15(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-dialog@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: '@radix-ui/primitive': 1.1.3 '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.8)(react@19.2.3) '@radix-ui/react-context': 1.1.2(@types/react@19.2.8)(react@19.2.3) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.8)(react@19.2.3) - '@radix-ui/react-focus-scope': 1.1.7(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-id': 1.1.1(@types/react@19.2.8)(react@19.2.3) - '@radix-ui/react-portal': 1.1.9(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-presence': 1.1.5(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-primitive': 2.1.3(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-slot': 1.2.3(@types/react@19.2.8)(react@19.2.3) '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.8)(react@19.2.3) aria-hidden: 1.2.6 @@ -3084,6 +2888,7 @@ snapshots: react-remove-scroll: 2.7.2(@types/react@19.2.8)(react@19.2.3) optionalDependencies: '@types/react': 19.2.8 + '@types/react-dom': 19.2.3(@types/react@19.2.8) '@radix-ui/react-direction@1.1.1(@types/react@19.2.8)(react@19.2.3)': dependencies: @@ -3091,17 +2896,18 @@ snapshots: optionalDependencies: '@types/react': 19.2.8 - '@radix-ui/react-dismissable-layer@1.1.11(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: '@radix-ui/primitive': 1.1.3 '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.8)(react@19.2.3) - '@radix-ui/react-primitive': 2.1.3(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.8)(react@19.2.3) '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.2.8)(react@19.2.3) react: 19.2.3 react-dom: 19.2.3(react@19.2.3) optionalDependencies: '@types/react': 19.2.8 + '@types/react-dom': 19.2.3(@types/react@19.2.8) '@radix-ui/react-focus-guards@1.1.3(@types/react@19.2.8)(react@19.2.3)': dependencies: @@ -3109,15 +2915,16 @@ snapshots: optionalDependencies: '@types/react': 19.2.8 - '@radix-ui/react-focus-scope@1.1.7(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.8)(react@19.2.3) - '@radix-ui/react-primitive': 2.1.3(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.8)(react@19.2.3) react: 19.2.3 react-dom: 19.2.3(react@19.2.3) optionalDependencies: '@types/react': 19.2.8 + '@types/react-dom': 19.2.3(@types/react@19.2.8) '@radix-ui/react-id@1.1.1(@types/react@19.2.8)(react@19.2.3)': dependencies: @@ -3126,40 +2933,41 @@ snapshots: optionalDependencies: '@types/react': 19.2.8 - '@radix-ui/react-navigation-menu@1.2.14(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-navigation-menu@1.2.14(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.8)(react@19.2.3) '@radix-ui/react-context': 1.1.2(@types/react@19.2.8)(react@19.2.3) '@radix-ui/react-direction': 1.1.1(@types/react@19.2.8)(react@19.2.3) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-id': 1.1.1(@types/react@19.2.8)(react@19.2.3) - '@radix-ui/react-presence': 1.1.5(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-primitive': 2.1.3(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.8)(react@19.2.3) '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.8)(react@19.2.3) '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.8)(react@19.2.3) '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.8)(react@19.2.3) - '@radix-ui/react-visually-hidden': 1.2.3(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) react: 19.2.3 react-dom: 19.2.3(react@19.2.3) optionalDependencies: '@types/react': 19.2.8 + '@types/react-dom': 19.2.3(@types/react@19.2.8) - '@radix-ui/react-popover@1.1.15(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: '@radix-ui/primitive': 1.1.3 '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.8)(react@19.2.3) '@radix-ui/react-context': 1.1.2(@types/react@19.2.8)(react@19.2.3) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.8)(react@19.2.3) - '@radix-ui/react-focus-scope': 1.1.7(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-id': 1.1.1(@types/react@19.2.8)(react@19.2.3) - '@radix-ui/react-popper': 1.2.8(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-portal': 1.1.9(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-presence': 1.1.5(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-primitive': 2.1.3(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-slot': 1.2.3(@types/react@19.2.8)(react@19.2.3) '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.8)(react@19.2.3) aria-hidden: 1.2.6 @@ -3168,14 +2976,15 @@ snapshots: react-remove-scroll: 2.7.2(@types/react@19.2.8)(react@19.2.3) optionalDependencies: '@types/react': 19.2.8 + '@types/react-dom': 19.2.3(@types/react@19.2.8) - '@radix-ui/react-popper@1.2.8(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-popper@1.2.8(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: '@floating-ui/react-dom': 2.1.6(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-arrow': 1.1.7(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-arrow': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.8)(react@19.2.3) '@radix-ui/react-context': 1.1.2(@types/react@19.2.8)(react@19.2.3) - '@radix-ui/react-primitive': 2.1.3(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.8)(react@19.2.3) '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.8)(react@19.2.3) '@radix-ui/react-use-rect': 1.1.1(@types/react@19.2.8)(react@19.2.3) @@ -3185,17 +2994,19 @@ snapshots: react-dom: 19.2.3(react@19.2.3) optionalDependencies: '@types/react': 19.2.8 + '@types/react-dom': 19.2.3(@types/react@19.2.8) - '@radix-ui/react-portal@1.1.9(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-portal@1.1.9(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.8)(react@19.2.3) react: 19.2.3 react-dom: 19.2.3(react@19.2.3) optionalDependencies: '@types/react': 19.2.8 + '@types/react-dom': 19.2.3(@types/react@19.2.8) - '@radix-ui/react-presence@1.1.5(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-presence@1.1.5(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.8)(react@19.2.3) '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.8)(react@19.2.3) @@ -3203,46 +3014,50 @@ snapshots: react-dom: 19.2.3(react@19.2.3) optionalDependencies: '@types/react': 19.2.8 + '@types/react-dom': 19.2.3(@types/react@19.2.8) - '@radix-ui/react-primitive@2.1.3(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: '@radix-ui/react-slot': 1.2.3(@types/react@19.2.8)(react@19.2.3) react: 19.2.3 react-dom: 19.2.3(react@19.2.3) optionalDependencies: '@types/react': 19.2.8 + '@types/react-dom': 19.2.3(@types/react@19.2.8) - '@radix-ui/react-roving-focus@1.1.11(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-roving-focus@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.8)(react@19.2.3) '@radix-ui/react-context': 1.1.2(@types/react@19.2.8)(react@19.2.3) '@radix-ui/react-direction': 1.1.1(@types/react@19.2.8)(react@19.2.3) '@radix-ui/react-id': 1.1.1(@types/react@19.2.8)(react@19.2.3) - '@radix-ui/react-primitive': 2.1.3(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.8)(react@19.2.3) '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.8)(react@19.2.3) react: 19.2.3 react-dom: 19.2.3(react@19.2.3) optionalDependencies: '@types/react': 19.2.8 + '@types/react-dom': 19.2.3(@types/react@19.2.8) - '@radix-ui/react-scroll-area@1.2.10(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-scroll-area@1.2.10(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: '@radix-ui/number': 1.1.1 '@radix-ui/primitive': 1.1.3 '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.8)(react@19.2.3) '@radix-ui/react-context': 1.1.2(@types/react@19.2.8)(react@19.2.3) '@radix-ui/react-direction': 1.1.1(@types/react@19.2.8)(react@19.2.3) - '@radix-ui/react-presence': 1.1.5(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-primitive': 2.1.3(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.8)(react@19.2.3) '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.8)(react@19.2.3) react: 19.2.3 react-dom: 19.2.3(react@19.2.3) optionalDependencies: '@types/react': 19.2.8 + '@types/react-dom': 19.2.3(@types/react@19.2.8) '@radix-ui/react-slot@1.2.3(@types/react@19.2.8)(react@19.2.3)': dependencies: @@ -3258,20 +3073,21 @@ snapshots: optionalDependencies: '@types/react': 19.2.8 - '@radix-ui/react-tabs@1.1.13(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-tabs@1.1.13(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: '@radix-ui/primitive': 1.1.3 '@radix-ui/react-context': 1.1.2(@types/react@19.2.8)(react@19.2.3) '@radix-ui/react-direction': 1.1.1(@types/react@19.2.8)(react@19.2.3) '@radix-ui/react-id': 1.1.1(@types/react@19.2.8)(react@19.2.3) - '@radix-ui/react-presence': 1.1.5(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-primitive': 2.1.3(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-roving-focus': 1.1.11(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.8)(react@19.2.3) react: 19.2.3 react-dom: 19.2.3(react@19.2.3) optionalDependencies: '@types/react': 19.2.8 + '@types/react-dom': 19.2.3(@types/react@19.2.8) '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.2.8)(react@19.2.3)': dependencies: @@ -3327,13 +3143,14 @@ snapshots: optionalDependencies: '@types/react': 19.2.8 - '@radix-ui/react-visually-hidden@1.2.3(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) react: 19.2.3 react-dom: 19.2.3(react@19.2.3) optionalDependencies: '@types/react': 19.2.8 + '@types/react-dom': 19.2.3(@types/react@19.2.8) '@radix-ui/rect@1.1.1': {} @@ -3459,6 +3276,11 @@ snapshots: postcss: 8.5.6 tailwindcss: 4.1.18 + '@tailwindcss/typography@0.5.19(tailwindcss@4.0.0)': + dependencies: + postcss-selector-parser: 6.0.10 + tailwindcss: 4.0.0 + '@types/debug@4.1.12': dependencies: '@types/ms': 2.1.0 @@ -3481,24 +3303,15 @@ snapshots: '@types/ms@2.1.0': {} - '@types/node-fetch@2.6.13': - dependencies: - '@types/node': 20.19.30 - form-data: 4.0.5 - '@types/node@12.20.55': {} - '@types/node@18.19.130': - dependencies: - undici-types: 5.26.5 - '@types/node@20.19.30': dependencies: undici-types: 6.21.0 - '@types/node@25.0.9': + '@types/react-dom@19.2.3(@types/react@19.2.8)': dependencies: - undici-types: 7.16.0 + '@types/react': 19.2.8 '@types/react@19.2.8': dependencies: @@ -3510,20 +3323,12 @@ snapshots: '@ungap/structured-clone@1.3.0': {} - abort-controller@3.0.0: - dependencies: - event-target-shim: 5.0.1 - acorn-jsx@5.3.2(acorn@8.15.0): dependencies: acorn: 8.15.0 acorn@8.15.0: {} - agentkeepalive@4.6.0: - dependencies: - humanize-ms: 1.2.1 - ansi-colors@4.1.3: {} ansi-regex@5.0.1: {} @@ -3542,8 +3347,6 @@ snapshots: astring@1.9.0: {} - asynckit@0.4.0: {} - autoprefixer@10.4.23(postcss@8.5.6): dependencies: browserslist: 4.28.1 @@ -3573,13 +3376,6 @@ snapshots: node-releases: 2.0.27 update-browserslist-db: 1.2.3(browserslist@4.28.1) - cac@6.7.14: {} - - call-bind-apply-helpers@1.0.2: - dependencies: - es-errors: 1.3.0 - function-bind: 1.1.2 - caniuse-lite@1.0.30001764: {} ccount@2.0.1: {} @@ -3610,10 +3406,6 @@ snapshots: collapse-white-space@2.1.0: {} - combined-stream@1.0.8: - dependencies: - delayed-stream: 1.0.0 - comma-separated-tokens@2.0.3: {} compute-scroll-into-view@3.1.1: {} @@ -3636,8 +3428,6 @@ snapshots: dependencies: character-entities: 2.0.2 - delayed-stream@1.0.0: {} - dequal@2.0.3: {} detect-indent@6.1.0: {} @@ -3654,14 +3444,6 @@ snapshots: dependencies: path-type: 4.0.0 - dotenv@16.6.1: {} - - dunder-proto@1.0.1: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-errors: 1.3.0 - gopd: 1.2.0 - electron-to-chromium@1.5.267: {} enhanced-resolve@5.18.4: @@ -3674,21 +3456,6 @@ snapshots: ansi-colors: 4.1.3 strip-ansi: 6.0.1 - es-define-property@1.0.1: {} - - es-errors@1.3.0: {} - - es-object-atoms@1.1.1: - dependencies: - es-errors: 1.3.0 - - es-set-tostringtag@2.1.0: - dependencies: - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - has-tostringtag: 1.0.2 - hasown: 2.0.2 - esast-util-from-estree@2.0.0: dependencies: '@types/estree-jsx': 1.0.5 @@ -3775,8 +3542,6 @@ snapshots: dependencies: '@types/estree': 1.0.8 - event-target-shim@5.0.1: {} - extend@3.0.2: {} extendable-error@0.1.7: {} @@ -3806,21 +3571,6 @@ snapshots: locate-path: 5.0.0 path-exists: 4.0.0 - form-data-encoder@1.7.2: {} - - form-data@4.0.5: - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - es-set-tostringtag: 2.1.0 - hasown: 2.0.2 - mime-types: 2.1.35 - - formdata-node@4.4.1: - dependencies: - node-domexception: 1.0.0 - web-streams-polyfill: 4.0.0-beta.3 - fraction.js@5.3.4: {} fs-extra@7.0.1: @@ -3838,7 +3588,7 @@ snapshots: fsevents@2.3.3: optional: true - fumadocs-core@16.4.7(@types/react@19.2.8)(lucide-react@0.562.0(react@19.2.3))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@3.25.76): + fumadocs-core@16.4.7(@types/react@19.2.8)(lucide-react@0.562.0(react@19.2.3))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@4.3.5): dependencies: '@formatjs/intl-localematcher': 0.7.5 '@orama/orama': 3.1.18 @@ -3865,18 +3615,18 @@ snapshots: next: 16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3) react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - zod: 3.25.76 + zod: 4.3.5 transitivePeerDependencies: - supports-color - fumadocs-mdx@14.2.5(@types/react@19.2.8)(fumadocs-core@16.4.7(@types/react@19.2.8)(lucide-react@0.562.0(react@19.2.3))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@3.25.76))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3): + fumadocs-mdx@14.2.5(@types/react@19.2.8)(fumadocs-core@16.4.7(@types/react@19.2.8)(lucide-react@0.562.0(react@19.2.3))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@4.3.5))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3): dependencies: '@mdx-js/mdx': 3.1.1 '@standard-schema/spec': 1.1.0 chokidar: 5.0.0 esbuild: 0.27.2 estree-util-value-to-estree: 3.5.0 - fumadocs-core: 16.4.7(@types/react@19.2.8)(lucide-react@0.562.0(react@19.2.3))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@3.25.76) + fumadocs-core: 16.4.7(@types/react@19.2.8)(lucide-react@0.562.0(react@19.2.3))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@4.3.5) js-yaml: 4.1.1 mdast-util-to-markdown: 2.1.2 picocolors: 1.1.1 @@ -3896,21 +3646,21 @@ snapshots: transitivePeerDependencies: - supports-color - fumadocs-ui@16.4.7(@types/react@19.2.8)(fumadocs-core@16.4.7(@types/react@19.2.8)(lucide-react@0.562.0(react@19.2.3))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@3.25.76))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(tailwindcss@4.1.18): + fumadocs-ui@16.4.7(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(fumadocs-core@16.4.7(@types/react@19.2.8)(lucide-react@0.562.0(react@19.2.3))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@4.3.5))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(tailwindcss@4.0.0): dependencies: - '@fumadocs/ui': 16.4.7(@types/react@19.2.8)(fumadocs-core@16.4.7(@types/react@19.2.8)(lucide-react@0.562.0(react@19.2.3))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@3.25.76))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(tailwindcss@4.1.18) - '@radix-ui/react-accordion': 1.2.12(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-collapsible': 1.1.12(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-dialog': 1.1.15(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@fumadocs/ui': 16.4.7(@types/react@19.2.8)(fumadocs-core@16.4.7(@types/react@19.2.8)(lucide-react@0.562.0(react@19.2.3))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@4.3.5))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(tailwindcss@4.0.0) + '@radix-ui/react-accordion': 1.2.12(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-collapsible': 1.1.12(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-direction': 1.1.1(@types/react@19.2.8)(react@19.2.3) - '@radix-ui/react-navigation-menu': 1.2.14(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-popover': 1.1.15(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-presence': 1.1.5(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@radix-ui/react-scroll-area': 1.2.10(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-navigation-menu': 1.2.14(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-popover': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-scroll-area': 1.2.10(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-slot': 1.2.4(@types/react@19.2.8)(react@19.2.3) - '@radix-ui/react-tabs': 1.1.13(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + '@radix-ui/react-tabs': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) class-variance-authority: 0.7.1 - fumadocs-core: 16.4.7(@types/react@19.2.8)(lucide-react@0.562.0(react@19.2.3))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@3.25.76) + fumadocs-core: 16.4.7(@types/react@19.2.8)(lucide-react@0.562.0(react@19.2.3))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@4.3.5) lucide-react: 0.562.0(react@19.2.3) next-themes: 0.4.6(react-dom@19.2.3(react@19.2.3))(react@19.2.3) react: 19.2.3 @@ -3920,32 +3670,12 @@ snapshots: optionalDependencies: '@types/react': 19.2.8 next: 16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - tailwindcss: 4.1.18 + tailwindcss: 4.0.0 transitivePeerDependencies: - '@types/react-dom' - function-bind@1.1.2: {} - - get-intrinsic@1.3.0: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-define-property: 1.0.1 - es-errors: 1.3.0 - es-object-atoms: 1.1.1 - function-bind: 1.1.2 - get-proto: 1.0.1 - gopd: 1.2.0 - has-symbols: 1.1.0 - hasown: 2.0.2 - math-intrinsics: 1.1.0 - get-nonce@1.0.1: {} - get-proto@1.0.1: - dependencies: - dunder-proto: 1.0.1 - es-object-atoms: 1.1.1 - get-tsconfig@4.13.0: dependencies: resolve-pkg-maps: 1.0.0 @@ -3965,20 +3695,8 @@ snapshots: merge2: 1.4.1 slash: 3.0.0 - gopd@1.2.0: {} - graceful-fs@4.2.11: {} - has-symbols@1.1.0: {} - - has-tostringtag@1.0.2: - dependencies: - has-symbols: 1.1.0 - - hasown@2.0.2: - dependencies: - function-bind: 1.1.2 - hast-util-to-estree@3.1.3: dependencies: '@types/estree': 1.0.8 @@ -4046,10 +3764,6 @@ snapshots: human-id@4.1.3: {} - humanize-ms@1.2.1: - dependencies: - ms: 2.1.3 - iconv-lite@0.7.2: dependencies: safer-buffer: 2.1.2 @@ -4173,22 +3887,6 @@ snapshots: markdown-table@3.0.4: {} - math-intrinsics@1.1.0: {} - - mdast-util-directive@3.1.0: - dependencies: - '@types/mdast': 4.0.4 - '@types/unist': 3.0.3 - ccount: 2.0.1 - devlop: 1.1.0 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 - parse-entities: 4.0.2 - stringify-entities: 4.0.4 - unist-util-visit-parents: 6.0.2 - transitivePeerDependencies: - - supports-color - mdast-util-find-and-replace@3.0.2: dependencies: '@types/mdast': 4.0.4 @@ -4373,16 +4071,6 @@ snapshots: micromark-util-symbol: 2.0.1 micromark-util-types: 2.0.2 - micromark-extension-directive@4.0.0: - dependencies: - devlop: 1.1.0 - micromark-factory-space: 2.0.1 - micromark-factory-whitespace: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - parse-entities: 4.0.2 - micromark-extension-gfm-autolink-literal@2.1.0: dependencies: micromark-util-character: 2.1.1 @@ -4633,12 +4321,6 @@ snapshots: braces: 3.0.3 picomatch: 2.3.1 - mime-db@1.52.0: {} - - mime-types@2.1.35: - dependencies: - mime-db: 1.52.0 - mri@1.2.0: {} ms@2.1.3: {} @@ -4676,12 +4358,6 @@ snapshots: - '@babel/core' - babel-plugin-macros - node-domexception@1.0.0: {} - - node-fetch@2.7.0: - dependencies: - whatwg-url: 5.0.0 - node-releases@2.0.27: {} npm-to-yarn@3.0.1: {} @@ -4694,20 +4370,6 @@ snapshots: regex: 6.1.0 regex-recursion: 6.0.2 - openai@4.104.0(zod@3.25.76): - dependencies: - '@types/node': 18.19.130 - '@types/node-fetch': 2.6.13 - abort-controller: 3.0.0 - agentkeepalive: 4.6.0 - form-data-encoder: 1.7.2 - formdata-node: 4.4.1 - node-fetch: 2.7.0 - optionalDependencies: - zod: 3.25.76 - transitivePeerDependencies: - - encoding - outdent@0.5.0: {} p-filter@2.1.0: @@ -4756,6 +4418,11 @@ snapshots: pify@4.0.1: {} + postcss-selector-parser@6.0.10: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + postcss-selector-parser@7.1.1: dependencies: cssesc: 3.0.0 @@ -4878,15 +4545,6 @@ snapshots: transitivePeerDependencies: - supports-color - remark-directive@4.0.0: - dependencies: - '@types/mdast': 4.0.4 - mdast-util-directive: 3.1.0 - micromark-extension-directive: 4.0.0 - unified: 11.0.5 - transitivePeerDependencies: - - supports-color - remark-gfm@4.0.1: dependencies: '@types/mdast': 4.0.4 @@ -5051,6 +4709,8 @@ snapshots: tailwind-merge@3.4.0: {} + tailwindcss@4.0.0: {} + tailwindcss@4.1.18: {} tapable@2.3.0: {} @@ -5068,8 +4728,6 @@ snapshots: dependencies: is-number: 7.0.0 - tr46@0.0.3: {} - trim-lines@3.0.1: {} trough@2.2.0: {} @@ -5085,12 +4743,8 @@ snapshots: typescript@5.9.3: {} - undici-types@5.26.5: {} - undici-types@6.21.0: {} - undici-types@7.16.0: {} - unified@11.0.5: dependencies: '@types/unist': 3.0.3 @@ -5168,15 +4822,6 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - web-streams-polyfill@4.0.0-beta.3: {} - - webidl-conversions@3.0.1: {} - - whatwg-url@5.0.0: - dependencies: - tr46: 0.0.3 - webidl-conversions: 3.0.1 - which@2.0.2: dependencies: isexe: 2.0.0 diff --git a/postcss.config.mjs b/postcss.config.mjs new file mode 100644 index 000000000..e2167ce22 --- /dev/null +++ b/postcss.config.mjs @@ -0,0 +1,9 @@ +/** @type {import('postcss-load-config').Config} */ +const config = { + plugins: { + '@tailwindcss/postcss': {}, + autoprefixer: {}, + }, +}; + +export default config; diff --git a/source.config.ts b/source.config.ts new file mode 100644 index 000000000..8601dbe62 --- /dev/null +++ b/source.config.ts @@ -0,0 +1,13 @@ +import { defineDocs, defineConfig } from 'fumadocs-mdx/config'; + +// Export without type inference to avoid pnpm zod resolution issues +export const { docs, meta } = defineDocs({ + dir: 'content/docs', +}) as any; + +export default defineConfig({ + mdxOptions: { + remarkPlugins: [], + rehypePlugins: [], + }, +}); diff --git a/tailwind.config.js b/tailwind.config.js new file mode 100644 index 000000000..4d04e8d8b --- /dev/null +++ b/tailwind.config.js @@ -0,0 +1,14 @@ +/** @type {import('tailwindcss').Config} */ +export default { + content: [ + './components/**/*.{ts,tsx}', + './app/**/*.{ts,tsx}', + './content/**/*.{md,mdx}', + './mdx-components.{ts,tsx}', + './node_modules/fumadocs-ui/dist/**/*.js', + ], + theme: { + extend: {}, + }, + plugins: [], +}; diff --git a/tsconfig.app.json b/tsconfig.app.json new file mode 100644 index 000000000..5ddf5a504 --- /dev/null +++ b/tsconfig.app.json @@ -0,0 +1,27 @@ +{ + "compilerOptions": { + "target": "ES2022", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "bundler", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "incremental": true, + "plugins": [ + { + "name": "next" + } + ], + "paths": { + "@/*": ["./*"] + } + }, + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], + "exclude": ["node_modules"] +} diff --git a/tsconfig.json b/tsconfig.json index 325b4d1e0..805e62046 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,19 +1,50 @@ { "compilerOptions": { - "target": "ES2020", - "module": "commonjs", - "lib": ["ES2020"], + "target": "ES2022", + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], + "module": "esnext", "declaration": true, "declarationMap": true, "strict": true, "esModuleInterop": true, "skipLibCheck": true, "forceConsistentCasingInFileNames": true, - "moduleResolution": "node", + "moduleResolution": "bundler", "resolveJsonModule": true, - "noUnusedLocals": true, - "noUnusedParameters": true, + "noUnusedLocals": false, + "noUnusedParameters": false, "noImplicitReturns": true, - "noFallthroughCasesInSwitch": true - } + "noFallthroughCasesInSwitch": true, + "allowJs": true, + "noEmit": true, + "incremental": true, + "isolatedModules": true, + "jsx": "react-jsx", + "plugins": [ + { + "name": "next" + } + ], + "paths": { + "@/*": [ + "./*" + ] + } + }, + "include": [ + "next-env.d.ts", + "**/*.ts", + "**/*.tsx", + ".next/types/**/*.ts", + ".next/dev/types/**/*.ts" + ], + "exclude": [ + "node_modules", + "packages", + "source.config.ts" + ] } From 2e5bfa6fc33846940954750a8eee1c0bcf935fa2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 18 Jan 2026 17:43:05 +0000 Subject: [PATCH 03/11] Complete Fumadocs documentation site setup - working build and dev server Co-authored-by: huangyiirene <7665279+huangyiirene@users.noreply.github.com> --- app/docs/[[...slug]]/page.tsx | 3 ++- app/source.ts | 10 ++-------- source.config.ts | 10 ++-------- tsconfig.json | 3 +++ 4 files changed, 9 insertions(+), 17 deletions(-) diff --git a/app/docs/[[...slug]]/page.tsx b/app/docs/[[...slug]]/page.tsx index 6ce690e0b..1f421416f 100644 --- a/app/docs/[[...slug]]/page.tsx +++ b/app/docs/[[...slug]]/page.tsx @@ -2,6 +2,7 @@ import { source } from '@/app/source'; import type { Metadata } from 'next'; import { DocsPage, DocsBody } from 'fumadocs-ui/page'; import { notFound } from 'next/navigation'; +import defaultMdxComponents from 'fumadocs-ui/mdx'; export default async function Page(props: { params: Promise<{ slug?: string[] }>; @@ -17,7 +18,7 @@ export default async function Page(props: {

{page.data.title}

{page.data.description &&

{page.data.description}

} - +
); diff --git a/app/source.ts b/app/source.ts index 757f61ceb..b53e60f58 100644 --- a/app/source.ts +++ b/app/source.ts @@ -1,13 +1,7 @@ -import { docs, meta } from '@/.source/server'; +import { docs } from 'fumadocs-mdx:collections/server'; import { loader } from 'fumadocs-core/source'; export const source = loader({ baseUrl: '/docs', - source: { - files: docs.map((doc: any) => ({ - type: 'page' as const, - path: doc.path, - data: doc, - })), - } as any, + source: (docs as any).toFumadocsSource(), }); diff --git a/source.config.ts b/source.config.ts index 8601dbe62..4ef2fa6b7 100644 --- a/source.config.ts +++ b/source.config.ts @@ -1,13 +1,7 @@ import { defineDocs, defineConfig } from 'fumadocs-mdx/config'; -// Export without type inference to avoid pnpm zod resolution issues -export const { docs, meta } = defineDocs({ +export const docs = defineDocs({ dir: 'content/docs', }) as any; -export default defineConfig({ - mdxOptions: { - remarkPlugins: [], - rehypePlugins: [], - }, -}); +export default defineConfig(); diff --git a/tsconfig.json b/tsconfig.json index 805e62046..c9563b7db 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -32,6 +32,9 @@ "paths": { "@/*": [ "./*" + ], + "fumadocs-mdx:collections/*": [ + "./.source/*" ] } }, From 3124fe97883b6784207a06df9c45256868b80d4d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 19 Jan 2026 01:01:04 +0000 Subject: [PATCH 04/11] Refactor: Move documentation site to apps/docs for monorepo structure Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com> --- .../objectstack.prompt.md | 0 .../todo-checklist.md | 0 .gitignore | 4 +- README.md | 16 +-- apps/docs/README.md | 72 ++++++++++ .../docs/app}/docs/[[...slug]]/page.tsx | 0 {app => apps/docs/app}/docs/layout.tsx | 0 {app => apps/docs/app}/global.css | 0 {app => apps/docs/app}/layout.config.tsx | 0 {app => apps/docs/app}/layout.tsx | 0 {app => apps/docs/app}/page.tsx | 0 {app => apps/docs/app}/source.ts | 0 {content => apps/docs/content}/docs.site.json | 0 .../docs/content}/docs/concepts/ai-codex.mdx | 0 .../content}/docs/concepts/architecture.mdx | 0 .../content}/docs/concepts/core-values.mdx | 0 .../docs/concepts/enterprise-patterns.mdx | 0 .../docs/content}/docs/concepts/manifesto.mdx | 0 .../docs/content}/docs/concepts/meta.json | 0 .../docs/concepts/security_architecture.md | 0 .../content}/docs/concepts/terminology.mdx | 0 {content => apps/docs/content}/docs/index.mdx | 0 .../content}/docs/references/AIKnowledge.mdx | 0 .../docs/references/AIModelConfig.mdx | 0 .../docs/content}/docs/references/AITool.mdx | 0 .../docs/content}/docs/references/Action.mdx | 0 .../content}/docs/references/ActionParam.mdx | 0 .../docs/content}/docs/references/Agent.mdx | 0 .../content}/docs/references/ApiEndpoint.mdx | 0 .../content}/docs/references/ApiMapping.mdx | 0 .../docs/content}/docs/references/App.mdx | 0 .../content}/docs/references/AppBranding.mdx | 0 .../content}/docs/references/AuditPolicy.mdx | 0 .../content}/docs/references/AuthProtocol.mdx | 0 .../content}/docs/references/AuthProvider.mdx | 0 .../docs/references/CalendarConfig.mdx | 0 .../content}/docs/references/ChartType.mdx | 0 .../content}/docs/references/Dashboard.mdx | 0 .../docs/references/DashboardNavItem.mdx | 0 .../docs/references/DashboardWidget.mdx | 0 .../docs/content}/docs/references/Dataset.mdx | 0 .../content}/docs/references/DatasetMode.mdx | 0 .../content}/docs/references/Datasource.mdx | 0 .../references/DatasourceCapabilities.mdx | 0 .../content}/docs/references/DriverType.mdx | 0 .../docs/references/EmailAlertAction.mdx | 0 .../docs/content}/docs/references/Feature.mdx | 0 .../docs/content}/docs/references/Field.mdx | 0 .../content}/docs/references/FieldMapping.mdx | 0 .../content}/docs/references/FieldNode.mdx | 0 .../docs/references/FieldPermission.mdx | 0 .../content}/docs/references/FieldType.mdx | 0 .../docs/references/FieldUpdateAction.mdx | 0 .../content}/docs/references/FilterNode.mdx | 0 .../docs/references/FilterOperator.mdx | 0 .../docs/content}/docs/references/Flow.mdx | 0 .../content}/docs/references/FlowEdge.mdx | 0 .../content}/docs/references/FlowNode.mdx | 0 .../docs/references/FlowNodeAction.mdx | 0 .../content}/docs/references/FlowVariable.mdx | 0 .../content}/docs/references/FormSection.mdx | 0 .../content}/docs/references/FormView.mdx | 0 .../docs/references/FormatValidation.mdx | 0 .../content}/docs/references/GanttConfig.mdx | 0 .../content}/docs/references/GroupNavItem.mdx | 0 .../content}/docs/references/HttpMethod.mdx | 0 .../docs/content}/docs/references/Index.mdx | 0 .../content}/docs/references/KanbanConfig.mdx | 0 .../content}/docs/references/LDAPConfig.mdx | 0 .../docs/content}/docs/references/License.mdx | 0 .../content}/docs/references/ListView.mdx | 0 .../docs/content}/docs/references/Locale.mdx | 0 .../docs/references/LogicOperator.mdx | 0 .../content}/docs/references/Manifest.mdx | 0 .../docs/content}/docs/references/Mapping.mdx | 0 .../content}/docs/references/MenuItem.mdx | 0 .../content}/docs/references/MetricType.mdx | 0 .../docs/references/NavigationItem.mdx | 0 .../docs/references/NetworkPolicy.mdx | 0 .../content}/docs/references/OIDCConfig.mdx | 0 .../content}/docs/references/OWDModel.mdx | 0 .../docs/content}/docs/references/Object.mdx | 0 .../docs/references/ObjectCapabilities.mdx | 0 .../docs/references/ObjectNavItem.mdx | 0 .../docs/references/ObjectPermission.mdx | 0 .../docs/content}/docs/references/Page.mdx | 0 .../docs/references/PageComponent.mdx | 0 .../content}/docs/references/PageNavItem.mdx | 0 .../content}/docs/references/PageRegion.mdx | 0 .../docs/references/PasswordPolicy.mdx | 0 .../docs/references/PermissionSet.mdx | 0 .../docs/content}/docs/references/Plan.mdx | 0 .../docs/content}/docs/references/Policy.mdx | 0 .../docs/content}/docs/references/Query.mdx | 0 .../content}/docs/references/RateLimit.mdx | 0 .../docs/content}/docs/references/Report.mdx | 0 .../content}/docs/references/ReportChart.mdx | 0 .../content}/docs/references/ReportColumn.mdx | 0 .../docs/references/ReportGrouping.mdx | 0 .../content}/docs/references/ReportType.mdx | 0 .../docs/content}/docs/references/Role.mdx | 0 .../content}/docs/references/SAMLConfig.mdx | 0 .../docs/references/ScriptValidation.mdx | 0 .../content}/docs/references/SelectOption.mdx | 0 .../docs/references/SessionPolicy.mdx | 0 .../content}/docs/references/SharingLevel.mdx | 0 .../content}/docs/references/SharingRule.mdx | 0 .../docs/references/SharingRuleType.mdx | 0 .../content}/docs/references/SortNode.mdx | 0 .../references/StateMachineValidation.mdx | 0 .../content}/docs/references/Territory.mdx | 0 .../docs/references/TerritoryModel.mdx | 0 .../docs/references/TerritoryType.mdx | 0 .../docs/references/TransformType.mdx | 0 .../docs/references/TranslationBundle.mdx | 0 .../docs/references/TranslationData.mdx | 0 .../docs/references/UniquenessValidation.mdx | 0 .../content}/docs/references/UrlNavItem.mdx | 0 .../docs/references/ValidationRule.mdx | 0 .../docs/content}/docs/references/View.mdx | 0 .../docs/content}/docs/references/Webhook.mdx | 0 .../docs/references/WebhookReceiver.mdx | 0 .../docs/references/WebhookTriggerType.mdx | 0 .../docs/references/WorkflowAction.mdx | 0 .../content}/docs/references/WorkflowRule.mdx | 0 .../docs/references/WorkflowTriggerType.mdx | 0 .../docs/content}/docs/references/meta.json | 0 .../specifications/data/advanced-types.mdx | 0 .../data/analytics-protocol.mdx | 0 .../specifications/data/ast-structure.mdx | 0 .../docs/specifications/data/index.mdx | 0 .../docs/specifications/data/meta.json | 0 .../specifications/data/schema-definition.mdx | 0 .../specifications/data/transaction-model.mdx | 0 .../specifications/data/wire-protocol.mdx | 0 .../content}/docs/specifications/index.mdx | 0 .../content}/docs/specifications/meta.json | 0 .../server/audit-compliance.mdx | 0 .../server/automation-rules.mdx | 0 .../docs/specifications/server/index.mdx | 0 .../specifications/server/integration-etl.mdx | 0 .../docs/specifications/server/meta.json | 0 .../server/permission-governance.mdx | 0 .../specifications/server/plugin-manifest.mdx | 0 .../specifications/server/workflow-engine.mdx | 0 .../specifications/ui/action-triggers.mdx | 0 .../specifications/ui/component-schema.mdx | 0 .../content}/docs/specifications/ui/index.mdx | 0 .../docs/specifications/ui/layout-system.mdx | 0 .../content}/docs/specifications/ui/meta.json | 0 .../specifications/ui/report-template.mdx | 0 .../docs/specifications/ui/view-protocol.mdx | 0 apps/docs/content/prompts/index.mdx | 125 ++++++++++++++++++ .../content/prompts/objectstack.prompt.md | 80 +++++++++++ next.config.mjs => apps/docs/next.config.mjs | 0 apps/docs/package.json | 38 ++++++ .../docs/postcss.config.mjs | 0 .../docs/source.config.ts | 0 .../docs/tailwind.config.js | 0 tsconfig.app.json => apps/docs/tsconfig.json | 28 +++- package.json | 29 +--- pnpm-lock.yaml | 56 ++++---- pnpm-workspace.yaml | 1 + tsconfig.json | 45 ++----- 164 files changed, 392 insertions(+), 102 deletions(-) rename {content/prompts => .cursorrules.d}/objectstack.prompt.md (100%) rename content/prompts/index.mdx => .cursorrules.d/todo-checklist.md (100%) create mode 100644 apps/docs/README.md rename {app => apps/docs/app}/docs/[[...slug]]/page.tsx (100%) rename {app => apps/docs/app}/docs/layout.tsx (100%) rename {app => apps/docs/app}/global.css (100%) rename {app => apps/docs/app}/layout.config.tsx (100%) rename {app => apps/docs/app}/layout.tsx (100%) rename {app => apps/docs/app}/page.tsx (100%) rename {app => apps/docs/app}/source.ts (100%) rename {content => apps/docs/content}/docs.site.json (100%) rename {content => apps/docs/content}/docs/concepts/ai-codex.mdx (100%) rename {content => apps/docs/content}/docs/concepts/architecture.mdx (100%) rename {content => apps/docs/content}/docs/concepts/core-values.mdx (100%) rename {content => apps/docs/content}/docs/concepts/enterprise-patterns.mdx (100%) rename {content => apps/docs/content}/docs/concepts/manifesto.mdx (100%) rename {content => apps/docs/content}/docs/concepts/meta.json (100%) rename {content => apps/docs/content}/docs/concepts/security_architecture.md (100%) rename {content => apps/docs/content}/docs/concepts/terminology.mdx (100%) rename {content => apps/docs/content}/docs/index.mdx (100%) rename {content => apps/docs/content}/docs/references/AIKnowledge.mdx (100%) rename {content => apps/docs/content}/docs/references/AIModelConfig.mdx (100%) rename {content => apps/docs/content}/docs/references/AITool.mdx (100%) rename {content => apps/docs/content}/docs/references/Action.mdx (100%) rename {content => apps/docs/content}/docs/references/ActionParam.mdx (100%) rename {content => apps/docs/content}/docs/references/Agent.mdx (100%) rename {content => apps/docs/content}/docs/references/ApiEndpoint.mdx (100%) rename {content => apps/docs/content}/docs/references/ApiMapping.mdx (100%) rename {content => apps/docs/content}/docs/references/App.mdx (100%) rename {content => apps/docs/content}/docs/references/AppBranding.mdx (100%) rename {content => apps/docs/content}/docs/references/AuditPolicy.mdx (100%) rename {content => apps/docs/content}/docs/references/AuthProtocol.mdx (100%) rename {content => apps/docs/content}/docs/references/AuthProvider.mdx (100%) rename {content => apps/docs/content}/docs/references/CalendarConfig.mdx (100%) rename {content => apps/docs/content}/docs/references/ChartType.mdx (100%) rename {content => apps/docs/content}/docs/references/Dashboard.mdx (100%) rename {content => apps/docs/content}/docs/references/DashboardNavItem.mdx (100%) rename {content => apps/docs/content}/docs/references/DashboardWidget.mdx (100%) rename {content => apps/docs/content}/docs/references/Dataset.mdx (100%) rename {content => apps/docs/content}/docs/references/DatasetMode.mdx (100%) rename {content => apps/docs/content}/docs/references/Datasource.mdx (100%) rename {content => apps/docs/content}/docs/references/DatasourceCapabilities.mdx (100%) rename {content => apps/docs/content}/docs/references/DriverType.mdx (100%) rename {content => apps/docs/content}/docs/references/EmailAlertAction.mdx (100%) rename {content => apps/docs/content}/docs/references/Feature.mdx (100%) rename {content => apps/docs/content}/docs/references/Field.mdx (100%) rename {content => apps/docs/content}/docs/references/FieldMapping.mdx (100%) rename {content => apps/docs/content}/docs/references/FieldNode.mdx (100%) rename {content => apps/docs/content}/docs/references/FieldPermission.mdx (100%) rename {content => apps/docs/content}/docs/references/FieldType.mdx (100%) rename {content => apps/docs/content}/docs/references/FieldUpdateAction.mdx (100%) rename {content => apps/docs/content}/docs/references/FilterNode.mdx (100%) rename {content => apps/docs/content}/docs/references/FilterOperator.mdx (100%) rename {content => apps/docs/content}/docs/references/Flow.mdx (100%) rename {content => apps/docs/content}/docs/references/FlowEdge.mdx (100%) rename {content => apps/docs/content}/docs/references/FlowNode.mdx (100%) rename {content => apps/docs/content}/docs/references/FlowNodeAction.mdx (100%) rename {content => apps/docs/content}/docs/references/FlowVariable.mdx (100%) rename {content => apps/docs/content}/docs/references/FormSection.mdx (100%) rename {content => apps/docs/content}/docs/references/FormView.mdx (100%) rename {content => apps/docs/content}/docs/references/FormatValidation.mdx (100%) rename {content => apps/docs/content}/docs/references/GanttConfig.mdx (100%) rename {content => apps/docs/content}/docs/references/GroupNavItem.mdx (100%) rename {content => apps/docs/content}/docs/references/HttpMethod.mdx (100%) rename {content => apps/docs/content}/docs/references/Index.mdx (100%) rename {content => apps/docs/content}/docs/references/KanbanConfig.mdx (100%) rename {content => apps/docs/content}/docs/references/LDAPConfig.mdx (100%) rename {content => apps/docs/content}/docs/references/License.mdx (100%) rename {content => apps/docs/content}/docs/references/ListView.mdx (100%) rename {content => apps/docs/content}/docs/references/Locale.mdx (100%) rename {content => apps/docs/content}/docs/references/LogicOperator.mdx (100%) rename {content => apps/docs/content}/docs/references/Manifest.mdx (100%) rename {content => apps/docs/content}/docs/references/Mapping.mdx (100%) rename {content => apps/docs/content}/docs/references/MenuItem.mdx (100%) rename {content => apps/docs/content}/docs/references/MetricType.mdx (100%) rename {content => apps/docs/content}/docs/references/NavigationItem.mdx (100%) rename {content => apps/docs/content}/docs/references/NetworkPolicy.mdx (100%) rename {content => apps/docs/content}/docs/references/OIDCConfig.mdx (100%) rename {content => apps/docs/content}/docs/references/OWDModel.mdx (100%) rename {content => apps/docs/content}/docs/references/Object.mdx (100%) rename {content => apps/docs/content}/docs/references/ObjectCapabilities.mdx (100%) rename {content => apps/docs/content}/docs/references/ObjectNavItem.mdx (100%) rename {content => apps/docs/content}/docs/references/ObjectPermission.mdx (100%) rename {content => apps/docs/content}/docs/references/Page.mdx (100%) rename {content => apps/docs/content}/docs/references/PageComponent.mdx (100%) rename {content => apps/docs/content}/docs/references/PageNavItem.mdx (100%) rename {content => apps/docs/content}/docs/references/PageRegion.mdx (100%) rename {content => apps/docs/content}/docs/references/PasswordPolicy.mdx (100%) rename {content => apps/docs/content}/docs/references/PermissionSet.mdx (100%) rename {content => apps/docs/content}/docs/references/Plan.mdx (100%) rename {content => apps/docs/content}/docs/references/Policy.mdx (100%) rename {content => apps/docs/content}/docs/references/Query.mdx (100%) rename {content => apps/docs/content}/docs/references/RateLimit.mdx (100%) rename {content => apps/docs/content}/docs/references/Report.mdx (100%) rename {content => apps/docs/content}/docs/references/ReportChart.mdx (100%) rename {content => apps/docs/content}/docs/references/ReportColumn.mdx (100%) rename {content => apps/docs/content}/docs/references/ReportGrouping.mdx (100%) rename {content => apps/docs/content}/docs/references/ReportType.mdx (100%) rename {content => apps/docs/content}/docs/references/Role.mdx (100%) rename {content => apps/docs/content}/docs/references/SAMLConfig.mdx (100%) rename {content => apps/docs/content}/docs/references/ScriptValidation.mdx (100%) rename {content => apps/docs/content}/docs/references/SelectOption.mdx (100%) rename {content => apps/docs/content}/docs/references/SessionPolicy.mdx (100%) rename {content => apps/docs/content}/docs/references/SharingLevel.mdx (100%) rename {content => apps/docs/content}/docs/references/SharingRule.mdx (100%) rename {content => apps/docs/content}/docs/references/SharingRuleType.mdx (100%) rename {content => apps/docs/content}/docs/references/SortNode.mdx (100%) rename {content => apps/docs/content}/docs/references/StateMachineValidation.mdx (100%) rename {content => apps/docs/content}/docs/references/Territory.mdx (100%) rename {content => apps/docs/content}/docs/references/TerritoryModel.mdx (100%) rename {content => apps/docs/content}/docs/references/TerritoryType.mdx (100%) rename {content => apps/docs/content}/docs/references/TransformType.mdx (100%) rename {content => apps/docs/content}/docs/references/TranslationBundle.mdx (100%) rename {content => apps/docs/content}/docs/references/TranslationData.mdx (100%) rename {content => apps/docs/content}/docs/references/UniquenessValidation.mdx (100%) rename {content => apps/docs/content}/docs/references/UrlNavItem.mdx (100%) rename {content => apps/docs/content}/docs/references/ValidationRule.mdx (100%) rename {content => apps/docs/content}/docs/references/View.mdx (100%) rename {content => apps/docs/content}/docs/references/Webhook.mdx (100%) rename {content => apps/docs/content}/docs/references/WebhookReceiver.mdx (100%) rename {content => apps/docs/content}/docs/references/WebhookTriggerType.mdx (100%) rename {content => apps/docs/content}/docs/references/WorkflowAction.mdx (100%) rename {content => apps/docs/content}/docs/references/WorkflowRule.mdx (100%) rename {content => apps/docs/content}/docs/references/WorkflowTriggerType.mdx (100%) rename {content => apps/docs/content}/docs/references/meta.json (100%) rename {content => apps/docs/content}/docs/specifications/data/advanced-types.mdx (100%) rename {content => apps/docs/content}/docs/specifications/data/analytics-protocol.mdx (100%) rename {content => apps/docs/content}/docs/specifications/data/ast-structure.mdx (100%) rename {content => apps/docs/content}/docs/specifications/data/index.mdx (100%) rename {content => apps/docs/content}/docs/specifications/data/meta.json (100%) rename {content => apps/docs/content}/docs/specifications/data/schema-definition.mdx (100%) rename {content => apps/docs/content}/docs/specifications/data/transaction-model.mdx (100%) rename {content => apps/docs/content}/docs/specifications/data/wire-protocol.mdx (100%) rename {content => apps/docs/content}/docs/specifications/index.mdx (100%) rename {content => apps/docs/content}/docs/specifications/meta.json (100%) rename {content => apps/docs/content}/docs/specifications/server/audit-compliance.mdx (100%) rename {content => apps/docs/content}/docs/specifications/server/automation-rules.mdx (100%) rename {content => apps/docs/content}/docs/specifications/server/index.mdx (100%) rename {content => apps/docs/content}/docs/specifications/server/integration-etl.mdx (100%) rename {content => apps/docs/content}/docs/specifications/server/meta.json (100%) rename {content => apps/docs/content}/docs/specifications/server/permission-governance.mdx (100%) rename {content => apps/docs/content}/docs/specifications/server/plugin-manifest.mdx (100%) rename {content => apps/docs/content}/docs/specifications/server/workflow-engine.mdx (100%) rename {content => apps/docs/content}/docs/specifications/ui/action-triggers.mdx (100%) rename {content => apps/docs/content}/docs/specifications/ui/component-schema.mdx (100%) rename {content => apps/docs/content}/docs/specifications/ui/index.mdx (100%) rename {content => apps/docs/content}/docs/specifications/ui/layout-system.mdx (100%) rename {content => apps/docs/content}/docs/specifications/ui/meta.json (100%) rename {content => apps/docs/content}/docs/specifications/ui/report-template.mdx (100%) rename {content => apps/docs/content}/docs/specifications/ui/view-protocol.mdx (100%) create mode 100644 apps/docs/content/prompts/index.mdx create mode 100644 apps/docs/content/prompts/objectstack.prompt.md rename next.config.mjs => apps/docs/next.config.mjs (100%) create mode 100644 apps/docs/package.json rename postcss.config.mjs => apps/docs/postcss.config.mjs (100%) rename source.config.ts => apps/docs/source.config.ts (100%) rename tailwind.config.js => apps/docs/tailwind.config.js (100%) rename tsconfig.app.json => apps/docs/tsconfig.json (50%) diff --git a/content/prompts/objectstack.prompt.md b/.cursorrules.d/objectstack.prompt.md similarity index 100% rename from content/prompts/objectstack.prompt.md rename to .cursorrules.d/objectstack.prompt.md diff --git a/content/prompts/index.mdx b/.cursorrules.d/todo-checklist.md similarity index 100% rename from content/prompts/index.mdx rename to .cursorrules.d/todo-checklist.md diff --git a/.gitignore b/.gitignore index 2701ebf03..0212118e0 100644 --- a/.gitignore +++ b/.gitignore @@ -48,4 +48,6 @@ next-env.d.ts .vercel # Fumadocs -.source/ \ No newline at end of file +.source/ +apps/*/. source/ +apps/*/.next/ \ No newline at end of file diff --git a/README.md b/README.md index b668e1fdb..180ff383f 100644 --- a/README.md +++ b/README.md @@ -10,18 +10,17 @@ This repository contains the core specifications, schemas, and protocols that po ## 📚 Documentation -The official documentation is co-located in this repository. +The official documentation is built with Fumadocs and Next.js. -* **[Concepts](./content/docs/concepts/):** Architecture, Manifesto, and Core Values. -* **[Specifications](./packages/spec/json-schema/):** Auto-generated JSON Schemas. -* **[API Reference](./content/docs/references/):** Detailed property references generated from code. +* **[Documentation Site](./apps/docs/):** Fumadocs-powered documentation (Concepts, Specifications, API Reference). +* **[Live Site](http://localhost:3000/docs):** Run `pnpm docs:dev` to view locally. ## 📦 Monorepo Structure | Package | Description | Status | | :--- | :--- | :--- | | **[`@objectstack/spec`](packages/spec)** | **THE PROTOCOL**. Contains all Zod definitions, Types, and JSON Schemas. | 🟢 **Active** | -| `content/docs` | The documentation site source. | 🟢 **Active** | +| **[`@objectstack/docs`](apps/docs)** | Documentation site built with Fumadocs and Next.js. | 🟢 **Active** | | *Other packages* | *Legacy/Migration in progress* | 🟡 *Legacy* | ## 🛠️ The Protocol Architecture @@ -67,11 +66,10 @@ pnpm --filter @objectstack/spec build # Output: # - packages/spec/dist/ (Compiled TS) # - packages/spec/json-schema/ (JSON Schemas) -# - content/docs/references/ (Markdown Docs) -# 3. Start Documentation Site (Optional) -# (Assuming a doc site runner is configured) -pnpm dev +# 3. Start Documentation Site +pnpm docs:dev +# Visit http://localhost:3000/docs ``` ## 🤝 Contribution diff --git a/apps/docs/README.md b/apps/docs/README.md new file mode 100644 index 000000000..c6a7d28cb --- /dev/null +++ b/apps/docs/README.md @@ -0,0 +1,72 @@ +# ObjectStack Documentation Site + +This is the documentation site for the ObjectStack Protocol, built with [Fumadocs](https://fumadocs.dev/) and Next.js. + +## Structure + +``` +apps/docs/ +├── app/ # Next.js app directory +│ ├── docs/ # Documentation pages +│ ├── layout.tsx # Root layout +│ └── source.ts # Fumadocs source loader +├── content/ # Documentation content (MDX files) +│ └── docs/ +│ ├── concepts/ +│ ├── references/ +│ └── specifications/ +├── source.config.ts # Fumadocs collection config +├── next.config.mjs # Next.js configuration +├── tailwind.config.js +├── postcss.config.mjs +└── package.json +``` + +## Development + +```bash +# From repository root +pnpm docs:dev + +# Or from apps/docs +pnpm dev +``` + +## Building + +```bash +# From repository root +pnpm docs:build + +# Or from apps/docs +pnpm build +``` + +## Deployment + +```bash +# From repository root +pnpm docs:start + +# Or from apps/docs +pnpm start +``` + +## Features + +- 📝 **MDX Support**: Write documentation with React components +- 🎨 **Tailwind CSS v4**: Modern styling with Tailwind +- 🔍 **Search**: Built-in search functionality (⌘K) +- 🌗 **Dark Mode**: Automatic theme switching +- 📱 **Responsive**: Mobile-friendly design +- 🚀 **Static Generation**: All 136 pages pre-rendered for optimal performance + +## Content Management + +Documentation content is stored in `content/docs/` with the following structure: + +- `concepts/` - Core concepts and architecture +- `references/` - API and schema references +- `specifications/` - Detailed specifications + +Each directory can have a `meta.json` file to configure navigation order and labels. diff --git a/app/docs/[[...slug]]/page.tsx b/apps/docs/app/docs/[[...slug]]/page.tsx similarity index 100% rename from app/docs/[[...slug]]/page.tsx rename to apps/docs/app/docs/[[...slug]]/page.tsx diff --git a/app/docs/layout.tsx b/apps/docs/app/docs/layout.tsx similarity index 100% rename from app/docs/layout.tsx rename to apps/docs/app/docs/layout.tsx diff --git a/app/global.css b/apps/docs/app/global.css similarity index 100% rename from app/global.css rename to apps/docs/app/global.css diff --git a/app/layout.config.tsx b/apps/docs/app/layout.config.tsx similarity index 100% rename from app/layout.config.tsx rename to apps/docs/app/layout.config.tsx diff --git a/app/layout.tsx b/apps/docs/app/layout.tsx similarity index 100% rename from app/layout.tsx rename to apps/docs/app/layout.tsx diff --git a/app/page.tsx b/apps/docs/app/page.tsx similarity index 100% rename from app/page.tsx rename to apps/docs/app/page.tsx diff --git a/app/source.ts b/apps/docs/app/source.ts similarity index 100% rename from app/source.ts rename to apps/docs/app/source.ts diff --git a/content/docs.site.json b/apps/docs/content/docs.site.json similarity index 100% rename from content/docs.site.json rename to apps/docs/content/docs.site.json diff --git a/content/docs/concepts/ai-codex.mdx b/apps/docs/content/docs/concepts/ai-codex.mdx similarity index 100% rename from content/docs/concepts/ai-codex.mdx rename to apps/docs/content/docs/concepts/ai-codex.mdx diff --git a/content/docs/concepts/architecture.mdx b/apps/docs/content/docs/concepts/architecture.mdx similarity index 100% rename from content/docs/concepts/architecture.mdx rename to apps/docs/content/docs/concepts/architecture.mdx diff --git a/content/docs/concepts/core-values.mdx b/apps/docs/content/docs/concepts/core-values.mdx similarity index 100% rename from content/docs/concepts/core-values.mdx rename to apps/docs/content/docs/concepts/core-values.mdx diff --git a/content/docs/concepts/enterprise-patterns.mdx b/apps/docs/content/docs/concepts/enterprise-patterns.mdx similarity index 100% rename from content/docs/concepts/enterprise-patterns.mdx rename to apps/docs/content/docs/concepts/enterprise-patterns.mdx diff --git a/content/docs/concepts/manifesto.mdx b/apps/docs/content/docs/concepts/manifesto.mdx similarity index 100% rename from content/docs/concepts/manifesto.mdx rename to apps/docs/content/docs/concepts/manifesto.mdx diff --git a/content/docs/concepts/meta.json b/apps/docs/content/docs/concepts/meta.json similarity index 100% rename from content/docs/concepts/meta.json rename to apps/docs/content/docs/concepts/meta.json diff --git a/content/docs/concepts/security_architecture.md b/apps/docs/content/docs/concepts/security_architecture.md similarity index 100% rename from content/docs/concepts/security_architecture.md rename to apps/docs/content/docs/concepts/security_architecture.md diff --git a/content/docs/concepts/terminology.mdx b/apps/docs/content/docs/concepts/terminology.mdx similarity index 100% rename from content/docs/concepts/terminology.mdx rename to apps/docs/content/docs/concepts/terminology.mdx diff --git a/content/docs/index.mdx b/apps/docs/content/docs/index.mdx similarity index 100% rename from content/docs/index.mdx rename to apps/docs/content/docs/index.mdx diff --git a/content/docs/references/AIKnowledge.mdx b/apps/docs/content/docs/references/AIKnowledge.mdx similarity index 100% rename from content/docs/references/AIKnowledge.mdx rename to apps/docs/content/docs/references/AIKnowledge.mdx diff --git a/content/docs/references/AIModelConfig.mdx b/apps/docs/content/docs/references/AIModelConfig.mdx similarity index 100% rename from content/docs/references/AIModelConfig.mdx rename to apps/docs/content/docs/references/AIModelConfig.mdx diff --git a/content/docs/references/AITool.mdx b/apps/docs/content/docs/references/AITool.mdx similarity index 100% rename from content/docs/references/AITool.mdx rename to apps/docs/content/docs/references/AITool.mdx diff --git a/content/docs/references/Action.mdx b/apps/docs/content/docs/references/Action.mdx similarity index 100% rename from content/docs/references/Action.mdx rename to apps/docs/content/docs/references/Action.mdx diff --git a/content/docs/references/ActionParam.mdx b/apps/docs/content/docs/references/ActionParam.mdx similarity index 100% rename from content/docs/references/ActionParam.mdx rename to apps/docs/content/docs/references/ActionParam.mdx diff --git a/content/docs/references/Agent.mdx b/apps/docs/content/docs/references/Agent.mdx similarity index 100% rename from content/docs/references/Agent.mdx rename to apps/docs/content/docs/references/Agent.mdx diff --git a/content/docs/references/ApiEndpoint.mdx b/apps/docs/content/docs/references/ApiEndpoint.mdx similarity index 100% rename from content/docs/references/ApiEndpoint.mdx rename to apps/docs/content/docs/references/ApiEndpoint.mdx diff --git a/content/docs/references/ApiMapping.mdx b/apps/docs/content/docs/references/ApiMapping.mdx similarity index 100% rename from content/docs/references/ApiMapping.mdx rename to apps/docs/content/docs/references/ApiMapping.mdx diff --git a/content/docs/references/App.mdx b/apps/docs/content/docs/references/App.mdx similarity index 100% rename from content/docs/references/App.mdx rename to apps/docs/content/docs/references/App.mdx diff --git a/content/docs/references/AppBranding.mdx b/apps/docs/content/docs/references/AppBranding.mdx similarity index 100% rename from content/docs/references/AppBranding.mdx rename to apps/docs/content/docs/references/AppBranding.mdx diff --git a/content/docs/references/AuditPolicy.mdx b/apps/docs/content/docs/references/AuditPolicy.mdx similarity index 100% rename from content/docs/references/AuditPolicy.mdx rename to apps/docs/content/docs/references/AuditPolicy.mdx diff --git a/content/docs/references/AuthProtocol.mdx b/apps/docs/content/docs/references/AuthProtocol.mdx similarity index 100% rename from content/docs/references/AuthProtocol.mdx rename to apps/docs/content/docs/references/AuthProtocol.mdx diff --git a/content/docs/references/AuthProvider.mdx b/apps/docs/content/docs/references/AuthProvider.mdx similarity index 100% rename from content/docs/references/AuthProvider.mdx rename to apps/docs/content/docs/references/AuthProvider.mdx diff --git a/content/docs/references/CalendarConfig.mdx b/apps/docs/content/docs/references/CalendarConfig.mdx similarity index 100% rename from content/docs/references/CalendarConfig.mdx rename to apps/docs/content/docs/references/CalendarConfig.mdx diff --git a/content/docs/references/ChartType.mdx b/apps/docs/content/docs/references/ChartType.mdx similarity index 100% rename from content/docs/references/ChartType.mdx rename to apps/docs/content/docs/references/ChartType.mdx diff --git a/content/docs/references/Dashboard.mdx b/apps/docs/content/docs/references/Dashboard.mdx similarity index 100% rename from content/docs/references/Dashboard.mdx rename to apps/docs/content/docs/references/Dashboard.mdx diff --git a/content/docs/references/DashboardNavItem.mdx b/apps/docs/content/docs/references/DashboardNavItem.mdx similarity index 100% rename from content/docs/references/DashboardNavItem.mdx rename to apps/docs/content/docs/references/DashboardNavItem.mdx diff --git a/content/docs/references/DashboardWidget.mdx b/apps/docs/content/docs/references/DashboardWidget.mdx similarity index 100% rename from content/docs/references/DashboardWidget.mdx rename to apps/docs/content/docs/references/DashboardWidget.mdx diff --git a/content/docs/references/Dataset.mdx b/apps/docs/content/docs/references/Dataset.mdx similarity index 100% rename from content/docs/references/Dataset.mdx rename to apps/docs/content/docs/references/Dataset.mdx diff --git a/content/docs/references/DatasetMode.mdx b/apps/docs/content/docs/references/DatasetMode.mdx similarity index 100% rename from content/docs/references/DatasetMode.mdx rename to apps/docs/content/docs/references/DatasetMode.mdx diff --git a/content/docs/references/Datasource.mdx b/apps/docs/content/docs/references/Datasource.mdx similarity index 100% rename from content/docs/references/Datasource.mdx rename to apps/docs/content/docs/references/Datasource.mdx diff --git a/content/docs/references/DatasourceCapabilities.mdx b/apps/docs/content/docs/references/DatasourceCapabilities.mdx similarity index 100% rename from content/docs/references/DatasourceCapabilities.mdx rename to apps/docs/content/docs/references/DatasourceCapabilities.mdx diff --git a/content/docs/references/DriverType.mdx b/apps/docs/content/docs/references/DriverType.mdx similarity index 100% rename from content/docs/references/DriverType.mdx rename to apps/docs/content/docs/references/DriverType.mdx diff --git a/content/docs/references/EmailAlertAction.mdx b/apps/docs/content/docs/references/EmailAlertAction.mdx similarity index 100% rename from content/docs/references/EmailAlertAction.mdx rename to apps/docs/content/docs/references/EmailAlertAction.mdx diff --git a/content/docs/references/Feature.mdx b/apps/docs/content/docs/references/Feature.mdx similarity index 100% rename from content/docs/references/Feature.mdx rename to apps/docs/content/docs/references/Feature.mdx diff --git a/content/docs/references/Field.mdx b/apps/docs/content/docs/references/Field.mdx similarity index 100% rename from content/docs/references/Field.mdx rename to apps/docs/content/docs/references/Field.mdx diff --git a/content/docs/references/FieldMapping.mdx b/apps/docs/content/docs/references/FieldMapping.mdx similarity index 100% rename from content/docs/references/FieldMapping.mdx rename to apps/docs/content/docs/references/FieldMapping.mdx diff --git a/content/docs/references/FieldNode.mdx b/apps/docs/content/docs/references/FieldNode.mdx similarity index 100% rename from content/docs/references/FieldNode.mdx rename to apps/docs/content/docs/references/FieldNode.mdx diff --git a/content/docs/references/FieldPermission.mdx b/apps/docs/content/docs/references/FieldPermission.mdx similarity index 100% rename from content/docs/references/FieldPermission.mdx rename to apps/docs/content/docs/references/FieldPermission.mdx diff --git a/content/docs/references/FieldType.mdx b/apps/docs/content/docs/references/FieldType.mdx similarity index 100% rename from content/docs/references/FieldType.mdx rename to apps/docs/content/docs/references/FieldType.mdx diff --git a/content/docs/references/FieldUpdateAction.mdx b/apps/docs/content/docs/references/FieldUpdateAction.mdx similarity index 100% rename from content/docs/references/FieldUpdateAction.mdx rename to apps/docs/content/docs/references/FieldUpdateAction.mdx diff --git a/content/docs/references/FilterNode.mdx b/apps/docs/content/docs/references/FilterNode.mdx similarity index 100% rename from content/docs/references/FilterNode.mdx rename to apps/docs/content/docs/references/FilterNode.mdx diff --git a/content/docs/references/FilterOperator.mdx b/apps/docs/content/docs/references/FilterOperator.mdx similarity index 100% rename from content/docs/references/FilterOperator.mdx rename to apps/docs/content/docs/references/FilterOperator.mdx diff --git a/content/docs/references/Flow.mdx b/apps/docs/content/docs/references/Flow.mdx similarity index 100% rename from content/docs/references/Flow.mdx rename to apps/docs/content/docs/references/Flow.mdx diff --git a/content/docs/references/FlowEdge.mdx b/apps/docs/content/docs/references/FlowEdge.mdx similarity index 100% rename from content/docs/references/FlowEdge.mdx rename to apps/docs/content/docs/references/FlowEdge.mdx diff --git a/content/docs/references/FlowNode.mdx b/apps/docs/content/docs/references/FlowNode.mdx similarity index 100% rename from content/docs/references/FlowNode.mdx rename to apps/docs/content/docs/references/FlowNode.mdx diff --git a/content/docs/references/FlowNodeAction.mdx b/apps/docs/content/docs/references/FlowNodeAction.mdx similarity index 100% rename from content/docs/references/FlowNodeAction.mdx rename to apps/docs/content/docs/references/FlowNodeAction.mdx diff --git a/content/docs/references/FlowVariable.mdx b/apps/docs/content/docs/references/FlowVariable.mdx similarity index 100% rename from content/docs/references/FlowVariable.mdx rename to apps/docs/content/docs/references/FlowVariable.mdx diff --git a/content/docs/references/FormSection.mdx b/apps/docs/content/docs/references/FormSection.mdx similarity index 100% rename from content/docs/references/FormSection.mdx rename to apps/docs/content/docs/references/FormSection.mdx diff --git a/content/docs/references/FormView.mdx b/apps/docs/content/docs/references/FormView.mdx similarity index 100% rename from content/docs/references/FormView.mdx rename to apps/docs/content/docs/references/FormView.mdx diff --git a/content/docs/references/FormatValidation.mdx b/apps/docs/content/docs/references/FormatValidation.mdx similarity index 100% rename from content/docs/references/FormatValidation.mdx rename to apps/docs/content/docs/references/FormatValidation.mdx diff --git a/content/docs/references/GanttConfig.mdx b/apps/docs/content/docs/references/GanttConfig.mdx similarity index 100% rename from content/docs/references/GanttConfig.mdx rename to apps/docs/content/docs/references/GanttConfig.mdx diff --git a/content/docs/references/GroupNavItem.mdx b/apps/docs/content/docs/references/GroupNavItem.mdx similarity index 100% rename from content/docs/references/GroupNavItem.mdx rename to apps/docs/content/docs/references/GroupNavItem.mdx diff --git a/content/docs/references/HttpMethod.mdx b/apps/docs/content/docs/references/HttpMethod.mdx similarity index 100% rename from content/docs/references/HttpMethod.mdx rename to apps/docs/content/docs/references/HttpMethod.mdx diff --git a/content/docs/references/Index.mdx b/apps/docs/content/docs/references/Index.mdx similarity index 100% rename from content/docs/references/Index.mdx rename to apps/docs/content/docs/references/Index.mdx diff --git a/content/docs/references/KanbanConfig.mdx b/apps/docs/content/docs/references/KanbanConfig.mdx similarity index 100% rename from content/docs/references/KanbanConfig.mdx rename to apps/docs/content/docs/references/KanbanConfig.mdx diff --git a/content/docs/references/LDAPConfig.mdx b/apps/docs/content/docs/references/LDAPConfig.mdx similarity index 100% rename from content/docs/references/LDAPConfig.mdx rename to apps/docs/content/docs/references/LDAPConfig.mdx diff --git a/content/docs/references/License.mdx b/apps/docs/content/docs/references/License.mdx similarity index 100% rename from content/docs/references/License.mdx rename to apps/docs/content/docs/references/License.mdx diff --git a/content/docs/references/ListView.mdx b/apps/docs/content/docs/references/ListView.mdx similarity index 100% rename from content/docs/references/ListView.mdx rename to apps/docs/content/docs/references/ListView.mdx diff --git a/content/docs/references/Locale.mdx b/apps/docs/content/docs/references/Locale.mdx similarity index 100% rename from content/docs/references/Locale.mdx rename to apps/docs/content/docs/references/Locale.mdx diff --git a/content/docs/references/LogicOperator.mdx b/apps/docs/content/docs/references/LogicOperator.mdx similarity index 100% rename from content/docs/references/LogicOperator.mdx rename to apps/docs/content/docs/references/LogicOperator.mdx diff --git a/content/docs/references/Manifest.mdx b/apps/docs/content/docs/references/Manifest.mdx similarity index 100% rename from content/docs/references/Manifest.mdx rename to apps/docs/content/docs/references/Manifest.mdx diff --git a/content/docs/references/Mapping.mdx b/apps/docs/content/docs/references/Mapping.mdx similarity index 100% rename from content/docs/references/Mapping.mdx rename to apps/docs/content/docs/references/Mapping.mdx diff --git a/content/docs/references/MenuItem.mdx b/apps/docs/content/docs/references/MenuItem.mdx similarity index 100% rename from content/docs/references/MenuItem.mdx rename to apps/docs/content/docs/references/MenuItem.mdx diff --git a/content/docs/references/MetricType.mdx b/apps/docs/content/docs/references/MetricType.mdx similarity index 100% rename from content/docs/references/MetricType.mdx rename to apps/docs/content/docs/references/MetricType.mdx diff --git a/content/docs/references/NavigationItem.mdx b/apps/docs/content/docs/references/NavigationItem.mdx similarity index 100% rename from content/docs/references/NavigationItem.mdx rename to apps/docs/content/docs/references/NavigationItem.mdx diff --git a/content/docs/references/NetworkPolicy.mdx b/apps/docs/content/docs/references/NetworkPolicy.mdx similarity index 100% rename from content/docs/references/NetworkPolicy.mdx rename to apps/docs/content/docs/references/NetworkPolicy.mdx diff --git a/content/docs/references/OIDCConfig.mdx b/apps/docs/content/docs/references/OIDCConfig.mdx similarity index 100% rename from content/docs/references/OIDCConfig.mdx rename to apps/docs/content/docs/references/OIDCConfig.mdx diff --git a/content/docs/references/OWDModel.mdx b/apps/docs/content/docs/references/OWDModel.mdx similarity index 100% rename from content/docs/references/OWDModel.mdx rename to apps/docs/content/docs/references/OWDModel.mdx diff --git a/content/docs/references/Object.mdx b/apps/docs/content/docs/references/Object.mdx similarity index 100% rename from content/docs/references/Object.mdx rename to apps/docs/content/docs/references/Object.mdx diff --git a/content/docs/references/ObjectCapabilities.mdx b/apps/docs/content/docs/references/ObjectCapabilities.mdx similarity index 100% rename from content/docs/references/ObjectCapabilities.mdx rename to apps/docs/content/docs/references/ObjectCapabilities.mdx diff --git a/content/docs/references/ObjectNavItem.mdx b/apps/docs/content/docs/references/ObjectNavItem.mdx similarity index 100% rename from content/docs/references/ObjectNavItem.mdx rename to apps/docs/content/docs/references/ObjectNavItem.mdx diff --git a/content/docs/references/ObjectPermission.mdx b/apps/docs/content/docs/references/ObjectPermission.mdx similarity index 100% rename from content/docs/references/ObjectPermission.mdx rename to apps/docs/content/docs/references/ObjectPermission.mdx diff --git a/content/docs/references/Page.mdx b/apps/docs/content/docs/references/Page.mdx similarity index 100% rename from content/docs/references/Page.mdx rename to apps/docs/content/docs/references/Page.mdx diff --git a/content/docs/references/PageComponent.mdx b/apps/docs/content/docs/references/PageComponent.mdx similarity index 100% rename from content/docs/references/PageComponent.mdx rename to apps/docs/content/docs/references/PageComponent.mdx diff --git a/content/docs/references/PageNavItem.mdx b/apps/docs/content/docs/references/PageNavItem.mdx similarity index 100% rename from content/docs/references/PageNavItem.mdx rename to apps/docs/content/docs/references/PageNavItem.mdx diff --git a/content/docs/references/PageRegion.mdx b/apps/docs/content/docs/references/PageRegion.mdx similarity index 100% rename from content/docs/references/PageRegion.mdx rename to apps/docs/content/docs/references/PageRegion.mdx diff --git a/content/docs/references/PasswordPolicy.mdx b/apps/docs/content/docs/references/PasswordPolicy.mdx similarity index 100% rename from content/docs/references/PasswordPolicy.mdx rename to apps/docs/content/docs/references/PasswordPolicy.mdx diff --git a/content/docs/references/PermissionSet.mdx b/apps/docs/content/docs/references/PermissionSet.mdx similarity index 100% rename from content/docs/references/PermissionSet.mdx rename to apps/docs/content/docs/references/PermissionSet.mdx diff --git a/content/docs/references/Plan.mdx b/apps/docs/content/docs/references/Plan.mdx similarity index 100% rename from content/docs/references/Plan.mdx rename to apps/docs/content/docs/references/Plan.mdx diff --git a/content/docs/references/Policy.mdx b/apps/docs/content/docs/references/Policy.mdx similarity index 100% rename from content/docs/references/Policy.mdx rename to apps/docs/content/docs/references/Policy.mdx diff --git a/content/docs/references/Query.mdx b/apps/docs/content/docs/references/Query.mdx similarity index 100% rename from content/docs/references/Query.mdx rename to apps/docs/content/docs/references/Query.mdx diff --git a/content/docs/references/RateLimit.mdx b/apps/docs/content/docs/references/RateLimit.mdx similarity index 100% rename from content/docs/references/RateLimit.mdx rename to apps/docs/content/docs/references/RateLimit.mdx diff --git a/content/docs/references/Report.mdx b/apps/docs/content/docs/references/Report.mdx similarity index 100% rename from content/docs/references/Report.mdx rename to apps/docs/content/docs/references/Report.mdx diff --git a/content/docs/references/ReportChart.mdx b/apps/docs/content/docs/references/ReportChart.mdx similarity index 100% rename from content/docs/references/ReportChart.mdx rename to apps/docs/content/docs/references/ReportChart.mdx diff --git a/content/docs/references/ReportColumn.mdx b/apps/docs/content/docs/references/ReportColumn.mdx similarity index 100% rename from content/docs/references/ReportColumn.mdx rename to apps/docs/content/docs/references/ReportColumn.mdx diff --git a/content/docs/references/ReportGrouping.mdx b/apps/docs/content/docs/references/ReportGrouping.mdx similarity index 100% rename from content/docs/references/ReportGrouping.mdx rename to apps/docs/content/docs/references/ReportGrouping.mdx diff --git a/content/docs/references/ReportType.mdx b/apps/docs/content/docs/references/ReportType.mdx similarity index 100% rename from content/docs/references/ReportType.mdx rename to apps/docs/content/docs/references/ReportType.mdx diff --git a/content/docs/references/Role.mdx b/apps/docs/content/docs/references/Role.mdx similarity index 100% rename from content/docs/references/Role.mdx rename to apps/docs/content/docs/references/Role.mdx diff --git a/content/docs/references/SAMLConfig.mdx b/apps/docs/content/docs/references/SAMLConfig.mdx similarity index 100% rename from content/docs/references/SAMLConfig.mdx rename to apps/docs/content/docs/references/SAMLConfig.mdx diff --git a/content/docs/references/ScriptValidation.mdx b/apps/docs/content/docs/references/ScriptValidation.mdx similarity index 100% rename from content/docs/references/ScriptValidation.mdx rename to apps/docs/content/docs/references/ScriptValidation.mdx diff --git a/content/docs/references/SelectOption.mdx b/apps/docs/content/docs/references/SelectOption.mdx similarity index 100% rename from content/docs/references/SelectOption.mdx rename to apps/docs/content/docs/references/SelectOption.mdx diff --git a/content/docs/references/SessionPolicy.mdx b/apps/docs/content/docs/references/SessionPolicy.mdx similarity index 100% rename from content/docs/references/SessionPolicy.mdx rename to apps/docs/content/docs/references/SessionPolicy.mdx diff --git a/content/docs/references/SharingLevel.mdx b/apps/docs/content/docs/references/SharingLevel.mdx similarity index 100% rename from content/docs/references/SharingLevel.mdx rename to apps/docs/content/docs/references/SharingLevel.mdx diff --git a/content/docs/references/SharingRule.mdx b/apps/docs/content/docs/references/SharingRule.mdx similarity index 100% rename from content/docs/references/SharingRule.mdx rename to apps/docs/content/docs/references/SharingRule.mdx diff --git a/content/docs/references/SharingRuleType.mdx b/apps/docs/content/docs/references/SharingRuleType.mdx similarity index 100% rename from content/docs/references/SharingRuleType.mdx rename to apps/docs/content/docs/references/SharingRuleType.mdx diff --git a/content/docs/references/SortNode.mdx b/apps/docs/content/docs/references/SortNode.mdx similarity index 100% rename from content/docs/references/SortNode.mdx rename to apps/docs/content/docs/references/SortNode.mdx diff --git a/content/docs/references/StateMachineValidation.mdx b/apps/docs/content/docs/references/StateMachineValidation.mdx similarity index 100% rename from content/docs/references/StateMachineValidation.mdx rename to apps/docs/content/docs/references/StateMachineValidation.mdx diff --git a/content/docs/references/Territory.mdx b/apps/docs/content/docs/references/Territory.mdx similarity index 100% rename from content/docs/references/Territory.mdx rename to apps/docs/content/docs/references/Territory.mdx diff --git a/content/docs/references/TerritoryModel.mdx b/apps/docs/content/docs/references/TerritoryModel.mdx similarity index 100% rename from content/docs/references/TerritoryModel.mdx rename to apps/docs/content/docs/references/TerritoryModel.mdx diff --git a/content/docs/references/TerritoryType.mdx b/apps/docs/content/docs/references/TerritoryType.mdx similarity index 100% rename from content/docs/references/TerritoryType.mdx rename to apps/docs/content/docs/references/TerritoryType.mdx diff --git a/content/docs/references/TransformType.mdx b/apps/docs/content/docs/references/TransformType.mdx similarity index 100% rename from content/docs/references/TransformType.mdx rename to apps/docs/content/docs/references/TransformType.mdx diff --git a/content/docs/references/TranslationBundle.mdx b/apps/docs/content/docs/references/TranslationBundle.mdx similarity index 100% rename from content/docs/references/TranslationBundle.mdx rename to apps/docs/content/docs/references/TranslationBundle.mdx diff --git a/content/docs/references/TranslationData.mdx b/apps/docs/content/docs/references/TranslationData.mdx similarity index 100% rename from content/docs/references/TranslationData.mdx rename to apps/docs/content/docs/references/TranslationData.mdx diff --git a/content/docs/references/UniquenessValidation.mdx b/apps/docs/content/docs/references/UniquenessValidation.mdx similarity index 100% rename from content/docs/references/UniquenessValidation.mdx rename to apps/docs/content/docs/references/UniquenessValidation.mdx diff --git a/content/docs/references/UrlNavItem.mdx b/apps/docs/content/docs/references/UrlNavItem.mdx similarity index 100% rename from content/docs/references/UrlNavItem.mdx rename to apps/docs/content/docs/references/UrlNavItem.mdx diff --git a/content/docs/references/ValidationRule.mdx b/apps/docs/content/docs/references/ValidationRule.mdx similarity index 100% rename from content/docs/references/ValidationRule.mdx rename to apps/docs/content/docs/references/ValidationRule.mdx diff --git a/content/docs/references/View.mdx b/apps/docs/content/docs/references/View.mdx similarity index 100% rename from content/docs/references/View.mdx rename to apps/docs/content/docs/references/View.mdx diff --git a/content/docs/references/Webhook.mdx b/apps/docs/content/docs/references/Webhook.mdx similarity index 100% rename from content/docs/references/Webhook.mdx rename to apps/docs/content/docs/references/Webhook.mdx diff --git a/content/docs/references/WebhookReceiver.mdx b/apps/docs/content/docs/references/WebhookReceiver.mdx similarity index 100% rename from content/docs/references/WebhookReceiver.mdx rename to apps/docs/content/docs/references/WebhookReceiver.mdx diff --git a/content/docs/references/WebhookTriggerType.mdx b/apps/docs/content/docs/references/WebhookTriggerType.mdx similarity index 100% rename from content/docs/references/WebhookTriggerType.mdx rename to apps/docs/content/docs/references/WebhookTriggerType.mdx diff --git a/content/docs/references/WorkflowAction.mdx b/apps/docs/content/docs/references/WorkflowAction.mdx similarity index 100% rename from content/docs/references/WorkflowAction.mdx rename to apps/docs/content/docs/references/WorkflowAction.mdx diff --git a/content/docs/references/WorkflowRule.mdx b/apps/docs/content/docs/references/WorkflowRule.mdx similarity index 100% rename from content/docs/references/WorkflowRule.mdx rename to apps/docs/content/docs/references/WorkflowRule.mdx diff --git a/content/docs/references/WorkflowTriggerType.mdx b/apps/docs/content/docs/references/WorkflowTriggerType.mdx similarity index 100% rename from content/docs/references/WorkflowTriggerType.mdx rename to apps/docs/content/docs/references/WorkflowTriggerType.mdx diff --git a/content/docs/references/meta.json b/apps/docs/content/docs/references/meta.json similarity index 100% rename from content/docs/references/meta.json rename to apps/docs/content/docs/references/meta.json diff --git a/content/docs/specifications/data/advanced-types.mdx b/apps/docs/content/docs/specifications/data/advanced-types.mdx similarity index 100% rename from content/docs/specifications/data/advanced-types.mdx rename to apps/docs/content/docs/specifications/data/advanced-types.mdx diff --git a/content/docs/specifications/data/analytics-protocol.mdx b/apps/docs/content/docs/specifications/data/analytics-protocol.mdx similarity index 100% rename from content/docs/specifications/data/analytics-protocol.mdx rename to apps/docs/content/docs/specifications/data/analytics-protocol.mdx diff --git a/content/docs/specifications/data/ast-structure.mdx b/apps/docs/content/docs/specifications/data/ast-structure.mdx similarity index 100% rename from content/docs/specifications/data/ast-structure.mdx rename to apps/docs/content/docs/specifications/data/ast-structure.mdx diff --git a/content/docs/specifications/data/index.mdx b/apps/docs/content/docs/specifications/data/index.mdx similarity index 100% rename from content/docs/specifications/data/index.mdx rename to apps/docs/content/docs/specifications/data/index.mdx diff --git a/content/docs/specifications/data/meta.json b/apps/docs/content/docs/specifications/data/meta.json similarity index 100% rename from content/docs/specifications/data/meta.json rename to apps/docs/content/docs/specifications/data/meta.json diff --git a/content/docs/specifications/data/schema-definition.mdx b/apps/docs/content/docs/specifications/data/schema-definition.mdx similarity index 100% rename from content/docs/specifications/data/schema-definition.mdx rename to apps/docs/content/docs/specifications/data/schema-definition.mdx diff --git a/content/docs/specifications/data/transaction-model.mdx b/apps/docs/content/docs/specifications/data/transaction-model.mdx similarity index 100% rename from content/docs/specifications/data/transaction-model.mdx rename to apps/docs/content/docs/specifications/data/transaction-model.mdx diff --git a/content/docs/specifications/data/wire-protocol.mdx b/apps/docs/content/docs/specifications/data/wire-protocol.mdx similarity index 100% rename from content/docs/specifications/data/wire-protocol.mdx rename to apps/docs/content/docs/specifications/data/wire-protocol.mdx diff --git a/content/docs/specifications/index.mdx b/apps/docs/content/docs/specifications/index.mdx similarity index 100% rename from content/docs/specifications/index.mdx rename to apps/docs/content/docs/specifications/index.mdx diff --git a/content/docs/specifications/meta.json b/apps/docs/content/docs/specifications/meta.json similarity index 100% rename from content/docs/specifications/meta.json rename to apps/docs/content/docs/specifications/meta.json diff --git a/content/docs/specifications/server/audit-compliance.mdx b/apps/docs/content/docs/specifications/server/audit-compliance.mdx similarity index 100% rename from content/docs/specifications/server/audit-compliance.mdx rename to apps/docs/content/docs/specifications/server/audit-compliance.mdx diff --git a/content/docs/specifications/server/automation-rules.mdx b/apps/docs/content/docs/specifications/server/automation-rules.mdx similarity index 100% rename from content/docs/specifications/server/automation-rules.mdx rename to apps/docs/content/docs/specifications/server/automation-rules.mdx diff --git a/content/docs/specifications/server/index.mdx b/apps/docs/content/docs/specifications/server/index.mdx similarity index 100% rename from content/docs/specifications/server/index.mdx rename to apps/docs/content/docs/specifications/server/index.mdx diff --git a/content/docs/specifications/server/integration-etl.mdx b/apps/docs/content/docs/specifications/server/integration-etl.mdx similarity index 100% rename from content/docs/specifications/server/integration-etl.mdx rename to apps/docs/content/docs/specifications/server/integration-etl.mdx diff --git a/content/docs/specifications/server/meta.json b/apps/docs/content/docs/specifications/server/meta.json similarity index 100% rename from content/docs/specifications/server/meta.json rename to apps/docs/content/docs/specifications/server/meta.json diff --git a/content/docs/specifications/server/permission-governance.mdx b/apps/docs/content/docs/specifications/server/permission-governance.mdx similarity index 100% rename from content/docs/specifications/server/permission-governance.mdx rename to apps/docs/content/docs/specifications/server/permission-governance.mdx diff --git a/content/docs/specifications/server/plugin-manifest.mdx b/apps/docs/content/docs/specifications/server/plugin-manifest.mdx similarity index 100% rename from content/docs/specifications/server/plugin-manifest.mdx rename to apps/docs/content/docs/specifications/server/plugin-manifest.mdx diff --git a/content/docs/specifications/server/workflow-engine.mdx b/apps/docs/content/docs/specifications/server/workflow-engine.mdx similarity index 100% rename from content/docs/specifications/server/workflow-engine.mdx rename to apps/docs/content/docs/specifications/server/workflow-engine.mdx diff --git a/content/docs/specifications/ui/action-triggers.mdx b/apps/docs/content/docs/specifications/ui/action-triggers.mdx similarity index 100% rename from content/docs/specifications/ui/action-triggers.mdx rename to apps/docs/content/docs/specifications/ui/action-triggers.mdx diff --git a/content/docs/specifications/ui/component-schema.mdx b/apps/docs/content/docs/specifications/ui/component-schema.mdx similarity index 100% rename from content/docs/specifications/ui/component-schema.mdx rename to apps/docs/content/docs/specifications/ui/component-schema.mdx diff --git a/content/docs/specifications/ui/index.mdx b/apps/docs/content/docs/specifications/ui/index.mdx similarity index 100% rename from content/docs/specifications/ui/index.mdx rename to apps/docs/content/docs/specifications/ui/index.mdx diff --git a/content/docs/specifications/ui/layout-system.mdx b/apps/docs/content/docs/specifications/ui/layout-system.mdx similarity index 100% rename from content/docs/specifications/ui/layout-system.mdx rename to apps/docs/content/docs/specifications/ui/layout-system.mdx diff --git a/content/docs/specifications/ui/meta.json b/apps/docs/content/docs/specifications/ui/meta.json similarity index 100% rename from content/docs/specifications/ui/meta.json rename to apps/docs/content/docs/specifications/ui/meta.json diff --git a/content/docs/specifications/ui/report-template.mdx b/apps/docs/content/docs/specifications/ui/report-template.mdx similarity index 100% rename from content/docs/specifications/ui/report-template.mdx rename to apps/docs/content/docs/specifications/ui/report-template.mdx diff --git a/content/docs/specifications/ui/view-protocol.mdx b/apps/docs/content/docs/specifications/ui/view-protocol.mdx similarity index 100% rename from content/docs/specifications/ui/view-protocol.mdx rename to apps/docs/content/docs/specifications/ui/view-protocol.mdx diff --git a/apps/docs/content/prompts/index.mdx b/apps/docs/content/prompts/index.mdx new file mode 100644 index 000000000..43735204a --- /dev/null +++ b/apps/docs/content/prompts/index.mdx @@ -0,0 +1,125 @@ +--- +title: Documentation +--- + +### 🟢 P0: 核心元模型 (The Metamodel) + +*没有这部分,ObjectQL 和 ObjectUI 无法通信,系统无法运转。这是“万物皆对象”的法律定义。* + +* **[ ] 1. 实体定义协议 (`EntitySchema`)** +* **定义目标**: 描述一个“对象”长什么样。 +* **关键字段**: `name` (机器名), `label` (显示名), `dataSource` (存哪), `dbName` (物理表名)。 +* **用途**: ObjectQL 解析 `.gql` 文件后生成的 AST 结构;`/_api/metadata/objects/{name}` 的返回值。 + + +* **[ ] 2. 字段定义协议 (`FieldSchema`)** +* **定义目标**: 描述对象里的“属性”。 +* **关键字段**: `type` (text/number/lookup...), `required`, `unique`, `defaultValue`。 +* **关键枚举**: `FieldType` (必须枚举所有支持的类型,如 `master_detail`, `formula`, `image`)。 +* **用途**: 告诉前端渲染什么组件,告诉后端怎么建表。 + + +* **[ ] 3. 视图/布局协议 (`LayoutSchema`)** +* **定义目标**: 描述界面如何排列。 +* **关键结构**: +* `ListView`: 列定义 (`columns`), 排序 (`sort`), 筛选 (`filters`)。 +* `FormView`: 区域 (`sections`), 字段分组 (`groups`)。 + + +* **用途**: ObjectUI 根据这个 JSON 渲染页面,而不是写死 React 代码。 + + + +--- + +### 🔵 P1: 插件与分发 (Packaging & Runtime) + +*没有这部分,你的应用市场和插件机制就是空谈。* + +* **[ ] 4. 插件清单协议 (`ManifestSchema`)** +* **定义目标**: 描述一个软件包(插件/应用)。 +* **文件对应**: `objectstack.config.ts` 或 `package.json > objectstack`。 +* **关键字段**: `id`, `version`, `type` (app/plugin/driver), `permissions` (申请权限), `menus` (导航注入)。 +* **用途**: CLI 打包校验,应用商店展示。 + + +* **[ ] 5. 生命周期接口 (`PluginLifecycle`)** +* **定义目标**: 插件在运行时如何被加载。 +* **接口定义**: `interface ObjectStackPlugin` +* **关键方法**: `onInstall(ctx)`, `onEnable(ctx)`, `onDisable(ctx)`。 +* **Context 定义**: `ctx.ql` (数据能力), `ctx.os` (系统能力), `ctx.logger`。 +* **用途**: ObjectOS 加载 `node_modules` 时的统一入口标准。 + + +* **[ ] 6. 导航菜单协议 (`NavigationSchema`)** +* **定义目标**: 描述侧边栏菜单结构。 +* **关键字段**: `label`, `icon`, `path`, `children`, `visible_on` (权限控制)。 +* **用途**: 多个插件的菜单合并渲染到 ObjectCloud / Studio 的侧边栏。 + + + +--- + +### 🟠 P2: 驱动与连接 (Drivers & Logic) + +*这部分决定了你的系统扩展性(能不能连 Excel,能不能写自定义代码)。* + +* **[ ] 7. 数据驱动接口 (`DriverInterface`)** +* **定义目标**: 任何数据库要想接入 ObjectQL,必须实现的标准。 +* **核心方法**: +* `find(entity, query)` +* `create(entity, data)` +* `update(entity, id, data)` +* `delete(entity, id)` +* `syncSchema(entity)` (DDL 操作:建表/加字段) + + +* **用途**: 让 `driver-postgres`, `driver-excel`, `driver-salesforce` 行为一致。 + + +* **[ ] 8. 触发器上下文协议 (`TriggerContext`)** +* **定义目标**: 当用户写 `beforeInsert` 代码时,传入参数的标准。 +* **接口定义**: +* `doc` (当前记录) +* `previousDoc` (修改前的记录) +* `userId` (谁在操作) + + +* **用途**: 规范化业务逻辑代码的编写。 + + +* **[ ] 9. UI 组件契约 (`WidgetContract`)** +* **定义目标**: 第三方开发者开发自定义 UI 组件(如:地图选择器)的标准。 +* **接口定义**: `interface FieldWidgetProps { value, onChange, readonly, options }`。 +* **用途**: 让社区开发的 React 组件能无缝嵌入到 ObjectUI 的表单中。 + + + +--- + +### 💾 你的“立法”行动路线图 + +建议你在 `packages/spec` 仓库中按以下文件结构落地这些协议: + +```text +packages/spec/ +├── src/ +│ ├── types/ +│ │ ├── meta/ <-- P0: Metamodel +│ │ │ ├── entity.ts (EntitySchema) +│ │ │ ├── field.ts (FieldSchema) +│ │ │ └── view.ts (LayoutSchema) +│ │ ├── bundle/ <-- P1: Packaging +│ │ │ ├── manifest.ts (ManifestSchema) +│ │ │ └── menu.ts (NavigationSchema) +│ │ ├── runtime/ <-- P2: Logic +│ │ │ ├── plugin.ts (Lifecycle) +│ │ │ └── driver.ts (DriverInterface) +│ │ └── auth/ <-- from plugin-auth +│ │ └── session.ts (User/Session Interface) +│ ├── zods/ <-- 对应的 Zod 实现 (用于运行时校验) +│ └── constants/ <-- 目录约定 (paths) +└── package.json + +``` + diff --git a/apps/docs/content/prompts/objectstack.prompt.md b/apps/docs/content/prompts/objectstack.prompt.md new file mode 100644 index 000000000..1e06983c1 --- /dev/null +++ b/apps/docs/content/prompts/objectstack.prompt.md @@ -0,0 +1,80 @@ +🌌 ObjectStack Master Architecture Context + +Role: You are the Chief Architect and CPO of ObjectStack Inc. + +Mission: Build the "Post-SaaS Operating System" — an open-core, local-first ecosystem that virtualizes data (SQL/Redis/Excel) and unifies business logic. +1. The "Galaxy" Architecture (Monorepo Structure) +We use a Monorepo (pnpm + Turborepo) to manage the ecosystem, but components are designed to be published independently. +Directory Structure & Responsibilities + * packages/protocol (The Constitution) [Apache 2.0] + * CRITICAL: Contains the shared manifest.schema.json, TypeScript interfaces, and plugin lifecycle hooks (onInstall, onEnable). + * Rule: All other packages depend on this. No circular dependencies. + * packages/objectql (Data Engine) [Apache 2.0] + * Universal Data Protocol. Compiles GraphQL-like queries into SQL/Redis commands. + * packages/objectos (Business Kernel) [AGPL v3] + * The Crown Jewel. Identity, RBAC, Workflow, and Audit Logging. + * License Note: Strict AGPL to prevent SaaS wrapping by competitors. + * packages/objectui (Projection Engine) [MIT] + * React/Shadcn UI components for Server-Driven UI (SDUI). + * packages/sdk (Plugin Kit) [MIT] + * Tools for third-party developers to build Marketplace plugins. + * drivers/* [Apache 2.0] + * driver-postgres, driver-redis, driver-excel. + * Must implement interfaces defined in packages/protocol. +Commercial & Apps + * apps/www (Official Website): Marketing, Landing Pages, "Platform" Showcase. + * apps/marketplace (Public Storefront): SEO-optimized Registry for plugins/drivers. + * apps/cloud (SaaS Console): Multi-tenant management dashboard (Private). + * apps/studio (Desktop IDE): Electron-based local-first tool for schema editing & data management. + * modules/enterprise-core (Private Source): SSO, Oracle Drivers, Advanced Audit. + +2. Navigation & Information Architecture (The "Mega Menu") + +Reflects the strategy: Technology (Platform) vs. Service (Enterprise). +Top Navbar Layout: +[Logo] | Platform ▾ | Ecosystem ▾ | Developers ▾ | [Enterprise] | Pricing || [Search] [GitHub] [Console ▾] + * Platform ▾ (The Tech Stack) + * Col 1 (Framework): ObjectQL, ObjectOS, ObjectUI. + * Col 2 (Tools): Object Studio (Highlight: Local-First IDE), ObjectCloud, CLI. + * Footer: "Community vs. Enterprise Edition →" + * Ecosystem ▾ (The Connections) + * Marketplace (Link to apps/marketplace). + * Drivers: Icons for Postgres, Redis, Excel, Salesforce. + * Enterprise (Direct Link) + * High-value entry for SLA, Compliance, and Self-hosted Licensing. + * Console ▾ (Auth Entry) + * ObjectCloud (SaaS Login). + * Enterprise Portal (License Management). + * +3. The Packaging Protocol (The "Manifest") + +We do not rely solely on package.json. We use a strict ObjectStack Manifest standard. +File: objectstack.config.ts (or strict JSON inside package.json) +Schema Location: packages/protocol/schemas/manifest.schema.json +Key Fields: + * type: app | plugin | driver + * menus: Array of navigation items to inject into the OS sidebar. + * permissions: Array of requested capabilities (e.g., finance.read). + * entities: Path patterns to auto-load Schema files (e.g., ./src/schemas/*.gql). + * lifecycle: Hooks for onInstall, onEnable. +4. Strategic Rules for AI Generation +A. Licensing & Headers + * When generating code for packages/objectos, ALWAYS add the AGPL v3 header. + * When generating code for packages/objectql, use Apache 2.0. + * When generating code for apps/studio or apps/www, use MIT. +B. Terminology + * NEVER say "SaaS Product" when referring to the open source core. Call it the "Framework" or "Engine". + * ALWAYS emphasize "Polyglot Data". We are not just a SQL wrapper; we handle Redis and Excel native files. + * Studio vs. Cloud: Studio is for "Local Data & Development". Cloud is for "Deployment & Collaboration". +C. Coding Style + * Monorepo: Use generic imports (e.g., import { User } from '@objectstack/protocol') instead of relative paths like ../../packages/protocol. + * UI: Use Shadcn UI + Tailwind CSS. Dark mode default for developer tools (Studio/Console). + * Data Fetching: All UI components must be Server-Driven or strongly typed against the Schema. +5. Execution Context +When I ask you to build a feature, first determine: + * Which layer does it belong to? (Protocol? Engine? UI?) + * Is it Open Source or Commercial? + * Does it require updating the Protocol Manifest? +Example: +User: "Add a CRM plugin." +AI: "I will define the CRM data structure in packages/protocol, create a crm-plugin package implementing the manifest.json standard, and register the 'Customer' menu item." \ No newline at end of file diff --git a/next.config.mjs b/apps/docs/next.config.mjs similarity index 100% rename from next.config.mjs rename to apps/docs/next.config.mjs diff --git a/apps/docs/package.json b/apps/docs/package.json new file mode 100644 index 000000000..fd2d14460 --- /dev/null +++ b/apps/docs/package.json @@ -0,0 +1,38 @@ +{ + "name": "@objectstack/docs", + "version": "0.1.0", + "private": true, + "description": "ObjectStack Protocol Documentation Site", + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "next lint" + }, + "dependencies": { + "client-only": "^0.0.1", + "fumadocs-core": "^16.4.7", + "fumadocs-mdx": "^14.2.5", + "fumadocs-ui": "^16.4.7", + "lucide-react": "^0.562.0", + "next": "^16.1.3", + "react": "^19.2.3", + "react-dom": "^19.2.3", + "server-only": "^0.0.1" + }, + "devDependencies": { + "@tailwindcss/postcss": "^4.1.18", + "@tailwindcss/typography": "^0.5.19", + "@types/node": "^20.10.0", + "@types/react": "^19.2.8", + "@types/react-dom": "^19.2.3", + "autoprefixer": "^10.4.23", + "postcss": "^8.5.6", + "tailwindcss": "^4.0.0", + "typescript": "^5.3.0", + "zod": "4.3.5" + }, + "engines": { + "node": ">=18.0.0" + } +} diff --git a/postcss.config.mjs b/apps/docs/postcss.config.mjs similarity index 100% rename from postcss.config.mjs rename to apps/docs/postcss.config.mjs diff --git a/source.config.ts b/apps/docs/source.config.ts similarity index 100% rename from source.config.ts rename to apps/docs/source.config.ts diff --git a/tailwind.config.js b/apps/docs/tailwind.config.js similarity index 100% rename from tailwind.config.js rename to apps/docs/tailwind.config.js diff --git a/tsconfig.app.json b/apps/docs/tsconfig.json similarity index 50% rename from tsconfig.app.json rename to apps/docs/tsconfig.json index 5ddf5a504..5bde8ae1e 100644 --- a/tsconfig.app.json +++ b/apps/docs/tsconfig.json @@ -1,7 +1,11 @@ { "compilerOptions": { "target": "ES2022", - "lib": ["dom", "dom.iterable", "esnext"], + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], "allowJs": true, "skipLibCheck": true, "strict": true, @@ -11,7 +15,7 @@ "moduleResolution": "bundler", "resolveJsonModule": true, "isolatedModules": true, - "jsx": "preserve", + "jsx": "react-jsx", "incremental": true, "plugins": [ { @@ -19,9 +23,23 @@ } ], "paths": { - "@/*": ["./*"] + "@/*": [ + "./*" + ], + "fumadocs-mdx:collections/*": [ + "./.source/*" + ] } }, - "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], - "exclude": ["node_modules"] + "include": [ + "next-env.d.ts", + "**/*.ts", + "**/*.tsx", + ".next/types/**/*.ts", + ".next/dev/types/**/*.ts" + ], + "exclude": [ + "node_modules", + "source.config.ts" + ] } diff --git a/package.json b/package.json index 327cdd74c..2de04de9a 100644 --- a/package.json +++ b/package.json @@ -9,9 +9,9 @@ "clean": "pnpm -r --parallel clean && rm -rf dist", "version": "changeset version", "release": "pnpm run build && changeset publish", - "docs:dev": "next dev", - "docs:build": "next build", - "docs:start": "next start" + "docs:dev": "pnpm --filter @objectstack/docs dev", + "docs:build": "pnpm --filter @objectstack/docs build", + "docs:start": "pnpm --filter @objectstack/docs start" }, "keywords": [ "objectstack", @@ -24,30 +24,11 @@ "license": "Apache-2.0", "devDependencies": { "@changesets/cli": "^2.27.1", - "@tailwindcss/postcss": "^4.1.18", - "@tailwindcss/typography": "^0.5.19", "@types/node": "^20.10.0", - "@types/react": "^19.2.8", - "@types/react-dom": "^19.2.3", - "autoprefixer": "^10.4.23", - "fumadocs-core": "^16.4.7", - "fumadocs-mdx": "^14.2.5", - "fumadocs-ui": "^16.4.7", - "postcss": "^8.5.6", - "tailwindcss": "^4.0.0", - "typescript": "^5.3.0", - "zod": "4.3.5" + "typescript": "^5.3.0" }, "engines": { "node": ">=18.0.0" }, - "packageManager": "pnpm@10.28.0", - "dependencies": { - "client-only": "^0.0.1", - "lucide-react": "^0.562.0", - "next": "^16.1.3", - "react": "^19.2.3", - "react-dom": "^19.2.3", - "server-only": "^0.0.1" - } + "packageManager": "pnpm@10.28.0" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 17b3f5434..5b056322e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,10 +7,31 @@ settings: importers: .: + devDependencies: + '@changesets/cli': + specifier: ^2.27.1 + version: 2.29.8(@types/node@20.19.30) + '@types/node': + specifier: ^20.10.0 + version: 20.19.30 + typescript: + specifier: ^5.3.0 + version: 5.9.3 + + apps/docs: dependencies: client-only: specifier: ^0.0.1 version: 0.0.1 + fumadocs-core: + specifier: ^16.4.7 + version: 16.4.7(@types/react@19.2.8)(lucide-react@0.562.0(react@19.2.3))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@4.3.5) + fumadocs-mdx: + specifier: ^14.2.5 + version: 14.2.5(@types/react@19.2.8)(fumadocs-core@16.4.7(@types/react@19.2.8)(lucide-react@0.562.0(react@19.2.3))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@4.3.5))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3) + fumadocs-ui: + specifier: ^16.4.7 + version: 16.4.7(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(fumadocs-core@16.4.7(@types/react@19.2.8)(lucide-react@0.562.0(react@19.2.3))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@4.3.5))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(tailwindcss@4.1.18) lucide-react: specifier: ^0.562.0 version: 0.562.0(react@19.2.3) @@ -27,15 +48,12 @@ importers: specifier: ^0.0.1 version: 0.0.1 devDependencies: - '@changesets/cli': - specifier: ^2.27.1 - version: 2.29.8(@types/node@20.19.30) '@tailwindcss/postcss': specifier: ^4.1.18 version: 4.1.18 '@tailwindcss/typography': specifier: ^0.5.19 - version: 0.5.19(tailwindcss@4.0.0) + version: 0.5.19(tailwindcss@4.1.18) '@types/node': specifier: ^20.10.0 version: 20.19.30 @@ -48,21 +66,12 @@ importers: autoprefixer: specifier: ^10.4.23 version: 10.4.23(postcss@8.5.6) - fumadocs-core: - specifier: ^16.4.7 - version: 16.4.7(@types/react@19.2.8)(lucide-react@0.562.0(react@19.2.3))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@4.3.5) - fumadocs-mdx: - specifier: ^14.2.5 - version: 14.2.5(@types/react@19.2.8)(fumadocs-core@16.4.7(@types/react@19.2.8)(lucide-react@0.562.0(react@19.2.3))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@4.3.5))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3) - fumadocs-ui: - specifier: ^16.4.7 - version: 16.4.7(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(fumadocs-core@16.4.7(@types/react@19.2.8)(lucide-react@0.562.0(react@19.2.3))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@4.3.5))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(tailwindcss@4.0.0) postcss: specifier: ^8.5.6 version: 8.5.6 tailwindcss: specifier: ^4.0.0 - version: 4.0.0 + version: 4.1.18 typescript: specifier: ^5.3.0 version: 5.9.3 @@ -2187,9 +2196,6 @@ packages: tailwind-merge@3.4.0: resolution: {integrity: sha512-uSaO4gnW+b3Y2aWoWfFpX62vn2sR3skfhbjsEnaBI81WD1wBLlHZe5sWf0AqjksNdYTbGBEd0UasQMT3SNV15g==} - tailwindcss@4.0.0: - resolution: {integrity: sha512-ULRPI3A+e39T7pSaf1xoi58AqqJxVCLg8F/uM5A3FadUbnyDTgltVnXJvdkTjwCOGA6NazqHVcwPJC5h2vRYVQ==} - tailwindcss@4.1.18: resolution: {integrity: sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw==} @@ -2576,7 +2582,7 @@ snapshots: '@formatjs/fast-memoize': 3.0.3 tslib: 2.8.1 - '@fumadocs/ui@16.4.7(@types/react@19.2.8)(fumadocs-core@16.4.7(@types/react@19.2.8)(lucide-react@0.562.0(react@19.2.3))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@4.3.5))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(tailwindcss@4.0.0)': + '@fumadocs/ui@16.4.7(@types/react@19.2.8)(fumadocs-core@16.4.7(@types/react@19.2.8)(lucide-react@0.562.0(react@19.2.3))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@4.3.5))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(tailwindcss@4.1.18)': dependencies: fumadocs-core: 16.4.7(@types/react@19.2.8)(lucide-react@0.562.0(react@19.2.3))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@4.3.5) next-themes: 0.4.6(react-dom@19.2.3(react@19.2.3))(react@19.2.3) @@ -2587,7 +2593,7 @@ snapshots: optionalDependencies: '@types/react': 19.2.8 next: 16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - tailwindcss: 4.0.0 + tailwindcss: 4.1.18 '@img/colour@1.0.0': optional: true @@ -3276,10 +3282,10 @@ snapshots: postcss: 8.5.6 tailwindcss: 4.1.18 - '@tailwindcss/typography@0.5.19(tailwindcss@4.0.0)': + '@tailwindcss/typography@0.5.19(tailwindcss@4.1.18)': dependencies: postcss-selector-parser: 6.0.10 - tailwindcss: 4.0.0 + tailwindcss: 4.1.18 '@types/debug@4.1.12': dependencies: @@ -3646,9 +3652,9 @@ snapshots: transitivePeerDependencies: - supports-color - fumadocs-ui@16.4.7(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(fumadocs-core@16.4.7(@types/react@19.2.8)(lucide-react@0.562.0(react@19.2.3))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@4.3.5))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(tailwindcss@4.0.0): + fumadocs-ui@16.4.7(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(fumadocs-core@16.4.7(@types/react@19.2.8)(lucide-react@0.562.0(react@19.2.3))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@4.3.5))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(tailwindcss@4.1.18): dependencies: - '@fumadocs/ui': 16.4.7(@types/react@19.2.8)(fumadocs-core@16.4.7(@types/react@19.2.8)(lucide-react@0.562.0(react@19.2.3))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@4.3.5))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(tailwindcss@4.0.0) + '@fumadocs/ui': 16.4.7(@types/react@19.2.8)(fumadocs-core@16.4.7(@types/react@19.2.8)(lucide-react@0.562.0(react@19.2.3))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(zod@4.3.5))(next@16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(tailwindcss@4.1.18) '@radix-ui/react-accordion': 1.2.12(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-collapsible': 1.1.12(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.8))(@types/react@19.2.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) @@ -3670,7 +3676,7 @@ snapshots: optionalDependencies: '@types/react': 19.2.8 next: 16.1.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - tailwindcss: 4.0.0 + tailwindcss: 4.1.18 transitivePeerDependencies: - '@types/react-dom' @@ -4709,8 +4715,6 @@ snapshots: tailwind-merge@3.4.0: {} - tailwindcss@4.0.0: {} - tailwindcss@4.1.18: {} tapable@2.3.0: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 18ec407ef..4e708bd3c 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,2 +1,3 @@ packages: - 'packages/*' + - 'apps/*' diff --git a/tsconfig.json b/tsconfig.json index c9563b7db..e5ab4edd7 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,53 +1,24 @@ { "compilerOptions": { - "target": "ES2022", - "lib": [ - "dom", - "dom.iterable", - "esnext" - ], - "module": "esnext", + "target": "ES2020", + "module": "commonjs", + "lib": ["ES2020"], "declaration": true, "declarationMap": true, "strict": true, "esModuleInterop": true, "skipLibCheck": true, "forceConsistentCasingInFileNames": true, - "moduleResolution": "bundler", + "moduleResolution": "node", "resolveJsonModule": true, - "noUnusedLocals": false, - "noUnusedParameters": false, + "noUnusedLocals": true, + "noUnusedParameters": true, "noImplicitReturns": true, - "noFallthroughCasesInSwitch": true, - "allowJs": true, - "noEmit": true, - "incremental": true, - "isolatedModules": true, - "jsx": "react-jsx", - "plugins": [ - { - "name": "next" - } - ], - "paths": { - "@/*": [ - "./*" - ], - "fumadocs-mdx:collections/*": [ - "./.source/*" - ] - } + "noFallthroughCasesInSwitch": true }, - "include": [ - "next-env.d.ts", - "**/*.ts", - "**/*.tsx", - ".next/types/**/*.ts", - ".next/dev/types/**/*.ts" - ], "exclude": [ "node_modules", "packages", - "source.config.ts" + "apps" ] } From c60ebe76c76bd8e18deb0e727dab7e744da7bff1 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 19 Jan 2026 04:19:54 +0000 Subject: [PATCH 05/11] Keep documentation content at root /content/docs as requested Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com> --- README.md | 4 +++- apps/docs/README.md | 17 ++++++++++------- apps/docs/source.config.ts | 2 +- {apps/docs/content => content}/docs.site.json | 0 .../docs/concepts/ai-codex.mdx | 0 .../docs/concepts/architecture.mdx | 0 .../docs/concepts/core-values.mdx | 0 .../docs/concepts/enterprise-patterns.mdx | 0 .../docs/concepts/manifesto.mdx | 0 .../content => content}/docs/concepts/meta.json | 0 .../docs/concepts/security_architecture.md | 0 .../docs/concepts/terminology.mdx | 0 {apps/docs/content => content}/docs/index.mdx | 0 .../docs/references/AIKnowledge.mdx | 0 .../docs/references/AIModelConfig.mdx | 0 .../docs/references/AITool.mdx | 0 .../docs/references/Action.mdx | 0 .../docs/references/ActionParam.mdx | 0 .../docs/references/Agent.mdx | 0 .../docs/references/ApiEndpoint.mdx | 0 .../docs/references/ApiMapping.mdx | 0 .../content => content}/docs/references/App.mdx | 0 .../docs/references/AppBranding.mdx | 0 .../docs/references/AuditPolicy.mdx | 0 .../docs/references/AuthProtocol.mdx | 0 .../docs/references/AuthProvider.mdx | 0 .../docs/references/CalendarConfig.mdx | 0 .../docs/references/ChartType.mdx | 0 .../docs/references/Dashboard.mdx | 0 .../docs/references/DashboardNavItem.mdx | 0 .../docs/references/DashboardWidget.mdx | 0 .../docs/references/Dataset.mdx | 0 .../docs/references/DatasetMode.mdx | 0 .../docs/references/Datasource.mdx | 0 .../docs/references/DatasourceCapabilities.mdx | 0 .../docs/references/DriverType.mdx | 0 .../docs/references/EmailAlertAction.mdx | 0 .../docs/references/Feature.mdx | 0 .../docs/references/Field.mdx | 0 .../docs/references/FieldMapping.mdx | 0 .../docs/references/FieldNode.mdx | 0 .../docs/references/FieldPermission.mdx | 0 .../docs/references/FieldType.mdx | 0 .../docs/references/FieldUpdateAction.mdx | 0 .../docs/references/FilterNode.mdx | 0 .../docs/references/FilterOperator.mdx | 0 .../docs/references/Flow.mdx | 0 .../docs/references/FlowEdge.mdx | 0 .../docs/references/FlowNode.mdx | 0 .../docs/references/FlowNodeAction.mdx | 0 .../docs/references/FlowVariable.mdx | 0 .../docs/references/FormSection.mdx | 0 .../docs/references/FormView.mdx | 0 .../docs/references/FormatValidation.mdx | 0 .../docs/references/GanttConfig.mdx | 0 .../docs/references/GroupNavItem.mdx | 0 .../docs/references/HttpMethod.mdx | 0 .../docs/references/Index.mdx | 0 .../docs/references/KanbanConfig.mdx | 0 .../docs/references/LDAPConfig.mdx | 0 .../docs/references/License.mdx | 0 .../docs/references/ListView.mdx | 0 .../docs/references/Locale.mdx | 0 .../docs/references/LogicOperator.mdx | 0 .../docs/references/Manifest.mdx | 0 .../docs/references/Mapping.mdx | 0 .../docs/references/MenuItem.mdx | 0 .../docs/references/MetricType.mdx | 0 .../docs/references/NavigationItem.mdx | 0 .../docs/references/NetworkPolicy.mdx | 0 .../docs/references/OIDCConfig.mdx | 0 .../docs/references/OWDModel.mdx | 0 .../docs/references/Object.mdx | 0 .../docs/references/ObjectCapabilities.mdx | 0 .../docs/references/ObjectNavItem.mdx | 0 .../docs/references/ObjectPermission.mdx | 0 .../docs/references/Page.mdx | 0 .../docs/references/PageComponent.mdx | 0 .../docs/references/PageNavItem.mdx | 0 .../docs/references/PageRegion.mdx | 0 .../docs/references/PasswordPolicy.mdx | 0 .../docs/references/PermissionSet.mdx | 0 .../docs/references/Plan.mdx | 0 .../docs/references/Policy.mdx | 0 .../docs/references/Query.mdx | 0 .../docs/references/RateLimit.mdx | 0 .../docs/references/Report.mdx | 0 .../docs/references/ReportChart.mdx | 0 .../docs/references/ReportColumn.mdx | 0 .../docs/references/ReportGrouping.mdx | 0 .../docs/references/ReportType.mdx | 0 .../docs/references/Role.mdx | 0 .../docs/references/SAMLConfig.mdx | 0 .../docs/references/ScriptValidation.mdx | 0 .../docs/references/SelectOption.mdx | 0 .../docs/references/SessionPolicy.mdx | 0 .../docs/references/SharingLevel.mdx | 0 .../docs/references/SharingRule.mdx | 0 .../docs/references/SharingRuleType.mdx | 0 .../docs/references/SortNode.mdx | 0 .../docs/references/StateMachineValidation.mdx | 0 .../docs/references/Territory.mdx | 0 .../docs/references/TerritoryModel.mdx | 0 .../docs/references/TerritoryType.mdx | 0 .../docs/references/TransformType.mdx | 0 .../docs/references/TranslationBundle.mdx | 0 .../docs/references/TranslationData.mdx | 0 .../docs/references/UniquenessValidation.mdx | 0 .../docs/references/UrlNavItem.mdx | 0 .../docs/references/ValidationRule.mdx | 0 .../docs/references/View.mdx | 0 .../docs/references/Webhook.mdx | 0 .../docs/references/WebhookReceiver.mdx | 0 .../docs/references/WebhookTriggerType.mdx | 0 .../docs/references/WorkflowAction.mdx | 0 .../docs/references/WorkflowRule.mdx | 0 .../docs/references/WorkflowTriggerType.mdx | 0 .../docs/references/meta.json | 0 .../docs/specifications/data/advanced-types.mdx | 0 .../specifications/data/analytics-protocol.mdx | 0 .../docs/specifications/data/ast-structure.mdx | 0 .../docs/specifications/data/index.mdx | 0 .../docs/specifications/data/meta.json | 0 .../specifications/data/schema-definition.mdx | 0 .../specifications/data/transaction-model.mdx | 0 .../docs/specifications/data/wire-protocol.mdx | 0 .../docs/specifications/index.mdx | 0 .../docs/specifications/meta.json | 0 .../specifications/server/audit-compliance.mdx | 0 .../specifications/server/automation-rules.mdx | 0 .../docs/specifications/server/index.mdx | 0 .../specifications/server/integration-etl.mdx | 0 .../docs/specifications/server/meta.json | 0 .../server/permission-governance.mdx | 0 .../specifications/server/plugin-manifest.mdx | 0 .../specifications/server/workflow-engine.mdx | 0 .../docs/specifications/ui/action-triggers.mdx | 0 .../docs/specifications/ui/component-schema.mdx | 0 .../docs/specifications/ui/index.mdx | 0 .../docs/specifications/ui/layout-system.mdx | 0 .../docs/specifications/ui/meta.json | 0 .../docs/specifications/ui/report-template.mdx | 0 .../docs/specifications/ui/view-protocol.mdx | 0 .../docs/content => content}/prompts/index.mdx | 0 .../prompts/objectstack.prompt.md | 0 package.json | 3 +++ pnpm-lock.yaml | 4 ++++ 147 files changed, 21 insertions(+), 9 deletions(-) rename {apps/docs/content => content}/docs.site.json (100%) rename {apps/docs/content => content}/docs/concepts/ai-codex.mdx (100%) rename {apps/docs/content => content}/docs/concepts/architecture.mdx (100%) rename {apps/docs/content => content}/docs/concepts/core-values.mdx (100%) rename {apps/docs/content => content}/docs/concepts/enterprise-patterns.mdx (100%) rename {apps/docs/content => content}/docs/concepts/manifesto.mdx (100%) rename {apps/docs/content => content}/docs/concepts/meta.json (100%) rename {apps/docs/content => content}/docs/concepts/security_architecture.md (100%) rename {apps/docs/content => content}/docs/concepts/terminology.mdx (100%) rename {apps/docs/content => content}/docs/index.mdx (100%) rename {apps/docs/content => content}/docs/references/AIKnowledge.mdx (100%) rename {apps/docs/content => content}/docs/references/AIModelConfig.mdx (100%) rename {apps/docs/content => content}/docs/references/AITool.mdx (100%) rename {apps/docs/content => content}/docs/references/Action.mdx (100%) rename {apps/docs/content => content}/docs/references/ActionParam.mdx (100%) rename {apps/docs/content => content}/docs/references/Agent.mdx (100%) rename {apps/docs/content => content}/docs/references/ApiEndpoint.mdx (100%) rename {apps/docs/content => content}/docs/references/ApiMapping.mdx (100%) rename {apps/docs/content => content}/docs/references/App.mdx (100%) rename {apps/docs/content => content}/docs/references/AppBranding.mdx (100%) rename {apps/docs/content => content}/docs/references/AuditPolicy.mdx (100%) rename {apps/docs/content => content}/docs/references/AuthProtocol.mdx (100%) rename {apps/docs/content => content}/docs/references/AuthProvider.mdx (100%) rename {apps/docs/content => content}/docs/references/CalendarConfig.mdx (100%) rename {apps/docs/content => content}/docs/references/ChartType.mdx (100%) rename {apps/docs/content => content}/docs/references/Dashboard.mdx (100%) rename {apps/docs/content => content}/docs/references/DashboardNavItem.mdx (100%) rename {apps/docs/content => content}/docs/references/DashboardWidget.mdx (100%) rename {apps/docs/content => content}/docs/references/Dataset.mdx (100%) rename {apps/docs/content => content}/docs/references/DatasetMode.mdx (100%) rename {apps/docs/content => content}/docs/references/Datasource.mdx (100%) rename {apps/docs/content => content}/docs/references/DatasourceCapabilities.mdx (100%) rename {apps/docs/content => content}/docs/references/DriverType.mdx (100%) rename {apps/docs/content => content}/docs/references/EmailAlertAction.mdx (100%) rename {apps/docs/content => content}/docs/references/Feature.mdx (100%) rename {apps/docs/content => content}/docs/references/Field.mdx (100%) rename {apps/docs/content => content}/docs/references/FieldMapping.mdx (100%) rename {apps/docs/content => content}/docs/references/FieldNode.mdx (100%) rename {apps/docs/content => content}/docs/references/FieldPermission.mdx (100%) rename {apps/docs/content => content}/docs/references/FieldType.mdx (100%) rename {apps/docs/content => content}/docs/references/FieldUpdateAction.mdx (100%) rename {apps/docs/content => content}/docs/references/FilterNode.mdx (100%) rename {apps/docs/content => content}/docs/references/FilterOperator.mdx (100%) rename {apps/docs/content => content}/docs/references/Flow.mdx (100%) rename {apps/docs/content => content}/docs/references/FlowEdge.mdx (100%) rename {apps/docs/content => content}/docs/references/FlowNode.mdx (100%) rename {apps/docs/content => content}/docs/references/FlowNodeAction.mdx (100%) rename {apps/docs/content => content}/docs/references/FlowVariable.mdx (100%) rename {apps/docs/content => content}/docs/references/FormSection.mdx (100%) rename {apps/docs/content => content}/docs/references/FormView.mdx (100%) rename {apps/docs/content => content}/docs/references/FormatValidation.mdx (100%) rename {apps/docs/content => content}/docs/references/GanttConfig.mdx (100%) rename {apps/docs/content => content}/docs/references/GroupNavItem.mdx (100%) rename {apps/docs/content => content}/docs/references/HttpMethod.mdx (100%) rename {apps/docs/content => content}/docs/references/Index.mdx (100%) rename {apps/docs/content => content}/docs/references/KanbanConfig.mdx (100%) rename {apps/docs/content => content}/docs/references/LDAPConfig.mdx (100%) rename {apps/docs/content => content}/docs/references/License.mdx (100%) rename {apps/docs/content => content}/docs/references/ListView.mdx (100%) rename {apps/docs/content => content}/docs/references/Locale.mdx (100%) rename {apps/docs/content => content}/docs/references/LogicOperator.mdx (100%) rename {apps/docs/content => content}/docs/references/Manifest.mdx (100%) rename {apps/docs/content => content}/docs/references/Mapping.mdx (100%) rename {apps/docs/content => content}/docs/references/MenuItem.mdx (100%) rename {apps/docs/content => content}/docs/references/MetricType.mdx (100%) rename {apps/docs/content => content}/docs/references/NavigationItem.mdx (100%) rename {apps/docs/content => content}/docs/references/NetworkPolicy.mdx (100%) rename {apps/docs/content => content}/docs/references/OIDCConfig.mdx (100%) rename {apps/docs/content => content}/docs/references/OWDModel.mdx (100%) rename {apps/docs/content => content}/docs/references/Object.mdx (100%) rename {apps/docs/content => content}/docs/references/ObjectCapabilities.mdx (100%) rename {apps/docs/content => content}/docs/references/ObjectNavItem.mdx (100%) rename {apps/docs/content => content}/docs/references/ObjectPermission.mdx (100%) rename {apps/docs/content => content}/docs/references/Page.mdx (100%) rename {apps/docs/content => content}/docs/references/PageComponent.mdx (100%) rename {apps/docs/content => content}/docs/references/PageNavItem.mdx (100%) rename {apps/docs/content => content}/docs/references/PageRegion.mdx (100%) rename {apps/docs/content => content}/docs/references/PasswordPolicy.mdx (100%) rename {apps/docs/content => content}/docs/references/PermissionSet.mdx (100%) rename {apps/docs/content => content}/docs/references/Plan.mdx (100%) rename {apps/docs/content => content}/docs/references/Policy.mdx (100%) rename {apps/docs/content => content}/docs/references/Query.mdx (100%) rename {apps/docs/content => content}/docs/references/RateLimit.mdx (100%) rename {apps/docs/content => content}/docs/references/Report.mdx (100%) rename {apps/docs/content => content}/docs/references/ReportChart.mdx (100%) rename {apps/docs/content => content}/docs/references/ReportColumn.mdx (100%) rename {apps/docs/content => content}/docs/references/ReportGrouping.mdx (100%) rename {apps/docs/content => content}/docs/references/ReportType.mdx (100%) rename {apps/docs/content => content}/docs/references/Role.mdx (100%) rename {apps/docs/content => content}/docs/references/SAMLConfig.mdx (100%) rename {apps/docs/content => content}/docs/references/ScriptValidation.mdx (100%) rename {apps/docs/content => content}/docs/references/SelectOption.mdx (100%) rename {apps/docs/content => content}/docs/references/SessionPolicy.mdx (100%) rename {apps/docs/content => content}/docs/references/SharingLevel.mdx (100%) rename {apps/docs/content => content}/docs/references/SharingRule.mdx (100%) rename {apps/docs/content => content}/docs/references/SharingRuleType.mdx (100%) rename {apps/docs/content => content}/docs/references/SortNode.mdx (100%) rename {apps/docs/content => content}/docs/references/StateMachineValidation.mdx (100%) rename {apps/docs/content => content}/docs/references/Territory.mdx (100%) rename {apps/docs/content => content}/docs/references/TerritoryModel.mdx (100%) rename {apps/docs/content => content}/docs/references/TerritoryType.mdx (100%) rename {apps/docs/content => content}/docs/references/TransformType.mdx (100%) rename {apps/docs/content => content}/docs/references/TranslationBundle.mdx (100%) rename {apps/docs/content => content}/docs/references/TranslationData.mdx (100%) rename {apps/docs/content => content}/docs/references/UniquenessValidation.mdx (100%) rename {apps/docs/content => content}/docs/references/UrlNavItem.mdx (100%) rename {apps/docs/content => content}/docs/references/ValidationRule.mdx (100%) rename {apps/docs/content => content}/docs/references/View.mdx (100%) rename {apps/docs/content => content}/docs/references/Webhook.mdx (100%) rename {apps/docs/content => content}/docs/references/WebhookReceiver.mdx (100%) rename {apps/docs/content => content}/docs/references/WebhookTriggerType.mdx (100%) rename {apps/docs/content => content}/docs/references/WorkflowAction.mdx (100%) rename {apps/docs/content => content}/docs/references/WorkflowRule.mdx (100%) rename {apps/docs/content => content}/docs/references/WorkflowTriggerType.mdx (100%) rename {apps/docs/content => content}/docs/references/meta.json (100%) rename {apps/docs/content => content}/docs/specifications/data/advanced-types.mdx (100%) rename {apps/docs/content => content}/docs/specifications/data/analytics-protocol.mdx (100%) rename {apps/docs/content => content}/docs/specifications/data/ast-structure.mdx (100%) rename {apps/docs/content => content}/docs/specifications/data/index.mdx (100%) rename {apps/docs/content => content}/docs/specifications/data/meta.json (100%) rename {apps/docs/content => content}/docs/specifications/data/schema-definition.mdx (100%) rename {apps/docs/content => content}/docs/specifications/data/transaction-model.mdx (100%) rename {apps/docs/content => content}/docs/specifications/data/wire-protocol.mdx (100%) rename {apps/docs/content => content}/docs/specifications/index.mdx (100%) rename {apps/docs/content => content}/docs/specifications/meta.json (100%) rename {apps/docs/content => content}/docs/specifications/server/audit-compliance.mdx (100%) rename {apps/docs/content => content}/docs/specifications/server/automation-rules.mdx (100%) rename {apps/docs/content => content}/docs/specifications/server/index.mdx (100%) rename {apps/docs/content => content}/docs/specifications/server/integration-etl.mdx (100%) rename {apps/docs/content => content}/docs/specifications/server/meta.json (100%) rename {apps/docs/content => content}/docs/specifications/server/permission-governance.mdx (100%) rename {apps/docs/content => content}/docs/specifications/server/plugin-manifest.mdx (100%) rename {apps/docs/content => content}/docs/specifications/server/workflow-engine.mdx (100%) rename {apps/docs/content => content}/docs/specifications/ui/action-triggers.mdx (100%) rename {apps/docs/content => content}/docs/specifications/ui/component-schema.mdx (100%) rename {apps/docs/content => content}/docs/specifications/ui/index.mdx (100%) rename {apps/docs/content => content}/docs/specifications/ui/layout-system.mdx (100%) rename {apps/docs/content => content}/docs/specifications/ui/meta.json (100%) rename {apps/docs/content => content}/docs/specifications/ui/report-template.mdx (100%) rename {apps/docs/content => content}/docs/specifications/ui/view-protocol.mdx (100%) rename {apps/docs/content => content}/prompts/index.mdx (100%) rename {apps/docs/content => content}/prompts/objectstack.prompt.md (100%) diff --git a/README.md b/README.md index 180ff383f..7fff2ea39 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,8 @@ This repository contains the core specifications, schemas, and protocols that po The official documentation is built with Fumadocs and Next.js. -* **[Documentation Site](./apps/docs/):** Fumadocs-powered documentation (Concepts, Specifications, API Reference). +* **[Documentation Content](./content/docs/):** MDX documentation files (concepts, specifications, references). +* **[Documentation Site](./apps/docs/):** Fumadocs-powered Next.js app. * **[Live Site](http://localhost:3000/docs):** Run `pnpm docs:dev` to view locally. ## 📦 Monorepo Structure @@ -21,6 +22,7 @@ The official documentation is built with Fumadocs and Next.js. | :--- | :--- | :--- | | **[`@objectstack/spec`](packages/spec)** | **THE PROTOCOL**. Contains all Zod definitions, Types, and JSON Schemas. | 🟢 **Active** | | **[`@objectstack/docs`](apps/docs)** | Documentation site built with Fumadocs and Next.js. | 🟢 **Active** | +| `content/docs/` | Documentation content (MDX files). Shared resource. | 🟢 **Active** | | *Other packages* | *Legacy/Migration in progress* | 🟡 *Legacy* | ## 🛠️ The Protocol Architecture diff --git a/apps/docs/README.md b/apps/docs/README.md index c6a7d28cb..56d90bc2a 100644 --- a/apps/docs/README.md +++ b/apps/docs/README.md @@ -5,17 +5,18 @@ This is the documentation site for the ObjectStack Protocol, built with [Fumadoc ## Structure ``` +Repository Root: +├── content/docs/ # Documentation content (MDX files) +│ ├── concepts/ +│ ├── references/ +│ └── specifications/ + apps/docs/ ├── app/ # Next.js app directory │ ├── docs/ # Documentation pages │ ├── layout.tsx # Root layout │ └── source.ts # Fumadocs source loader -├── content/ # Documentation content (MDX files) -│ └── docs/ -│ ├── concepts/ -│ ├── references/ -│ └── specifications/ -├── source.config.ts # Fumadocs collection config +├── source.config.ts # Fumadocs collection config (references ../../content/docs) ├── next.config.mjs # Next.js configuration ├── tailwind.config.js ├── postcss.config.mjs @@ -63,10 +64,12 @@ pnpm start ## Content Management -Documentation content is stored in `content/docs/` with the following structure: +Documentation content is stored in the repository root at `/content/docs/` (shared location) with the following structure: - `concepts/` - Core concepts and architecture - `references/` - API and schema references - `specifications/` - Detailed specifications Each directory can have a `meta.json` file to configure navigation order and labels. + +**Note**: The content is stored at the root level to allow sharing with other tools and workflows. The Next.js app in `apps/docs/` references this content via relative path in `source.config.ts`. diff --git a/apps/docs/source.config.ts b/apps/docs/source.config.ts index 4ef2fa6b7..a4cae9999 100644 --- a/apps/docs/source.config.ts +++ b/apps/docs/source.config.ts @@ -1,7 +1,7 @@ import { defineDocs, defineConfig } from 'fumadocs-mdx/config'; export const docs = defineDocs({ - dir: 'content/docs', + dir: '../../content/docs', }) as any; export default defineConfig(); diff --git a/apps/docs/content/docs.site.json b/content/docs.site.json similarity index 100% rename from apps/docs/content/docs.site.json rename to content/docs.site.json diff --git a/apps/docs/content/docs/concepts/ai-codex.mdx b/content/docs/concepts/ai-codex.mdx similarity index 100% rename from apps/docs/content/docs/concepts/ai-codex.mdx rename to content/docs/concepts/ai-codex.mdx diff --git a/apps/docs/content/docs/concepts/architecture.mdx b/content/docs/concepts/architecture.mdx similarity index 100% rename from apps/docs/content/docs/concepts/architecture.mdx rename to content/docs/concepts/architecture.mdx diff --git a/apps/docs/content/docs/concepts/core-values.mdx b/content/docs/concepts/core-values.mdx similarity index 100% rename from apps/docs/content/docs/concepts/core-values.mdx rename to content/docs/concepts/core-values.mdx diff --git a/apps/docs/content/docs/concepts/enterprise-patterns.mdx b/content/docs/concepts/enterprise-patterns.mdx similarity index 100% rename from apps/docs/content/docs/concepts/enterprise-patterns.mdx rename to content/docs/concepts/enterprise-patterns.mdx diff --git a/apps/docs/content/docs/concepts/manifesto.mdx b/content/docs/concepts/manifesto.mdx similarity index 100% rename from apps/docs/content/docs/concepts/manifesto.mdx rename to content/docs/concepts/manifesto.mdx diff --git a/apps/docs/content/docs/concepts/meta.json b/content/docs/concepts/meta.json similarity index 100% rename from apps/docs/content/docs/concepts/meta.json rename to content/docs/concepts/meta.json diff --git a/apps/docs/content/docs/concepts/security_architecture.md b/content/docs/concepts/security_architecture.md similarity index 100% rename from apps/docs/content/docs/concepts/security_architecture.md rename to content/docs/concepts/security_architecture.md diff --git a/apps/docs/content/docs/concepts/terminology.mdx b/content/docs/concepts/terminology.mdx similarity index 100% rename from apps/docs/content/docs/concepts/terminology.mdx rename to content/docs/concepts/terminology.mdx diff --git a/apps/docs/content/docs/index.mdx b/content/docs/index.mdx similarity index 100% rename from apps/docs/content/docs/index.mdx rename to content/docs/index.mdx diff --git a/apps/docs/content/docs/references/AIKnowledge.mdx b/content/docs/references/AIKnowledge.mdx similarity index 100% rename from apps/docs/content/docs/references/AIKnowledge.mdx rename to content/docs/references/AIKnowledge.mdx diff --git a/apps/docs/content/docs/references/AIModelConfig.mdx b/content/docs/references/AIModelConfig.mdx similarity index 100% rename from apps/docs/content/docs/references/AIModelConfig.mdx rename to content/docs/references/AIModelConfig.mdx diff --git a/apps/docs/content/docs/references/AITool.mdx b/content/docs/references/AITool.mdx similarity index 100% rename from apps/docs/content/docs/references/AITool.mdx rename to content/docs/references/AITool.mdx diff --git a/apps/docs/content/docs/references/Action.mdx b/content/docs/references/Action.mdx similarity index 100% rename from apps/docs/content/docs/references/Action.mdx rename to content/docs/references/Action.mdx diff --git a/apps/docs/content/docs/references/ActionParam.mdx b/content/docs/references/ActionParam.mdx similarity index 100% rename from apps/docs/content/docs/references/ActionParam.mdx rename to content/docs/references/ActionParam.mdx diff --git a/apps/docs/content/docs/references/Agent.mdx b/content/docs/references/Agent.mdx similarity index 100% rename from apps/docs/content/docs/references/Agent.mdx rename to content/docs/references/Agent.mdx diff --git a/apps/docs/content/docs/references/ApiEndpoint.mdx b/content/docs/references/ApiEndpoint.mdx similarity index 100% rename from apps/docs/content/docs/references/ApiEndpoint.mdx rename to content/docs/references/ApiEndpoint.mdx diff --git a/apps/docs/content/docs/references/ApiMapping.mdx b/content/docs/references/ApiMapping.mdx similarity index 100% rename from apps/docs/content/docs/references/ApiMapping.mdx rename to content/docs/references/ApiMapping.mdx diff --git a/apps/docs/content/docs/references/App.mdx b/content/docs/references/App.mdx similarity index 100% rename from apps/docs/content/docs/references/App.mdx rename to content/docs/references/App.mdx diff --git a/apps/docs/content/docs/references/AppBranding.mdx b/content/docs/references/AppBranding.mdx similarity index 100% rename from apps/docs/content/docs/references/AppBranding.mdx rename to content/docs/references/AppBranding.mdx diff --git a/apps/docs/content/docs/references/AuditPolicy.mdx b/content/docs/references/AuditPolicy.mdx similarity index 100% rename from apps/docs/content/docs/references/AuditPolicy.mdx rename to content/docs/references/AuditPolicy.mdx diff --git a/apps/docs/content/docs/references/AuthProtocol.mdx b/content/docs/references/AuthProtocol.mdx similarity index 100% rename from apps/docs/content/docs/references/AuthProtocol.mdx rename to content/docs/references/AuthProtocol.mdx diff --git a/apps/docs/content/docs/references/AuthProvider.mdx b/content/docs/references/AuthProvider.mdx similarity index 100% rename from apps/docs/content/docs/references/AuthProvider.mdx rename to content/docs/references/AuthProvider.mdx diff --git a/apps/docs/content/docs/references/CalendarConfig.mdx b/content/docs/references/CalendarConfig.mdx similarity index 100% rename from apps/docs/content/docs/references/CalendarConfig.mdx rename to content/docs/references/CalendarConfig.mdx diff --git a/apps/docs/content/docs/references/ChartType.mdx b/content/docs/references/ChartType.mdx similarity index 100% rename from apps/docs/content/docs/references/ChartType.mdx rename to content/docs/references/ChartType.mdx diff --git a/apps/docs/content/docs/references/Dashboard.mdx b/content/docs/references/Dashboard.mdx similarity index 100% rename from apps/docs/content/docs/references/Dashboard.mdx rename to content/docs/references/Dashboard.mdx diff --git a/apps/docs/content/docs/references/DashboardNavItem.mdx b/content/docs/references/DashboardNavItem.mdx similarity index 100% rename from apps/docs/content/docs/references/DashboardNavItem.mdx rename to content/docs/references/DashboardNavItem.mdx diff --git a/apps/docs/content/docs/references/DashboardWidget.mdx b/content/docs/references/DashboardWidget.mdx similarity index 100% rename from apps/docs/content/docs/references/DashboardWidget.mdx rename to content/docs/references/DashboardWidget.mdx diff --git a/apps/docs/content/docs/references/Dataset.mdx b/content/docs/references/Dataset.mdx similarity index 100% rename from apps/docs/content/docs/references/Dataset.mdx rename to content/docs/references/Dataset.mdx diff --git a/apps/docs/content/docs/references/DatasetMode.mdx b/content/docs/references/DatasetMode.mdx similarity index 100% rename from apps/docs/content/docs/references/DatasetMode.mdx rename to content/docs/references/DatasetMode.mdx diff --git a/apps/docs/content/docs/references/Datasource.mdx b/content/docs/references/Datasource.mdx similarity index 100% rename from apps/docs/content/docs/references/Datasource.mdx rename to content/docs/references/Datasource.mdx diff --git a/apps/docs/content/docs/references/DatasourceCapabilities.mdx b/content/docs/references/DatasourceCapabilities.mdx similarity index 100% rename from apps/docs/content/docs/references/DatasourceCapabilities.mdx rename to content/docs/references/DatasourceCapabilities.mdx diff --git a/apps/docs/content/docs/references/DriverType.mdx b/content/docs/references/DriverType.mdx similarity index 100% rename from apps/docs/content/docs/references/DriverType.mdx rename to content/docs/references/DriverType.mdx diff --git a/apps/docs/content/docs/references/EmailAlertAction.mdx b/content/docs/references/EmailAlertAction.mdx similarity index 100% rename from apps/docs/content/docs/references/EmailAlertAction.mdx rename to content/docs/references/EmailAlertAction.mdx diff --git a/apps/docs/content/docs/references/Feature.mdx b/content/docs/references/Feature.mdx similarity index 100% rename from apps/docs/content/docs/references/Feature.mdx rename to content/docs/references/Feature.mdx diff --git a/apps/docs/content/docs/references/Field.mdx b/content/docs/references/Field.mdx similarity index 100% rename from apps/docs/content/docs/references/Field.mdx rename to content/docs/references/Field.mdx diff --git a/apps/docs/content/docs/references/FieldMapping.mdx b/content/docs/references/FieldMapping.mdx similarity index 100% rename from apps/docs/content/docs/references/FieldMapping.mdx rename to content/docs/references/FieldMapping.mdx diff --git a/apps/docs/content/docs/references/FieldNode.mdx b/content/docs/references/FieldNode.mdx similarity index 100% rename from apps/docs/content/docs/references/FieldNode.mdx rename to content/docs/references/FieldNode.mdx diff --git a/apps/docs/content/docs/references/FieldPermission.mdx b/content/docs/references/FieldPermission.mdx similarity index 100% rename from apps/docs/content/docs/references/FieldPermission.mdx rename to content/docs/references/FieldPermission.mdx diff --git a/apps/docs/content/docs/references/FieldType.mdx b/content/docs/references/FieldType.mdx similarity index 100% rename from apps/docs/content/docs/references/FieldType.mdx rename to content/docs/references/FieldType.mdx diff --git a/apps/docs/content/docs/references/FieldUpdateAction.mdx b/content/docs/references/FieldUpdateAction.mdx similarity index 100% rename from apps/docs/content/docs/references/FieldUpdateAction.mdx rename to content/docs/references/FieldUpdateAction.mdx diff --git a/apps/docs/content/docs/references/FilterNode.mdx b/content/docs/references/FilterNode.mdx similarity index 100% rename from apps/docs/content/docs/references/FilterNode.mdx rename to content/docs/references/FilterNode.mdx diff --git a/apps/docs/content/docs/references/FilterOperator.mdx b/content/docs/references/FilterOperator.mdx similarity index 100% rename from apps/docs/content/docs/references/FilterOperator.mdx rename to content/docs/references/FilterOperator.mdx diff --git a/apps/docs/content/docs/references/Flow.mdx b/content/docs/references/Flow.mdx similarity index 100% rename from apps/docs/content/docs/references/Flow.mdx rename to content/docs/references/Flow.mdx diff --git a/apps/docs/content/docs/references/FlowEdge.mdx b/content/docs/references/FlowEdge.mdx similarity index 100% rename from apps/docs/content/docs/references/FlowEdge.mdx rename to content/docs/references/FlowEdge.mdx diff --git a/apps/docs/content/docs/references/FlowNode.mdx b/content/docs/references/FlowNode.mdx similarity index 100% rename from apps/docs/content/docs/references/FlowNode.mdx rename to content/docs/references/FlowNode.mdx diff --git a/apps/docs/content/docs/references/FlowNodeAction.mdx b/content/docs/references/FlowNodeAction.mdx similarity index 100% rename from apps/docs/content/docs/references/FlowNodeAction.mdx rename to content/docs/references/FlowNodeAction.mdx diff --git a/apps/docs/content/docs/references/FlowVariable.mdx b/content/docs/references/FlowVariable.mdx similarity index 100% rename from apps/docs/content/docs/references/FlowVariable.mdx rename to content/docs/references/FlowVariable.mdx diff --git a/apps/docs/content/docs/references/FormSection.mdx b/content/docs/references/FormSection.mdx similarity index 100% rename from apps/docs/content/docs/references/FormSection.mdx rename to content/docs/references/FormSection.mdx diff --git a/apps/docs/content/docs/references/FormView.mdx b/content/docs/references/FormView.mdx similarity index 100% rename from apps/docs/content/docs/references/FormView.mdx rename to content/docs/references/FormView.mdx diff --git a/apps/docs/content/docs/references/FormatValidation.mdx b/content/docs/references/FormatValidation.mdx similarity index 100% rename from apps/docs/content/docs/references/FormatValidation.mdx rename to content/docs/references/FormatValidation.mdx diff --git a/apps/docs/content/docs/references/GanttConfig.mdx b/content/docs/references/GanttConfig.mdx similarity index 100% rename from apps/docs/content/docs/references/GanttConfig.mdx rename to content/docs/references/GanttConfig.mdx diff --git a/apps/docs/content/docs/references/GroupNavItem.mdx b/content/docs/references/GroupNavItem.mdx similarity index 100% rename from apps/docs/content/docs/references/GroupNavItem.mdx rename to content/docs/references/GroupNavItem.mdx diff --git a/apps/docs/content/docs/references/HttpMethod.mdx b/content/docs/references/HttpMethod.mdx similarity index 100% rename from apps/docs/content/docs/references/HttpMethod.mdx rename to content/docs/references/HttpMethod.mdx diff --git a/apps/docs/content/docs/references/Index.mdx b/content/docs/references/Index.mdx similarity index 100% rename from apps/docs/content/docs/references/Index.mdx rename to content/docs/references/Index.mdx diff --git a/apps/docs/content/docs/references/KanbanConfig.mdx b/content/docs/references/KanbanConfig.mdx similarity index 100% rename from apps/docs/content/docs/references/KanbanConfig.mdx rename to content/docs/references/KanbanConfig.mdx diff --git a/apps/docs/content/docs/references/LDAPConfig.mdx b/content/docs/references/LDAPConfig.mdx similarity index 100% rename from apps/docs/content/docs/references/LDAPConfig.mdx rename to content/docs/references/LDAPConfig.mdx diff --git a/apps/docs/content/docs/references/License.mdx b/content/docs/references/License.mdx similarity index 100% rename from apps/docs/content/docs/references/License.mdx rename to content/docs/references/License.mdx diff --git a/apps/docs/content/docs/references/ListView.mdx b/content/docs/references/ListView.mdx similarity index 100% rename from apps/docs/content/docs/references/ListView.mdx rename to content/docs/references/ListView.mdx diff --git a/apps/docs/content/docs/references/Locale.mdx b/content/docs/references/Locale.mdx similarity index 100% rename from apps/docs/content/docs/references/Locale.mdx rename to content/docs/references/Locale.mdx diff --git a/apps/docs/content/docs/references/LogicOperator.mdx b/content/docs/references/LogicOperator.mdx similarity index 100% rename from apps/docs/content/docs/references/LogicOperator.mdx rename to content/docs/references/LogicOperator.mdx diff --git a/apps/docs/content/docs/references/Manifest.mdx b/content/docs/references/Manifest.mdx similarity index 100% rename from apps/docs/content/docs/references/Manifest.mdx rename to content/docs/references/Manifest.mdx diff --git a/apps/docs/content/docs/references/Mapping.mdx b/content/docs/references/Mapping.mdx similarity index 100% rename from apps/docs/content/docs/references/Mapping.mdx rename to content/docs/references/Mapping.mdx diff --git a/apps/docs/content/docs/references/MenuItem.mdx b/content/docs/references/MenuItem.mdx similarity index 100% rename from apps/docs/content/docs/references/MenuItem.mdx rename to content/docs/references/MenuItem.mdx diff --git a/apps/docs/content/docs/references/MetricType.mdx b/content/docs/references/MetricType.mdx similarity index 100% rename from apps/docs/content/docs/references/MetricType.mdx rename to content/docs/references/MetricType.mdx diff --git a/apps/docs/content/docs/references/NavigationItem.mdx b/content/docs/references/NavigationItem.mdx similarity index 100% rename from apps/docs/content/docs/references/NavigationItem.mdx rename to content/docs/references/NavigationItem.mdx diff --git a/apps/docs/content/docs/references/NetworkPolicy.mdx b/content/docs/references/NetworkPolicy.mdx similarity index 100% rename from apps/docs/content/docs/references/NetworkPolicy.mdx rename to content/docs/references/NetworkPolicy.mdx diff --git a/apps/docs/content/docs/references/OIDCConfig.mdx b/content/docs/references/OIDCConfig.mdx similarity index 100% rename from apps/docs/content/docs/references/OIDCConfig.mdx rename to content/docs/references/OIDCConfig.mdx diff --git a/apps/docs/content/docs/references/OWDModel.mdx b/content/docs/references/OWDModel.mdx similarity index 100% rename from apps/docs/content/docs/references/OWDModel.mdx rename to content/docs/references/OWDModel.mdx diff --git a/apps/docs/content/docs/references/Object.mdx b/content/docs/references/Object.mdx similarity index 100% rename from apps/docs/content/docs/references/Object.mdx rename to content/docs/references/Object.mdx diff --git a/apps/docs/content/docs/references/ObjectCapabilities.mdx b/content/docs/references/ObjectCapabilities.mdx similarity index 100% rename from apps/docs/content/docs/references/ObjectCapabilities.mdx rename to content/docs/references/ObjectCapabilities.mdx diff --git a/apps/docs/content/docs/references/ObjectNavItem.mdx b/content/docs/references/ObjectNavItem.mdx similarity index 100% rename from apps/docs/content/docs/references/ObjectNavItem.mdx rename to content/docs/references/ObjectNavItem.mdx diff --git a/apps/docs/content/docs/references/ObjectPermission.mdx b/content/docs/references/ObjectPermission.mdx similarity index 100% rename from apps/docs/content/docs/references/ObjectPermission.mdx rename to content/docs/references/ObjectPermission.mdx diff --git a/apps/docs/content/docs/references/Page.mdx b/content/docs/references/Page.mdx similarity index 100% rename from apps/docs/content/docs/references/Page.mdx rename to content/docs/references/Page.mdx diff --git a/apps/docs/content/docs/references/PageComponent.mdx b/content/docs/references/PageComponent.mdx similarity index 100% rename from apps/docs/content/docs/references/PageComponent.mdx rename to content/docs/references/PageComponent.mdx diff --git a/apps/docs/content/docs/references/PageNavItem.mdx b/content/docs/references/PageNavItem.mdx similarity index 100% rename from apps/docs/content/docs/references/PageNavItem.mdx rename to content/docs/references/PageNavItem.mdx diff --git a/apps/docs/content/docs/references/PageRegion.mdx b/content/docs/references/PageRegion.mdx similarity index 100% rename from apps/docs/content/docs/references/PageRegion.mdx rename to content/docs/references/PageRegion.mdx diff --git a/apps/docs/content/docs/references/PasswordPolicy.mdx b/content/docs/references/PasswordPolicy.mdx similarity index 100% rename from apps/docs/content/docs/references/PasswordPolicy.mdx rename to content/docs/references/PasswordPolicy.mdx diff --git a/apps/docs/content/docs/references/PermissionSet.mdx b/content/docs/references/PermissionSet.mdx similarity index 100% rename from apps/docs/content/docs/references/PermissionSet.mdx rename to content/docs/references/PermissionSet.mdx diff --git a/apps/docs/content/docs/references/Plan.mdx b/content/docs/references/Plan.mdx similarity index 100% rename from apps/docs/content/docs/references/Plan.mdx rename to content/docs/references/Plan.mdx diff --git a/apps/docs/content/docs/references/Policy.mdx b/content/docs/references/Policy.mdx similarity index 100% rename from apps/docs/content/docs/references/Policy.mdx rename to content/docs/references/Policy.mdx diff --git a/apps/docs/content/docs/references/Query.mdx b/content/docs/references/Query.mdx similarity index 100% rename from apps/docs/content/docs/references/Query.mdx rename to content/docs/references/Query.mdx diff --git a/apps/docs/content/docs/references/RateLimit.mdx b/content/docs/references/RateLimit.mdx similarity index 100% rename from apps/docs/content/docs/references/RateLimit.mdx rename to content/docs/references/RateLimit.mdx diff --git a/apps/docs/content/docs/references/Report.mdx b/content/docs/references/Report.mdx similarity index 100% rename from apps/docs/content/docs/references/Report.mdx rename to content/docs/references/Report.mdx diff --git a/apps/docs/content/docs/references/ReportChart.mdx b/content/docs/references/ReportChart.mdx similarity index 100% rename from apps/docs/content/docs/references/ReportChart.mdx rename to content/docs/references/ReportChart.mdx diff --git a/apps/docs/content/docs/references/ReportColumn.mdx b/content/docs/references/ReportColumn.mdx similarity index 100% rename from apps/docs/content/docs/references/ReportColumn.mdx rename to content/docs/references/ReportColumn.mdx diff --git a/apps/docs/content/docs/references/ReportGrouping.mdx b/content/docs/references/ReportGrouping.mdx similarity index 100% rename from apps/docs/content/docs/references/ReportGrouping.mdx rename to content/docs/references/ReportGrouping.mdx diff --git a/apps/docs/content/docs/references/ReportType.mdx b/content/docs/references/ReportType.mdx similarity index 100% rename from apps/docs/content/docs/references/ReportType.mdx rename to content/docs/references/ReportType.mdx diff --git a/apps/docs/content/docs/references/Role.mdx b/content/docs/references/Role.mdx similarity index 100% rename from apps/docs/content/docs/references/Role.mdx rename to content/docs/references/Role.mdx diff --git a/apps/docs/content/docs/references/SAMLConfig.mdx b/content/docs/references/SAMLConfig.mdx similarity index 100% rename from apps/docs/content/docs/references/SAMLConfig.mdx rename to content/docs/references/SAMLConfig.mdx diff --git a/apps/docs/content/docs/references/ScriptValidation.mdx b/content/docs/references/ScriptValidation.mdx similarity index 100% rename from apps/docs/content/docs/references/ScriptValidation.mdx rename to content/docs/references/ScriptValidation.mdx diff --git a/apps/docs/content/docs/references/SelectOption.mdx b/content/docs/references/SelectOption.mdx similarity index 100% rename from apps/docs/content/docs/references/SelectOption.mdx rename to content/docs/references/SelectOption.mdx diff --git a/apps/docs/content/docs/references/SessionPolicy.mdx b/content/docs/references/SessionPolicy.mdx similarity index 100% rename from apps/docs/content/docs/references/SessionPolicy.mdx rename to content/docs/references/SessionPolicy.mdx diff --git a/apps/docs/content/docs/references/SharingLevel.mdx b/content/docs/references/SharingLevel.mdx similarity index 100% rename from apps/docs/content/docs/references/SharingLevel.mdx rename to content/docs/references/SharingLevel.mdx diff --git a/apps/docs/content/docs/references/SharingRule.mdx b/content/docs/references/SharingRule.mdx similarity index 100% rename from apps/docs/content/docs/references/SharingRule.mdx rename to content/docs/references/SharingRule.mdx diff --git a/apps/docs/content/docs/references/SharingRuleType.mdx b/content/docs/references/SharingRuleType.mdx similarity index 100% rename from apps/docs/content/docs/references/SharingRuleType.mdx rename to content/docs/references/SharingRuleType.mdx diff --git a/apps/docs/content/docs/references/SortNode.mdx b/content/docs/references/SortNode.mdx similarity index 100% rename from apps/docs/content/docs/references/SortNode.mdx rename to content/docs/references/SortNode.mdx diff --git a/apps/docs/content/docs/references/StateMachineValidation.mdx b/content/docs/references/StateMachineValidation.mdx similarity index 100% rename from apps/docs/content/docs/references/StateMachineValidation.mdx rename to content/docs/references/StateMachineValidation.mdx diff --git a/apps/docs/content/docs/references/Territory.mdx b/content/docs/references/Territory.mdx similarity index 100% rename from apps/docs/content/docs/references/Territory.mdx rename to content/docs/references/Territory.mdx diff --git a/apps/docs/content/docs/references/TerritoryModel.mdx b/content/docs/references/TerritoryModel.mdx similarity index 100% rename from apps/docs/content/docs/references/TerritoryModel.mdx rename to content/docs/references/TerritoryModel.mdx diff --git a/apps/docs/content/docs/references/TerritoryType.mdx b/content/docs/references/TerritoryType.mdx similarity index 100% rename from apps/docs/content/docs/references/TerritoryType.mdx rename to content/docs/references/TerritoryType.mdx diff --git a/apps/docs/content/docs/references/TransformType.mdx b/content/docs/references/TransformType.mdx similarity index 100% rename from apps/docs/content/docs/references/TransformType.mdx rename to content/docs/references/TransformType.mdx diff --git a/apps/docs/content/docs/references/TranslationBundle.mdx b/content/docs/references/TranslationBundle.mdx similarity index 100% rename from apps/docs/content/docs/references/TranslationBundle.mdx rename to content/docs/references/TranslationBundle.mdx diff --git a/apps/docs/content/docs/references/TranslationData.mdx b/content/docs/references/TranslationData.mdx similarity index 100% rename from apps/docs/content/docs/references/TranslationData.mdx rename to content/docs/references/TranslationData.mdx diff --git a/apps/docs/content/docs/references/UniquenessValidation.mdx b/content/docs/references/UniquenessValidation.mdx similarity index 100% rename from apps/docs/content/docs/references/UniquenessValidation.mdx rename to content/docs/references/UniquenessValidation.mdx diff --git a/apps/docs/content/docs/references/UrlNavItem.mdx b/content/docs/references/UrlNavItem.mdx similarity index 100% rename from apps/docs/content/docs/references/UrlNavItem.mdx rename to content/docs/references/UrlNavItem.mdx diff --git a/apps/docs/content/docs/references/ValidationRule.mdx b/content/docs/references/ValidationRule.mdx similarity index 100% rename from apps/docs/content/docs/references/ValidationRule.mdx rename to content/docs/references/ValidationRule.mdx diff --git a/apps/docs/content/docs/references/View.mdx b/content/docs/references/View.mdx similarity index 100% rename from apps/docs/content/docs/references/View.mdx rename to content/docs/references/View.mdx diff --git a/apps/docs/content/docs/references/Webhook.mdx b/content/docs/references/Webhook.mdx similarity index 100% rename from apps/docs/content/docs/references/Webhook.mdx rename to content/docs/references/Webhook.mdx diff --git a/apps/docs/content/docs/references/WebhookReceiver.mdx b/content/docs/references/WebhookReceiver.mdx similarity index 100% rename from apps/docs/content/docs/references/WebhookReceiver.mdx rename to content/docs/references/WebhookReceiver.mdx diff --git a/apps/docs/content/docs/references/WebhookTriggerType.mdx b/content/docs/references/WebhookTriggerType.mdx similarity index 100% rename from apps/docs/content/docs/references/WebhookTriggerType.mdx rename to content/docs/references/WebhookTriggerType.mdx diff --git a/apps/docs/content/docs/references/WorkflowAction.mdx b/content/docs/references/WorkflowAction.mdx similarity index 100% rename from apps/docs/content/docs/references/WorkflowAction.mdx rename to content/docs/references/WorkflowAction.mdx diff --git a/apps/docs/content/docs/references/WorkflowRule.mdx b/content/docs/references/WorkflowRule.mdx similarity index 100% rename from apps/docs/content/docs/references/WorkflowRule.mdx rename to content/docs/references/WorkflowRule.mdx diff --git a/apps/docs/content/docs/references/WorkflowTriggerType.mdx b/content/docs/references/WorkflowTriggerType.mdx similarity index 100% rename from apps/docs/content/docs/references/WorkflowTriggerType.mdx rename to content/docs/references/WorkflowTriggerType.mdx diff --git a/apps/docs/content/docs/references/meta.json b/content/docs/references/meta.json similarity index 100% rename from apps/docs/content/docs/references/meta.json rename to content/docs/references/meta.json diff --git a/apps/docs/content/docs/specifications/data/advanced-types.mdx b/content/docs/specifications/data/advanced-types.mdx similarity index 100% rename from apps/docs/content/docs/specifications/data/advanced-types.mdx rename to content/docs/specifications/data/advanced-types.mdx diff --git a/apps/docs/content/docs/specifications/data/analytics-protocol.mdx b/content/docs/specifications/data/analytics-protocol.mdx similarity index 100% rename from apps/docs/content/docs/specifications/data/analytics-protocol.mdx rename to content/docs/specifications/data/analytics-protocol.mdx diff --git a/apps/docs/content/docs/specifications/data/ast-structure.mdx b/content/docs/specifications/data/ast-structure.mdx similarity index 100% rename from apps/docs/content/docs/specifications/data/ast-structure.mdx rename to content/docs/specifications/data/ast-structure.mdx diff --git a/apps/docs/content/docs/specifications/data/index.mdx b/content/docs/specifications/data/index.mdx similarity index 100% rename from apps/docs/content/docs/specifications/data/index.mdx rename to content/docs/specifications/data/index.mdx diff --git a/apps/docs/content/docs/specifications/data/meta.json b/content/docs/specifications/data/meta.json similarity index 100% rename from apps/docs/content/docs/specifications/data/meta.json rename to content/docs/specifications/data/meta.json diff --git a/apps/docs/content/docs/specifications/data/schema-definition.mdx b/content/docs/specifications/data/schema-definition.mdx similarity index 100% rename from apps/docs/content/docs/specifications/data/schema-definition.mdx rename to content/docs/specifications/data/schema-definition.mdx diff --git a/apps/docs/content/docs/specifications/data/transaction-model.mdx b/content/docs/specifications/data/transaction-model.mdx similarity index 100% rename from apps/docs/content/docs/specifications/data/transaction-model.mdx rename to content/docs/specifications/data/transaction-model.mdx diff --git a/apps/docs/content/docs/specifications/data/wire-protocol.mdx b/content/docs/specifications/data/wire-protocol.mdx similarity index 100% rename from apps/docs/content/docs/specifications/data/wire-protocol.mdx rename to content/docs/specifications/data/wire-protocol.mdx diff --git a/apps/docs/content/docs/specifications/index.mdx b/content/docs/specifications/index.mdx similarity index 100% rename from apps/docs/content/docs/specifications/index.mdx rename to content/docs/specifications/index.mdx diff --git a/apps/docs/content/docs/specifications/meta.json b/content/docs/specifications/meta.json similarity index 100% rename from apps/docs/content/docs/specifications/meta.json rename to content/docs/specifications/meta.json diff --git a/apps/docs/content/docs/specifications/server/audit-compliance.mdx b/content/docs/specifications/server/audit-compliance.mdx similarity index 100% rename from apps/docs/content/docs/specifications/server/audit-compliance.mdx rename to content/docs/specifications/server/audit-compliance.mdx diff --git a/apps/docs/content/docs/specifications/server/automation-rules.mdx b/content/docs/specifications/server/automation-rules.mdx similarity index 100% rename from apps/docs/content/docs/specifications/server/automation-rules.mdx rename to content/docs/specifications/server/automation-rules.mdx diff --git a/apps/docs/content/docs/specifications/server/index.mdx b/content/docs/specifications/server/index.mdx similarity index 100% rename from apps/docs/content/docs/specifications/server/index.mdx rename to content/docs/specifications/server/index.mdx diff --git a/apps/docs/content/docs/specifications/server/integration-etl.mdx b/content/docs/specifications/server/integration-etl.mdx similarity index 100% rename from apps/docs/content/docs/specifications/server/integration-etl.mdx rename to content/docs/specifications/server/integration-etl.mdx diff --git a/apps/docs/content/docs/specifications/server/meta.json b/content/docs/specifications/server/meta.json similarity index 100% rename from apps/docs/content/docs/specifications/server/meta.json rename to content/docs/specifications/server/meta.json diff --git a/apps/docs/content/docs/specifications/server/permission-governance.mdx b/content/docs/specifications/server/permission-governance.mdx similarity index 100% rename from apps/docs/content/docs/specifications/server/permission-governance.mdx rename to content/docs/specifications/server/permission-governance.mdx diff --git a/apps/docs/content/docs/specifications/server/plugin-manifest.mdx b/content/docs/specifications/server/plugin-manifest.mdx similarity index 100% rename from apps/docs/content/docs/specifications/server/plugin-manifest.mdx rename to content/docs/specifications/server/plugin-manifest.mdx diff --git a/apps/docs/content/docs/specifications/server/workflow-engine.mdx b/content/docs/specifications/server/workflow-engine.mdx similarity index 100% rename from apps/docs/content/docs/specifications/server/workflow-engine.mdx rename to content/docs/specifications/server/workflow-engine.mdx diff --git a/apps/docs/content/docs/specifications/ui/action-triggers.mdx b/content/docs/specifications/ui/action-triggers.mdx similarity index 100% rename from apps/docs/content/docs/specifications/ui/action-triggers.mdx rename to content/docs/specifications/ui/action-triggers.mdx diff --git a/apps/docs/content/docs/specifications/ui/component-schema.mdx b/content/docs/specifications/ui/component-schema.mdx similarity index 100% rename from apps/docs/content/docs/specifications/ui/component-schema.mdx rename to content/docs/specifications/ui/component-schema.mdx diff --git a/apps/docs/content/docs/specifications/ui/index.mdx b/content/docs/specifications/ui/index.mdx similarity index 100% rename from apps/docs/content/docs/specifications/ui/index.mdx rename to content/docs/specifications/ui/index.mdx diff --git a/apps/docs/content/docs/specifications/ui/layout-system.mdx b/content/docs/specifications/ui/layout-system.mdx similarity index 100% rename from apps/docs/content/docs/specifications/ui/layout-system.mdx rename to content/docs/specifications/ui/layout-system.mdx diff --git a/apps/docs/content/docs/specifications/ui/meta.json b/content/docs/specifications/ui/meta.json similarity index 100% rename from apps/docs/content/docs/specifications/ui/meta.json rename to content/docs/specifications/ui/meta.json diff --git a/apps/docs/content/docs/specifications/ui/report-template.mdx b/content/docs/specifications/ui/report-template.mdx similarity index 100% rename from apps/docs/content/docs/specifications/ui/report-template.mdx rename to content/docs/specifications/ui/report-template.mdx diff --git a/apps/docs/content/docs/specifications/ui/view-protocol.mdx b/content/docs/specifications/ui/view-protocol.mdx similarity index 100% rename from apps/docs/content/docs/specifications/ui/view-protocol.mdx rename to content/docs/specifications/ui/view-protocol.mdx diff --git a/apps/docs/content/prompts/index.mdx b/content/prompts/index.mdx similarity index 100% rename from apps/docs/content/prompts/index.mdx rename to content/prompts/index.mdx diff --git a/apps/docs/content/prompts/objectstack.prompt.md b/content/prompts/objectstack.prompt.md similarity index 100% rename from apps/docs/content/prompts/objectstack.prompt.md rename to content/prompts/objectstack.prompt.md diff --git a/package.json b/package.json index 2de04de9a..530853ef9 100644 --- a/package.json +++ b/package.json @@ -27,6 +27,9 @@ "@types/node": "^20.10.0", "typescript": "^5.3.0" }, + "dependencies": { + "lucide-react": "^0.562.0" + }, "engines": { "node": ">=18.0.0" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5b056322e..ec5c73adf 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,6 +7,10 @@ settings: importers: .: + dependencies: + lucide-react: + specifier: ^0.562.0 + version: 0.562.0(react@19.2.3) devDependencies: '@changesets/cli': specifier: ^2.27.1 From 2719472cbbb2767dd330934696b93153d5dac6f3 Mon Sep 17 00:00:00 2001 From: Jack Zhuang <50353452+hotlong@users.noreply.github.com> Date: Mon, 19 Jan 2026 13:08:06 +0800 Subject: [PATCH 06/11] Enhance Fumadocs setup: Update webpack config for alias resolution, improve documentation formatting, and refine build scripts --- apps/docs/next.config.mjs | 10 ++++++++++ content/docs/references/Plan.mdx | 2 +- content/docs/references/StateMachineValidation.mdx | 2 +- package.json | 2 +- packages/spec/scripts/build-docs.ts | 4 +++- pnpm-lock.yaml | 2 +- 6 files changed, 17 insertions(+), 5 deletions(-) diff --git a/apps/docs/next.config.mjs b/apps/docs/next.config.mjs index c8d35a2dd..b2d384fcb 100644 --- a/apps/docs/next.config.mjs +++ b/apps/docs/next.config.mjs @@ -1,4 +1,5 @@ import { createMDX } from 'fumadocs-mdx/next'; +import path from 'path'; const withMDX = createMDX(); @@ -9,6 +10,15 @@ const config = { typescript: { ignoreBuildErrors: false, }, + webpack: (config, { isServer }) => { + // Resolve the fumadocs virtual collection import to the local .source directory + config.resolve = config.resolve || {}; + config.resolve.alias = { + ...(config.resolve.alias || {}), + 'fumadocs-mdx:collections': path.resolve(__dirname, '.source'), + }; + return config; + }, }; export default withMDX(config); diff --git a/content/docs/references/Plan.mdx b/content/docs/references/Plan.mdx index 6495da6ba..f8b8e6eb6 100644 --- a/content/docs/references/Plan.mdx +++ b/content/docs/references/Plan.mdx @@ -13,7 +13,7 @@ description: Plan Schema Reference | **label** | `string` | ✅ | | | **active** | `boolean` | optional | | | **features** | `string[]` | ✅ | List of enabled boolean features | -| **limits** | `Record` | ✅ | Map of metric codes to limit values (e.g. \{ storage_gb: 10 \}) | +| **limits** | `Record` | ✅ | Map of metric codes to limit values (e.g. `{ storage_gb: 10 }`) | | **currency** | `string` | optional | | | **priceMonthly** | `number` | optional | | | **priceYearly** | `number` | optional | | diff --git a/content/docs/references/StateMachineValidation.mdx b/content/docs/references/StateMachineValidation.mdx index 2602641e0..b60de9e6e 100644 --- a/content/docs/references/StateMachineValidation.mdx +++ b/content/docs/references/StateMachineValidation.mdx @@ -15,4 +15,4 @@ description: StateMachineValidation Schema Reference | **message** | `string` | ✅ | Error message to display | | **type** | `string` | ✅ | | | **field** | `string` | ✅ | State field (e.g. status) | -| **transitions** | `Record` | ✅ | Map of \{ OldState: [AllowedNewStates] \} | +| **transitions** | `Record` | ✅ | Map of `{ OldState: [AllowedNewStates] }` | diff --git a/package.json b/package.json index 530853ef9..5df273b05 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "private": true, "description": "ObjectStack Protocol & Specification - Monorepo for TypeScript Interfaces, JSON Schemas, and Convention Configurations", "scripts": { - "build": "pnpm -r --stream build", + "build": "pnpm --filter ./packages/spec build && pnpm -r --stream --filter '!./packages/spec' build", "dev": "pnpm -r --parallel dev", "clean": "pnpm -r --parallel clean && rm -rf dist", "version": "changeset version", diff --git a/packages/spec/scripts/build-docs.ts b/packages/spec/scripts/build-docs.ts index ba2e3aa48..d5a5a86dc 100644 --- a/packages/spec/scripts/build-docs.ts +++ b/packages/spec/scripts/build-docs.ts @@ -56,7 +56,9 @@ function generateMarkdown(schemaName: string, schema: any) { for (const [key, prop] of Object.entries(mainDef.properties) as [string, any][]) { const typeStr = formatType(prop).replace(/\|/g, '\\|'); // Escape pipes for table const isReq = required.has(key) ? '✅' : 'optional'; - const desc = (prop.description || '').replace(/\n/g, ' '); + let desc = (prop.description || '').replace(/\n/g, ' '); + // Wrap inline examples containing braces in code spans to avoid MDX expression parsing + desc = desc.replace(/\{[^}]*\}/g, (m) => `\`${m}\``); md += `| **${key}** | \`${typeStr}\` | ${isReq} | ${desc} |\n`; } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ec5c73adf..6845db511 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,7 +1,7 @@ lockfileVersion: '9.0' settings: - autoInstallPeers: true + autoInstallPeers: false excludeLinksFromLockfile: false importers: From 1de4265d3ff54623667565fe2f7acc84271d0b5f Mon Sep 17 00:00:00 2001 From: Jack Zhuang <50353452+hotlong@users.noreply.github.com> Date: Mon, 19 Jan 2026 13:10:41 +0800 Subject: [PATCH 07/11] Remove H1 headers from documentation files and update build script to prevent H1 generation in new files --- content/docs/references/AIKnowledge.mdx | 2 - content/docs/references/AIModelConfig.mdx | 2 - content/docs/references/AITool.mdx | 2 - content/docs/references/Action.mdx | 2 - content/docs/references/ActionParam.mdx | 2 - content/docs/references/Agent.mdx | 2 - content/docs/references/ApiEndpoint.mdx | 2 - content/docs/references/ApiMapping.mdx | 2 - content/docs/references/App.mdx | 2 - content/docs/references/AppBranding.mdx | 2 - content/docs/references/AuditPolicy.mdx | 2 - content/docs/references/AuthProtocol.mdx | 2 - content/docs/references/AuthProvider.mdx | 2 - content/docs/references/CalendarConfig.mdx | 2 - content/docs/references/ChartType.mdx | 2 - content/docs/references/Dashboard.mdx | 2 - content/docs/references/DashboardNavItem.mdx | 2 - content/docs/references/DashboardWidget.mdx | 2 - content/docs/references/Dataset.mdx | 2 - content/docs/references/DatasetMode.mdx | 2 - content/docs/references/Datasource.mdx | 2 - .../references/DatasourceCapabilities.mdx | 2 - content/docs/references/DriverType.mdx | 2 - content/docs/references/EmailAlertAction.mdx | 2 - content/docs/references/Feature.mdx | 2 - content/docs/references/Field.mdx | 2 - content/docs/references/FieldMapping.mdx | 2 - content/docs/references/FieldNode.mdx | 2 - content/docs/references/FieldPermission.mdx | 2 - content/docs/references/FieldType.mdx | 2 - content/docs/references/FieldUpdateAction.mdx | 2 - content/docs/references/FilterNode.mdx | 2 - content/docs/references/FilterOperator.mdx | 2 - content/docs/references/Flow.mdx | 2 - content/docs/references/FlowEdge.mdx | 2 - content/docs/references/FlowNode.mdx | 2 - content/docs/references/FlowNodeAction.mdx | 2 - content/docs/references/FlowVariable.mdx | 2 - content/docs/references/FormSection.mdx | 2 - content/docs/references/FormView.mdx | 2 - content/docs/references/FormatValidation.mdx | 2 - content/docs/references/GanttConfig.mdx | 2 - content/docs/references/GroupNavItem.mdx | 2 - content/docs/references/HttpMethod.mdx | 2 - content/docs/references/Index.mdx | 2 - content/docs/references/KanbanConfig.mdx | 2 - content/docs/references/LDAPConfig.mdx | 2 - content/docs/references/License.mdx | 2 - content/docs/references/ListView.mdx | 2 - content/docs/references/Locale.mdx | 2 - content/docs/references/LogicOperator.mdx | 2 - content/docs/references/Manifest.mdx | 2 - content/docs/references/Mapping.mdx | 2 - content/docs/references/MenuItem.mdx | 2 - content/docs/references/MetricType.mdx | 2 - content/docs/references/NavigationItem.mdx | 2 - content/docs/references/NetworkPolicy.mdx | 2 - content/docs/references/OIDCConfig.mdx | 2 - content/docs/references/OWDModel.mdx | 2 - content/docs/references/Object.mdx | 2 - .../docs/references/ObjectCapabilities.mdx | 2 - content/docs/references/ObjectNavItem.mdx | 2 - content/docs/references/ObjectPermission.mdx | 2 - content/docs/references/Page.mdx | 2 - content/docs/references/PageComponent.mdx | 2 - content/docs/references/PageNavItem.mdx | 2 - content/docs/references/PageRegion.mdx | 2 - content/docs/references/PasswordPolicy.mdx | 2 - content/docs/references/PermissionSet.mdx | 2 - content/docs/references/Plan.mdx | 2 - content/docs/references/Policy.mdx | 2 - content/docs/references/Query.mdx | 2 - content/docs/references/RateLimit.mdx | 2 - content/docs/references/Report.mdx | 2 - content/docs/references/ReportChart.mdx | 2 - content/docs/references/ReportColumn.mdx | 2 - content/docs/references/ReportGrouping.mdx | 2 - content/docs/references/ReportType.mdx | 2 - content/docs/references/Role.mdx | 2 - content/docs/references/SAMLConfig.mdx | 2 - content/docs/references/ScriptValidation.mdx | 2 - content/docs/references/SelectOption.mdx | 2 - content/docs/references/SessionPolicy.mdx | 2 - content/docs/references/SharingLevel.mdx | 2 - content/docs/references/SharingRule.mdx | 2 - content/docs/references/SharingRuleType.mdx | 2 - content/docs/references/SortNode.mdx | 2 - .../references/StateMachineValidation.mdx | 2 - content/docs/references/Territory.mdx | 2 - content/docs/references/TerritoryModel.mdx | 2 - content/docs/references/TerritoryType.mdx | 2 - content/docs/references/TransformType.mdx | 2 - content/docs/references/TranslationBundle.mdx | 2 - content/docs/references/TranslationData.mdx | 2 - .../docs/references/UniquenessValidation.mdx | 2 - content/docs/references/UrlNavItem.mdx | 2 - content/docs/references/ValidationRule.mdx | 2 - content/docs/references/View.mdx | 2 - content/docs/references/Webhook.mdx | 2 - content/docs/references/WebhookReceiver.mdx | 2 - .../docs/references/WebhookTriggerType.mdx | 2 - content/docs/references/WorkflowAction.mdx | 2 - content/docs/references/WorkflowRule.mdx | 2 - .../docs/references/WorkflowTriggerType.mdx | 2 - packages/spec/scripts/build-docs.ts | 1 - scripts/remove-h1.js | 45 +++++++++++++++++++ 106 files changed, 45 insertions(+), 209 deletions(-) create mode 100644 scripts/remove-h1.js diff --git a/content/docs/references/AIKnowledge.mdx b/content/docs/references/AIKnowledge.mdx index 9be5001ea..a95abc12b 100644 --- a/content/docs/references/AIKnowledge.mdx +++ b/content/docs/references/AIKnowledge.mdx @@ -3,8 +3,6 @@ title: AIKnowledge description: AIKnowledge Schema Reference --- -# AIKnowledge - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/AIModelConfig.mdx b/content/docs/references/AIModelConfig.mdx index 420440b4b..d3f685795 100644 --- a/content/docs/references/AIModelConfig.mdx +++ b/content/docs/references/AIModelConfig.mdx @@ -3,8 +3,6 @@ title: AIModelConfig description: AIModelConfig Schema Reference --- -# AIModelConfig - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/AITool.mdx b/content/docs/references/AITool.mdx index 8d397c50b..fc872724d 100644 --- a/content/docs/references/AITool.mdx +++ b/content/docs/references/AITool.mdx @@ -3,8 +3,6 @@ title: AITool description: AITool Schema Reference --- -# AITool - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/Action.mdx b/content/docs/references/Action.mdx index b76a69338..3457c9131 100644 --- a/content/docs/references/Action.mdx +++ b/content/docs/references/Action.mdx @@ -3,8 +3,6 @@ title: Action description: Action Schema Reference --- -# Action - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/ActionParam.mdx b/content/docs/references/ActionParam.mdx index 138878ebe..52ce88e6b 100644 --- a/content/docs/references/ActionParam.mdx +++ b/content/docs/references/ActionParam.mdx @@ -3,8 +3,6 @@ title: ActionParam description: ActionParam Schema Reference --- -# ActionParam - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/Agent.mdx b/content/docs/references/Agent.mdx index 144a5b7f9..63ecbb9c3 100644 --- a/content/docs/references/Agent.mdx +++ b/content/docs/references/Agent.mdx @@ -3,8 +3,6 @@ title: Agent description: Agent Schema Reference --- -# Agent - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/ApiEndpoint.mdx b/content/docs/references/ApiEndpoint.mdx index 30f348bce..20a584608 100644 --- a/content/docs/references/ApiEndpoint.mdx +++ b/content/docs/references/ApiEndpoint.mdx @@ -3,8 +3,6 @@ title: ApiEndpoint description: ApiEndpoint Schema Reference --- -# ApiEndpoint - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/ApiMapping.mdx b/content/docs/references/ApiMapping.mdx index 32f18a849..d3ebafe16 100644 --- a/content/docs/references/ApiMapping.mdx +++ b/content/docs/references/ApiMapping.mdx @@ -3,8 +3,6 @@ title: ApiMapping description: ApiMapping Schema Reference --- -# ApiMapping - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/App.mdx b/content/docs/references/App.mdx index 33b101358..a803a5f6e 100644 --- a/content/docs/references/App.mdx +++ b/content/docs/references/App.mdx @@ -3,8 +3,6 @@ title: App description: App Schema Reference --- -# App - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/AppBranding.mdx b/content/docs/references/AppBranding.mdx index ef56fbc3e..ff066bb0e 100644 --- a/content/docs/references/AppBranding.mdx +++ b/content/docs/references/AppBranding.mdx @@ -3,8 +3,6 @@ title: AppBranding description: AppBranding Schema Reference --- -# AppBranding - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/AuditPolicy.mdx b/content/docs/references/AuditPolicy.mdx index 9f6daa347..9dd0106f9 100644 --- a/content/docs/references/AuditPolicy.mdx +++ b/content/docs/references/AuditPolicy.mdx @@ -3,8 +3,6 @@ title: AuditPolicy description: AuditPolicy Schema Reference --- -# AuditPolicy - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/AuthProtocol.mdx b/content/docs/references/AuthProtocol.mdx index a35e8f037..7f022beb8 100644 --- a/content/docs/references/AuthProtocol.mdx +++ b/content/docs/references/AuthProtocol.mdx @@ -3,8 +3,6 @@ title: AuthProtocol description: AuthProtocol Schema Reference --- -# AuthProtocol - ## Allowed Values * `oidc` diff --git a/content/docs/references/AuthProvider.mdx b/content/docs/references/AuthProvider.mdx index d4463cd70..d54bb985d 100644 --- a/content/docs/references/AuthProvider.mdx +++ b/content/docs/references/AuthProvider.mdx @@ -3,8 +3,6 @@ title: AuthProvider description: AuthProvider Schema Reference --- -# AuthProvider - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/CalendarConfig.mdx b/content/docs/references/CalendarConfig.mdx index 84d05cef1..b47adbfa2 100644 --- a/content/docs/references/CalendarConfig.mdx +++ b/content/docs/references/CalendarConfig.mdx @@ -3,8 +3,6 @@ title: CalendarConfig description: CalendarConfig Schema Reference --- -# CalendarConfig - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/ChartType.mdx b/content/docs/references/ChartType.mdx index 9422c4601..1e582edd7 100644 --- a/content/docs/references/ChartType.mdx +++ b/content/docs/references/ChartType.mdx @@ -3,8 +3,6 @@ title: ChartType description: ChartType Schema Reference --- -# ChartType - ## Allowed Values * `metric` diff --git a/content/docs/references/Dashboard.mdx b/content/docs/references/Dashboard.mdx index f18bb37d6..5e042dc3b 100644 --- a/content/docs/references/Dashboard.mdx +++ b/content/docs/references/Dashboard.mdx @@ -3,8 +3,6 @@ title: Dashboard description: Dashboard Schema Reference --- -# Dashboard - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/DashboardNavItem.mdx b/content/docs/references/DashboardNavItem.mdx index 6de968e62..45afb7947 100644 --- a/content/docs/references/DashboardNavItem.mdx +++ b/content/docs/references/DashboardNavItem.mdx @@ -3,8 +3,6 @@ title: DashboardNavItem description: DashboardNavItem Schema Reference --- -# DashboardNavItem - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/DashboardWidget.mdx b/content/docs/references/DashboardWidget.mdx index 90c7940e8..c643b5872 100644 --- a/content/docs/references/DashboardWidget.mdx +++ b/content/docs/references/DashboardWidget.mdx @@ -3,8 +3,6 @@ title: DashboardWidget description: DashboardWidget Schema Reference --- -# DashboardWidget - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/Dataset.mdx b/content/docs/references/Dataset.mdx index 65b27ff23..7e003d6e9 100644 --- a/content/docs/references/Dataset.mdx +++ b/content/docs/references/Dataset.mdx @@ -3,8 +3,6 @@ title: Dataset description: Dataset Schema Reference --- -# Dataset - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/DatasetMode.mdx b/content/docs/references/DatasetMode.mdx index 446fb9069..4366a09d9 100644 --- a/content/docs/references/DatasetMode.mdx +++ b/content/docs/references/DatasetMode.mdx @@ -3,8 +3,6 @@ title: DatasetMode description: DatasetMode Schema Reference --- -# DatasetMode - ## Allowed Values * `insert` diff --git a/content/docs/references/Datasource.mdx b/content/docs/references/Datasource.mdx index 81d1dcdeb..d087bf4c0 100644 --- a/content/docs/references/Datasource.mdx +++ b/content/docs/references/Datasource.mdx @@ -3,8 +3,6 @@ title: Datasource description: Datasource Schema Reference --- -# Datasource - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/DatasourceCapabilities.mdx b/content/docs/references/DatasourceCapabilities.mdx index 136f4ef7b..1aed27769 100644 --- a/content/docs/references/DatasourceCapabilities.mdx +++ b/content/docs/references/DatasourceCapabilities.mdx @@ -3,8 +3,6 @@ title: DatasourceCapabilities description: DatasourceCapabilities Schema Reference --- -# DatasourceCapabilities - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/DriverType.mdx b/content/docs/references/DriverType.mdx index cb42662a1..943f76eb7 100644 --- a/content/docs/references/DriverType.mdx +++ b/content/docs/references/DriverType.mdx @@ -3,8 +3,6 @@ title: DriverType description: DriverType Schema Reference --- -# DriverType - ## Allowed Values * `postgres` diff --git a/content/docs/references/EmailAlertAction.mdx b/content/docs/references/EmailAlertAction.mdx index 0db1393cb..e23cd03e0 100644 --- a/content/docs/references/EmailAlertAction.mdx +++ b/content/docs/references/EmailAlertAction.mdx @@ -3,8 +3,6 @@ title: EmailAlertAction description: EmailAlertAction Schema Reference --- -# EmailAlertAction - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/Feature.mdx b/content/docs/references/Feature.mdx index 0b7a5b92b..3a480aa1f 100644 --- a/content/docs/references/Feature.mdx +++ b/content/docs/references/Feature.mdx @@ -3,8 +3,6 @@ title: Feature description: Feature Schema Reference --- -# Feature - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/Field.mdx b/content/docs/references/Field.mdx index d53eff20c..c5eea6f51 100644 --- a/content/docs/references/Field.mdx +++ b/content/docs/references/Field.mdx @@ -3,8 +3,6 @@ title: Field description: Field Schema Reference --- -# Field - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/FieldMapping.mdx b/content/docs/references/FieldMapping.mdx index cebf934f9..aa3c34320 100644 --- a/content/docs/references/FieldMapping.mdx +++ b/content/docs/references/FieldMapping.mdx @@ -3,8 +3,6 @@ title: FieldMapping description: FieldMapping Schema Reference --- -# FieldMapping - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/FieldNode.mdx b/content/docs/references/FieldNode.mdx index f9bdfcfea..7f363499b 100644 --- a/content/docs/references/FieldNode.mdx +++ b/content/docs/references/FieldNode.mdx @@ -3,5 +3,3 @@ title: FieldNode description: FieldNode Schema Reference --- -# FieldNode - diff --git a/content/docs/references/FieldPermission.mdx b/content/docs/references/FieldPermission.mdx index d62856a42..61319166a 100644 --- a/content/docs/references/FieldPermission.mdx +++ b/content/docs/references/FieldPermission.mdx @@ -3,8 +3,6 @@ title: FieldPermission description: FieldPermission Schema Reference --- -# FieldPermission - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/FieldType.mdx b/content/docs/references/FieldType.mdx index 6780b58ba..b841fa84b 100644 --- a/content/docs/references/FieldType.mdx +++ b/content/docs/references/FieldType.mdx @@ -3,8 +3,6 @@ title: FieldType description: FieldType Schema Reference --- -# FieldType - ## Allowed Values * `text` diff --git a/content/docs/references/FieldUpdateAction.mdx b/content/docs/references/FieldUpdateAction.mdx index 0bcf517ff..62298b986 100644 --- a/content/docs/references/FieldUpdateAction.mdx +++ b/content/docs/references/FieldUpdateAction.mdx @@ -3,8 +3,6 @@ title: FieldUpdateAction description: FieldUpdateAction Schema Reference --- -# FieldUpdateAction - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/FilterNode.mdx b/content/docs/references/FilterNode.mdx index 0d5f43753..d554091bc 100644 --- a/content/docs/references/FilterNode.mdx +++ b/content/docs/references/FilterNode.mdx @@ -3,5 +3,3 @@ title: FilterNode description: FilterNode Schema Reference --- -# FilterNode - diff --git a/content/docs/references/FilterOperator.mdx b/content/docs/references/FilterOperator.mdx index cf716a1e0..ca63cccc7 100644 --- a/content/docs/references/FilterOperator.mdx +++ b/content/docs/references/FilterOperator.mdx @@ -3,8 +3,6 @@ title: FilterOperator description: FilterOperator Schema Reference --- -# FilterOperator - ## Allowed Values * `=` diff --git a/content/docs/references/Flow.mdx b/content/docs/references/Flow.mdx index e1c7af779..2c9408bef 100644 --- a/content/docs/references/Flow.mdx +++ b/content/docs/references/Flow.mdx @@ -3,8 +3,6 @@ title: Flow description: Flow Schema Reference --- -# Flow - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/FlowEdge.mdx b/content/docs/references/FlowEdge.mdx index bf99143f9..da89fa976 100644 --- a/content/docs/references/FlowEdge.mdx +++ b/content/docs/references/FlowEdge.mdx @@ -3,8 +3,6 @@ title: FlowEdge description: FlowEdge Schema Reference --- -# FlowEdge - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/FlowNode.mdx b/content/docs/references/FlowNode.mdx index d1bf3acd5..d36e3a88f 100644 --- a/content/docs/references/FlowNode.mdx +++ b/content/docs/references/FlowNode.mdx @@ -3,8 +3,6 @@ title: FlowNode description: FlowNode Schema Reference --- -# FlowNode - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/FlowNodeAction.mdx b/content/docs/references/FlowNodeAction.mdx index 1115fdcf4..0d0a054ef 100644 --- a/content/docs/references/FlowNodeAction.mdx +++ b/content/docs/references/FlowNodeAction.mdx @@ -3,8 +3,6 @@ title: FlowNodeAction description: FlowNodeAction Schema Reference --- -# FlowNodeAction - ## Allowed Values * `start` diff --git a/content/docs/references/FlowVariable.mdx b/content/docs/references/FlowVariable.mdx index 53f62ac94..82f28b8b8 100644 --- a/content/docs/references/FlowVariable.mdx +++ b/content/docs/references/FlowVariable.mdx @@ -3,8 +3,6 @@ title: FlowVariable description: FlowVariable Schema Reference --- -# FlowVariable - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/FormSection.mdx b/content/docs/references/FormSection.mdx index 8b9d9b771..801c98338 100644 --- a/content/docs/references/FormSection.mdx +++ b/content/docs/references/FormSection.mdx @@ -3,8 +3,6 @@ title: FormSection description: FormSection Schema Reference --- -# FormSection - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/FormView.mdx b/content/docs/references/FormView.mdx index 13802a833..bc4ab27ed 100644 --- a/content/docs/references/FormView.mdx +++ b/content/docs/references/FormView.mdx @@ -3,8 +3,6 @@ title: FormView description: FormView Schema Reference --- -# FormView - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/FormatValidation.mdx b/content/docs/references/FormatValidation.mdx index 27fd08dcc..77e57c49c 100644 --- a/content/docs/references/FormatValidation.mdx +++ b/content/docs/references/FormatValidation.mdx @@ -3,8 +3,6 @@ title: FormatValidation description: FormatValidation Schema Reference --- -# FormatValidation - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/GanttConfig.mdx b/content/docs/references/GanttConfig.mdx index 3abb3ca36..363692d57 100644 --- a/content/docs/references/GanttConfig.mdx +++ b/content/docs/references/GanttConfig.mdx @@ -3,8 +3,6 @@ title: GanttConfig description: GanttConfig Schema Reference --- -# GanttConfig - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/GroupNavItem.mdx b/content/docs/references/GroupNavItem.mdx index 2d188aedc..d6305bb54 100644 --- a/content/docs/references/GroupNavItem.mdx +++ b/content/docs/references/GroupNavItem.mdx @@ -3,8 +3,6 @@ title: GroupNavItem description: GroupNavItem Schema Reference --- -# GroupNavItem - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/HttpMethod.mdx b/content/docs/references/HttpMethod.mdx index 740f9b36c..71103ce5a 100644 --- a/content/docs/references/HttpMethod.mdx +++ b/content/docs/references/HttpMethod.mdx @@ -3,8 +3,6 @@ title: HttpMethod description: HttpMethod Schema Reference --- -# HttpMethod - ## Allowed Values * `GET` diff --git a/content/docs/references/Index.mdx b/content/docs/references/Index.mdx index 65effa809..43b421f27 100644 --- a/content/docs/references/Index.mdx +++ b/content/docs/references/Index.mdx @@ -3,8 +3,6 @@ title: Index description: Index Schema Reference --- -# Index - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/KanbanConfig.mdx b/content/docs/references/KanbanConfig.mdx index 087b91b73..b1c12639b 100644 --- a/content/docs/references/KanbanConfig.mdx +++ b/content/docs/references/KanbanConfig.mdx @@ -3,8 +3,6 @@ title: KanbanConfig description: KanbanConfig Schema Reference --- -# KanbanConfig - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/LDAPConfig.mdx b/content/docs/references/LDAPConfig.mdx index 6428c35c1..6b651678c 100644 --- a/content/docs/references/LDAPConfig.mdx +++ b/content/docs/references/LDAPConfig.mdx @@ -3,8 +3,6 @@ title: LDAPConfig description: LDAPConfig Schema Reference --- -# LDAPConfig - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/License.mdx b/content/docs/references/License.mdx index 1fc070945..136f755ce 100644 --- a/content/docs/references/License.mdx +++ b/content/docs/references/License.mdx @@ -3,8 +3,6 @@ title: License description: License Schema Reference --- -# License - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/ListView.mdx b/content/docs/references/ListView.mdx index fdcd1c406..0bad8e199 100644 --- a/content/docs/references/ListView.mdx +++ b/content/docs/references/ListView.mdx @@ -3,8 +3,6 @@ title: ListView description: ListView Schema Reference --- -# ListView - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/Locale.mdx b/content/docs/references/Locale.mdx index 09ad5888f..a930a875d 100644 --- a/content/docs/references/Locale.mdx +++ b/content/docs/references/Locale.mdx @@ -3,7 +3,5 @@ title: Locale description: BCP-47 Language Tag (e.g. en-US, zh-CN) --- -# Locale - BCP-47 Language Tag (e.g. en-US, zh-CN) diff --git a/content/docs/references/LogicOperator.mdx b/content/docs/references/LogicOperator.mdx index d03b2b7a4..41bb78589 100644 --- a/content/docs/references/LogicOperator.mdx +++ b/content/docs/references/LogicOperator.mdx @@ -3,8 +3,6 @@ title: LogicOperator description: LogicOperator Schema Reference --- -# LogicOperator - ## Allowed Values * `and` diff --git a/content/docs/references/Manifest.mdx b/content/docs/references/Manifest.mdx index d0acb6b85..2c432cae0 100644 --- a/content/docs/references/Manifest.mdx +++ b/content/docs/references/Manifest.mdx @@ -3,8 +3,6 @@ title: Manifest description: Manifest Schema Reference --- -# Manifest - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/Mapping.mdx b/content/docs/references/Mapping.mdx index c8a7da042..eb52f86b8 100644 --- a/content/docs/references/Mapping.mdx +++ b/content/docs/references/Mapping.mdx @@ -3,8 +3,6 @@ title: Mapping description: Mapping Schema Reference --- -# Mapping - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/MenuItem.mdx b/content/docs/references/MenuItem.mdx index 65341400e..6813a286f 100644 --- a/content/docs/references/MenuItem.mdx +++ b/content/docs/references/MenuItem.mdx @@ -3,8 +3,6 @@ title: MenuItem description: MenuItem Schema Reference --- -# MenuItem - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/MetricType.mdx b/content/docs/references/MetricType.mdx index a487e15ed..eae9b632e 100644 --- a/content/docs/references/MetricType.mdx +++ b/content/docs/references/MetricType.mdx @@ -3,8 +3,6 @@ title: MetricType description: MetricType Schema Reference --- -# MetricType - ## Allowed Values * `boolean` diff --git a/content/docs/references/NavigationItem.mdx b/content/docs/references/NavigationItem.mdx index 710a2561d..159d66648 100644 --- a/content/docs/references/NavigationItem.mdx +++ b/content/docs/references/NavigationItem.mdx @@ -3,5 +3,3 @@ title: NavigationItem description: NavigationItem Schema Reference --- -# NavigationItem - diff --git a/content/docs/references/NetworkPolicy.mdx b/content/docs/references/NetworkPolicy.mdx index 654265f8c..ce0112852 100644 --- a/content/docs/references/NetworkPolicy.mdx +++ b/content/docs/references/NetworkPolicy.mdx @@ -3,8 +3,6 @@ title: NetworkPolicy description: NetworkPolicy Schema Reference --- -# NetworkPolicy - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/OIDCConfig.mdx b/content/docs/references/OIDCConfig.mdx index eda7ae81d..b74969fe8 100644 --- a/content/docs/references/OIDCConfig.mdx +++ b/content/docs/references/OIDCConfig.mdx @@ -3,8 +3,6 @@ title: OIDCConfig description: OIDCConfig Schema Reference --- -# OIDCConfig - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/OWDModel.mdx b/content/docs/references/OWDModel.mdx index 62b08ba3e..8db1306f6 100644 --- a/content/docs/references/OWDModel.mdx +++ b/content/docs/references/OWDModel.mdx @@ -3,8 +3,6 @@ title: OWDModel description: OWDModel Schema Reference --- -# OWDModel - ## Allowed Values * `private` diff --git a/content/docs/references/Object.mdx b/content/docs/references/Object.mdx index 3176c9942..0537d72b7 100644 --- a/content/docs/references/Object.mdx +++ b/content/docs/references/Object.mdx @@ -3,8 +3,6 @@ title: Object description: Object Schema Reference --- -# Object - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/ObjectCapabilities.mdx b/content/docs/references/ObjectCapabilities.mdx index 0e59e207d..0e2437202 100644 --- a/content/docs/references/ObjectCapabilities.mdx +++ b/content/docs/references/ObjectCapabilities.mdx @@ -3,8 +3,6 @@ title: ObjectCapabilities description: ObjectCapabilities Schema Reference --- -# ObjectCapabilities - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/ObjectNavItem.mdx b/content/docs/references/ObjectNavItem.mdx index 1006c5ca7..d2c6edeec 100644 --- a/content/docs/references/ObjectNavItem.mdx +++ b/content/docs/references/ObjectNavItem.mdx @@ -3,8 +3,6 @@ title: ObjectNavItem description: ObjectNavItem Schema Reference --- -# ObjectNavItem - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/ObjectPermission.mdx b/content/docs/references/ObjectPermission.mdx index a977c0233..63a0de210 100644 --- a/content/docs/references/ObjectPermission.mdx +++ b/content/docs/references/ObjectPermission.mdx @@ -3,8 +3,6 @@ title: ObjectPermission description: ObjectPermission Schema Reference --- -# ObjectPermission - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/Page.mdx b/content/docs/references/Page.mdx index d75ead2de..2da53fcbc 100644 --- a/content/docs/references/Page.mdx +++ b/content/docs/references/Page.mdx @@ -3,8 +3,6 @@ title: Page description: Page Schema Reference --- -# Page - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/PageComponent.mdx b/content/docs/references/PageComponent.mdx index ca036c986..54972ccad 100644 --- a/content/docs/references/PageComponent.mdx +++ b/content/docs/references/PageComponent.mdx @@ -3,8 +3,6 @@ title: PageComponent description: PageComponent Schema Reference --- -# PageComponent - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/PageNavItem.mdx b/content/docs/references/PageNavItem.mdx index dc5749bcb..faedd74b3 100644 --- a/content/docs/references/PageNavItem.mdx +++ b/content/docs/references/PageNavItem.mdx @@ -3,8 +3,6 @@ title: PageNavItem description: PageNavItem Schema Reference --- -# PageNavItem - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/PageRegion.mdx b/content/docs/references/PageRegion.mdx index 5a7c31f12..1340f51ad 100644 --- a/content/docs/references/PageRegion.mdx +++ b/content/docs/references/PageRegion.mdx @@ -3,8 +3,6 @@ title: PageRegion description: PageRegion Schema Reference --- -# PageRegion - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/PasswordPolicy.mdx b/content/docs/references/PasswordPolicy.mdx index 5418d7243..7d23bd06c 100644 --- a/content/docs/references/PasswordPolicy.mdx +++ b/content/docs/references/PasswordPolicy.mdx @@ -3,8 +3,6 @@ title: PasswordPolicy description: PasswordPolicy Schema Reference --- -# PasswordPolicy - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/PermissionSet.mdx b/content/docs/references/PermissionSet.mdx index 47f9880af..22c886ea6 100644 --- a/content/docs/references/PermissionSet.mdx +++ b/content/docs/references/PermissionSet.mdx @@ -3,8 +3,6 @@ title: PermissionSet description: PermissionSet Schema Reference --- -# PermissionSet - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/Plan.mdx b/content/docs/references/Plan.mdx index f8b8e6eb6..516b7b8a2 100644 --- a/content/docs/references/Plan.mdx +++ b/content/docs/references/Plan.mdx @@ -3,8 +3,6 @@ title: Plan description: Plan Schema Reference --- -# Plan - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/Policy.mdx b/content/docs/references/Policy.mdx index 6d81564c5..c143fef9e 100644 --- a/content/docs/references/Policy.mdx +++ b/content/docs/references/Policy.mdx @@ -3,8 +3,6 @@ title: Policy description: Policy Schema Reference --- -# Policy - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/Query.mdx b/content/docs/references/Query.mdx index 5fe687e04..f8679d322 100644 --- a/content/docs/references/Query.mdx +++ b/content/docs/references/Query.mdx @@ -3,8 +3,6 @@ title: Query description: Query Schema Reference --- -# Query - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/RateLimit.mdx b/content/docs/references/RateLimit.mdx index 0f0ef9b5a..84ebaf8fd 100644 --- a/content/docs/references/RateLimit.mdx +++ b/content/docs/references/RateLimit.mdx @@ -3,8 +3,6 @@ title: RateLimit description: RateLimit Schema Reference --- -# RateLimit - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/Report.mdx b/content/docs/references/Report.mdx index 82fe84c51..e16bac929 100644 --- a/content/docs/references/Report.mdx +++ b/content/docs/references/Report.mdx @@ -3,8 +3,6 @@ title: Report description: Report Schema Reference --- -# Report - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/ReportChart.mdx b/content/docs/references/ReportChart.mdx index aa480c371..b6c342462 100644 --- a/content/docs/references/ReportChart.mdx +++ b/content/docs/references/ReportChart.mdx @@ -3,8 +3,6 @@ title: ReportChart description: ReportChart Schema Reference --- -# ReportChart - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/ReportColumn.mdx b/content/docs/references/ReportColumn.mdx index f2177009a..607e8ace1 100644 --- a/content/docs/references/ReportColumn.mdx +++ b/content/docs/references/ReportColumn.mdx @@ -3,8 +3,6 @@ title: ReportColumn description: ReportColumn Schema Reference --- -# ReportColumn - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/ReportGrouping.mdx b/content/docs/references/ReportGrouping.mdx index ec7feb6a5..e82ab5ada 100644 --- a/content/docs/references/ReportGrouping.mdx +++ b/content/docs/references/ReportGrouping.mdx @@ -3,8 +3,6 @@ title: ReportGrouping description: ReportGrouping Schema Reference --- -# ReportGrouping - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/ReportType.mdx b/content/docs/references/ReportType.mdx index 91f2430be..db2609f65 100644 --- a/content/docs/references/ReportType.mdx +++ b/content/docs/references/ReportType.mdx @@ -3,8 +3,6 @@ title: ReportType description: ReportType Schema Reference --- -# ReportType - ## Allowed Values * `tabular` diff --git a/content/docs/references/Role.mdx b/content/docs/references/Role.mdx index 7f14c1419..a65c9a535 100644 --- a/content/docs/references/Role.mdx +++ b/content/docs/references/Role.mdx @@ -3,8 +3,6 @@ title: Role description: Role Schema Reference --- -# Role - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/SAMLConfig.mdx b/content/docs/references/SAMLConfig.mdx index 740b1b4dd..3f38afcf5 100644 --- a/content/docs/references/SAMLConfig.mdx +++ b/content/docs/references/SAMLConfig.mdx @@ -3,8 +3,6 @@ title: SAMLConfig description: SAMLConfig Schema Reference --- -# SAMLConfig - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/ScriptValidation.mdx b/content/docs/references/ScriptValidation.mdx index 70429df13..f9ecdeff2 100644 --- a/content/docs/references/ScriptValidation.mdx +++ b/content/docs/references/ScriptValidation.mdx @@ -3,8 +3,6 @@ title: ScriptValidation description: ScriptValidation Schema Reference --- -# ScriptValidation - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/SelectOption.mdx b/content/docs/references/SelectOption.mdx index 4b5ddea48..0b16b1614 100644 --- a/content/docs/references/SelectOption.mdx +++ b/content/docs/references/SelectOption.mdx @@ -3,8 +3,6 @@ title: SelectOption description: SelectOption Schema Reference --- -# SelectOption - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/SessionPolicy.mdx b/content/docs/references/SessionPolicy.mdx index 0992dbaa3..da62e84af 100644 --- a/content/docs/references/SessionPolicy.mdx +++ b/content/docs/references/SessionPolicy.mdx @@ -3,8 +3,6 @@ title: SessionPolicy description: SessionPolicy Schema Reference --- -# SessionPolicy - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/SharingLevel.mdx b/content/docs/references/SharingLevel.mdx index cc412f4d2..7acb9c893 100644 --- a/content/docs/references/SharingLevel.mdx +++ b/content/docs/references/SharingLevel.mdx @@ -3,8 +3,6 @@ title: SharingLevel description: SharingLevel Schema Reference --- -# SharingLevel - ## Allowed Values * `read` diff --git a/content/docs/references/SharingRule.mdx b/content/docs/references/SharingRule.mdx index e244ea1f4..f39e4d9b9 100644 --- a/content/docs/references/SharingRule.mdx +++ b/content/docs/references/SharingRule.mdx @@ -3,8 +3,6 @@ title: SharingRule description: SharingRule Schema Reference --- -# SharingRule - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/SharingRuleType.mdx b/content/docs/references/SharingRuleType.mdx index 8eaf7c9da..1c8fa210e 100644 --- a/content/docs/references/SharingRuleType.mdx +++ b/content/docs/references/SharingRuleType.mdx @@ -3,8 +3,6 @@ title: SharingRuleType description: SharingRuleType Schema Reference --- -# SharingRuleType - ## Allowed Values * `owner` diff --git a/content/docs/references/SortNode.mdx b/content/docs/references/SortNode.mdx index 4569a5d55..1574f19bc 100644 --- a/content/docs/references/SortNode.mdx +++ b/content/docs/references/SortNode.mdx @@ -3,8 +3,6 @@ title: SortNode description: SortNode Schema Reference --- -# SortNode - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/StateMachineValidation.mdx b/content/docs/references/StateMachineValidation.mdx index b60de9e6e..d8f640ce6 100644 --- a/content/docs/references/StateMachineValidation.mdx +++ b/content/docs/references/StateMachineValidation.mdx @@ -3,8 +3,6 @@ title: StateMachineValidation description: StateMachineValidation Schema Reference --- -# StateMachineValidation - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/Territory.mdx b/content/docs/references/Territory.mdx index b8ffd5bc4..50bf52acb 100644 --- a/content/docs/references/Territory.mdx +++ b/content/docs/references/Territory.mdx @@ -3,8 +3,6 @@ title: Territory description: Territory Schema Reference --- -# Territory - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/TerritoryModel.mdx b/content/docs/references/TerritoryModel.mdx index 40bba9b69..e043d74cb 100644 --- a/content/docs/references/TerritoryModel.mdx +++ b/content/docs/references/TerritoryModel.mdx @@ -3,8 +3,6 @@ title: TerritoryModel description: TerritoryModel Schema Reference --- -# TerritoryModel - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/TerritoryType.mdx b/content/docs/references/TerritoryType.mdx index 0123724d9..d43de23a5 100644 --- a/content/docs/references/TerritoryType.mdx +++ b/content/docs/references/TerritoryType.mdx @@ -3,8 +3,6 @@ title: TerritoryType description: TerritoryType Schema Reference --- -# TerritoryType - ## Allowed Values * `geography` diff --git a/content/docs/references/TransformType.mdx b/content/docs/references/TransformType.mdx index 3d1679c10..254e288aa 100644 --- a/content/docs/references/TransformType.mdx +++ b/content/docs/references/TransformType.mdx @@ -3,8 +3,6 @@ title: TransformType description: TransformType Schema Reference --- -# TransformType - ## Allowed Values * `none` diff --git a/content/docs/references/TranslationBundle.mdx b/content/docs/references/TranslationBundle.mdx index 1c0c8d811..937c54f56 100644 --- a/content/docs/references/TranslationBundle.mdx +++ b/content/docs/references/TranslationBundle.mdx @@ -3,5 +3,3 @@ title: TranslationBundle description: TranslationBundle Schema Reference --- -# TranslationBundle - diff --git a/content/docs/references/TranslationData.mdx b/content/docs/references/TranslationData.mdx index 487b6d935..95a354a6e 100644 --- a/content/docs/references/TranslationData.mdx +++ b/content/docs/references/TranslationData.mdx @@ -3,8 +3,6 @@ title: TranslationData description: TranslationData Schema Reference --- -# TranslationData - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/UniquenessValidation.mdx b/content/docs/references/UniquenessValidation.mdx index 7401eb574..965f7de8e 100644 --- a/content/docs/references/UniquenessValidation.mdx +++ b/content/docs/references/UniquenessValidation.mdx @@ -3,8 +3,6 @@ title: UniquenessValidation description: UniquenessValidation Schema Reference --- -# UniquenessValidation - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/UrlNavItem.mdx b/content/docs/references/UrlNavItem.mdx index c0e701ba6..3ecc81c7f 100644 --- a/content/docs/references/UrlNavItem.mdx +++ b/content/docs/references/UrlNavItem.mdx @@ -3,8 +3,6 @@ title: UrlNavItem description: UrlNavItem Schema Reference --- -# UrlNavItem - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/ValidationRule.mdx b/content/docs/references/ValidationRule.mdx index 9309b219f..8acc0ff10 100644 --- a/content/docs/references/ValidationRule.mdx +++ b/content/docs/references/ValidationRule.mdx @@ -3,5 +3,3 @@ title: ValidationRule description: ValidationRule Schema Reference --- -# ValidationRule - diff --git a/content/docs/references/View.mdx b/content/docs/references/View.mdx index 9c35b4219..61dd3b7ad 100644 --- a/content/docs/references/View.mdx +++ b/content/docs/references/View.mdx @@ -3,8 +3,6 @@ title: View description: View Schema Reference --- -# View - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/Webhook.mdx b/content/docs/references/Webhook.mdx index 2cdacc466..5a6cceb0e 100644 --- a/content/docs/references/Webhook.mdx +++ b/content/docs/references/Webhook.mdx @@ -3,8 +3,6 @@ title: Webhook description: Webhook Schema Reference --- -# Webhook - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/WebhookReceiver.mdx b/content/docs/references/WebhookReceiver.mdx index 70b2ebaa2..4ab2c56e9 100644 --- a/content/docs/references/WebhookReceiver.mdx +++ b/content/docs/references/WebhookReceiver.mdx @@ -3,8 +3,6 @@ title: WebhookReceiver description: WebhookReceiver Schema Reference --- -# WebhookReceiver - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/WebhookTriggerType.mdx b/content/docs/references/WebhookTriggerType.mdx index 3d4473e5e..18c38830b 100644 --- a/content/docs/references/WebhookTriggerType.mdx +++ b/content/docs/references/WebhookTriggerType.mdx @@ -3,8 +3,6 @@ title: WebhookTriggerType description: WebhookTriggerType Schema Reference --- -# WebhookTriggerType - ## Allowed Values * `create` diff --git a/content/docs/references/WorkflowAction.mdx b/content/docs/references/WorkflowAction.mdx index 9cc387973..9d45b696a 100644 --- a/content/docs/references/WorkflowAction.mdx +++ b/content/docs/references/WorkflowAction.mdx @@ -3,5 +3,3 @@ title: WorkflowAction description: WorkflowAction Schema Reference --- -# WorkflowAction - diff --git a/content/docs/references/WorkflowRule.mdx b/content/docs/references/WorkflowRule.mdx index 31b564c56..86545124f 100644 --- a/content/docs/references/WorkflowRule.mdx +++ b/content/docs/references/WorkflowRule.mdx @@ -3,8 +3,6 @@ title: WorkflowRule description: WorkflowRule Schema Reference --- -# WorkflowRule - ## Properties | Property | Type | Required | Description | diff --git a/content/docs/references/WorkflowTriggerType.mdx b/content/docs/references/WorkflowTriggerType.mdx index d475e062c..6c5f6564c 100644 --- a/content/docs/references/WorkflowTriggerType.mdx +++ b/content/docs/references/WorkflowTriggerType.mdx @@ -3,8 +3,6 @@ title: WorkflowTriggerType description: WorkflowTriggerType Schema Reference --- -# WorkflowTriggerType - ## Allowed Values * `on_create` diff --git a/packages/spec/scripts/build-docs.ts b/packages/spec/scripts/build-docs.ts index d5a5a86dc..154b5461c 100644 --- a/packages/spec/scripts/build-docs.ts +++ b/packages/spec/scripts/build-docs.ts @@ -41,7 +41,6 @@ function generateMarkdown(schemaName: string, schema: any) { let md = `---\ntitle: ${schemaName}\ndescription: ${mainDef.description || schemaName + ' Schema Reference'}\n---\n\n`; - md += `# ${schemaName}\n\n`; if (mainDef.description) { md += `${mainDef.description}\n\n`; } diff --git a/scripts/remove-h1.js b/scripts/remove-h1.js new file mode 100644 index 000000000..76e01f438 --- /dev/null +++ b/scripts/remove-h1.js @@ -0,0 +1,45 @@ +const fs = require('fs'); +const path = require('path'); +const glob = require('glob'); + +const docsDir = path.resolve(__dirname, '../content/docs'); + +// Find all MDX files in content/docs +const files = glob.sync('**/*.mdx', { + cwd: docsDir, + ignore: 'references/**', // Ignore generated references + absolute: true +}); + +files.forEach(file => { + let content = fs.readFileSync(file, 'utf8'); + + // Check for frontmatter + const frontmatterRegex = /^---\n[\s\S]*?\n---\n/; + const match = content.match(frontmatterRegex); + + if (match) { + const frontmatter = match[0]; + const bodyWithImports = content.slice(frontmatter.length); + + // Split body into lines to handle imports and spacing safely + const lines = bodyWithImports.split('\n'); + + // Find the first line that is a H1 header (# Title) + // We iterate and stop at the first non-empty/non-import line to see if it's a H1 + // Actually, easiest is just to find the first line starting with "# " + + const h1Index = lines.findIndex(line => line.trim().startsWith('# ')); + + if (h1Index !== -1) { + console.log(`Fixing ${path.relative(docsDir, file)}`); + lines.splice(h1Index, 1); // Remove the header line + + // If the next line is empty, maybe remove it too to avoid double spacing? + // But usually it's fine. + + const newContent = frontmatter + lines.join('\n'); + fs.writeFileSync(file, newContent, 'utf8'); + } + } +}); From 2973586b96a9c766f0c5c82e70107b059fe2da4d Mon Sep 17 00:00:00 2001 From: Jack Zhuang <50353452+hotlong@users.noreply.github.com> Date: Mon, 19 Jan 2026 13:12:11 +0800 Subject: [PATCH 08/11] Remove H1 headers from multiple documentation files and delete the associated script --- content/docs/concepts/ai-codex.mdx | 1 - content/docs/concepts/architecture.mdx | 1 - content/docs/concepts/core-values.mdx | 1 - content/docs/concepts/enterprise-patterns.mdx | 1 - content/docs/concepts/manifesto.mdx | 1 - content/docs/concepts/terminology.mdx | 1 - content/docs/index.mdx | 1 - .../specifications/data/advanced-types.mdx | 1 - .../data/analytics-protocol.mdx | 1 - .../specifications/data/ast-structure.mdx | 1 - content/docs/specifications/data/index.mdx | 1 - .../specifications/data/schema-definition.mdx | 1 - .../specifications/data/transaction-model.mdx | 1 - .../specifications/data/wire-protocol.mdx | 1 - content/docs/specifications/index.mdx | 1 - .../server/audit-compliance.mdx | 1 - .../server/automation-rules.mdx | 1 - content/docs/specifications/server/index.mdx | 1 - .../specifications/server/integration-etl.mdx | 1 - .../server/permission-governance.mdx | 1 - .../specifications/server/plugin-manifest.mdx | 1 - .../specifications/server/workflow-engine.mdx | 1 - .../specifications/ui/action-triggers.mdx | 1 - .../specifications/ui/component-schema.mdx | 1 - content/docs/specifications/ui/index.mdx | 1 - .../docs/specifications/ui/layout-system.mdx | 1 - .../specifications/ui/report-template.mdx | 1 - .../docs/specifications/ui/view-protocol.mdx | 1 - scripts/remove-h1.js | 45 ------------------- 29 files changed, 73 deletions(-) delete mode 100644 scripts/remove-h1.js diff --git a/content/docs/concepts/ai-codex.mdx b/content/docs/concepts/ai-codex.mdx index 1df8cb722..f99846008 100644 --- a/content/docs/concepts/ai-codex.mdx +++ b/content/docs/concepts/ai-codex.mdx @@ -3,7 +3,6 @@ title: The AI Codex description: Best practices for AI-assisted ObjectStack development --- -# The AI Codex This guide helps developers leverage AI tools to enhance ObjectStack development efficiency. diff --git a/content/docs/concepts/architecture.mdx b/content/docs/concepts/architecture.mdx index f241ad1b9..e82c939dc 100644 --- a/content/docs/concepts/architecture.mdx +++ b/content/docs/concepts/architecture.mdx @@ -3,7 +3,6 @@ title: Architecture Overview description: Understanding the ObjectStack Trinity. How ObjectQL, ObjectOS, and ObjectUI collaborate to build the Enterprise Kernel. --- -# Architecture Overview ObjectStack is not a monolithic framework. It is a composable ecosystem designed around a **Layered Architecture**. We call this the **"ObjectStack Trinity."** diff --git a/content/docs/concepts/core-values.mdx b/content/docs/concepts/core-values.mdx index 5650da78d..1da56be87 100644 --- a/content/docs/concepts/core-values.mdx +++ b/content/docs/concepts/core-values.mdx @@ -3,7 +3,6 @@ title: Core Values description: "Deep dive into the three pillars of ObjectStack: Protocol-Driven Architecture, Local-First Data Sovereignty, and Database Agnosticism." --- -# Core Values ObjectStack is built upon three non-negotiable architectural values. These are not just "features"; they are the constraints that guide every design decision we make. diff --git a/content/docs/concepts/enterprise-patterns.mdx b/content/docs/concepts/enterprise-patterns.mdx index 7309af745..b8d886b71 100644 --- a/content/docs/concepts/enterprise-patterns.mdx +++ b/content/docs/concepts/enterprise-patterns.mdx @@ -3,7 +3,6 @@ title: Enterprise Patterns description: Handling complex ERP/CRM business logic (State Machines, Calculations, RBAC) using the Protocol-Driven approach. --- -# Enterprise Patterns A common misconception about "Low-Code" or "Protocol-Driven" platforms is that they are only suitable for simple CRUD applications. diff --git a/content/docs/concepts/manifesto.mdx b/content/docs/concepts/manifesto.mdx index 6b6fa6c17..ec1c03692 100644 --- a/content/docs/concepts/manifesto.mdx +++ b/content/docs/concepts/manifesto.mdx @@ -3,7 +3,6 @@ title: The ObjectStack Manifesto description: The unshakable core principles that govern ObjectStack's existence and evolution --- -# The ObjectStack Manifesto ObjectStack exists to return data application development to its essence. To maintain a healthy and open ecosystem, we pledge to uphold the following unshakable core principles: diff --git a/content/docs/concepts/terminology.mdx b/content/docs/concepts/terminology.mdx index fdef420e5..1d6693aad 100644 --- a/content/docs/concepts/terminology.mdx +++ b/content/docs/concepts/terminology.mdx @@ -3,7 +3,6 @@ title: Terminology description: A glossary of key terms, concepts, and jargon used within the ObjectStack ecosystem. --- -# Terminology To navigate the ObjectStack ecosystem effectively, it is helpful to understand the specific vocabulary we use. While many terms are standard in computer science, some have specific nuances in our "Protocol-Driven" context. diff --git a/content/docs/index.mdx b/content/docs/index.mdx index 9894331fc..7a667fec3 100644 --- a/content/docs/index.mdx +++ b/content/docs/index.mdx @@ -5,7 +5,6 @@ description: The Standard for Post-SaaS Operating Systems import { FileText, Database, Layout, Settings, Book } from 'lucide-react'; -# ObjectStack Protocol **ObjectStack Protocol** is the "DNA" and constitution of the ObjectStack platform. It defines the metadata standards, schemas, and runtime behaviors that power a metadata-driven, low-code operating system. diff --git a/content/docs/specifications/data/advanced-types.mdx b/content/docs/specifications/data/advanced-types.mdx index 8206520c6..ece76e75a 100644 --- a/content/docs/specifications/data/advanced-types.mdx +++ b/content/docs/specifications/data/advanced-types.mdx @@ -3,7 +3,6 @@ title: Advanced Types description: "Deep dive into Enterprise Data Types: Currency, Lookup, Formulas, and Summaries." --- -# Advanced Enterprise Types While basic types like `text` and `boolean` handle standard data, Enterprise applications require specialized types to handle money, relationships, and on-the-fly calculations. diff --git a/content/docs/specifications/data/analytics-protocol.mdx b/content/docs/specifications/data/analytics-protocol.mdx index f0cf23786..14e2576ef 100644 --- a/content/docs/specifications/data/analytics-protocol.mdx +++ b/content/docs/specifications/data/analytics-protocol.mdx @@ -3,7 +3,6 @@ title: Analytics Protocol description: Defining Aggregations, Pivot Tables, and BI Data Sources using the ObjectQL Protocol. --- -# Analytics Protocol In traditional architectures, generating reports usually requires exporting data to a Data Warehouse or writing complex, non-portable SQL queries. diff --git a/content/docs/specifications/data/ast-structure.mdx b/content/docs/specifications/data/ast-structure.mdx index 088e9c85d..0f320d4e0 100644 --- a/content/docs/specifications/data/ast-structure.mdx +++ b/content/docs/specifications/data/ast-structure.mdx @@ -3,7 +3,6 @@ title: The Core AST description: Understanding the Abstract Syntax Tree (AST) that powers the ObjectQL Protocol. --- -# The Abstract Syntax Tree (AST) ObjectQL is not just a URL query parameter parser. It is a **Database Compiler**. diff --git a/content/docs/specifications/data/index.mdx b/content/docs/specifications/data/index.mdx index bf0a9ed39..dbad5e30b 100644 --- a/content/docs/specifications/data/index.mdx +++ b/content/docs/specifications/data/index.mdx @@ -3,7 +3,6 @@ title: ObjectQL Overview description: Introduction to the Data Protocol. Understanding the Database Compiler architecture and the Abstract Syntax Tree (AST). --- -# ObjectQL Data Protocol **ObjectQL** is a database-agnostic protocol for defining, querying, and manipulating enterprise data. diff --git a/content/docs/specifications/data/schema-definition.mdx b/content/docs/specifications/data/schema-definition.mdx index 36161a6b4..d3513347c 100644 --- a/content/docs/specifications/data/schema-definition.mdx +++ b/content/docs/specifications/data/schema-definition.mdx @@ -3,7 +3,6 @@ title: Schema Definition description: The core of ObjectQL. How to define Objects, Fields, and Relationships using declarative YAML protocols. --- -# Schema Definition In ObjectQL, you do not write `CREATE TABLE` statements, nor do you define Mongoose Schemas or TypeORM Classes. Instead, you define **Objects** using a standard YAML (or JSON) protocol. diff --git a/content/docs/specifications/data/transaction-model.mdx b/content/docs/specifications/data/transaction-model.mdx index 5cfdcd8a4..250af5652 100644 --- a/content/docs/specifications/data/transaction-model.mdx +++ b/content/docs/specifications/data/transaction-model.mdx @@ -5,7 +5,6 @@ sidebar_position: 5 slug: /objectql/transaction-model --- -# Transaction Model & Atomicity In Enterprise applications, data integrity is non-negotiable. A classic example is saving an **Order** and its **Line Items**. You cannot have an Order created without its Items, nor can you deduct inventory if the Order fails to save. diff --git a/content/docs/specifications/data/wire-protocol.mdx b/content/docs/specifications/data/wire-protocol.mdx index 37c544e6b..b5e08d091 100644 --- a/content/docs/specifications/data/wire-protocol.mdx +++ b/content/docs/specifications/data/wire-protocol.mdx @@ -3,7 +3,6 @@ title: Wire Protocol description: The HTTP/WebSocket transport specification. Request envelopes, Response formats, and Error handling standards. --- -# Wire Protocol The **Wire Protocol** defines how ObjectQL ASTs and Mutations are serialized and transmitted over the network. diff --git a/content/docs/specifications/index.mdx b/content/docs/specifications/index.mdx index fec19c9b2..9ab7ddc78 100644 --- a/content/docs/specifications/index.mdx +++ b/content/docs/specifications/index.mdx @@ -3,7 +3,6 @@ title: Specifications Overview description: The authoritative guide to the ObjectStack protocols. Understanding the philosophy of "Intent over Implementation". --- -# Specifications Overview > "We shape our tools and thereafter our tools shape us." — Marshall McLuhan diff --git a/content/docs/specifications/server/audit-compliance.mdx b/content/docs/specifications/server/audit-compliance.mdx index 29d182baf..db08d6d07 100644 --- a/content/docs/specifications/server/audit-compliance.mdx +++ b/content/docs/specifications/server/audit-compliance.mdx @@ -3,7 +3,6 @@ title: Audit & Compliance description: The Protocol for Accountability. Field History Tracking, System Audit Trails, and Data Retention Policies. --- -# Audit & Compliance In the enterprise world, "Who changed this?" is the most expensive question to leave unanswered. diff --git a/content/docs/specifications/server/automation-rules.mdx b/content/docs/specifications/server/automation-rules.mdx index d1a1adc15..e6ad71127 100644 --- a/content/docs/specifications/server/automation-rules.mdx +++ b/content/docs/specifications/server/automation-rules.mdx @@ -3,7 +3,6 @@ title: Automation Rules description: The Protocol for Server-Side Logic. Database Triggers, Scheduled Jobs, and No-Code Automation Flows. --- -# Automation Rules While Workflows guide a record through a lifecycle, **Automation Rules** handle the immediate logic and side effects of data changes. diff --git a/content/docs/specifications/server/index.mdx b/content/docs/specifications/server/index.mdx index 423567355..cb5d969ee 100644 --- a/content/docs/specifications/server/index.mdx +++ b/content/docs/specifications/server/index.mdx @@ -3,7 +3,6 @@ title: ObjectOS Overview description: Introduction to the Business Operating System. The Kernel for Identity, Synchronization, and Orchestration. --- -# ObjectOS Protocol **ObjectOS** is the runtime **Kernel** of the ObjectStack ecosystem. diff --git a/content/docs/specifications/server/integration-etl.mdx b/content/docs/specifications/server/integration-etl.mdx index d44e126ac..d58fdaa8d 100644 --- a/content/docs/specifications/server/integration-etl.mdx +++ b/content/docs/specifications/server/integration-etl.mdx @@ -3,7 +3,6 @@ title: Integration & ETL description: The Protocol for Connectivity. Data Import/Export, Virtual Objects (External Data Sources), and API Mapping Standards. --- -# Integration & ETL No enterprise application is an island. It must ingest CSVs from suppliers, sync orders to SAP, and pull lead data from LinkedIn. diff --git a/content/docs/specifications/server/permission-governance.mdx b/content/docs/specifications/server/permission-governance.mdx index 9eefd9d48..a31c163e3 100644 --- a/content/docs/specifications/server/permission-governance.mdx +++ b/content/docs/specifications/server/permission-governance.mdx @@ -5,7 +5,6 @@ sidebar_position: 3 slug: /objectos/permission-governance --- -# Permission & Governance In ObjectStack, security is not implemented in API Controllers or UI logic. It is **Injected by the Kernel**. diff --git a/content/docs/specifications/server/plugin-manifest.mdx b/content/docs/specifications/server/plugin-manifest.mdx index 234257e03..122ecd077 100644 --- a/content/docs/specifications/server/plugin-manifest.mdx +++ b/content/docs/specifications/server/plugin-manifest.mdx @@ -3,7 +3,6 @@ title: Plugin Manifest description: The specification for packaging capabilities. Manifest structure, Lifecycle hooks, and Dependency management. --- -# Plugin Manifest ObjectOS follows a **Micro-Kernel Architecture**. The Core Engine is minimal, providing only the basic runtime (Auth, DB Driver, HTTP Server). diff --git a/content/docs/specifications/server/workflow-engine.mdx b/content/docs/specifications/server/workflow-engine.mdx index 156f7b547..11da3e4f6 100644 --- a/content/docs/specifications/server/workflow-engine.mdx +++ b/content/docs/specifications/server/workflow-engine.mdx @@ -3,7 +3,6 @@ title: Workflow Engine description: The Protocol for Business Process Management (BPM). State Machines, Approval Chains, and BPMN Mapping. --- -# Workflow Engine The **ObjectOS Workflow Engine** is a deterministic state machine that governs the lifecycle of business objects. diff --git a/content/docs/specifications/ui/action-triggers.mdx b/content/docs/specifications/ui/action-triggers.mdx index ae55aca44..65d403557 100644 --- a/content/docs/specifications/ui/action-triggers.mdx +++ b/content/docs/specifications/ui/action-triggers.mdx @@ -3,7 +3,6 @@ title: Action Triggers description: The client-side interaction protocol. Handling clicks, navigation, and API calls via JSON events. --- -# Action Triggers In ObjectUI, interactivity is defined by **Actions**, not functions. diff --git a/content/docs/specifications/ui/component-schema.mdx b/content/docs/specifications/ui/component-schema.mdx index 7091b30af..cc757d177 100644 --- a/content/docs/specifications/ui/component-schema.mdx +++ b/content/docs/specifications/ui/component-schema.mdx @@ -3,7 +3,6 @@ title: Basic Components description: "The JSON Schema specification for atomic form elements: Input, Select, and DatePicker." --- -# Basic Component Schema In ObjectUI, every form element is a **Leaf Node** in the render tree. These nodes map directly to **Shadcn UI** primitives, ensuring accessibility and a modern aesthetic. diff --git a/content/docs/specifications/ui/index.mdx b/content/docs/specifications/ui/index.mdx index 54df82ab3..576f08976 100644 --- a/content/docs/specifications/ui/index.mdx +++ b/content/docs/specifications/ui/index.mdx @@ -3,7 +3,6 @@ title: Overview description: Introduction to the Server-Driven UI (SDUI) Protocol. Treating User Interfaces as Data. --- -# ObjectUI Protocol **ObjectUI** is a standard protocol for describing User Interfaces as **JSON Data**. diff --git a/content/docs/specifications/ui/layout-system.mdx b/content/docs/specifications/ui/layout-system.mdx index d2c54d183..92760c8ab 100644 --- a/content/docs/specifications/ui/layout-system.mdx +++ b/content/docs/specifications/ui/layout-system.mdx @@ -3,7 +3,6 @@ title: Layout System description: Building complex application structures with Stack, Grid, Tabs, Wizard, and Master-Detail layouts. --- -# Layout System In ObjectUI, layouts are **Recursive Containers**. A layout component doesn't hold data itself; it holds other components (`children`) and defines how they are arranged spatially. diff --git a/content/docs/specifications/ui/report-template.mdx b/content/docs/specifications/ui/report-template.mdx index f9ff0f219..fac1d3e51 100644 --- a/content/docs/specifications/ui/report-template.mdx +++ b/content/docs/specifications/ui/report-template.mdx @@ -3,7 +3,6 @@ title: Report & PDF Protocol description: The specification for generating pixel-perfect printable documents (Invoices, Contracts) using HTML/CSS templates. --- -# Report & PDF Protocol In Enterprise software, the ability to generate **Pixel-Perfect Documents**—Invoices, Packing Slips, Contracts, and Purchase Orders—is critical. diff --git a/content/docs/specifications/ui/view-protocol.mdx b/content/docs/specifications/ui/view-protocol.mdx index 83e99c1d6..b6f74923d 100644 --- a/content/docs/specifications/ui/view-protocol.mdx +++ b/content/docs/specifications/ui/view-protocol.mdx @@ -3,7 +3,6 @@ title: Complex View Protocol description: "The specification for high-density collection views: Data Grid, Kanban, Gantt, and Calendar." --- -# Complex View Protocol While Basic Components deal with a single field, **Views** deal with **Collections** of records. diff --git a/scripts/remove-h1.js b/scripts/remove-h1.js deleted file mode 100644 index 76e01f438..000000000 --- a/scripts/remove-h1.js +++ /dev/null @@ -1,45 +0,0 @@ -const fs = require('fs'); -const path = require('path'); -const glob = require('glob'); - -const docsDir = path.resolve(__dirname, '../content/docs'); - -// Find all MDX files in content/docs -const files = glob.sync('**/*.mdx', { - cwd: docsDir, - ignore: 'references/**', // Ignore generated references - absolute: true -}); - -files.forEach(file => { - let content = fs.readFileSync(file, 'utf8'); - - // Check for frontmatter - const frontmatterRegex = /^---\n[\s\S]*?\n---\n/; - const match = content.match(frontmatterRegex); - - if (match) { - const frontmatter = match[0]; - const bodyWithImports = content.slice(frontmatter.length); - - // Split body into lines to handle imports and spacing safely - const lines = bodyWithImports.split('\n'); - - // Find the first line that is a H1 header (# Title) - // We iterate and stop at the first non-empty/non-import line to see if it's a H1 - // Actually, easiest is just to find the first line starting with "# " - - const h1Index = lines.findIndex(line => line.trim().startsWith('# ')); - - if (h1Index !== -1) { - console.log(`Fixing ${path.relative(docsDir, file)}`); - lines.splice(h1Index, 1); // Remove the header line - - // If the next line is empty, maybe remove it too to avoid double spacing? - // But usually it's fine. - - const newContent = frontmatter + lines.join('\n'); - fs.writeFileSync(file, newContent, 'utf8'); - } - } -}); From 974fedadbfb6759171480f6e575ae988763d6dc0 Mon Sep 17 00:00:00 2001 From: Jack Zhuang <50353452+hotlong@users.noreply.github.com> Date: Mon, 19 Jan 2026 13:20:26 +0800 Subject: [PATCH 09/11] Enhance HomePage component: Replace redirect with content layout, add hero section, and implement feature cards --- apps/docs/app/page.tsx | 101 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 99 insertions(+), 2 deletions(-) diff --git a/apps/docs/app/page.tsx b/apps/docs/app/page.tsx index 4393163a5..dbc3df986 100644 --- a/apps/docs/app/page.tsx +++ b/apps/docs/app/page.tsx @@ -1,5 +1,102 @@ -import { redirect } from 'next/navigation'; +import Link from 'next/link'; +import { Database, FileJson, Layers, ShieldCheck, Zap, Globe } from 'lucide-react'; +import { HomeLayout } from 'fumadocs-ui/layouts/home'; +import { baseOptions } from '@/app/layout.config'; export default function HomePage() { - redirect('/docs'); + return ( + +
+ + {/* Hero Section */} +
+
+ + v1.0 Public Draft +
+ +

+ The Post-SaaS
Operatings System +

+ +

+ ObjectStack is an open-standard protocol for defining enterprise software. +
+ Metadata-driven. Local-first. AI-native. +

+ +
+ + Read the Specification + + + View on GitHub + +
+
+ + {/* Grid Pattern Background */} +
+ + {/* Feature Grid */} +
+ } + title="ObjectQL Data Layer" + description="A universal schema definition language (SDL) that abstracts SQL, NoSQL, and API datasources into a unified graph." + /> + } + title="ObjectUI Presentation" + description="Declarative UI definitions for layouts, views, reports, and dashboards. Write once, render on Web, Mobile, and CLI." + /> + } + title="ObjectOS Runtime" + description="Power workflows, validations, permissions, and automation rules through a portable, stateless execution engine." + /> + } + title="Enterprise Security" + description="Built-in RBAC, Field-level security, and audit logs defined directly in your metadata codebase." + /> + } + title="100% Typed Metadata" + description="Every protocol definition is backed by Zod schemas and TypeScript interfaces, ensuring type-safety from definition to runtime." + /> + } + title="Local-First Ecosystem" + description="Designed for edge computing and local execution. Git-ops ready with simple JSON/YAML file structures." + /> +
+ +
+
+ ); +} + +function FeatureCard({ icon, title, description }: { icon: React.ReactNode; title: string; description: string }) { + return ( +
+
+ {icon} +
+

+ {title} +

+

+ {description} +

+
+ ); } From b869b7440c64b31c06ef31c72d4e7f8500bc1945 Mon Sep 17 00:00:00 2001 From: Jack Zhuang <50353452+hotlong@users.noreply.github.com> Date: Mon, 19 Jan 2026 13:23:04 +0800 Subject: [PATCH 10/11] Update page.tsx --- apps/docs/app/docs/[[...slug]]/page.tsx | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/apps/docs/app/docs/[[...slug]]/page.tsx b/apps/docs/app/docs/[[...slug]]/page.tsx index 1f421416f..b8194605b 100644 --- a/apps/docs/app/docs/[[...slug]]/page.tsx +++ b/apps/docs/app/docs/[[...slug]]/page.tsx @@ -11,13 +11,18 @@ export default async function Page(props: { const page = await source.getPage(params.slug ?? []); if (!page) notFound(); - const Content = (page.data as any).body; + const data = page.data as any; + const Content = data.body; return ( - + -

{page.data.title}

- {page.data.description &&

{page.data.description}

} +

{page.data.title}

+ {page.data.description && ( +

+ {page.data.description} +

+ )}
From d523741e6516388af71d34dd09c4ad86e94d9459 Mon Sep 17 00:00:00 2001 From: Jack Zhuang <50353452+hotlong@users.noreply.github.com> Date: Mon, 19 Jan 2026 13:28:10 +0800 Subject: [PATCH 11/11] Restructure API reference docs by protocol category Moved reference .mdx files into protocol-based subdirectories (data, ui, system, ai, misc) and added meta.json files for each category. Updated build-docs.ts to generate documentation into these new directories and to update meta.json for navigation. This improves organization and navigation of API reference documentation. --- .../docs/references/{ => ai}/AIKnowledge.mdx | 0 .../references/{ => ai}/AIModelConfig.mdx | 0 content/docs/references/{ => ai}/AITool.mdx | 0 content/docs/references/{ => ai}/Agent.mdx | 0 content/docs/references/ai/meta.json | 3 + .../docs/references/{ => data}/Dataset.mdx | 0 .../references/{ => data}/DatasetMode.mdx | 0 .../{ => data}/EmailAlertAction.mdx | 0 content/docs/references/{ => data}/Field.mdx | 0 .../references/{ => data}/FieldMapping.mdx | 0 .../references/{ => data}/FieldPermission.mdx | 0 .../docs/references/{ => data}/FieldType.mdx | 0 .../{ => data}/FieldUpdateAction.mdx | 0 .../references/{ => data}/FilterOperator.mdx | 0 content/docs/references/{ => data}/Flow.mdx | 0 .../docs/references/{ => data}/FlowEdge.mdx | 0 .../docs/references/{ => data}/FlowNode.mdx | 0 .../references/{ => data}/FlowNodeAction.mdx | 0 .../references/{ => data}/FlowVariable.mdx | 0 content/docs/references/{ => data}/Index.mdx | 0 .../references/{ => data}/LogicOperator.mdx | 0 .../docs/references/{ => data}/Mapping.mdx | 0 .../docs/references/{ => data}/OWDModel.mdx | 0 content/docs/references/{ => data}/Object.mdx | 0 .../{ => data}/ObjectCapabilities.mdx | 0 .../{ => data}/ObjectPermission.mdx | 0 .../references/{ => data}/PermissionSet.mdx | 0 content/docs/references/{ => data}/Query.mdx | 0 .../references/{ => data}/SelectOption.mdx | 0 .../references/{ => data}/SharingLevel.mdx | 0 .../references/{ => data}/SharingRule.mdx | 0 .../references/{ => data}/SharingRuleType.mdx | 0 .../docs/references/{ => data}/SortNode.mdx | 0 .../references/{ => data}/TransformType.mdx | 0 .../references/{ => data}/ValidationRule.mdx | 0 .../references/{ => data}/WorkflowAction.mdx | 0 .../references/{ => data}/WorkflowRule.mdx | 0 .../{ => data}/WorkflowTriggerType.mdx | 0 content/docs/references/data/meta.json | 3 + content/docs/references/meta.json | 34 +----- .../{ => misc}/DashboardNavItem.mdx | 0 .../docs/references/{ => misc}/FieldNode.mdx | 0 .../docs/references/{ => misc}/FilterNode.mdx | 0 .../{ => misc}/FormatValidation.mdx | 0 .../references/{ => misc}/GroupNavItem.mdx | 0 .../references/{ => misc}/NavigationItem.mdx | 0 .../references/{ => misc}/ObjectNavItem.mdx | 0 .../references/{ => misc}/PageNavItem.mdx | 0 .../{ => misc}/ScriptValidation.mdx | 0 .../{ => misc}/StateMachineValidation.mdx | 0 .../{ => misc}/UniquenessValidation.mdx | 0 .../docs/references/{ => misc}/UrlNavItem.mdx | 0 .../references/{ => system}/ApiEndpoint.mdx | 0 .../references/{ => system}/ApiMapping.mdx | 0 .../references/{ => system}/AuditPolicy.mdx | 0 .../references/{ => system}/AuthProtocol.mdx | 0 .../references/{ => system}/AuthProvider.mdx | 0 .../references/{ => system}/Datasource.mdx | 0 .../{ => system}/DatasourceCapabilities.mdx | 0 .../references/{ => system}/DriverType.mdx | 0 .../docs/references/{ => system}/Feature.mdx | 0 .../references/{ => system}/HttpMethod.mdx | 0 .../references/{ => system}/LDAPConfig.mdx | 0 .../docs/references/{ => system}/License.mdx | 0 .../docs/references/{ => system}/Locale.mdx | 0 .../docs/references/{ => system}/Manifest.mdx | 0 .../docs/references/{ => system}/MenuItem.mdx | 0 .../references/{ => system}/MetricType.mdx | 0 .../references/{ => system}/NetworkPolicy.mdx | 0 .../references/{ => system}/OIDCConfig.mdx | 0 .../{ => system}/PasswordPolicy.mdx | 0 content/docs/references/{ => system}/Plan.mdx | 0 .../docs/references/{ => system}/Policy.mdx | 0 .../references/{ => system}/RateLimit.mdx | 0 content/docs/references/{ => system}/Role.mdx | 0 .../references/{ => system}/SAMLConfig.mdx | 0 .../references/{ => system}/SessionPolicy.mdx | 0 .../references/{ => system}/Territory.mdx | 0 .../{ => system}/TerritoryModel.mdx | 0 .../references/{ => system}/TerritoryType.mdx | 0 .../{ => system}/TranslationBundle.mdx | 0 .../{ => system}/TranslationData.mdx | 0 .../docs/references/{ => system}/Webhook.mdx | 0 .../{ => system}/WebhookReceiver.mdx | 0 .../{ => system}/WebhookTriggerType.mdx | 0 content/docs/references/system/meta.json | 3 + content/docs/references/{ => ui}/Action.mdx | 0 .../docs/references/{ => ui}/ActionParam.mdx | 0 content/docs/references/{ => ui}/App.mdx | 0 .../docs/references/{ => ui}/AppBranding.mdx | 0 .../references/{ => ui}/CalendarConfig.mdx | 0 .../docs/references/{ => ui}/ChartType.mdx | 0 .../docs/references/{ => ui}/Dashboard.mdx | 0 .../references/{ => ui}/DashboardWidget.mdx | 0 .../docs/references/{ => ui}/FormSection.mdx | 0 content/docs/references/{ => ui}/FormView.mdx | 0 .../docs/references/{ => ui}/GanttConfig.mdx | 0 .../docs/references/{ => ui}/KanbanConfig.mdx | 0 content/docs/references/{ => ui}/ListView.mdx | 0 content/docs/references/{ => ui}/Page.mdx | 0 .../references/{ => ui}/PageComponent.mdx | 0 .../docs/references/{ => ui}/PageRegion.mdx | 0 content/docs/references/{ => ui}/Report.mdx | 0 .../docs/references/{ => ui}/ReportChart.mdx | 0 .../docs/references/{ => ui}/ReportColumn.mdx | 0 .../references/{ => ui}/ReportGrouping.mdx | 0 .../docs/references/{ => ui}/ReportType.mdx | 0 content/docs/references/{ => ui}/View.mdx | 0 content/docs/references/ui/meta.json | 3 + packages/spec/scripts/build-docs.ts | 113 +++++++++++++++++- 110 files changed, 125 insertions(+), 34 deletions(-) rename content/docs/references/{ => ai}/AIKnowledge.mdx (100%) rename content/docs/references/{ => ai}/AIModelConfig.mdx (100%) rename content/docs/references/{ => ai}/AITool.mdx (100%) rename content/docs/references/{ => ai}/Agent.mdx (100%) create mode 100644 content/docs/references/ai/meta.json rename content/docs/references/{ => data}/Dataset.mdx (100%) rename content/docs/references/{ => data}/DatasetMode.mdx (100%) rename content/docs/references/{ => data}/EmailAlertAction.mdx (100%) rename content/docs/references/{ => data}/Field.mdx (100%) rename content/docs/references/{ => data}/FieldMapping.mdx (100%) rename content/docs/references/{ => data}/FieldPermission.mdx (100%) rename content/docs/references/{ => data}/FieldType.mdx (100%) rename content/docs/references/{ => data}/FieldUpdateAction.mdx (100%) rename content/docs/references/{ => data}/FilterOperator.mdx (100%) rename content/docs/references/{ => data}/Flow.mdx (100%) rename content/docs/references/{ => data}/FlowEdge.mdx (100%) rename content/docs/references/{ => data}/FlowNode.mdx (100%) rename content/docs/references/{ => data}/FlowNodeAction.mdx (100%) rename content/docs/references/{ => data}/FlowVariable.mdx (100%) rename content/docs/references/{ => data}/Index.mdx (100%) rename content/docs/references/{ => data}/LogicOperator.mdx (100%) rename content/docs/references/{ => data}/Mapping.mdx (100%) rename content/docs/references/{ => data}/OWDModel.mdx (100%) rename content/docs/references/{ => data}/Object.mdx (100%) rename content/docs/references/{ => data}/ObjectCapabilities.mdx (100%) rename content/docs/references/{ => data}/ObjectPermission.mdx (100%) rename content/docs/references/{ => data}/PermissionSet.mdx (100%) rename content/docs/references/{ => data}/Query.mdx (100%) rename content/docs/references/{ => data}/SelectOption.mdx (100%) rename content/docs/references/{ => data}/SharingLevel.mdx (100%) rename content/docs/references/{ => data}/SharingRule.mdx (100%) rename content/docs/references/{ => data}/SharingRuleType.mdx (100%) rename content/docs/references/{ => data}/SortNode.mdx (100%) rename content/docs/references/{ => data}/TransformType.mdx (100%) rename content/docs/references/{ => data}/ValidationRule.mdx (100%) rename content/docs/references/{ => data}/WorkflowAction.mdx (100%) rename content/docs/references/{ => data}/WorkflowRule.mdx (100%) rename content/docs/references/{ => data}/WorkflowTriggerType.mdx (100%) create mode 100644 content/docs/references/data/meta.json rename content/docs/references/{ => misc}/DashboardNavItem.mdx (100%) rename content/docs/references/{ => misc}/FieldNode.mdx (100%) rename content/docs/references/{ => misc}/FilterNode.mdx (100%) rename content/docs/references/{ => misc}/FormatValidation.mdx (100%) rename content/docs/references/{ => misc}/GroupNavItem.mdx (100%) rename content/docs/references/{ => misc}/NavigationItem.mdx (100%) rename content/docs/references/{ => misc}/ObjectNavItem.mdx (100%) rename content/docs/references/{ => misc}/PageNavItem.mdx (100%) rename content/docs/references/{ => misc}/ScriptValidation.mdx (100%) rename content/docs/references/{ => misc}/StateMachineValidation.mdx (100%) rename content/docs/references/{ => misc}/UniquenessValidation.mdx (100%) rename content/docs/references/{ => misc}/UrlNavItem.mdx (100%) rename content/docs/references/{ => system}/ApiEndpoint.mdx (100%) rename content/docs/references/{ => system}/ApiMapping.mdx (100%) rename content/docs/references/{ => system}/AuditPolicy.mdx (100%) rename content/docs/references/{ => system}/AuthProtocol.mdx (100%) rename content/docs/references/{ => system}/AuthProvider.mdx (100%) rename content/docs/references/{ => system}/Datasource.mdx (100%) rename content/docs/references/{ => system}/DatasourceCapabilities.mdx (100%) rename content/docs/references/{ => system}/DriverType.mdx (100%) rename content/docs/references/{ => system}/Feature.mdx (100%) rename content/docs/references/{ => system}/HttpMethod.mdx (100%) rename content/docs/references/{ => system}/LDAPConfig.mdx (100%) rename content/docs/references/{ => system}/License.mdx (100%) rename content/docs/references/{ => system}/Locale.mdx (100%) rename content/docs/references/{ => system}/Manifest.mdx (100%) rename content/docs/references/{ => system}/MenuItem.mdx (100%) rename content/docs/references/{ => system}/MetricType.mdx (100%) rename content/docs/references/{ => system}/NetworkPolicy.mdx (100%) rename content/docs/references/{ => system}/OIDCConfig.mdx (100%) rename content/docs/references/{ => system}/PasswordPolicy.mdx (100%) rename content/docs/references/{ => system}/Plan.mdx (100%) rename content/docs/references/{ => system}/Policy.mdx (100%) rename content/docs/references/{ => system}/RateLimit.mdx (100%) rename content/docs/references/{ => system}/Role.mdx (100%) rename content/docs/references/{ => system}/SAMLConfig.mdx (100%) rename content/docs/references/{ => system}/SessionPolicy.mdx (100%) rename content/docs/references/{ => system}/Territory.mdx (100%) rename content/docs/references/{ => system}/TerritoryModel.mdx (100%) rename content/docs/references/{ => system}/TerritoryType.mdx (100%) rename content/docs/references/{ => system}/TranslationBundle.mdx (100%) rename content/docs/references/{ => system}/TranslationData.mdx (100%) rename content/docs/references/{ => system}/Webhook.mdx (100%) rename content/docs/references/{ => system}/WebhookReceiver.mdx (100%) rename content/docs/references/{ => system}/WebhookTriggerType.mdx (100%) create mode 100644 content/docs/references/system/meta.json rename content/docs/references/{ => ui}/Action.mdx (100%) rename content/docs/references/{ => ui}/ActionParam.mdx (100%) rename content/docs/references/{ => ui}/App.mdx (100%) rename content/docs/references/{ => ui}/AppBranding.mdx (100%) rename content/docs/references/{ => ui}/CalendarConfig.mdx (100%) rename content/docs/references/{ => ui}/ChartType.mdx (100%) rename content/docs/references/{ => ui}/Dashboard.mdx (100%) rename content/docs/references/{ => ui}/DashboardWidget.mdx (100%) rename content/docs/references/{ => ui}/FormSection.mdx (100%) rename content/docs/references/{ => ui}/FormView.mdx (100%) rename content/docs/references/{ => ui}/GanttConfig.mdx (100%) rename content/docs/references/{ => ui}/KanbanConfig.mdx (100%) rename content/docs/references/{ => ui}/ListView.mdx (100%) rename content/docs/references/{ => ui}/Page.mdx (100%) rename content/docs/references/{ => ui}/PageComponent.mdx (100%) rename content/docs/references/{ => ui}/PageRegion.mdx (100%) rename content/docs/references/{ => ui}/Report.mdx (100%) rename content/docs/references/{ => ui}/ReportChart.mdx (100%) rename content/docs/references/{ => ui}/ReportColumn.mdx (100%) rename content/docs/references/{ => ui}/ReportGrouping.mdx (100%) rename content/docs/references/{ => ui}/ReportType.mdx (100%) rename content/docs/references/{ => ui}/View.mdx (100%) create mode 100644 content/docs/references/ui/meta.json diff --git a/content/docs/references/AIKnowledge.mdx b/content/docs/references/ai/AIKnowledge.mdx similarity index 100% rename from content/docs/references/AIKnowledge.mdx rename to content/docs/references/ai/AIKnowledge.mdx diff --git a/content/docs/references/AIModelConfig.mdx b/content/docs/references/ai/AIModelConfig.mdx similarity index 100% rename from content/docs/references/AIModelConfig.mdx rename to content/docs/references/ai/AIModelConfig.mdx diff --git a/content/docs/references/AITool.mdx b/content/docs/references/ai/AITool.mdx similarity index 100% rename from content/docs/references/AITool.mdx rename to content/docs/references/ai/AITool.mdx diff --git a/content/docs/references/Agent.mdx b/content/docs/references/ai/Agent.mdx similarity index 100% rename from content/docs/references/Agent.mdx rename to content/docs/references/ai/Agent.mdx diff --git a/content/docs/references/ai/meta.json b/content/docs/references/ai/meta.json new file mode 100644 index 000000000..161f093f0 --- /dev/null +++ b/content/docs/references/ai/meta.json @@ -0,0 +1,3 @@ +{ + "title": "AI Protocol" +} \ No newline at end of file diff --git a/content/docs/references/Dataset.mdx b/content/docs/references/data/Dataset.mdx similarity index 100% rename from content/docs/references/Dataset.mdx rename to content/docs/references/data/Dataset.mdx diff --git a/content/docs/references/DatasetMode.mdx b/content/docs/references/data/DatasetMode.mdx similarity index 100% rename from content/docs/references/DatasetMode.mdx rename to content/docs/references/data/DatasetMode.mdx diff --git a/content/docs/references/EmailAlertAction.mdx b/content/docs/references/data/EmailAlertAction.mdx similarity index 100% rename from content/docs/references/EmailAlertAction.mdx rename to content/docs/references/data/EmailAlertAction.mdx diff --git a/content/docs/references/Field.mdx b/content/docs/references/data/Field.mdx similarity index 100% rename from content/docs/references/Field.mdx rename to content/docs/references/data/Field.mdx diff --git a/content/docs/references/FieldMapping.mdx b/content/docs/references/data/FieldMapping.mdx similarity index 100% rename from content/docs/references/FieldMapping.mdx rename to content/docs/references/data/FieldMapping.mdx diff --git a/content/docs/references/FieldPermission.mdx b/content/docs/references/data/FieldPermission.mdx similarity index 100% rename from content/docs/references/FieldPermission.mdx rename to content/docs/references/data/FieldPermission.mdx diff --git a/content/docs/references/FieldType.mdx b/content/docs/references/data/FieldType.mdx similarity index 100% rename from content/docs/references/FieldType.mdx rename to content/docs/references/data/FieldType.mdx diff --git a/content/docs/references/FieldUpdateAction.mdx b/content/docs/references/data/FieldUpdateAction.mdx similarity index 100% rename from content/docs/references/FieldUpdateAction.mdx rename to content/docs/references/data/FieldUpdateAction.mdx diff --git a/content/docs/references/FilterOperator.mdx b/content/docs/references/data/FilterOperator.mdx similarity index 100% rename from content/docs/references/FilterOperator.mdx rename to content/docs/references/data/FilterOperator.mdx diff --git a/content/docs/references/Flow.mdx b/content/docs/references/data/Flow.mdx similarity index 100% rename from content/docs/references/Flow.mdx rename to content/docs/references/data/Flow.mdx diff --git a/content/docs/references/FlowEdge.mdx b/content/docs/references/data/FlowEdge.mdx similarity index 100% rename from content/docs/references/FlowEdge.mdx rename to content/docs/references/data/FlowEdge.mdx diff --git a/content/docs/references/FlowNode.mdx b/content/docs/references/data/FlowNode.mdx similarity index 100% rename from content/docs/references/FlowNode.mdx rename to content/docs/references/data/FlowNode.mdx diff --git a/content/docs/references/FlowNodeAction.mdx b/content/docs/references/data/FlowNodeAction.mdx similarity index 100% rename from content/docs/references/FlowNodeAction.mdx rename to content/docs/references/data/FlowNodeAction.mdx diff --git a/content/docs/references/FlowVariable.mdx b/content/docs/references/data/FlowVariable.mdx similarity index 100% rename from content/docs/references/FlowVariable.mdx rename to content/docs/references/data/FlowVariable.mdx diff --git a/content/docs/references/Index.mdx b/content/docs/references/data/Index.mdx similarity index 100% rename from content/docs/references/Index.mdx rename to content/docs/references/data/Index.mdx diff --git a/content/docs/references/LogicOperator.mdx b/content/docs/references/data/LogicOperator.mdx similarity index 100% rename from content/docs/references/LogicOperator.mdx rename to content/docs/references/data/LogicOperator.mdx diff --git a/content/docs/references/Mapping.mdx b/content/docs/references/data/Mapping.mdx similarity index 100% rename from content/docs/references/Mapping.mdx rename to content/docs/references/data/Mapping.mdx diff --git a/content/docs/references/OWDModel.mdx b/content/docs/references/data/OWDModel.mdx similarity index 100% rename from content/docs/references/OWDModel.mdx rename to content/docs/references/data/OWDModel.mdx diff --git a/content/docs/references/Object.mdx b/content/docs/references/data/Object.mdx similarity index 100% rename from content/docs/references/Object.mdx rename to content/docs/references/data/Object.mdx diff --git a/content/docs/references/ObjectCapabilities.mdx b/content/docs/references/data/ObjectCapabilities.mdx similarity index 100% rename from content/docs/references/ObjectCapabilities.mdx rename to content/docs/references/data/ObjectCapabilities.mdx diff --git a/content/docs/references/ObjectPermission.mdx b/content/docs/references/data/ObjectPermission.mdx similarity index 100% rename from content/docs/references/ObjectPermission.mdx rename to content/docs/references/data/ObjectPermission.mdx diff --git a/content/docs/references/PermissionSet.mdx b/content/docs/references/data/PermissionSet.mdx similarity index 100% rename from content/docs/references/PermissionSet.mdx rename to content/docs/references/data/PermissionSet.mdx diff --git a/content/docs/references/Query.mdx b/content/docs/references/data/Query.mdx similarity index 100% rename from content/docs/references/Query.mdx rename to content/docs/references/data/Query.mdx diff --git a/content/docs/references/SelectOption.mdx b/content/docs/references/data/SelectOption.mdx similarity index 100% rename from content/docs/references/SelectOption.mdx rename to content/docs/references/data/SelectOption.mdx diff --git a/content/docs/references/SharingLevel.mdx b/content/docs/references/data/SharingLevel.mdx similarity index 100% rename from content/docs/references/SharingLevel.mdx rename to content/docs/references/data/SharingLevel.mdx diff --git a/content/docs/references/SharingRule.mdx b/content/docs/references/data/SharingRule.mdx similarity index 100% rename from content/docs/references/SharingRule.mdx rename to content/docs/references/data/SharingRule.mdx diff --git a/content/docs/references/SharingRuleType.mdx b/content/docs/references/data/SharingRuleType.mdx similarity index 100% rename from content/docs/references/SharingRuleType.mdx rename to content/docs/references/data/SharingRuleType.mdx diff --git a/content/docs/references/SortNode.mdx b/content/docs/references/data/SortNode.mdx similarity index 100% rename from content/docs/references/SortNode.mdx rename to content/docs/references/data/SortNode.mdx diff --git a/content/docs/references/TransformType.mdx b/content/docs/references/data/TransformType.mdx similarity index 100% rename from content/docs/references/TransformType.mdx rename to content/docs/references/data/TransformType.mdx diff --git a/content/docs/references/ValidationRule.mdx b/content/docs/references/data/ValidationRule.mdx similarity index 100% rename from content/docs/references/ValidationRule.mdx rename to content/docs/references/data/ValidationRule.mdx diff --git a/content/docs/references/WorkflowAction.mdx b/content/docs/references/data/WorkflowAction.mdx similarity index 100% rename from content/docs/references/WorkflowAction.mdx rename to content/docs/references/data/WorkflowAction.mdx diff --git a/content/docs/references/WorkflowRule.mdx b/content/docs/references/data/WorkflowRule.mdx similarity index 100% rename from content/docs/references/WorkflowRule.mdx rename to content/docs/references/data/WorkflowRule.mdx diff --git a/content/docs/references/WorkflowTriggerType.mdx b/content/docs/references/data/WorkflowTriggerType.mdx similarity index 100% rename from content/docs/references/WorkflowTriggerType.mdx rename to content/docs/references/data/WorkflowTriggerType.mdx diff --git a/content/docs/references/data/meta.json b/content/docs/references/data/meta.json new file mode 100644 index 000000000..a5e07bd1a --- /dev/null +++ b/content/docs/references/data/meta.json @@ -0,0 +1,3 @@ +{ + "title": "Data Protocol" +} \ No newline at end of file diff --git a/content/docs/references/meta.json b/content/docs/references/meta.json index 7ac5cf7b3..bccadca09 100644 --- a/content/docs/references/meta.json +++ b/content/docs/references/meta.json @@ -2,32 +2,10 @@ "label": "API References", "order": 100, "pages": [ - "--- Data Protocol ---", - "Object", - "Field", - "PermissionSet", - "SharingRule", - "Query", - "Mapping", - "Flow", - "ValidationRule", - - "--- UI Protocol ---", - "App", - "Page", - "View", - "Dashboard", - "DashboardWidget", - "Report", - "Action", - - "--- System Protocol ---", - "Manifest", - "Datasource", - "Role", - "Territory", - "Policy", - "Webhook", - "TranslationBundle" + "data", + "ui", + "system", + "ai", + "misc" ] -} +} \ No newline at end of file diff --git a/content/docs/references/DashboardNavItem.mdx b/content/docs/references/misc/DashboardNavItem.mdx similarity index 100% rename from content/docs/references/DashboardNavItem.mdx rename to content/docs/references/misc/DashboardNavItem.mdx diff --git a/content/docs/references/FieldNode.mdx b/content/docs/references/misc/FieldNode.mdx similarity index 100% rename from content/docs/references/FieldNode.mdx rename to content/docs/references/misc/FieldNode.mdx diff --git a/content/docs/references/FilterNode.mdx b/content/docs/references/misc/FilterNode.mdx similarity index 100% rename from content/docs/references/FilterNode.mdx rename to content/docs/references/misc/FilterNode.mdx diff --git a/content/docs/references/FormatValidation.mdx b/content/docs/references/misc/FormatValidation.mdx similarity index 100% rename from content/docs/references/FormatValidation.mdx rename to content/docs/references/misc/FormatValidation.mdx diff --git a/content/docs/references/GroupNavItem.mdx b/content/docs/references/misc/GroupNavItem.mdx similarity index 100% rename from content/docs/references/GroupNavItem.mdx rename to content/docs/references/misc/GroupNavItem.mdx diff --git a/content/docs/references/NavigationItem.mdx b/content/docs/references/misc/NavigationItem.mdx similarity index 100% rename from content/docs/references/NavigationItem.mdx rename to content/docs/references/misc/NavigationItem.mdx diff --git a/content/docs/references/ObjectNavItem.mdx b/content/docs/references/misc/ObjectNavItem.mdx similarity index 100% rename from content/docs/references/ObjectNavItem.mdx rename to content/docs/references/misc/ObjectNavItem.mdx diff --git a/content/docs/references/PageNavItem.mdx b/content/docs/references/misc/PageNavItem.mdx similarity index 100% rename from content/docs/references/PageNavItem.mdx rename to content/docs/references/misc/PageNavItem.mdx diff --git a/content/docs/references/ScriptValidation.mdx b/content/docs/references/misc/ScriptValidation.mdx similarity index 100% rename from content/docs/references/ScriptValidation.mdx rename to content/docs/references/misc/ScriptValidation.mdx diff --git a/content/docs/references/StateMachineValidation.mdx b/content/docs/references/misc/StateMachineValidation.mdx similarity index 100% rename from content/docs/references/StateMachineValidation.mdx rename to content/docs/references/misc/StateMachineValidation.mdx diff --git a/content/docs/references/UniquenessValidation.mdx b/content/docs/references/misc/UniquenessValidation.mdx similarity index 100% rename from content/docs/references/UniquenessValidation.mdx rename to content/docs/references/misc/UniquenessValidation.mdx diff --git a/content/docs/references/UrlNavItem.mdx b/content/docs/references/misc/UrlNavItem.mdx similarity index 100% rename from content/docs/references/UrlNavItem.mdx rename to content/docs/references/misc/UrlNavItem.mdx diff --git a/content/docs/references/ApiEndpoint.mdx b/content/docs/references/system/ApiEndpoint.mdx similarity index 100% rename from content/docs/references/ApiEndpoint.mdx rename to content/docs/references/system/ApiEndpoint.mdx diff --git a/content/docs/references/ApiMapping.mdx b/content/docs/references/system/ApiMapping.mdx similarity index 100% rename from content/docs/references/ApiMapping.mdx rename to content/docs/references/system/ApiMapping.mdx diff --git a/content/docs/references/AuditPolicy.mdx b/content/docs/references/system/AuditPolicy.mdx similarity index 100% rename from content/docs/references/AuditPolicy.mdx rename to content/docs/references/system/AuditPolicy.mdx diff --git a/content/docs/references/AuthProtocol.mdx b/content/docs/references/system/AuthProtocol.mdx similarity index 100% rename from content/docs/references/AuthProtocol.mdx rename to content/docs/references/system/AuthProtocol.mdx diff --git a/content/docs/references/AuthProvider.mdx b/content/docs/references/system/AuthProvider.mdx similarity index 100% rename from content/docs/references/AuthProvider.mdx rename to content/docs/references/system/AuthProvider.mdx diff --git a/content/docs/references/Datasource.mdx b/content/docs/references/system/Datasource.mdx similarity index 100% rename from content/docs/references/Datasource.mdx rename to content/docs/references/system/Datasource.mdx diff --git a/content/docs/references/DatasourceCapabilities.mdx b/content/docs/references/system/DatasourceCapabilities.mdx similarity index 100% rename from content/docs/references/DatasourceCapabilities.mdx rename to content/docs/references/system/DatasourceCapabilities.mdx diff --git a/content/docs/references/DriverType.mdx b/content/docs/references/system/DriverType.mdx similarity index 100% rename from content/docs/references/DriverType.mdx rename to content/docs/references/system/DriverType.mdx diff --git a/content/docs/references/Feature.mdx b/content/docs/references/system/Feature.mdx similarity index 100% rename from content/docs/references/Feature.mdx rename to content/docs/references/system/Feature.mdx diff --git a/content/docs/references/HttpMethod.mdx b/content/docs/references/system/HttpMethod.mdx similarity index 100% rename from content/docs/references/HttpMethod.mdx rename to content/docs/references/system/HttpMethod.mdx diff --git a/content/docs/references/LDAPConfig.mdx b/content/docs/references/system/LDAPConfig.mdx similarity index 100% rename from content/docs/references/LDAPConfig.mdx rename to content/docs/references/system/LDAPConfig.mdx diff --git a/content/docs/references/License.mdx b/content/docs/references/system/License.mdx similarity index 100% rename from content/docs/references/License.mdx rename to content/docs/references/system/License.mdx diff --git a/content/docs/references/Locale.mdx b/content/docs/references/system/Locale.mdx similarity index 100% rename from content/docs/references/Locale.mdx rename to content/docs/references/system/Locale.mdx diff --git a/content/docs/references/Manifest.mdx b/content/docs/references/system/Manifest.mdx similarity index 100% rename from content/docs/references/Manifest.mdx rename to content/docs/references/system/Manifest.mdx diff --git a/content/docs/references/MenuItem.mdx b/content/docs/references/system/MenuItem.mdx similarity index 100% rename from content/docs/references/MenuItem.mdx rename to content/docs/references/system/MenuItem.mdx diff --git a/content/docs/references/MetricType.mdx b/content/docs/references/system/MetricType.mdx similarity index 100% rename from content/docs/references/MetricType.mdx rename to content/docs/references/system/MetricType.mdx diff --git a/content/docs/references/NetworkPolicy.mdx b/content/docs/references/system/NetworkPolicy.mdx similarity index 100% rename from content/docs/references/NetworkPolicy.mdx rename to content/docs/references/system/NetworkPolicy.mdx diff --git a/content/docs/references/OIDCConfig.mdx b/content/docs/references/system/OIDCConfig.mdx similarity index 100% rename from content/docs/references/OIDCConfig.mdx rename to content/docs/references/system/OIDCConfig.mdx diff --git a/content/docs/references/PasswordPolicy.mdx b/content/docs/references/system/PasswordPolicy.mdx similarity index 100% rename from content/docs/references/PasswordPolicy.mdx rename to content/docs/references/system/PasswordPolicy.mdx diff --git a/content/docs/references/Plan.mdx b/content/docs/references/system/Plan.mdx similarity index 100% rename from content/docs/references/Plan.mdx rename to content/docs/references/system/Plan.mdx diff --git a/content/docs/references/Policy.mdx b/content/docs/references/system/Policy.mdx similarity index 100% rename from content/docs/references/Policy.mdx rename to content/docs/references/system/Policy.mdx diff --git a/content/docs/references/RateLimit.mdx b/content/docs/references/system/RateLimit.mdx similarity index 100% rename from content/docs/references/RateLimit.mdx rename to content/docs/references/system/RateLimit.mdx diff --git a/content/docs/references/Role.mdx b/content/docs/references/system/Role.mdx similarity index 100% rename from content/docs/references/Role.mdx rename to content/docs/references/system/Role.mdx diff --git a/content/docs/references/SAMLConfig.mdx b/content/docs/references/system/SAMLConfig.mdx similarity index 100% rename from content/docs/references/SAMLConfig.mdx rename to content/docs/references/system/SAMLConfig.mdx diff --git a/content/docs/references/SessionPolicy.mdx b/content/docs/references/system/SessionPolicy.mdx similarity index 100% rename from content/docs/references/SessionPolicy.mdx rename to content/docs/references/system/SessionPolicy.mdx diff --git a/content/docs/references/Territory.mdx b/content/docs/references/system/Territory.mdx similarity index 100% rename from content/docs/references/Territory.mdx rename to content/docs/references/system/Territory.mdx diff --git a/content/docs/references/TerritoryModel.mdx b/content/docs/references/system/TerritoryModel.mdx similarity index 100% rename from content/docs/references/TerritoryModel.mdx rename to content/docs/references/system/TerritoryModel.mdx diff --git a/content/docs/references/TerritoryType.mdx b/content/docs/references/system/TerritoryType.mdx similarity index 100% rename from content/docs/references/TerritoryType.mdx rename to content/docs/references/system/TerritoryType.mdx diff --git a/content/docs/references/TranslationBundle.mdx b/content/docs/references/system/TranslationBundle.mdx similarity index 100% rename from content/docs/references/TranslationBundle.mdx rename to content/docs/references/system/TranslationBundle.mdx diff --git a/content/docs/references/TranslationData.mdx b/content/docs/references/system/TranslationData.mdx similarity index 100% rename from content/docs/references/TranslationData.mdx rename to content/docs/references/system/TranslationData.mdx diff --git a/content/docs/references/Webhook.mdx b/content/docs/references/system/Webhook.mdx similarity index 100% rename from content/docs/references/Webhook.mdx rename to content/docs/references/system/Webhook.mdx diff --git a/content/docs/references/WebhookReceiver.mdx b/content/docs/references/system/WebhookReceiver.mdx similarity index 100% rename from content/docs/references/WebhookReceiver.mdx rename to content/docs/references/system/WebhookReceiver.mdx diff --git a/content/docs/references/WebhookTriggerType.mdx b/content/docs/references/system/WebhookTriggerType.mdx similarity index 100% rename from content/docs/references/WebhookTriggerType.mdx rename to content/docs/references/system/WebhookTriggerType.mdx diff --git a/content/docs/references/system/meta.json b/content/docs/references/system/meta.json new file mode 100644 index 000000000..8f8468d8d --- /dev/null +++ b/content/docs/references/system/meta.json @@ -0,0 +1,3 @@ +{ + "title": "System Protocol" +} \ No newline at end of file diff --git a/content/docs/references/Action.mdx b/content/docs/references/ui/Action.mdx similarity index 100% rename from content/docs/references/Action.mdx rename to content/docs/references/ui/Action.mdx diff --git a/content/docs/references/ActionParam.mdx b/content/docs/references/ui/ActionParam.mdx similarity index 100% rename from content/docs/references/ActionParam.mdx rename to content/docs/references/ui/ActionParam.mdx diff --git a/content/docs/references/App.mdx b/content/docs/references/ui/App.mdx similarity index 100% rename from content/docs/references/App.mdx rename to content/docs/references/ui/App.mdx diff --git a/content/docs/references/AppBranding.mdx b/content/docs/references/ui/AppBranding.mdx similarity index 100% rename from content/docs/references/AppBranding.mdx rename to content/docs/references/ui/AppBranding.mdx diff --git a/content/docs/references/CalendarConfig.mdx b/content/docs/references/ui/CalendarConfig.mdx similarity index 100% rename from content/docs/references/CalendarConfig.mdx rename to content/docs/references/ui/CalendarConfig.mdx diff --git a/content/docs/references/ChartType.mdx b/content/docs/references/ui/ChartType.mdx similarity index 100% rename from content/docs/references/ChartType.mdx rename to content/docs/references/ui/ChartType.mdx diff --git a/content/docs/references/Dashboard.mdx b/content/docs/references/ui/Dashboard.mdx similarity index 100% rename from content/docs/references/Dashboard.mdx rename to content/docs/references/ui/Dashboard.mdx diff --git a/content/docs/references/DashboardWidget.mdx b/content/docs/references/ui/DashboardWidget.mdx similarity index 100% rename from content/docs/references/DashboardWidget.mdx rename to content/docs/references/ui/DashboardWidget.mdx diff --git a/content/docs/references/FormSection.mdx b/content/docs/references/ui/FormSection.mdx similarity index 100% rename from content/docs/references/FormSection.mdx rename to content/docs/references/ui/FormSection.mdx diff --git a/content/docs/references/FormView.mdx b/content/docs/references/ui/FormView.mdx similarity index 100% rename from content/docs/references/FormView.mdx rename to content/docs/references/ui/FormView.mdx diff --git a/content/docs/references/GanttConfig.mdx b/content/docs/references/ui/GanttConfig.mdx similarity index 100% rename from content/docs/references/GanttConfig.mdx rename to content/docs/references/ui/GanttConfig.mdx diff --git a/content/docs/references/KanbanConfig.mdx b/content/docs/references/ui/KanbanConfig.mdx similarity index 100% rename from content/docs/references/KanbanConfig.mdx rename to content/docs/references/ui/KanbanConfig.mdx diff --git a/content/docs/references/ListView.mdx b/content/docs/references/ui/ListView.mdx similarity index 100% rename from content/docs/references/ListView.mdx rename to content/docs/references/ui/ListView.mdx diff --git a/content/docs/references/Page.mdx b/content/docs/references/ui/Page.mdx similarity index 100% rename from content/docs/references/Page.mdx rename to content/docs/references/ui/Page.mdx diff --git a/content/docs/references/PageComponent.mdx b/content/docs/references/ui/PageComponent.mdx similarity index 100% rename from content/docs/references/PageComponent.mdx rename to content/docs/references/ui/PageComponent.mdx diff --git a/content/docs/references/PageRegion.mdx b/content/docs/references/ui/PageRegion.mdx similarity index 100% rename from content/docs/references/PageRegion.mdx rename to content/docs/references/ui/PageRegion.mdx diff --git a/content/docs/references/Report.mdx b/content/docs/references/ui/Report.mdx similarity index 100% rename from content/docs/references/Report.mdx rename to content/docs/references/ui/Report.mdx diff --git a/content/docs/references/ReportChart.mdx b/content/docs/references/ui/ReportChart.mdx similarity index 100% rename from content/docs/references/ReportChart.mdx rename to content/docs/references/ui/ReportChart.mdx diff --git a/content/docs/references/ReportColumn.mdx b/content/docs/references/ui/ReportColumn.mdx similarity index 100% rename from content/docs/references/ReportColumn.mdx rename to content/docs/references/ui/ReportColumn.mdx diff --git a/content/docs/references/ReportGrouping.mdx b/content/docs/references/ui/ReportGrouping.mdx similarity index 100% rename from content/docs/references/ReportGrouping.mdx rename to content/docs/references/ui/ReportGrouping.mdx diff --git a/content/docs/references/ReportType.mdx b/content/docs/references/ui/ReportType.mdx similarity index 100% rename from content/docs/references/ReportType.mdx rename to content/docs/references/ui/ReportType.mdx diff --git a/content/docs/references/View.mdx b/content/docs/references/ui/View.mdx similarity index 100% rename from content/docs/references/View.mdx rename to content/docs/references/ui/View.mdx diff --git a/content/docs/references/ui/meta.json b/content/docs/references/ui/meta.json new file mode 100644 index 000000000..d06629c90 --- /dev/null +++ b/content/docs/references/ui/meta.json @@ -0,0 +1,3 @@ +{ + "title": "UI Protocol" +} \ No newline at end of file diff --git a/packages/spec/scripts/build-docs.ts b/packages/spec/scripts/build-docs.ts index 154b5461c..2e7298fdd 100644 --- a/packages/spec/scripts/build-docs.ts +++ b/packages/spec/scripts/build-docs.ts @@ -2,7 +2,75 @@ import fs from 'fs'; import path from 'path'; const SCHEMA_DIR = path.resolve(__dirname, '../json-schema'); -const DOCS_DIR = path.resolve(__dirname, '../../../content/docs/references'); +const SRC_DIR = path.resolve(__dirname, '../src'); +// DOCS_DIR output is now handled dynamically per category +const DOCS_ROOT = path.resolve(__dirname, '../../../content/docs/references'); + +const CATEGORIES: Record = { + data: 'Data Protocol', + ui: 'UI Protocol', + system: 'System Protocol', + ai: 'AI Protocol' +}; + +// Map SchemaName -> Category Key (e.g. 'Object' -> 'data') +const schemaCategoryMap = new Map(); + + +// 1. Scan source files to build map +Object.keys(CATEGORIES).forEach(category => { + const dir = path.join(SRC_DIR, category); + if (fs.existsSync(dir)) { + const files = fs.readdirSync(dir).filter(f => f.endsWith('.ts')); + for (const file of files) { + const content = fs.readFileSync(path.join(dir, file), 'utf-8'); + + // Regex to find exported const schemas (e.g. "export const ObjectSchema = ...") + // also matches "export const ObjectCapabilities = ..." + // We assume conventions are followed + const matches = content.matchAll(/export const (\w+)(?:Schema)?\s*=\s*z\./g); + for (const match of matches) { + // match[1] is the name (e.g. Object). + // Note: build-schemas.ts strips 'Schema' suffix. + // We match (\w+) which captures 'ObjectSchema' or 'ObjectCapabilities'. + // logic in build-schemas: `key.endsWith('Schema') ? key.replace('Schema', '') : key` + + let schemaName = match[1]; // e.g. Object from ObjectSchema + if (!content.includes(`export const ${schemaName}Schema =`)) { + // Wait, regex above captures "Object" from "ObjectSchema" IF I put Schema in non-capturing group? + // No, (\w+) captures "ObjectSchema". (?:Schema)? is applied to verify/consume suffix but regex is tricky. + // Simplified regex: /export const (\w+)\s*=/ + // Then apply naming logic. + } + } + } + } +}); +// Redo scanning with simpler logic +function scanCategories() { + Object.keys(CATEGORIES).forEach(category => { + const dir = path.join(SRC_DIR, category); + if (!fs.existsSync(dir)) return; + + const files = fs.readdirSync(dir).filter(f => f.endsWith('.ts')); + for (const file of files) { + const content = fs.readFileSync(path.join(dir, file), 'utf-8'); + + // Match all exports that look like schemas + // We look for: export const Name = z. + const regex = /export const (\w+)\s*=\s*z\./g; + + let match; + while ((match = regex.exec(content)) !== null) { + const rawName = match[1]; + const finalName = rawName.endsWith('Schema') ? rawName.replace('Schema', '') : rawName; + schemaCategoryMap.set(finalName, category); + } + } + }); +} + +scanCategories(); // Helpers to format types function formatType(prop: any): string { @@ -69,10 +137,23 @@ function generateMarkdown(schemaName: string, schema: any) { return md; } -if (!fs.existsSync(DOCS_DIR)) { - fs.mkdirSync(DOCS_DIR, { recursive: true }); +// 2. Prepare Directories +const miscDir = path.join(DOCS_ROOT, 'misc'); +if (!fs.existsSync(DOCS_ROOT)) { + fs.mkdirSync(DOCS_ROOT, { recursive: true }); } +// Generate meta.json for categories +Object.entries(CATEGORIES).forEach(([key, title]) => { + const dir = path.join(DOCS_ROOT, key); + if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true }); + fs.writeFileSync(path.join(dir, 'meta.json'), JSON.stringify({ title }, null, 2)); +}); + +// Clean up: We DO NOT delete the root folder to be safe, but we should probably clear old mdx files in root? +// Be careful not to delete meta.json in root if we want to preserve it, but we will overwrite it. + +// 3. Generate Docs const files = fs.readdirSync(SCHEMA_DIR).filter(f => f.endsWith('.json')); files.forEach(file => { @@ -81,9 +162,29 @@ files.forEach(file => { const mdx = generateMarkdown(schemaName, content); if (mdx) { - fs.writeFileSync(path.join(DOCS_DIR, `${schemaName}.mdx`), mdx); - console.log(`✓ Generated docs for ${schemaName}`); + const category = schemaCategoryMap.get(schemaName) || 'misc'; + const outDir = path.join(DOCS_ROOT, category); + if (!fs.existsSync(outDir)) fs.mkdirSync(outDir, { recursive: true }); + + fs.writeFileSync(path.join(outDir, `${schemaName}.mdx`), mdx); + console.log(`✓ Generated docs for ${schemaName} in ${category}`); } }); -console.log(`\nDocumentation generated in ${DOCS_DIR}`); +// 4. Update Root meta.json +// We want references to list categories in specific order +const rootMetaProps = { + label: "API References", + order: 100, + pages: [ + "data", + "ui", + "system", + "ai", + "misc" + ] +}; +fs.writeFileSync(path.join(DOCS_ROOT, 'meta.json'), JSON.stringify(rootMetaProps, null, 2)); + +console.log(`\nDocumentation generated in ${DOCS_ROOT} organized by protocol.`); +console.log('NOTE: You may need to manually delete old flat .mdx files in references/ if any exist.');