chatgpt-api/fixtures/valid/everything-openapi/agentic.config.ts

208 wiersze
4.0 KiB
TypeScript
Czysty Zwykły widok Historia

2025-06-10 05:01:46 +00:00
import { defineConfig } from '@agentic/platform'
export default defineConfig({
2025-06-26 04:01:38 +00:00
name: 'Test Everything OpenAPI',
slug: 'test-everything-openapi',
origin: {
2025-06-10 05:01:46 +00:00
type: 'openapi',
url: 'https://agentic-platform-fixtures-everything.onrender.com',
2025-06-11 04:10:20 +00:00
spec: 'https://agentic-platform-fixtures-everything.onrender.com/docs'
2025-06-10 05:01:46 +00:00
},
readme: `
# Test Everything OpenAPI
This is testing **readme rendering**.
## Misc
- [ ] Item 1
- [ ] Item 2
- [x] Item 3
---
- _italic_
- **bold**
- [link](https://www.google.com)
- \`code\`
## Code
\`\`\`ts
const a = 1
export function foo() {
console.log('hello world')
}
\`\`\`
## Images
![Image](https://placehold.co/600x400)
`,
2025-06-10 05:01:46 +00:00
toolConfigs: [
{
2025-06-11 04:31:16 +00:00
name: 'get_user',
2025-06-10 05:01:46 +00:00
enabled: true,
pure: true,
// cacheControl: 'no-cache',
reportUsage: true,
2025-06-12 19:07:52 +00:00
rateLimit: { enabled: false },
pricingPlanOverridesMap: {
2025-06-10 05:01:46 +00:00
free: {
enabled: true,
reportUsage: true
}
}
},
{
name: 'echo',
examples: [
{
name: 'Example 1',
prompt: 'Use the echo tool to say hello.',
featured: true,
args: {
message: 'Hello, world!'
}
}
]
},
2025-06-10 05:01:46 +00:00
{
2025-06-11 04:31:16 +00:00
name: 'disabled_tool',
2025-06-10 05:01:46 +00:00
enabled: false
},
{
2025-06-11 04:31:16 +00:00
name: 'disabled_for_free_plan_tool',
pricingPlanOverridesMap: {
2025-06-10 05:01:46 +00:00
free: {
enabled: false
}
}
},
{
2025-06-11 04:31:16 +00:00
name: 'pure',
2025-06-10 05:01:46 +00:00
pure: true
},
{
2025-06-11 04:31:16 +00:00
name: 'unpure_marked_pure',
2025-06-10 05:01:46 +00:00
pure: true
},
{
2025-06-11 04:31:16 +00:00
name: 'custom_cache_control_tool',
2025-06-10 05:01:46 +00:00
cacheControl:
'public, max-age=7200, s-maxage=7200, stale-while-revalidate=3600'
},
{
2025-06-11 04:31:16 +00:00
name: 'no_cache_cache_control_tool',
2025-06-10 05:01:46 +00:00
cacheControl: 'no-cache'
},
{
2025-06-11 04:31:16 +00:00
name: 'no_store_cache_control_tool',
2025-06-10 05:01:46 +00:00
cacheControl: 'no-store'
},
{
2025-06-11 04:31:16 +00:00
name: 'custom_rate_limit_tool',
2025-06-10 05:01:46 +00:00
rateLimit: {
interval: '30s',
2025-06-12 20:37:25 +00:00
limit: 2,
mode: 'strict'
2025-06-10 05:01:46 +00:00
}
},
{
name: 'custom_rate_limit_approximate_tool',
rateLimit: {
interval: '30s',
limit: 2,
mode: 'approximate'
}
},
2025-06-10 05:01:46 +00:00
{
2025-06-11 04:31:16 +00:00
name: 'disabled_rate_limit_tool',
2025-06-12 19:07:52 +00:00
rateLimit: { enabled: false }
},
{
name: 'strict_additional_properties',
2025-06-11 22:15:14 +00:00
inputSchemaAdditionalProperties: false,
outputSchemaAdditionalProperties: false
2025-06-10 05:01:46 +00:00
}
2025-06-20 19:00:56 +00:00
],
pricingPlans: [
{
name: 'Free',
slug: 'free',
lineItems: [
{
slug: 'base',
usageType: 'licensed',
amount: 0
},
{
slug: 'requests',
usageType: 'metered',
billingScheme: 'per_unit',
unitAmount: 0
}
]
},
{
name: 'Starter',
slug: 'starter',
lineItems: [
{
slug: 'base',
usageType: 'licensed',
amount: 999 // $9.99 USD
},
{
slug: 'requests',
usageType: 'metered',
billingScheme: 'tiered',
tiersMode: 'volume',
// free for first 1000 requests per month
// then $0.00053 USD for unlimited further requests that month
tiers: [
{
upTo: 1000,
unitAmount: 0
},
{
upTo: 'inf',
unitAmount: 0.053
}
]
}
]
},
{
name: 'Pro',
slug: 'pro',
lineItems: [
{
slug: 'base',
usageType: 'licensed',
amount: 2999 // $29.99 USD
},
{
slug: 'requests',
usageType: 'metered',
billingScheme: 'tiered',
tiersMode: 'volume',
// free for first 10000 requests per month
// then $0.00049 USD for unlimited further requests that month
tiers: [
{
upTo: 10_000,
unitAmount: 0
},
{
upTo: 'inf',
unitAmount: 0.049
}
]
}
]
}
2025-06-10 05:01:46 +00:00
]
})