@nocobase/app-plugin-projects 0.1.0-beta.7 → 0.1.0-beta.9
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/CHANGELOG.md +58 -0
- package/README.md +60 -104
- package/dist/client/api/changed-issues.d.ts +12 -0
- package/dist/client/api/changed-issues.d.ts.map +1 -0
- package/dist/client/api/changed-issues.js +30 -0
- package/dist/client/api/changed-issues.js.map +1 -0
- package/dist/client/api/client.d.ts +4 -23
- package/dist/client/api/client.d.ts.map +1 -1
- package/dist/client/api/client.js +4 -48
- package/dist/client/api/client.js.map +1 -1
- package/dist/client/api/keys.d.ts +2 -8
- package/dist/client/api/keys.d.ts.map +1 -1
- package/dist/client/api/keys.js +2 -17
- package/dist/client/api/keys.js.map +1 -1
- package/dist/client/components/pm-badges.d.ts +1 -1
- package/dist/client/components/pm-badges.d.ts.map +1 -1
- package/dist/client/components/pm-executor-select.d.ts +2 -0
- package/dist/client/components/pm-executor-select.d.ts.map +1 -1
- package/dist/client/components/pm-executor-select.js.map +1 -1
- package/dist/client/components/ui/radio-group.d.ts +7 -0
- package/dist/client/components/ui/radio-group.d.ts.map +1 -0
- package/dist/client/components/ui/radio-group.js +12 -0
- package/dist/client/components/ui/radio-group.js.map +1 -0
- package/dist/client/config.d.ts +0 -2
- package/dist/client/config.d.ts.map +1 -1
- package/dist/client/config.js +1 -5
- package/dist/client/config.js.map +1 -1
- package/dist/client/issues.d.ts +2 -4
- package/dist/client/issues.d.ts.map +1 -1
- package/dist/client/issues.js +2 -3
- package/dist/client/issues.js.map +1 -1
- package/dist/client/kit/plans/lookup.d.ts +2 -2
- package/dist/client/kit/plans/lookup.js +3 -3
- package/dist/client/kit/plans/lookup.js.map +1 -1
- package/dist/client/kit/plans/plan-row.js +2 -2
- package/dist/client/kit/plans/plan-row.js.map +1 -1
- package/dist/client/kit.d.ts +3 -9
- package/dist/client/kit.d.ts.map +1 -1
- package/dist/client/kit.js +3 -9
- package/dist/client/kit.js.map +1 -1
- package/dist/client/lib/kinds.d.ts +3 -29
- package/dist/client/lib/kinds.d.ts.map +1 -1
- package/dist/client/lib/kinds.js +7 -46
- package/dist/client/lib/kinds.js.map +1 -1
- package/dist/client/lib/status-events.d.ts +21 -0
- package/dist/client/lib/status-events.d.ts.map +1 -0
- package/dist/client/lib/status-events.js +31 -0
- package/dist/client/lib/status-events.js.map +1 -0
- package/dist/client/lib/status.d.ts +5 -7
- package/dist/client/lib/status.d.ts.map +1 -1
- package/dist/client/lib/status.js +5 -7
- package/dist/client/lib/status.js.map +1 -1
- package/dist/client/locales/en-US.d.ts +6 -256
- package/dist/client/locales/en-US.d.ts.map +1 -1
- package/dist/client/locales/en-US.js +9 -255
- package/dist/client/locales/en-US.js.map +1 -1
- package/dist/client/locales/zh-CN.d.ts.map +1 -1
- package/dist/client/locales/zh-CN.js +10 -248
- package/dist/client/locales/zh-CN.js.map +1 -1
- package/dist/client/pages/issues/board/board-model.d.ts +1 -1
- package/dist/client/pages/issues/board/board-model.js +1 -1
- package/dist/client/pages/issues/board/use-board-move.d.ts +2 -8
- package/dist/client/pages/issues/board/use-board-move.d.ts.map +1 -1
- package/dist/client/pages/issues/board/use-board-move.js +5 -42
- package/dist/client/pages/issues/board/use-board-move.js.map +1 -1
- package/dist/client/pages/issues/detail/new-subtask.d.ts.map +1 -1
- package/dist/client/pages/issues/detail/new-subtask.js +6 -28
- package/dist/client/pages/issues/detail/new-subtask.js.map +1 -1
- package/dist/client/pages/issues/detail/subtask-model.d.ts +1 -1
- package/dist/client/pages/issues/detail/subtask-model.js +1 -1
- package/dist/client/pages/issues/detail/use-confirmed-update.d.ts +6 -8
- package/dist/client/pages/issues/detail/use-confirmed-update.d.ts.map +1 -1
- package/dist/client/pages/issues/detail/use-confirmed-update.js +9 -42
- package/dist/client/pages/issues/detail/use-confirmed-update.js.map +1 -1
- package/dist/client/pages/issues/detail/use-issue-page.d.ts +0 -4
- package/dist/client/pages/issues/detail/use-issue-page.d.ts.map +1 -1
- package/dist/client/pages/issues/detail/use-issue-page.js +0 -14
- package/dist/client/pages/issues/detail/use-issue-page.js.map +1 -1
- package/dist/client/pages/issues/detail/use-issue-update.d.ts +2 -2
- package/dist/client/pages/issues/detail/use-issue-update.d.ts.map +1 -1
- package/dist/client/pages/issues/detail/use-issue-update.js +4 -6
- package/dist/client/pages/issues/detail/use-issue-update.js.map +1 -1
- package/dist/client/pages/issues/new-issue-form.d.ts +11 -8
- package/dist/client/pages/issues/new-issue-form.d.ts.map +1 -1
- package/dist/client/pages/issues/new-issue-form.js +47 -79
- package/dist/client/pages/issues/new-issue-form.js.map +1 -1
- package/dist/client/pages/issues/new.d.ts.map +1 -1
- package/dist/client/pages/issues/new.js +2 -1
- package/dist/client/pages/issues/new.js.map +1 -1
- package/dist/client/pages/issues/use-executor-options.d.ts +3 -2
- package/dist/client/pages/issues/use-executor-options.d.ts.map +1 -1
- package/dist/client/pages/issues/use-executor-options.js +5 -23
- package/dist/client/pages/issues/use-executor-options.js.map +1 -1
- package/dist/client/pages/projects/detail/use-project-page.d.ts +4 -26
- package/dist/client/pages/projects/detail/use-project-page.d.ts.map +1 -1
- package/dist/client/pages/projects/detail/use-project-page.js +7 -53
- package/dist/client/pages/projects/detail/use-project-page.js.map +1 -1
- package/dist/client/pages/projects/new.d.ts +1 -1
- package/dist/client/pages/projects/new.d.ts.map +1 -1
- package/dist/client/pages/projects/new.js +3 -7
- package/dist/client/pages/projects/new.js.map +1 -1
- package/dist/client/plugin.d.ts +3 -0
- package/dist/client/plugin.d.ts.map +1 -1
- package/dist/client/plugin.js +8 -1
- package/dist/client/plugin.js.map +1 -1
- package/dist/client/projects.d.ts +2 -2
- package/dist/client/projects.d.ts.map +1 -1
- package/dist/client/projects.js +2 -2
- package/dist/client/projects.js.map +1 -1
- package/dist/client/providers/query-provider.d.ts.map +1 -1
- package/dist/client/providers/query-provider.js +13 -10
- package/dist/client/providers/query-provider.js.map +1 -1
- package/dist/database/migrations/.manifest.json +8 -0
- package/dist/database/migrations/202610240010_pm_fixed_statuses.d.ts +4 -0
- package/dist/database/migrations/202610240010_pm_fixed_statuses.d.ts.map +1 -0
- package/dist/database/migrations/202610240010_pm_fixed_statuses.js +189 -0
- package/dist/database/migrations/202610240010_pm_fixed_statuses.js.map +1 -0
- package/dist/database/migrations/202610240011_pm_issue_progress.d.ts +4 -0
- package/dist/database/migrations/202610240011_pm_issue_progress.d.ts.map +1 -0
- package/dist/database/migrations/202610240011_pm_issue_progress.js +19 -0
- package/dist/database/migrations/202610240011_pm_issue_progress.js.map +1 -0
- package/dist/server/composition.d.ts +11 -17
- package/dist/server/composition.d.ts.map +1 -1
- package/dist/server/composition.js +11 -56
- package/dist/server/composition.js.map +1 -1
- package/dist/server/domains/comments/comment.queries.d.ts +31 -0
- package/dist/server/domains/comments/comment.queries.d.ts.map +1 -1
- package/dist/server/domains/comments/comment.queries.js +27 -1
- package/dist/server/domains/comments/comment.queries.js.map +1 -1
- package/dist/server/domains/comments/comment.store.d.ts +19 -0
- package/dist/server/domains/comments/comment.store.d.ts.map +1 -1
- package/dist/server/domains/comments/comment.store.js +55 -0
- package/dist/server/domains/comments/comment.store.js.map +1 -1
- package/dist/server/domains/comments/index.d.ts +1 -1
- package/dist/server/domains/comments/index.d.ts.map +1 -1
- package/dist/server/domains/comments/index.js.map +1 -1
- package/dist/server/domains/issues/index.d.ts +1 -1
- package/dist/server/domains/issues/index.d.ts.map +1 -1
- package/dist/server/domains/issues/index.js +1 -1
- package/dist/server/domains/issues/index.js.map +1 -1
- package/dist/server/domains/issues/issue.context.d.ts +6 -22
- package/dist/server/domains/issues/issue.context.d.ts.map +1 -1
- package/dist/server/domains/issues/issue.context.js +1 -22
- package/dist/server/domains/issues/issue.context.js.map +1 -1
- package/dist/server/domains/issues/issue.fields.d.ts +5 -3
- package/dist/server/domains/issues/issue.fields.d.ts.map +1 -1
- package/dist/server/domains/issues/issue.fields.js +37 -16
- package/dist/server/domains/issues/issue.fields.js.map +1 -1
- package/dist/server/domains/issues/issue.projects.d.ts +2 -2
- package/dist/server/domains/issues/issue.projects.d.ts.map +1 -1
- package/dist/server/domains/issues/issue.projects.js +1 -2
- package/dist/server/domains/issues/issue.projects.js.map +1 -1
- package/dist/server/domains/issues/issue.queries.d.ts +10 -7
- package/dist/server/domains/issues/issue.queries.d.ts.map +1 -1
- package/dist/server/domains/issues/issue.queries.js +15 -41
- package/dist/server/domains/issues/issue.queries.js.map +1 -1
- package/dist/server/domains/issues/issue.routes.d.ts +1 -1
- package/dist/server/domains/issues/issue.routes.d.ts.map +1 -1
- package/dist/server/domains/issues/issue.routes.js +20 -38
- package/dist/server/domains/issues/issue.routes.js.map +1 -1
- package/dist/server/domains/issues/issue.service.d.ts +20 -44
- package/dist/server/domains/issues/issue.service.d.ts.map +1 -1
- package/dist/server/domains/issues/issue.service.js +26 -81
- package/dist/server/domains/issues/issue.service.js.map +1 -1
- package/dist/server/domains/issues/issue.status.d.ts +6 -10
- package/dist/server/domains/issues/issue.status.d.ts.map +1 -1
- package/dist/server/domains/issues/issue.status.js +3 -20
- package/dist/server/domains/issues/issue.status.js.map +1 -1
- package/dist/server/domains/issues/issue.store.d.ts +2 -0
- package/dist/server/domains/issues/issue.store.d.ts.map +1 -1
- package/dist/server/domains/issues/issue.store.js +2 -0
- package/dist/server/domains/issues/issue.store.js.map +1 -1
- package/dist/server/domains/issues/ports.d.ts +19 -36
- package/dist/server/domains/issues/ports.d.ts.map +1 -1
- package/dist/server/domains/issues/ports.js +0 -5
- package/dist/server/domains/issues/ports.js.map +1 -1
- package/dist/server/domains/notices/notice.planner.d.ts +2 -1
- package/dist/server/domains/notices/notice.planner.d.ts.map +1 -1
- package/dist/server/domains/notices/notice.planner.js +2 -1
- package/dist/server/domains/notices/notice.planner.js.map +1 -1
- package/dist/server/domains/notices/notice.rules.d.ts +1 -4
- package/dist/server/domains/notices/notice.rules.d.ts.map +1 -1
- package/dist/server/domains/notices/notice.rules.js +4 -5
- package/dist/server/domains/notices/notice.rules.js.map +1 -1
- package/dist/server/domains/plans/plan.ops.d.ts +3 -3
- package/dist/server/domains/plans/plan.ops.d.ts.map +1 -1
- package/dist/server/domains/plans/plan.ops.js +23 -13
- package/dist/server/domains/plans/plan.ops.js.map +1 -1
- package/dist/server/domains/projects/index.d.ts +1 -1
- package/dist/server/domains/projects/index.d.ts.map +1 -1
- package/dist/server/domains/projects/index.js.map +1 -1
- package/dist/server/domains/projects/project.events.d.ts +10 -0
- package/dist/server/domains/projects/project.events.d.ts.map +1 -0
- package/dist/server/domains/projects/project.events.js +2 -0
- package/dist/server/domains/projects/project.events.js.map +1 -0
- package/dist/server/domains/projects/project.routes.d.ts.map +1 -1
- package/dist/server/domains/projects/project.routes.js +1 -3
- package/dist/server/domains/projects/project.routes.js.map +1 -1
- package/dist/server/domains/projects/project.service.d.ts +1 -7
- package/dist/server/domains/projects/project.service.d.ts.map +1 -1
- package/dist/server/domains/projects/project.service.js +2 -17
- package/dist/server/domains/projects/project.service.js.map +1 -1
- package/dist/server/domains/projects/project.store.d.ts +0 -1
- package/dist/server/domains/projects/project.store.d.ts.map +1 -1
- package/dist/server/domains/projects/project.store.js +0 -1
- package/dist/server/domains/projects/project.store.js.map +1 -1
- package/dist/server/domains/reports/report.service.d.ts +1 -12
- package/dist/server/domains/reports/report.service.d.ts.map +1 -1
- package/dist/server/domains/reports/report.service.js +23 -79
- package/dist/server/domains/reports/report.service.js.map +1 -1
- package/dist/server/domains/statuses/event-types.d.ts +16 -0
- package/dist/server/domains/statuses/event-types.d.ts.map +1 -0
- package/dist/server/domains/statuses/event-types.js +31 -0
- package/dist/server/domains/statuses/event-types.js.map +1 -0
- package/dist/server/domains/statuses/index.d.ts +4 -0
- package/dist/server/domains/statuses/index.d.ts.map +1 -0
- package/dist/server/domains/statuses/index.js +4 -0
- package/dist/server/domains/statuses/index.js.map +1 -0
- package/dist/server/domains/statuses/status.catalog.d.ts +15 -0
- package/dist/server/domains/statuses/status.catalog.d.ts.map +1 -0
- package/dist/server/domains/statuses/status.catalog.js +119 -0
- package/dist/server/domains/statuses/status.catalog.js.map +1 -0
- package/dist/server/domains/statuses/status.events.d.ts +15 -0
- package/dist/server/domains/statuses/status.events.d.ts.map +1 -0
- package/dist/server/domains/statuses/status.events.js +2 -0
- package/dist/server/domains/statuses/status.events.js.map +1 -0
- package/dist/server/domains/statuses/status.fire.d.ts +48 -0
- package/dist/server/domains/statuses/status.fire.d.ts.map +1 -0
- package/dist/server/domains/statuses/status.fire.js +38 -0
- package/dist/server/domains/statuses/status.fire.js.map +1 -0
- package/dist/server/domains/subscriptions/subscription.routes.d.ts.map +1 -1
- package/dist/server/domains/subscriptions/subscription.routes.js +4 -2
- package/dist/server/domains/subscriptions/subscription.routes.js.map +1 -1
- package/dist/server/domains/subtasks/subtask.blocking.d.ts +4 -4
- package/dist/server/domains/subtasks/subtask.blocking.d.ts.map +1 -1
- package/dist/server/domains/subtasks/subtask.blocking.js +2 -10
- package/dist/server/domains/subtasks/subtask.blocking.js.map +1 -1
- package/dist/server/domains/subtasks/subtask.release.d.ts +5 -9
- package/dist/server/domains/subtasks/subtask.release.d.ts.map +1 -1
- package/dist/server/domains/subtasks/subtask.release.js +0 -4
- package/dist/server/domains/subtasks/subtask.release.js.map +1 -1
- package/dist/server/domains/subtasks/subtask.service.d.ts +1 -3
- package/dist/server/domains/subtasks/subtask.service.d.ts.map +1 -1
- package/dist/server/domains/subtasks/subtask.service.js +0 -12
- package/dist/server/domains/subtasks/subtask.service.js.map +1 -1
- package/dist/server/kernel/http.d.ts.map +1 -1
- package/dist/server/kernel/http.js +0 -3
- package/dist/server/kernel/http.js.map +1 -1
- package/dist/server/kernel/kinds.d.ts +24 -6
- package/dist/server/kernel/kinds.d.ts.map +1 -1
- package/dist/server/kernel/kinds.js +21 -1
- package/dist/server/kernel/kinds.js.map +1 -1
- package/dist/server/kernel/work.d.ts +8 -4
- package/dist/server/kernel/work.d.ts.map +1 -1
- package/dist/server/kernel/work.js +21 -10
- package/dist/server/kernel/work.js.map +1 -1
- package/dist/server/locales/en-US.d.ts +0 -9
- package/dist/server/locales/en-US.d.ts.map +1 -1
- package/dist/server/locales/en-US.js +0 -9
- package/dist/server/locales/en-US.js.map +1 -1
- package/dist/server/locales/zh-CN.d.ts.map +1 -1
- package/dist/server/locales/zh-CN.js +2 -11
- package/dist/server/locales/zh-CN.js.map +1 -1
- package/dist/server/providers/change-announcer.d.ts +27 -0
- package/dist/server/providers/change-announcer.d.ts.map +1 -0
- package/dist/server/providers/change-announcer.js +74 -0
- package/dist/server/providers/change-announcer.js.map +1 -0
- package/dist/server/providers/notifications.d.ts +1 -0
- package/dist/server/providers/notifications.d.ts.map +1 -1
- package/dist/server/providers/notifications.js +6 -120
- package/dist/server/providers/notifications.js.map +1 -1
- package/dist/server/providers/projects.d.ts +3 -8
- package/dist/server/providers/projects.d.ts.map +1 -1
- package/dist/server/providers/projects.js +14 -37
- package/dist/server/providers/projects.js.map +1 -1
- package/dist/server/routes/api.d.ts.map +1 -1
- package/dist/server/routes/api.js +0 -6
- package/dist/server/routes/api.js.map +1 -1
- package/dist/server/routes/schemas.d.ts +1 -27
- package/dist/server/routes/schemas.d.ts.map +1 -1
- package/dist/server/routes/schemas.js +23 -167
- package/dist/server/routes/schemas.js.map +1 -1
- package/dist/server/tokens.d.ts +12 -34
- package/dist/server/tokens.d.ts.map +1 -1
- package/dist/server/tokens.js +4 -16
- package/dist/server/tokens.js.map +1 -1
- package/dist/shared/access.d.ts +0 -1
- package/dist/shared/access.d.ts.map +1 -1
- package/dist/shared/access.js +2 -11
- package/dist/shared/access.js.map +1 -1
- package/dist/shared/issues.d.ts +14 -36
- package/dist/shared/issues.d.ts.map +1 -1
- package/dist/shared/issues.js +1 -0
- package/dist/shared/issues.js.map +1 -1
- package/dist/shared/kinds.d.ts +3 -1
- package/dist/shared/kinds.d.ts.map +1 -1
- package/dist/shared/kinds.js +1 -1
- package/dist/shared/locales/access.en-US.d.ts +0 -1
- package/dist/shared/locales/access.en-US.d.ts.map +1 -1
- package/dist/shared/locales/access.en-US.js +1 -2
- package/dist/shared/locales/access.en-US.js.map +1 -1
- package/dist/shared/locales/access.zh-CN.d.ts.map +1 -1
- package/dist/shared/locales/access.zh-CN.js +1 -2
- package/dist/shared/locales/access.zh-CN.js.map +1 -1
- package/dist/shared/plans.d.ts +6 -6
- package/dist/shared/plans.d.ts.map +1 -1
- package/dist/shared/plans.js +2 -1
- package/dist/shared/plans.js.map +1 -1
- package/dist/shared/projects.d.ts +0 -4
- package/dist/shared/projects.d.ts.map +1 -1
- package/dist/shared/projects.js.map +1 -1
- package/dist/shared/realtime.d.ts +9 -3
- package/dist/shared/realtime.d.ts.map +1 -1
- package/dist/shared/realtime.js +3 -2
- package/dist/shared/realtime.js.map +1 -1
- package/dist/shared/statuses.d.ts +42 -0
- package/dist/shared/statuses.d.ts.map +1 -0
- package/dist/shared/statuses.js +73 -0
- package/dist/shared/statuses.js.map +1 -0
- package/dist/shared/subtasks.d.ts +3 -3
- package/dist/shared/subtasks.d.ts.map +1 -1
- package/package.json +9 -17
- package/skills/nocobase-app-plugin-projects/SKILL.md +27 -51
- package/dist/client/hooks/use-workflow-leave-guard.d.ts +0 -3
- package/dist/client/hooks/use-workflow-leave-guard.d.ts.map +0 -1
- package/dist/client/hooks/use-workflow-leave-guard.js +0 -31
- package/dist/client/hooks/use-workflow-leave-guard.js.map +0 -1
- package/dist/client/lib/built-in-rule-editors.d.ts +0 -13
- package/dist/client/lib/built-in-rule-editors.d.ts.map +0 -1
- package/dist/client/lib/built-in-rule-editors.js +0 -86
- package/dist/client/lib/built-in-rule-editors.js.map +0 -1
- package/dist/client/lib/built-in-rule-types.d.ts +0 -3
- package/dist/client/lib/built-in-rule-types.d.ts.map +0 -1
- package/dist/client/lib/built-in-rule-types.js +0 -63
- package/dist/client/lib/built-in-rule-types.js.map +0 -1
- package/dist/client/lib/status-rule-types.d.ts +0 -60
- package/dist/client/lib/status-rule-types.d.ts.map +0 -1
- package/dist/client/lib/status-rule-types.js +0 -38
- package/dist/client/lib/status-rule-types.js.map +0 -1
- package/dist/client/lib/workflow-events.d.ts +0 -25
- package/dist/client/lib/workflow-events.d.ts.map +0 -1
- package/dist/client/lib/workflow-events.js +0 -30
- package/dist/client/lib/workflow-events.js.map +0 -1
- package/dist/client/pages/config/workflow-detail.d.ts +0 -10
- package/dist/client/pages/config/workflow-detail.d.ts.map +0 -1
- package/dist/client/pages/config/workflow-detail.js +0 -207
- package/dist/client/pages/config/workflow-detail.js.map +0 -1
- package/dist/client/pages/config/workflows/flow-editor.d.ts +0 -15
- package/dist/client/pages/config/workflows/flow-editor.d.ts.map +0 -1
- package/dist/client/pages/config/workflows/flow-editor.js +0 -76
- package/dist/client/pages/config/workflows/flow-editor.js.map +0 -1
- package/dist/client/pages/config/workflows/status-rules.d.ts +0 -21
- package/dist/client/pages/config/workflows/status-rules.d.ts.map +0 -1
- package/dist/client/pages/config/workflows/status-rules.js +0 -203
- package/dist/client/pages/config/workflows/status-rules.js.map +0 -1
- package/dist/client/pages/config/workflows/transitions-matrix.d.ts +0 -20
- package/dist/client/pages/config/workflows/transitions-matrix.d.ts.map +0 -1
- package/dist/client/pages/config/workflows/transitions-matrix.js +0 -114
- package/dist/client/pages/config/workflows/transitions-matrix.js.map +0 -1
- package/dist/client/pages/config/workflows/use-status-name.d.ts +0 -4
- package/dist/client/pages/config/workflows/use-status-name.d.ts.map +0 -1
- package/dist/client/pages/config/workflows/use-status-name.js +0 -17
- package/dist/client/pages/config/workflows/use-status-name.js.map +0 -1
- package/dist/client/pages/config/workflows/workflow-diagram.d.ts +0 -17
- package/dist/client/pages/config/workflows/workflow-diagram.d.ts.map +0 -1
- package/dist/client/pages/config/workflows/workflow-diagram.js +0 -298
- package/dist/client/pages/config/workflows/workflow-diagram.js.map +0 -1
- package/dist/client/pages/config/workflows/workflow-model.d.ts +0 -157
- package/dist/client/pages/config/workflows/workflow-model.d.ts.map +0 -1
- package/dist/client/pages/config/workflows/workflow-model.js +0 -403
- package/dist/client/pages/config/workflows/workflow-model.js.map +0 -1
- package/dist/client/pages/config/workflows/workflow-views.d.ts +0 -31
- package/dist/client/pages/config/workflows/workflow-views.d.ts.map +0 -1
- package/dist/client/pages/config/workflows/workflow-views.js +0 -76
- package/dist/client/pages/config/workflows/workflow-views.js.map +0 -1
- package/dist/client/pages/config/workflows.d.ts +0 -8
- package/dist/client/pages/config/workflows.d.ts.map +0 -1
- package/dist/client/pages/config/workflows.js +0 -139
- package/dist/client/pages/config/workflows.js.map +0 -1
- package/dist/client/pages/issues/detail/start-dialog.d.ts +0 -20
- package/dist/client/pages/issues/detail/start-dialog.d.ts.map +0 -1
- package/dist/client/pages/issues/detail/start-dialog.js +0 -31
- package/dist/client/pages/issues/detail/start-dialog.js.map +0 -1
- package/dist/client/pages/projects/workflow-select.d.ts +0 -14
- package/dist/client/pages/projects/workflow-select.d.ts.map +0 -1
- package/dist/client/pages/projects/workflow-select.js +0 -34
- package/dist/client/pages/projects/workflow-select.js.map +0 -1
- package/dist/server/domains/approvals/approval.events.d.ts +0 -47
- package/dist/server/domains/approvals/approval.events.d.ts.map +0 -1
- package/dist/server/domains/approvals/approval.events.js +0 -2
- package/dist/server/domains/approvals/approval.events.js.map +0 -1
- package/dist/server/domains/approvals/approval.lifecycle.d.ts +0 -8
- package/dist/server/domains/approvals/approval.lifecycle.d.ts.map +0 -1
- package/dist/server/domains/approvals/approval.lifecycle.js +0 -54
- package/dist/server/domains/approvals/approval.lifecycle.js.map +0 -1
- package/dist/server/domains/approvals/approval.routes.d.ts +0 -10
- package/dist/server/domains/approvals/approval.routes.d.ts.map +0 -1
- package/dist/server/domains/approvals/approval.routes.js +0 -87
- package/dist/server/domains/approvals/approval.routes.js.map +0 -1
- package/dist/server/domains/approvals/approval.service.d.ts +0 -72
- package/dist/server/domains/approvals/approval.service.d.ts.map +0 -1
- package/dist/server/domains/approvals/approval.service.js +0 -261
- package/dist/server/domains/approvals/approval.service.js.map +0 -1
- package/dist/server/domains/approvals/approval.store.d.ts +0 -42
- package/dist/server/domains/approvals/approval.store.d.ts.map +0 -1
- package/dist/server/domains/approvals/approval.store.js +0 -66
- package/dist/server/domains/approvals/approval.store.js.map +0 -1
- package/dist/server/domains/approvals/index.d.ts +0 -4
- package/dist/server/domains/approvals/index.d.ts.map +0 -1
- package/dist/server/domains/approvals/index.js +0 -3
- package/dist/server/domains/approvals/index.js.map +0 -1
- package/dist/server/domains/checklists/checklist.routes.d.ts +0 -9
- package/dist/server/domains/checklists/checklist.routes.d.ts.map +0 -1
- package/dist/server/domains/checklists/checklist.routes.js +0 -62
- package/dist/server/domains/checklists/checklist.routes.js.map +0 -1
- package/dist/server/domains/checklists/checklist.service.d.ts +0 -26
- package/dist/server/domains/checklists/checklist.service.d.ts.map +0 -1
- package/dist/server/domains/checklists/checklist.service.js +0 -80
- package/dist/server/domains/checklists/checklist.service.js.map +0 -1
- package/dist/server/domains/checklists/checklist.store.d.ts +0 -32
- package/dist/server/domains/checklists/checklist.store.d.ts.map +0 -1
- package/dist/server/domains/checklists/checklist.store.js +0 -66
- package/dist/server/domains/checklists/checklist.store.js.map +0 -1
- package/dist/server/domains/checklists/index.d.ts +0 -4
- package/dist/server/domains/checklists/index.d.ts.map +0 -1
- package/dist/server/domains/checklists/index.js +0 -4
- package/dist/server/domains/checklists/index.js.map +0 -1
- package/dist/server/domains/workflows/built-in-rule-types.d.ts +0 -40
- package/dist/server/domains/workflows/built-in-rule-types.d.ts.map +0 -1
- package/dist/server/domains/workflows/built-in-rule-types.js +0 -260
- package/dist/server/domains/workflows/built-in-rule-types.js.map +0 -1
- package/dist/server/domains/workflows/event-types.d.ts +0 -21
- package/dist/server/domains/workflows/event-types.d.ts.map +0 -1
- package/dist/server/domains/workflows/event-types.js +0 -31
- package/dist/server/domains/workflows/event-types.js.map +0 -1
- package/dist/server/domains/workflows/index.d.ts +0 -10
- package/dist/server/domains/workflows/index.d.ts.map +0 -1
- package/dist/server/domains/workflows/index.js +0 -10
- package/dist/server/domains/workflows/index.js.map +0 -1
- package/dist/server/domains/workflows/rule-types.d.ts +0 -129
- package/dist/server/domains/workflows/rule-types.d.ts.map +0 -1
- package/dist/server/domains/workflows/rule-types.js +0 -33
- package/dist/server/domains/workflows/rule-types.js.map +0 -1
- package/dist/server/domains/workflows/templates.d.ts +0 -62
- package/dist/server/domains/workflows/templates.d.ts.map +0 -1
- package/dist/server/domains/workflows/templates.js +0 -63
- package/dist/server/domains/workflows/templates.js.map +0 -1
- package/dist/server/domains/workflows/workflow.diff.d.ts +0 -14
- package/dist/server/domains/workflows/workflow.diff.d.ts.map +0 -1
- package/dist/server/domains/workflows/workflow.diff.js +0 -80
- package/dist/server/domains/workflows/workflow.diff.js.map +0 -1
- package/dist/server/domains/workflows/workflow.events.d.ts +0 -26
- package/dist/server/domains/workflows/workflow.events.d.ts.map +0 -1
- package/dist/server/domains/workflows/workflow.events.js +0 -2
- package/dist/server/domains/workflows/workflow.events.js.map +0 -1
- package/dist/server/domains/workflows/workflow.fire.d.ts +0 -38
- package/dist/server/domains/workflows/workflow.fire.d.ts.map +0 -1
- package/dist/server/domains/workflows/workflow.fire.js +0 -57
- package/dist/server/domains/workflows/workflow.fire.js.map +0 -1
- package/dist/server/domains/workflows/workflow.registry.d.ts +0 -27
- package/dist/server/domains/workflows/workflow.registry.d.ts.map +0 -1
- package/dist/server/domains/workflows/workflow.registry.js +0 -132
- package/dist/server/domains/workflows/workflow.registry.js.map +0 -1
- package/dist/server/domains/workflows/workflow.routes.d.ts +0 -6
- package/dist/server/domains/workflows/workflow.routes.d.ts.map +0 -1
- package/dist/server/domains/workflows/workflow.routes.js +0 -148
- package/dist/server/domains/workflows/workflow.routes.js.map +0 -1
- package/dist/server/domains/workflows/workflow.rules.d.ts +0 -14
- package/dist/server/domains/workflows/workflow.rules.d.ts.map +0 -1
- package/dist/server/domains/workflows/workflow.rules.js +0 -212
- package/dist/server/domains/workflows/workflow.rules.js.map +0 -1
- package/dist/server/domains/workflows/workflow.service.d.ts +0 -71
- package/dist/server/domains/workflows/workflow.service.d.ts.map +0 -1
- package/dist/server/domains/workflows/workflow.service.js +0 -366
- package/dist/server/domains/workflows/workflow.service.js.map +0 -1
- package/dist/server/domains/workflows/workflow.store.d.ts +0 -33
- package/dist/server/domains/workflows/workflow.store.d.ts.map +0 -1
- package/dist/server/domains/workflows/workflow.store.js +0 -148
- package/dist/server/domains/workflows/workflow.store.js.map +0 -1
- package/dist/shared/approvals.d.ts +0 -37
- package/dist/shared/approvals.d.ts.map +0 -1
- package/dist/shared/approvals.js +0 -4
- package/dist/shared/approvals.js.map +0 -1
- package/dist/shared/checklists.d.ts +0 -27
- package/dist/shared/checklists.d.ts.map +0 -1
- package/dist/shared/checklists.js +0 -7
- package/dist/shared/checklists.js.map +0 -1
- package/dist/shared/workflows.d.ts +0 -276
- package/dist/shared/workflows.d.ts.map +0 -1
- package/dist/shared/workflows.js +0 -151
- package/dist/shared/workflows.js.map +0 -1
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* An issue's checklists: when an issue enters a status with a checklist, it gets a copy of the items, kept per status.
|
|
3
|
-
* Anyone who may edit the issue checks and unchecks them; the issue leaves the status (except to a closed one) only
|
|
4
|
-
* once the required items are checked.
|
|
5
|
-
*/
|
|
6
|
-
export interface ChecklistItem {
|
|
7
|
-
readonly itemKey: string;
|
|
8
|
-
readonly label: string;
|
|
9
|
-
readonly required: boolean;
|
|
10
|
-
readonly checked: boolean;
|
|
11
|
-
readonly checkedByType: string | null;
|
|
12
|
-
readonly checkedById: string | null;
|
|
13
|
-
readonly checkedByName: string | null;
|
|
14
|
-
readonly checkedAt: string | null;
|
|
15
|
-
}
|
|
16
|
-
export interface IssueChecklist {
|
|
17
|
-
readonly statusKey: string;
|
|
18
|
-
/** Whether the issue is in this status now. */
|
|
19
|
-
readonly current: boolean;
|
|
20
|
-
/** Every required item is checked. */
|
|
21
|
-
readonly complete: boolean;
|
|
22
|
-
readonly items: readonly ChecklistItem[];
|
|
23
|
-
}
|
|
24
|
-
export interface UpdateChecklistItemRequest {
|
|
25
|
-
readonly checked: boolean;
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=checklists.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checklists.d.ts","sourceRoot":"","sources":["../../shared/checklists.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,+CAA+C;IAC/C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,sCAAsC;IACtC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* An issue's checklists: when an issue enters a status with a checklist, it gets a copy of the items, kept per status.
|
|
3
|
-
* Anyone who may edit the issue checks and unchecks them; the issue leaves the status (except to a closed one) only
|
|
4
|
-
* once the required items are checked.
|
|
5
|
-
*/
|
|
6
|
-
export {};
|
|
7
|
-
//# sourceMappingURL=checklists.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checklists.js","sourceRoot":"","sources":["../../shared/checklists.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -1,276 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Workflows: the statuses of a project's issues and who may move an issue between them. A project uses one workflow;
|
|
3
|
-
* a project without one, and an issue without a project, use the default workflow, or the built-in statuses
|
|
4
|
-
* (`BUILTIN_STATUSES`, people move freely) while no workflow is the default. The plugin ships no workflow; other
|
|
5
|
-
* plugins' templates may add some.
|
|
6
|
-
*
|
|
7
|
-
* A status may carry rules, run when an issue enters it (and, for a checklist, when it leaves it); a transition may
|
|
8
|
-
* need an approval before it takes effect. A workflow also caps the work comments of principals other than people
|
|
9
|
-
* start on an issue (`commentRunLimit`).
|
|
10
|
-
*/
|
|
11
|
-
import type { Color } from './common.js';
|
|
12
|
-
import type { StatusCategory } from './issues.js';
|
|
13
|
-
export declare const STATUS_CATEGORIES: readonly StatusCategory[];
|
|
14
|
-
/**
|
|
15
|
-
* Who moves an issue: a kind's key (`shared/kinds.ts`): `user` for people, `system` for the plugin's own rules (a
|
|
16
|
-
* merged pull request, for instance), or a kind another plugin registered.
|
|
17
|
-
*/
|
|
18
|
-
export type TransitionActor = string;
|
|
19
|
-
/** One item of a status's checklist. */
|
|
20
|
-
export interface ChecklistItemDefinition {
|
|
21
|
-
/** `^[a-z0-9][a-z0-9_-]{0,63}$`, unique within the checklist. */
|
|
22
|
-
readonly key: string;
|
|
23
|
-
readonly label: string;
|
|
24
|
-
/** An issue leaves the status (except to a closed one) only once every required item is checked. */
|
|
25
|
-
readonly required: boolean;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* What entering a status does, built into this plugin:
|
|
29
|
-
*
|
|
30
|
-
* - `checklist`: the issue gets the items to check; leaving the status for anything but a closed status waits until
|
|
31
|
-
* the required ones are checked (400 `CHECKLIST_INCOMPLETE`).
|
|
32
|
-
* - `notifyOwner`: the issue's owner is told, with an optional message (unless they moved it themselves). The message is
|
|
33
|
-
* plain text, or an i18n key (`LocalizedMessage`) so each reader sees it in their own language.
|
|
34
|
-
* - `subtasksDone`: an issue enters the status only once its sub-issues are finished (400 `SUBTASKS_OPEN`); a closed
|
|
35
|
-
* status never waits.
|
|
36
|
-
* - `blockersDone`: an issue enters the status only when nothing holds it (400 `ISSUE_BLOCKED`).
|
|
37
|
-
* - `startOption`: the New issue form offers the status as a way to start an issue, with an optional label and hint
|
|
38
|
-
* (plain text or keys), such as "Design first" on Analysis. Entering the status does nothing.
|
|
39
|
-
*/
|
|
40
|
-
export type BuiltInStatusRule = {
|
|
41
|
-
readonly type: 'checklist';
|
|
42
|
-
readonly config: {
|
|
43
|
-
readonly items: readonly ChecklistItemDefinition[];
|
|
44
|
-
};
|
|
45
|
-
} | {
|
|
46
|
-
readonly type: 'notifyOwner';
|
|
47
|
-
readonly config?: {
|
|
48
|
-
readonly message?: RuleMessage;
|
|
49
|
-
};
|
|
50
|
-
} | {
|
|
51
|
-
readonly type: 'subtasksDone';
|
|
52
|
-
} | {
|
|
53
|
-
readonly type: 'blockersDone';
|
|
54
|
-
} | {
|
|
55
|
-
readonly type: 'startOption';
|
|
56
|
-
readonly config?: {
|
|
57
|
-
readonly label?: RuleMessage;
|
|
58
|
-
readonly hint?: RuleMessage;
|
|
59
|
-
};
|
|
60
|
-
};
|
|
61
|
-
/**
|
|
62
|
-
* A rule another plugin contributes (`projectsStatusRulesToken` on the server, `StatusRuleTypesContext` in the
|
|
63
|
-
* browser), such as an agent runtime's `runAgent`. A definition keeps one whose plugin is gone: the editor shows it as
|
|
64
|
-
* unavailable, and entering the status skips it.
|
|
65
|
-
*/
|
|
66
|
-
export interface ContributedStatusRule {
|
|
67
|
-
readonly type: string;
|
|
68
|
-
readonly config?: Readonly<Record<string, unknown>>;
|
|
69
|
-
}
|
|
70
|
-
export type WorkflowStatusRule = BuiltInStatusRule | ContributedStatusRule;
|
|
71
|
-
export type WorkflowStatusRuleType = BuiltInStatusRule['type'];
|
|
72
|
-
export declare const STATUS_RULE_TYPES: readonly WorkflowStatusRuleType[];
|
|
73
|
-
/** The longest `startOption` label, as text or as a key's default. */
|
|
74
|
-
export declare const START_LABEL_MAX = 64;
|
|
75
|
-
/** A contributed rule type's key: not a built-in one. */
|
|
76
|
-
export declare const STATUS_RULE_TYPE_PATTERN: RegExp;
|
|
77
|
-
export declare function isBuiltInRule(rule: WorkflowStatusRule): rule is BuiltInStatusRule;
|
|
78
|
-
/**
|
|
79
|
-
* What a workflow may react to on its own, through a transition with `on`. Built in: `subtasks.done` when every
|
|
80
|
-
* sub-issue of an issue is finished. Other plugins contribute their own (`projectsWorkflowEventsToken` on the server,
|
|
81
|
-
* `WorkflowEventsContext` in the browser) and fire them for the issues they concern; this plugin never knows what they
|
|
82
|
-
* mean. A definition keeps a transition on an event whose plugin is gone: nobody fires it, and the editor shows it as
|
|
83
|
-
* unavailable.
|
|
84
|
-
*/
|
|
85
|
-
export type BuiltInWorkflowEvent = 'subtasks.done';
|
|
86
|
-
export declare const WORKFLOW_EVENTS: readonly BuiltInWorkflowEvent[];
|
|
87
|
-
/** A built-in event's key or a contributed one's. */
|
|
88
|
-
export type WorkflowEvent = BuiltInWorkflowEvent | (string & {});
|
|
89
|
-
/** A contributed event's key: dotted, its plugin's prefix first, such as `acme.merged`. */
|
|
90
|
-
export declare const WORKFLOW_EVENT_PATTERN: RegExp;
|
|
91
|
-
export declare function isBuiltInEvent(event: string): event is BuiltInWorkflowEvent;
|
|
92
|
-
/**
|
|
93
|
-
* Where a workflow may use an event, the same on the server and in the browser: the categories of status a transition
|
|
94
|
-
* on it may leave (`from`) and enter (`to`); every category when left out.
|
|
95
|
-
*/
|
|
96
|
-
export interface WorkflowEventPlacement {
|
|
97
|
-
readonly key: string;
|
|
98
|
-
readonly from?: readonly StatusCategory[];
|
|
99
|
-
readonly to?: readonly StatusCategory[];
|
|
100
|
-
}
|
|
101
|
-
export interface WorkflowStatus {
|
|
102
|
-
/** `^[a-z][a-z0-9_]{1,31}$`, fixed once issues use it. */
|
|
103
|
-
readonly key: string;
|
|
104
|
-
readonly name: string;
|
|
105
|
-
readonly category: StatusCategory;
|
|
106
|
-
readonly color: Color;
|
|
107
|
-
/** One of the nine statuses every workflow has: not removable, key and category fixed. */
|
|
108
|
-
readonly builtIn?: boolean;
|
|
109
|
-
/** At most one of each type. */
|
|
110
|
-
readonly rules?: readonly WorkflowStatusRule[];
|
|
111
|
-
}
|
|
112
|
-
/** Who may approve a move: the issue's owner, the lead of its project, the plugin's admins and owners. */
|
|
113
|
-
export type ApproverRole = 'owner' | 'projectLead' | 'admin';
|
|
114
|
-
export declare const APPROVER_ROLES: readonly ApproverRole[];
|
|
115
|
-
/** `*` stands for any status. */
|
|
116
|
-
export declare const ANY_STATUS = "*";
|
|
117
|
-
export interface WorkflowTransition {
|
|
118
|
-
readonly from: string;
|
|
119
|
-
readonly to: string;
|
|
120
|
-
readonly actors: readonly TransitionActor[];
|
|
121
|
-
/**
|
|
122
|
-
* The move waits for one of these to approve it. It goes through at once when the mover is one of them, or when
|
|
123
|
-
* none resolves to anybody (an issue without a project has no project lead).
|
|
124
|
-
*/
|
|
125
|
-
readonly approval?: {
|
|
126
|
-
readonly approvers: readonly ApproverRole[];
|
|
127
|
-
};
|
|
128
|
-
/**
|
|
129
|
-
* Taken by the system when the event happens, never by a person or an ordinary move: from a concrete status to
|
|
130
|
-
* another, with `actors: ['system']`. One per status and event.
|
|
131
|
-
*/
|
|
132
|
-
readonly on?: WorkflowEvent;
|
|
133
|
-
}
|
|
134
|
-
export interface WorkflowDefinition {
|
|
135
|
-
readonly states: readonly WorkflowStatus[];
|
|
136
|
-
readonly transitions: readonly WorkflowTransition[];
|
|
137
|
-
/**
|
|
138
|
-
* At most this many runs that comments of principals other than people (an agent's) start on one issue within
|
|
139
|
-
* `COMMENT_RUN_WINDOW_HOURS` hours; `DEFAULT_COMMENT_RUN_LIMIT` when left out. The kind that starts the work keeps
|
|
140
|
-
* the count; a positive integer.
|
|
141
|
-
*/
|
|
142
|
-
readonly commentRunLimit?: number;
|
|
143
|
-
}
|
|
144
|
-
export declare const DEFAULT_COMMENT_RUN_LIMIT = 20;
|
|
145
|
-
export declare const COMMENT_RUN_WINDOW_HOURS = 24;
|
|
146
|
-
export interface Workflow {
|
|
147
|
-
readonly id: string;
|
|
148
|
-
readonly name: string;
|
|
149
|
-
readonly description: string | null;
|
|
150
|
-
readonly isDefault: boolean;
|
|
151
|
-
/** Set on a workflow a template created (its key); its name is translated until someone renames it. */
|
|
152
|
-
readonly builtInKey: string | null;
|
|
153
|
-
readonly definition: WorkflowDefinition;
|
|
154
|
-
/** Increases with every change; an update must name the revision it read. */
|
|
155
|
-
readonly revision: number;
|
|
156
|
-
readonly createdAt: string;
|
|
157
|
-
readonly updatedAt: string;
|
|
158
|
-
}
|
|
159
|
-
export interface WorkflowListItem extends Workflow {
|
|
160
|
-
/** Projects on it; the default workflow also counts projects without one. */
|
|
161
|
-
readonly projectCount: number;
|
|
162
|
-
/**
|
|
163
|
-
* The translated name of a workflow another plugin's template created (`builtInKey`), while nobody renamed it: an
|
|
164
|
-
* i18n key in that plugin's namespace.
|
|
165
|
-
*/
|
|
166
|
-
readonly title?: {
|
|
167
|
-
readonly key: string;
|
|
168
|
-
readonly ns: string;
|
|
169
|
-
};
|
|
170
|
-
/** The translated description of such a workflow, while nobody changed it: an i18n key like `title`. */
|
|
171
|
-
readonly descriptionTitle?: {
|
|
172
|
-
readonly key: string;
|
|
173
|
-
readonly ns: string;
|
|
174
|
-
};
|
|
175
|
-
}
|
|
176
|
-
/** A status rule added to or removed from a workflow, as `POST /api/projects/workflows/{workflowId}/preview` lists it. */
|
|
177
|
-
export interface WorkflowRuleChange {
|
|
178
|
-
readonly statusKey: string;
|
|
179
|
-
readonly change: 'added' | 'removed';
|
|
180
|
-
readonly rule: WorkflowStatusRule;
|
|
181
|
-
/** The rule's type is known to the server: built in, or contributed by a plugin that is there. */
|
|
182
|
-
readonly available: boolean;
|
|
183
|
-
/** What the rule does, in English; null when its type is unavailable. */
|
|
184
|
-
readonly summary: string | null;
|
|
185
|
-
/** Entering the status wakes someone without anybody confirming it. */
|
|
186
|
-
readonly attention: boolean;
|
|
187
|
-
}
|
|
188
|
-
/** What saving a definition would change in the workflow's rules (`POST /api/projects/workflows/{workflowId}/preview`). */
|
|
189
|
-
export interface WorkflowPreview {
|
|
190
|
-
readonly rules: readonly WorkflowRuleChange[];
|
|
191
|
-
/**
|
|
192
|
-
* Every rule of the new definition that wakes someone on entering its status without anybody confirming it, `isNew`
|
|
193
|
-
* when the current definition does not have it on that status.
|
|
194
|
-
*/
|
|
195
|
-
readonly attention: readonly {
|
|
196
|
-
readonly statusKey: string;
|
|
197
|
-
readonly rule: WorkflowStatusRule;
|
|
198
|
-
readonly summary: string;
|
|
199
|
-
readonly isNew: boolean;
|
|
200
|
-
}[];
|
|
201
|
-
}
|
|
202
|
-
/** A new workflow starts as a copy of an existing one, or of the built-in statuses (`copyFrom: null`). */
|
|
203
|
-
export interface CreateWorkflowRequest {
|
|
204
|
-
readonly name: string;
|
|
205
|
-
readonly copyFrom: string | null;
|
|
206
|
-
}
|
|
207
|
-
export interface UpdateWorkflowRequest {
|
|
208
|
-
readonly revision: number;
|
|
209
|
-
readonly name?: string;
|
|
210
|
-
readonly description?: string | null;
|
|
211
|
-
readonly definition?: WorkflowDefinition;
|
|
212
|
-
}
|
|
213
|
-
/** One problem of a definition, at its path (`states[3].key`): `metadata.issues` of 400 `INVALID_WORKFLOW`. */
|
|
214
|
-
export interface WorkflowValidationIssue {
|
|
215
|
-
readonly path: string;
|
|
216
|
-
readonly message: string;
|
|
217
|
-
}
|
|
218
|
-
/** `metadata` of 400 `WORKFLOW_STATUS_CONFLICT`: issues still in statuses the workflow would lose. */
|
|
219
|
-
export interface WorkflowStatusConflict {
|
|
220
|
-
readonly conflicts: readonly {
|
|
221
|
-
readonly statusKey: string;
|
|
222
|
-
readonly projectId: string | null;
|
|
223
|
-
readonly projectName: string | null;
|
|
224
|
-
readonly count: number;
|
|
225
|
-
}[];
|
|
226
|
-
}
|
|
227
|
-
export declare const WORKFLOW_NAME_MAX = 100;
|
|
228
|
-
export declare const CHECKLIST_ITEMS_MAX = 20;
|
|
229
|
-
export declare const CHECKLIST_LABEL_MAX = 200;
|
|
230
|
-
export declare const CHECKLIST_ITEM_KEY_PATTERN: RegExp;
|
|
231
|
-
export declare const NOTIFY_MESSAGE_MAX = 500;
|
|
232
|
-
export declare const MESSAGE_KEY_MAX = 200;
|
|
233
|
-
export declare const MESSAGE_NAMESPACE_PATTERN: RegExp;
|
|
234
|
-
/**
|
|
235
|
-
* A message in the reader's language: an i18n key in a namespace (the application's or a plugin's, such as the one
|
|
236
|
-
* that ships a workflow template), and the words to show where the key has no translation. A rule's message is
|
|
237
|
-
* stored like this, translated by whoever shows it: the browser in the reader's language, the server in the
|
|
238
|
-
* application's default one.
|
|
239
|
-
*/
|
|
240
|
-
export interface LocalizedMessage {
|
|
241
|
-
/** At most `MESSAGE_KEY_MAX` characters. */
|
|
242
|
-
readonly key: string;
|
|
243
|
-
/** The namespace; the reader's default namespace when left out. */
|
|
244
|
-
readonly ns?: string;
|
|
245
|
-
/** At most `NOTIFY_MESSAGE_MAX` characters. */
|
|
246
|
-
readonly defaultValue?: string;
|
|
247
|
-
}
|
|
248
|
-
/** A rule's message: plain text, or a key to translate. */
|
|
249
|
-
export type RuleMessage = string | LocalizedMessage;
|
|
250
|
-
export declare function isLocalizedMessage(value: unknown): value is LocalizedMessage;
|
|
251
|
-
/**
|
|
252
|
-
* A message in words: plain text as it is, a key through `t` (with its namespace and default). Blank text and
|
|
253
|
-
* anything else read as no message.
|
|
254
|
-
*/
|
|
255
|
-
export declare function messageText(message: unknown, t: (key: string, options?: Record<string, unknown>) => string): string | null;
|
|
256
|
-
export declare const STATUS_NAME_MAX = 64;
|
|
257
|
-
export declare const STATUS_KEY_PATTERN: RegExp;
|
|
258
|
-
/** Where a new issue starts, in every workflow. */
|
|
259
|
-
export declare const INITIAL_STATUS = "todo";
|
|
260
|
-
/**
|
|
261
|
-
* Where issues wait before anyone plans them, in every workflow. Work does not start there: an executor given an issue
|
|
262
|
-
* in backlog starts when the issue leaves it.
|
|
263
|
-
*/
|
|
264
|
-
export declare const BACKLOG_STATUS = "backlog";
|
|
265
|
-
/**
|
|
266
|
-
* The nine statuses every workflow has, in the order of the old NocoProject's default workflow; notifications and
|
|
267
|
-
* reports rely on their keys.
|
|
268
|
-
*/
|
|
269
|
-
export declare const BUILTIN_STATUSES: readonly WorkflowStatus[];
|
|
270
|
-
/** Whether a built-in status still has its default name, so the interface shows the translation instead. */
|
|
271
|
-
export declare function hasDefaultName(status: {
|
|
272
|
-
readonly key: string;
|
|
273
|
-
readonly name: string;
|
|
274
|
-
}): boolean;
|
|
275
|
-
export declare function isTerminalCategory(category: StatusCategory | null): boolean;
|
|
276
|
-
//# sourceMappingURL=workflows.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../shared/workflows.ts"],"names":[],"mappings":"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"}
|
package/dist/shared/workflows.js
DELETED
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
export const STATUS_CATEGORIES = [
|
|
2
|
-
'unstarted',
|
|
3
|
-
'started',
|
|
4
|
-
'done',
|
|
5
|
-
'closed',
|
|
6
|
-
];
|
|
7
|
-
export const STATUS_RULE_TYPES = [
|
|
8
|
-
'checklist',
|
|
9
|
-
'notifyOwner',
|
|
10
|
-
'subtasksDone',
|
|
11
|
-
'blockersDone',
|
|
12
|
-
'startOption',
|
|
13
|
-
];
|
|
14
|
-
/** The longest `startOption` label, as text or as a key's default. */
|
|
15
|
-
export const START_LABEL_MAX = 64;
|
|
16
|
-
/** A contributed rule type's key: not a built-in one. */
|
|
17
|
-
export const STATUS_RULE_TYPE_PATTERN = /^[a-z][A-Za-z0-9]{1,63}$/u;
|
|
18
|
-
export function isBuiltInRule(rule) {
|
|
19
|
-
return STATUS_RULE_TYPES.includes(rule.type);
|
|
20
|
-
}
|
|
21
|
-
export const WORKFLOW_EVENTS = [
|
|
22
|
-
'subtasks.done',
|
|
23
|
-
];
|
|
24
|
-
/** A contributed event's key: dotted, its plugin's prefix first, such as `acme.merged`. */
|
|
25
|
-
export const WORKFLOW_EVENT_PATTERN = /^[a-z][a-zA-Z0-9]{0,31}(\.[a-z][a-zA-Z0-9]{0,63}){1,3}$/u;
|
|
26
|
-
export function isBuiltInEvent(event) {
|
|
27
|
-
return WORKFLOW_EVENTS.includes(event);
|
|
28
|
-
}
|
|
29
|
-
export const APPROVER_ROLES = [
|
|
30
|
-
'owner',
|
|
31
|
-
'projectLead',
|
|
32
|
-
'admin',
|
|
33
|
-
];
|
|
34
|
-
/** `*` stands for any status. */
|
|
35
|
-
export const ANY_STATUS = '*';
|
|
36
|
-
export const DEFAULT_COMMENT_RUN_LIMIT = 20;
|
|
37
|
-
export const COMMENT_RUN_WINDOW_HOURS = 24;
|
|
38
|
-
export const WORKFLOW_NAME_MAX = 100;
|
|
39
|
-
export const CHECKLIST_ITEMS_MAX = 20;
|
|
40
|
-
export const CHECKLIST_LABEL_MAX = 200;
|
|
41
|
-
export const CHECKLIST_ITEM_KEY_PATTERN = /^[a-z0-9][a-z0-9_-]{0,63}$/u;
|
|
42
|
-
export const NOTIFY_MESSAGE_MAX = 500;
|
|
43
|
-
export const MESSAGE_KEY_MAX = 200;
|
|
44
|
-
export const MESSAGE_NAMESPACE_PATTERN = /^[@a-z0-9][@a-z0-9._/-]{0,99}$/u;
|
|
45
|
-
export function isLocalizedMessage(value) {
|
|
46
|
-
return (typeof value === 'object' &&
|
|
47
|
-
value !== null &&
|
|
48
|
-
!Array.isArray(value) &&
|
|
49
|
-
typeof value.key === 'string');
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* A message in words: plain text as it is, a key through `t` (with its namespace and default). Blank text and
|
|
53
|
-
* anything else read as no message.
|
|
54
|
-
*/
|
|
55
|
-
export function messageText(message, t) {
|
|
56
|
-
if (typeof message === 'string')
|
|
57
|
-
return message.trim() || null;
|
|
58
|
-
if (!isLocalizedMessage(message))
|
|
59
|
-
return null;
|
|
60
|
-
const text = t(message.key, {
|
|
61
|
-
...(message.ns ? { ns: message.ns } : {}),
|
|
62
|
-
defaultValue: message.defaultValue ?? message.key,
|
|
63
|
-
});
|
|
64
|
-
return text.trim() || null;
|
|
65
|
-
}
|
|
66
|
-
export const STATUS_NAME_MAX = 64;
|
|
67
|
-
export const STATUS_KEY_PATTERN = /^[a-z][a-z0-9_]{1,31}$/u;
|
|
68
|
-
/** Where a new issue starts, in every workflow. */
|
|
69
|
-
export const INITIAL_STATUS = 'todo';
|
|
70
|
-
/**
|
|
71
|
-
* Where issues wait before anyone plans them, in every workflow. Work does not start there: an executor given an issue
|
|
72
|
-
* in backlog starts when the issue leaves it.
|
|
73
|
-
*/
|
|
74
|
-
export const BACKLOG_STATUS = 'backlog';
|
|
75
|
-
/**
|
|
76
|
-
* The nine statuses every workflow has, in the order of the old NocoProject's default workflow; notifications and
|
|
77
|
-
* reports rely on their keys.
|
|
78
|
-
*/
|
|
79
|
-
export const BUILTIN_STATUSES = [
|
|
80
|
-
{
|
|
81
|
-
key: BACKLOG_STATUS,
|
|
82
|
-
name: 'Backlog',
|
|
83
|
-
category: 'unstarted',
|
|
84
|
-
color: 'gray',
|
|
85
|
-
builtIn: true,
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
key: 'todo',
|
|
89
|
-
name: 'Todo',
|
|
90
|
-
category: 'unstarted',
|
|
91
|
-
color: 'blue',
|
|
92
|
-
builtIn: true,
|
|
93
|
-
},
|
|
94
|
-
{
|
|
95
|
-
key: 'analysis',
|
|
96
|
-
name: 'Analysis',
|
|
97
|
-
category: 'started',
|
|
98
|
-
color: 'orange',
|
|
99
|
-
builtIn: true,
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
key: 'proposal_review',
|
|
103
|
-
name: 'Proposal review',
|
|
104
|
-
category: 'started',
|
|
105
|
-
color: 'purple',
|
|
106
|
-
builtIn: true,
|
|
107
|
-
},
|
|
108
|
-
{
|
|
109
|
-
key: 'in_progress',
|
|
110
|
-
name: 'In progress',
|
|
111
|
-
category: 'started',
|
|
112
|
-
color: 'yellow',
|
|
113
|
-
builtIn: true,
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
key: 'in_review',
|
|
117
|
-
name: 'In review',
|
|
118
|
-
category: 'started',
|
|
119
|
-
color: 'purple',
|
|
120
|
-
builtIn: true,
|
|
121
|
-
},
|
|
122
|
-
{
|
|
123
|
-
key: 'blocked',
|
|
124
|
-
name: 'Blocked',
|
|
125
|
-
category: 'started',
|
|
126
|
-
color: 'red',
|
|
127
|
-
builtIn: true,
|
|
128
|
-
},
|
|
129
|
-
{
|
|
130
|
-
key: 'done',
|
|
131
|
-
name: 'Done',
|
|
132
|
-
category: 'done',
|
|
133
|
-
color: 'green',
|
|
134
|
-
builtIn: true,
|
|
135
|
-
},
|
|
136
|
-
{
|
|
137
|
-
key: 'cancelled',
|
|
138
|
-
name: 'Cancelled',
|
|
139
|
-
category: 'closed',
|
|
140
|
-
color: 'gray',
|
|
141
|
-
builtIn: true,
|
|
142
|
-
},
|
|
143
|
-
];
|
|
144
|
-
/** Whether a built-in status still has its default name, so the interface shows the translation instead. */
|
|
145
|
-
export function hasDefaultName(status) {
|
|
146
|
-
return BUILTIN_STATUSES.some((builtIn) => builtIn.key === status.key && builtIn.name === status.name);
|
|
147
|
-
}
|
|
148
|
-
export function isTerminalCategory(category) {
|
|
149
|
-
return category === 'done' || category === 'closed';
|
|
150
|
-
}
|
|
151
|
-
//# sourceMappingURL=workflows.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../shared/workflows.ts"],"names":[],"mappings":"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"}
|