proagents 1.0.0
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/LICENSE +21 -0
- package/README.md +170 -0
- package/bin/proagents.js +90 -0
- package/lib/commands/feature.js +125 -0
- package/lib/commands/fix.js +60 -0
- package/lib/commands/help.js +76 -0
- package/lib/commands/init.js +64 -0
- package/lib/commands/status.js +91 -0
- package/lib/index.js +28 -0
- package/package.json +52 -0
- package/proagents/.learning/global/common-patterns.json +77 -0
- package/proagents/.learning/global/user-preferences.json +76 -0
- package/proagents/.learning/projects/example-project/corrections.json +99 -0
- package/proagents/.learning/projects/example-project/feedback.json +109 -0
- package/proagents/.learning/projects/example-project/metrics.json +101 -0
- package/proagents/.learning/projects/example-project/patterns.json +102 -0
- package/proagents/.learning/schemas/README.md +48 -0
- package/proagents/.learning/schemas/corrections-schema.json +100 -0
- package/proagents/.learning/schemas/feedback-schema.json +144 -0
- package/proagents/.learning/schemas/metrics-schema.json +96 -0
- package/proagents/.learning/schemas/patterns-schema.json +82 -0
- package/proagents/.learning/schemas/project-patterns-schema.json +125 -0
- package/proagents/.learning/schemas/user-preferences-schema.json +136 -0
- package/proagents/GETTING-STARTED-STORY.md +708 -0
- package/proagents/README.md +99 -0
- package/proagents/WORKFLOW.md +1234 -0
- package/proagents/active-features/.gitkeep +0 -0
- package/proagents/active-features/README.md +176 -0
- package/proagents/active-features/_index.json +74 -0
- package/proagents/active-features/feature-user-auth/dependencies.json +81 -0
- package/proagents/active-features/feature-user-auth/files-modified.json +126 -0
- package/proagents/active-features/feature-user-auth/status.json +122 -0
- package/proagents/active-features/schemas/dependencies-schema.json +119 -0
- package/proagents/active-features/schemas/feature-schema.json +132 -0
- package/proagents/active-features/schemas/files-schema.json +100 -0
- package/proagents/active-features/schemas/index-schema.json +95 -0
- package/proagents/adr/README.md +302 -0
- package/proagents/adr/examples/api-versioning.md +297 -0
- package/proagents/adr/examples/database-choice.md +264 -0
- package/proagents/adr/template.md +273 -0
- package/proagents/ai-models/README.md +141 -0
- package/proagents/ai-models/cost-management.md +362 -0
- package/proagents/ai-models/fallbacks.md +342 -0
- package/proagents/ai-models/model-config.md +318 -0
- package/proagents/ai-models/task-routing.md +503 -0
- package/proagents/ai-training/README.md +155 -0
- package/proagents/ai-training/continuous-learning.md +413 -0
- package/proagents/ai-training/domain-knowledge.md +378 -0
- package/proagents/ai-training/pattern-learning.md +455 -0
- package/proagents/ai-training/training-data.md +337 -0
- package/proagents/ai-training/user-preferences.md +346 -0
- package/proagents/api-versioning/README.md +257 -0
- package/proagents/api-versioning/changelog-template.md +225 -0
- package/proagents/api-versioning/deprecation-workflow.md +470 -0
- package/proagents/api-versioning/versioning-strategy.md +291 -0
- package/proagents/approval-workflows/README.md +146 -0
- package/proagents/approval-workflows/approval-config.md +332 -0
- package/proagents/approval-workflows/approval-stages.md +503 -0
- package/proagents/approval-workflows/emergency-bypass.md +351 -0
- package/proagents/approval-workflows/examples.md +859 -0
- package/proagents/approval-workflows/notifications.md +320 -0
- package/proagents/automation/README.md +38 -0
- package/proagents/automation/ai-behavior-rules.md +339 -0
- package/proagents/automation/ai-prompt-injection.md +331 -0
- package/proagents/automation/auto-decisions.md +535 -0
- package/proagents/automation/decision-defaults.yaml +317 -0
- package/proagents/cache/README.md +110 -0
- package/proagents/cache/analysis-metadata.json +76 -0
- package/proagents/cache/conventions.json +125 -0
- package/proagents/cache/dependencies.json +85 -0
- package/proagents/cache/features.json +115 -0
- package/proagents/cache/patterns.json +105 -0
- package/proagents/cache/schemas/conventions-schema.json +138 -0
- package/proagents/cache/schemas/dependencies-schema.json +95 -0
- package/proagents/cache/schemas/features-schema.json +104 -0
- package/proagents/cache/schemas/metadata-schema.json +83 -0
- package/proagents/cache/schemas/patterns-schema.json +136 -0
- package/proagents/cache/schemas/structure-schema.json +72 -0
- package/proagents/cache/structure.json +109 -0
- package/proagents/changelog/2024/01/2024-01-10-api-url-config.md +41 -0
- package/proagents/changelog/2024/01/2024-01-12-login-bug-fix.md +69 -0
- package/proagents/changelog/2024/01/2024-01-15-user-auth-feature.md +99 -0
- package/proagents/changelog/CHANGELOG.md +82 -0
- package/proagents/changelog/README.md +327 -0
- package/proagents/changelog/entry-template.md +283 -0
- package/proagents/checklists/README.md +261 -0
- package/proagents/checklists/code-quality.md +137 -0
- package/proagents/checklists/code-review.md +148 -0
- package/proagents/checklists/pr-checklist.md +78 -0
- package/proagents/checklists/pre-deployment.md +132 -0
- package/proagents/checklists/pre-implementation.md +80 -0
- package/proagents/checklists/testing.md +120 -0
- package/proagents/cicd/README.md +338 -0
- package/proagents/cicd/azure-devops.md +267 -0
- package/proagents/cicd/github-actions.md +375 -0
- package/proagents/cicd/gitlab-ci.md +278 -0
- package/proagents/cicd/jenkins.md +317 -0
- package/proagents/cli/README.md +392 -0
- package/proagents/cli/commands-reference.md +893 -0
- package/proagents/cli/ide-integration.md +584 -0
- package/proagents/cli/shortcuts.md +394 -0
- package/proagents/cli/slash-commands.md +507 -0
- package/proagents/collaboration/README.md +143 -0
- package/proagents/collaboration/roles.md +248 -0
- package/proagents/collaboration/sessions.md +390 -0
- package/proagents/collaboration/sync.md +358 -0
- package/proagents/compliance/README.md +206 -0
- package/proagents/compliance/access-control.md +310 -0
- package/proagents/compliance/audit-logging.md +444 -0
- package/proagents/compliance/compliance-frameworks.md +429 -0
- package/proagents/compliance/reports.md +491 -0
- package/proagents/compliance/retention-policies.md +454 -0
- package/proagents/config/README.md +181 -0
- package/proagents/config/integrations/README.md +68 -0
- package/proagents/config/integrations/github.yaml +211 -0
- package/proagents/config/integrations/jira.yaml +144 -0
- package/proagents/config/integrations/linear.yaml +157 -0
- package/proagents/config/integrations/notion.yaml +203 -0
- package/proagents/config/integrations/slack.yaml +230 -0
- package/proagents/config/rules/README.md +73 -0
- package/proagents/config/rules/custom-rules.template.yaml +188 -0
- package/proagents/config/rules/validation-rules.template.yaml +177 -0
- package/proagents/config/standards/README.md +58 -0
- package/proagents/config/standards/architecture-rules.template.md +124 -0
- package/proagents/config/standards/coding-standards.template.md +107 -0
- package/proagents/config/standards/naming-conventions.template.md +114 -0
- package/proagents/config/standards/testing-standards.template.md +213 -0
- package/proagents/config/templates/README.md +74 -0
- package/proagents/config/templates/api-route.template.ts +142 -0
- package/proagents/config/templates/component.template.tsx +55 -0
- package/proagents/config/templates/hook.template.ts +93 -0
- package/proagents/config/templates/test.template.ts +171 -0
- package/proagents/config-versioning/README.md +120 -0
- package/proagents/config-versioning/changelog.md +300 -0
- package/proagents/config-versioning/rollback.md +283 -0
- package/proagents/config-versioning/versioning.md +330 -0
- package/proagents/contract-testing/README.md +223 -0
- package/proagents/contract-testing/contract-testing.md +614 -0
- package/proagents/contract-testing/pact-integration.md +507 -0
- package/proagents/contract-testing/schema-validation.md +565 -0
- package/proagents/cost/README.md +48 -0
- package/proagents/cost/cost-template.md +283 -0
- package/proagents/cost/estimation-framework.md +287 -0
- package/proagents/database/README.md +72 -0
- package/proagents/database/examples/001-create-users.sql +129 -0
- package/proagents/database/examples/002-add-preferences.sql +94 -0
- package/proagents/database/examples/003-add-index.sql +105 -0
- package/proagents/database/examples/004-rename-column.sql +122 -0
- package/proagents/database/examples/005-add-foreign-key.sql +142 -0
- package/proagents/database/examples/006-data-migration.sql +196 -0
- package/proagents/database/examples/007-drop-column.sql +163 -0
- package/proagents/database/examples/README.md +89 -0
- package/proagents/database/migration-workflow.md +478 -0
- package/proagents/database/rollback-scripts.md +487 -0
- package/proagents/database/safety-checks.md +447 -0
- package/proagents/dependency-management/README.md +140 -0
- package/proagents/dependency-management/automation.md +363 -0
- package/proagents/dependency-management/compatibility.md +319 -0
- package/proagents/dependency-management/security-scanning.md +413 -0
- package/proagents/dependency-management/update-policies.md +374 -0
- package/proagents/disaster-recovery/README.md +247 -0
- package/proagents/disaster-recovery/automation.md +366 -0
- package/proagents/disaster-recovery/backup-recovery.md +571 -0
- package/proagents/disaster-recovery/incident-response.md +565 -0
- package/proagents/disaster-recovery/rollback-procedures.md +499 -0
- package/proagents/disaster-recovery/runbooks.md +603 -0
- package/proagents/disaster-recovery/scenarios.md +892 -0
- package/proagents/disaster-recovery/testing.md +438 -0
- package/proagents/environments/README.md +244 -0
- package/proagents/environments/configuration.md +437 -0
- package/proagents/environments/promotion.md +434 -0
- package/proagents/environments/setup.md +420 -0
- package/proagents/examples/README.md +55 -0
- package/proagents/examples/backend-nodejs/README.md +188 -0
- package/proagents/examples/backend-nodejs/complete-conversation.md +601 -0
- package/proagents/examples/backend-nodejs/proagents.config.yaml +415 -0
- package/proagents/examples/backend-nodejs/workflow-example.md +909 -0
- package/proagents/examples/fullstack-nextjs/README.md +155 -0
- package/proagents/examples/fullstack-nextjs/complete-conversation.md +604 -0
- package/proagents/examples/fullstack-nextjs/proagents.config.yaml +287 -0
- package/proagents/examples/fullstack-nextjs/workflow-example.md +553 -0
- package/proagents/examples/mobile-react-native/README.md +171 -0
- package/proagents/examples/mobile-react-native/complete-conversation.md +825 -0
- package/proagents/examples/mobile-react-native/proagents.config.yaml +330 -0
- package/proagents/examples/mobile-react-native/workflow-example.md +723 -0
- package/proagents/examples/web-frontend-react/README.md +125 -0
- package/proagents/examples/web-frontend-react/complete-conversation.md +556 -0
- package/proagents/examples/web-frontend-react/proagents.config.yaml +183 -0
- package/proagents/examples/web-frontend-react/workflow-example.md +603 -0
- package/proagents/existing-projects/README.md +65 -0
- package/proagents/existing-projects/challenges.md +861 -0
- package/proagents/existing-projects/coexistence-mode.md +483 -0
- package/proagents/existing-projects/compatibility-assessment.md +541 -0
- package/proagents/existing-projects/gradual-adoption.md +515 -0
- package/proagents/existing-projects/migration-strategies.md +788 -0
- package/proagents/existing-projects/pattern-reconciliation.md +489 -0
- package/proagents/existing-projects/team-onboarding.md +617 -0
- package/proagents/existing-projects/technical-debt-handling.md +644 -0
- package/proagents/feature-flags/README.md +263 -0
- package/proagents/feature-flags/ab-testing.md +413 -0
- package/proagents/feature-flags/configuration.md +420 -0
- package/proagents/feature-flags/kill-switches.md +444 -0
- package/proagents/feature-flags/rollout-strategies.md +392 -0
- package/proagents/getting-started/README.md +60 -0
- package/proagents/getting-started/ai-training-setup.md +380 -0
- package/proagents/getting-started/ide-setup.md +195 -0
- package/proagents/getting-started/mcp-setup.md +239 -0
- package/proagents/getting-started/pm-integration.md +336 -0
- package/proagents/getting-started/prompt-engineering.md +478 -0
- package/proagents/getting-started/team-onboarding.md +236 -0
- package/proagents/git/README.md +68 -0
- package/proagents/git/branch-strategy.md +164 -0
- package/proagents/git/commit-conventions.md +241 -0
- package/proagents/git/pr-workflow.md +286 -0
- package/proagents/git/rollback-procedures.md +416 -0
- package/proagents/i18n/README.md +133 -0
- package/proagents/i18n/extraction.md +433 -0
- package/proagents/i18n/tms-integration.md +332 -0
- package/proagents/i18n/translation-workflow.md +413 -0
- package/proagents/i18n/validation.md +355 -0
- package/proagents/ide-integration/README.md +124 -0
- package/proagents/ide-integration/cline-config.md +429 -0
- package/proagents/ide-integration/continue-config.md +380 -0
- package/proagents/ide-integration/cursor-rules.md +280 -0
- package/proagents/ide-integration/github-copilot.md +384 -0
- package/proagents/ide-integration/windsurf-rules.md +314 -0
- package/proagents/integrations/README.md +97 -0
- package/proagents/integrations/pm/README.md +344 -0
- package/proagents/learning/README.md +136 -0
- package/proagents/learning/adaptation.md +305 -0
- package/proagents/learning/data-collection.md +283 -0
- package/proagents/learning/implementation-guide.md +865 -0
- package/proagents/learning/reports.md +306 -0
- package/proagents/logging/README.md +276 -0
- package/proagents/logging/aggregation.md +475 -0
- package/proagents/logging/log-levels.md +376 -0
- package/proagents/logging/sensitive-data.md +423 -0
- package/proagents/logging/structured-logging.md +406 -0
- package/proagents/mcp/README.md +133 -0
- package/proagents/mcp/context-providers.md +442 -0
- package/proagents/mcp/server-config.md +306 -0
- package/proagents/mcp/tools-definition.md +513 -0
- package/proagents/metrics/README.md +174 -0
- package/proagents/metrics/code-quality-kpis.md +461 -0
- package/proagents/metrics/deployment-metrics.md +517 -0
- package/proagents/metrics/developer-productivity.md +368 -0
- package/proagents/metrics/learning-effectiveness.md +478 -0
- package/proagents/migrations/README.md +77 -0
- package/proagents/migrations/from-claude-projects.md +312 -0
- package/proagents/migrations/from-cursor-rules.md +345 -0
- package/proagents/migrations/from-custom-workflows.md +410 -0
- package/proagents/monitoring/README.md +308 -0
- package/proagents/monitoring/alerting.md +449 -0
- package/proagents/monitoring/dashboards.md +454 -0
- package/proagents/monitoring/health-checks.md +436 -0
- package/proagents/monitoring/metrics.md +434 -0
- package/proagents/multi-project/README.md +170 -0
- package/proagents/multi-project/coordinated-deploy.md +510 -0
- package/proagents/multi-project/cross-project-deps.md +395 -0
- package/proagents/multi-project/unified-changelog.md +477 -0
- package/proagents/multi-project/walkthroughs/monorepo-setup.md +787 -0
- package/proagents/multi-project/workspace-config.md +408 -0
- package/proagents/notifications/README.md +151 -0
- package/proagents/notifications/channels.md +457 -0
- package/proagents/notifications/preferences.md +415 -0
- package/proagents/notifications/routing.md +449 -0
- package/proagents/notifications/scheduling.md +425 -0
- package/proagents/notifications/templates.md +446 -0
- package/proagents/offline-mode/README.md +145 -0
- package/proagents/offline-mode/caching.md +344 -0
- package/proagents/offline-mode/offline-operations.md +312 -0
- package/proagents/offline-mode/queue-specifications.md +679 -0
- package/proagents/offline-mode/sync.md +475 -0
- package/proagents/parallel-features/README.md +85 -0
- package/proagents/parallel-features/conflict-detection.md +226 -0
- package/proagents/parallel-features/dependency-management.md +392 -0
- package/proagents/parallel-features/merge-coordination.md +506 -0
- package/proagents/parallel-features/tracking-system.md +416 -0
- package/proagents/patterns/README.md +305 -0
- package/proagents/patterns/api-errors.md +453 -0
- package/proagents/patterns/async-errors.md +521 -0
- package/proagents/patterns/error-types.md +437 -0
- package/proagents/patterns/ui-errors.md +595 -0
- 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/plugins/README.md +139 -0
- package/proagents/plugins/creating-plugins.md +504 -0
- package/proagents/plugins/plugin-api.md +467 -0
- package/proagents/plugins/plugin-registry.md +276 -0
- package/proagents/pm-integration/README.md +151 -0
- package/proagents/pm-integration/asana.md +346 -0
- package/proagents/pm-integration/github-issues.md +308 -0
- package/proagents/pm-integration/gitlab-issues.md +482 -0
- package/proagents/pm-integration/jira.md +364 -0
- package/proagents/pm-integration/linear.md +409 -0
- package/proagents/pm-integration/notion.md +275 -0
- package/proagents/pm-integration/sync-config.md +533 -0
- package/proagents/pm-integration/trello.md +159 -0
- package/proagents/proagents.config.yaml +213 -0
- package/proagents/prompts/00-init-wizard.md +426 -0
- package/proagents/prompts/00-init.md +219 -0
- package/proagents/prompts/01-analysis.md +244 -0
- package/proagents/prompts/02-requirements.md +399 -0
- package/proagents/prompts/03-ui-design.md +493 -0
- package/proagents/prompts/04-planning.md +505 -0
- package/proagents/prompts/05-implementation.md +518 -0
- package/proagents/prompts/06-testing.md +620 -0
- package/proagents/prompts/06.5-code-review.md +512 -0
- package/proagents/prompts/07-documentation.md +673 -0
- package/proagents/prompts/08-deployment.md +539 -0
- package/proagents/prompts/09-rollback.md +554 -0
- package/proagents/prompts/README.md +51 -0
- package/proagents/prompts/accessibility/README.md +146 -0
- package/proagents/prompts/accessibility/aria.md +276 -0
- package/proagents/prompts/accessibility/audit.md +233 -0
- package/proagents/prompts/accessibility/keyboard.md +392 -0
- package/proagents/prompts/accessibility/wcag.md +189 -0
- package/proagents/prompts/debugging/README.md +51 -0
- package/proagents/prompts/debugging/error-analysis.md +385 -0
- package/proagents/prompts/debugging/performance-debug.md +381 -0
- package/proagents/prompts/debugging/systematic.md +270 -0
- package/proagents/prompts/performance/README.md +47 -0
- package/proagents/prompts/performance/analyze.md +265 -0
- package/proagents/prompts/performance/optimize.md +347 -0
- package/proagents/prompts/refactoring/README.md +51 -0
- package/proagents/prompts/refactoring/architecture.md +531 -0
- package/proagents/prompts/refactoring/code-smells.md +174 -0
- package/proagents/prompts/refactoring/patterns.md +516 -0
- package/proagents/prompts/security-audit/README.md +197 -0
- package/proagents/prompts/security-audit/code-review.md +260 -0
- package/proagents/prompts/security-audit/vulnerability-scan.md +288 -0
- package/proagents/reporting/README.md +158 -0
- package/proagents/reporting/dashboards.md +366 -0
- package/proagents/reporting/exports.md +524 -0
- package/proagents/reporting/quality-metrics.md +385 -0
- package/proagents/reporting/templates/README.md +56 -0
- package/proagents/reporting/templates/dashboard-config.json +187 -0
- package/proagents/reporting/templates/metrics-queries.md +427 -0
- package/proagents/reporting/templates/react-dashboard.tsx +544 -0
- package/proagents/reporting/templates/widgets.md +451 -0
- package/proagents/reporting/velocity-metrics.md +340 -0
- package/proagents/reverse-engineering/README.md +151 -0
- package/proagents/reverse-engineering/architecture-extraction.md +325 -0
- package/proagents/reverse-engineering/code-analysis.md +377 -0
- package/proagents/reverse-engineering/dependency-mapping.md +567 -0
- package/proagents/reverse-engineering/diagram-generation.md +586 -0
- package/proagents/reverse-engineering/documentation-generation.md +468 -0
- package/proagents/reverse-engineering/pattern-detection.md +569 -0
- package/proagents/reverse-engineering/quality-assessment.md +733 -0
- package/proagents/rules/README.md +179 -0
- package/proagents/rules/custom-rules-template.yaml +286 -0
- package/proagents/rules/custom-rules.md +754 -0
- package/proagents/rules/validation-rules-template.yaml +517 -0
- package/proagents/runbooks/README.md +219 -0
- package/proagents/runbooks/dependency-vulnerability.md +505 -0
- package/proagents/runbooks/incident-response.md +451 -0
- package/proagents/runbooks/performance-degradation.md +584 -0
- package/proagents/runbooks/production-debugging.md +489 -0
- package/proagents/scaffolding/README.md +64 -0
- package/proagents/scaffolding/nextjs/README.md +578 -0
- package/proagents/scaffolding/nextjs/templates/api-route.ts.template +185 -0
- package/proagents/scaffolding/nextjs/templates/page.tsx.template +109 -0
- package/proagents/scaffolding/nextjs/templates/server-action.ts.template +204 -0
- package/proagents/scaffolding/nodejs/README.md +558 -0
- package/proagents/scaffolding/nodejs/templates/controller.ts.template +167 -0
- package/proagents/scaffolding/nodejs/templates/repository.ts.template +155 -0
- package/proagents/scaffolding/nodejs/templates/service.ts.template +207 -0
- package/proagents/scaffolding/project-types.md +401 -0
- package/proagents/scaffolding/react/README.md +399 -0
- package/proagents/scaffolding/react/templates/component.tsx.template +88 -0
- package/proagents/scaffolding/react/templates/hook.ts.template +127 -0
- package/proagents/scaffolding/react/templates/service.ts.template +155 -0
- package/proagents/scaffolding/react/templates/test.tsx.template +149 -0
- package/proagents/scaffolding/react-native/README.md +476 -0
- package/proagents/scaffolding/react-native/templates/hook.ts.template +226 -0
- package/proagents/scaffolding/react-native/templates/screen.tsx.template +247 -0
- package/proagents/secrets/README.md +278 -0
- package/proagents/secrets/access-control.md +443 -0
- package/proagents/secrets/rotation.md +403 -0
- package/proagents/secrets/scanning.md +487 -0
- package/proagents/secrets/storage.md +394 -0
- package/proagents/security/README.md +71 -0
- package/proagents/security/owasp-checklist.md +390 -0
- package/proagents/security/sast-guide.md +473 -0
- package/proagents/security/security-report-template.md +343 -0
- package/proagents/security/vulnerability-scanning.md +329 -0
- package/proagents/slash-commands.json +161 -0
- package/proagents/standards/README.md +120 -0
- package/proagents/standards/architecture-patterns.md +728 -0
- package/proagents/standards/architecture-rules-template.md +489 -0
- package/proagents/standards/coding-standards-template.md +489 -0
- package/proagents/standards/examples/README.md +61 -0
- package/proagents/standards/examples/nodejs-api.md +560 -0
- package/proagents/standards/examples/react-nextjs.md +428 -0
- package/proagents/standards/naming-conventions-template.md +526 -0
- package/proagents/standards/override-system.md +717 -0
- package/proagents/standards/testing-standards-template.md +220 -0
- package/proagents/team/README.md +256 -0
- package/proagents/team/code-ownership.md +306 -0
- package/proagents/team/communication-templates.md +441 -0
- package/proagents/team/handoff-protocol.md +380 -0
- package/proagents/team/ide-setup/README.md +103 -0
- package/proagents/team/ide-setup/cursor.md +276 -0
- package/proagents/team/ide-setup/jetbrains.md +330 -0
- package/proagents/team/ide-setup/neovim.md +640 -0
- package/proagents/team/ide-setup/vscode.md +348 -0
- package/proagents/team/onboarding.md +278 -0
- package/proagents/templates/README.md +57 -0
- package/proagents/templates/code-review-report.md +255 -0
- package/proagents/templates/codebase-analysis-report.md +315 -0
- package/proagents/templates/deployment-checklist.md +277 -0
- package/proagents/templates/feature-requirements.md +142 -0
- package/proagents/templates/feature-status.md +231 -0
- package/proagents/templates/implementation-plan.md +373 -0
- package/proagents/templates/rollback-plan.md +331 -0
- package/proagents/templates/test-plan.md +336 -0
- package/proagents/templates/ui-specification.md +431 -0
- package/proagents/testing-standards/README.md +229 -0
- package/proagents/testing-standards/coverage-requirements.md +198 -0
- package/proagents/testing-standards/mocking-guidelines.md +478 -0
- package/proagents/testing-standards/test-naming.md +485 -0
- package/proagents/testing-standards/test-patterns.md +488 -0
- package/proagents/troubleshooting/README.md +730 -0
- package/proagents/troubleshooting/ai-issues.md +601 -0
- package/proagents/troubleshooting/workflow-issues.md +571 -0
- package/proagents/ui-integration/README.md +77 -0
- package/proagents/ui-integration/figma-guide.md +217 -0
- package/proagents/ui-integration/manual-export-guide.md +358 -0
- package/proagents/ui-integration/sketch-interpretation.md +471 -0
- package/proagents/webhooks/README.md +126 -0
- package/proagents/webhooks/endpoints.md +298 -0
- package/proagents/webhooks/events.md +316 -0
- package/proagents/webhooks/payloads.md +325 -0
- package/proagents/webhooks/reliability.md +363 -0
- package/proagents/webhooks/security.md +380 -0
- package/proagents/workflow-modes/README.md +136 -0
- package/proagents/workflow-modes/deferred-tracking.md +405 -0
- package/proagents/workflow-modes/entry-modes.md +397 -0
- package/proagents/workflow-modes/guardrails.md +405 -0
- package/proagents/workflow-modes/mode-detection.md +358 -0
- package/proagents/workflow-modes/mode-switching.md +372 -0
|
@@ -0,0 +1,679 @@
|
|
|
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)
|