@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,109 @@
|
|
|
1
|
+
import { prisma } from "@/lib/prisma";
|
|
2
|
+
/**
|
|
3
|
+
* Ensures that a user has at least one active TenantAccount (via AccountUser).
|
|
4
|
+
* If not, creates a default "Personal Team" account and links the user as OWNER.
|
|
5
|
+
*
|
|
6
|
+
* @param userId - The internal Prisma User ID
|
|
7
|
+
* @param email - User's email (used for generating account name/slug)
|
|
8
|
+
* @param name - User's name (optional, used for account name)
|
|
9
|
+
* @returns The accountId of the primary account
|
|
10
|
+
*/
|
|
11
|
+
export async function ensureAccountForUser(userId, email, name) {
|
|
12
|
+
// 1. Check if user already has an active account
|
|
13
|
+
const existingLink = await prisma.accountUser.findFirst({
|
|
14
|
+
where: {
|
|
15
|
+
userId,
|
|
16
|
+
active: true,
|
|
17
|
+
},
|
|
18
|
+
select: {
|
|
19
|
+
accountId: true,
|
|
20
|
+
},
|
|
21
|
+
orderBy: {
|
|
22
|
+
createdAt: "asc", // Prefer oldest account (primary)
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
if (existingLink) {
|
|
26
|
+
return existingLink.accountId;
|
|
27
|
+
}
|
|
28
|
+
// 1.5. Ensure User Exists (Handle DB Reset / Stale Session)
|
|
29
|
+
// If the user record is missing (e.g. DB reset), recreate it to avoid FK errors
|
|
30
|
+
// This is critical for dev environments where DB is often reset but cookies persist
|
|
31
|
+
const userExists = await prisma.user.findUnique({ where: { id: userId } });
|
|
32
|
+
if (!userExists) {
|
|
33
|
+
console.warn(`[account-provisioning] ⚠️ User ${userId} missing from DB (stale session?). Recreating...`);
|
|
34
|
+
try {
|
|
35
|
+
await prisma.user.create({
|
|
36
|
+
data: {
|
|
37
|
+
id: userId,
|
|
38
|
+
email: email || `user-${userId}@example.com`,
|
|
39
|
+
name: name || "Recovered User",
|
|
40
|
+
subscription: "free",
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
console.log(`[account-provisioning] ✅ Recreated user ${userId}`);
|
|
44
|
+
}
|
|
45
|
+
catch (err) {
|
|
46
|
+
console.error(`[account-provisioning] ❌ Failed to recreate user:`, err);
|
|
47
|
+
throw new Error(`User ${userId} does not exist and could not be recreated.`);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
// 2. No account found - Provision a new one
|
|
51
|
+
console.log(`[account-provisioning] 👤 User ${userId} has no account. Provisioning default...`);
|
|
52
|
+
const safeEmail = email || "user";
|
|
53
|
+
const safeName = name || safeEmail.split("@")[0];
|
|
54
|
+
const accountName = `${safeName}'s Team`;
|
|
55
|
+
const slugBase = safeName.toLowerCase().replace(/[^a-z0-9]/g, "-");
|
|
56
|
+
const uniqueSlug = `${slugBase}-${Math.random()
|
|
57
|
+
.toString(36)
|
|
58
|
+
.substring(2, 7)}`;
|
|
59
|
+
try {
|
|
60
|
+
// Transaction to ensure atomicity
|
|
61
|
+
const newAccount = await prisma.$transaction(async (tx) => {
|
|
62
|
+
// Create TenantAccount
|
|
63
|
+
const account = await tx.tenantAccount.create({
|
|
64
|
+
data: {
|
|
65
|
+
name: accountName,
|
|
66
|
+
slug: uniqueSlug,
|
|
67
|
+
plan: "free", // Default to free
|
|
68
|
+
maxSeats: 1,
|
|
69
|
+
},
|
|
70
|
+
});
|
|
71
|
+
// Link User as OWNER
|
|
72
|
+
await tx.accountUser.create({
|
|
73
|
+
data: {
|
|
74
|
+
userId,
|
|
75
|
+
accountId: account.id,
|
|
76
|
+
role: "OWNER",
|
|
77
|
+
active: true,
|
|
78
|
+
},
|
|
79
|
+
});
|
|
80
|
+
return account;
|
|
81
|
+
});
|
|
82
|
+
console.log(`[account-provisioning] ✅ Created default account "${newAccount.name}" (${newAccount.id})`);
|
|
83
|
+
return newAccount.id;
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
console.error("[account-provisioning] ❌ Failed to provision account:", error);
|
|
87
|
+
throw new Error("Failed to provision default account");
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Gets the primary account ID for a user.
|
|
92
|
+
* Useful for session callbacks to populate session.user.accountId.
|
|
93
|
+
*/
|
|
94
|
+
export async function getPrimaryAccountId(userId) {
|
|
95
|
+
const link = await prisma.accountUser.findFirst({
|
|
96
|
+
where: {
|
|
97
|
+
userId,
|
|
98
|
+
active: true,
|
|
99
|
+
},
|
|
100
|
+
select: {
|
|
101
|
+
accountId: true,
|
|
102
|
+
},
|
|
103
|
+
orderBy: {
|
|
104
|
+
createdAt: "asc",
|
|
105
|
+
},
|
|
106
|
+
});
|
|
107
|
+
return link ? link.accountId : null;
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=account-provisioning.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account-provisioning.js","sourceRoot":"","sources":["../../../src/server/auth/account-provisioning.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Atlassian User Mapping
|
|
3
|
+
*
|
|
4
|
+
* Maps Atlassian account IDs to internal user IDs
|
|
5
|
+
*
|
|
6
|
+
* Note: atlassianAccountId field doesn't exist in simplified User schema
|
|
7
|
+
* This service uses email-based matching instead
|
|
8
|
+
*/
|
|
9
|
+
export interface AtlassianProfile {
|
|
10
|
+
accountId: string;
|
|
11
|
+
email: string;
|
|
12
|
+
name?: string | null;
|
|
13
|
+
picture?: string | null;
|
|
14
|
+
avatarUrl?: string | null;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Upsert user from Atlassian profile
|
|
18
|
+
* Note: atlassianAccountId field doesn't exist - uses email matching instead
|
|
19
|
+
*/
|
|
20
|
+
export declare function upsertUserFromAtlassianProfile(profile: AtlassianProfile): Promise<string>;
|
|
21
|
+
/**
|
|
22
|
+
* Get or create user ID for an Atlassian account ID
|
|
23
|
+
* Note: atlassianAccountId field doesn't exist - return null or create new user
|
|
24
|
+
*/
|
|
25
|
+
export declare function getOrCreateUserIdForAtlassianAccount(accountId: string, email?: string): Promise<string | null>;
|
|
26
|
+
/**
|
|
27
|
+
* Update user's Atlassian account ID
|
|
28
|
+
* Note: atlassianAccountId field doesn't exist - no-op
|
|
29
|
+
*/
|
|
30
|
+
export declare function updateUserAtlassianAccountId(userId: string, accountId: string): Promise<string>;
|
|
31
|
+
/**
|
|
32
|
+
* Check if user has Atlassian account linked
|
|
33
|
+
* Note: atlassianAccountId field doesn't exist - return false
|
|
34
|
+
*/
|
|
35
|
+
export declare function hasAtlassianAccount(userId: string): Promise<boolean>;
|
|
36
|
+
//# sourceMappingURL=atlassian-user-mapping.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"atlassian-user-mapping.d.ts","sourceRoot":"","sources":["../../../src/server/auth/atlassian-user-mapping.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;GAGG;AACH,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,MAAM,CAAC,CAsCjB;AAED;;;GAGG;AACH,wBAAsB,oCAAoC,CACxD,SAAS,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA2BxB;AAED;;;GAGG;AACH,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CAIjB;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQ1E"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Atlassian User Mapping
|
|
3
|
+
*
|
|
4
|
+
* Maps Atlassian account IDs to internal user IDs
|
|
5
|
+
*
|
|
6
|
+
* Note: atlassianAccountId field doesn't exist in simplified User schema
|
|
7
|
+
* This service uses email-based matching instead
|
|
8
|
+
*/
|
|
9
|
+
import { prisma } from '@/lib/prisma';
|
|
10
|
+
/**
|
|
11
|
+
* Upsert user from Atlassian profile
|
|
12
|
+
* Note: atlassianAccountId field doesn't exist - uses email matching instead
|
|
13
|
+
*/
|
|
14
|
+
export async function upsertUserFromAtlassianProfile(profile) {
|
|
15
|
+
const { accountId, email, name } = profile;
|
|
16
|
+
if (!email) {
|
|
17
|
+
throw new Error('Atlassian profile must have email');
|
|
18
|
+
}
|
|
19
|
+
// Try to find existing user by email
|
|
20
|
+
let user = await prisma.user.findUnique({
|
|
21
|
+
where: { email },
|
|
22
|
+
});
|
|
23
|
+
if (user) {
|
|
24
|
+
// Update existing user with latest profile data
|
|
25
|
+
// Note: atlassianAccountId field doesn't exist - just update name if provided
|
|
26
|
+
if (name && name !== user.name) {
|
|
27
|
+
user = await prisma.user.update({
|
|
28
|
+
where: { id: user.id },
|
|
29
|
+
data: {
|
|
30
|
+
name: name || user.name,
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
return user.id; // User.id is String in schema
|
|
35
|
+
}
|
|
36
|
+
// Create new user with Atlassian profile
|
|
37
|
+
const { randomUUID } = await import('crypto');
|
|
38
|
+
const newUser = await prisma.user.create({
|
|
39
|
+
data: {
|
|
40
|
+
id: randomUUID(),
|
|
41
|
+
email,
|
|
42
|
+
name: name || null,
|
|
43
|
+
subscription: 'free',
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
return newUser.id; // User.id is String in schema
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Get or create user ID for an Atlassian account ID
|
|
50
|
+
* Note: atlassianAccountId field doesn't exist - return null or create new user
|
|
51
|
+
*/
|
|
52
|
+
export async function getOrCreateUserIdForAtlassianAccount(accountId, email) {
|
|
53
|
+
// Note: atlassianAccountId field doesn't exist in simplified User schema
|
|
54
|
+
// Try to find user by email instead
|
|
55
|
+
if (email) {
|
|
56
|
+
const user = await prisma.user.findUnique({
|
|
57
|
+
where: { email },
|
|
58
|
+
});
|
|
59
|
+
if (user) {
|
|
60
|
+
return user.id; // User.id is String in schema
|
|
61
|
+
}
|
|
62
|
+
// Create new user if email provided
|
|
63
|
+
const { randomUUID } = await import('crypto');
|
|
64
|
+
const newUser = await prisma.user.create({
|
|
65
|
+
data: {
|
|
66
|
+
id: randomUUID(),
|
|
67
|
+
email,
|
|
68
|
+
subscription: 'free',
|
|
69
|
+
},
|
|
70
|
+
});
|
|
71
|
+
return newUser.id;
|
|
72
|
+
}
|
|
73
|
+
// No email provided and no atlassianAccountId field - return null
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Update user's Atlassian account ID
|
|
78
|
+
* Note: atlassianAccountId field doesn't exist - no-op
|
|
79
|
+
*/
|
|
80
|
+
export async function updateUserAtlassianAccountId(userId, accountId) {
|
|
81
|
+
// Note: atlassianAccountId field doesn't exist in simplified User schema
|
|
82
|
+
// No-op - just return userId
|
|
83
|
+
return userId;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Check if user has Atlassian account linked
|
|
87
|
+
* Note: atlassianAccountId field doesn't exist - return false
|
|
88
|
+
*/
|
|
89
|
+
export async function hasAtlassianAccount(userId) {
|
|
90
|
+
// Note: atlassianAccountId field doesn't exist in simplified User schema
|
|
91
|
+
// Check JiraCredential instead
|
|
92
|
+
const credential = await prisma.jiraCredential.findUnique({
|
|
93
|
+
where: { userId },
|
|
94
|
+
});
|
|
95
|
+
return !!credential;
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=atlassian-user-mapping.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"atlassian-user-mapping.js","sourceRoot":"","sources":["../../../src/server/auth/atlassian-user-mapping.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAUtC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,OAAyB;IAEzB,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAE3C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IAED,qCAAqC;IACrC,IAAI,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QACtC,KAAK,EAAE,EAAE,KAAK,EAAE;KACjB,CAAC,CAAC;IAEH,IAAI,IAAI,EAAE,CAAC;QACT,gDAAgD;QAChD,8EAA8E;QAC9E,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YAC/B,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC9B,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;gBACtB,IAAI,EAAE;oBACJ,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI;iBACxB;aACF,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,8BAA8B;IAChD,CAAC;IAED,yCAAyC;IACzC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QACvC,IAAI,EAAE;YACJ,EAAE,EAAE,UAAU,EAAE;YAChB,KAAK;YACL,IAAI,EAAE,IAAI,IAAI,IAAI;YAClB,YAAY,EAAE,MAAM;SACrB;KACF,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,8BAA8B;AACnD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oCAAoC,CACxD,SAAiB,EACjB,KAAc;IAEd,yEAAyE;IACzE,oCAAoC;IACpC,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;YACxC,KAAK,EAAE,EAAE,KAAK,EAAE;SACjB,CAAC,CAAC;QAEH,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,8BAA8B;QAChD,CAAC;QAED,oCAAoC;QACpC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;YACvC,IAAI,EAAE;gBACJ,EAAE,EAAE,UAAU,EAAE;gBAChB,KAAK;gBACL,YAAY,EAAE,MAAM;aACrB;SACF,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC,EAAE,CAAC;IACpB,CAAC;IAED,kEAAkE;IAClE,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,MAAc,EACd,SAAiB;IAEjB,yEAAyE;IACzE,6BAA6B;IAC7B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAAc;IACtD,yEAAyE;IACzE,+BAA+B;IAC/B,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC;QACxD,KAAK,EAAE,EAAE,MAAM,EAAE;KAClB,CAAC,CAAC;IAEH,OAAO,CAAC,CAAC,UAAU,CAAC;AACtB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { authOptions } from "@/lib/auth/options";
|
|
2
|
+
export { authOptions };
|
|
3
|
+
export declare function getCurrentUser(): Promise<{
|
|
4
|
+
id: string;
|
|
5
|
+
email: string;
|
|
6
|
+
subscription: string;
|
|
7
|
+
} | null>;
|
|
8
|
+
/**
|
|
9
|
+
* Get userId from session as a string
|
|
10
|
+
* Returns null if no session or userId
|
|
11
|
+
* Note: User.id is String in schema, so this returns string
|
|
12
|
+
*/
|
|
13
|
+
export declare function getUserId(): Promise<string | null>;
|
|
14
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/server/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,CAAC;AAGvB,wBAAsB,cAAc;;;;UAiBnC;AAED;;;;GAIG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CASxD"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { getServerSession } from "next-auth";
|
|
2
|
+
import { authOptions } from "@/lib/auth/options";
|
|
3
|
+
export { authOptions };
|
|
4
|
+
import { prisma } from "@/lib/prisma";
|
|
5
|
+
export async function getCurrentUser() {
|
|
6
|
+
const session = await getServerSession(authOptions);
|
|
7
|
+
if (!session || !session.userId) {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
const userId = session.userId;
|
|
11
|
+
const user = await prisma.user.findUnique({
|
|
12
|
+
where: { id: userId },
|
|
13
|
+
select: {
|
|
14
|
+
id: true,
|
|
15
|
+
email: true,
|
|
16
|
+
subscription: true, // Note: role and status fields don't exist in simplified schema
|
|
17
|
+
},
|
|
18
|
+
});
|
|
19
|
+
return user;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Get userId from session as a string
|
|
23
|
+
* Returns null if no session or userId
|
|
24
|
+
* Note: User.id is String in schema, so this returns string
|
|
25
|
+
*/
|
|
26
|
+
export async function getUserId() {
|
|
27
|
+
const session = await getServerSession(authOptions);
|
|
28
|
+
if (!session || !session.userId) {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
const userId = session.userId;
|
|
32
|
+
// User.id is String in schema, so keep as string
|
|
33
|
+
return typeof userId === "string" ? userId : String(userId);
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/server/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACpD,IAAI,CAAC,OAAO,IAAI,CAAE,OAAe,CAAC,MAAM,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAI,OAAe,CAAC,MAAM,CAAC;IACvC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QACxC,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;QACrB,MAAM,EAAE;YACN,EAAE,EAAE,IAAI;YACR,KAAK,EAAE,IAAI;YACX,YAAY,EAAE,IAAI,EAAE,gEAAgE;SACrF;KACF,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS;IAC7B,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACpD,IAAI,CAAC,OAAO,IAAI,CAAE,OAAe,CAAC,MAAM,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAI,OAAe,CAAC,MAAM,CAAC;IACvC,iDAAiD;IACjD,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC9D,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-User Jira Client Factory
|
|
3
|
+
*
|
|
4
|
+
* Creates ticket-mate clients using per-user OAuth tokens
|
|
5
|
+
*/
|
|
6
|
+
import type { JiraAuthContext } from '../../types';
|
|
7
|
+
/**
|
|
8
|
+
* Get Jira client for a specific user
|
|
9
|
+
* Uses the user's OAuth tokens from the database
|
|
10
|
+
*/
|
|
11
|
+
export declare function getJiraClientForUser(userId: string | number): Promise<JiraAuthContext>;
|
|
12
|
+
/**
|
|
13
|
+
* Get Jira auth context from legacy config (for background jobs)
|
|
14
|
+
* Uses global API token from environment variables
|
|
15
|
+
*/
|
|
16
|
+
export declare function getJiraClientFromConfig(): Promise<JiraAuthContext>;
|
|
17
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/server/jira/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAoB5F;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,eAAe,CAAC,CAuBxE"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-User Jira Client Factory
|
|
3
|
+
*
|
|
4
|
+
* Creates ticket-mate clients using per-user OAuth tokens
|
|
5
|
+
*/
|
|
6
|
+
import { refreshJiraTokenIfNeeded } from './tokens';
|
|
7
|
+
/**
|
|
8
|
+
* Get Jira client for a specific user
|
|
9
|
+
* Uses the user's OAuth tokens from the database
|
|
10
|
+
*/
|
|
11
|
+
export async function getJiraClientForUser(userId) {
|
|
12
|
+
// User.id is String in schema, keep as string
|
|
13
|
+
const userIdString = typeof userId === 'string' ? userId : String(userId);
|
|
14
|
+
if (!userIdString) {
|
|
15
|
+
throw new Error('Invalid user ID format.');
|
|
16
|
+
}
|
|
17
|
+
// Refresh token if needed
|
|
18
|
+
const credential = await refreshJiraTokenIfNeeded(userIdString);
|
|
19
|
+
// Build OAuth auth context
|
|
20
|
+
const authContext = {
|
|
21
|
+
mode: 'oauth',
|
|
22
|
+
cloudId: credential.cloudId,
|
|
23
|
+
accessToken: credential.accessToken,
|
|
24
|
+
useCloudApi: true, // Always use cloud API for OAuth
|
|
25
|
+
// Optional fields can be added from user preferences or defaults
|
|
26
|
+
};
|
|
27
|
+
return authContext;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Get Jira auth context from legacy config (for background jobs)
|
|
31
|
+
* Uses global API token from environment variables
|
|
32
|
+
*/
|
|
33
|
+
export async function getJiraClientFromConfig() {
|
|
34
|
+
const { getJiraConfig } = await import('../../config/config');
|
|
35
|
+
const config = getJiraConfig();
|
|
36
|
+
// Convert JiraConfig to JiraAuthContext (token mode)
|
|
37
|
+
const authContext = {
|
|
38
|
+
mode: 'token',
|
|
39
|
+
host: config.baseUrl.replace(/^https?:\/\//, ''),
|
|
40
|
+
email: config.email,
|
|
41
|
+
apiToken: config.apiToken,
|
|
42
|
+
cloudId: config.cloudId,
|
|
43
|
+
useCloudApi: config.useCloudApi,
|
|
44
|
+
projectKey: config.projectKey,
|
|
45
|
+
epicKey: config.epicKey,
|
|
46
|
+
label: config.label,
|
|
47
|
+
webhookSecret: config.webhookSecret,
|
|
48
|
+
epicLinkFieldId: config.epicLinkFieldId,
|
|
49
|
+
acceptanceCriteriaFieldId: config.acceptanceCriteriaFieldId,
|
|
50
|
+
transitions: config.transitions,
|
|
51
|
+
ai: config.ai,
|
|
52
|
+
};
|
|
53
|
+
return authContext;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/server/jira/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAEpD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAAuB;IAChE,8CAA8C;IAC9C,MAAM,YAAY,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1E,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,0BAA0B;IAC1B,MAAM,UAAU,GAAG,MAAM,wBAAwB,CAAC,YAAY,CAAC,CAAC;IAEhE,2BAA2B;IAC3B,MAAM,WAAW,GAAoB;QACnC,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,WAAW,EAAE,UAAU,CAAC,WAAW;QACnC,WAAW,EAAE,IAAI,EAAE,iCAAiC;QACpD,iEAAiE;KAClE,CAAC;IAEF,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB;IAC3C,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAE/B,qDAAqD;IACrD,MAAM,WAAW,GAAoB;QACnC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;QAChD,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,yBAAyB,EAAE,MAAM,CAAC,yBAAyB;QAC3D,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,EAAE,EAAE,MAAM,CAAC,EAAE;KACd,CAAC;IAEF,OAAO,WAAW,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Jira Cloud Info Discovery
|
|
3
|
+
*
|
|
4
|
+
* Discovers Jira base URL and Cloud ID from various sources:
|
|
5
|
+
* 1. Environment variables (ATLASSIAN_BASE_URL, ATLASSIAN_CLOUD_ID)
|
|
6
|
+
* 2. Database (jiraCredential.cloudId)
|
|
7
|
+
* 3. Auto-discovery via OAuth accessible-resources API
|
|
8
|
+
*/
|
|
9
|
+
export type JiraCloudInfo = {
|
|
10
|
+
baseUrl: string | null;
|
|
11
|
+
cloudId: string | null;
|
|
12
|
+
authMode: 'OAUTH' | 'PAT' | 'UNKNOWN';
|
|
13
|
+
source: {
|
|
14
|
+
baseUrl: 'env' | 'db' | 'auto' | 'unknown';
|
|
15
|
+
cloudId: 'env' | 'db' | 'auto' | 'unknown';
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Discover Jira Cloud information for a user
|
|
20
|
+
*
|
|
21
|
+
* Priority:
|
|
22
|
+
* 1. Environment variables
|
|
23
|
+
* 2. Database (jiraCredential)
|
|
24
|
+
* 3. Auto-discovery via OAuth accessible-resources API
|
|
25
|
+
*
|
|
26
|
+
* @param userId - User ID to discover info for
|
|
27
|
+
* @returns JiraCloudInfo with sources
|
|
28
|
+
*/
|
|
29
|
+
export declare function discoverJiraCloudInfo(userId: string): Promise<JiraCloudInfo>;
|
|
30
|
+
//# sourceMappingURL=cloudInfo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudInfo.d.ts","sourceRoot":"","sources":["../../../src/server/jira/cloudInfo.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS,CAAC;IACtC,MAAM,EAAE;QACN,OAAO,EAAE,KAAK,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;QAC3C,OAAO,EAAE,KAAK,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;KAC5C,CAAC;CACH,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAkJlF"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Jira Cloud Info Discovery
|
|
3
|
+
*
|
|
4
|
+
* Discovers Jira base URL and Cloud ID from various sources:
|
|
5
|
+
* 1. Environment variables (ATLASSIAN_BASE_URL, ATLASSIAN_CLOUD_ID)
|
|
6
|
+
* 2. Database (jiraCredential.cloudId)
|
|
7
|
+
* 3. Auto-discovery via OAuth accessible-resources API
|
|
8
|
+
*/
|
|
9
|
+
import { prisma } from '@/lib/prisma';
|
|
10
|
+
import { getUserJiraCredential } from './tokens';
|
|
11
|
+
import { logger } from '../../utils/logger';
|
|
12
|
+
/**
|
|
13
|
+
* Discover Jira Cloud information for a user
|
|
14
|
+
*
|
|
15
|
+
* Priority:
|
|
16
|
+
* 1. Environment variables
|
|
17
|
+
* 2. Database (jiraCredential)
|
|
18
|
+
* 3. Auto-discovery via OAuth accessible-resources API
|
|
19
|
+
*
|
|
20
|
+
* @param userId - User ID to discover info for
|
|
21
|
+
* @returns JiraCloudInfo with sources
|
|
22
|
+
*/
|
|
23
|
+
export async function discoverJiraCloudInfo(userId) {
|
|
24
|
+
const baseFromEnv = process.env.ATLASSIAN_BASE_URL || null;
|
|
25
|
+
const cloudFromEnv = process.env.ATLASSIAN_CLOUD_ID || null;
|
|
26
|
+
let baseUrl = baseFromEnv;
|
|
27
|
+
let cloudId = cloudFromEnv;
|
|
28
|
+
let baseSource = baseFromEnv ? 'env' : 'unknown';
|
|
29
|
+
let cloudSource = cloudFromEnv ? 'env' : 'unknown';
|
|
30
|
+
let authMode = 'UNKNOWN';
|
|
31
|
+
// Try to load jiraCredential for this user
|
|
32
|
+
let cred;
|
|
33
|
+
try {
|
|
34
|
+
cred = await getUserJiraCredential(userId);
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
// No credential found, continue with PAT check
|
|
38
|
+
}
|
|
39
|
+
if (cred?.accessToken) {
|
|
40
|
+
authMode = 'OAUTH';
|
|
41
|
+
// If we have cloudId stored on credential, prefer it over env (unless env is set)
|
|
42
|
+
if (!cloudFromEnv && cred.cloudId) {
|
|
43
|
+
cloudId = cred.cloudId;
|
|
44
|
+
cloudSource = 'db';
|
|
45
|
+
}
|
|
46
|
+
// If we have jiraBaseUrl stored on credential, prefer it over env (unless env is set)
|
|
47
|
+
if (!baseFromEnv && cred.jiraBaseUrl) {
|
|
48
|
+
baseUrl = cred.jiraBaseUrl;
|
|
49
|
+
baseSource = 'db';
|
|
50
|
+
}
|
|
51
|
+
// If still no cloudId, call accessible-resources once and persist
|
|
52
|
+
if (!cloudId) {
|
|
53
|
+
try {
|
|
54
|
+
logger.debug('[CloudInfo] Attempting auto-discovery via accessible-resources API');
|
|
55
|
+
const res = await fetch('https://api.atlassian.com/oauth/token/accessible-resources', {
|
|
56
|
+
method: 'GET',
|
|
57
|
+
headers: {
|
|
58
|
+
Authorization: `Bearer ${cred.accessToken}`,
|
|
59
|
+
Accept: 'application/json',
|
|
60
|
+
},
|
|
61
|
+
});
|
|
62
|
+
if (res.ok) {
|
|
63
|
+
const resources = (await res.json());
|
|
64
|
+
// Find Jira site (has read:jira-work scope or contains .atlassian.net)
|
|
65
|
+
const jiraSite = resources.find((r) => r.scopes?.includes('read:jira-work') ||
|
|
66
|
+
r.url?.includes('.atlassian.net') ||
|
|
67
|
+
r.name?.toLowerCase().includes('jira'));
|
|
68
|
+
if (jiraSite) {
|
|
69
|
+
const discoveredCloudId = jiraSite.id || jiraSite.idOrKey || null;
|
|
70
|
+
const discoveredBaseUrl = jiraSite.url || null;
|
|
71
|
+
if (discoveredCloudId) {
|
|
72
|
+
cloudId = discoveredCloudId;
|
|
73
|
+
cloudSource = 'auto';
|
|
74
|
+
// Persist cloudId on credential for next time
|
|
75
|
+
try {
|
|
76
|
+
await prisma.jiraCredential.update({
|
|
77
|
+
where: { userId },
|
|
78
|
+
data: { cloudId: discoveredCloudId },
|
|
79
|
+
});
|
|
80
|
+
logger.info('[CloudInfo] Auto-discovered and persisted cloudId', {
|
|
81
|
+
userId,
|
|
82
|
+
cloudId: discoveredCloudId,
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
catch (updateError) {
|
|
86
|
+
logger.warn('[CloudInfo] Failed to persist cloudId', {
|
|
87
|
+
userId,
|
|
88
|
+
error: updateError instanceof Error ? updateError.message : String(updateError),
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
if (discoveredBaseUrl && !baseFromEnv) {
|
|
93
|
+
baseUrl = discoveredBaseUrl;
|
|
94
|
+
baseSource = 'auto';
|
|
95
|
+
// Persist jiraBaseUrl on credential for next time
|
|
96
|
+
try {
|
|
97
|
+
await prisma.jiraCredential.update({
|
|
98
|
+
where: { userId },
|
|
99
|
+
data: { jiraBaseUrl: discoveredBaseUrl },
|
|
100
|
+
});
|
|
101
|
+
logger.info('[CloudInfo] Auto-discovered and persisted jiraBaseUrl', {
|
|
102
|
+
userId,
|
|
103
|
+
jiraBaseUrl: discoveredBaseUrl,
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
catch (updateError) {
|
|
107
|
+
logger.warn('[CloudInfo] Failed to persist jiraBaseUrl', {
|
|
108
|
+
userId,
|
|
109
|
+
error: updateError instanceof Error ? updateError.message : String(updateError),
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
logger.warn('[CloudInfo] No Jira site found in accessible-resources', {
|
|
116
|
+
userId,
|
|
117
|
+
resourcesCount: resources.length,
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
const errorText = await res.text();
|
|
123
|
+
logger.warn('[CloudInfo] accessible-resources API failed', {
|
|
124
|
+
userId,
|
|
125
|
+
status: res.status,
|
|
126
|
+
statusText: res.statusText,
|
|
127
|
+
error: errorText.substring(0, 200),
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
catch (e) {
|
|
132
|
+
logger.error('[CloudInfo] Failed to auto-discover cloud info', {
|
|
133
|
+
userId,
|
|
134
|
+
error: e instanceof Error ? e.message : String(e),
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
else if (process.env.ATLASSIAN_API_KEY && process.env.ATLASSIAN_EMAIL) {
|
|
140
|
+
authMode = 'PAT';
|
|
141
|
+
}
|
|
142
|
+
return {
|
|
143
|
+
baseUrl,
|
|
144
|
+
cloudId,
|
|
145
|
+
authMode,
|
|
146
|
+
source: {
|
|
147
|
+
baseUrl: baseSource,
|
|
148
|
+
cloudId: cloudSource,
|
|
149
|
+
},
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=cloudInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudInfo.js","sourceRoot":"","sources":["../../../src/server/jira/cloudInfo.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility to ensure a User exists before creating JiraCredential
|
|
3
|
+
*
|
|
4
|
+
* This prevents P2025 errors (record not found) when creating credentials.
|
|
5
|
+
* The User must exist before creating any JiraCredential that references it.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Ensure a User exists by userId
|
|
9
|
+
* If the user doesn't exist, throws an error (should not create users here)
|
|
10
|
+
*/
|
|
11
|
+
export declare function ensureUserExists(userId: string): Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* Ensure a User exists by email (creates if missing in DEV only)
|
|
14
|
+
* This is a fallback for cases where we have an email but no userId yet
|
|
15
|
+
*/
|
|
16
|
+
export declare function ensureUserByEmail(email: string, options?: {
|
|
17
|
+
name?: string;
|
|
18
|
+
createIfMissing?: boolean;
|
|
19
|
+
}): Promise<string>;
|
|
20
|
+
//# sourceMappingURL=ensure-user.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensure-user.d.ts","sourceRoot":"","sources":["../../../src/server/jira/ensure-user.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAepE;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;IACP,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,OAAO,CAAC;CACtB,GACL,OAAO,CAAC,MAAM,CAAC,CAuCjB"}
|