proagents 1.6.17 → 1.6.19

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.
Files changed (185) hide show
  1. package/.claude/settings.local.json +169 -0
  2. package/.proagents/AGENTS.md +2 -0
  3. package/.proagents/AI_INSTRUCTIONS.md +13 -0
  4. package/.proagents/ANTIGRAVITY.md +2 -0
  5. package/.proagents/BOLT.md +2 -0
  6. package/.proagents/CHATGPT.md +2 -0
  7. package/.proagents/CLAUDE.md +2 -0
  8. package/.proagents/GEMINI.md +2 -0
  9. package/.proagents/GROQ.md +2 -0
  10. package/.proagents/KIRO.md +2 -0
  11. package/.proagents/LOVABLE.md +2 -0
  12. package/.proagents/PROAGENTS.md +2 -0
  13. package/.proagents/REPLIT.md +2 -0
  14. package/.proagents/prompts/00-project-setup.md +878 -0
  15. package/.proagents/prompts/04-planning.md +38 -0
  16. package/.proagents/prompts/12-rnd.md +957 -0
  17. package/.proagents/workflow-modes/entry-modes.md +27 -0
  18. package/.proagents/worklog/_context.template.md +47 -0
  19. package/COMMANDS.md +654 -0
  20. package/README.md +16 -24
  21. package/package.json +2 -7
  22. package/.proagents/ai-models/README.md +0 -141
  23. package/.proagents/ai-models/cost-management.md +0 -362
  24. package/.proagents/ai-models/fallbacks.md +0 -342
  25. package/.proagents/ai-models/model-config.md +0 -318
  26. package/.proagents/ai-models/task-routing.md +0 -503
  27. package/.proagents/ai-training/README.md +0 -155
  28. package/.proagents/ai-training/continuous-learning.md +0 -413
  29. package/.proagents/ai-training/domain-knowledge.md +0 -378
  30. package/.proagents/ai-training/pattern-learning.md +0 -455
  31. package/.proagents/ai-training/training-data.md +0 -337
  32. package/.proagents/ai-training/user-preferences.md +0 -346
  33. package/.proagents/approval-workflows/README.md +0 -146
  34. package/.proagents/approval-workflows/approval-config.md +0 -332
  35. package/.proagents/approval-workflows/approval-stages.md +0 -503
  36. package/.proagents/approval-workflows/emergency-bypass.md +0 -351
  37. package/.proagents/approval-workflows/examples.md +0 -859
  38. package/.proagents/approval-workflows/notifications.md +0 -320
  39. package/.proagents/compliance/README.md +0 -206
  40. package/.proagents/compliance/access-control.md +0 -310
  41. package/.proagents/compliance/audit-logging.md +0 -444
  42. package/.proagents/compliance/compliance-frameworks.md +0 -429
  43. package/.proagents/compliance/reports.md +0 -491
  44. package/.proagents/compliance/retention-policies.md +0 -454
  45. package/.proagents/config-versioning/README.md +0 -120
  46. package/.proagents/config-versioning/changelog.md +0 -300
  47. package/.proagents/config-versioning/rollback.md +0 -283
  48. package/.proagents/config-versioning/versioning.md +0 -330
  49. package/.proagents/contract-testing/README.md +0 -223
  50. package/.proagents/contract-testing/contract-testing.md +0 -614
  51. package/.proagents/contract-testing/pact-integration.md +0 -507
  52. package/.proagents/contract-testing/schema-validation.md +0 -565
  53. package/.proagents/dependency-management/README.md +0 -140
  54. package/.proagents/dependency-management/automation.md +0 -363
  55. package/.proagents/dependency-management/compatibility.md +0 -319
  56. package/.proagents/dependency-management/security-scanning.md +0 -413
  57. package/.proagents/dependency-management/update-policies.md +0 -374
  58. package/.proagents/disaster-recovery/README.md +0 -247
  59. package/.proagents/disaster-recovery/automation.md +0 -366
  60. package/.proagents/disaster-recovery/backup-recovery.md +0 -571
  61. package/.proagents/disaster-recovery/incident-response.md +0 -565
  62. package/.proagents/disaster-recovery/rollback-procedures.md +0 -499
  63. package/.proagents/disaster-recovery/runbooks.md +0 -603
  64. package/.proagents/disaster-recovery/scenarios.md +0 -892
  65. package/.proagents/disaster-recovery/testing.md +0 -438
  66. package/.proagents/environments/README.md +0 -244
  67. package/.proagents/environments/configuration.md +0 -437
  68. package/.proagents/environments/promotion.md +0 -434
  69. package/.proagents/environments/setup.md +0 -420
  70. package/.proagents/examples/README.md +0 -55
  71. package/.proagents/examples/backend-nodejs/README.md +0 -188
  72. package/.proagents/examples/backend-nodejs/complete-conversation.md +0 -601
  73. package/.proagents/examples/backend-nodejs/proagents.config.yaml +0 -415
  74. package/.proagents/examples/backend-nodejs/workflow-example.md +0 -909
  75. package/.proagents/examples/fullstack-nextjs/README.md +0 -155
  76. package/.proagents/examples/fullstack-nextjs/complete-conversation.md +0 -604
  77. package/.proagents/examples/fullstack-nextjs/proagents.config.yaml +0 -287
  78. package/.proagents/examples/fullstack-nextjs/workflow-example.md +0 -553
  79. package/.proagents/examples/mobile-react-native/README.md +0 -171
  80. package/.proagents/examples/mobile-react-native/complete-conversation.md +0 -825
  81. package/.proagents/examples/mobile-react-native/proagents.config.yaml +0 -330
  82. package/.proagents/examples/mobile-react-native/workflow-example.md +0 -723
  83. package/.proagents/examples/web-frontend-react/README.md +0 -125
  84. package/.proagents/examples/web-frontend-react/complete-conversation.md +0 -556
  85. package/.proagents/examples/web-frontend-react/proagents.config.yaml +0 -183
  86. package/.proagents/examples/web-frontend-react/workflow-example.md +0 -603
  87. package/.proagents/existing-projects/README.md +0 -65
  88. package/.proagents/existing-projects/challenges.md +0 -861
  89. package/.proagents/existing-projects/coexistence-mode.md +0 -483
  90. package/.proagents/existing-projects/compatibility-assessment.md +0 -541
  91. package/.proagents/existing-projects/gradual-adoption.md +0 -515
  92. package/.proagents/existing-projects/migration-strategies.md +0 -788
  93. package/.proagents/existing-projects/pattern-reconciliation.md +0 -489
  94. package/.proagents/existing-projects/team-onboarding.md +0 -617
  95. package/.proagents/existing-projects/technical-debt-handling.md +0 -644
  96. package/.proagents/feature-flags/README.md +0 -263
  97. package/.proagents/feature-flags/ab-testing.md +0 -413
  98. package/.proagents/feature-flags/configuration.md +0 -420
  99. package/.proagents/feature-flags/kill-switches.md +0 -444
  100. package/.proagents/feature-flags/rollout-strategies.md +0 -392
  101. package/.proagents/history.log +0 -12
  102. package/.proagents/i18n/README.md +0 -133
  103. package/.proagents/i18n/extraction.md +0 -433
  104. package/.proagents/i18n/tms-integration.md +0 -332
  105. package/.proagents/i18n/translation-workflow.md +0 -413
  106. package/.proagents/i18n/validation.md +0 -355
  107. package/.proagents/logging/README.md +0 -276
  108. package/.proagents/logging/aggregation.md +0 -475
  109. package/.proagents/logging/log-levels.md +0 -376
  110. package/.proagents/logging/sensitive-data.md +0 -423
  111. package/.proagents/logging/structured-logging.md +0 -406
  112. package/.proagents/metrics/README.md +0 -69
  113. package/.proagents/metrics/code-quality-kpis.md +0 -461
  114. package/.proagents/metrics/deployment-metrics.md +0 -517
  115. package/.proagents/metrics/developer-productivity.md +0 -368
  116. package/.proagents/metrics/learning-effectiveness.md +0 -478
  117. package/.proagents/migrations/README.md +0 -77
  118. package/.proagents/migrations/from-claude-projects.md +0 -313
  119. package/.proagents/migrations/from-cursor-rules.md +0 -345
  120. package/.proagents/migrations/from-custom-workflows.md +0 -410
  121. package/.proagents/monitoring/README.md +0 -308
  122. package/.proagents/monitoring/alerting.md +0 -449
  123. package/.proagents/monitoring/dashboards.md +0 -454
  124. package/.proagents/monitoring/health-checks.md +0 -436
  125. package/.proagents/monitoring/metrics.md +0 -434
  126. package/.proagents/multi-project/README.md +0 -170
  127. package/.proagents/multi-project/coordinated-deploy.md +0 -510
  128. package/.proagents/multi-project/cross-project-deps.md +0 -395
  129. package/.proagents/multi-project/unified-changelog.md +0 -477
  130. package/.proagents/multi-project/walkthroughs/monorepo-setup.md +0 -787
  131. package/.proagents/multi-project/workspace-config.md +0 -408
  132. package/.proagents/notifications/README.md +0 -151
  133. package/.proagents/notifications/channels.md +0 -457
  134. package/.proagents/notifications/preferences.md +0 -415
  135. package/.proagents/notifications/routing.md +0 -449
  136. package/.proagents/notifications/scheduling.md +0 -425
  137. package/.proagents/notifications/templates.md +0 -446
  138. package/.proagents/offline-mode/README.md +0 -145
  139. package/.proagents/offline-mode/caching.md +0 -344
  140. package/.proagents/offline-mode/offline-operations.md +0 -312
  141. package/.proagents/offline-mode/queue-specifications.md +0 -679
  142. package/.proagents/offline-mode/sync.md +0 -475
  143. package/.proagents/parallel-features/README.md +0 -85
  144. package/.proagents/parallel-features/conflict-detection.md +0 -226
  145. package/.proagents/parallel-features/dependency-management.md +0 -392
  146. package/.proagents/parallel-features/merge-coordination.md +0 -506
  147. package/.proagents/parallel-features/tracking-system.md +0 -416
  148. package/.proagents/performance/README.md +0 -59
  149. package/.proagents/performance/bundle-analysis.md +0 -375
  150. package/.proagents/performance/load-testing.md +0 -563
  151. package/.proagents/performance/runtime-metrics.md +0 -489
  152. package/.proagents/performance/web-vitals.md +0 -425
  153. package/.proagents/plugins/README.md +0 -139
  154. package/.proagents/plugins/creating-plugins.md +0 -504
  155. package/.proagents/plugins/plugin-api.md +0 -467
  156. package/.proagents/plugins/plugin-registry.md +0 -276
  157. package/.proagents/reporting/README.md +0 -158
  158. package/.proagents/reporting/dashboards.md +0 -366
  159. package/.proagents/reporting/exports.md +0 -524
  160. package/.proagents/reporting/quality-metrics.md +0 -385
  161. package/.proagents/reporting/templates/README.md +0 -56
  162. package/.proagents/reporting/templates/dashboard-config.json +0 -187
  163. package/.proagents/reporting/templates/metrics-queries.md +0 -427
  164. package/.proagents/reporting/templates/react-dashboard.tsx +0 -544
  165. package/.proagents/reporting/templates/widgets.md +0 -451
  166. package/.proagents/reporting/velocity-metrics.md +0 -340
  167. package/.proagents/reverse-engineering/README.md +0 -151
  168. package/.proagents/reverse-engineering/architecture-extraction.md +0 -325
  169. package/.proagents/reverse-engineering/code-analysis.md +0 -377
  170. package/.proagents/reverse-engineering/dependency-mapping.md +0 -567
  171. package/.proagents/reverse-engineering/diagram-generation.md +0 -586
  172. package/.proagents/reverse-engineering/documentation-generation.md +0 -468
  173. package/.proagents/reverse-engineering/pattern-detection.md +0 -569
  174. package/.proagents/reverse-engineering/quality-assessment.md +0 -733
  175. package/.proagents/secrets/README.md +0 -278
  176. package/.proagents/secrets/access-control.md +0 -443
  177. package/.proagents/secrets/rotation.md +0 -403
  178. package/.proagents/secrets/scanning.md +0 -487
  179. package/.proagents/secrets/storage.md +0 -394
  180. package/.proagents/webhooks/README.md +0 -126
  181. package/.proagents/webhooks/endpoints.md +0 -298
  182. package/.proagents/webhooks/events.md +0 -316
  183. package/.proagents/webhooks/payloads.md +0 -325
  184. package/.proagents/webhooks/reliability.md +0 -363
  185. package/.proagents/webhooks/security.md +0 -380
