@pennyfarthing/core 7.4.0 → 7.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/utils/files.d.ts +0 -1
- package/dist/cli/utils/files.js +73 -56
- package/dist/cli/utils/manifest.d.ts +0 -1
- package/dist/cli/utils/manifest.js +48 -45
- package/dist/cli/utils/version.d.ts +0 -1
- package/dist/cli/utils/version.js +38 -32
- package/dist/index.d.ts +0 -1
- package/dist/index.js +39 -11
- package/dist/permissions/index.d.ts +0 -1
- package/dist/permissions/index.js +7 -4
- package/dist/permissions/permission-schema.d.ts +0 -1
- package/dist/permissions/permission-schema.js +13 -9
- package/dist/scripts/job-fair-aggregator.d.ts +0 -1
- package/dist/scripts/job-fair-aggregator.js +484 -341
- package/dist/workflow/index.d.ts +0 -1
- package/dist/workflow/index.js +12 -5
- package/dist/workflow/workflow-loader.d.ts +0 -1
- package/dist/workflow/workflow-loader.js +40 -34
- package/dist/workflow/workflow-permissions.d.ts +0 -1
- package/dist/workflow/workflow-permissions.js +14 -8
- package/dist/workflow/workflow-router.d.ts +0 -1
- package/dist/workflow/workflow-router.js +70 -51
- package/dist/workflow/workflow-schema.d.ts +0 -1
- package/dist/workflow/workflow-schema.js +62 -59
- package/package.json +1 -1
- package/dist/bmad/context-reader.d.ts +0 -71
- package/dist/bmad/context-reader.d.ts.map +0 -1
- package/dist/bmad/context-reader.js +0 -369
- package/dist/bmad/context-reader.js.map +0 -1
- package/dist/bmad/context-reader.test.d.ts +0 -71
- package/dist/bmad/context-reader.test.d.ts.map +0 -1
- package/dist/bmad/context-reader.test.js +0 -878
- package/dist/bmad/context-reader.test.js.map +0 -1
- package/dist/bmad/epics-parser.d.ts +0 -61
- package/dist/bmad/epics-parser.d.ts.map +0 -1
- package/dist/bmad/epics-parser.js +0 -331
- package/dist/bmad/epics-parser.js.map +0 -1
- package/dist/bmad/epics-parser.test.d.ts +0 -7
- package/dist/bmad/epics-parser.test.d.ts.map +0 -1
- package/dist/bmad/epics-parser.test.js +0 -449
- package/dist/bmad/epics-parser.test.js.map +0 -1
- package/dist/bmad/index.d.ts +0 -11
- package/dist/bmad/index.d.ts.map +0 -1
- package/dist/bmad/index.js +0 -24
- package/dist/bmad/index.js.map +0 -1
- package/dist/bmad/status-sync.d.ts +0 -173
- package/dist/bmad/status-sync.d.ts.map +0 -1
- package/dist/bmad/status-sync.js +0 -463
- package/dist/bmad/status-sync.js.map +0 -1
- package/dist/bmad/status-sync.test.d.ts +0 -7
- package/dist/bmad/status-sync.test.d.ts.map +0 -1
- package/dist/bmad/status-sync.test.js +0 -702
- package/dist/bmad/status-sync.test.js.map +0 -1
- package/dist/bmad/story-exporter.d.ts +0 -55
- package/dist/bmad/story-exporter.d.ts.map +0 -1
- package/dist/bmad/story-exporter.js +0 -170
- package/dist/bmad/story-exporter.js.map +0 -1
- package/dist/bmad/story-exporter.test.d.ts +0 -51
- package/dist/bmad/story-exporter.test.d.ts.map +0 -1
- package/dist/bmad/story-exporter.test.js +0 -603
- package/dist/bmad/story-exporter.test.js.map +0 -1
- package/dist/bmad/story-parser.d.ts +0 -44
- package/dist/bmad/story-parser.d.ts.map +0 -1
- package/dist/bmad/story-parser.js +0 -307
- package/dist/bmad/story-parser.js.map +0 -1
- package/dist/bmad/story-parser.test.d.ts +0 -44
- package/dist/bmad/story-parser.test.d.ts.map +0 -1
- package/dist/bmad/story-parser.test.js +0 -693
- package/dist/bmad/story-parser.test.js.map +0 -1
- package/dist/cli/commands/command.d.ts +0 -28
- package/dist/cli/commands/command.d.ts.map +0 -1
- package/dist/cli/commands/command.js +0 -399
- package/dist/cli/commands/command.js.map +0 -1
- package/dist/cli/commands/cyclist.d.ts +0 -46
- package/dist/cli/commands/cyclist.d.ts.map +0 -1
- package/dist/cli/commands/cyclist.js +0 -196
- package/dist/cli/commands/cyclist.js.map +0 -1
- package/dist/cli/commands/cyclist.test.d.ts +0 -13
- package/dist/cli/commands/cyclist.test.d.ts.map +0 -1
- package/dist/cli/commands/cyclist.test.js +0 -245
- package/dist/cli/commands/cyclist.test.js.map +0 -1
- package/dist/cli/commands/doctor.d.ts +0 -9
- package/dist/cli/commands/doctor.d.ts.map +0 -1
- package/dist/cli/commands/doctor.js +0 -652
- package/dist/cli/commands/doctor.js.map +0 -1
- package/dist/cli/commands/init.d.ts +0 -8
- package/dist/cli/commands/init.d.ts.map +0 -1
- package/dist/cli/commands/init.js +0 -524
- package/dist/cli/commands/init.js.map +0 -1
- package/dist/cli/commands/skill.d.ts +0 -28
- package/dist/cli/commands/skill.d.ts.map +0 -1
- package/dist/cli/commands/skill.js +0 -416
- package/dist/cli/commands/skill.js.map +0 -1
- package/dist/cli/commands/theme.d.ts +0 -21
- package/dist/cli/commands/theme.d.ts.map +0 -1
- package/dist/cli/commands/theme.js +0 -201
- package/dist/cli/commands/theme.js.map +0 -1
- package/dist/cli/commands/uninstall.d.ts +0 -8
- package/dist/cli/commands/uninstall.d.ts.map +0 -1
- package/dist/cli/commands/uninstall.js +0 -237
- package/dist/cli/commands/uninstall.js.map +0 -1
- package/dist/cli/commands/update.d.ts +0 -9
- package/dist/cli/commands/update.d.ts.map +0 -1
- package/dist/cli/commands/update.js +0 -418
- package/dist/cli/commands/update.js.map +0 -1
- package/dist/cli/commands/version.d.ts +0 -2
- package/dist/cli/commands/version.d.ts.map +0 -1
- package/dist/cli/commands/version.js +0 -28
- package/dist/cli/commands/version.js.map +0 -1
- package/dist/cli/customization.test.d.ts +0 -12
- package/dist/cli/customization.test.d.ts.map +0 -1
- package/dist/cli/customization.test.js +0 -84
- package/dist/cli/customization.test.js.map +0 -1
- package/dist/cli/cyclist-migration.test.d.ts +0 -16
- package/dist/cli/cyclist-migration.test.d.ts.map +0 -1
- package/dist/cli/cyclist-migration.test.js +0 -225
- package/dist/cli/cyclist-migration.test.js.map +0 -1
- package/dist/cli/index.d.ts +0 -3
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/index.js +0 -174
- package/dist/cli/index.js.map +0 -1
- package/dist/cli/ocean-profiles.test.d.ts +0 -13
- package/dist/cli/ocean-profiles.test.d.ts.map +0 -1
- package/dist/cli/ocean-profiles.test.js +0 -134
- package/dist/cli/ocean-profiles.test.js.map +0 -1
- package/dist/cli/theme-maker.test.d.ts +0 -11
- package/dist/cli/theme-maker.test.d.ts.map +0 -1
- package/dist/cli/theme-maker.test.js +0 -356
- package/dist/cli/theme-maker.test.js.map +0 -1
- package/dist/cli/utils/constants.d.ts +0 -66
- package/dist/cli/utils/constants.d.ts.map +0 -1
- package/dist/cli/utils/constants.js +0 -54
- package/dist/cli/utils/constants.js.map +0 -1
- package/dist/cli/utils/files.d.ts.map +0 -1
- package/dist/cli/utils/files.js.map +0 -1
- package/dist/cli/utils/logger.d.ts +0 -26
- package/dist/cli/utils/logger.d.ts.map +0 -1
- package/dist/cli/utils/logger.js +0 -88
- package/dist/cli/utils/logger.js.map +0 -1
- package/dist/cli/utils/manifest.d.ts.map +0 -1
- package/dist/cli/utils/manifest.js.map +0 -1
- package/dist/cli/utils/node-modules.d.ts +0 -6
- package/dist/cli/utils/node-modules.d.ts.map +0 -1
- package/dist/cli/utils/node-modules.js +0 -31
- package/dist/cli/utils/node-modules.js.map +0 -1
- package/dist/cli/utils/prompts.d.ts +0 -34
- package/dist/cli/utils/prompts.d.ts.map +0 -1
- package/dist/cli/utils/prompts.js +0 -93
- package/dist/cli/utils/prompts.js.map +0 -1
- package/dist/cli/utils/symlinks.d.ts +0 -29
- package/dist/cli/utils/symlinks.d.ts.map +0 -1
- package/dist/cli/utils/symlinks.js +0 -181
- package/dist/cli/utils/symlinks.js.map +0 -1
- package/dist/cli/utils/themes.d.ts +0 -101
- package/dist/cli/utils/themes.d.ts.map +0 -1
- package/dist/cli/utils/themes.js +0 -373
- package/dist/cli/utils/themes.js.map +0 -1
- package/dist/cli/utils/themes.test.d.ts +0 -12
- package/dist/cli/utils/themes.test.d.ts.map +0 -1
- package/dist/cli/utils/themes.test.js +0 -147
- package/dist/cli/utils/themes.test.js.map +0 -1
- package/dist/cli/utils/version.d.ts.map +0 -1
- package/dist/cli/utils/version.js.map +0 -1
- package/dist/cli/workspace.test.d.ts +0 -8
- package/dist/cli/workspace.test.d.ts.map +0 -1
- package/dist/cli/workspace.test.js +0 -151
- package/dist/cli/workspace.test.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/jira/jira-epic-creation.d.ts +0 -109
- package/dist/jira/jira-epic-creation.d.ts.map +0 -1
- package/dist/jira/jira-epic-creation.js +0 -253
- package/dist/jira/jira-epic-creation.js.map +0 -1
- package/dist/jira/jira-epic-creation.test.d.ts +0 -16
- package/dist/jira/jira-epic-creation.test.d.ts.map +0 -1
- package/dist/jira/jira-epic-creation.test.js +0 -387
- package/dist/jira/jira-epic-creation.test.js.map +0 -1
- package/dist/jira/jira-sprint-sync.d.ts +0 -247
- package/dist/jira/jira-sprint-sync.d.ts.map +0 -1
- package/dist/jira/jira-sprint-sync.js +0 -670
- package/dist/jira/jira-sprint-sync.js.map +0 -1
- package/dist/jira/jira-sprint-sync.test.d.ts +0 -16
- package/dist/jira/jira-sprint-sync.test.d.ts.map +0 -1
- package/dist/jira/jira-sprint-sync.test.js +0 -845
- package/dist/jira/jira-sprint-sync.test.js.map +0 -1
- package/dist/permissions/index.d.ts.map +0 -1
- package/dist/permissions/index.js.map +0 -1
- package/dist/permissions/permission-schema.d.ts.map +0 -1
- package/dist/permissions/permission-schema.js.map +0 -1
- package/dist/permissions/permission-schema.test.d.ts +0 -40
- package/dist/permissions/permission-schema.test.d.ts.map +0 -1
- package/dist/permissions/permission-schema.test.js +0 -367
- package/dist/permissions/permission-schema.test.js.map +0 -1
- package/dist/scripts/add-ocean-profiles.d.ts +0 -9
- package/dist/scripts/add-ocean-profiles.d.ts.map +0 -1
- package/dist/scripts/add-ocean-profiles.js +0 -695
- package/dist/scripts/add-ocean-profiles.js.map +0 -1
- package/dist/scripts/benchmark-integration.d.ts +0 -182
- package/dist/scripts/benchmark-integration.d.ts.map +0 -1
- package/dist/scripts/benchmark-integration.js +0 -691
- package/dist/scripts/benchmark-integration.js.map +0 -1
- package/dist/scripts/benchmark-integration.test.d.ts +0 -13
- package/dist/scripts/benchmark-integration.test.d.ts.map +0 -1
- package/dist/scripts/benchmark-integration.test.js +0 -680
- package/dist/scripts/benchmark-integration.test.js.map +0 -1
- package/dist/scripts/debugging-scenarios.test.d.ts +0 -18
- package/dist/scripts/debugging-scenarios.test.d.ts.map +0 -1
- package/dist/scripts/debugging-scenarios.test.js +0 -317
- package/dist/scripts/debugging-scenarios.test.js.map +0 -1
- package/dist/scripts/generate-all-spiders.d.ts +0 -10
- package/dist/scripts/generate-all-spiders.d.ts.map +0 -1
- package/dist/scripts/generate-all-spiders.js +0 -306
- package/dist/scripts/generate-all-spiders.js.map +0 -1
- package/dist/scripts/generate-report.d.ts +0 -65
- package/dist/scripts/generate-report.d.ts.map +0 -1
- package/dist/scripts/generate-report.js +0 -378
- package/dist/scripts/generate-report.js.map +0 -1
- package/dist/scripts/generate-report.test.d.ts +0 -13
- package/dist/scripts/generate-report.test.d.ts.map +0 -1
- package/dist/scripts/generate-report.test.js +0 -363
- package/dist/scripts/generate-report.test.js.map +0 -1
- package/dist/scripts/generate-spider-report.d.ts +0 -65
- package/dist/scripts/generate-spider-report.d.ts.map +0 -1
- package/dist/scripts/generate-spider-report.js +0 -366
- package/dist/scripts/generate-spider-report.js.map +0 -1
- package/dist/scripts/generate-spider-report.test.d.ts +0 -13
- package/dist/scripts/generate-spider-report.test.d.ts.map +0 -1
- package/dist/scripts/generate-spider-report.test.js +0 -367
- package/dist/scripts/generate-spider-report.test.js.map +0 -1
- package/dist/scripts/generate-spider.d.ts +0 -47
- package/dist/scripts/generate-spider.d.ts.map +0 -1
- package/dist/scripts/generate-spider.js +0 -338
- package/dist/scripts/generate-spider.js.map +0 -1
- package/dist/scripts/generate-spider.test.d.ts +0 -14
- package/dist/scripts/generate-spider.test.d.ts.map +0 -1
- package/dist/scripts/generate-spider.test.js +0 -271
- package/dist/scripts/generate-spider.test.js.map +0 -1
- package/dist/scripts/job-fair-aggregator.d.ts.map +0 -1
- package/dist/scripts/job-fair-aggregator.js.map +0 -1
- package/dist/scripts/job-fair-aggregator.test.d.ts +0 -14
- package/dist/scripts/job-fair-aggregator.test.d.ts.map +0 -1
- package/dist/scripts/job-fair-aggregator.test.js +0 -616
- package/dist/scripts/job-fair-aggregator.test.js.map +0 -1
- package/dist/scripts/run-ci.test.d.ts +0 -20
- package/dist/scripts/run-ci.test.d.ts.map +0 -1
- package/dist/scripts/run-ci.test.js +0 -127
- package/dist/scripts/run-ci.test.js.map +0 -1
- package/dist/scripts/theme-detail.test.d.ts +0 -10
- package/dist/scripts/theme-detail.test.d.ts.map +0 -1
- package/dist/scripts/theme-detail.test.js +0 -199
- package/dist/scripts/theme-detail.test.js.map +0 -1
- package/dist/scripts/validate-ocean-profiles.d.ts +0 -9
- package/dist/scripts/validate-ocean-profiles.d.ts.map +0 -1
- package/dist/scripts/validate-ocean-profiles.js +0 -130
- package/dist/scripts/validate-ocean-profiles.js.map +0 -1
- package/dist/workflow/gate-handler.d.ts +0 -94
- package/dist/workflow/gate-handler.d.ts.map +0 -1
- package/dist/workflow/gate-handler.js +0 -189
- package/dist/workflow/gate-handler.js.map +0 -1
- package/dist/workflow/gate-handler.test.d.ts +0 -14
- package/dist/workflow/gate-handler.test.d.ts.map +0 -1
- package/dist/workflow/gate-handler.test.js +0 -543
- package/dist/workflow/gate-handler.test.js.map +0 -1
- package/dist/workflow/generic-handoff.d.ts +0 -281
- package/dist/workflow/generic-handoff.d.ts.map +0 -1
- package/dist/workflow/generic-handoff.js +0 -411
- package/dist/workflow/generic-handoff.js.map +0 -1
- package/dist/workflow/generic-handoff.test.d.ts +0 -21
- package/dist/workflow/generic-handoff.test.d.ts.map +0 -1
- package/dist/workflow/generic-handoff.test.js +0 -499
- package/dist/workflow/generic-handoff.test.js.map +0 -1
- package/dist/workflow/generic-sm-finish.d.ts +0 -89
- package/dist/workflow/generic-sm-finish.d.ts.map +0 -1
- package/dist/workflow/generic-sm-finish.js +0 -157
- package/dist/workflow/generic-sm-finish.js.map +0 -1
- package/dist/workflow/generic-sm-setup.d.ts +0 -138
- package/dist/workflow/generic-sm-setup.d.ts.map +0 -1
- package/dist/workflow/generic-sm-setup.js +0 -382
- package/dist/workflow/generic-sm-setup.js.map +0 -1
- package/dist/workflow/index.d.ts.map +0 -1
- package/dist/workflow/index.js.map +0 -1
- package/dist/workflow/session-state.d.ts +0 -92
- package/dist/workflow/session-state.d.ts.map +0 -1
- package/dist/workflow/session-state.js +0 -198
- package/dist/workflow/session-state.js.map +0 -1
- package/dist/workflow/session-state.test.d.ts +0 -8
- package/dist/workflow/session-state.test.d.ts.map +0 -1
- package/dist/workflow/session-state.test.js +0 -551
- package/dist/workflow/session-state.test.js.map +0 -1
- package/dist/workflow/sm-subagents.test.d.ts +0 -23
- package/dist/workflow/sm-subagents.test.d.ts.map +0 -1
- package/dist/workflow/sm-subagents.test.js +0 -727
- package/dist/workflow/sm-subagents.test.js.map +0 -1
- package/dist/workflow/step-parser.d.ts +0 -45
- package/dist/workflow/step-parser.d.ts.map +0 -1
- package/dist/workflow/step-parser.js +0 -147
- package/dist/workflow/step-parser.js.map +0 -1
- package/dist/workflow/step-parser.test.d.ts +0 -14
- package/dist/workflow/step-parser.test.d.ts.map +0 -1
- package/dist/workflow/step-parser.test.js +0 -470
- package/dist/workflow/step-parser.test.js.map +0 -1
- package/dist/workflow/story-workflow-routing.test.d.ts +0 -17
- package/dist/workflow/story-workflow-routing.test.d.ts.map +0 -1
- package/dist/workflow/story-workflow-routing.test.js +0 -559
- package/dist/workflow/story-workflow-routing.test.js.map +0 -1
- package/dist/workflow/test-cache.d.ts +0 -131
- package/dist/workflow/test-cache.d.ts.map +0 -1
- package/dist/workflow/test-cache.js +0 -226
- package/dist/workflow/test-cache.js.map +0 -1
- package/dist/workflow/test-cache.test.d.ts +0 -17
- package/dist/workflow/test-cache.test.d.ts.map +0 -1
- package/dist/workflow/test-cache.test.js +0 -438
- package/dist/workflow/test-cache.test.js.map +0 -1
- package/dist/workflow/trimodal.d.ts +0 -86
- package/dist/workflow/trimodal.d.ts.map +0 -1
- package/dist/workflow/trimodal.js +0 -118
- package/dist/workflow/trimodal.js.map +0 -1
- package/dist/workflow/trimodal.test.d.ts +0 -11
- package/dist/workflow/trimodal.test.d.ts.map +0 -1
- package/dist/workflow/trimodal.test.js +0 -395
- package/dist/workflow/trimodal.test.js.map +0 -1
- package/dist/workflow/variable-resolver.d.ts +0 -67
- package/dist/workflow/variable-resolver.d.ts.map +0 -1
- package/dist/workflow/variable-resolver.js +0 -156
- package/dist/workflow/variable-resolver.js.map +0 -1
- package/dist/workflow/variable-resolver.test.d.ts +0 -14
- package/dist/workflow/variable-resolver.test.d.ts.map +0 -1
- package/dist/workflow/variable-resolver.test.js +0 -400
- package/dist/workflow/variable-resolver.test.js.map +0 -1
- package/dist/workflow/workflow-executor.d.ts +0 -163
- package/dist/workflow/workflow-executor.d.ts.map +0 -1
- package/dist/workflow/workflow-executor.js +0 -197
- package/dist/workflow/workflow-executor.js.map +0 -1
- package/dist/workflow/workflow-executor.test.d.ts +0 -8
- package/dist/workflow/workflow-executor.test.d.ts.map +0 -1
- package/dist/workflow/workflow-executor.test.js +0 -444
- package/dist/workflow/workflow-executor.test.js.map +0 -1
- package/dist/workflow/workflow-loader.d.ts.map +0 -1
- package/dist/workflow/workflow-loader.js.map +0 -1
- package/dist/workflow/workflow-loader.test.d.ts +0 -15
- package/dist/workflow/workflow-loader.test.d.ts.map +0 -1
- package/dist/workflow/workflow-loader.test.js +0 -354
- package/dist/workflow/workflow-loader.test.js.map +0 -1
- package/dist/workflow/workflow-migration.test.d.ts +0 -17
- package/dist/workflow/workflow-migration.test.d.ts.map +0 -1
- package/dist/workflow/workflow-migration.test.js +0 -371
- package/dist/workflow/workflow-migration.test.js.map +0 -1
- package/dist/workflow/workflow-permissions.d.ts.map +0 -1
- package/dist/workflow/workflow-permissions.js.map +0 -1
- package/dist/workflow/workflow-permissions.test.d.ts +0 -15
- package/dist/workflow/workflow-permissions.test.d.ts.map +0 -1
- package/dist/workflow/workflow-permissions.test.js +0 -301
- package/dist/workflow/workflow-permissions.test.js.map +0 -1
- package/dist/workflow/workflow-router.d.ts.map +0 -1
- package/dist/workflow/workflow-router.js.map +0 -1
- package/dist/workflow/workflow-router.test.d.ts +0 -20
- package/dist/workflow/workflow-router.test.d.ts.map +0 -1
- package/dist/workflow/workflow-router.test.js +0 -607
- package/dist/workflow/workflow-router.test.js.map +0 -1
- package/dist/workflow/workflow-schema.d.ts.map +0 -1
- package/dist/workflow/workflow-schema.js.map +0 -1
- package/dist/workflow/workflow-schema.test.d.ts +0 -45
- package/dist/workflow/workflow-schema.test.d.ts.map +0 -1
- package/dist/workflow/workflow-schema.test.js +0 -512
- package/dist/workflow/workflow-schema.test.js.map +0 -1
- package/dist/workflow/workflow-stepped-schema.test.d.ts +0 -18
- package/dist/workflow/workflow-stepped-schema.test.d.ts.map +0 -1
- package/dist/workflow/workflow-stepped-schema.test.js +0 -608
- package/dist/workflow/workflow-stepped-schema.test.js.map +0 -1
package/dist/workflow/index.d.ts
CHANGED
|
@@ -13,4 +13,3 @@ export { validateWorkflow, type WorkflowDefinition, type WorkflowPhase, type Wor
|
|
|
13
13
|
export { loadWorkflowFile, loadWorkflowsFromDir, type WorkflowLoadResult, type WorkflowLoadResults, } from './workflow-loader.js';
|
|
14
14
|
export { routeStoryToWorkflow, type StoryMetadata, type RoutingResult, } from './workflow-router.js';
|
|
15
15
|
export { checkWorkflowPermissions, type WorkflowPermissionCheckResult, } from './workflow-permissions.js';
|
|
16
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/workflow/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Workflow Module Exports
|
|
3
4
|
*
|
|
@@ -9,16 +10,22 @@
|
|
|
9
10
|
* - 31-3: Story-to-workflow routing
|
|
10
11
|
* - MSSCI-11710: Permission presets by workflow
|
|
11
12
|
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.checkWorkflowPermissions = exports.routeStoryToWorkflow = exports.loadWorkflowsFromDir = exports.loadWorkflowFile = exports.validateWorkflow = void 0;
|
|
12
15
|
// Schema validation and types
|
|
13
|
-
|
|
16
|
+
var workflow_schema_js_1 = require("./workflow-schema.js");
|
|
17
|
+
Object.defineProperty(exports, "validateWorkflow", { enumerable: true, get: function () { return workflow_schema_js_1.validateWorkflow; } });
|
|
14
18
|
// Workflow loading
|
|
15
|
-
|
|
19
|
+
var workflow_loader_js_1 = require("./workflow-loader.js");
|
|
20
|
+
Object.defineProperty(exports, "loadWorkflowFile", { enumerable: true, get: function () { return workflow_loader_js_1.loadWorkflowFile; } });
|
|
21
|
+
Object.defineProperty(exports, "loadWorkflowsFromDir", { enumerable: true, get: function () { return workflow_loader_js_1.loadWorkflowsFromDir; } });
|
|
16
22
|
// Story-to-workflow routing
|
|
17
|
-
|
|
23
|
+
var workflow_router_js_1 = require("./workflow-router.js");
|
|
24
|
+
Object.defineProperty(exports, "routeStoryToWorkflow", { enumerable: true, get: function () { return workflow_router_js_1.routeStoryToWorkflow; } });
|
|
18
25
|
// Permission checking (Story MSSCI-11710)
|
|
19
|
-
|
|
26
|
+
var workflow_permissions_js_1 = require("./workflow-permissions.js");
|
|
27
|
+
Object.defineProperty(exports, "checkWorkflowPermissions", { enumerable: true, get: function () { return workflow_permissions_js_1.checkWorkflowPermissions; } });
|
|
20
28
|
// Note: WorkflowPermissionPreset is exported from workflow-schema.ts
|
|
21
29
|
// to keep all workflow definition types in one place.
|
|
22
30
|
// The workflow-permissions.ts module has its own copy for backwards
|
|
23
31
|
// compatibility but workflow-schema.ts is the canonical source.
|
|
24
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -73,4 +73,3 @@ export declare function loadWorkflowFile(filePath: string): WorkflowLoadResult;
|
|
|
73
73
|
*/
|
|
74
74
|
export declare function loadWorkflowsFromDir(dirPath: string): WorkflowLoadResults;
|
|
75
75
|
export type { WorkflowDefinition, WorkflowPhase, WorkflowTriggers, WorkflowValidationError, WorkflowValidationResult } from './workflow-schema.js';
|
|
76
|
-
//# sourceMappingURL=workflow-loader.d.ts.map
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Workflow Loader
|
|
3
4
|
*
|
|
@@ -10,10 +11,13 @@
|
|
|
10
11
|
*
|
|
11
12
|
* Uses validateWorkflow() from workflow-schema.ts (Story 31-1)
|
|
12
13
|
*/
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.loadWorkflowFile = loadWorkflowFile;
|
|
16
|
+
exports.loadWorkflowsFromDir = loadWorkflowsFromDir;
|
|
17
|
+
var node_fs_1 = require("node:fs");
|
|
18
|
+
var node_path_1 = require("node:path");
|
|
19
|
+
var yaml_1 = require("yaml");
|
|
20
|
+
var workflow_schema_js_1 = require("./workflow-schema.js");
|
|
17
21
|
/**
|
|
18
22
|
* Load and validate a single workflow YAML file
|
|
19
23
|
*
|
|
@@ -30,52 +34,52 @@ import { validateWorkflow } from './workflow-schema.js';
|
|
|
30
34
|
* }
|
|
31
35
|
* ```
|
|
32
36
|
*/
|
|
33
|
-
|
|
37
|
+
function loadWorkflowFile(filePath) {
|
|
34
38
|
// 1. Read file from disk
|
|
35
|
-
|
|
39
|
+
var content;
|
|
36
40
|
try {
|
|
37
|
-
content = readFileSync(filePath, 'utf-8');
|
|
41
|
+
content = (0, node_fs_1.readFileSync)(filePath, 'utf-8');
|
|
38
42
|
}
|
|
39
43
|
catch (err) {
|
|
40
|
-
|
|
44
|
+
var message = err instanceof Error ? err.message : 'Unknown file read error';
|
|
41
45
|
return {
|
|
42
46
|
success: false,
|
|
43
|
-
filePath,
|
|
47
|
+
filePath: filePath,
|
|
44
48
|
errors: [{
|
|
45
49
|
field: 'file',
|
|
46
|
-
message: message.includes('ENOENT') ?
|
|
50
|
+
message: message.includes('ENOENT') ? "File not found: ".concat(filePath) : message
|
|
47
51
|
}]
|
|
48
52
|
};
|
|
49
53
|
}
|
|
50
54
|
// 2. Parse YAML
|
|
51
|
-
|
|
55
|
+
var parsed;
|
|
52
56
|
try {
|
|
53
|
-
parsed =
|
|
57
|
+
parsed = (0, yaml_1.parse)(content);
|
|
54
58
|
}
|
|
55
59
|
catch (err) {
|
|
56
|
-
|
|
60
|
+
var message = err instanceof Error ? err.message : 'Unknown YAML parse error';
|
|
57
61
|
return {
|
|
58
62
|
success: false,
|
|
59
|
-
filePath,
|
|
63
|
+
filePath: filePath,
|
|
60
64
|
errors: [{
|
|
61
65
|
field: 'yaml',
|
|
62
|
-
message:
|
|
66
|
+
message: "YAML parse error: ".concat(message)
|
|
63
67
|
}]
|
|
64
68
|
};
|
|
65
69
|
}
|
|
66
70
|
// 3. Call validateWorkflow()
|
|
67
|
-
|
|
71
|
+
var result = (0, workflow_schema_js_1.validateWorkflow)(parsed);
|
|
68
72
|
// 4. Return result
|
|
69
73
|
if (result.valid && result.workflow) {
|
|
70
74
|
return {
|
|
71
75
|
success: true,
|
|
72
|
-
filePath,
|
|
76
|
+
filePath: filePath,
|
|
73
77
|
workflow: result.workflow
|
|
74
78
|
};
|
|
75
79
|
}
|
|
76
80
|
return {
|
|
77
81
|
success: false,
|
|
78
|
-
filePath,
|
|
82
|
+
filePath: filePath,
|
|
79
83
|
errors: result.errors
|
|
80
84
|
};
|
|
81
85
|
}
|
|
@@ -97,37 +101,39 @@ export function loadWorkflowFile(filePath) {
|
|
|
97
101
|
* }
|
|
98
102
|
* ```
|
|
99
103
|
*/
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
104
|
+
function loadWorkflowsFromDir(dirPath) {
|
|
105
|
+
var workflows = [];
|
|
106
|
+
var errors = [];
|
|
103
107
|
// 1. Check directory exists
|
|
104
|
-
if (!existsSync(dirPath)) {
|
|
105
|
-
return { workflows, errors };
|
|
108
|
+
if (!(0, node_fs_1.existsSync)(dirPath)) {
|
|
109
|
+
return { workflows: workflows, errors: errors };
|
|
106
110
|
}
|
|
107
111
|
// 2. List files and filter for .yaml/.yml extensions
|
|
108
|
-
|
|
112
|
+
var files;
|
|
109
113
|
try {
|
|
110
|
-
files = readdirSync(dirPath);
|
|
114
|
+
files = (0, node_fs_1.readdirSync)(dirPath);
|
|
111
115
|
}
|
|
112
|
-
catch {
|
|
113
|
-
return { workflows, errors };
|
|
116
|
+
catch (_a) {
|
|
117
|
+
return { workflows: workflows, errors: errors };
|
|
114
118
|
}
|
|
115
|
-
|
|
119
|
+
var yamlFiles = files.filter(function (f) {
|
|
120
|
+
return f.endsWith('.yaml') || f.endsWith('.yml');
|
|
121
|
+
});
|
|
116
122
|
// 3. Call loadWorkflowFile() for each
|
|
117
|
-
for (
|
|
118
|
-
|
|
119
|
-
|
|
123
|
+
for (var _i = 0, yamlFiles_1 = yamlFiles; _i < yamlFiles_1.length; _i++) {
|
|
124
|
+
var file = yamlFiles_1[_i];
|
|
125
|
+
var filePath = (0, node_path_1.join)(dirPath, file);
|
|
126
|
+
var result = loadWorkflowFile(filePath);
|
|
120
127
|
// 4. Aggregate results
|
|
121
128
|
if (result.success && result.workflow) {
|
|
122
129
|
workflows.push(result.workflow);
|
|
123
130
|
}
|
|
124
131
|
else if (result.errors) {
|
|
125
132
|
errors.push({
|
|
126
|
-
filePath,
|
|
133
|
+
filePath: filePath,
|
|
127
134
|
errors: result.errors
|
|
128
135
|
});
|
|
129
136
|
}
|
|
130
137
|
}
|
|
131
|
-
return { workflows, errors };
|
|
138
|
+
return { workflows: workflows, errors: errors };
|
|
132
139
|
}
|
|
133
|
-
//# sourceMappingURL=workflow-loader.js.map
|
|
@@ -52,4 +52,3 @@ export interface WorkflowPermissionCheckResult {
|
|
|
52
52
|
* ```
|
|
53
53
|
*/
|
|
54
54
|
export declare function checkWorkflowPermissions(workflowPermissions: WorkflowPermissionPreset[], cachedGrants: PermissionGrant[]): WorkflowPermissionCheckResult;
|
|
55
|
-
//# sourceMappingURL=workflow-permissions.d.ts.map
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Workflow Permission Presets
|
|
3
4
|
*
|
|
@@ -6,6 +7,8 @@
|
|
|
6
7
|
* This module provides permission checking for workflow presets.
|
|
7
8
|
* Workflows can define required permissions that are checked at startup.
|
|
8
9
|
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.checkWorkflowPermissions = checkWorkflowPermissions;
|
|
9
12
|
/**
|
|
10
13
|
* Check if a permission preset is covered by a cached grant
|
|
11
14
|
*
|
|
@@ -42,23 +45,26 @@ function isGranted(preset, grant) {
|
|
|
42
45
|
* }
|
|
43
46
|
* ```
|
|
44
47
|
*/
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
48
|
+
function checkWorkflowPermissions(workflowPermissions, cachedGrants) {
|
|
49
|
+
var missing = [];
|
|
50
|
+
var granted = [];
|
|
51
|
+
var _loop_1 = function (preset) {
|
|
49
52
|
// Check if any cached grant covers this preset
|
|
50
|
-
|
|
53
|
+
var hasGrant = cachedGrants.some(function (grant) { return isGranted(preset, grant); });
|
|
51
54
|
if (hasGrant) {
|
|
52
55
|
granted.push(preset);
|
|
53
56
|
}
|
|
54
57
|
else {
|
|
55
58
|
missing.push(preset);
|
|
56
59
|
}
|
|
60
|
+
};
|
|
61
|
+
for (var _i = 0, workflowPermissions_1 = workflowPermissions; _i < workflowPermissions_1.length; _i++) {
|
|
62
|
+
var preset = workflowPermissions_1[_i];
|
|
63
|
+
_loop_1(preset);
|
|
57
64
|
}
|
|
58
65
|
return {
|
|
59
66
|
allGranted: missing.length === 0,
|
|
60
|
-
missing,
|
|
61
|
-
granted,
|
|
67
|
+
missing: missing,
|
|
68
|
+
granted: granted,
|
|
62
69
|
};
|
|
63
70
|
}
|
|
64
|
-
//# sourceMappingURL=workflow-permissions.js.map
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Workflow Router
|
|
3
4
|
*
|
|
@@ -11,6 +12,8 @@
|
|
|
11
12
|
* 4. Points match (story points within workflow trigger range)
|
|
12
13
|
* 5. Default workflow fallback
|
|
13
14
|
*/
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.routeStoryToWorkflow = routeStoryToWorkflow;
|
|
14
17
|
/**
|
|
15
18
|
* Helper to check if a trigger's constraints are satisfied by a story
|
|
16
19
|
* This ensures ALL constraints in a trigger must match (AND logic within a trigger)
|
|
@@ -35,9 +38,9 @@ function doesStoryMatchTrigger(story, triggers, matchType) {
|
|
|
35
38
|
if (story.points === undefined) {
|
|
36
39
|
return false;
|
|
37
40
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
+
var _a = triggers.points, min = _a.min, max = _a.max;
|
|
42
|
+
var hasMin = min !== undefined;
|
|
43
|
+
var hasMax = max !== undefined;
|
|
41
44
|
if (hasMin && story.points < min) {
|
|
42
45
|
return false;
|
|
43
46
|
}
|
|
@@ -64,32 +67,32 @@ function doesStoryMatchTrigger(story, triggers, matchType) {
|
|
|
64
67
|
* }
|
|
65
68
|
* ```
|
|
66
69
|
*/
|
|
67
|
-
|
|
70
|
+
function routeStoryToWorkflow(story, workflows) {
|
|
68
71
|
if (workflows.length === 0) {
|
|
69
72
|
return null;
|
|
70
73
|
}
|
|
71
74
|
// Priority 1: Explicit workflow:xyz tag
|
|
72
|
-
|
|
75
|
+
var explicitMatch = findExplicitTagMatch(story, workflows);
|
|
73
76
|
if (explicitMatch) {
|
|
74
77
|
return explicitMatch;
|
|
75
78
|
}
|
|
76
79
|
// Priority 2: Trigger tag match
|
|
77
|
-
|
|
80
|
+
var tagMatch = findTriggerTagMatch(story, workflows);
|
|
78
81
|
if (tagMatch) {
|
|
79
82
|
return tagMatch;
|
|
80
83
|
}
|
|
81
84
|
// Priority 3: Type match
|
|
82
|
-
|
|
85
|
+
var typeMatch = findTypeMatch(story, workflows);
|
|
83
86
|
if (typeMatch) {
|
|
84
87
|
return typeMatch;
|
|
85
88
|
}
|
|
86
89
|
// Priority 4: Points match
|
|
87
|
-
|
|
90
|
+
var pointsMatch = findPointsMatch(story, workflows);
|
|
88
91
|
if (pointsMatch) {
|
|
89
92
|
return pointsMatch;
|
|
90
93
|
}
|
|
91
94
|
// Priority 5: Default fallback
|
|
92
|
-
|
|
95
|
+
var defaultMatch = findDefaultWorkflow(workflows);
|
|
93
96
|
if (defaultMatch) {
|
|
94
97
|
return defaultMatch;
|
|
95
98
|
}
|
|
@@ -102,19 +105,25 @@ function findExplicitTagMatch(story, workflows) {
|
|
|
102
105
|
if (!story.tags || story.tags.length === 0) {
|
|
103
106
|
return null;
|
|
104
107
|
}
|
|
105
|
-
|
|
106
|
-
for (const tag of story.tags) {
|
|
108
|
+
var _loop_1 = function (tag) {
|
|
107
109
|
if (tag.startsWith('workflow:')) {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
+
var workflowName_1 = tag.slice('workflow:'.length);
|
|
111
|
+
var workflow = workflows.find(function (w) { return w.name === workflowName_1; });
|
|
110
112
|
if (workflow) {
|
|
111
|
-
return {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
113
|
+
return { value: {
|
|
114
|
+
workflow: workflow,
|
|
115
|
+
reason: "Matched explicit tag 'workflow:".concat(workflowName_1, "' to workflow '").concat(workflow.name, "'")
|
|
116
|
+
} };
|
|
115
117
|
}
|
|
116
118
|
// Explicit tag didn't match any workflow - continue to other matching rules
|
|
117
119
|
}
|
|
120
|
+
};
|
|
121
|
+
// Find first workflow: tag
|
|
122
|
+
for (var _i = 0, _a = story.tags; _i < _a.length; _i++) {
|
|
123
|
+
var tag = _a[_i];
|
|
124
|
+
var state_1 = _loop_1(tag);
|
|
125
|
+
if (typeof state_1 === "object")
|
|
126
|
+
return state_1.value;
|
|
118
127
|
}
|
|
119
128
|
return null;
|
|
120
129
|
}
|
|
@@ -122,30 +131,37 @@ function findExplicitTagMatch(story, workflows) {
|
|
|
122
131
|
* Find workflow by trigger tags (story tags intersect workflow trigger.tags)
|
|
123
132
|
*/
|
|
124
133
|
function findTriggerTagMatch(story, workflows) {
|
|
134
|
+
var _a;
|
|
125
135
|
if (!story.tags || story.tags.length === 0) {
|
|
126
136
|
return null;
|
|
127
137
|
}
|
|
128
138
|
// Filter out workflow: tags (those are handled by explicit match)
|
|
129
|
-
|
|
139
|
+
var storyTags = story.tags.filter(function (t) { return !t.startsWith('workflow:'); });
|
|
130
140
|
if (storyTags.length === 0) {
|
|
131
141
|
return null;
|
|
132
142
|
}
|
|
133
|
-
|
|
134
|
-
|
|
143
|
+
var _loop_2 = function (workflow) {
|
|
144
|
+
var triggerTags = (_a = workflow.triggers) === null || _a === void 0 ? void 0 : _a.tags;
|
|
135
145
|
if (!triggerTags || triggerTags.length === 0) {
|
|
136
|
-
continue;
|
|
146
|
+
return "continue";
|
|
137
147
|
}
|
|
138
148
|
// Check if any story tag matches any trigger tag
|
|
139
|
-
|
|
149
|
+
var matchingTag = storyTags.find(function (t) { return triggerTags.includes(t); });
|
|
140
150
|
if (matchingTag) {
|
|
141
151
|
// Verify all other constraints are met
|
|
142
152
|
if (doesStoryMatchTrigger(story, workflow.triggers, 'trigger-tag')) {
|
|
143
|
-
return {
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
153
|
+
return { value: {
|
|
154
|
+
workflow: workflow,
|
|
155
|
+
reason: "Matched tag '".concat(matchingTag, "' to workflow '").concat(workflow.name, "'")
|
|
156
|
+
} };
|
|
147
157
|
}
|
|
148
158
|
}
|
|
159
|
+
};
|
|
160
|
+
for (var _i = 0, workflows_1 = workflows; _i < workflows_1.length; _i++) {
|
|
161
|
+
var workflow = workflows_1[_i];
|
|
162
|
+
var state_2 = _loop_2(workflow);
|
|
163
|
+
if (typeof state_2 === "object")
|
|
164
|
+
return state_2.value;
|
|
149
165
|
}
|
|
150
166
|
return null;
|
|
151
167
|
}
|
|
@@ -158,14 +174,16 @@ function findTriggerTagMatch(story, workflows) {
|
|
|
158
174
|
* (which has no points constraint).
|
|
159
175
|
*/
|
|
160
176
|
function findTypeMatch(story, workflows) {
|
|
177
|
+
var _a, _b;
|
|
161
178
|
if (!story.type) {
|
|
162
179
|
return null;
|
|
163
180
|
}
|
|
164
181
|
// Collect all type matches, sorted by specificity
|
|
165
182
|
// Specificity: workflows with points constraints > workflows without
|
|
166
|
-
|
|
167
|
-
for (
|
|
168
|
-
|
|
183
|
+
var typeMatches = [];
|
|
184
|
+
for (var _i = 0, workflows_2 = workflows; _i < workflows_2.length; _i++) {
|
|
185
|
+
var workflow = workflows_2[_i];
|
|
186
|
+
var triggerTypes = (_a = workflow.triggers) === null || _a === void 0 ? void 0 : _a.types;
|
|
169
187
|
if (!triggerTypes || triggerTypes.length === 0) {
|
|
170
188
|
continue;
|
|
171
189
|
}
|
|
@@ -173,19 +191,19 @@ function findTypeMatch(story, workflows) {
|
|
|
173
191
|
// Verify all constraints are met (including points if specified)
|
|
174
192
|
if (doesStoryMatchTrigger(story, workflow.triggers, 'type')) {
|
|
175
193
|
// Calculate specificity: workflows with points constraints are more specific
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
typeMatches.push({ workflow, specificity });
|
|
194
|
+
var hasPointsConstraint = ((_b = workflow.triggers) === null || _b === void 0 ? void 0 : _b.points) !== undefined;
|
|
195
|
+
var specificity = hasPointsConstraint ? 1 : 0;
|
|
196
|
+
typeMatches.push({ workflow: workflow, specificity: specificity });
|
|
179
197
|
}
|
|
180
198
|
}
|
|
181
199
|
}
|
|
182
200
|
// Sort by specificity descending, then return the first match
|
|
183
201
|
if (typeMatches.length > 0) {
|
|
184
|
-
typeMatches.sort((a, b)
|
|
185
|
-
|
|
202
|
+
typeMatches.sort(function (a, b) { return b.specificity - a.specificity; });
|
|
203
|
+
var match = typeMatches[0];
|
|
186
204
|
return {
|
|
187
205
|
workflow: match.workflow,
|
|
188
|
-
reason:
|
|
206
|
+
reason: "Matched type '".concat(story.type, "' to workflow '").concat(match.workflow.name, "'")
|
|
189
207
|
};
|
|
190
208
|
}
|
|
191
209
|
return null;
|
|
@@ -194,35 +212,37 @@ function findTypeMatch(story, workflows) {
|
|
|
194
212
|
* Find workflow by points range (story.points within workflow.triggers.points min/max)
|
|
195
213
|
*/
|
|
196
214
|
function findPointsMatch(story, workflows) {
|
|
215
|
+
var _a;
|
|
197
216
|
if (story.points === undefined) {
|
|
198
217
|
return null;
|
|
199
218
|
}
|
|
200
|
-
for (
|
|
201
|
-
|
|
219
|
+
for (var _i = 0, workflows_3 = workflows; _i < workflows_3.length; _i++) {
|
|
220
|
+
var workflow = workflows_3[_i];
|
|
221
|
+
var triggerPoints = (_a = workflow.triggers) === null || _a === void 0 ? void 0 : _a.points;
|
|
202
222
|
if (!triggerPoints) {
|
|
203
223
|
continue;
|
|
204
224
|
}
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
225
|
+
var min = triggerPoints.min, max = triggerPoints.max;
|
|
226
|
+
var hasMin = min !== undefined;
|
|
227
|
+
var hasMax = max !== undefined;
|
|
208
228
|
// Must have at least one constraint
|
|
209
229
|
if (!hasMin && !hasMax) {
|
|
210
230
|
continue;
|
|
211
231
|
}
|
|
212
232
|
// Check constraints
|
|
213
|
-
|
|
214
|
-
|
|
233
|
+
var meetsMin = !hasMin || story.points >= min;
|
|
234
|
+
var meetsMax = !hasMax || story.points <= max;
|
|
215
235
|
if (meetsMin && meetsMax) {
|
|
216
236
|
// Verify all constraints are met
|
|
217
237
|
if (doesStoryMatchTrigger(story, workflow.triggers, 'points')) {
|
|
218
|
-
|
|
219
|
-
?
|
|
238
|
+
var rangeDesc = hasMin && hasMax
|
|
239
|
+
? "".concat(min, "-").concat(max)
|
|
220
240
|
: hasMin
|
|
221
|
-
?
|
|
222
|
-
:
|
|
241
|
+
? ">=".concat(min)
|
|
242
|
+
: "<=".concat(max);
|
|
223
243
|
return {
|
|
224
|
-
workflow,
|
|
225
|
-
reason:
|
|
244
|
+
workflow: workflow,
|
|
245
|
+
reason: "Matched points ".concat(story.points, " (range: ").concat(rangeDesc, ") to workflow '").concat(workflow.name, "'")
|
|
226
246
|
};
|
|
227
247
|
}
|
|
228
248
|
}
|
|
@@ -233,13 +253,12 @@ function findPointsMatch(story, workflows) {
|
|
|
233
253
|
* Find default workflow (triggers.default: true)
|
|
234
254
|
*/
|
|
235
255
|
function findDefaultWorkflow(workflows) {
|
|
236
|
-
|
|
256
|
+
var defaultWorkflow = workflows.find(function (w) { var _a; return ((_a = w.triggers) === null || _a === void 0 ? void 0 : _a.default) === true; });
|
|
237
257
|
if (defaultWorkflow) {
|
|
238
258
|
return {
|
|
239
259
|
workflow: defaultWorkflow,
|
|
240
|
-
reason:
|
|
260
|
+
reason: "Using default workflow '".concat(defaultWorkflow.name, "'")
|
|
241
261
|
};
|
|
242
262
|
}
|
|
243
263
|
return null;
|
|
244
264
|
}
|
|
245
|
-
//# sourceMappingURL=workflow-router.js.map
|