├── .eslintignore ├── .eslintrc.js ├── .github ├── ISSUE_TEMPLATE │ └── feature_request.md ├── PULL_REQUEST_TEMPLATE.md └── workflows │ ├── ci.yaml │ ├── docs.yaml │ ├── js-sdk-build.yaml │ ├── js-sdk-publish.yaml │ ├── js-sdk-shared.yaml │ ├── python-client-publish.yaml │ └── python-sdk-publish.yaml ├── .gitignore ├── .husky └── pre-commit ├── .lintstagedrc ├── .postman ├── api └── api_63f5e342-f43f-45fa-9a50-87934ccddcab ├── .prettierignore ├── .prettierrc ├── .vscode ├── extensions.json └── settings.json ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── apps └── agentprotocol.ai │ ├── .eslintrc.js │ ├── .gitignore │ ├── README.md │ ├── bun.lockb │ ├── jsconfig.json │ ├── mdx-components.jsx │ ├── next.config.mjs │ ├── package-lock.json │ ├── package.json │ ├── postcss.config.js │ ├── prettier.config.js │ ├── public │ └── test.sh │ ├── scripts │ └── generateEndpoints.mjs │ ├── src │ ├── app │ │ ├── apple-touch-icon.png │ │ ├── clients │ │ │ ├── others │ │ │ │ └── page.mdx │ │ │ ├── page.mdx │ │ │ └── python │ │ │ │ └── page.mdx │ │ ├── compliance │ │ │ └── page.mdx │ │ ├── contributing │ │ │ ├── code-of-conduct │ │ │ │ └── page.mdx │ │ │ └── guide │ │ │ │ └── page.mdx │ │ ├── endpoints │ │ │ ├── page.mdx │ │ │ └── page.template.mdx │ │ ├── favicon-16x16.png │ │ ├── favicon-32x32.png │ │ ├── favicon.ico │ │ ├── incentives │ │ │ └── page.mdx │ │ ├── layout.jsx │ │ ├── not-found.jsx │ │ ├── page.mdx │ │ ├── projects-tools │ │ │ └── page.mdx │ │ ├── protocol │ │ │ └── page.mdx │ │ ├── providers.jsx │ │ ├── rfc │ │ │ └── page.mdx │ │ └── sdks │ │ │ ├── custom │ │ │ └── page.mdx │ │ │ ├── js │ │ │ └── page.mdx │ │ │ ├── page.mdx │ │ │ └── python │ │ │ └── page.mdx │ ├── components │ │ ├── Button.jsx │ │ ├── Clients.jsx │ │ ├── Code.jsx │ │ ├── Footer.jsx │ │ ├── GridPattern.jsx │ │ ├── Header.jsx │ │ ├── Heading.jsx │ │ ├── HeroPattern.jsx │ │ ├── Layout.jsx │ │ ├── Libraries.jsx │ │ ├── Logo.jsx │ │ ├── MobileNavigation.jsx │ │ ├── Navigation.jsx │ │ ├── Prose.jsx │ │ ├── SDKs.jsx │ │ ├── Search.jsx │ │ ├── SectionProvider.jsx │ │ ├── Tag.jsx │ │ ├── icons │ │ │ ├── DocumentIcon.jsx │ │ │ ├── ListIcon.jsx │ │ │ └── PythonIcon.jsx │ │ └── mdx.jsx │ ├── images │ │ ├── icons │ │ │ └── python.svg │ │ └── logos │ │ │ ├── js.svg │ │ │ └── python.svg │ ├── lib │ │ └── remToPx.js │ ├── mdx │ │ ├── recma.mjs │ │ ├── rehype.mjs │ │ ├── remark.mjs │ │ └── search.mjs │ └── styles │ │ └── tailwind.css │ ├── tailwind.config.js │ └── typography.js ├── assets └── cover.png ├── package-lock.json ├── package.json ├── packages ├── client │ ├── js │ │ ├── .npmignore │ │ ├── .openapi-generator-ignore │ │ ├── README.md │ │ ├── examples │ │ │ └── minimal.ts │ │ ├── openapitools.json │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── src │ │ │ ├── apis │ │ │ │ ├── AgentApi.ts │ │ │ │ └── index.ts │ │ │ ├── index.ts │ │ │ ├── models │ │ │ │ ├── Artifact.ts │ │ │ │ ├── GetAgentTask404Response.ts │ │ │ │ ├── Pagination.ts │ │ │ │ ├── Step.ts │ │ │ │ ├── StepRequestBody.ts │ │ │ │ ├── Task.ts │ │ │ │ ├── TaskArtifactsListResponse.ts │ │ │ │ ├── TaskListResponse.ts │ │ │ │ ├── TaskRequestBody.ts │ │ │ │ ├── TaskStepsListResponse.ts │ │ │ │ └── index.ts │ │ │ └── runtime.ts │ │ └── tsconfig.json │ └── python │ │ ├── .gitignore │ │ ├── .openapi-generator-ignore │ │ ├── Makefile │ │ ├── README.md │ │ ├── agent_protocol_client │ │ ├── __init__.py │ │ ├── api │ │ │ ├── __init__.py │ │ │ └── agent_api.py │ │ ├── api_client.py │ │ ├── api_response.py │ │ ├── configuration.py │ │ ├── docs │ │ │ └── AgentApi.md │ │ ├── exceptions.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── artifact.py │ │ │ ├── get_agent_task404_response.py │ │ │ ├── pagination.py │ │ │ ├── step.py │ │ │ ├── step_all_of.py │ │ │ ├── step_request_body.py │ │ │ ├── step_result.py │ │ │ ├── task.py │ │ │ ├── task_all_of.py │ │ │ ├── task_artifacts_list_response.py │ │ │ ├── task_list_response.py │ │ │ ├── task_request_body.py │ │ │ └── task_steps_list_response.py │ │ ├── rest.py │ │ └── test │ │ │ ├── __init__.py │ │ │ ├── test_agent_api.py │ │ │ ├── test_artifact.py │ │ │ ├── test_get_agent_task404_response.py │ │ │ ├── test_pagination.py │ │ │ ├── test_step.py │ │ │ ├── test_step_request_body.py │ │ │ ├── test_task.py │ │ │ ├── test_task_artifacts_list_response.py │ │ │ ├── test_task_list_response.py │ │ │ ├── test_task_request_body.py │ │ │ └── test_task_steps_list_response.py │ │ ├── examples │ │ └── minimal.py │ │ ├── openapitools.json │ │ ├── poetry.lock │ │ ├── pyproject.toml │ │ └── scripts │ │ └── generate.sh └── sdk │ ├── js │ ├── README.md │ ├── examples │ │ ├── aws-lambda.ts │ │ ├── firebase-functions.ts │ │ ├── google-cloud-functions.ts │ │ └── minimal.ts │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── agent.ts │ │ ├── api.ts │ │ ├── index.ts │ │ ├── models.ts │ │ └── yml.d.ts │ └── tsup.config.js │ └── python │ ├── .gitignore │ ├── Makefile │ ├── README.md │ ├── agent_protocol │ ├── __init__.py │ ├── agent.py │ ├── cli.py │ ├── db.py │ ├── middlewares.py │ ├── models.py │ ├── server.py │ └── utils │ │ ├── __init__.py │ │ └── compliance │ │ ├── __init__.py │ │ ├── conftest.py │ │ └── main.py │ ├── codegen │ └── main.jinja2 │ ├── examples │ ├── minimal.py │ └── smol_developer.py │ ├── openapitools.json │ ├── poetry.lock │ └── pyproject.toml ├── rfcs ├── 2023-08-14-AP-RFC.md ├── 2023-08-28-Pagination-RFC.md ├── 2023-08-28-agent-created-RFC-.md ├── 2023-08-28-list-entities-RFC.md ├── 2023-09-15-endpoint-schema.md └── template.md ├── schemas ├── openapi.json └── openapi.yml ├── testing_suite ├── agent_protocol_v1.json ├── contract_tests.json ├── local_test.sh └── test.sh └── tsconfig.json /.eslintignore: -------------------------------------------------------------------------------- 1 | /apps/agentprotocol.ai/ 2 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | env: { 3 | browser: true, 4 | es2021: true, 5 | }, 6 | ignorePatterns: ['dist', '.eslintrc.js'], 7 | extends: ['standard-with-typescript', 'prettier'], 8 | overrides: [ 9 | { 10 | env: { 11 | node: true, 12 | }, 13 | files: ['.eslintrc.{js,cjs}'], 14 | parserOptions: { 15 | sourceType: 'script', 16 | }, 17 | }, 18 | ], 19 | parserOptions: { 20 | ecmaVersion: 'latest', 21 | sourceType: 'module', 22 | project: 'tsconfig.json', 23 | }, 24 | rules: { 25 | quotes: ['error', 'single', { avoidEscape: true }], 26 | semi: ['error', 'never'], 27 | '@typescript-eslint/restrict-template-expressions': 'off', 28 | '@typescript-eslint/no-extraneous-class': 'off', 29 | }, 30 | } 31 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | --- 8 | 9 | **Is your feature request related to a problem? Please describe.** 10 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 11 | 12 | **Describe the solution you'd like** 13 | A clear and concise description of what you want to happen. 14 | 15 | **Describe alternatives you've considered** 16 | A clear and concise description of any alternative solutions or features you've considered. 17 | 18 | **Additional context** 19 | Add any other context or screenshots about the feature request here. 20 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | # Pull Request 2 | 3 | 4 | 5 | ## Description 6 | 7 | Please provide a brief description of your pull request. Include any relevant context, such as the issue it addresses or the feature it introduces. 8 | 9 | ## Checklist 10 | 11 | Please review and check the following items to ensure your pull request can be processed smoothly: 12 | 13 | - [ ] My code adheres to the project's coding standards and style guidelines. 14 | 15 | - [ ] I have tested my changes thoroughly, including unit tests where applicable. 16 | 17 | - [ ] I have updated the documentation to reflect any changes made in this pull request. 18 | 19 | - [ ] My branch is up-to-date with the latest changes from the main branch. 20 | 21 | - [ ] I have received code review feedback and addressed any comments or concerns. 22 | 23 | ## Additional Notes 24 | 25 | If there are any additional details or considerations that reviewers should be aware of, please provide them here. 26 | 27 | ## References, Fixes and Closes 28 | 29 | List any other pull requests or issues that this pull request references, fixes, or closes, if applicable. 30 | 31 | - References #related_issue_number 32 | - Fixes #related_issue_number 33 | - Closes #related_issue_number 34 | -------------------------------------------------------------------------------- /.github/workflows/ci.yaml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: [push, pull_request] 4 | 5 | jobs: 6 | build: 7 | runs-on: ubuntu-20.04 8 | steps: 9 | - name: Checkout repository 10 | uses: actions/checkout@v3 11 | 12 | - name: Setup Node 13 | uses: actions/setup-node@v3 14 | with: 15 | node-version: '16.x' 16 | registry-url: 'https://registry.npmjs.org' 17 | cache: npm 18 | cache-dependency-path: package-lock.json 19 | 20 | - name: Install dependencies 21 | run: npm ci 22 | 23 | - name: Run CI script 24 | run: npm run ci 25 | -------------------------------------------------------------------------------- /.github/workflows/docs.yaml: -------------------------------------------------------------------------------- 1 | name: Build JS SDK 2 | 3 | on: 4 | pull_request: 5 | types: 6 | - opened 7 | - synchronize 8 | - reopened 9 | paths: 10 | - 'apps/agentprotocol.ai/**' 11 | 12 | jobs: 13 | build: 14 | runs-on: ubuntu-20.04 15 | steps: 16 | - name: Checkout repository 17 | uses: actions/checkout@v3 18 | 19 | - name: Setup Node 20 | uses: actions/setup-node@v3 21 | with: 22 | node-version: '16.x' 23 | registry-url: 'https://registry.npmjs.org' 24 | cache: npm 25 | cache-dependency-path: package-lock.json 26 | 27 | - name: Install dependencies 28 | working-directory: ./apps/agentprotocol.ai/ 29 | run: npm ci 30 | 31 | # - name: Lint 32 | # working-directory: ./apps/agentprotocol.ai/ 33 | # run: npm run lint 34 | 35 | - name: Build 36 | working-directory: ./apps/agentprotocol.ai/ 37 | run: npm run build 38 | -------------------------------------------------------------------------------- /.github/workflows/js-sdk-build.yaml: -------------------------------------------------------------------------------- 1 | name: Build JS SDK 2 | 3 | on: 4 | pull_request: 5 | types: 6 | - opened 7 | - synchronize 8 | - reopened 9 | paths: 10 | - 'packages/sdk/js/**' 11 | 12 | jobs: 13 | build: 14 | uses: ./.github/workflows/js-sdk-shared.yaml 15 | secrets: inherit 16 | with: 17 | should-publish: false 18 | -------------------------------------------------------------------------------- /.github/workflows/js-sdk-publish.yaml: -------------------------------------------------------------------------------- 1 | name: Build and Publish JS SDK Package 2 | 3 | on: 4 | push: 5 | tags: [js-sdk-v*] 6 | 7 | permissions: 8 | contents: write 9 | 10 | jobs: 11 | publish: 12 | uses: ./.github/workflows/js-sdk-shared.yaml 13 | secrets: inherit 14 | with: 15 | should-publish: true 16 | -------------------------------------------------------------------------------- /.github/workflows/js-sdk-shared.yaml: -------------------------------------------------------------------------------- 1 | name: Build and Publish JS SDK Package 2 | 3 | on: 4 | workflow_call: 5 | inputs: 6 | should-publish: 7 | required: false 8 | type: boolean 9 | default: false 10 | 11 | jobs: 12 | build: 13 | name: Build and optionally publish SDK to NPM 14 | runs-on: ubuntu-20.04 15 | steps: 16 | - name: Checkout repository 17 | uses: actions/checkout@v3 18 | 19 | - name: Setup Node 20 | uses: actions/setup-node@v3 21 | with: 22 | node-version: '16.x' 23 | registry-url: 'https://registry.npmjs.org' 24 | cache: npm 25 | cache-dependency-path: package-lock.json 26 | 27 | - name: Install dependencies 28 | working-directory: ./packages/sdk/js/ 29 | run: npm ci 30 | 31 | - name: Build package 32 | working-directory: ./packages/sdk/js/ 33 | run: npm run build 34 | 35 | - name: Publish package 36 | if: ${{ inputs.should-publish }} 37 | run: npm publish --access=public 38 | working-directory: ./packages/sdk/js/ 39 | env: 40 | NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} 41 | 42 | - name: Release 43 | if: ${{ inputs.should-publish }} 44 | uses: softprops/action-gh-release@v1 45 | with: 46 | generate_release_notes: true 47 | -------------------------------------------------------------------------------- /.github/workflows/python-client-publish.yaml: -------------------------------------------------------------------------------- 1 | name: Build and Publish Python Agent Client Package 2 | 3 | on: 4 | push: 5 | tags: [python-client-v*] 6 | 7 | permissions: 8 | contents: write 9 | 10 | jobs: 11 | publish: 12 | name: Build and publish the Python package 13 | runs-on: ubuntu-20.04 14 | defaults: 15 | run: 16 | working-directory: ./packages/client/python/ 17 | steps: 18 | - name: Checkout repository 19 | uses: actions/checkout@v3 20 | 21 | - name: Set up Python 22 | uses: actions/setup-python@v4 23 | with: 24 | python-version: '3.10' 25 | 26 | - name: Install and configure Poetry 27 | uses: snok/install-poetry@v1 28 | with: 29 | version: 1.5.1 30 | virtualenvs-create: true 31 | virtualenvs-in-project: true 32 | installer-parallel: true 33 | 34 | - name: Build Package 35 | run: poetry build 36 | 37 | - name: Config Poetry 38 | run: | 39 | poetry config pypi-token.pypi ${{ secrets.PYPI_TOKEN }} 40 | 41 | - name: Publish Package 42 | run: poetry publish 43 | 44 | - name: Release 45 | uses: softprops/action-gh-release@v1 46 | with: 47 | generate_release_notes: true 48 | -------------------------------------------------------------------------------- /.github/workflows/python-sdk-publish.yaml: -------------------------------------------------------------------------------- 1 | name: Build and Publish Python SDK Package 2 | 3 | on: 4 | push: 5 | tags: [python-sdk-v*] 6 | 7 | permissions: 8 | contents: write 9 | 10 | jobs: 11 | publish: 12 | name: Build and publish the Python package 13 | runs-on: ubuntu-20.04 14 | defaults: 15 | run: 16 | working-directory: ./packages/sdk/python/ 17 | steps: 18 | - name: Checkout repository 19 | uses: actions/checkout@v3 20 | 21 | - name: Set up Python 22 | uses: actions/setup-python@v4 23 | with: 24 | python-version: '3.10' 25 | 26 | - name: Install and configure Poetry 27 | uses: snok/install-poetry@v1 28 | with: 29 | version: 1.5.1 30 | virtualenvs-create: true 31 | virtualenvs-in-project: true 32 | installer-parallel: true 33 | 34 | - name: Build Package 35 | run: poetry build 36 | 37 | - name: Config Poetry 38 | run: | 39 | poetry config pypi-token.pypi ${{ secrets.PYPI_TOKEN }} 40 | 41 | - name: Publish Package 42 | run: poetry publish 43 | 44 | - name: Release 45 | uses: softprops/action-gh-release@v1 46 | with: 47 | generate_release_notes: true 48 | -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | npm run ci 5 | -------------------------------------------------------------------------------- /.lintstagedrc: -------------------------------------------------------------------------------- 1 | { 2 | "*.{js,jsx,ts,tsx}": ["eslint --fix"] 3 | } 4 | -------------------------------------------------------------------------------- /.postman/api: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY 2 | apis[] = {"apiId":"63f5e342-f43f-45fa-9a50-87934ccddcab"} 3 | configVersion = 1.0.0 4 | type = api 5 | -------------------------------------------------------------------------------- /.postman/api_63f5e342-f43f-45fa-9a50-87934ccddcab: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY 2 | configVersion = 1.0.0 3 | type = apiEntityData 4 | 5 | [config] 6 | id = 63f5e342-f43f-45fa-9a50-87934ccddcab 7 | 8 | [config.relations] 9 | 10 | [config.relations.collections] 11 | rootDirectory = postman/collections 12 | 13 | [config.relations.collections.metaData] 14 | 15 | [config.relations.apiDefinition] 16 | rootDirectory = schemas 17 | files[] = {"path":"openapi.json","metaData":{}} 18 | files[] = {"path":"openapi.yml","metaData":{}} 19 | 20 | [config.relations.apiDefinition.metaData] 21 | type = openapi:3 22 | rootFiles[] = openapi.yml 23 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | packages/client/python/* 2 | apps/agentprotocol.ai/* 3 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "trailingComma": "es5", 3 | "tabWidth": 2, 4 | "semi": false, 5 | "singleQuote": true 6 | } 7 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "ms-python.black-formatter", 4 | "dbaeumer.vscode-eslint", 5 | "ms-python.vscode-pylance", 6 | "ms-python.python", 7 | "bradlc.vscode-tailwindcss" 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "search.exclude": { 3 | "**/.git": true, 4 | "**/.svn": true, 5 | "**/.hg": true, 6 | "**/CVS": true, 7 | "**/.DS_Store": true, 8 | "lib/**": true, 9 | ".next/**": true, 10 | "**/.next/**": true, 11 | "**/.venv/**": true, 12 | "**/.turbo/**": true, 13 | "**/poetry.lock/**": true, 14 | "**/__pycache__/**": true, 15 | "**/.vercel/**": true, 16 | ".vscode/**": true, 17 | ".git/**": true, 18 | "**/node_modules/**": true, 19 | "**/package-lock.json": true, 20 | "**/yarl.lock": true 21 | }, 22 | "files.watcherExclude": { 23 | "**/.git": true, 24 | "**/.svn": true, 25 | "**/.hg": true, 26 | "**/CVS": true, 27 | "**/.DS_Store": true, 28 | "lib/**": true, 29 | "**/poetry.lock/**": true, 30 | "**/.turbo/**": true, 31 | "**/.vercel/**": true, 32 | "**/.venv/**": true, 33 | "**/__pycache__/**": true, 34 | "**/.next/**": true, 35 | ".next/**": true, 36 | ".vscode/**": true, 37 | ".git/**": true, 38 | "**/node_modules/**": true, 39 | "**/package-lock.json": true, 40 | "**/yarl.lock": true 41 | }, 42 | "typescript.tsdk": "node_modules/typescript/lib", 43 | "css.validate": false, 44 | "tailwindCSS.validate": true, 45 | "editor.formatOnSave": true, 46 | "editor.codeActionsOnSave": { 47 | "source.fixAll.eslint": true 48 | }, 49 | "eslint.validate": ["javascript", "typescript"], 50 | "debug.javascript.codelens.npmScripts": "never", 51 | "editor.codeLens": true, 52 | "editor.suggest.localityBonus": true, 53 | "typescript.enablePromptUseWorkspaceTsdk": true, 54 | "python.formatting.provider": "black", 55 | "[python]": { 56 | "editor.defaultFormatter": "ms-python.black-formatter" 57 | }, 58 | "python.autoComplete.extraPaths": [ 59 | "agent/python/**", 60 | "agent/python/.venv/bin/python", 61 | "agent/python/.venv/bin" 62 | ], 63 | "python.defaultInterpreterPath": "agent/python/.venv/bin/python", 64 | "python.analysis.extraPaths": [ 65 | "agent/python/**", 66 | "agent/python/.venv/bin/python", 67 | "agent/python/.venv/bin" 68 | ], 69 | // Disable Pylint and use just Pylance 70 | "python.linting.enabled": false, 71 | "python.analysis.typeCheckingMode": "basic" 72 | // "python.analysis.pylanceLspClientEnabled": true, 73 | // "python.analysis.inlayHints.functionReturnTypes": true, 74 | // "python.analysis.inlayHints.pytestParameters": true, 75 | // "python.analysis.inlayHints.variableTypes": true, 76 | // "python.analysis.autoImportCompletions": true, 77 | // "python.analysis.completeFunctionParens": true 78 | } 79 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to `agent-protocol` 2 | 3 | Thank you for your interest in contributing to `agent-protocol`. Your contributions are valuable to us. 4 | 5 | Before you get started, please make sure to read and follow our [Contribution Guide](https://agentprotocol.ai/contributing/guide). This guide provides detailed information on how to contribute to our project, including coding standards, best practices, and more. 6 | 7 | If you have any questions or need assistance during the contribution process, feel free to [make an issue on our GitHub](https://github.com/AI-Engineer-Foundation/agent-protocol/issues). 8 | 9 | We appreciate your support and look forward to your contributions! 10 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 e2b 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /apps/agentprotocol.ai/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: ['next/core-web-vitals'], 3 | } 4 | -------------------------------------------------------------------------------- /apps/agentprotocol.ai/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | node_modules 5 | /.pnp 6 | .pnp.js 7 | yarn.lock 8 | package-lock.json 9 | npm-shrinkwrap.json 10 | 11 | # testing 12 | /coverage 13 | 14 | # production 15 | /build 16 | 17 | # misc 18 | .DS_Store 19 | .env.local 20 | .env.development.local 21 | .env.test.local 22 | .env.production.local 23 | 24 | # Next.js 25 | /.next 26 | /out 27 | 28 | # Bun 29 | bun.lockb -------------------------------------------------------------------------------- /apps/agentprotocol.ai/README.md: -------------------------------------------------------------------------------- 1 | # Agent Protocol docs 2 | 3 | Agent Protocol docs are available at [agentprotocol.ai](https://agentprotocol.ai). 4 | 5 | ## Local development 6 | 7 | To run the docs locally, you need to run 8 | 9 | ```sh 10 | npm install 11 | npm run dev 12 | ``` 13 | 14 | ## Tech stack 15 | 16 | The docs are powered by [MDX](https://mdxjs.com/), [Tailwind](https://tailwindcss.com/) and [Next.js](https://nextjs.org/). 17 | 18 | ## Contributing 19 | 20 | We welcome contributions to the Agent Protocol docs! 21 | -------------------------------------------------------------------------------- /apps/agentprotocol.ai/bun.lockb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Div99/agent-protocol/5047199152dc6e1ba83320b1b59f94af24046dcf/apps/agentprotocol.ai/bun.lockb -------------------------------------------------------------------------------- /apps/agentprotocol.ai/jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "paths": { 4 | "@/*": ["./src/*"] 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /apps/agentprotocol.ai/mdx-components.jsx: -------------------------------------------------------------------------------- 1 | import * as mdxComponents from '@/components/mdx' 2 | 3 | export function useMDXComponents(components) { 4 | return { 5 | ...components, 6 | ...mdxComponents, 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /apps/agentprotocol.ai/next.config.mjs: -------------------------------------------------------------------------------- 1 | import nextMDX from '@next/mdx' 2 | 3 | import { recmaPlugins } from './src/mdx/recma.mjs' 4 | import { rehypePlugins } from './src/mdx/rehype.mjs' 5 | import { remarkPlugins } from './src/mdx/remark.mjs' 6 | import withSearch from './src/mdx/search.mjs' 7 | 8 | const withMDX = nextMDX({ 9 | options: { 10 | remarkPlugins, 11 | rehypePlugins, 12 | recmaPlugins, 13 | }, 14 | }) 15 | 16 | /** @type {import('next').NextConfig} */ 17 | const nextConfig = { 18 | pageExtensions: ['js', 'jsx', 'ts', 'tsx', 'mdx'], 19 | } 20 | 21 | export default withSearch(withMDX(nextConfig)) 22 | -------------------------------------------------------------------------------- /apps/agentprotocol.ai/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tailwindui-protocol", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "next dev", 7 | "build": "next build", 8 | "start": "next start", 9 | "lint": "next lint", 10 | "generateEndpoints": "node scripts/generateEndpoints.mjs" 11 | }, 12 | "browserslist": "defaults, not ie <= 11", 13 | "dependencies": { 14 | "@algolia/autocomplete-core": "^1.7.3", 15 | "@headlessui/react": "^1.7.15", 16 | "@headlessui/tailwindcss": "^0.2.0", 17 | "@mdx-js/loader": "^2.1.5", 18 | "@mdx-js/react": "^2.1.5", 19 | "@next/mdx": "^13.0.3", 20 | "@sindresorhus/slugify": "^2.1.1", 21 | "@tailwindcss/typography": "^0.5.8", 22 | "@vercel/analytics": "^1.0.2", 23 | "acorn": "^8.8.1", 24 | "autoprefixer": "^10.4.7", 25 | "clsx": "^1.2.0", 26 | "fast-glob": "^3.3.0", 27 | "flexsearch": "^0.7.31", 28 | "framer-motion": "7.8.1", 29 | "mdast-util-to-string": "^3.2.0", 30 | "mdx-annotations": "^0.1.1", 31 | "next": "13.4.12", 32 | "next-themes": "^0.2.1", 33 | "react": "18.2.0", 34 | "react-dom": "18.2.0", 35 | "react-highlight-words": "^0.20.0", 36 | "remark": "^14.0.2", 37 | "remark-gfm": "^3.0.1", 38 | "remark-mdx": "^2.3.0", 39 | "shiki": "^0.11.1", 40 | "simple-functional-loader": "^1.2.1", 41 | "tailwindcss": "^3.3.3", 42 | "unist-util-filter": "^4.0.1", 43 | "unist-util-visit": "^4.1.1", 44 | "zustand": "^4.3.2" 45 | }, 46 | "devDependencies": { 47 | "@readme/openapi-parser": "^2.5.0", 48 | "eslint": "8.45.0", 49 | "eslint-config-next": "13.4.12", 50 | "js-yaml": "^4.1.0", 51 | "prettier": "^2.8.7", 52 | "prettier-plugin-tailwindcss": "^0.2.6" 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /apps/agentprotocol.ai/postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /apps/agentprotocol.ai/prettier.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | singleQuote: true, 3 | semi: false, 4 | plugins: [require('prettier-plugin-tailwindcss')], 5 | } 6 | -------------------------------------------------------------------------------- /apps/agentprotocol.ai/public/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Check if a URL was provided as an environment variable 4 | if [ -z "$URL" ]; then 5 | echo "Usage: URL= bash