@@ -1,679 +0,0 @@
1
- # Offline Queue Specifications
2
-
3
- Technical specifications for the offline operation queue system.
4
-
5
- ---
6
-
7
- ## Overview
8
-
9
- The offline queue stores operations that require AI services for later processing when connectivity is restored.
10
-
11
- ```
12
- ┌─────────────────────────────────────────────────────────────┐
13
- │ Offline Queue System │
14
- ├─────────────────────────────────────────────────────────────┤
15
- │ │
16
- │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
17
- │ │ User │ │ Queue │ │ AI │ │
18
- │ │ Request │───►│ Storage │───►│ Services │ │
19
- │ └─────────────┘ └─────────────┘ └─────────────┘ │
20
- │ │ │ │ │
21
- │ │ │ │ │
22
- │ [OFFLINE] [PERSISTED] [ONLINE] │
23
- │ │
24
- │ Operation Flow: │
25
- │ 1. Request received while offline │
26
- │ 2. Added to persistent queue │
27
- │ 3. Acknowledgment returned to user │
28
- │ 4. Connectivity restored │
29
- │ 5. Queue processed automatically │
30
- │ 6. Results delivered to user │
31
- │ │
32
- └─────────────────────────────────────────────────────────────┘
33
- ```
34
-
35
- ---
36
-
37
- ## Queue Architecture
38
-
39
- ### Storage Structure
40
-
41
- ```
42
- .proagents/
43
- └── offline-queue/
44
- ├── queue.json # Queue metadata
45
- ├── items/ # Individual queue items
46
- │ ├── item-001.json
47
- │ ├── item-002.json
48
- │ └── item-003.json
49
- ├── processing/ # Items being processed
50
- ├── completed/ # Completed items (for audit)
51
- └── failed/ # Failed items (for retry)
52
- ```
53
-
54
- ### Queue Item Schema
55
-
56
- ```json
57
- {
58
- "id": "queue-item-uuid-v4",
59
- "version": "1.0",
60
- "created_at": "2024-01-15T10:30:00Z",
61
- "queued_at": "2024-01-15T10:30:05Z",
62
- "status": "pending",
63
-
64
- "operation": {
65
- "type": "code_generation",
66
- "action": "generate_component",
67
- "priority": "normal",
68
- "timeout": 300000
69
- },
70
-
71
- "context": {
72
- "project_path": "/path/to/project",
73
- "feature": "feature/user-dashboard",
74
- "phase": "implementation",
75
- "files": ["src/components/Dashboard.tsx"]
76
- },
77
-
78
- "request": {
79
- "prompt": "Generate a Dashboard component with...",
80
- "parameters": {
81
- "component_name": "Dashboard",
82
- "framework": "react",
83
- "styling": "tailwind"
84
- }
85
- },
86
-
87
- "metadata": {
88
- "user": "developer@company.com",
89
- "session_id": "session-123",
90
- "client_version": "1.2.0",
91
- "offline_duration": null
92
- },
93
-
94
- "processing": {
95
- "attempts": 0,
96
- "max_attempts": 3,
97
- "last_attempt": null,
98
- "next_retry": null
99
- },
100
-
101
- "result": null,
102
- "error": null
103
- }
104
- ```
105
-
106
- ---
107
-
108
- ## Queue Operations
109
-
110
- ### 1. Adding to Queue
111
-
112
- **When an operation is queued:**
113
-
114
- ```typescript
115
- interface QueueOperation {
116
- // Validate operation can be queued
117
- validate(): ValidationResult;
118
-
119
- // Serialize operation for storage
120
- serialize(): QueueItem;
121
-
122
- // Generate acknowledgment for user
123
- acknowledge(): QueueAcknowledgment;
124
- }
125
-
126
- // Example implementation
127
- async function queueOperation(operation: Operation): Promise<QueueAcknowledgment> {
128
- // 1. Validate operation
129
- const validation = operation.validate();
130
- if (!validation.valid) {
131
- throw new QueueValidationError(validation.errors);
132
- }
133
-
134
- // 2. Create queue item
135
- const item: QueueItem = {
136
- id: generateUUID(),
137
- created_at: new Date().toISOString(),
138
- status: 'pending',
139
- operation: operation.serialize(),
140
- // ... other fields
141
- };
142
-
143
- // 3. Persist to disk
144
- await persistQueueItem(item);
145
-
146
- // 4. Return acknowledgment
147
- return {
148
- queued: true,
149
- item_id: item.id,
150
- position: await getQueuePosition(item.id),
151
- estimated_processing: null // Unknown until online
152
- };
153
- }
154
- ```
155
-
156
- ### 2. Queue Processing
157
-
158
- **When connectivity is restored:**
159
-
160
- ```typescript
161
- async function processQueue(): Promise<ProcessingResult[]> {
162
- const results: ProcessingResult[] = [];
163
-
164
- // 1. Get pending items sorted by priority
165
- const items = await getPendingItems({ sort: 'priority' });
166
-
167
- for (const item of items) {
168
- try {
169
- // 2. Move to processing
170
- await moveToProcessing(item.id);
171
-
172
- // 3. Execute operation
173
- const result = await executeOperation(item);
174
-
175
- // 4. Store result
176
- await storeResult(item.id, result);
177
-
178
- // 5. Move to completed
179
- await moveToCompleted(item.id);
180
-
181
- // 6. Notify user
182
- await notifyUser(item, result);
183
-
184
- results.push({ item_id: item.id, status: 'success', result });
185
-
186
- } catch (error) {
187
- // Handle failure
188
- await handleFailure(item, error);
189
- results.push({ item_id: item.id, status: 'failed', error });
190
- }
191
- }
192
-
193
- return results;
194
- }
195
- ```
196
-
197
- ### 3. Failure Handling
198
-
199
- ```typescript
200
- async function handleFailure(item: QueueItem, error: Error): Promise<void> {
201
- // 1. Increment attempt counter
202
- item.processing.attempts++;
203
- item.processing.last_attempt = new Date().toISOString();
204
-
205
- // 2. Check if should retry
206
- if (item.processing.attempts < item.processing.max_attempts) {
207
- // Calculate next retry time (exponential backoff)
208
- const delay = Math.pow(2, item.processing.attempts) * 1000; // 2s, 4s, 8s
209
- item.processing.next_retry = new Date(Date.now() + delay).toISOString();
210
- item.status = 'retry_pending';
211
-
212
- await updateQueueItem(item);
213
-
214
- } else {
215
- // Max retries exceeded
216
- item.status = 'failed';
217
- item.error = {
218
- message: error.message,
219
- code: error.code,
220
- occurred_at: new Date().toISOString()
221
- };
222
-
223
- await moveToFailed(item);
224
- await notifyFailure(item);
225
- }
226
- }
227
- ```
228
-
229
- ---
230
-
231
- ## Queueable Operations
232
-
233
- ### Operations That Can Be Queued
234
-
235
- | Operation | Priority | Timeout | Notes |
236
- |-----------|----------|---------|-------|
237
- | Code generation | Normal | 5 min | Full component/function generation |
238
- | Refactoring suggestion | Normal | 5 min | Complex refactoring requests |
239
- | Code review | Low | 10 min | AI-powered code review |
240
- | Documentation generation | Low | 10 min | Auto-generate docs |
241
- | Test generation | Normal | 5 min | Generate test cases |
242
- | Security analysis | High | 15 min | Security vulnerability scan |
243
- | Dependency analysis | Low | 10 min | Analyze dependencies |
244
-
245
- ### Operations That Cannot Be Queued
246
-
247
- | Operation | Reason | Alternative |
248
- |-----------|--------|-------------|
249
- | Interactive code completion | Real-time required | Use cached suggestions |
250
- | Live debugging assistance | Context changes | Log for later review |
251
- | Real-time collaboration | Synchronous required | Queue summary for review |
252
-
253
- ---
254
-
255
- ## Priority System
256
-
257
- ### Priority Levels
258
-
259
- ```typescript
260
- enum QueuePriority {
261
- CRITICAL = 1, // Security issues, blocking bugs
262
- HIGH = 2, // Important features, urgent requests
263
- NORMAL = 3, // Standard operations
264
- LOW = 4, // Documentation, non-urgent
265
- BACKGROUND = 5 // Analytics, learning updates
266
- }
267
- ```
268
-
269
- ### Priority Rules
270
-
271
- ```yaml
272
- # proagents.config.yaml
273
-
274
- offline:
275
- queue:
276
- priority_rules:
277
- # Security-related always high priority
278
- - match:
279
- operation_type: "security_analysis"
280
- priority: "high"
281
-
282
- # User-initiated higher than system
283
- - match:
284
- source: "user_request"
285
- priority_boost: 1
286
-
287
- # Older items get priority boost
288
- - match:
289
- age_hours: ">24"
290
- priority_boost: 1
291
-
292
- # Feature branch items lower during release
293
- - match:
294
- branch_type: "feature"
295
- release_freeze: true
296
- priority: "low"
297
- ```
298
-
299
- ### Processing Order
300
-
301
- ```
302
- Queue Processing Order:
303
- 1. CRITICAL items (sorted by age)
304
- 2. HIGH items (sorted by age)
305
- 3. NORMAL items (sorted by age)
306
- 4. LOW items (sorted by age)
307
- 5. BACKGROUND items (sorted by age)
308
-
309
- Within same priority, FIFO (First In, First Out)
310
- ```
311
-
312
- ---
313
-
314
- ## Queue Configuration
315
-
316
- ### Full Configuration Options
317
-
318
- ```yaml
319
- # proagents.config.yaml
320
-
321
- offline:
322
- queue:
323
- enabled: true
324
-
325
- # Storage
326
- storage:
327
- path: ".proagents/offline-queue"
328
- max_items: 100
329
- max_size_mb: 50
330
-
331
- # Item limits
332
- limits:
333
- max_payload_size_kb: 500
334
- max_context_size_kb: 200
335
-
336
- # Processing
337
- processing:
338
- batch_size: 10
339
- parallel_items: 3
340
- timeout_default_ms: 300000
341
-
342
- # Retry configuration
343
- retry:
344
- max_attempts: 3
345
- backoff_type: "exponential" # exponential | linear | fixed
346
- base_delay_ms: 2000
347
- max_delay_ms: 60000
348
-
349
- # Cleanup
350
- cleanup:
351
- completed_retention_days: 7
352
- failed_retention_days: 30
353
- auto_cleanup: true
354
-
355
- # Notifications
356
- notifications:
357
- on_queue: true
358
- on_process_start: true
359
- on_success: true
360
- on_failure: true
361
- channels: ["terminal", "notification_center"]
362
-
363
- # Priority
364
- priority:
365
- default: "normal"
366
- allow_user_override: true
367
-
368
- # Expiration
369
- expiration:
370
- enabled: true
371
- default_hours: 168 # 7 days
372
- warn_before_hours: 24
373
- ```
374
-
375
- ---
376
-
377
- ## Queue Status & Monitoring
378
-
379
- ### Status Commands
380
-
381
- ```bash
382
- # View queue status
383
- proagents offline queue status
384
-
385
- # Output:
386
- # Offline Queue Status
387
- # ────────────────────────────────────────
388
- # Status: Active (collecting while offline)
389
- #
390
- # Items:
391
- # ├── Pending: 5
392
- # ├── Processing: 0
393
- # ├── Completed (today): 12
394
- # └── Failed: 1
395
- #
396
- # Storage: 2.3 MB / 50 MB (4.6%)
397
- #
398
- # Oldest Item: 2 hours ago
399
- # Priority Distribution:
400
- # ├── High: 1
401
- # ├── Normal: 3
402
- # └── Low: 1
403
- ```
404
-
405
- ```bash
406
- # List queue items
407
- proagents offline queue list
408
-
409
- # Output:
410
- # Queue Items (5 pending)
411
- # ────────────────────────────────────────
412
- # ID | Type | Priority | Age | Size
413
- # ------------|-------------------|----------|--------|------
414
- # q-abc123 | code_generation | high | 2h | 12KB
415
- # q-def456 | test_generation | normal | 1h | 8KB
416
- # q-ghi789 | documentation | normal | 45m | 15KB
417
- # q-jkl012 | code_review | normal | 30m | 22KB
418
- # q-mno345 | refactoring | low | 15m | 5KB
419
- ```
420
-
421
- ```bash
422
- # View specific item
423
- proagents offline queue show q-abc123
424
-
425
- # Output:
426
- # Queue Item: q-abc123
427
- # ────────────────────────────────────────
428
- # Type: code_generation
429
- # Status: pending
430
- # Priority: high
431
- #
432
- # Created: 2024-01-15 08:30:00 UTC
433
- # Age: 2 hours
434
- #
435
- # Operation:
436
- # - Action: generate_component
437
- # - Component: UserDashboard
438
- # - Framework: react
439
- #
440
- # Context:
441
- # - Project: my-app
442
- # - Feature: feature/user-dashboard
443
- # - Phase: implementation
444
- #
445
- # Attempts: 0 / 3
446
- # Estimated Processing: ~2 minutes
447
- ```
448
-
449
- ### Monitoring Events
450
-
451
- ```typescript
452
- // Queue events for monitoring
453
- interface QueueEvents {
454
- 'queue:item_added': { item: QueueItem };
455
- 'queue:processing_started': { item_id: string };
456
- 'queue:item_completed': { item_id: string; result: any };
457
- 'queue:item_failed': { item_id: string; error: Error };
458
- 'queue:retry_scheduled': { item_id: string; next_retry: Date };
459
- 'queue:capacity_warning': { current: number; max: number };
460
- 'queue:online_sync_started': { item_count: number };
461
- 'queue:online_sync_completed': { success: number; failed: number };
462
- }
463
- ```
464
-
465
- ---
466
-
467
- ## User Experience
468
-
469
- ### When Operation is Queued
470
-
471
- ```
472
- ┌─────────────────────────────────────────────────────────────┐
473
- │ ⏳ Operation Queued │
474
- ├─────────────────────────────────────────────────────────────┤
475
- │ │
476
- │ Your request has been queued for processing when │
477
- │ connectivity is restored. │
478
- │ │
479
- │ Queue ID: q-abc123 │
480
- │ Operation: Generate Dashboard Component │
481
- │ Priority: Normal │
482
- │ Position: #3 in queue │
483
- │ │
484
- │ You will be notified when processing completes. │
485
- │ │
486
- │ Continue working offline? [Y/n] │
487
- │ │
488
- └─────────────────────────────────────────────────────────────┘
489
- ```
490
-
491
- ### When Connectivity Returns
492
-
493
- ```
494
- ┌─────────────────────────────────────────────────────────────┐
495
- │ 🔄 Processing Offline Queue │
496
- ├─────────────────────────────────────────────────────────────┤
497
- │ │
498
- │ Connectivity restored. Processing 5 queued operations... │
499
- │ │
500
- │ [████████████████░░░░░░░░] 3/5 completed │
501
- │ │
502
- │ ✅ q-abc123: Dashboard component generated │
503
- │ ✅ q-def456: Tests generated (15 test cases) │
504
- │ ✅ q-ghi789: Documentation updated │
505
- │ ⏳ q-jkl012: Code review in progress... │
506
- │ ⏸ q-mno345: Waiting... │
507
- │ │
508
- └─────────────────────────────────────────────────────────────┘
509
- ```
510
-
511
- ### Result Delivery
512
-
513
- ```bash
514
- # When results are ready
515
- proagents offline queue results
516
-
517
- # Output:
518
- # Completed Queue Items
519
- # ────────────────────────────────────────
520
- #
521
- # ✅ q-abc123 - Dashboard Component
522
- # Generated: src/components/Dashboard.tsx
523
- # View: proagents queue show q-abc123 --result
524
- #
525
- # ✅ q-def456 - Test Generation
526
- # Generated: 15 test cases
527
- # View: proagents queue show q-def456 --result
528
- #
529
- # ❌ q-xyz789 - Refactoring (FAILED)
530
- # Error: Context too large
531
- # Retry: proagents queue retry q-xyz789
532
- ```
533
-
534
- ---
535
-
536
- ## API Reference
537
-
538
- ### Queue Client Interface
539
-
540
- ```typescript
541
- interface QueueClient {
542
- // Add operation to queue
543
- enqueue(operation: Operation): Promise<QueueAcknowledgment>;
544
-
545
- // Get queue status
546
- status(): Promise<QueueStatus>;
547
-
548
- // List items
549
- list(filter?: QueueFilter): Promise<QueueItem[]>;
550
-
551
- // Get specific item
552
- get(id: string): Promise<QueueItem | null>;
553
-
554
- // Remove item
555
- remove(id: string): Promise<boolean>;
556
-
557
- // Update priority
558
- updatePriority(id: string, priority: QueuePriority): Promise<void>;
559
-
560
- // Manual retry
561
- retry(id: string): Promise<void>;
562
-
563
- // Process queue (when online)
564
- process(): Promise<ProcessingResult[]>;
565
-
566
- // Clear queue
567
- clear(filter?: QueueFilter): Promise<number>;
568
-
569
- // Event subscription
570
- on<E extends keyof QueueEvents>(
571
- event: E,
572
- handler: (data: QueueEvents[E]) => void
573
- ): void;
574
- }
575
- ```
576
-
577
- ### Queue Status Interface
578
-
579
- ```typescript
580
- interface QueueStatus {
581
- active: boolean;
582
- offline: boolean;
583
-
584
- counts: {
585
- pending: number;
586
- processing: number;
587
- completed: number;
588
- failed: number;
589
- };
590
-
591
- storage: {
592
- used_bytes: number;
593
- max_bytes: number;
594
- item_count: number;
595
- max_items: number;
596
- };
597
-
598
- processing: {
599
- in_progress: number;
600
- rate_per_minute: number;
601
- estimated_completion: Date | null;
602
- };
603
-
604
- oldest_item: Date | null;
605
- newest_item: Date | null;
606
-
607
- health: 'healthy' | 'warning' | 'critical';
608
- health_issues: string[];
609
- }
610
- ```
611
-
612
- ---
613
-
614
- ## Error Handling
615
-
616
- ### Error Types
617
-
618
- ```typescript
619
- enum QueueErrorCode {
620
- // Validation errors
621
- INVALID_OPERATION = 'QUEUE_001',
622
- PAYLOAD_TOO_LARGE = 'QUEUE_002',
623
- UNSUPPORTED_OPERATION = 'QUEUE_003',
624
-
625
- // Capacity errors
626
- QUEUE_FULL = 'QUEUE_010',
627
- STORAGE_LIMIT = 'QUEUE_011',
628
-
629
- // Processing errors
630
- PROCESSING_TIMEOUT = 'QUEUE_020',
631
- AI_SERVICE_ERROR = 'QUEUE_021',
632
- CONTEXT_INVALID = 'QUEUE_022',
633
-
634
- // System errors
635
- STORAGE_ERROR = 'QUEUE_030',
636
- CORRUPTION_DETECTED = 'QUEUE_031',
637
- }
638
- ```
639
-
640
- ### Error Recovery
641
-
642
- ```yaml
643
- # Error recovery configuration
644
- offline:
645
- queue:
646
- error_recovery:
647
- on_corruption:
648
- action: "rebuild_from_items"
649
- notify: true
650
-
651
- on_storage_error:
652
- action: "retry_with_backoff"
653
- max_retries: 3
654
-
655
- on_capacity_exceeded:
656
- action: "remove_lowest_priority"
657
- notify: true
658
- require_confirmation: true
659
- ```
660
-
661
- ---
662
-
663
- ## Best Practices
664
-
665
- 1. **Keep payloads small** - Include only essential context
666
- 2. **Set appropriate priorities** - Don't mark everything as high
667
- 3. **Monitor queue regularly** - Check for stuck items
668
- 4. **Clean up completed items** - Don't let storage grow unbounded
669
- 5. **Handle failures gracefully** - Notify users of permanent failures
670
- 6. **Test offline workflows** - Ensure queue works before needed
671
- 7. **Document queueable operations** - Users should know what can be queued
672
-
673
- ---
674
-
675
- ## Next Steps
676
-
677
- - [Caching Guide](./caching.md)
678
- - [Offline Operations](./offline-operations.md)
679
- - [Sync Procedures](./sync.md)