mirror of
https://github.com/simstudioai/sim.git
synced 2026-09-24 15:45:35 +08:00
* fix(security): xlsx CVE bump and bundled security hardening * fix(stripe): use configured secret key for SDK init Avoids leaving a recognisable placeholder string in heap dumps and error serialisations. Webhook verification remains a purely local HMAC operation; the SDK's constructor key is unused by it. Addresses Greptile feedback on #4481. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * fix(stripe): use static Stripe.webhooks for verification Avoids instantiating a Stripe client just to access constructEvent. The webhook signing secret is per-trigger (user-provided whsec_…) and unrelated to our billing STRIPE_SECRET_KEY, so coupling them was wrong. Stripe.webhooks is exposed as a static — no client, no API key needed. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * fix(ci): revert client-bundled tools to avoid .server import in client * fix(security): collapse 403 to 404 on v1 detail-by-ID routes * chore(security): remove unused validateAgiloftInstanceUrl helper * fix(security): bump minimatch + clean up scripts/ workspace Resolves CVE-2026-27903 (GHSA-7r86-cg39-jmmj) by adding a root-level minimatch ^10.2.5 override. Also resolves CVE-2026-0969 in next-mdx-remote (bumped to ^6.0.0). Cleanup: - Make scripts/ a proper bun workspace (root workspaces array) - Remove duplicate scripts/package-lock.json (this repo uses bun) - Remove redundant scripts/bun.lock (now hoisted to root) - Remove vestigial scripts/setup-doc-generator.sh - Slim scripts/package.json to its real deps (glob, yaml) - Gitignore stray package-lock.json files - Update scripts/README.md Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
94 lines
3.1 KiB
Markdown
94 lines
3.1 KiB
Markdown
# Block Documentation Generator
|
|
|
|
This directory contains scripts to automatically generate documentation for all blocks in the Sim platform.
|
|
|
|
## Available Scripts
|
|
|
|
- `generate-docs.ts`: Generates documentation for all blocks. Run via `bun run generate-docs` from `apps/sim`, or directly with `bun run scripts/generate-docs.ts` from the repo root.
|
|
|
|
## How It Works
|
|
|
|
The documentation generator:
|
|
|
|
1. Scans the `apps/sim/blocks/blocks/` directory for all block definition files
|
|
2. Extracts metadata from each block including:
|
|
- Name, description, and category
|
|
- Input and output specifications
|
|
- Configuration parameters
|
|
3. Generates standardized Markdown documentation for each block
|
|
4. Updates the navigation metadata in `meta.json`
|
|
|
|
## Running the Generator
|
|
|
|
```bash
|
|
# From the repo root
|
|
bun run scripts/generate-docs.ts
|
|
```
|
|
|
|
Dependencies are managed by Bun workspaces — `bun install` at the repo root installs everything needed.
|
|
|
|
## CI Integration
|
|
|
|
The documentation generator runs automatically as part of the CI/CD pipeline whenever changes are pushed to the main branch. The updated documentation is committed back to the repository.
|
|
|
|
## Adding Support for New Block Properties
|
|
|
|
If you add new properties to block definitions that should be included in the documentation, update the `generateMarkdownForBlock` function in `scripts/generate-docs.ts`.
|
|
|
|
## Preserving Manual Content
|
|
|
|
The documentation generator now supports preserving manually added content when regenerating docs. This allows you to enhance the auto-generated documentation with custom examples, additional context, or any other content without losing your changes when the docs are regenerated.
|
|
|
|
### How It Works
|
|
|
|
1. The generator creates clean documentation without any placeholders or markers
|
|
2. If you add manual content to a file using special comment markers, that content will be preserved during regeneration
|
|
3. The manual content is intelligently inserted at the appropriate section when docs are regenerated
|
|
|
|
### Using Manual Content Markers
|
|
|
|
To add custom content to any tool's documentation, insert MDX comment blocks with section markers:
|
|
|
|
```markdown
|
|
{/_ MANUAL-CONTENT-START:sectionName _/}
|
|
Your custom content here (Markdown formatting supported)
|
|
{/_ MANUAL-CONTENT-END _/}
|
|
```
|
|
|
|
Replace `sectionName` with one of the supported section names:
|
|
|
|
- `intro` - Content at the top of the document after the BlockInfoCard
|
|
- `usage` - Additional usage instructions and examples
|
|
- `configuration` - Custom configuration details
|
|
- `outputs` - Additional output information or examples
|
|
- `notes` - Extra notes at the end of the document
|
|
|
|
### Example
|
|
|
|
To add custom examples to a tool doc:
|
|
|
|
````markdown
|
|
{/_ MANUAL-CONTENT-START:usage _/}
|
|
|
|
## Examples
|
|
|
|
### Basic Usage
|
|
|
|
```json
|
|
{
|
|
"parameter": "value",
|
|
"anotherParameter": "anotherValue"
|
|
}
|
|
```
|
|
````
|
|
|
|
### Advanced Configuration
|
|
|
|
Here's how to use this tool for a specific use case...
|
|
{/_ MANUAL-CONTENT-END _/}
|
|
|
|
```
|
|
|
|
When the documentation is regenerated, your manual content will be preserved in the appropriate section automatically. The script will not add any placeholders or markers to files by default.
|
|
```
|