-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.php
More file actions
106 lines (87 loc) · 3.37 KB
/
Copy pathconfig.php
File metadata and controls
106 lines (87 loc) · 3.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<?php
declare(strict_types=1);
return [
/*
|--------------------------------------------------------------------------
| Content Generation Settings
|--------------------------------------------------------------------------
|
| Configuration for AI content generation including timeouts, retries,
| and default values for different content types.
|
*/
'generation' => [
// Default timeout for content generation jobs (in seconds)
// Can be overridden per content type
'default_timeout' => env('CONTENT_GENERATION_TIMEOUT', 300),
// Timeouts per content type (in seconds)
'timeouts' => [
'help_article' => env('CONTENT_TIMEOUT_HELP_ARTICLE', 180),
'blog_post' => env('CONTENT_TIMEOUT_BLOG_POST', 240),
'landing_page' => env('CONTENT_TIMEOUT_LANDING_PAGE', 300),
'social_post' => env('CONTENT_TIMEOUT_SOCIAL_POST', 60),
],
// Number of retry attempts for failed generation
'max_retries' => env('CONTENT_GENERATION_RETRIES', 3),
// Backoff intervals between retries (in seconds)
'backoff' => [30, 60, 120],
],
/*
|--------------------------------------------------------------------------
| Content Revision Settings
|--------------------------------------------------------------------------
|
| Settings for content revision history and pruning.
|
*/
'revisions' => [
// Maximum number of revisions to keep per content item
// Set to 0 or null to keep unlimited revisions
'max_per_item' => env('CONTENT_MAX_REVISIONS', 50),
// Maximum age of revisions to keep (in days)
// Set to 0 or null to keep revisions indefinitely
'max_age_days' => env('CONTENT_REVISION_MAX_AGE', 180),
// Whether to keep published revisions regardless of age/count limits
'preserve_published' => true,
],
/*
|--------------------------------------------------------------------------
| Cache Settings
|--------------------------------------------------------------------------
|
| Configuration for content caching.
|
*/
'cache' => [
// Cache TTL in seconds (1 hour in production, 1 minute in dev)
'ttl' => env('CONTENT_CACHE_TTL', 3600),
// Prefix for cache keys
'prefix' => 'content:render',
],
/*
|--------------------------------------------------------------------------
| Search Settings
|--------------------------------------------------------------------------
|
| Configuration for content search functionality.
|
| Supported backends:
| - 'database' (default): LIKE-based search with relevance scoring
| - 'scout_database': Laravel Scout with database driver
| - 'meilisearch': Laravel Scout with Meilisearch driver
|
*/
'search' => [
// Search backend to use
// Options: 'database', 'scout_database', 'meilisearch'
'backend' => env('CONTENT_SEARCH_BACKEND', 'database'),
// Minimum query length for search
'min_query_length' => 2,
// Maximum results per page
'max_per_page' => 50,
// Default results per page
'default_per_page' => 20,
// Rate limiting for search API (requests per minute)
'rate_limit' => env('CONTENT_SEARCH_RATE_LIMIT', 60),
],
];