Skip to content

Commit e0f7641

Browse files
authored
Merge branch 'main' into framework/flask
2 parents 744edd8 + a0bc868 commit e0f7641

File tree

343 files changed

+14311
-3266
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

343 files changed

+14311
-3266
lines changed

_meta.global.tsx

Lines changed: 958 additions & 681 deletions
Large diffs are not rendered by default.

api-design/api-compliance.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Let's start with what each role player wants and think about how we can find com
2323

2424
Compliance allows you to avoid paying hefty fines and losing customer trust.
2525

26-
Take, for example, [the €290,000,000 GDPR fine Uber had to pay in July 2024](https://web.archive.org/web/20250712030312/https://www.edpb.europa.eu/news/news/2024/dutch-sa-imposes-fine-290-million-euro-uber-because-transfers-drivers-data-us_en) for improperly transferring European drivers' personal data to servers in the United States. Uber's API and data infrastructure failed to implement adequate safeguards when transmitting sensitive information, including location data, payment details, identification documents, and in some cases, even criminal and medical records.
26+
Take, for example, [the €290,000,000 GDPR fine Uber had to pay in July 2024](https://www.edpb.europa.eu/news/news/2024/dutch-sa-imposes-fine-290-million-euro-uber-because-transfers-drivers-data-us_en) for improperly transferring European drivers' personal data to servers in the United States. Uber's API and data infrastructure failed to implement adequate safeguards when transmitting sensitive information, including location data, payment details, identification documents, and in some cases, even criminal and medical records.
2727

2828
This serves as a costly reminder that privacy compliance needs to be designed into APIs from the start, particularly for international data transfers. The cost of retrofitting compliance can far exceed the cost of building it in from the start.
2929

api-design/errors.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ more and more API teams.
164164
```
165165

166166
This example of an error from the [Signature
167-
API](https://signatureapi.com/docs/errors) includes a `type`, which is basically
167+
API](https://signatureapi.com/docs/api/errors) includes a `type`, which is basically
168168
the same as an error code, but instead of an arbitrary string like
169169
`invalid-api-key` the standard suggests a URI which is unique to the API (or
170170
ecosystem): `https://signatureapi.com/docs/v1/errors/invalid-api-key`. This does

api-design/expose-api-publicly.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ Key differences in these policies include how consent is obtained and region-spe
214214
Compliance certifications are often required to prove your API's security and reliability if you plan to work with large businesses or regulated industries. These certifications validate your data protection practices and operational processes. Some of the most widely recognized frameworks for API security and data protection include:
215215

216216
- [SOC 2](https://www.imperva.com/learn/data-security/soc-2-compliance/): Confirms that your API meets security, availability, and confidentiality standards.
217-
- [ISO 27001](https://www.iso.org/standard/27001): An international standard for managing information security.
217+
- [ISO 27001](https://en.wikipedia.org/wiki/ISO/IEC_27001): An international standard for managing information security.
218218
- [PCI-DSS](https://www.pcisecuritystandards.org/): Required if your API handles payment card transactions.
219219
- [FedRAMP](https://www.fedramp.gov/): Necessary for providing services to U.S. government agencies.
220220

api-design/monetization.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ In the crunch-time rush to sign up your first enterprise customer, you may be te
1717

1818
Pricing changes over time. We're not talking only about inflation or the price of eggs (although inflation plays a role); we're referring to the inevitable and often rapid changes you should expect in market conditions.
1919

20-
Anticipating rather than fighting these changes can bring sustained competitive advantage in the face of the wonderful surprises the market inevitably brings: Competitive pivots, rapid market entry, customer bargaining, pricing experiments, product expansion, and shifting cost structures will all demand iterative pricing changes. These principles are inspired by the five pillars of [PriceOps](https://priceops.org/) and long nights of patching home-grown billing systems.
20+
Anticipating rather than fighting these changes can bring sustained competitive advantage in the face of the wonderful surprises the market inevitably brings: Competitive pivots, rapid market entry, customer bargaining, pricing experiments, product expansion, and shifting cost structures will all demand iterative pricing changes. These principles are inspired by the five pillars of [PriceOps](https://www.priceops.net/) and long nights of patching home-grown billing systems.
2121

2222
When API functionality and monetization are tightly intertwined, even modest changes to pricing models will require code refactoring, pulling engineers away from core product development, growing organizational friction, and making expensive rewrites the norm.
2323

@@ -235,7 +235,7 @@ This code assumes you have a Kafka producer running and a topic named `metering-
235235

236236
### Step 3: Centralize your pricing definitions
237237

238-
Pricing plans should typically live in structured databases or systems designed explicitly for fast read/write and easy evolution, like a versioned NoSQL data store, a relational PostgreSQL database, or a dedicated billing platform (such as [Chargebee](https://www.chargebee.com/recurring-billing-invoicing/metered-usage-billing/), [Stripe Billing](https://docs.stripe.com/billing/subscriptions/usage-based/pricing-models), [Metronome](https://docs.metronome.com/pricing-packaging/), or [Lago](https://www.getlago.com/products/plans)).
238+
Pricing plans should typically live in structured databases or systems designed explicitly for fast read/write and easy evolution, like a versioned NoSQL data store, a relational PostgreSQL database, or a dedicated billing platform (such as [Chargebee](https://www.chargebee.com/recurring-billing-invoicing/metered-usage-billing/), [Stripe Billing](https://docs.stripe.com/billing/subscriptions/usage-based/pricing-models), [Metronome](https://docs.metronome.com/pricing-packaging/), or [Lago](https://www.getlago.com/solutions/use-cases/hybrid-plans)).
239239

240240
Defining your pricing plans in a structured format allows you to version them, experiment with new plans, and roll back changes if necessary. It also enables you to build tooling (like dashboards, reports, and customer-facing pricing pages) around your pricing plans.
241241

docs/gram/examples/open-ai-apps-sdk.mdx

Lines changed: 0 additions & 230 deletions
This file was deleted.

docs/gram/mcp-installation-guides.md

Lines changed: 0 additions & 18 deletions
This file was deleted.

docs/index.mdx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,16 @@ alwaysShowInSidebar: true
66

77
import { Button } from "@/components/ui/button";
88
import { CardGrid } from "@/mdx/components";
9-
import { cards, intro } from "@/lib/data/docs/overview";
10-
import { TechCards } from "@/components/card/variants/docs/tech-cards";
9+
import { cards, intro, cliInstall } from "@/lib/data/docs/overview";
10+
import { TechCards } from "@/components/card/variants/docs/tech-cards";
1111
import { DocsHeaderIndex } from "@/components/nextra/docs/docs-header-index";
12+
import { CodeWithTabs } from "@/components/code-tabs";
1213

1314
<div className="docs-index bsmnt-container-md flex flex-col mt-10 gap-14">
1415
<DocsHeaderIndex title={intro?.title} description={intro?.description} />
16+
<section className="-mt-8">
17+
<CodeWithTabs tabs={cliInstall.tabs} className="max-w-[540px]" />
18+
</section>
1519
<section>
1620
<CardGrid cards={cards?.start} heading="Start building" columns={4} />
1721
</section>

docs/gram/examples/adding-ai-chat-to-your-app.mdx renamed to docs/mcp/build/examples/adding-ai-chat-to-your-app.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ Using the [Model Context Protocol (MCP)](https://modelcontextprotocol.io/docs/ge
117117

118118
## Prerequisites
119119

120-
- A [Gram account](/product/gram) (free)
120+
- A [Gram account](https://app.getgram.ai) (free)
121121
- An OpenAI API key from the [OpenAI dashboard](https://platform.openai.com/account/api-keys)
122122
- [Node.js](https://nodejs.org/) and [Docker](https://www.docker.com/) for local development
123123

docs/gram/examples/consuming-external-apis.mdx renamed to docs/mcp/build/examples/consuming-external-apis.mdx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ In this guide, we'll:
2020

2121
## Setting up the project
2222

23-
First, create a new Gram Functions project. Follow the instructions in the [Getting Started](/docs/gram/getting-started) guide for more details.
23+
First, create a new Gram Functions project. Follow the instructions in the [Getting Started](/docs/mcp/getting-started) guide for more details.
2424

2525
```bash
2626
npm create gram-functions@latest
@@ -298,12 +298,12 @@ const API_KEY = "abc123...";
298298

299299
Now that you understand how to consume external APIs with Gram Functions, explore these related guides:
300300

301-
- [Build MCP servers with external OAuth](/docs/gram/examples/oauth-external-server)
302-
- [Creating an MCP server for Taskmaster](/docs/gram/examples/creating-taskmaster-mcp-server)
303-
- [Deploy from GitHub Actions](/docs/gram/examples/deploy-from-github-actions)
301+
- [Build MCP servers with external OAuth](/docs/mcp/build/examples/oauth-external-server)
302+
- [Creating an MCP server for Taskmaster](/docs/mcp/build/examples/creating-taskmaster-mcp-server)
303+
- [Deploy from GitHub Actions](/docs/mcp/build/examples/deploy-from-github-actions)
304304

305305
## Additional resources
306306

307307
- [OpenWeatherMap API Documentation](https://openweathermap.org/api)
308-
- [Gram Functions API Reference](/docs/gram/gram-functions/introduction)
308+
- [Gram Functions API Reference](/docs/mcp/build/gram-functions)
309309
- [Zod Schema Validation](https://zod.dev)

0 commit comments

Comments
 (0)