From d9f0db511a22983c1709ba53954ace1b71554294 Mon Sep 17 00:00:00 2001 From: Philipp Burckhardt Date: Sun, 25 Jun 2023 01:17:20 -0400 Subject: [PATCH] docs: add Nextra docs site skeleton --- legacy/.eslintignore | 1 + legacy/docs/api/readme.md | 7 ++ legacy/docs/components/title.tsx | 17 +++ legacy/docs/next.config.mjs | 11 ++ legacy/docs/package.json | 25 ++++ legacy/docs/pages/_meta.json | 9 ++ legacy/docs/pages/cli.md | 1 + legacy/docs/pages/guide/_meta.json | 7 ++ legacy/docs/pages/index.md | 2 + legacy/docs/pages/roadmap.md | 1 + legacy/docs/pages/services/_meta.json | 11 ++ .../{ => pages/services}/bing-web-search.md | 0 legacy/docs/{ => pages/services}/diffbot.md | 0 legacy/docs/{ => pages/services}/metaphor.md | 0 legacy/docs/{ => pages/services}/novu.md | 0 legacy/docs/{ => pages/services}/polygon.md | 0 legacy/docs/{ => pages/services}/serpapi.md | 0 legacy/docs/{ => pages/services}/slack.md | 0 legacy/docs/{ => pages/services}/twilio.md | 0 legacy/docs/{ => pages/services}/weather.md | 0 legacy/docs/pages/use-cases.md | 1 + legacy/docs/theme.config.tsx | 116 ++++++++++++++++++ legacy/docs/tsconfig.json | 31 +++++ legacy/package.json | 16 +-- legacy/pnpm-lock.yaml | 75 ++++++++++- 25 files changed, 321 insertions(+), 10 deletions(-) create mode 100644 legacy/docs/api/readme.md create mode 100644 legacy/docs/components/title.tsx create mode 100644 legacy/docs/next.config.mjs create mode 100644 legacy/docs/package.json create mode 100644 legacy/docs/pages/_meta.json create mode 100644 legacy/docs/pages/cli.md create mode 100644 legacy/docs/pages/guide/_meta.json create mode 100644 legacy/docs/pages/index.md create mode 100644 legacy/docs/pages/roadmap.md create mode 100644 legacy/docs/pages/services/_meta.json rename legacy/docs/{ => pages/services}/bing-web-search.md (100%) rename legacy/docs/{ => pages/services}/diffbot.md (100%) rename legacy/docs/{ => pages/services}/metaphor.md (100%) rename legacy/docs/{ => pages/services}/novu.md (100%) rename legacy/docs/{ => pages/services}/polygon.md (100%) rename legacy/docs/{ => pages/services}/serpapi.md (100%) rename legacy/docs/{ => pages/services}/slack.md (100%) rename legacy/docs/{ => pages/services}/twilio.md (100%) rename legacy/docs/{ => pages/services}/weather.md (100%) create mode 100644 legacy/docs/pages/use-cases.md create mode 100644 legacy/docs/theme.config.tsx create mode 100644 legacy/docs/tsconfig.json diff --git a/legacy/.eslintignore b/legacy/.eslintignore index f509029c..a6e9c5db 100644 --- a/legacy/.eslintignore +++ b/legacy/.eslintignore @@ -1,2 +1,3 @@ build/ scratch/ +docs/ diff --git a/legacy/docs/api/readme.md b/legacy/docs/api/readme.md new file mode 100644 index 00000000..4de26973 --- /dev/null +++ b/legacy/docs/api/readme.md @@ -0,0 +1,7 @@ +# API Documentation + +> This directory contains the API documentation for the `agentic` TypeScript library that forms the core of agentic. + +## Notes + +- This directory contains auto-generated documentation created by TypeDoc. It is not intended to be edited manually. diff --git a/legacy/docs/components/title.tsx b/legacy/docs/components/title.tsx new file mode 100644 index 00000000..3af2b3c7 --- /dev/null +++ b/legacy/docs/components/title.tsx @@ -0,0 +1,17 @@ +import { memo } from 'react' + +const TitleComponent = ({ + title +}: { + title: string + type: string + route: string +}) => { + if (title === 'Guide' || title === 'Documentation') { + return {title} + } + + return {title} +} + +export default memo(TitleComponent) diff --git a/legacy/docs/next.config.mjs b/legacy/docs/next.config.mjs new file mode 100644 index 00000000..2734fc8c --- /dev/null +++ b/legacy/docs/next.config.mjs @@ -0,0 +1,11 @@ +import nextra from 'nextra' + +const withNextra = nextra({ + theme: 'nextra-theme-docs', + themeConfig: './theme.config.tsx', + staticImage: true, + flexsearch: false, + defaultShowCopyCode: true +}) + +export default withNextra() diff --git a/legacy/docs/package.json b/legacy/docs/package.json new file mode 100644 index 00000000..b572fdf2 --- /dev/null +++ b/legacy/docs/package.json @@ -0,0 +1,25 @@ +{ + "name": "agentic-docs", + "version": "0.0.0", + "private": true, + "description": "agentic docs website.", + "repository": "transitive-bullshit/agentic", + "homepage": "https://agentic.so/docs", + "license": "MIT", + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start" + }, + "dependencies": { + "next": "13.4.7", + "nextra": "^2.8.0", + "nextra-theme-docs": "^2.8.0", + "react": "^18.2.0", + "react-dom": "^18.2.0" + }, + "devDependencies": { + "@types/node": "^20.3.1", + "typescript": "^5.1.3" + } +} \ No newline at end of file diff --git a/legacy/docs/pages/_meta.json b/legacy/docs/pages/_meta.json new file mode 100644 index 00000000..1d2c2164 --- /dev/null +++ b/legacy/docs/pages/_meta.json @@ -0,0 +1,9 @@ +{ + "index": "Introduction", + "guide": "Guide", + "documentation": "Documentation", + "use-cases": "Use Cases", + "services": "Services", + "cli": "CLI", + "roadmap": "Roadmap" +} \ No newline at end of file diff --git a/legacy/docs/pages/cli.md b/legacy/docs/pages/cli.md new file mode 100644 index 00000000..e9523642 --- /dev/null +++ b/legacy/docs/pages/cli.md @@ -0,0 +1 @@ +# agentic CLI diff --git a/legacy/docs/pages/guide/_meta.json b/legacy/docs/pages/guide/_meta.json new file mode 100644 index 00000000..c6806030 --- /dev/null +++ b/legacy/docs/pages/guide/_meta.json @@ -0,0 +1,7 @@ +{ + "install": "Installation", + "getting-started": "Getting Started", + "usage": "Usage", + "observability": "Observability", + "declarative-api": "Declarative API" +} \ No newline at end of file diff --git a/legacy/docs/pages/index.md b/legacy/docs/pages/index.md new file mode 100644 index 00000000..11e8b4be --- /dev/null +++ b/legacy/docs/pages/index.md @@ -0,0 +1,2 @@ +# agentic + diff --git a/legacy/docs/pages/roadmap.md b/legacy/docs/pages/roadmap.md new file mode 100644 index 00000000..437766dd --- /dev/null +++ b/legacy/docs/pages/roadmap.md @@ -0,0 +1 @@ +# Roadmap diff --git a/legacy/docs/pages/services/_meta.json b/legacy/docs/pages/services/_meta.json new file mode 100644 index 00000000..01e07342 --- /dev/null +++ b/legacy/docs/pages/services/_meta.json @@ -0,0 +1,11 @@ +{ + "bing-web-search": "Bing Web Search", + "diffbot": "Diffbot", + "metaphor": "Metaphor", + "novu": "Novu", + "polygon": "Polygon", + "serpapi": "SerpApi", + "slack": "Slack", + "twilio": "Twilio", + "weather": "Weather" +} \ No newline at end of file diff --git a/legacy/docs/bing-web-search.md b/legacy/docs/pages/services/bing-web-search.md similarity index 100% rename from legacy/docs/bing-web-search.md rename to legacy/docs/pages/services/bing-web-search.md diff --git a/legacy/docs/diffbot.md b/legacy/docs/pages/services/diffbot.md similarity index 100% rename from legacy/docs/diffbot.md rename to legacy/docs/pages/services/diffbot.md diff --git a/legacy/docs/metaphor.md b/legacy/docs/pages/services/metaphor.md similarity index 100% rename from legacy/docs/metaphor.md rename to legacy/docs/pages/services/metaphor.md diff --git a/legacy/docs/novu.md b/legacy/docs/pages/services/novu.md similarity index 100% rename from legacy/docs/novu.md rename to legacy/docs/pages/services/novu.md diff --git a/legacy/docs/polygon.md b/legacy/docs/pages/services/polygon.md similarity index 100% rename from legacy/docs/polygon.md rename to legacy/docs/pages/services/polygon.md diff --git a/legacy/docs/serpapi.md b/legacy/docs/pages/services/serpapi.md similarity index 100% rename from legacy/docs/serpapi.md rename to legacy/docs/pages/services/serpapi.md diff --git a/legacy/docs/slack.md b/legacy/docs/pages/services/slack.md similarity index 100% rename from legacy/docs/slack.md rename to legacy/docs/pages/services/slack.md diff --git a/legacy/docs/twilio.md b/legacy/docs/pages/services/twilio.md similarity index 100% rename from legacy/docs/twilio.md rename to legacy/docs/pages/services/twilio.md diff --git a/legacy/docs/weather.md b/legacy/docs/pages/services/weather.md similarity index 100% rename from legacy/docs/weather.md rename to legacy/docs/pages/services/weather.md diff --git a/legacy/docs/pages/use-cases.md b/legacy/docs/pages/use-cases.md new file mode 100644 index 00000000..d0e3963d --- /dev/null +++ b/legacy/docs/pages/use-cases.md @@ -0,0 +1 @@ +# Use Cases diff --git a/legacy/docs/theme.config.tsx b/legacy/docs/theme.config.tsx new file mode 100644 index 00000000..e63056bf --- /dev/null +++ b/legacy/docs/theme.config.tsx @@ -0,0 +1,116 @@ +import { useRouter } from 'next/router' +import { DocsThemeConfig, useConfig } from 'nextra-theme-docs' + +import Title from './components/title.tsx' + +const siteHost = 'agentic.co/docs' +const siteUrl = `https://${siteHost}` +const siteSocialUrl = `${siteUrl}/social.png` +const siteDesc = 'Build reliable AI Agents with TypeScript.' +const siteTitle = 'agentic' + +const config: DocsThemeConfig = { + logo: ( + agentic + ), + + project: { + link: 'https://github.com/transitive-bullshit/agentic' + }, + docsRepositoryBase: + 'https://github.com/transitive-bullshit/agentic/blob/main/docs', + editLink: { + text: 'Edit this page on GitHub' + }, + useNextSeoProps() { + const { asPath } = useRouter() + if (asPath === '/') { + return { + titleTemplate: siteTitle + } + } else { + return { + titleTemplate: `%s – ${siteTitle}` + } + } + }, + sidebar: { + titleComponent: (props) => , + toggleButton: true + }, + head: function useHead() { + const config = useConfig() + const { asPath } = useRouter() + const isIndex = asPath === '/' + const title = + config?.title && !isIndex ? `${config.title} - ${siteTitle}` : siteTitle + + return ( + <> + <meta httpEquiv='Content-Language' content='en' /> + <meta name='viewport' content='width=device-width, initial-scale=1.0' /> + <meta name='robots' content='index,follow' /> + + <meta name='description' content={siteDesc} /> + <meta property='og:description' content={siteDesc} /> + <meta name='twitter:description' content={siteDesc} /> + + <meta property='og:site_name' content={siteTitle} /> + <meta name='apple-mobile-web-app-title' content={siteTitle} /> + + <meta name='twitter:card' content='summary_large_image' /> + <meta name='twitter:image' content={siteSocialUrl} /> + <meta name='og:image' content={siteSocialUrl} /> + + <meta property='twitter:domain' content={siteHost} /> + <meta name='twitter:site:domain' content={siteHost} /> + + <meta name='twitter:url' content={siteUrl} /> + + <meta property='og:title' content={title} /> + <meta name='twitter:title' content={title} /> + <title>{title} + + + + + + + ) + }, + footer: { + text: ( + + {new Date().getFullYear()} ©{' '} + + agentic + + . + + ) + } +} + +export default config diff --git a/legacy/docs/tsconfig.json b/legacy/docs/tsconfig.json new file mode 100644 index 00000000..0df9d5d9 --- /dev/null +++ b/legacy/docs/tsconfig.json @@ -0,0 +1,31 @@ +{ + "compilerOptions": { + "target": "es5", + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], + "allowJs": true, + "allowImportingTsExtensions": true, + "skipLibCheck": true, + "strict": false, + "forceConsistentCasingInFileNames": true, + "noEmit": true, + "incremental": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve" + }, + "include": [ + "next-env.d.ts", + "**/*.ts", + "**/*.tsx" + ], + "exclude": [ + "node_modules" + ] +} \ No newline at end of file diff --git a/legacy/package.json b/legacy/package.json index 1f3b415d..7d98aae0 100644 --- a/legacy/package.json +++ b/legacy/package.json @@ -39,10 +39,10 @@ }, "dependencies": { "@anthropic-ai/sdk": "^0.4.4", - "@inquirer/checkbox": "^1.3.1", - "@inquirer/editor": "^1.2.0", - "@inquirer/input": "^1.2.1", - "@inquirer/select": "^1.2.1", + "@inquirer/checkbox": "^1.3.2", + "@inquirer/editor": "^1.2.1", + "@inquirer/input": "^1.2.2", + "@inquirer/select": "^1.2.2", "@types/json-schema": "^7.0.12", "debug": "^4.3.4", "expr-eval": "^2.0.2", @@ -65,7 +65,7 @@ "uuid": "^9.0.0", "zod": "^3.21.4", "zod-to-json-schema": "^3.21.2", - "zod-validation-error": "^1.3.0" + "zod-validation-error": "^1.3.1" }, "devDependencies": { "@keyv/redis": "^2.6.1", @@ -74,8 +74,8 @@ "@types/node": "^20.3.1", "@types/sinon": "^10.0.15", "@types/uuid": "^9.0.2", - "@typescript-eslint/eslint-plugin": "^5.59.11", - "@typescript-eslint/parser": "^5.59.11", + "@typescript-eslint/eslint-plugin": "^5.60.0", + "@typescript-eslint/parser": "^5.60.0", "ava": "^5.3.1", "del-cli": "^5.0.0", "dotenv": "^16.3.1", @@ -91,7 +91,7 @@ "p-memoize": "^7.1.1", "prettier": "^2.8.8", "react": "^18.2.0", - "sinon": "^15.1.2", + "sinon": "^15.2.0", "tsup": "7.0.0", "tsx": "^3.12.7", "type-fest": "^3.12.0", diff --git a/legacy/pnpm-lock.yaml b/legacy/pnpm-lock.yaml index 2c435943..bb676075 100644 --- a/legacy/pnpm-lock.yaml +++ b/legacy/pnpm-lock.yaml @@ -1,4 +1,4 @@ -lockfileVersion: '6.0' +lockfileVersion: '6.1' settings: autoInstallPeers: true @@ -172,6 +172,12 @@ devDependencies: type-fest: specifier: ^3.12.0 version: 3.12.0 + typedoc: + specifier: ^0.24.8 + version: 0.24.8(typescript@5.1.3) + typedoc-plugin-markdown: + specifier: 4.0.0-next.16 + version: 4.0.0-next.16(prettier@2.8.8)(typedoc@0.24.8) typescript: specifier: ^5.1.3 version: 5.1.3 @@ -1217,6 +1223,10 @@ packages: engines: {node: '>=12'} dev: true + /ansi-sequence-parser@1.1.0: + resolution: {integrity: sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ==} + dev: true + /ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} @@ -1388,7 +1398,6 @@ packages: resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} dependencies: balanced-match: 1.0.2 - dev: false /braces@3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} @@ -2878,6 +2887,10 @@ packages: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} dev: true + /jsonc-parser@3.2.0: + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + dev: true + /jsonrepair@3.2.0: resolution: {integrity: sha512-6eHBc2z5vipym4S8rzTcCXQBLWpkSzi9bk7I3xTdUxRzXyYvfjoVZzJ97N4C/9vcKI9NgNp3slPwHufDr0rFYw==} hasBin: true @@ -3044,6 +3057,10 @@ packages: yallist: 4.0.0 dev: true + /lunr@2.3.9: + resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} + dev: true + /map-age-cleaner@0.1.3: resolution: {integrity: sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==} engines: {node: '>=6'} @@ -3061,6 +3078,12 @@ packages: engines: {node: '>=8'} dev: true + /marked@4.3.0: + resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==} + engines: {node: '>= 12'} + hasBin: true + dev: true + /matcher@5.0.0: resolution: {integrity: sha512-s2EMBOWtXFc8dgqvoAzKJXxNHibcdJMV0gwqKUaw9E2JBJuGUK7DrNKrA6g/i+v72TT16+6sVm5mS3thaMLQUw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -3151,6 +3174,13 @@ packages: brace-expansion: 2.0.1 dev: false + /minimatch@9.0.2: + resolution: {integrity: sha512-PZOT9g5v2ojiTL7r1xF6plNHLtOeTpSlDI007As2NlA2aYBMfVom17yqa6QzhmDP8QOhn7LjHTg7DFCVSSa6yg==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + /minimist-options@4.1.0: resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} engines: {node: '>= 6'} @@ -3962,6 +3992,15 @@ packages: resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} dev: true + /shiki@0.14.2: + resolution: {integrity: sha512-ltSZlSLOuSY0M0Y75KA+ieRaZ0Trf5Wl3gutE7jzLuIcWxLp5i/uEnLoQWNvgKXQ5OMpGkJnVMRLAuzjc0LJ2A==} + dependencies: + ansi-sequence-parser: 1.1.0 + jsonc-parser: 3.2.0 + vscode-oniguruma: 1.7.0 + vscode-textmate: 8.0.0 + dev: true + /side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: @@ -4441,6 +4480,30 @@ packages: is-typed-array: 1.1.10 dev: true + /typedoc-plugin-markdown@4.0.0-next.16(prettier@2.8.8)(typedoc@0.24.8): + resolution: {integrity: sha512-+ut3u62pZ+/L1vpoofOGm44ByZOWPCsgSxIm5VssLUuQSrP2jwNceB8AE7bZqp5wvNvZ7i7/6oXNZrKWRlHmeA==} + peerDependencies: + prettier: '>=1.8.0' + typedoc: '>=0.24.0' + dependencies: + prettier: 2.8.8 + typedoc: 0.24.8(typescript@5.1.3) + dev: true + + /typedoc@0.24.8(typescript@5.1.3): + resolution: {integrity: sha512-ahJ6Cpcvxwaxfu4KtjA8qZNqS43wYt6JL27wYiIgl1vd38WW/KWX11YuAeZhuz9v+ttrutSsgK+XO1CjL1kA3w==} + engines: {node: '>= 14.14'} + hasBin: true + peerDependencies: + typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x + dependencies: + lunr: 2.3.9 + marked: 4.3.0 + minimatch: 9.0.2 + shiki: 0.14.2 + typescript: 5.1.3 + dev: true + /typescript@5.1.3: resolution: {integrity: sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==} engines: {node: '>=14.17'} @@ -4486,6 +4549,14 @@ packages: spdx-expression-parse: 3.0.1 dev: true + /vscode-oniguruma@1.7.0: + resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==} + dev: true + + /vscode-textmate@8.0.0: + resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==} + dev: true + /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: false