@ameshkin/ticket-mate 0.1.20
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 +22 -0
- package/README.md +1214 -0
- package/config/_design-specs.json +39 -0
- package/config/bugs-demo.json +186 -0
- package/config/design-specs.ts +39 -0
- package/config/envSpec.ts +120 -0
- package/config/nav.admin.ts +165 -0
- package/config/nav.main.json +90 -0
- package/config/nav.main.ts +92 -0
- package/package.json +299 -0
- package/public/acceptance-criteria/extractors.d.ts +30 -0
- package/public/acceptance-criteria/extractors.d.ts.map +1 -0
- package/public/acceptance-criteria/extractors.js +133 -0
- package/public/acceptance-criteria/extractors.js.map +1 -0
- package/public/acceptance-criteria/file-discovery.d.ts +22 -0
- package/public/acceptance-criteria/file-discovery.d.ts.map +1 -0
- package/public/acceptance-criteria/file-discovery.js +102 -0
- package/public/acceptance-criteria/file-discovery.js.map +1 -0
- package/public/acceptance-criteria/file-utils.d.ts +29 -0
- package/public/acceptance-criteria/file-utils.d.ts.map +1 -0
- package/public/acceptance-criteria/file-utils.js +103 -0
- package/public/acceptance-criteria/file-utils.js.map +1 -0
- package/public/acceptance-criteria/merger.d.ts +17 -0
- package/public/acceptance-criteria/merger.d.ts.map +1 -0
- package/public/acceptance-criteria/merger.js +73 -0
- package/public/acceptance-criteria/merger.js.map +1 -0
- package/public/acceptance-criteria/sync.d.ts +12 -0
- package/public/acceptance-criteria/sync.d.ts.map +1 -0
- package/public/acceptance-criteria/sync.js +72 -0
- package/public/acceptance-criteria/sync.js.map +1 -0
- package/public/acceptance-criteria/verifier.d.ts +10 -0
- package/public/acceptance-criteria/verifier.d.ts.map +1 -0
- package/public/acceptance-criteria/verifier.js +54 -0
- package/public/acceptance-criteria/verifier.js.map +1 -0
- package/public/ai/agent-handler-integration.d.ts +67 -0
- package/public/ai/agent-handler-integration.d.ts.map +1 -0
- package/public/ai/agent-handler-integration.js +277 -0
- package/public/ai/agent-handler-integration.js.map +1 -0
- package/public/ai/agent-integration.d.ts +96 -0
- package/public/ai/agent-integration.d.ts.map +1 -0
- package/public/ai/agent-integration.js +82 -0
- package/public/ai/agent-integration.js.map +1 -0
- package/public/ai/ai-ready.d.ts +28 -0
- package/public/ai/ai-ready.d.ts.map +1 -0
- package/public/ai/ai-ready.js +70 -0
- package/public/ai/ai-ready.js.map +1 -0
- package/public/ai/executor.d.ts +108 -0
- package/public/ai/executor.d.ts.map +1 -0
- package/public/ai/executor.js +30 -0
- package/public/ai/executor.js.map +1 -0
- package/public/ai/jira-updates.d.ts +25 -0
- package/public/ai/jira-updates.d.ts.map +1 -0
- package/public/ai/jira-updates.js +132 -0
- package/public/ai/jira-updates.js.map +1 -0
- package/public/ai/progress.d.ts +59 -0
- package/public/ai/progress.d.ts.map +1 -0
- package/public/ai/progress.js +92 -0
- package/public/ai/progress.js.map +1 -0
- package/public/ai/repo.d.ts +54 -0
- package/public/ai/repo.d.ts.map +1 -0
- package/public/ai/repo.js +171 -0
- package/public/ai/repo.js.map +1 -0
- package/public/ai/safeguards.d.ts +59 -0
- package/public/ai/safeguards.d.ts.map +1 -0
- package/public/ai/safeguards.js +139 -0
- package/public/ai/safeguards.js.map +1 -0
- package/public/ai/test-runner.d.ts +37 -0
- package/public/ai/test-runner.d.ts.map +1 -0
- package/public/ai/test-runner.js +114 -0
- package/public/ai/test-runner.js.map +1 -0
- package/public/ai/workflow.d.ts +41 -0
- package/public/ai/workflow.d.ts.map +1 -0
- package/public/ai/workflow.js +205 -0
- package/public/ai/workflow.js.map +1 -0
- package/public/app/api/acceptance-criteria/acceptance-criteria.service.d.ts +8 -0
- package/public/app/api/acceptance-criteria/acceptance-criteria.service.d.ts.map +1 -0
- package/public/app/api/acceptance-criteria/acceptance-criteria.service.js +18 -0
- package/public/app/api/acceptance-criteria/acceptance-criteria.service.js.map +1 -0
- package/public/app/api/automation/automation.service.d.ts +20 -0
- package/public/app/api/automation/automation.service.d.ts.map +1 -0
- package/public/app/api/automation/automation.service.js +112 -0
- package/public/app/api/automation/automation.service.js.map +1 -0
- package/public/app/api/automation/bulk-operations.d.ts +41 -0
- package/public/app/api/automation/bulk-operations.d.ts.map +1 -0
- package/public/app/api/automation/bulk-operations.js +146 -0
- package/public/app/api/automation/bulk-operations.js.map +1 -0
- package/public/app/api/automation/fix-now.d.ts +27 -0
- package/public/app/api/automation/fix-now.d.ts.map +1 -0
- package/public/app/api/automation/fix-now.js +82 -0
- package/public/app/api/automation/fix-now.js.map +1 -0
- package/public/app/api/batch/batch.service.d.ts +7 -0
- package/public/app/api/batch/batch.service.d.ts.map +1 -0
- package/public/app/api/batch/batch.service.js +11 -0
- package/public/app/api/batch/batch.service.js.map +1 -0
- package/public/app/api/bugs/bugs-jira.service.d.ts +27 -0
- package/public/app/api/bugs/bugs-jira.service.d.ts.map +1 -0
- package/public/app/api/bugs/bugs-jira.service.js +103 -0
- package/public/app/api/bugs/bugs-jira.service.js.map +1 -0
- package/public/app/api/bugs/bugs.service.d.ts +29 -0
- package/public/app/api/bugs/bugs.service.d.ts.map +1 -0
- package/public/app/api/bugs/bugs.service.js +51 -0
- package/public/app/api/bugs/bugs.service.js.map +1 -0
- package/public/app/api/config/config.service.d.ts +12 -0
- package/public/app/api/config/config.service.d.ts.map +1 -0
- package/public/app/api/config/config.service.js +45 -0
- package/public/app/api/config/config.service.js.map +1 -0
- package/public/app/api/google/google-maps.service.d.ts +30 -0
- package/public/app/api/google/google-maps.service.d.ts.map +1 -0
- package/public/app/api/google/google-maps.service.js +74 -0
- package/public/app/api/google/google-maps.service.js.map +1 -0
- package/public/app/api/google/google-search.service.d.ts +73 -0
- package/public/app/api/google/google-search.service.d.ts.map +1 -0
- package/public/app/api/google/google-search.service.js +83 -0
- package/public/app/api/google/google-search.service.js.map +1 -0
- package/public/app/api/issues/execution.service.d.ts +13 -0
- package/public/app/api/issues/execution.service.d.ts.map +1 -0
- package/public/app/api/issues/execution.service.js +27 -0
- package/public/app/api/issues/execution.service.js.map +1 -0
- package/public/app/api/issues/git.service.d.ts +10 -0
- package/public/app/api/issues/git.service.d.ts.map +1 -0
- package/public/app/api/issues/git.service.js +22 -0
- package/public/app/api/issues/git.service.js.map +1 -0
- package/public/app/api/issues/issues.service.d.ts +14 -0
- package/public/app/api/issues/issues.service.d.ts.map +1 -0
- package/public/app/api/issues/issues.service.js +32 -0
- package/public/app/api/issues/issues.service.js.map +1 -0
- package/public/app/api/jira/jira-auth.service.d.ts +36 -0
- package/public/app/api/jira/jira-auth.service.d.ts.map +1 -0
- package/public/app/api/jira/jira-auth.service.js +89 -0
- package/public/app/api/jira/jira-auth.service.js.map +1 -0
- package/public/app/api/orchestrator/orchestrator-processor.d.ts +32 -0
- package/public/app/api/orchestrator/orchestrator-processor.d.ts.map +1 -0
- package/public/app/api/orchestrator/orchestrator-processor.js +130 -0
- package/public/app/api/orchestrator/orchestrator-processor.js.map +1 -0
- package/public/app/api/orchestrator/orchestrator.service.d.ts +56 -0
- package/public/app/api/orchestrator/orchestrator.service.d.ts.map +1 -0
- package/public/app/api/orchestrator/orchestrator.service.js +91 -0
- package/public/app/api/orchestrator/orchestrator.service.js.map +1 -0
- package/public/app/api/projects/projects.service.d.ts +12 -0
- package/public/app/api/projects/projects.service.d.ts.map +1 -0
- package/public/app/api/projects/projects.service.js +13 -0
- package/public/app/api/projects/projects.service.js.map +1 -0
- package/public/app/api/prompts/pr.service.d.ts +13 -0
- package/public/app/api/prompts/pr.service.d.ts.map +1 -0
- package/public/app/api/prompts/pr.service.js +12 -0
- package/public/app/api/prompts/pr.service.js.map +1 -0
- package/public/app/api/prompts/prompts.service.d.ts +5 -0
- package/public/app/api/prompts/prompts.service.d.ts.map +1 -0
- package/public/app/api/prompts/prompts.service.js +7 -0
- package/public/app/api/prompts/prompts.service.js.map +1 -0
- package/public/app/api/report/api-report.d.ts +60 -0
- package/public/app/api/report/api-report.d.ts.map +1 -0
- package/public/app/api/report/api-report.js +212 -0
- package/public/app/api/report/api-report.js.map +1 -0
- package/public/app/api/research/research.service.d.ts +82 -0
- package/public/app/api/research/research.service.d.ts.map +1 -0
- package/public/app/api/research/research.service.js +115 -0
- package/public/app/api/research/research.service.js.map +1 -0
- package/public/app/api/sync/sync.service.d.ts +11 -0
- package/public/app/api/sync/sync.service.d.ts.map +1 -0
- package/public/app/api/sync/sync.service.js +20 -0
- package/public/app/api/sync/sync.service.js.map +1 -0
- package/public/app/api/task-folders/task-folders.service.d.ts +15 -0
- package/public/app/api/task-folders/task-folders.service.d.ts.map +1 -0
- package/public/app/api/task-folders/task-folders.service.js +27 -0
- package/public/app/api/task-folders/task-folders.service.js.map +1 -0
- package/public/app/api/ticket-mate-config/ticket-mate-config.service.d.ts +129 -0
- package/public/app/api/ticket-mate-config/ticket-mate-config.service.d.ts.map +1 -0
- package/public/app/api/ticket-mate-config/ticket-mate-config.service.js +140 -0
- package/public/app/api/ticket-mate-config/ticket-mate-config.service.js.map +1 -0
- package/public/app/api/webhooks/webhooks.service.d.ts +11 -0
- package/public/app/api/webhooks/webhooks.service.d.ts.map +1 -0
- package/public/app/api/webhooks/webhooks.service.js +12 -0
- package/public/app/api/webhooks/webhooks.service.js.map +1 -0
- package/public/assets/images/logo.jpg +0 -0
- package/public/automation/bugs-sync.d.ts +36 -0
- package/public/automation/bugs-sync.d.ts.map +1 -0
- package/public/automation/bugs-sync.js +234 -0
- package/public/automation/bugs-sync.js.map +1 -0
- package/public/automation/bugs-watcher.d.ts +22 -0
- package/public/automation/bugs-watcher.d.ts.map +1 -0
- package/public/automation/bugs-watcher.js +100 -0
- package/public/automation/bugs-watcher.js.map +1 -0
- package/public/automation/index.d.ts +17 -0
- package/public/automation/index.d.ts.map +1 -0
- package/public/automation/index.js +21 -0
- package/public/automation/index.js.map +1 -0
- package/public/automation/json-reader.d.ts +102 -0
- package/public/automation/json-reader.d.ts.map +1 -0
- package/public/automation/json-reader.js +147 -0
- package/public/automation/json-reader.js.map +1 -0
- package/public/automation/label-assigner.d.ts +54 -0
- package/public/automation/label-assigner.d.ts.map +1 -0
- package/public/automation/label-assigner.js +233 -0
- package/public/automation/label-assigner.js.map +1 -0
- package/public/automation/pattern-learner.d.ts +47 -0
- package/public/automation/pattern-learner.d.ts.map +1 -0
- package/public/automation/pattern-learner.js +192 -0
- package/public/automation/pattern-learner.js.map +1 -0
- package/public/automation/pattern-matcher.d.ts +86 -0
- package/public/automation/pattern-matcher.d.ts.map +1 -0
- package/public/automation/pattern-matcher.js +215 -0
- package/public/automation/pattern-matcher.js.map +1 -0
- package/public/automation/pattern-store.d.ts +32 -0
- package/public/automation/pattern-store.d.ts.map +1 -0
- package/public/automation/pattern-store.js +97 -0
- package/public/automation/pattern-store.js.map +1 -0
- package/public/automation/ticket-creator.d.ts +54 -0
- package/public/automation/ticket-creator.d.ts.map +1 -0
- package/public/automation/ticket-creator.js +267 -0
- package/public/automation/ticket-creator.js.map +1 -0
- package/public/automation/types.d.ts +96 -0
- package/public/automation/types.d.ts.map +1 -0
- package/public/automation/types.js +7 -0
- package/public/automation/types.js.map +1 -0
- package/public/batch/batch-execute.d.ts +88 -0
- package/public/batch/batch-execute.d.ts.map +1 -0
- package/public/batch/batch-execute.js +182 -0
- package/public/batch/batch-execute.js.map +1 -0
- package/public/batch/batch-sync.d.ts +46 -0
- package/public/batch/batch-sync.d.ts.map +1 -0
- package/public/batch/batch-sync.js +83 -0
- package/public/batch/batch-sync.js.map +1 -0
- package/public/cache/cache.d.ts +65 -0
- package/public/cache/cache.d.ts.map +1 -0
- package/public/cache/cache.js +198 -0
- package/public/cache/cache.js.map +1 -0
- package/public/cache/etag.d.ts +51 -0
- package/public/cache/etag.d.ts.map +1 -0
- package/public/cache/etag.js +108 -0
- package/public/cache/etag.js.map +1 -0
- package/public/ci/github-sync.d.ts +92 -0
- package/public/ci/github-sync.d.ts.map +1 -0
- package/public/ci/github-sync.js +166 -0
- package/public/ci/github-sync.js.map +1 -0
- package/public/cli/commands/agent-instruct.d.ts +8 -0
- package/public/cli/commands/agent-instruct.d.ts.map +1 -0
- package/public/cli/commands/agent-instruct.js +138 -0
- package/public/cli/commands/agent-instruct.js.map +1 -0
- package/public/cli/commands/assign-to-cursor.d.ts +8 -0
- package/public/cli/commands/assign-to-cursor.d.ts.map +1 -0
- package/public/cli/commands/assign-to-cursor.js +84 -0
- package/public/cli/commands/assign-to-cursor.js.map +1 -0
- package/public/cli/commands/assign.d.ts +8 -0
- package/public/cli/commands/assign.d.ts.map +1 -0
- package/public/cli/commands/assign.js +84 -0
- package/public/cli/commands/assign.js.map +1 -0
- package/public/cli/commands/auth-check.d.ts +8 -0
- package/public/cli/commands/auth-check.d.ts.map +1 -0
- package/public/cli/commands/auth-check.js +72 -0
- package/public/cli/commands/auth-check.js.map +1 -0
- package/public/cli/commands/autoplay.d.ts +3 -0
- package/public/cli/commands/autoplay.d.ts.map +1 -0
- package/public/cli/commands/autoplay.js +188 -0
- package/public/cli/commands/autoplay.js.map +1 -0
- package/public/cli/commands/batch.d.ts +8 -0
- package/public/cli/commands/batch.d.ts.map +1 -0
- package/public/cli/commands/batch.js +125 -0
- package/public/cli/commands/batch.js.map +1 -0
- package/public/cli/commands/bug-tix.d.ts +9 -0
- package/public/cli/commands/bug-tix.d.ts.map +1 -0
- package/public/cli/commands/bug-tix.js +306 -0
- package/public/cli/commands/bug-tix.js.map +1 -0
- package/public/cli/commands/bugs-create-jira.d.ts +8 -0
- package/public/cli/commands/bugs-create-jira.d.ts.map +1 -0
- package/public/cli/commands/bugs-create-jira.js +113 -0
- package/public/cli/commands/bugs-create-jira.js.map +1 -0
- package/public/cli/commands/bugs-ls.d.ts +8 -0
- package/public/cli/commands/bugs-ls.d.ts.map +1 -0
- package/public/cli/commands/bugs-ls.js +63 -0
- package/public/cli/commands/bugs-ls.js.map +1 -0
- package/public/cli/commands/bugs-open.d.ts +8 -0
- package/public/cli/commands/bugs-open.d.ts.map +1 -0
- package/public/cli/commands/bugs-open.js +69 -0
- package/public/cli/commands/bugs-open.js.map +1 -0
- package/public/cli/commands/bugs-sync.d.ts +8 -0
- package/public/cli/commands/bugs-sync.d.ts.map +1 -0
- package/public/cli/commands/bugs-sync.js +76 -0
- package/public/cli/commands/bugs-sync.js.map +1 -0
- package/public/cli/commands/check-permissions.d.ts +9 -0
- package/public/cli/commands/check-permissions.d.ts.map +1 -0
- package/public/cli/commands/check-permissions.js +180 -0
- package/public/cli/commands/check-permissions.js.map +1 -0
- package/public/cli/commands/check-statuses.d.ts +8 -0
- package/public/cli/commands/check-statuses.d.ts.map +1 -0
- package/public/cli/commands/check-statuses.js +58 -0
- package/public/cli/commands/check-statuses.js.map +1 -0
- package/public/cli/commands/ci-sync.d.ts +8 -0
- package/public/cli/commands/ci-sync.d.ts.map +1 -0
- package/public/cli/commands/ci-sync.js +45 -0
- package/public/cli/commands/ci-sync.js.map +1 -0
- package/public/cli/commands/clone-project.d.ts +11 -0
- package/public/cli/commands/clone-project.d.ts.map +1 -0
- package/public/cli/commands/clone-project.js +139 -0
- package/public/cli/commands/clone-project.js.map +1 -0
- package/public/cli/commands/cloud-projects.d.ts +9 -0
- package/public/cli/commands/cloud-projects.d.ts.map +1 -0
- package/public/cli/commands/cloud-projects.js +164 -0
- package/public/cli/commands/cloud-projects.js.map +1 -0
- package/public/cli/commands/comment.d.ts +8 -0
- package/public/cli/commands/comment.d.ts.map +1 -0
- package/public/cli/commands/comment.js +64 -0
- package/public/cli/commands/comment.js.map +1 -0
- package/public/cli/commands/config-test.d.ts +10 -0
- package/public/cli/commands/config-test.d.ts.map +1 -0
- package/public/cli/commands/config-test.js +92 -0
- package/public/cli/commands/config-test.js.map +1 -0
- package/public/cli/commands/create-board.d.ts +8 -0
- package/public/cli/commands/create-board.d.ts.map +1 -0
- package/public/cli/commands/create-board.js +84 -0
- package/public/cli/commands/create-board.js.map +1 -0
- package/public/cli/commands/create-bug.d.ts +8 -0
- package/public/cli/commands/create-bug.d.ts.map +1 -0
- package/public/cli/commands/create-bug.js +33 -0
- package/public/cli/commands/create-bug.js.map +1 -0
- package/public/cli/commands/create-epic.d.ts +8 -0
- package/public/cli/commands/create-epic.d.ts.map +1 -0
- package/public/cli/commands/create-epic.js +31 -0
- package/public/cli/commands/create-epic.js.map +1 -0
- package/public/cli/commands/create-label.d.ts +8 -0
- package/public/cli/commands/create-label.d.ts.map +1 -0
- package/public/cli/commands/create-label.js +48 -0
- package/public/cli/commands/create-label.js.map +1 -0
- package/public/cli/commands/create-story.d.ts +8 -0
- package/public/cli/commands/create-story.d.ts.map +1 -0
- package/public/cli/commands/create-story.js +33 -0
- package/public/cli/commands/create-story.js.map +1 -0
- package/public/cli/commands/create-task-folder.d.ts +8 -0
- package/public/cli/commands/create-task-folder.d.ts.map +1 -0
- package/public/cli/commands/create-task-folder.js +45 -0
- package/public/cli/commands/create-task-folder.js.map +1 -0
- package/public/cli/commands/create-ticket.d.ts +32 -0
- package/public/cli/commands/create-ticket.d.ts.map +1 -0
- package/public/cli/commands/create-ticket.js +610 -0
- package/public/cli/commands/create-ticket.js.map +1 -0
- package/public/cli/commands/env-check.d.ts +8 -0
- package/public/cli/commands/env-check.d.ts.map +1 -0
- package/public/cli/commands/env-check.js +131 -0
- package/public/cli/commands/env-check.js.map +1 -0
- package/public/cli/commands/env-debug.d.ts +8 -0
- package/public/cli/commands/env-debug.d.ts.map +1 -0
- package/public/cli/commands/env-debug.js +169 -0
- package/public/cli/commands/env-debug.js.map +1 -0
- package/public/cli/commands/execute.d.ts +9 -0
- package/public/cli/commands/execute.d.ts.map +1 -0
- package/public/cli/commands/execute.js +97 -0
- package/public/cli/commands/execute.js.map +1 -0
- package/public/cli/commands/export.d.ts +8 -0
- package/public/cli/commands/export.d.ts.map +1 -0
- package/public/cli/commands/export.js +126 -0
- package/public/cli/commands/export.js.map +1 -0
- package/public/cli/commands/go.d.ts +15 -0
- package/public/cli/commands/go.d.ts.map +1 -0
- package/public/cli/commands/go.js +326 -0
- package/public/cli/commands/go.js.map +1 -0
- package/public/cli/commands/health-check.d.ts +8 -0
- package/public/cli/commands/health-check.d.ts.map +1 -0
- package/public/cli/commands/health-check.js +209 -0
- package/public/cli/commands/health-check.js.map +1 -0
- package/public/cli/commands/import-template.d.ts +8 -0
- package/public/cli/commands/import-template.d.ts.map +1 -0
- package/public/cli/commands/import-template.js +98 -0
- package/public/cli/commands/import-template.js.map +1 -0
- package/public/cli/commands/init-repo.d.ts +8 -0
- package/public/cli/commands/init-repo.d.ts.map +1 -0
- package/public/cli/commands/init-repo.js +112 -0
- package/public/cli/commands/init-repo.js.map +1 -0
- package/public/cli/commands/interactive.d.ts +11 -0
- package/public/cli/commands/interactive.d.ts.map +1 -0
- package/public/cli/commands/interactive.js +124 -0
- package/public/cli/commands/interactive.js.map +1 -0
- package/public/cli/commands/jm-status.d.ts +8 -0
- package/public/cli/commands/jm-status.d.ts.map +1 -0
- package/public/cli/commands/jm-status.js +81 -0
- package/public/cli/commands/jm-status.js.map +1 -0
- package/public/cli/commands/list-jira-projects.d.ts +12 -0
- package/public/cli/commands/list-jira-projects.d.ts.map +1 -0
- package/public/cli/commands/list-jira-projects.js +109 -0
- package/public/cli/commands/list-jira-projects.js.map +1 -0
- package/public/cli/commands/list-tickets.d.ts +9 -0
- package/public/cli/commands/list-tickets.d.ts.map +1 -0
- package/public/cli/commands/list-tickets.js +73 -0
- package/public/cli/commands/list-tickets.js.map +1 -0
- package/public/cli/commands/ls-issues.d.ts +14 -0
- package/public/cli/commands/ls-issues.d.ts.map +1 -0
- package/public/cli/commands/ls-issues.js +54 -0
- package/public/cli/commands/ls-issues.js.map +1 -0
- package/public/cli/commands/ls-projects.d.ts +10 -0
- package/public/cli/commands/ls-projects.d.ts.map +1 -0
- package/public/cli/commands/ls-projects.js +14 -0
- package/public/cli/commands/ls-projects.js.map +1 -0
- package/public/cli/commands/my-tickets.d.ts +8 -0
- package/public/cli/commands/my-tickets.d.ts.map +1 -0
- package/public/cli/commands/my-tickets.js +96 -0
- package/public/cli/commands/my-tickets.js.map +1 -0
- package/public/cli/commands/orc-go.d.ts +3 -0
- package/public/cli/commands/orc-go.d.ts.map +1 -0
- package/public/cli/commands/orc-go.js +272 -0
- package/public/cli/commands/orc-go.js.map +1 -0
- package/public/cli/commands/orc-notes-get.d.ts +3 -0
- package/public/cli/commands/orc-notes-get.d.ts.map +1 -0
- package/public/cli/commands/orc-notes-get.js +78 -0
- package/public/cli/commands/orc-notes-get.js.map +1 -0
- package/public/cli/commands/orc-notes-go.d.ts +3 -0
- package/public/cli/commands/orc-notes-go.d.ts.map +1 -0
- package/public/cli/commands/orc-notes-go.js +182 -0
- package/public/cli/commands/orc-notes-go.js.map +1 -0
- package/public/cli/commands/orc-notes-status.d.ts +3 -0
- package/public/cli/commands/orc-notes-status.d.ts.map +1 -0
- package/public/cli/commands/orc-notes-status.js +89 -0
- package/public/cli/commands/orc-notes-status.js.map +1 -0
- package/public/cli/commands/plan-ticket.d.ts +8 -0
- package/public/cli/commands/plan-ticket.d.ts.map +1 -0
- package/public/cli/commands/plan-ticket.js +61 -0
- package/public/cli/commands/plan-ticket.js.map +1 -0
- package/public/cli/commands/process-bugs.d.ts +8 -0
- package/public/cli/commands/process-bugs.d.ts.map +1 -0
- package/public/cli/commands/process-bugs.js +106 -0
- package/public/cli/commands/process-bugs.js.map +1 -0
- package/public/cli/commands/project-config.d.ts +8 -0
- package/public/cli/commands/project-config.d.ts.map +1 -0
- package/public/cli/commands/project-config.js +172 -0
- package/public/cli/commands/project-config.js.map +1 -0
- package/public/cli/commands/project-info.d.ts +8 -0
- package/public/cli/commands/project-info.d.ts.map +1 -0
- package/public/cli/commands/project-info.js +289 -0
- package/public/cli/commands/project-info.js.map +1 -0
- package/public/cli/commands/project-link-repo.d.ts +8 -0
- package/public/cli/commands/project-link-repo.d.ts.map +1 -0
- package/public/cli/commands/project-link-repo.js +95 -0
- package/public/cli/commands/project-link-repo.js.map +1 -0
- package/public/cli/commands/project-list.d.ts +8 -0
- package/public/cli/commands/project-list.d.ts.map +1 -0
- package/public/cli/commands/project-list.js +44 -0
- package/public/cli/commands/project-list.js.map +1 -0
- package/public/cli/commands/queue.d.ts +8 -0
- package/public/cli/commands/queue.d.ts.map +1 -0
- package/public/cli/commands/queue.js +106 -0
- package/public/cli/commands/queue.js.map +1 -0
- package/public/cli/commands/quick-sync.d.ts +8 -0
- package/public/cli/commands/quick-sync.d.ts.map +1 -0
- package/public/cli/commands/quick-sync.js +105 -0
- package/public/cli/commands/quick-sync.js.map +1 -0
- package/public/cli/commands/replit-test-webhook.d.ts +8 -0
- package/public/cli/commands/replit-test-webhook.d.ts.map +1 -0
- package/public/cli/commands/replit-test-webhook.js +123 -0
- package/public/cli/commands/replit-test-webhook.js.map +1 -0
- package/public/cli/commands/report.d.ts +8 -0
- package/public/cli/commands/report.d.ts.map +1 -0
- package/public/cli/commands/report.js +86 -0
- package/public/cli/commands/report.js.map +1 -0
- package/public/cli/commands/search.d.ts +9 -0
- package/public/cli/commands/search.d.ts.map +1 -0
- package/public/cli/commands/search.js +87 -0
- package/public/cli/commands/search.js.map +1 -0
- package/public/cli/commands/setup-cursor-board.d.ts +8 -0
- package/public/cli/commands/setup-cursor-board.d.ts.map +1 -0
- package/public/cli/commands/setup-cursor-board.js +72 -0
- package/public/cli/commands/setup-cursor-board.js.map +1 -0
- package/public/cli/commands/show-issue.d.ts +8 -0
- package/public/cli/commands/show-issue.d.ts.map +1 -0
- package/public/cli/commands/show-issue.js +71 -0
- package/public/cli/commands/show-issue.js.map +1 -0
- package/public/cli/commands/start-work.d.ts +12 -0
- package/public/cli/commands/start-work.d.ts.map +1 -0
- package/public/cli/commands/start-work.js +281 -0
- package/public/cli/commands/start-work.js.map +1 -0
- package/public/cli/commands/start.d.ts +3 -0
- package/public/cli/commands/start.d.ts.map +1 -0
- package/public/cli/commands/start.js +127 -0
- package/public/cli/commands/start.js.map +1 -0
- package/public/cli/commands/status.d.ts +13 -0
- package/public/cli/commands/status.d.ts.map +1 -0
- package/public/cli/commands/status.js +175 -0
- package/public/cli/commands/status.js.map +1 -0
- package/public/cli/commands/sync-acceptance.d.ts +8 -0
- package/public/cli/commands/sync-acceptance.d.ts.map +1 -0
- package/public/cli/commands/sync-acceptance.js +167 -0
- package/public/cli/commands/sync-acceptance.js.map +1 -0
- package/public/cli/commands/sync-fields.d.ts +8 -0
- package/public/cli/commands/sync-fields.d.ts.map +1 -0
- package/public/cli/commands/sync-fields.js +71 -0
- package/public/cli/commands/sync-fields.js.map +1 -0
- package/public/cli/commands/sync-tickets.d.ts +8 -0
- package/public/cli/commands/sync-tickets.d.ts.map +1 -0
- package/public/cli/commands/sync-tickets.js +203 -0
- package/public/cli/commands/sync-tickets.js.map +1 -0
- package/public/cli/commands/test-workflow.d.ts +8 -0
- package/public/cli/commands/test-workflow.d.ts.map +1 -0
- package/public/cli/commands/test-workflow.js +205 -0
- package/public/cli/commands/test-workflow.js.map +1 -0
- package/public/cli/commands/tickets-list.d.ts +8 -0
- package/public/cli/commands/tickets-list.d.ts.map +1 -0
- package/public/cli/commands/tickets-list.js +346 -0
- package/public/cli/commands/tickets-list.js.map +1 -0
- package/public/cli/commands/transition.d.ts +8 -0
- package/public/cli/commands/transition.d.ts.map +1 -0
- package/public/cli/commands/transition.js +112 -0
- package/public/cli/commands/transition.js.map +1 -0
- package/public/cli/commands/validate-branch.d.ts +5 -0
- package/public/cli/commands/validate-branch.d.ts.map +1 -0
- package/public/cli/commands/validate-branch.js +35 -0
- package/public/cli/commands/validate-branch.js.map +1 -0
- package/public/cli/commands/validate-commit.d.ts +5 -0
- package/public/cli/commands/validate-commit.d.ts.map +1 -0
- package/public/cli/commands/validate-commit.js +38 -0
- package/public/cli/commands/validate-commit.js.map +1 -0
- package/public/cli/commands/watch-bugs.d.ts +8 -0
- package/public/cli/commands/watch-bugs.d.ts.map +1 -0
- package/public/cli/commands/watch-bugs.js +61 -0
- package/public/cli/commands/watch-bugs.js.map +1 -0
- package/public/cli/commands/watch.d.ts +12 -0
- package/public/cli/commands/watch.d.ts.map +1 -0
- package/public/cli/commands/watch.js +193 -0
- package/public/cli/commands/watch.js.map +1 -0
- package/public/cli/commands/webhooks-debug.d.ts +3 -0
- package/public/cli/commands/webhooks-debug.d.ts.map +1 -0
- package/public/cli/commands/webhooks-debug.js +209 -0
- package/public/cli/commands/webhooks-debug.js.map +1 -0
- package/public/cli/commands/workflow.d.ts +8 -0
- package/public/cli/commands/workflow.d.ts.map +1 -0
- package/public/cli/commands/workflow.js +67 -0
- package/public/cli/commands/workflow.js.map +1 -0
- package/public/cli/index.d.ts +7 -0
- package/public/cli/index.d.ts.map +1 -0
- package/public/cli/index.js +375 -0
- package/public/cli/index.js.map +1 -0
- package/public/cli/orchestrator.d.ts +10 -0
- package/public/cli/orchestrator.d.ts.map +1 -0
- package/public/cli/orchestrator.js +183 -0
- package/public/cli/orchestrator.js.map +1 -0
- package/public/cli/project-list.d.ts +9 -0
- package/public/cli/project-list.d.ts.map +1 -0
- package/public/cli/project-list.js +37 -0
- package/public/cli/project-list.js.map +1 -0
- package/public/cli/utils/auth-helper.d.ts +28 -0
- package/public/cli/utils/auth-helper.d.ts.map +1 -0
- package/public/cli/utils/auth-helper.js +83 -0
- package/public/cli/utils/auth-helper.js.map +1 -0
- package/public/cli/utils/get-cli-client.d.ts +13 -0
- package/public/cli/utils/get-cli-client.d.ts.map +1 -0
- package/public/cli/utils/get-cli-client.js +81 -0
- package/public/cli/utils/get-cli-client.js.map +1 -0
- package/public/cli/utils/oauth-cli-helper.d.ts +32 -0
- package/public/cli/utils/oauth-cli-helper.d.ts.map +1 -0
- package/public/cli/utils/oauth-cli-helper.js +226 -0
- package/public/cli/utils/oauth-cli-helper.js.map +1 -0
- package/public/cli/utils/session-reader.d.ts +14 -0
- package/public/cli/utils/session-reader.d.ts.map +1 -0
- package/public/cli/utils/session-reader.js +48 -0
- package/public/cli/utils/session-reader.js.map +1 -0
- package/public/cli/utils/table.d.ts +35 -0
- package/public/cli/utils/table.d.ts.map +1 -0
- package/public/cli/utils/table.js +179 -0
- package/public/cli/utils/table.js.map +1 -0
- package/public/client/errors.d.ts +63 -0
- package/public/client/errors.d.ts.map +1 -0
- package/public/client/errors.js +219 -0
- package/public/client/errors.js.map +1 -0
- package/public/client/jira-client.d.ts +153 -0
- package/public/client/jira-client.d.ts.map +1 -0
- package/public/client/jira-client.js +636 -0
- package/public/client/jira-client.js.map +1 -0
- package/public/client/jira-debug.d.ts +27 -0
- package/public/client/jira-debug.d.ts.map +1 -0
- package/public/client/jira-debug.js +63 -0
- package/public/client/jira-debug.js.map +1 -0
- package/public/client/jira-errors.d.ts +26 -0
- package/public/client/jira-errors.d.ts.map +1 -0
- package/public/client/jira-errors.js +46 -0
- package/public/client/jira-errors.js.map +1 -0
- package/public/client/jira-sprint.d.ts +39 -0
- package/public/client/jira-sprint.d.ts.map +1 -0
- package/public/client/jira-sprint.js +187 -0
- package/public/client/jira-sprint.js.map +1 -0
- package/public/client/jira-user.d.ts +43 -0
- package/public/client/jira-user.d.ts.map +1 -0
- package/public/client/jira-user.js +96 -0
- package/public/client/jira-user.js.map +1 -0
- package/public/client/resolve-reporter.d.ts +27 -0
- package/public/client/resolve-reporter.d.ts.map +1 -0
- package/public/client/resolve-reporter.js +54 -0
- package/public/client/resolve-reporter.js.map +1 -0
- package/public/client/ticket-mate-client.d.ts +202 -0
- package/public/client/ticket-mate-client.d.ts.map +1 -0
- package/public/client/ticket-mate-client.js +280 -0
- package/public/client/ticket-mate-client.js.map +1 -0
- package/public/components/keyboard/CommandPalette.d.ts +2 -0
- package/public/components/keyboard/CommandPalette.d.ts.map +1 -0
- package/public/components/keyboard/CommandPalette.js +123 -0
- package/public/components/keyboard/CommandPalette.js.map +1 -0
- package/public/components/keyboard/GlobalShortcuts.d.ts +2 -0
- package/public/components/keyboard/GlobalShortcuts.d.ts.map +1 -0
- package/public/components/keyboard/GlobalShortcuts.js +32 -0
- package/public/components/keyboard/GlobalShortcuts.js.map +1 -0
- package/public/config/auth-mode.d.ts +38 -0
- package/public/config/auth-mode.d.ts.map +1 -0
- package/public/config/auth-mode.js +125 -0
- package/public/config/auth-mode.js.map +1 -0
- package/public/config/config-loader.d.ts +142 -0
- package/public/config/config-loader.d.ts.map +1 -0
- package/public/config/config-loader.js +247 -0
- package/public/config/config-loader.js.map +1 -0
- package/public/config/config-wizard.d.ts +58 -0
- package/public/config/config-wizard.d.ts.map +1 -0
- package/public/config/config-wizard.js +147 -0
- package/public/config/config-wizard.js.map +1 -0
- package/public/config/config.d.ts +79 -0
- package/public/config/config.d.ts.map +1 -0
- package/public/config/config.js +462 -0
- package/public/config/config.js.map +1 -0
- package/public/config/jira-mate-config.types.d.ts +27 -0
- package/public/config/jira-mate-config.types.d.ts.map +1 -0
- package/public/config/jira-mate-config.types.js +7 -0
- package/public/config/jira-mate-config.types.js.map +1 -0
- package/public/config/jira-pat-config.d.ts +44 -0
- package/public/config/jira-pat-config.d.ts.map +1 -0
- package/public/config/jira-pat-config.js +78 -0
- package/public/config/jira-pat-config.js.map +1 -0
- package/public/config/jiraConnection.d.ts +81 -0
- package/public/config/jiraConnection.d.ts.map +1 -0
- package/public/config/jiraConnection.js +207 -0
- package/public/config/jiraConnection.js.map +1 -0
- package/public/config/jiraCredentials.d.ts +20 -0
- package/public/config/jiraCredentials.d.ts.map +1 -0
- package/public/config/jiraCredentials.js +35 -0
- package/public/config/jiraCredentials.js.map +1 -0
- package/public/config/jiraProject.d.ts +32 -0
- package/public/config/jiraProject.d.ts.map +1 -0
- package/public/config/jiraProject.js +72 -0
- package/public/config/jiraProject.js.map +1 -0
- package/public/config/loadJiraMateConfig.d.ts +24 -0
- package/public/config/loadJiraMateConfig.d.ts.map +1 -0
- package/public/config/loadJiraMateConfig.js +100 -0
- package/public/config/loadJiraMateConfig.js.map +1 -0
- package/public/config/pricing.d.ts +65 -0
- package/public/config/pricing.d.ts.map +1 -0
- package/public/config/pricing.js +166 -0
- package/public/config/pricing.js.map +1 -0
- package/public/config/project-mapping.d.ts +36 -0
- package/public/config/project-mapping.d.ts.map +1 -0
- package/public/config/project-mapping.js +136 -0
- package/public/config/project-mapping.js.map +1 -0
- package/public/config/project-store.d.ts +35 -0
- package/public/config/project-store.d.ts.map +1 -0
- package/public/config/project-store.js +99 -0
- package/public/config/project-store.js.map +1 -0
- package/public/config/scanMonorepo.d.ts +23 -0
- package/public/config/scanMonorepo.d.ts.map +1 -0
- package/public/config/scanMonorepo.js +96 -0
- package/public/config/scanMonorepo.js.map +1 -0
- package/public/config/ticket-mate-config.types.d.ts +139 -0
- package/public/config/ticket-mate-config.types.d.ts.map +1 -0
- package/public/config/ticket-mate-config.types.js +8 -0
- package/public/config/ticket-mate-config.types.js.map +1 -0
- package/public/diff/diff-engine.d.ts +40 -0
- package/public/diff/diff-engine.d.ts.map +1 -0
- package/public/diff/diff-engine.js +222 -0
- package/public/diff/diff-engine.js.map +1 -0
- package/public/export/export.d.ts +67 -0
- package/public/export/export.d.ts.map +1 -0
- package/public/export/export.js +208 -0
- package/public/export/export.js.map +1 -0
- package/public/fast-tasks/index.d.ts +3 -0
- package/public/fast-tasks/index.d.ts.map +1 -0
- package/public/fast-tasks/index.js +3 -0
- package/public/fast-tasks/index.js.map +1 -0
- package/public/fast-tasks/storage.d.ts +38 -0
- package/public/fast-tasks/storage.d.ts.map +1 -0
- package/public/fast-tasks/storage.js +126 -0
- package/public/fast-tasks/storage.js.map +1 -0
- package/public/fast-tasks/types.d.ts +47 -0
- package/public/fast-tasks/types.d.ts.map +1 -0
- package/public/fast-tasks/types.js +7 -0
- package/public/fast-tasks/types.js.map +1 -0
- package/public/fields/field-generators.d.ts +33 -0
- package/public/fields/field-generators.d.ts.map +1 -0
- package/public/fields/field-generators.js +162 -0
- package/public/fields/field-generators.js.map +1 -0
- package/public/fields/field-mapper.d.ts +87 -0
- package/public/fields/field-mapper.d.ts.map +1 -0
- package/public/fields/field-mapper.js +231 -0
- package/public/fields/field-mapper.js.map +1 -0
- package/public/fields/field-sync.d.ts +45 -0
- package/public/fields/field-sync.d.ts.map +1 -0
- package/public/fields/field-sync.js +98 -0
- package/public/fields/field-sync.js.map +1 -0
- package/public/fields/index.d.ts +9 -0
- package/public/fields/index.d.ts.map +1 -0
- package/public/fields/index.js +9 -0
- package/public/fields/index.js.map +1 -0
- package/public/fields/llm-generator.d.ts +28 -0
- package/public/fields/llm-generator.d.ts.map +1 -0
- package/public/fields/llm-generator.js +90 -0
- package/public/fields/llm-generator.js.map +1 -0
- package/public/git/branch-generator.d.ts +40 -0
- package/public/git/branch-generator.d.ts.map +1 -0
- package/public/git/branch-generator.js +93 -0
- package/public/git/branch-generator.js.map +1 -0
- package/public/git/branch-validation.d.ts +28 -0
- package/public/git/branch-validation.d.ts.map +1 -0
- package/public/git/branch-validation.js +97 -0
- package/public/git/branch-validation.js.map +1 -0
- package/public/git/commit-validation.d.ts +32 -0
- package/public/git/commit-validation.d.ts.map +1 -0
- package/public/git/commit-validation.js +90 -0
- package/public/git/commit-validation.js.map +1 -0
- package/public/import/import.d.ts +49 -0
- package/public/import/import.d.ts.map +1 -0
- package/public/import/import.js +193 -0
- package/public/import/import.js.map +1 -0
- package/public/index.d.ts +120 -0
- package/public/index.d.ts.map +1 -0
- package/public/index.js +161 -0
- package/public/index.js.map +1 -0
- package/public/instrumentation.d.ts +8 -0
- package/public/instrumentation.d.ts.map +1 -0
- package/public/instrumentation.js +14 -0
- package/public/instrumentation.js.map +1 -0
- package/public/integrations/orchestrator-client.d.ts +69 -0
- package/public/integrations/orchestrator-client.d.ts.map +1 -0
- package/public/integrations/orchestrator-client.js +151 -0
- package/public/integrations/orchestrator-client.js.map +1 -0
- package/public/integrations/orchestrator-work-trigger.d.ts +54 -0
- package/public/integrations/orchestrator-work-trigger.d.ts.map +1 -0
- package/public/integrations/orchestrator-work-trigger.js +184 -0
- package/public/integrations/orchestrator-work-trigger.js.map +1 -0
- package/public/jira/jiraClient.d.ts +19 -0
- package/public/jira/jiraClient.d.ts.map +1 -0
- package/public/jira/jiraClient.js +144 -0
- package/public/jira/jiraClient.js.map +1 -0
- package/public/jira-management/boards.d.ts +80 -0
- package/public/jira-management/boards.d.ts.map +1 -0
- package/public/jira-management/boards.js +306 -0
- package/public/jira-management/boards.js.map +1 -0
- package/public/jira-management/cursor-board.d.ts +37 -0
- package/public/jira-management/cursor-board.d.ts.map +1 -0
- package/public/jira-management/cursor-board.js +222 -0
- package/public/jira-management/cursor-board.js.map +1 -0
- package/public/jira-management/custom-fields.d.ts +32 -0
- package/public/jira-management/custom-fields.d.ts.map +1 -0
- package/public/jira-management/custom-fields.js +94 -0
- package/public/jira-management/custom-fields.js.map +1 -0
- package/public/jira-management/epics.d.ts +25 -0
- package/public/jira-management/epics.d.ts.map +1 -0
- package/public/jira-management/epics.js +98 -0
- package/public/jira-management/epics.js.map +1 -0
- package/public/jira-management/index.d.ts +19 -0
- package/public/jira-management/index.d.ts.map +1 -0
- package/public/jira-management/index.js +19 -0
- package/public/jira-management/index.js.map +1 -0
- package/public/jira-management/labels.d.ts +35 -0
- package/public/jira-management/labels.d.ts.map +1 -0
- package/public/jira-management/labels.js +153 -0
- package/public/jira-management/labels.js.map +1 -0
- package/public/jira-management/project-templates.d.ts +48 -0
- package/public/jira-management/project-templates.d.ts.map +1 -0
- package/public/jira-management/project-templates.js +120 -0
- package/public/jira-management/project-templates.js.map +1 -0
- package/public/jira-management/projects.d.ts +45 -0
- package/public/jira-management/projects.d.ts.map +1 -0
- package/public/jira-management/projects.js +127 -0
- package/public/jira-management/projects.js.map +1 -0
- package/public/jira-management/statuses.d.ts +46 -0
- package/public/jira-management/statuses.d.ts.map +1 -0
- package/public/jira-management/statuses.js +116 -0
- package/public/jira-management/statuses.js.map +1 -0
- package/public/jira-management/templates.d.ts +68 -0
- package/public/jira-management/templates.d.ts.map +1 -0
- package/public/jira-management/templates.js +244 -0
- package/public/jira-management/templates.js.map +1 -0
- package/public/jira-management/workflow-columns.d.ts +43 -0
- package/public/jira-management/workflow-columns.d.ts.map +1 -0
- package/public/jira-management/workflow-columns.js +195 -0
- package/public/jira-management/workflow-columns.js.map +1 -0
- package/public/jira-notes/index.d.ts +3 -0
- package/public/jira-notes/index.d.ts.map +1 -0
- package/public/jira-notes/index.js +5 -0
- package/public/jira-notes/index.js.map +1 -0
- package/public/jira-notes/lib/jiraNotesClient.d.ts +18 -0
- package/public/jira-notes/lib/jiraNotesClient.d.ts.map +1 -0
- package/public/jira-notes/lib/jiraNotesClient.js +61 -0
- package/public/jira-notes/lib/jiraNotesClient.js.map +1 -0
- package/public/jira-notes/lib/jiraNotesTypes.d.ts +28 -0
- package/public/jira-notes/lib/jiraNotesTypes.d.ts.map +1 -0
- package/public/jira-notes/lib/jiraNotesTypes.js +2 -0
- package/public/jira-notes/lib/jiraNotesTypes.js.map +1 -0
- package/public/lib/ai/ai-errors.d.ts +49 -0
- package/public/lib/ai/ai-errors.d.ts.map +1 -0
- package/public/lib/ai/ai-errors.js +115 -0
- package/public/lib/ai/ai-errors.js.map +1 -0
- package/public/lib/ai/llmRouter.d.ts +56 -0
- package/public/lib/ai/llmRouter.d.ts.map +1 -0
- package/public/lib/ai/llmRouter.js +190 -0
- package/public/lib/ai/llmRouter.js.map +1 -0
- package/public/lib/ai/models.d.ts +56 -0
- package/public/lib/ai/models.d.ts.map +1 -0
- package/public/lib/ai/models.js +84 -0
- package/public/lib/ai/models.js.map +1 -0
- package/public/lib/ai/openaiClient.d.ts +31 -0
- package/public/lib/ai/openaiClient.d.ts.map +1 -0
- package/public/lib/ai/openaiClient.js +92 -0
- package/public/lib/ai/openaiClient.js.map +1 -0
- package/public/lib/ai/planLimits.d.ts +43 -0
- package/public/lib/ai/planLimits.d.ts.map +1 -0
- package/public/lib/ai/planLimits.js +154 -0
- package/public/lib/ai/planLimits.js.map +1 -0
- package/public/lib/ai/priceConfig.d.ts +53 -0
- package/public/lib/ai/priceConfig.d.ts.map +1 -0
- package/public/lib/ai/priceConfig.js +111 -0
- package/public/lib/ai/priceConfig.js.map +1 -0
- package/public/lib/ai/provider.d.ts +63 -0
- package/public/lib/ai/provider.d.ts.map +1 -0
- package/public/lib/ai/provider.js +199 -0
- package/public/lib/ai/provider.js.map +1 -0
- package/public/lib/ai/replitClient.d.ts +44 -0
- package/public/lib/ai/replitClient.d.ts.map +1 -0
- package/public/lib/ai/replitClient.js +88 -0
- package/public/lib/ai/replitClient.js.map +1 -0
- package/public/lib/ai/usageLogger.d.ts +30 -0
- package/public/lib/ai/usageLogger.d.ts.map +1 -0
- package/public/lib/ai/usageLogger.js +113 -0
- package/public/lib/ai/usageLogger.js.map +1 -0
- package/public/lib/auth/debug.d.ts +3 -0
- package/public/lib/auth/debug.d.ts.map +1 -0
- package/public/lib/auth/debug.js +12 -0
- package/public/lib/auth/debug.js.map +1 -0
- package/public/lib/auth/index.d.ts +2 -0
- package/public/lib/auth/index.d.ts.map +1 -0
- package/public/lib/auth/index.js +2 -0
- package/public/lib/auth/index.js.map +1 -0
- package/public/lib/auth/options.d.ts +16 -0
- package/public/lib/auth/options.d.ts.map +1 -0
- package/public/lib/auth/options.js +893 -0
- package/public/lib/auth/options.js.map +1 -0
- package/public/lib/auth/requireAuthPage.d.ts +23 -0
- package/public/lib/auth/requireAuthPage.d.ts.map +1 -0
- package/public/lib/auth/requireAuthPage.js +33 -0
- package/public/lib/auth/requireAuthPage.js.map +1 -0
- package/public/lib/auth/superadmin.d.ts +20 -0
- package/public/lib/auth/superadmin.d.ts.map +1 -0
- package/public/lib/auth/superadmin.js +40 -0
- package/public/lib/auth/superadmin.js.map +1 -0
- package/public/lib/auth/token-mutex.d.ts +20 -0
- package/public/lib/auth/token-mutex.d.ts.map +1 -0
- package/public/lib/auth/token-mutex.js +36 -0
- package/public/lib/auth/token-mutex.js.map +1 -0
- package/public/lib/automation/engine.d.ts +12 -0
- package/public/lib/automation/engine.d.ts.map +1 -0
- package/public/lib/automation/engine.js +150 -0
- package/public/lib/automation/engine.js.map +1 -0
- package/public/lib/dashboard-widgets.d.ts +22 -0
- package/public/lib/dashboard-widgets.d.ts.map +1 -0
- package/public/lib/dashboard-widgets.js +99 -0
- package/public/lib/dashboard-widgets.js.map +1 -0
- package/public/lib/data/templates/index.d.ts +16 -0
- package/public/lib/data/templates/index.d.ts.map +1 -0
- package/public/lib/data/templates/index.js +37 -0
- package/public/lib/data/templates/index.js.map +1 -0
- package/public/lib/data/templates/it-service.json +122 -0
- package/public/lib/data/templates/marketing.json +122 -0
- package/public/lib/data/templates/software.json +122 -0
- package/public/lib/docs.d.ts +14 -0
- package/public/lib/docs.d.ts.map +1 -0
- package/public/lib/docs.js +87 -0
- package/public/lib/docs.js.map +1 -0
- package/public/lib/email/client.d.ts +18 -0
- package/public/lib/email/client.d.ts.map +1 -0
- package/public/lib/email/client.js +31 -0
- package/public/lib/email/client.js.map +1 -0
- package/public/lib/email/templates/TeamInviteEmail.d.ts +12 -0
- package/public/lib/email/templates/TeamInviteEmail.d.ts.map +1 -0
- package/public/lib/email/templates/TeamInviteEmail.js +12 -0
- package/public/lib/email/templates/TeamInviteEmail.js.map +1 -0
- package/public/lib/encryption/webhook-encryption.d.ts +11 -0
- package/public/lib/encryption/webhook-encryption.d.ts.map +1 -0
- package/public/lib/encryption/webhook-encryption.js +46 -0
- package/public/lib/encryption/webhook-encryption.js.map +1 -0
- package/public/lib/encryption.d.ts +17 -0
- package/public/lib/encryption.d.ts.map +1 -0
- package/public/lib/encryption.js +65 -0
- package/public/lib/encryption.js.map +1 -0
- package/public/lib/env/baseUrl.d.ts +34 -0
- package/public/lib/env/baseUrl.d.ts.map +1 -0
- package/public/lib/env/baseUrl.js +51 -0
- package/public/lib/env/baseUrl.js.map +1 -0
- package/public/lib/env/externalUrl.d.ts +34 -0
- package/public/lib/env/externalUrl.d.ts.map +1 -0
- package/public/lib/env/externalUrl.js +66 -0
- package/public/lib/env/externalUrl.js.map +1 -0
- package/public/lib/env/server.d.ts +26 -0
- package/public/lib/env/server.d.ts.map +1 -0
- package/public/lib/env/server.js +45 -0
- package/public/lib/env/server.js.map +1 -0
- package/public/lib/env.d.ts +75 -0
- package/public/lib/env.d.ts.map +1 -0
- package/public/lib/env.js +108 -0
- package/public/lib/env.js.map +1 -0
- package/public/lib/events/jira-connect-events.d.ts +47 -0
- package/public/lib/events/jira-connect-events.d.ts.map +1 -0
- package/public/lib/events/jira-connect-events.js +104 -0
- package/public/lib/events/jira-connect-events.js.map +1 -0
- package/public/lib/git/local.d.ts +27 -0
- package/public/lib/git/local.d.ts.map +1 -0
- package/public/lib/git/local.js +100 -0
- package/public/lib/git/local.js.map +1 -0
- package/public/lib/git/remote.d.ts +18 -0
- package/public/lib/git/remote.d.ts.map +1 -0
- package/public/lib/git/remote.js +92 -0
- package/public/lib/git/remote.js.map +1 -0
- package/public/lib/github/user-client.d.ts +8 -0
- package/public/lib/github/user-client.d.ts.map +1 -0
- package/public/lib/github/user-client.js +23 -0
- package/public/lib/github/user-client.js.map +1 -0
- package/public/lib/github-public.d.ts +37 -0
- package/public/lib/github-public.d.ts.map +1 -0
- package/public/lib/github-public.js +120 -0
- package/public/lib/github-public.js.map +1 -0
- package/public/lib/integrations/teams/auth.d.ts +14 -0
- package/public/lib/integrations/teams/auth.d.ts.map +1 -0
- package/public/lib/integrations/teams/auth.js +46 -0
- package/public/lib/integrations/teams/auth.js.map +1 -0
- package/public/lib/integrations/teams/event-router.d.ts +15 -0
- package/public/lib/integrations/teams/event-router.d.ts.map +1 -0
- package/public/lib/integrations/teams/event-router.js +122 -0
- package/public/lib/integrations/teams/event-router.js.map +1 -0
- package/public/lib/integrations/teams/message-builder.d.ts +5 -0
- package/public/lib/integrations/teams/message-builder.d.ts.map +1 -0
- package/public/lib/integrations/teams/message-builder.js +19 -0
- package/public/lib/integrations/teams/message-builder.js.map +1 -0
- package/public/lib/integrations/teams/templates.d.ts +237 -0
- package/public/lib/integrations/teams/templates.d.ts.map +1 -0
- package/public/lib/integrations/teams/templates.js +237 -0
- package/public/lib/integrations/teams/templates.js.map +1 -0
- package/public/lib/integrations/teams/transformer.d.ts +39 -0
- package/public/lib/integrations/teams/transformer.d.ts.map +1 -0
- package/public/lib/integrations/teams/transformer.js +83 -0
- package/public/lib/integrations/teams/transformer.js.map +1 -0
- package/public/lib/integrations.d.ts +28 -0
- package/public/lib/integrations.d.ts.map +1 -0
- package/public/lib/integrations.js +40 -0
- package/public/lib/integrations.js.map +1 -0
- package/public/lib/invite/accept.d.ts +30 -0
- package/public/lib/invite/accept.d.ts.map +1 -0
- package/public/lib/invite/accept.js +196 -0
- package/public/lib/invite/accept.js.map +1 -0
- package/public/lib/invite/service.d.ts +11 -0
- package/public/lib/invite/service.d.ts.map +1 -0
- package/public/lib/invite/service.js +87 -0
- package/public/lib/invite/service.js.map +1 -0
- package/public/lib/invite/types.d.ts +19 -0
- package/public/lib/invite/types.d.ts.map +1 -0
- package/public/lib/invite/types.js +2 -0
- package/public/lib/invite/types.js.map +1 -0
- package/public/lib/jql/jqlBuilder.d.ts +47 -0
- package/public/lib/jql/jqlBuilder.d.ts.map +1 -0
- package/public/lib/jql/jqlBuilder.js +258 -0
- package/public/lib/jql/jqlBuilder.js.map +1 -0
- package/public/lib/jql/useJqlBuilder.d.ts +12 -0
- package/public/lib/jql/useJqlBuilder.d.ts.map +1 -0
- package/public/lib/jql/useJqlBuilder.js +97 -0
- package/public/lib/jql/useJqlBuilder.js.map +1 -0
- package/public/lib/keyboard/ShortcutContext.d.ts +7 -0
- package/public/lib/keyboard/ShortcutContext.d.ts.map +1 -0
- package/public/lib/keyboard/ShortcutContext.js +37 -0
- package/public/lib/keyboard/ShortcutContext.js.map +1 -0
- package/public/lib/keyboard/types.d.ts +22 -0
- package/public/lib/keyboard/types.d.ts.map +1 -0
- package/public/lib/keyboard/types.js +2 -0
- package/public/lib/keyboard/types.js.map +1 -0
- package/public/lib/keyboard/useShortcut.d.ts +12 -0
- package/public/lib/keyboard/useShortcut.d.ts.map +1 -0
- package/public/lib/keyboard/useShortcut.js +55 -0
- package/public/lib/keyboard/useShortcut.js.map +1 -0
- package/public/lib/markdown/fallback-handler.d.ts +25 -0
- package/public/lib/markdown/fallback-handler.d.ts.map +1 -0
- package/public/lib/markdown/fallback-handler.js +104 -0
- package/public/lib/markdown/fallback-handler.js.map +1 -0
- package/public/lib/notifications-cli.d.ts +16 -0
- package/public/lib/notifications-cli.d.ts.map +1 -0
- package/public/lib/notifications-cli.js +36 -0
- package/public/lib/notifications-cli.js.map +1 -0
- package/public/lib/notifications.d.ts +77 -0
- package/public/lib/notifications.d.ts.map +1 -0
- package/public/lib/notifications.js +161 -0
- package/public/lib/notifications.js.map +1 -0
- package/public/lib/ollama.d.ts +94 -0
- package/public/lib/ollama.d.ts.map +1 -0
- package/public/lib/ollama.js +249 -0
- package/public/lib/ollama.js.map +1 -0
- package/public/lib/orcMcp/client.d.ts +55 -0
- package/public/lib/orcMcp/client.d.ts.map +1 -0
- package/public/lib/orcMcp/client.js +134 -0
- package/public/lib/orcMcp/client.js.map +1 -0
- package/public/lib/orcMcp/execution.d.ts +24 -0
- package/public/lib/orcMcp/execution.d.ts.map +1 -0
- package/public/lib/orcMcp/execution.js +19 -0
- package/public/lib/orcMcp/execution.js.map +1 -0
- package/public/lib/password.d.ts +12 -0
- package/public/lib/password.d.ts.map +1 -0
- package/public/lib/password.js +18 -0
- package/public/lib/password.js.map +1 -0
- package/public/lib/platform-event-bus.d.ts +15 -0
- package/public/lib/platform-event-bus.d.ts.map +1 -0
- package/public/lib/platform-event-bus.js +46 -0
- package/public/lib/platform-event-bus.js.map +1 -0
- package/public/lib/prisma.d.ts +23 -0
- package/public/lib/prisma.d.ts.map +1 -0
- package/public/lib/prisma.js +135 -0
- package/public/lib/prisma.js.map +1 -0
- package/public/lib/projects.d.ts +38 -0
- package/public/lib/projects.d.ts.map +1 -0
- package/public/lib/projects.js +91 -0
- package/public/lib/projects.js.map +1 -0
- package/public/lib/soft-failure.d.ts +38 -0
- package/public/lib/soft-failure.d.ts.map +1 -0
- package/public/lib/soft-failure.js +46 -0
- package/public/lib/soft-failure.js.map +1 -0
- package/public/lib/ticket-mate/dataLoader.d.ts +52 -0
- package/public/lib/ticket-mate/dataLoader.d.ts.map +1 -0
- package/public/lib/ticket-mate/dataLoader.js +128 -0
- package/public/lib/ticket-mate/dataLoader.js.map +1 -0
- package/public/lib/ticket-mate/filtering.d.ts +33 -0
- package/public/lib/ticket-mate/filtering.d.ts.map +1 -0
- package/public/lib/ticket-mate/filtering.js +190 -0
- package/public/lib/ticket-mate/filtering.js.map +1 -0
- package/public/lib/ticket-mate/logging.d.ts +42 -0
- package/public/lib/ticket-mate/logging.d.ts.map +1 -0
- package/public/lib/ticket-mate/logging.js +83 -0
- package/public/lib/ticket-mate/logging.js.map +1 -0
- package/public/lib/ticket-mate/repoRoot.d.ts +15 -0
- package/public/lib/ticket-mate/repoRoot.d.ts.map +1 -0
- package/public/lib/ticket-mate/repoRoot.js +34 -0
- package/public/lib/ticket-mate/repoRoot.js.map +1 -0
- package/public/lib/webhook-events-store.d.ts +23 -0
- package/public/lib/webhook-events-store.d.ts.map +1 -0
- package/public/lib/webhook-events-store.js +39 -0
- package/public/lib/webhook-events-store.js.map +1 -0
- package/public/lib/webhook-notifications.d.ts +32 -0
- package/public/lib/webhook-notifications.d.ts.map +1 -0
- package/public/lib/webhook-notifications.js +107 -0
- package/public/lib/webhook-notifications.js.map +1 -0
- package/public/lib/webhooks/delivery.d.ts +11 -0
- package/public/lib/webhooks/delivery.d.ts.map +1 -0
- package/public/lib/webhooks/delivery.js +54 -0
- package/public/lib/webhooks/delivery.js.map +1 -0
- package/public/lib/workflow-compiler.d.ts +6 -0
- package/public/lib/workflow-compiler.d.ts.map +1 -0
- package/public/lib/workflow-compiler.js +110 -0
- package/public/lib/workflow-compiler.js.map +1 -0
- package/public/observability/metrics.d.ts +52 -0
- package/public/observability/metrics.d.ts.map +1 -0
- package/public/observability/metrics.js +177 -0
- package/public/observability/metrics.js.map +1 -0
- package/public/pr/pr-builder.d.ts +16 -0
- package/public/pr/pr-builder.d.ts.map +1 -0
- package/public/pr/pr-builder.js +117 -0
- package/public/pr/pr-builder.js.map +1 -0
- package/public/progress/task-manager.d.ts +53 -0
- package/public/progress/task-manager.d.ts.map +1 -0
- package/public/progress/task-manager.js +204 -0
- package/public/progress/task-manager.js.map +1 -0
- package/public/progress/template.d.ts +38 -0
- package/public/progress/template.d.ts.map +1 -0
- package/public/progress/template.js +232 -0
- package/public/progress/template.js.map +1 -0
- package/public/prompts/prompt-builder.d.ts +11 -0
- package/public/prompts/prompt-builder.d.ts.map +1 -0
- package/public/prompts/prompt-builder.js +161 -0
- package/public/prompts/prompt-builder.js.map +1 -0
- package/public/research/types.d.ts +158 -0
- package/public/research/types.d.ts.map +1 -0
- package/public/research/types.js +5 -0
- package/public/research/types.js.map +1 -0
- package/public/scripts/seed-epics.d.ts +2 -0
- package/public/scripts/seed-epics.d.ts.map +1 -0
- package/public/scripts/seed-epics.js +88 -0
- package/public/scripts/seed-epics.js.map +1 -0
- package/public/search/search-engine.d.ts +75 -0
- package/public/search/search-engine.d.ts.map +1 -0
- package/public/search/search-engine.js +176 -0
- package/public/search/search-engine.js.map +1 -0
- package/public/server/auth/account-provisioning.d.ts +16 -0
- package/public/server/auth/account-provisioning.d.ts.map +1 -0
- package/public/server/auth/account-provisioning.js +109 -0
- package/public/server/auth/account-provisioning.js.map +1 -0
- package/public/server/auth/atlassian-user-mapping.d.ts +36 -0
- package/public/server/auth/atlassian-user-mapping.d.ts.map +1 -0
- package/public/server/auth/atlassian-user-mapping.js +97 -0
- package/public/server/auth/atlassian-user-mapping.js.map +1 -0
- package/public/server/auth.d.ts +14 -0
- package/public/server/auth.d.ts.map +1 -0
- package/public/server/auth.js +35 -0
- package/public/server/auth.js.map +1 -0
- package/public/server/jira/client.d.ts +17 -0
- package/public/server/jira/client.d.ts.map +1 -0
- package/public/server/jira/client.js +55 -0
- package/public/server/jira/client.js.map +1 -0
- package/public/server/jira/cloudInfo.d.ts +30 -0
- package/public/server/jira/cloudInfo.d.ts.map +1 -0
- package/public/server/jira/cloudInfo.js +152 -0
- package/public/server/jira/cloudInfo.js.map +1 -0
- package/public/server/jira/ensure-user.d.ts +20 -0
- package/public/server/jira/ensure-user.d.ts.map +1 -0
- package/public/server/jira/ensure-user.js +59 -0
- package/public/server/jira/ensure-user.js.map +1 -0
- package/public/server/jira/errors.d.ts +18 -0
- package/public/server/jira/errors.d.ts.map +1 -0
- package/public/server/jira/errors.js +30 -0
- package/public/server/jira/errors.js.map +1 -0
- package/public/server/jira/fieldResolver.d.ts +76 -0
- package/public/server/jira/fieldResolver.d.ts.map +1 -0
- package/public/server/jira/fieldResolver.js +320 -0
- package/public/server/jira/fieldResolver.js.map +1 -0
- package/public/server/jira/jiraClient.d.ts +84 -0
- package/public/server/jira/jiraClient.d.ts.map +1 -0
- package/public/server/jira/jiraClient.js +330 -0
- package/public/server/jira/jiraClient.js.map +1 -0
- package/public/server/jira/tokens.d.ts +37 -0
- package/public/server/jira/tokens.d.ts.map +1 -0
- package/public/server/jira/tokens.js +161 -0
- package/public/server/jira/tokens.js.map +1 -0
- package/public/server/jira/unified-client.d.ts +48 -0
- package/public/server/jira/unified-client.d.ts.map +1 -0
- package/public/server/jira/unified-client.js +227 -0
- package/public/server/jira/unified-client.js.map +1 -0
- package/public/server/mcp/execution.d.ts +22 -0
- package/public/server/mcp/execution.d.ts.map +1 -0
- package/public/server/mcp/execution.js +15 -0
- package/public/server/mcp/execution.js.map +1 -0
- package/public/server/openai/client.d.ts +23 -0
- package/public/server/openai/client.d.ts.map +1 -0
- package/public/server/openai/client.js +43 -0
- package/public/server/openai/client.js.map +1 -0
- package/public/server/startup/orcMcpHealthCheck.d.ts +8 -0
- package/public/server/startup/orcMcpHealthCheck.d.ts.map +1 -0
- package/public/server/startup/orcMcpHealthCheck.js +24 -0
- package/public/server/startup/orcMcpHealthCheck.js.map +1 -0
- package/public/services/config.service.d.ts +2 -0
- package/public/services/config.service.d.ts.map +1 -0
- package/public/services/config.service.js +3 -0
- package/public/services/config.service.js.map +1 -0
- package/public/services/index.d.ts +20 -0
- package/public/services/index.d.ts.map +1 -0
- package/public/services/index.js +21 -0
- package/public/services/index.js.map +1 -0
- package/public/services/issues.service.d.ts +2 -0
- package/public/services/issues.service.d.ts.map +1 -0
- package/public/services/issues.service.js +3 -0
- package/public/services/issues.service.js.map +1 -0
- package/public/services/jiraBootstrap.d.ts +18 -0
- package/public/services/jiraBootstrap.d.ts.map +1 -0
- package/public/services/jiraBootstrap.js +288 -0
- package/public/services/jiraBootstrap.js.map +1 -0
- package/public/services/jiraProjectCheck.d.ts +60 -0
- package/public/services/jiraProjectCheck.d.ts.map +1 -0
- package/public/services/jiraProjectCheck.js +264 -0
- package/public/services/jiraProjectCheck.js.map +1 -0
- package/public/services/prompts.service.d.ts +2 -0
- package/public/services/prompts.service.d.ts.map +1 -0
- package/public/services/prompts.service.js +3 -0
- package/public/services/prompts.service.js.map +1 -0
- package/public/services/sync.service.d.ts +2 -0
- package/public/services/sync.service.d.ts.map +1 -0
- package/public/services/sync.service.js +3 -0
- package/public/services/sync.service.js.map +1 -0
- package/public/shared/migrations/bugsMigrations.d.ts +46 -0
- package/public/shared/migrations/bugsMigrations.d.ts.map +1 -0
- package/public/shared/migrations/bugsMigrations.js +252 -0
- package/public/shared/migrations/bugsMigrations.js.map +1 -0
- package/public/shared/migrations/ticketMateMigrations.d.ts +53 -0
- package/public/shared/migrations/ticketMateMigrations.d.ts.map +1 -0
- package/public/shared/migrations/ticketMateMigrations.js +223 -0
- package/public/shared/migrations/ticketMateMigrations.js.map +1 -0
- package/public/shared/ticketMateHelpers.d.ts +46 -0
- package/public/shared/ticketMateHelpers.d.ts.map +1 -0
- package/public/shared/ticketMateHelpers.js +197 -0
- package/public/shared/ticketMateHelpers.js.map +1 -0
- package/public/shared/ticketMateProjectLinks.d.ts +27 -0
- package/public/shared/ticketMateProjectLinks.d.ts.map +1 -0
- package/public/shared/ticketMateProjectLinks.js +64 -0
- package/public/shared/ticketMateProjectLinks.js.map +1 -0
- package/public/shared/ticketMateTypes.d.ts +155 -0
- package/public/shared/ticketMateTypes.d.ts.map +1 -0
- package/public/shared/ticketMateTypes.js +56 -0
- package/public/shared/ticketMateTypes.js.map +1 -0
- package/public/sync/authoritative-sync.d.ts +111 -0
- package/public/sync/authoritative-sync.d.ts.map +1 -0
- package/public/sync/authoritative-sync.js +459 -0
- package/public/sync/authoritative-sync.js.map +1 -0
- package/public/sync/ensure-jira-before-md.d.ts +34 -0
- package/public/sync/ensure-jira-before-md.d.ts.map +1 -0
- package/public/sync/ensure-jira-before-md.js +40 -0
- package/public/sync/ensure-jira-before-md.js.map +1 -0
- package/public/sync/epic-sync.d.ts +23 -0
- package/public/sync/epic-sync.d.ts.map +1 -0
- package/public/sync/epic-sync.js +77 -0
- package/public/sync/epic-sync.js.map +1 -0
- package/public/sync/index.d.ts +11 -0
- package/public/sync/index.d.ts.map +1 -0
- package/public/sync/index.js +92 -0
- package/public/sync/index.js.map +1 -0
- package/public/sync/reports.d.ts +9 -0
- package/public/sync/reports.d.ts.map +1 -0
- package/public/sync/reports.js +55 -0
- package/public/sync/reports.js.map +1 -0
- package/public/sync/status.d.ts +31 -0
- package/public/sync/status.d.ts.map +1 -0
- package/public/sync/status.js +100 -0
- package/public/sync/status.js.map +1 -0
- package/public/sync/sync-engine.d.ts +38 -0
- package/public/sync/sync-engine.d.ts.map +1 -0
- package/public/sync/sync-engine.js +166 -0
- package/public/sync/sync-engine.js.map +1 -0
- package/public/sync/ticket-sync.d.ts +25 -0
- package/public/sync/ticket-sync.d.ts.map +1 -0
- package/public/sync/ticket-sync.js +148 -0
- package/public/sync/ticket-sync.js.map +1 -0
- package/public/templates/template-engine.d.ts +86 -0
- package/public/templates/template-engine.d.ts.map +1 -0
- package/public/templates/template-engine.js +214 -0
- package/public/templates/template-engine.js.map +1 -0
- package/public/ticket-mate/bugs/loader.d.ts +30 -0
- package/public/ticket-mate/bugs/loader.d.ts.map +1 -0
- package/public/ticket-mate/bugs/loader.js +242 -0
- package/public/ticket-mate/bugs/loader.js.map +1 -0
- package/public/ticket-mate/bugs/paths.d.ts +12 -0
- package/public/ticket-mate/bugs/paths.d.ts.map +1 -0
- package/public/ticket-mate/bugs/paths.js +17 -0
- package/public/ticket-mate/bugs/paths.js.map +1 -0
- package/public/ticket-mate/bugs/types.d.ts +99 -0
- package/public/ticket-mate/bugs/types.d.ts.map +1 -0
- package/public/ticket-mate/bugs/types.js +9 -0
- package/public/ticket-mate/bugs/types.js.map +1 -0
- package/public/ticket-mate/errors.d.ts +57 -0
- package/public/ticket-mate/errors.d.ts.map +1 -0
- package/public/ticket-mate/errors.js +98 -0
- package/public/ticket-mate/errors.js.map +1 -0
- package/public/ticket-mate/fsConfig.d.ts +34 -0
- package/public/ticket-mate/fsConfig.d.ts.map +1 -0
- package/public/ticket-mate/fsConfig.js +68 -0
- package/public/ticket-mate/fsConfig.js.map +1 -0
- package/public/ticket-mate/fsHelpers.d.ts +34 -0
- package/public/ticket-mate/fsHelpers.d.ts.map +1 -0
- package/public/ticket-mate/fsHelpers.js +199 -0
- package/public/ticket-mate/fsHelpers.js.map +1 -0
- package/public/ticket-mate/fsLayout.d.ts +115 -0
- package/public/ticket-mate/fsLayout.d.ts.map +1 -0
- package/public/ticket-mate/fsLayout.js +282 -0
- package/public/ticket-mate/fsLayout.js.map +1 -0
- package/public/ticket-mate/fsTickets.d.ts +62 -0
- package/public/ticket-mate/fsTickets.d.ts.map +1 -0
- package/public/ticket-mate/fsTickets.js +303 -0
- package/public/ticket-mate/fsTickets.js.map +1 -0
- package/public/ticket-mate/replitWebhook.d.ts +13 -0
- package/public/ticket-mate/replitWebhook.d.ts.map +1 -0
- package/public/ticket-mate/replitWebhook.js +102 -0
- package/public/ticket-mate/replitWebhook.js.map +1 -0
- package/public/ticket-mate/types.d.ts +89 -0
- package/public/ticket-mate/types.d.ts.map +1 -0
- package/public/ticket-mate/types.js +11 -0
- package/public/ticket-mate/types.js.map +1 -0
- package/public/ticket-mate/webhookSigning.d.ts +12 -0
- package/public/ticket-mate/webhookSigning.d.ts.map +1 -0
- package/public/ticket-mate/webhookSigning.js +21 -0
- package/public/ticket-mate/webhookSigning.js.map +1 -0
- package/public/types/common.d.ts +59 -0
- package/public/types/common.d.ts.map +1 -0
- package/public/types/common.js +28 -0
- package/public/types/common.js.map +1 -0
- package/public/types/workflow.d.ts +35 -0
- package/public/types/workflow.d.ts.map +1 -0
- package/public/types/workflow.js +2 -0
- package/public/types/workflow.js.map +1 -0
- package/public/types.d.ts +311 -0
- package/public/types.d.ts.map +1 -0
- package/public/types.js +5 -0
- package/public/types.js.map +1 -0
- package/public/utils/adf.d.ts +45 -0
- package/public/utils/adf.d.ts.map +1 -0
- package/public/utils/adf.js +197 -0
- package/public/utils/adf.js.map +1 -0
- package/public/utils/bug-reporter.d.ts +39 -0
- package/public/utils/bug-reporter.d.ts.map +1 -0
- package/public/utils/bug-reporter.js +189 -0
- package/public/utils/bug-reporter.js.map +1 -0
- package/public/utils/filesystem.d.ts +32 -0
- package/public/utils/filesystem.d.ts.map +1 -0
- package/public/utils/filesystem.js +78 -0
- package/public/utils/filesystem.js.map +1 -0
- package/public/utils/formatCurrency.d.ts +11 -0
- package/public/utils/formatCurrency.d.ts.map +1 -0
- package/public/utils/formatCurrency.js +27 -0
- package/public/utils/formatCurrency.js.map +1 -0
- package/public/utils/instruction-writer.d.ts +35 -0
- package/public/utils/instruction-writer.d.ts.map +1 -0
- package/public/utils/instruction-writer.js +84 -0
- package/public/utils/instruction-writer.js.map +1 -0
- package/public/utils/jira-keys.d.ts +26 -0
- package/public/utils/jira-keys.d.ts.map +1 -0
- package/public/utils/jira-keys.js +46 -0
- package/public/utils/jira-keys.js.map +1 -0
- package/public/utils/jiraAvatar.d.ts +20 -0
- package/public/utils/jiraAvatar.d.ts.map +1 -0
- package/public/utils/jiraAvatar.js +78 -0
- package/public/utils/jiraAvatar.js.map +1 -0
- package/public/utils/logger.d.ts +33 -0
- package/public/utils/logger.d.ts.map +1 -0
- package/public/utils/logger.js +73 -0
- package/public/utils/logger.js.map +1 -0
- package/public/utils/path-migration.d.ts +7 -0
- package/public/utils/path-migration.d.ts.map +1 -0
- package/public/utils/path-migration.js +57 -0
- package/public/utils/path-migration.js.map +1 -0
- package/public/utils/progress-reporter.d.ts +39 -0
- package/public/utils/progress-reporter.d.ts.map +1 -0
- package/public/utils/progress-reporter.js +66 -0
- package/public/utils/progress-reporter.js.map +1 -0
- package/public/utils/project-code-generator.d.ts +88 -0
- package/public/utils/project-code-generator.d.ts.map +1 -0
- package/public/utils/project-code-generator.js +212 -0
- package/public/utils/project-code-generator.js.map +1 -0
- package/public/utils/retry.d.ts +20 -0
- package/public/utils/retry.d.ts.map +1 -0
- package/public/utils/retry.js +82 -0
- package/public/utils/retry.js.map +1 -0
- package/public/utils/slugify.d.ts +5 -0
- package/public/utils/slugify.d.ts.map +1 -0
- package/public/utils/slugify.js +13 -0
- package/public/utils/slugify.js.map +1 -0
- package/public/utils/string.d.ts +8 -0
- package/public/utils/string.d.ts.map +1 -0
- package/public/utils/string.js +19 -0
- package/public/utils/string.js.map +1 -0
- package/public/utils/ticket-template.d.ts +28 -0
- package/public/utils/ticket-template.d.ts.map +1 -0
- package/public/utils/ticket-template.js +55 -0
- package/public/utils/ticket-template.js.map +1 -0
- package/public/utils/validation.d.ts +33 -0
- package/public/utils/validation.d.ts.map +1 -0
- package/public/utils/validation.js +86 -0
- package/public/utils/validation.js.map +1 -0
- package/public/validation/brief-validator.d.ts +55 -0
- package/public/validation/brief-validator.d.ts.map +1 -0
- package/public/validation/brief-validator.js +168 -0
- package/public/validation/brief-validator.js.map +1 -0
- package/public/validation/ticket-validator.d.ts +47 -0
- package/public/validation/ticket-validator.d.ts.map +1 -0
- package/public/validation/ticket-validator.js +155 -0
- package/public/validation/ticket-validator.js.map +1 -0
- package/public/webhooks/assignment-handler.d.ts +33 -0
- package/public/webhooks/assignment-handler.d.ts.map +1 -0
- package/public/webhooks/assignment-handler.js +187 -0
- package/public/webhooks/assignment-handler.js.map +1 -0
- package/public/webhooks/in-progress-handler.d.ts +36 -0
- package/public/webhooks/in-progress-handler.d.ts.map +1 -0
- package/public/webhooks/in-progress-handler.js +170 -0
- package/public/webhooks/in-progress-handler.js.map +1 -0
- package/public/webhooks/orchestrator-notifier.d.ts +42 -0
- package/public/webhooks/orchestrator-notifier.d.ts.map +1 -0
- package/public/webhooks/orchestrator-notifier.js +84 -0
- package/public/webhooks/orchestrator-notifier.js.map +1 -0
- package/public/webhooks/ticket-created-handler.d.ts +33 -0
- package/public/webhooks/ticket-created-handler.d.ts.map +1 -0
- package/public/webhooks/ticket-created-handler.js +150 -0
- package/public/webhooks/ticket-created-handler.js.map +1 -0
- package/public/webhooks/webhook-handler.d.ts +81 -0
- package/public/webhooks/webhook-handler.d.ts.map +1 -0
- package/public/webhooks/webhook-handler.js +186 -0
- package/public/webhooks/webhook-handler.js.map +1 -0
- package/public/webhooks/webhook-security.d.ts +58 -0
- package/public/webhooks/webhook-security.d.ts.map +1 -0
- package/public/webhooks/webhook-security.js +258 -0
- package/public/webhooks/webhook-security.js.map +1 -0
- package/public/workers/teams-delivery-worker.d.ts +91 -0
- package/public/workers/teams-delivery-worker.d.ts.map +1 -0
- package/public/workers/teams-delivery-worker.js +328 -0
- package/public/workers/teams-delivery-worker.js.map +1 -0
- package/scripts/cli-wrapper.mjs +28 -0
|
@@ -0,0 +1,459 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Authoritative Ticket Sync Engine
|
|
3
|
+
*
|
|
4
|
+
* Governance Rules:
|
|
5
|
+
* 1. Jira is the source of truth for ticket existence
|
|
6
|
+
* 2. Markdown is never allowed to "invent" a Jira issue key
|
|
7
|
+
* 3. If an .md exists but the Jira issue does not exist (404), create a brand-new Jira issue
|
|
8
|
+
* 4. Before any MD is created, the Jira issue must already exist
|
|
9
|
+
* 5. MD → Jira validation: treat MD keys as hints only, validate existence
|
|
10
|
+
*/
|
|
11
|
+
// Use path aliases for Next.js bundling context (when imported by API routes)
|
|
12
|
+
// Use relative paths for CLI context - but since this file is imported by Next.js API routes,
|
|
13
|
+
// we need to use path aliases here
|
|
14
|
+
import { getIssue, createIssue, searchIssues, updateIssue } from "@/client/jira-client";
|
|
15
|
+
import { generateTicketBrief, parseTicketBrief } from "@/progress/template";
|
|
16
|
+
import { readProgressFile, writeProgressFile, getProgressFilePath, ensureDirectory } from "@/utils/filesystem";
|
|
17
|
+
import { logger } from "@/utils/logger";
|
|
18
|
+
import { getErrorMessage } from "@/types/common";
|
|
19
|
+
import { createHash } from "crypto";
|
|
20
|
+
import { readdir, stat } from "fs/promises";
|
|
21
|
+
import { join, extname } from "path";
|
|
22
|
+
import { JiraNotFoundError } from "@/client/jira-errors";
|
|
23
|
+
import { markdownToADF } from "@/utils/adf";
|
|
24
|
+
/**
|
|
25
|
+
* Compute canonical ID for deduplication
|
|
26
|
+
*/
|
|
27
|
+
function computeCanonicalId(projectKey, title, description) {
|
|
28
|
+
const normalized = `${projectKey}|${title.trim().toLowerCase()}|${description.substring(0, 200).trim()}`;
|
|
29
|
+
return createHash("sha256").update(normalized).digest("hex").substring(0, 16);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Extract metadata from markdown frontmatter
|
|
33
|
+
*/
|
|
34
|
+
function extractFrontmatter(content) {
|
|
35
|
+
const frontmatterRegex = /^---\n([\s\S]*?)\n---\n([\s\S]*)$/;
|
|
36
|
+
const match = content.match(frontmatterRegex);
|
|
37
|
+
if (match) {
|
|
38
|
+
try {
|
|
39
|
+
const frontmatterText = match[1];
|
|
40
|
+
const body = match[2];
|
|
41
|
+
// Simple YAML-like parsing (basic key: value pairs)
|
|
42
|
+
const frontmatter = {};
|
|
43
|
+
for (const line of frontmatterText.split("\n")) {
|
|
44
|
+
const keyMatch = line.match(/^([^:]+):\s*(.+)$/);
|
|
45
|
+
if (keyMatch) {
|
|
46
|
+
const key = keyMatch[1].trim();
|
|
47
|
+
let value = keyMatch[2].trim();
|
|
48
|
+
// Try to parse as number or boolean
|
|
49
|
+
if (value === "true")
|
|
50
|
+
value = true;
|
|
51
|
+
else if (value === "false")
|
|
52
|
+
value = false;
|
|
53
|
+
else if (/^\d+$/.test(value))
|
|
54
|
+
value = parseInt(value, 10);
|
|
55
|
+
else {
|
|
56
|
+
// Remove quotes if present
|
|
57
|
+
if (value.startsWith('"') && value.endsWith('"')) {
|
|
58
|
+
value = value.slice(1, -1);
|
|
59
|
+
}
|
|
60
|
+
else if (value.startsWith("'") && value.endsWith("'")) {
|
|
61
|
+
value = value.slice(1, -1);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
frontmatter[key] = value;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return { frontmatter, body };
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
// If parsing fails, treat as no frontmatter
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return { frontmatter: {}, body: content };
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Update frontmatter in markdown content
|
|
77
|
+
*/
|
|
78
|
+
function updateFrontmatter(content, updates) {
|
|
79
|
+
const { frontmatter, body } = extractFrontmatter(content);
|
|
80
|
+
const merged = { ...frontmatter, ...updates };
|
|
81
|
+
const frontmatterLines = Object.entries(merged).map(([key, value]) => {
|
|
82
|
+
if (typeof value === "string" && (value.includes(":") || value.includes("\n"))) {
|
|
83
|
+
return `${key}: "${value.replace(/"/g, '\\"')}"`;
|
|
84
|
+
}
|
|
85
|
+
return `${key}: ${value}`;
|
|
86
|
+
});
|
|
87
|
+
return `---\n${frontmatterLines.join("\n")}\n---\n${body}`;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Scan local markdown ticket files
|
|
91
|
+
*/
|
|
92
|
+
async function scanLocalTickets(baseDir, projectKey) {
|
|
93
|
+
const tickets = [];
|
|
94
|
+
const ticketsDir = join(baseDir, "epics");
|
|
95
|
+
try {
|
|
96
|
+
// Check if tickets directory exists
|
|
97
|
+
const dirs = await readdir(ticketsDir, { withFileTypes: true });
|
|
98
|
+
for (const dir of dirs) {
|
|
99
|
+
if (!dir.isDirectory())
|
|
100
|
+
continue;
|
|
101
|
+
const epicDir = join(ticketsDir, dir.name);
|
|
102
|
+
const files = await readdir(epicDir);
|
|
103
|
+
for (const file of files) {
|
|
104
|
+
if (extname(file) !== ".md")
|
|
105
|
+
continue;
|
|
106
|
+
const filePath = join(epicDir, file);
|
|
107
|
+
const content = await readProgressFile(filePath);
|
|
108
|
+
if (!content)
|
|
109
|
+
continue;
|
|
110
|
+
const { frontmatter, body } = extractFrontmatter(content);
|
|
111
|
+
const parsed = parseTicketBrief(content);
|
|
112
|
+
// Extract project key from issue key or use provided
|
|
113
|
+
const issueKeyHint = frontmatter.jiraIssueKey || parsed.metadata.ticketKey;
|
|
114
|
+
const inferredProjectKey = issueKeyHint?.split("-")[0] || projectKey || "UNKNOWN";
|
|
115
|
+
// Extract title from first H1 or frontmatter
|
|
116
|
+
const title = frontmatter.title || parsed.metadata.title || "Untitled";
|
|
117
|
+
// Use full markdown body as description (not truncated)
|
|
118
|
+
// We'll convert this to ADF format when creating/updating Jira issues
|
|
119
|
+
const description = body.trim();
|
|
120
|
+
// Compute canonical ID based on content hash for change detection
|
|
121
|
+
const contentHash = createHash("sha256").update(content).digest("hex").substring(0, 16);
|
|
122
|
+
const canonicalId = frontmatter.tmCanonicalId ||
|
|
123
|
+
computeCanonicalId(inferredProjectKey, title, description);
|
|
124
|
+
// Get file modification time for update detection
|
|
125
|
+
const fileStats = await stat(filePath);
|
|
126
|
+
tickets.push({
|
|
127
|
+
path: filePath,
|
|
128
|
+
title,
|
|
129
|
+
description, // Full markdown body
|
|
130
|
+
markdownContent: content, // Full content including frontmatter
|
|
131
|
+
projectKey: inferredProjectKey,
|
|
132
|
+
maybeIssueKey: issueKeyHint,
|
|
133
|
+
canonicalId,
|
|
134
|
+
frontmatter,
|
|
135
|
+
lastModified: fileStats.mtime,
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
catch (error) {
|
|
141
|
+
// If directory doesn't exist, return empty array
|
|
142
|
+
if (error && typeof error === "object" && "code" in error && error.code === "ENOENT") {
|
|
143
|
+
return [];
|
|
144
|
+
}
|
|
145
|
+
throw error;
|
|
146
|
+
}
|
|
147
|
+
return tickets;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Ensure Jira issue exists (create if needed)
|
|
151
|
+
*
|
|
152
|
+
* This is the canonical function for ensuring a Jira issue exists before
|
|
153
|
+
* creating any markdown file. All code paths that create MD files should
|
|
154
|
+
* call this first.
|
|
155
|
+
*/
|
|
156
|
+
export async function ensureJiraIssueExists(localTicket, config, options) {
|
|
157
|
+
// If we have a key hint, validate it first
|
|
158
|
+
if (localTicket.maybeIssueKey) {
|
|
159
|
+
try {
|
|
160
|
+
const issue = await getIssue(localTicket.maybeIssueKey, { client: options.client });
|
|
161
|
+
return { issueKey: issue.key, created: false, issue };
|
|
162
|
+
}
|
|
163
|
+
catch (error) {
|
|
164
|
+
// Check if it's a 404 (issue doesn't exist)
|
|
165
|
+
if (error instanceof JiraNotFoundError) {
|
|
166
|
+
// Issue doesn't exist - we'll create a new one below
|
|
167
|
+
logger.info("MD references non-existent Jira issue, will create new", {
|
|
168
|
+
oldKey: localTicket.maybeIssueKey,
|
|
169
|
+
path: localTicket.path,
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
// Other errors (401, 403, etc.) - rethrow
|
|
174
|
+
throw error;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
// Try to find existing issue by canonical ID or title match
|
|
179
|
+
if (localTicket.canonicalId) {
|
|
180
|
+
try {
|
|
181
|
+
// Search for issues with matching title and label
|
|
182
|
+
const jql = `project = ${localTicket.projectKey} AND summary ~ "${localTicket.title.substring(0, 50)}" AND labels = "ticket-mate"`;
|
|
183
|
+
const matches = await searchIssues(jql, { maxResults: 10, client: options.client });
|
|
184
|
+
// Check if any match has our canonical ID in description
|
|
185
|
+
for (const match of matches) {
|
|
186
|
+
const desc = typeof match.fields.description === "string"
|
|
187
|
+
? match.fields.description
|
|
188
|
+
: JSON.stringify(match.fields.description || "");
|
|
189
|
+
if (desc.includes(localTicket.canonicalId)) {
|
|
190
|
+
return { issueKey: match.key, created: false, issue: match };
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
catch (error) {
|
|
195
|
+
// If search fails, continue to create new issue
|
|
196
|
+
logger.warn("Failed to search for existing issue, will create new", {
|
|
197
|
+
error: getErrorMessage(error),
|
|
198
|
+
canonicalId: localTicket.canonicalId,
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
// Create new Jira issue
|
|
203
|
+
const issueType = options.issueType || "Story";
|
|
204
|
+
const labels = ["ticket-mate", ...(options.labels || [])];
|
|
205
|
+
// Convert full markdown content to ADF format for Jira description
|
|
206
|
+
// Include canonical ID in hidden comment for deduplication
|
|
207
|
+
const markdownDescription = localTicket.description +
|
|
208
|
+
(localTicket.canonicalId ? `\n\n<!-- tmCanonicalId: ${localTicket.canonicalId} -->` : "");
|
|
209
|
+
// Convert markdown to ADF format (Jira's rich text format)
|
|
210
|
+
const descriptionADF = markdownToADF(markdownDescription);
|
|
211
|
+
const newIssue = await createIssue({
|
|
212
|
+
project: { key: localTicket.projectKey },
|
|
213
|
+
summary: localTicket.title,
|
|
214
|
+
description: descriptionADF, // Use ADF format
|
|
215
|
+
issuetype: { name: issueType },
|
|
216
|
+
labels,
|
|
217
|
+
}, { client: options.client });
|
|
218
|
+
logger.info("Created new Jira issue from MD file", {
|
|
219
|
+
issueKey: newIssue.key,
|
|
220
|
+
path: localTicket.path,
|
|
221
|
+
oldKey: localTicket.maybeIssueKey,
|
|
222
|
+
});
|
|
223
|
+
return { issueKey: newIssue.key, created: true, issue: newIssue };
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Write markdown ticket file (only after Jira issue exists)
|
|
227
|
+
*
|
|
228
|
+
* This function enforces the governance rule: MD files are only created
|
|
229
|
+
* AFTER the Jira issue exists. It will throw an error if issue.key is missing.
|
|
230
|
+
*/
|
|
231
|
+
export async function writeMarkdownTicket(issue, localTicket, baseDir, epicKey) {
|
|
232
|
+
if (!issue.key) {
|
|
233
|
+
throw new Error("Cannot write MD file: Jira issue key is required");
|
|
234
|
+
}
|
|
235
|
+
const status = issue.fields.status?.name || null;
|
|
236
|
+
const filePath = getProgressFilePath(issue.key, baseDir, {
|
|
237
|
+
epicKey,
|
|
238
|
+
status,
|
|
239
|
+
type: issue.fields.issuetype?.name,
|
|
240
|
+
title: issue.fields.summary
|
|
241
|
+
});
|
|
242
|
+
const existingContent = await readProgressFile(filePath);
|
|
243
|
+
// Generate new brief from Jira issue
|
|
244
|
+
const newContent = generateTicketBrief(issue, existingContent || undefined);
|
|
245
|
+
// Update frontmatter with correct key and metadata
|
|
246
|
+
const frontmatterUpdates = {
|
|
247
|
+
jiraIssueKey: issue.key,
|
|
248
|
+
source: "ticket-mate",
|
|
249
|
+
lastSyncedAt: new Date().toISOString(),
|
|
250
|
+
};
|
|
251
|
+
if (localTicket.canonicalId) {
|
|
252
|
+
frontmatterUpdates.tmCanonicalId = localTicket.canonicalId;
|
|
253
|
+
}
|
|
254
|
+
// If content already has frontmatter, update it; otherwise add it
|
|
255
|
+
const finalContent = newContent.includes("---\n")
|
|
256
|
+
? updateFrontmatter(newContent, frontmatterUpdates)
|
|
257
|
+
: `---\n${Object.entries(frontmatterUpdates).map(([k, v]) => `${k}: ${typeof v === "string" ? `"${v}"` : v}`).join("\n")}\n---\n${newContent}`;
|
|
258
|
+
await writeProgressFile(filePath, finalContent);
|
|
259
|
+
const wasCreated = !existingContent;
|
|
260
|
+
return {
|
|
261
|
+
created: wasCreated,
|
|
262
|
+
updated: !wasCreated,
|
|
263
|
+
path: filePath,
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Canonical sync function - single source of truth
|
|
268
|
+
*/
|
|
269
|
+
export async function syncTickets(config, options = {}) {
|
|
270
|
+
const direction = options.direction || "md-to-jira";
|
|
271
|
+
const baseDir = options.baseDir || ".orchestrator/progress";
|
|
272
|
+
const dryRun = options.dryRun || false;
|
|
273
|
+
await ensureDirectory(baseDir);
|
|
274
|
+
logger.info("Starting authoritative sync", {
|
|
275
|
+
direction,
|
|
276
|
+
baseDir,
|
|
277
|
+
projectKey: options.projectKey,
|
|
278
|
+
dryRun,
|
|
279
|
+
SYNC_ENGINE: "v1", // Marker for testing
|
|
280
|
+
});
|
|
281
|
+
const result = {
|
|
282
|
+
success: true,
|
|
283
|
+
direction,
|
|
284
|
+
scanned: 0,
|
|
285
|
+
created: 0,
|
|
286
|
+
linked: 0,
|
|
287
|
+
updated: 0,
|
|
288
|
+
skipped: 0,
|
|
289
|
+
failed: 0,
|
|
290
|
+
events: [],
|
|
291
|
+
results: [],
|
|
292
|
+
};
|
|
293
|
+
// Scan local MD tickets
|
|
294
|
+
const localTickets = await scanLocalTickets(baseDir, options.projectKey);
|
|
295
|
+
result.scanned = localTickets.length;
|
|
296
|
+
logger.info("Scanned local tickets", { count: localTickets.length });
|
|
297
|
+
// Process each local ticket
|
|
298
|
+
for (const localTicket of localTickets) {
|
|
299
|
+
const ticketResult = {
|
|
300
|
+
ticketKey: localTicket.maybeIssueKey || "UNKNOWN",
|
|
301
|
+
action: "skipped",
|
|
302
|
+
jiraCreated: false,
|
|
303
|
+
mdCreated: false,
|
|
304
|
+
mdUpdated: false,
|
|
305
|
+
};
|
|
306
|
+
try {
|
|
307
|
+
// Ensure Jira issue exists
|
|
308
|
+
const { issueKey, created: jiraCreated, issue } = await ensureJiraIssueExists(localTicket, config, options);
|
|
309
|
+
ticketResult.jiraCreated = jiraCreated;
|
|
310
|
+
// Track key change if happened
|
|
311
|
+
if (localTicket.maybeIssueKey && localTicket.maybeIssueKey !== issueKey) {
|
|
312
|
+
ticketResult.oldKey = localTicket.maybeIssueKey;
|
|
313
|
+
ticketResult.action = "linked";
|
|
314
|
+
result.linked++;
|
|
315
|
+
result.events.push({
|
|
316
|
+
type: "MD_KEY_INVALID_CREATED_NEW_JIRA",
|
|
317
|
+
timestamp: new Date().toISOString(),
|
|
318
|
+
ticketKey: issueKey,
|
|
319
|
+
oldKey: localTicket.maybeIssueKey,
|
|
320
|
+
filePath: localTicket.path,
|
|
321
|
+
message: `MD referenced invalid key ${localTicket.maybeIssueKey}, created new issue ${issueKey}`,
|
|
322
|
+
});
|
|
323
|
+
}
|
|
324
|
+
else if (jiraCreated) {
|
|
325
|
+
ticketResult.action = "created";
|
|
326
|
+
result.created++;
|
|
327
|
+
result.events.push({
|
|
328
|
+
type: "ATLASSIAN_CREATED",
|
|
329
|
+
timestamp: new Date().toISOString(),
|
|
330
|
+
ticketKey: issueKey,
|
|
331
|
+
filePath: localTicket.path,
|
|
332
|
+
message: `Created new Jira issue ${issueKey} from MD file`,
|
|
333
|
+
});
|
|
334
|
+
}
|
|
335
|
+
else {
|
|
336
|
+
// Issue already exists - update description with full markdown content
|
|
337
|
+
// This allows updating tickets after MD files are updated with more research
|
|
338
|
+
if (!dryRun && localTicket.description) {
|
|
339
|
+
try {
|
|
340
|
+
// Convert markdown to ADF format
|
|
341
|
+
const markdownDescription = localTicket.description +
|
|
342
|
+
(localTicket.canonicalId ? `\n\n<!-- tmCanonicalId: ${localTicket.canonicalId} -->` : "");
|
|
343
|
+
const descriptionADF = markdownToADF(markdownDescription);
|
|
344
|
+
// Update the issue with the full markdown content
|
|
345
|
+
await updateIssue(issueKey, {
|
|
346
|
+
description: descriptionADF,
|
|
347
|
+
}, { client: options.client });
|
|
348
|
+
logger.info("Updated Jira issue description from MD file", {
|
|
349
|
+
issueKey,
|
|
350
|
+
path: localTicket.path,
|
|
351
|
+
});
|
|
352
|
+
ticketResult.action = "updated";
|
|
353
|
+
result.updated++;
|
|
354
|
+
result.events.push({
|
|
355
|
+
type: "MD_UPDATED",
|
|
356
|
+
timestamp: new Date().toISOString(),
|
|
357
|
+
ticketKey: issueKey,
|
|
358
|
+
filePath: localTicket.path,
|
|
359
|
+
message: `Updated Jira issue ${issueKey} description from MD file`,
|
|
360
|
+
});
|
|
361
|
+
}
|
|
362
|
+
catch (error) {
|
|
363
|
+
logger.warn("Failed to update Jira issue description", {
|
|
364
|
+
issueKey,
|
|
365
|
+
error: getErrorMessage(error),
|
|
366
|
+
});
|
|
367
|
+
// Don't fail the entire sync if update fails
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
// Write/update MD file (only if not dry-run)
|
|
372
|
+
if (!dryRun) {
|
|
373
|
+
const writeResult = await writeMarkdownTicket(issue, localTicket, baseDir, options.epicKey);
|
|
374
|
+
ticketResult.mdCreated = writeResult.created;
|
|
375
|
+
ticketResult.mdUpdated = writeResult.updated;
|
|
376
|
+
ticketResult.ticketKey = issueKey;
|
|
377
|
+
if (writeResult.created) {
|
|
378
|
+
result.events.push({
|
|
379
|
+
type: "MD_CREATED",
|
|
380
|
+
timestamp: new Date().toISOString(),
|
|
381
|
+
ticketKey: issueKey,
|
|
382
|
+
filePath: writeResult.path,
|
|
383
|
+
message: `Created MD file for issue ${issueKey}`,
|
|
384
|
+
});
|
|
385
|
+
}
|
|
386
|
+
else if (writeResult.updated) {
|
|
387
|
+
result.events.push({
|
|
388
|
+
type: "MD_UPDATED",
|
|
389
|
+
timestamp: new Date().toISOString(),
|
|
390
|
+
ticketKey: issueKey,
|
|
391
|
+
filePath: writeResult.path,
|
|
392
|
+
message: `Updated MD file for issue ${issueKey}`,
|
|
393
|
+
});
|
|
394
|
+
}
|
|
395
|
+
// Note: result.updated is incremented above when updating Jira issue description
|
|
396
|
+
// Don't double-count if MD file was also updated
|
|
397
|
+
if (writeResult.updated && ticketResult.action !== "updated" && !jiraCreated) {
|
|
398
|
+
result.updated++;
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
else {
|
|
402
|
+
// Dry run: just log what would happen
|
|
403
|
+
logger.info("Dry run: would sync", {
|
|
404
|
+
issueKey,
|
|
405
|
+
path: localTicket.path,
|
|
406
|
+
jiraCreated,
|
|
407
|
+
});
|
|
408
|
+
ticketResult.action = "skipped";
|
|
409
|
+
result.skipped++;
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
catch (error) {
|
|
413
|
+
const errorMessage = getErrorMessage(error);
|
|
414
|
+
ticketResult.action = "failed";
|
|
415
|
+
ticketResult.error = errorMessage;
|
|
416
|
+
result.failed++;
|
|
417
|
+
result.success = false;
|
|
418
|
+
// Handle auth errors specially
|
|
419
|
+
if (errorMessage.includes("401") || errorMessage.includes("403")) {
|
|
420
|
+
result.events.push({
|
|
421
|
+
type: "SYNC_ERROR",
|
|
422
|
+
timestamp: new Date().toISOString(),
|
|
423
|
+
filePath: localTicket.path,
|
|
424
|
+
message: `Authentication error: ${errorMessage}`,
|
|
425
|
+
details: {
|
|
426
|
+
error: errorMessage,
|
|
427
|
+
remediation: "Check token expiry, scopes, or workspace connection",
|
|
428
|
+
},
|
|
429
|
+
});
|
|
430
|
+
}
|
|
431
|
+
else {
|
|
432
|
+
result.events.push({
|
|
433
|
+
type: "SYNC_ERROR",
|
|
434
|
+
timestamp: new Date().toISOString(),
|
|
435
|
+
filePath: localTicket.path,
|
|
436
|
+
message: `Sync failed: ${errorMessage}`,
|
|
437
|
+
details: { error: errorMessage },
|
|
438
|
+
});
|
|
439
|
+
}
|
|
440
|
+
logger.error("Failed to sync ticket", {
|
|
441
|
+
path: localTicket.path,
|
|
442
|
+
error: errorMessage,
|
|
443
|
+
});
|
|
444
|
+
}
|
|
445
|
+
result.results.push(ticketResult);
|
|
446
|
+
}
|
|
447
|
+
const jiraBaseUrl = config.baseUrl;
|
|
448
|
+
logger.info("Authoritative sync complete", {
|
|
449
|
+
scanned: result.scanned,
|
|
450
|
+
created: result.created,
|
|
451
|
+
linked: result.linked,
|
|
452
|
+
updated: result.updated,
|
|
453
|
+
failed: result.failed,
|
|
454
|
+
jiraUrl: `${jiraBaseUrl}/browse/${options.projectKey || 'DEMO'}`,
|
|
455
|
+
SYNC_ENGINE: "v1",
|
|
456
|
+
});
|
|
457
|
+
return result;
|
|
458
|
+
}
|
|
459
|
+
//# sourceMappingURL=authoritative-sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authoritative-sync.js","sourceRoot":"","sources":["../../src/sync/authoritative-sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Governance Enforcement: Ensure Jira Issue Exists Before Writing MD
|
|
3
|
+
*
|
|
4
|
+
* This module provides helper functions that enforce the rule:
|
|
5
|
+
* "Before any MD file is created, the Jira issue must already exist"
|
|
6
|
+
*
|
|
7
|
+
* All code paths that create MD files should use these helpers.
|
|
8
|
+
*/
|
|
9
|
+
import type { JiraConfig, JiraIssue } from "../types";
|
|
10
|
+
import type { LocalTicket } from "./authoritative-sync";
|
|
11
|
+
/**
|
|
12
|
+
* Ensure Jira issue exists, then write MD file
|
|
13
|
+
*
|
|
14
|
+
* This is the canonical function for creating MD files.
|
|
15
|
+
* It enforces: Jira issue MUST exist before MD file is written.
|
|
16
|
+
*/
|
|
17
|
+
export declare function ensureJiraIssueExistsThenWriteMD(localTicket: LocalTicket, config: JiraConfig, baseDir: string, options?: {
|
|
18
|
+
epicKey?: string;
|
|
19
|
+
issueType?: string;
|
|
20
|
+
labels?: string[];
|
|
21
|
+
}): Promise<{
|
|
22
|
+
issueKey: string;
|
|
23
|
+
jiraCreated: boolean;
|
|
24
|
+
mdCreated: boolean;
|
|
25
|
+
mdUpdated: boolean;
|
|
26
|
+
path: string;
|
|
27
|
+
}>;
|
|
28
|
+
/**
|
|
29
|
+
* Type guard to ensure issue has key before writing MD
|
|
30
|
+
*/
|
|
31
|
+
export declare function assertIssueHasKey(issue: JiraIssue): asserts issue is JiraIssue & {
|
|
32
|
+
key: string;
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=ensure-jira-before-md.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensure-jira-before-md.d.ts","sourceRoot":"","sources":["../../src/sync/ensure-jira-before-md.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD;;;;;GAKG;AACH,wBAAsB,gCAAgC,CACpD,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IACP,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACd,GACL,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAqB3G;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,SAAS,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAIhG"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Governance Enforcement: Ensure Jira Issue Exists Before Writing MD
|
|
3
|
+
*
|
|
4
|
+
* This module provides helper functions that enforce the rule:
|
|
5
|
+
* "Before any MD file is created, the Jira issue must already exist"
|
|
6
|
+
*
|
|
7
|
+
* All code paths that create MD files should use these helpers.
|
|
8
|
+
*/
|
|
9
|
+
import { ensureJiraIssueExists, writeMarkdownTicket } from "./authoritative-sync";
|
|
10
|
+
/**
|
|
11
|
+
* Ensure Jira issue exists, then write MD file
|
|
12
|
+
*
|
|
13
|
+
* This is the canonical function for creating MD files.
|
|
14
|
+
* It enforces: Jira issue MUST exist before MD file is written.
|
|
15
|
+
*/
|
|
16
|
+
export async function ensureJiraIssueExistsThenWriteMD(localTicket, config, baseDir, options = {}) {
|
|
17
|
+
// Step 1: Ensure Jira issue exists (create if needed)
|
|
18
|
+
const { issueKey, created: jiraCreated, issue } = await ensureJiraIssueExists(localTicket, config, {
|
|
19
|
+
issueType: options.issueType,
|
|
20
|
+
labels: options.labels,
|
|
21
|
+
});
|
|
22
|
+
// Step 2: Write MD file (only after Jira issue exists)
|
|
23
|
+
const writeResult = await writeMarkdownTicket(issue, localTicket, baseDir, options.epicKey);
|
|
24
|
+
return {
|
|
25
|
+
issueKey,
|
|
26
|
+
jiraCreated,
|
|
27
|
+
mdCreated: writeResult.created,
|
|
28
|
+
mdUpdated: writeResult.updated,
|
|
29
|
+
path: writeResult.path,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Type guard to ensure issue has key before writing MD
|
|
34
|
+
*/
|
|
35
|
+
export function assertIssueHasKey(issue) {
|
|
36
|
+
if (!issue.key) {
|
|
37
|
+
throw new Error("Jira issue must have a key before MD file can be created. This is a governance rule violation.");
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=ensure-jira-before-md.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensure-jira-before-md.js","sourceRoot":"","sources":["../../src/sync/ensure-jira-before-md.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAIlF;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,WAAwB,EACxB,MAAkB,EAClB,OAAe,EACf,UAII,EAAE;IAEN,sDAAsD;IACtD,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,MAAM,qBAAqB,CAC3E,WAAW,EACX,MAAM,EACN;QACE,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CACF,CAAC;IAEF,uDAAuD;IACvD,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAE5F,OAAO;QACL,QAAQ;QACR,WAAW;QACX,SAAS,EAAE,WAAW,CAAC,OAAO;QAC9B,SAAS,EAAE,WAAW,CAAC,OAAO;QAC9B,IAAI,EAAE,WAAW,CAAC,IAAI;KACvB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAgB;IAChD,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,gGAAgG,CAAC,CAAC;IACpH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Epic Discovery and Sync
|
|
3
|
+
*/
|
|
4
|
+
import type { JiraConfig, JiraEpic, JiraIssue } from "@/types";
|
|
5
|
+
/**
|
|
6
|
+
* Discover epics in a Jira project
|
|
7
|
+
*/
|
|
8
|
+
export declare function discoverEpics(config: JiraConfig, options?: {
|
|
9
|
+
client?: import("@/server/jira/jiraClient").JiraClient;
|
|
10
|
+
}): Promise<JiraEpic[]>;
|
|
11
|
+
/**
|
|
12
|
+
* Get all issues linked to an epic
|
|
13
|
+
*/
|
|
14
|
+
export declare function getEpicIssuesForEpic(epicKey: string, options?: {
|
|
15
|
+
client?: import("@/server/jira/jiraClient").JiraClient;
|
|
16
|
+
}): Promise<JiraIssue[]>;
|
|
17
|
+
/**
|
|
18
|
+
* Map category name to epic name
|
|
19
|
+
*
|
|
20
|
+
* Default mappings for common categories
|
|
21
|
+
*/
|
|
22
|
+
export declare function mapCategoryToEpic(category: string): string;
|
|
23
|
+
//# sourceMappingURL=epic-sync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"epic-sync.d.ts","sourceRoot":"","sources":["../../src/sync/epic-sync.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAG/D;;GAEG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,UAAU,EAClB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,0BAA0B,EAAE,UAAU,CAAA;CAAO,GACvE,OAAO,CAAC,QAAQ,EAAE,CAAC,CA+CrB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,0BAA0B,EAAE,UAAU,CAAA;CAAO,GACvE,OAAO,CAAC,SAAS,EAAE,CAAC,CAItB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAW1D"}
|