proagents 1.6.19 → 1.6.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/settings.local.json +13 -1
- package/.proagents/.cursorrules +25 -10
- package/.proagents/.windsurfrules +25 -10
- package/.proagents/AGENTS.md +30 -11
- package/.proagents/AI_INSTRUCTIONS.md +86 -30
- package/.proagents/BOLT.md +25 -10
- package/.proagents/CLAUDE.md +25 -10
- package/.proagents/GEMINI.md +25 -10
- package/.proagents/KIRO.md +25 -10
- package/.proagents/LOVABLE.md +25 -10
- package/.proagents/PROAGENTS.md +96 -343
- package/.proagents/REPLIT.md +25 -10
- package/.proagents/activity.log +1 -0
- package/.proagents/custom-commands.yaml +0 -1
- package/.proagents/docs/command-details.md +1 -2
- package/.proagents/getting-started/ai-training-setup.md +0 -1
- package/.proagents/performance/README.md +59 -0
- package/.proagents/performance/bundle-analysis.md +375 -0
- package/.proagents/performance/load-testing.md +563 -0
- package/.proagents/performance/runtime-metrics.md +489 -0
- package/.proagents/performance/web-vitals.md +425 -0
- package/.proagents/platforms.yaml +66 -0
- package/.proagents/proagents.config.yaml +0 -1
- package/.proagents/prompts/ai-add.md +80 -0
- package/.proagents/prompts/ai-list.md +41 -0
- package/.proagents/prompts/ai-remove.md +112 -0
- package/.proagents/prompts/ai-sync.md +96 -0
- package/.proagents/workflow-modes/entry-modes.md +1 -6
- package/lib/commands/ai.js +100 -48
- package/lib/commands/init.js +89 -22
- package/package.json +1 -1
- package/.proagents/ANTIGRAVITY.md +0 -61
- package/.proagents/CHATGPT.md +0 -57
- package/.proagents/GROQ.md +0 -57
- package/.proagents/api-versioning/README.md +0 -257
- package/.proagents/api-versioning/changelog-template.md +0 -225
- package/.proagents/api-versioning/deprecation-workflow.md +0 -470
- package/.proagents/api-versioning/versioning-strategy.md +0 -291
- package/.proagents/automation/README.md +0 -38
- package/.proagents/automation/ai-behavior-rules.md +0 -339
- package/.proagents/automation/ai-prompt-injection.md +0 -331
- package/.proagents/automation/auto-decisions.md +0 -535
- package/.proagents/automation/decision-defaults.yaml +0 -317
- package/.proagents/cache/README.md +0 -110
- package/.proagents/cache/analysis-metadata.json +0 -76
- package/.proagents/cache/conventions.json +0 -125
- package/.proagents/cache/dependencies.json +0 -85
- package/.proagents/cache/features.json +0 -115
- package/.proagents/cache/patterns.json +0 -105
- package/.proagents/cache/schemas/conventions-schema.json +0 -138
- package/.proagents/cache/schemas/dependencies-schema.json +0 -95
- package/.proagents/cache/schemas/features-schema.json +0 -104
- package/.proagents/cache/schemas/metadata-schema.json +0 -83
- package/.proagents/cache/schemas/patterns-schema.json +0 -136
- package/.proagents/cache/schemas/structure-schema.json +0 -72
- package/.proagents/cache/structure.json +0 -109
- package/.proagents/checklists/README.md +0 -261
- package/.proagents/checklists/code-quality.md +0 -137
- package/.proagents/checklists/code-review.md +0 -148
- package/.proagents/checklists/pr-checklist.md +0 -78
- package/.proagents/checklists/pre-deployment.md +0 -132
- package/.proagents/checklists/pre-implementation.md +0 -80
- package/.proagents/checklists/testing.md +0 -120
- package/.proagents/checkpoints.json +0 -13
- package/.proagents/cicd/README.md +0 -338
- package/.proagents/cicd/azure-devops.md +0 -267
- package/.proagents/cicd/github-actions.md +0 -375
- package/.proagents/cicd/gitlab-ci.md +0 -278
- package/.proagents/cicd/jenkins.md +0 -317
- package/.proagents/collaboration/README.md +0 -143
- package/.proagents/collaboration/roles.md +0 -248
- package/.proagents/collaboration/sessions.md +0 -390
- package/.proagents/collaboration/sync.md +0 -358
- package/.proagents/cost/README.md +0 -48
- package/.proagents/cost/cost-template.md +0 -283
- package/.proagents/cost/estimation-framework.md +0 -287
- package/.proagents/database/README.md +0 -72
- package/.proagents/database/examples/001-create-users.sql +0 -129
- package/.proagents/database/examples/002-add-preferences.sql +0 -94
- package/.proagents/database/examples/003-add-index.sql +0 -105
- package/.proagents/database/examples/004-rename-column.sql +0 -122
- package/.proagents/database/examples/005-add-foreign-key.sql +0 -142
- package/.proagents/database/examples/006-data-migration.sql +0 -196
- package/.proagents/database/examples/007-drop-column.sql +0 -163
- package/.proagents/database/examples/README.md +0 -89
- package/.proagents/database/migration-workflow.md +0 -478
- package/.proagents/database/rollback-scripts.md +0 -487
- package/.proagents/database/safety-checks.md +0 -447
- package/.proagents/git/README.md +0 -68
- package/.proagents/git/branch-strategy.md +0 -164
- package/.proagents/git/commit-conventions.md +0 -241
- package/.proagents/git/pr-workflow.md +0 -286
- package/.proagents/git/rollback-procedures.md +0 -416
- package/.proagents/ide-integration/README.md +0 -124
- package/.proagents/ide-integration/cline-config.md +0 -429
- package/.proagents/ide-integration/continue-config.md +0 -380
- package/.proagents/ide-integration/cursor-rules.md +0 -280
- package/.proagents/ide-integration/github-copilot.md +0 -384
- package/.proagents/ide-integration/windsurf-rules.md +0 -314
- package/.proagents/integrations/README.md +0 -97
- package/.proagents/integrations/pm/README.md +0 -344
- package/.proagents/learning/README.md +0 -136
- package/.proagents/learning/adaptation.md +0 -305
- package/.proagents/learning/data-collection.md +0 -283
- package/.proagents/learning/implementation-guide.md +0 -865
- package/.proagents/learning/reports.md +0 -306
- package/.proagents/mcp/README.md +0 -133
- package/.proagents/mcp/context-providers.md +0 -442
- package/.proagents/mcp/server-config.md +0 -306
- package/.proagents/mcp/tools-definition.md +0 -513
- package/.proagents/pm-integration/README.md +0 -151
- package/.proagents/pm-integration/asana.md +0 -346
- package/.proagents/pm-integration/github-issues.md +0 -308
- package/.proagents/pm-integration/gitlab-issues.md +0 -482
- package/.proagents/pm-integration/jira.md +0 -364
- package/.proagents/pm-integration/linear.md +0 -409
- package/.proagents/pm-integration/notion.md +0 -275
- package/.proagents/pm-integration/sync-config.md +0 -533
- package/.proagents/pm-integration/trello.md +0 -159
- package/.proagents/rules/README.md +0 -179
- package/.proagents/rules/custom-rules-template.yaml +0 -286
- package/.proagents/rules/custom-rules.md +0 -754
- package/.proagents/rules/validation-rules-template.yaml +0 -517
- package/.proagents/runbooks/README.md +0 -219
- package/.proagents/runbooks/dependency-vulnerability.md +0 -505
- package/.proagents/runbooks/incident-response.md +0 -451
- package/.proagents/runbooks/performance-degradation.md +0 -584
- package/.proagents/runbooks/production-debugging.md +0 -489
- package/.proagents/sprints/README.md +0 -58
- package/.proagents/team/README.md +0 -256
- package/.proagents/team/code-ownership.md +0 -306
- package/.proagents/team/communication-templates.md +0 -441
- package/.proagents/team/handoff-protocol.md +0 -380
- package/.proagents/team/ide-setup/README.md +0 -103
- package/.proagents/team/ide-setup/cursor.md +0 -276
- package/.proagents/team/ide-setup/jetbrains.md +0 -330
- package/.proagents/team/ide-setup/neovim.md +0 -640
- package/.proagents/team/ide-setup/vscode.md +0 -348
- package/.proagents/team/onboarding.md +0 -278
- package/.proagents/time-tracking.json +0 -19
- package/.proagents/troubleshooting/README.md +0 -730
- package/.proagents/troubleshooting/ai-issues.md +0 -601
- package/.proagents/troubleshooting/workflow-issues.md +0 -571
|
@@ -1,470 +0,0 @@
|
|
|
1
|
-
# API Deprecation Workflow
|
|
2
|
-
|
|
3
|
-
Systematic process for deprecating API endpoints and features.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Overview
|
|
8
|
-
|
|
9
|
-
Proper API deprecation ensures:
|
|
10
|
-
- Smooth migration for API consumers
|
|
11
|
-
- Backward compatibility during transition
|
|
12
|
-
- Clear communication and timelines
|
|
13
|
-
- Zero-downtime transitions
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## Deprecation Lifecycle
|
|
18
|
-
|
|
19
|
-
```
|
|
20
|
-
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
|
|
21
|
-
│ Active │────▶│ Deprecated │────▶│ Sunset │────▶│ Removed │
|
|
22
|
-
│ │ │ │ │ Warning │ │ │
|
|
23
|
-
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
|
|
24
|
-
│ │ │ │
|
|
25
|
-
│ 6 months │ │ 1 month │
|
|
26
|
-
│ notice │ │ final │
|
|
27
|
-
└─────────────┘ └─────────────┘
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
---
|
|
31
|
-
|
|
32
|
-
## Deprecation States
|
|
33
|
-
|
|
34
|
-
### 1. Active (Current)
|
|
35
|
-
```yaml
|
|
36
|
-
state: active
|
|
37
|
-
status: "Fully supported"
|
|
38
|
-
actions:
|
|
39
|
-
- "Available in documentation"
|
|
40
|
-
- "No deprecation headers"
|
|
41
|
-
- "Full support provided"
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
### 2. Deprecated
|
|
45
|
-
```yaml
|
|
46
|
-
state: deprecated
|
|
47
|
-
status: "Still functional, migration recommended"
|
|
48
|
-
duration: "6 months typical"
|
|
49
|
-
actions:
|
|
50
|
-
- "Add deprecation headers to responses"
|
|
51
|
-
- "Update documentation with warning"
|
|
52
|
-
- "Provide migration guide"
|
|
53
|
-
- "Log usage for tracking"
|
|
54
|
-
- "Notify known API consumers"
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
### 3. Sunset Warning
|
|
58
|
-
```yaml
|
|
59
|
-
state: sunset
|
|
60
|
-
status: "Will be removed soon"
|
|
61
|
-
duration: "1 month before removal"
|
|
62
|
-
actions:
|
|
63
|
-
- "Increase warning visibility"
|
|
64
|
-
- "Direct outreach to active users"
|
|
65
|
-
- "Final migration reminder"
|
|
66
|
-
- "Prepare removal PR"
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
### 4. Removed
|
|
70
|
-
```yaml
|
|
71
|
-
state: removed
|
|
72
|
-
status: "No longer available"
|
|
73
|
-
actions:
|
|
74
|
-
- "Return 410 Gone status"
|
|
75
|
-
- "Include migration information in response"
|
|
76
|
-
- "Archive documentation"
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
---
|
|
80
|
-
|
|
81
|
-
## Implementing Deprecation
|
|
82
|
-
|
|
83
|
-
### Response Headers
|
|
84
|
-
|
|
85
|
-
```typescript
|
|
86
|
-
// src/middleware/deprecation.ts
|
|
87
|
-
import { NextResponse } from 'next/server';
|
|
88
|
-
|
|
89
|
-
interface DeprecationConfig {
|
|
90
|
-
deprecationDate: string;
|
|
91
|
-
sunsetDate: string;
|
|
92
|
-
alternativeEndpoint?: string;
|
|
93
|
-
migrationGuide?: string;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
export function addDeprecationHeaders(
|
|
97
|
-
response: NextResponse,
|
|
98
|
-
config: DeprecationConfig
|
|
99
|
-
) {
|
|
100
|
-
// Standard deprecation header
|
|
101
|
-
response.headers.set('Deprecation', config.deprecationDate);
|
|
102
|
-
|
|
103
|
-
// Sunset header (RFC 8594)
|
|
104
|
-
response.headers.set('Sunset', config.sunsetDate);
|
|
105
|
-
|
|
106
|
-
// Link to alternative/migration guide
|
|
107
|
-
const links: string[] = [];
|
|
108
|
-
|
|
109
|
-
if (config.alternativeEndpoint) {
|
|
110
|
-
links.push(`<${config.alternativeEndpoint}>; rel="successor-version"`);
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
if (config.migrationGuide) {
|
|
114
|
-
links.push(`<${config.migrationGuide}>; rel="deprecation"`);
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
if (links.length > 0) {
|
|
118
|
-
response.headers.set('Link', links.join(', '));
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
return response;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
// Usage in API route
|
|
125
|
-
export async function GET(request: Request) {
|
|
126
|
-
const response = NextResponse.json({ data: users });
|
|
127
|
-
|
|
128
|
-
return addDeprecationHeaders(response, {
|
|
129
|
-
deprecationDate: '2024-01-15',
|
|
130
|
-
sunsetDate: '2024-07-15',
|
|
131
|
-
alternativeEndpoint: '/api/v2/users',
|
|
132
|
-
migrationGuide: 'https://docs.example.com/api/migration/v1-to-v2',
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
### Response Body Warning
|
|
138
|
-
|
|
139
|
-
```typescript
|
|
140
|
-
// Include deprecation warning in response body
|
|
141
|
-
export async function GET(request: Request) {
|
|
142
|
-
const users = await getUsers();
|
|
143
|
-
|
|
144
|
-
return NextResponse.json({
|
|
145
|
-
data: users,
|
|
146
|
-
_deprecation: {
|
|
147
|
-
warning: 'This endpoint is deprecated and will be removed on 2024-07-15',
|
|
148
|
-
alternative: '/api/v2/users',
|
|
149
|
-
migrationGuide: 'https://docs.example.com/api/migration/v1-to-v2',
|
|
150
|
-
},
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
### Deprecation Logger
|
|
156
|
-
|
|
157
|
-
```typescript
|
|
158
|
-
// src/lib/deprecation-logger.ts
|
|
159
|
-
import { logger } from './logger';
|
|
160
|
-
|
|
161
|
-
interface DeprecationLog {
|
|
162
|
-
endpoint: string;
|
|
163
|
-
clientId: string;
|
|
164
|
-
timestamp: Date;
|
|
165
|
-
userAgent: string;
|
|
166
|
-
sunsetDate: string;
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
export async function logDeprecatedUsage(request: Request, endpoint: string) {
|
|
170
|
-
const log: DeprecationLog = {
|
|
171
|
-
endpoint,
|
|
172
|
-
clientId: request.headers.get('x-client-id') || 'unknown',
|
|
173
|
-
timestamp: new Date(),
|
|
174
|
-
userAgent: request.headers.get('user-agent') || 'unknown',
|
|
175
|
-
sunsetDate: getEndpointSunsetDate(endpoint),
|
|
176
|
-
};
|
|
177
|
-
|
|
178
|
-
logger.warn('Deprecated endpoint accessed', log);
|
|
179
|
-
|
|
180
|
-
// Store for analytics
|
|
181
|
-
await storeDeprecationMetric(log);
|
|
182
|
-
}
|
|
183
|
-
```
|
|
184
|
-
|
|
185
|
-
---
|
|
186
|
-
|
|
187
|
-
## Deprecation Registry
|
|
188
|
-
|
|
189
|
-
```yaml
|
|
190
|
-
# config/deprecations.yaml
|
|
191
|
-
deprecations:
|
|
192
|
-
- endpoint: "/api/v1/users"
|
|
193
|
-
method: "GET"
|
|
194
|
-
deprecated_date: "2024-01-15"
|
|
195
|
-
sunset_date: "2024-07-15"
|
|
196
|
-
alternative: "/api/v2/users"
|
|
197
|
-
migration_guide: "https://docs.example.com/migration/users-v2"
|
|
198
|
-
reason: "New pagination format in v2"
|
|
199
|
-
breaking_changes:
|
|
200
|
-
- "Response format changed"
|
|
201
|
-
- "Pagination parameters renamed"
|
|
202
|
-
|
|
203
|
-
- endpoint: "/api/v1/users/:id/settings"
|
|
204
|
-
method: "GET"
|
|
205
|
-
deprecated_date: "2024-02-01"
|
|
206
|
-
sunset_date: "2024-08-01"
|
|
207
|
-
alternative: "/api/v2/users/:id/preferences"
|
|
208
|
-
migration_guide: "https://docs.example.com/migration/settings-to-preferences"
|
|
209
|
-
reason: "Merged with preferences endpoint"
|
|
210
|
-
breaking_changes:
|
|
211
|
-
- "Endpoint path changed"
|
|
212
|
-
- "Response schema updated"
|
|
213
|
-
|
|
214
|
-
- endpoint: "/api/v1/auth/login"
|
|
215
|
-
method: "POST"
|
|
216
|
-
deprecated_date: "2024-03-01"
|
|
217
|
-
sunset_date: "2024-09-01"
|
|
218
|
-
alternative: "/api/v2/auth/signin"
|
|
219
|
-
reason: "OAuth 2.0 implementation"
|
|
220
|
-
breaking_changes:
|
|
221
|
-
- "Token format changed to JWT"
|
|
222
|
-
- "Refresh token flow updated"
|
|
223
|
-
```
|
|
224
|
-
|
|
225
|
-
---
|
|
226
|
-
|
|
227
|
-
## Migration Guide Template
|
|
228
|
-
|
|
229
|
-
```markdown
|
|
230
|
-
# Migration Guide: API v1 to v2
|
|
231
|
-
|
|
232
|
-
## Overview
|
|
233
|
-
This guide helps you migrate from API v1 to v2. The v1 API will be
|
|
234
|
-
sunset on **July 15, 2024**.
|
|
235
|
-
|
|
236
|
-
## Timeline
|
|
237
|
-
- **January 15, 2024**: v1 deprecated, v2 released
|
|
238
|
-
- **April 15, 2024**: Migration deadline for SLA support
|
|
239
|
-
- **July 15, 2024**: v1 sunset (removed)
|
|
240
|
-
|
|
241
|
-
## Quick Comparison
|
|
242
|
-
|
|
243
|
-
| Feature | v1 | v2 |
|
|
244
|
-
|---------|----|----|
|
|
245
|
-
| Base URL | `/api/v1` | `/api/v2` |
|
|
246
|
-
| Auth | API Key | OAuth 2.0 |
|
|
247
|
-
| Pagination | `page`, `limit` | `cursor`, `pageSize` |
|
|
248
|
-
| Response format | Nested | Flat with `_links` |
|
|
249
|
-
|
|
250
|
-
## Endpoint Changes
|
|
251
|
-
|
|
252
|
-
### Users List
|
|
253
|
-
|
|
254
|
-
**v1 (Deprecated):**
|
|
255
|
-
```bash
|
|
256
|
-
GET /api/v1/users?page=1&limit=10
|
|
257
|
-
```
|
|
258
|
-
|
|
259
|
-
**v2 (New):**
|
|
260
|
-
```bash
|
|
261
|
-
GET /api/v2/users?cursor=abc123&pageSize=10
|
|
262
|
-
```
|
|
263
|
-
|
|
264
|
-
### Response Format Changes
|
|
265
|
-
|
|
266
|
-
**v1 Response:**
|
|
267
|
-
```json
|
|
268
|
-
{
|
|
269
|
-
"users": [
|
|
270
|
-
{ "id": "1", "name": "John" }
|
|
271
|
-
],
|
|
272
|
-
"pagination": {
|
|
273
|
-
"page": 1,
|
|
274
|
-
"total": 100
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
```
|
|
278
|
-
|
|
279
|
-
**v2 Response:**
|
|
280
|
-
```json
|
|
281
|
-
{
|
|
282
|
-
"data": [
|
|
283
|
-
{ "id": "1", "name": "John" }
|
|
284
|
-
],
|
|
285
|
-
"meta": {
|
|
286
|
-
"cursor": "abc123",
|
|
287
|
-
"hasMore": true
|
|
288
|
-
},
|
|
289
|
-
"_links": {
|
|
290
|
-
"next": "/api/v2/users?cursor=def456"
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
|
-
```
|
|
294
|
-
|
|
295
|
-
## Code Migration Examples
|
|
296
|
-
|
|
297
|
-
### JavaScript/TypeScript
|
|
298
|
-
|
|
299
|
-
**Before (v1):**
|
|
300
|
-
```typescript
|
|
301
|
-
const response = await fetch('/api/v1/users?page=1&limit=10', {
|
|
302
|
-
headers: { 'X-API-Key': apiKey },
|
|
303
|
-
});
|
|
304
|
-
const { users, pagination } = await response.json();
|
|
305
|
-
```
|
|
306
|
-
|
|
307
|
-
**After (v2):**
|
|
308
|
-
```typescript
|
|
309
|
-
const response = await fetch('/api/v2/users?pageSize=10', {
|
|
310
|
-
headers: { 'Authorization': `Bearer ${accessToken}` },
|
|
311
|
-
});
|
|
312
|
-
const { data, meta, _links } = await response.json();
|
|
313
|
-
```
|
|
314
|
-
|
|
315
|
-
## Common Issues
|
|
316
|
-
|
|
317
|
-
### Issue: 401 Unauthorized
|
|
318
|
-
**Cause:** Using old API key authentication
|
|
319
|
-
**Solution:** Migrate to OAuth 2.0 authentication
|
|
320
|
-
|
|
321
|
-
### Issue: 400 Bad Request on pagination
|
|
322
|
-
**Cause:** Using `page` parameter instead of `cursor`
|
|
323
|
-
**Solution:** Use cursor-based pagination
|
|
324
|
-
|
|
325
|
-
## Support
|
|
326
|
-
|
|
327
|
-
- Migration support: api-support@example.com
|
|
328
|
-
- Documentation: https://docs.example.com/api/v2
|
|
329
|
-
- Status page: https://status.example.com
|
|
330
|
-
```
|
|
331
|
-
|
|
332
|
-
---
|
|
333
|
-
|
|
334
|
-
## Communication Templates
|
|
335
|
-
|
|
336
|
-
### Initial Deprecation Notice
|
|
337
|
-
|
|
338
|
-
```markdown
|
|
339
|
-
Subject: API v1 Deprecation Notice - Action Required by July 15, 2024
|
|
340
|
-
|
|
341
|
-
Dear API Consumer,
|
|
342
|
-
|
|
343
|
-
We are writing to inform you that **API v1 will be deprecated** starting
|
|
344
|
-
January 15, 2024, and **sunset on July 15, 2024**.
|
|
345
|
-
|
|
346
|
-
## What's Changing
|
|
347
|
-
- API v1 endpoints will return deprecation headers
|
|
348
|
-
- API v2 is now available with improved features
|
|
349
|
-
|
|
350
|
-
## Timeline
|
|
351
|
-
- **Now - January 15**: Both v1 and v2 available
|
|
352
|
-
- **January 15 - July 15**: v1 deprecated, migration period
|
|
353
|
-
- **July 15**: v1 removed
|
|
354
|
-
|
|
355
|
-
## Your Action Items
|
|
356
|
-
1. Review the migration guide: [link]
|
|
357
|
-
2. Update your integration to use v2
|
|
358
|
-
3. Test in our sandbox environment
|
|
359
|
-
|
|
360
|
-
## Need Help?
|
|
361
|
-
- Migration guide: [link]
|
|
362
|
-
- API support: api-support@example.com
|
|
363
|
-
|
|
364
|
-
Thank you for being a valued API consumer.
|
|
365
|
-
|
|
366
|
-
Best regards,
|
|
367
|
-
The API Team
|
|
368
|
-
```
|
|
369
|
-
|
|
370
|
-
### 30-Day Warning
|
|
371
|
-
|
|
372
|
-
```markdown
|
|
373
|
-
Subject: [URGENT] API v1 Sunset in 30 Days - Migrate Now
|
|
374
|
-
|
|
375
|
-
Dear API Consumer,
|
|
376
|
-
|
|
377
|
-
**API v1 will be removed in 30 days (July 15, 2024).**
|
|
378
|
-
|
|
379
|
-
Our records show your application `{app_name}` is still using v1 endpoints.
|
|
380
|
-
To avoid service disruption, please migrate to v2 immediately.
|
|
381
|
-
|
|
382
|
-
## Your Recent v1 Usage
|
|
383
|
-
- Endpoint: /api/v1/users
|
|
384
|
-
- Last access: {date}
|
|
385
|
-
- Daily requests: ~{count}
|
|
386
|
-
|
|
387
|
-
## Migration Resources
|
|
388
|
-
- Quick start guide: [link]
|
|
389
|
-
- Code examples: [link]
|
|
390
|
-
- Support contact: api-support@example.com
|
|
391
|
-
|
|
392
|
-
We're here to help! Reply to this email if you need migration assistance.
|
|
393
|
-
|
|
394
|
-
Regards,
|
|
395
|
-
The API Team
|
|
396
|
-
```
|
|
397
|
-
|
|
398
|
-
---
|
|
399
|
-
|
|
400
|
-
## Automated Deprecation Workflow
|
|
401
|
-
|
|
402
|
-
```yaml
|
|
403
|
-
# .github/workflows/deprecation-check.yml
|
|
404
|
-
name: Deprecation Status Check
|
|
405
|
-
|
|
406
|
-
on:
|
|
407
|
-
schedule:
|
|
408
|
-
- cron: '0 9 * * *' # Daily at 9 AM
|
|
409
|
-
|
|
410
|
-
jobs:
|
|
411
|
-
check-deprecations:
|
|
412
|
-
runs-on: ubuntu-latest
|
|
413
|
-
|
|
414
|
-
steps:
|
|
415
|
-
- uses: actions/checkout@v4
|
|
416
|
-
|
|
417
|
-
- name: Check deprecation dates
|
|
418
|
-
run: |
|
|
419
|
-
node scripts/check-deprecations.js
|
|
420
|
-
|
|
421
|
-
- name: Send notifications
|
|
422
|
-
if: env.NOTIFY_REQUIRED == 'true'
|
|
423
|
-
run: |
|
|
424
|
-
node scripts/send-deprecation-notifications.js
|
|
425
|
-
```
|
|
426
|
-
|
|
427
|
-
---
|
|
428
|
-
|
|
429
|
-
## Configuration
|
|
430
|
-
|
|
431
|
-
```yaml
|
|
432
|
-
# proagents.config.yaml
|
|
433
|
-
|
|
434
|
-
api:
|
|
435
|
-
deprecation:
|
|
436
|
-
enabled: true
|
|
437
|
-
|
|
438
|
-
defaults:
|
|
439
|
-
deprecation_period: "6 months"
|
|
440
|
-
sunset_warning: "30 days"
|
|
441
|
-
|
|
442
|
-
headers:
|
|
443
|
-
add_deprecation: true
|
|
444
|
-
add_sunset: true
|
|
445
|
-
add_link: true
|
|
446
|
-
|
|
447
|
-
logging:
|
|
448
|
-
log_deprecated_usage: true
|
|
449
|
-
notify_threshold: 100 # Notify if endpoint used > 100 times/day
|
|
450
|
-
|
|
451
|
-
notifications:
|
|
452
|
-
channels: ["email", "slack"]
|
|
453
|
-
templates_path: "config/deprecation-templates/"
|
|
454
|
-
|
|
455
|
-
response:
|
|
456
|
-
include_warning_in_body: true
|
|
457
|
-
include_migration_link: true
|
|
458
|
-
```
|
|
459
|
-
|
|
460
|
-
---
|
|
461
|
-
|
|
462
|
-
## Commands
|
|
463
|
-
|
|
464
|
-
| Command | Description |
|
|
465
|
-
|---------|-------------|
|
|
466
|
-
| `pa:api-deprecate` | Start deprecation wizard |
|
|
467
|
-
| `pa:api-deprecate --endpoint [path]` | Deprecate specific endpoint |
|
|
468
|
-
| `pa:api-deprecate --list` | List all deprecated endpoints |
|
|
469
|
-
| `pa:api-deprecate --usage [endpoint]` | Show usage statistics |
|
|
470
|
-
| `pa:api-deprecate --notify` | Send migration reminders |
|