@nocobase/app-plugin-projects 0.1.0-beta.2 → 0.1.0-beta.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +438 -0
- package/README.md +83 -106
- 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 +8 -25
- package/dist/client/api/client.d.ts.map +1 -1
- package/dist/client/api/client.js +12 -51
- package/dist/client/api/client.js.map +1 -1
- package/dist/client/api/invalidate-queries.d.ts +7 -0
- package/dist/client/api/invalidate-queries.d.ts.map +1 -0
- package/dist/client/api/invalidate-queries.js +65 -0
- package/dist/client/api/invalidate-queries.js.map +1 -0
- package/dist/client/api/keys.d.ts +4 -10
- package/dist/client/api/keys.d.ts.map +1 -1
- package/dist/client/api/keys.js +4 -31
- package/dist/client/api/keys.js.map +1 -1
- package/dist/client/components/attachment-list.d.ts +77 -0
- package/dist/client/components/attachment-list.d.ts.map +1 -0
- package/dist/client/components/attachment-list.js +147 -0
- package/dist/client/components/attachment-list.js.map +1 -0
- 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-description-image.d.ts +4 -0
- package/dist/client/components/pm-description-image.d.ts.map +1 -0
- package/dist/client/components/pm-description-image.js +61 -0
- package/dist/client/components/pm-description-image.js.map +1 -0
- package/dist/client/components/pm-executor-select.d.ts +3 -1
- package/dist/client/components/pm-executor-select.d.ts.map +1 -1
- package/dist/client/components/pm-executor-select.js +6 -1
- package/dist/client/components/pm-executor-select.js.map +1 -1
- package/dist/client/components/pm-markdown.d.ts +1 -1
- package/dist/client/components/pm-markdown.d.ts.map +1 -1
- package/dist/client/components/pm-markdown.js +28 -15
- package/dist/client/components/pm-markdown.js.map +1 -1
- package/dist/client/components/pm-rich-text-editor.d.ts +4 -1
- package/dist/client/components/pm-rich-text-editor.d.ts.map +1 -1
- package/dist/client/components/pm-rich-text-editor.js +44 -4
- package/dist/client/components/pm-rich-text-editor.js.map +1 -1
- package/dist/client/components/pm-rich-text-extensions.d.ts +1 -0
- package/dist/client/components/pm-rich-text-extensions.d.ts.map +1 -1
- package/dist/client/components/pm-rich-text-extensions.js +2 -0
- package/dist/client/components/pm-rich-text-extensions.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/components/ui/spinner.d.ts.map +1 -1
- package/dist/client/components/ui/spinner.js +3 -2
- package/dist/client/components/ui/spinner.js.map +1 -1
- 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/hooks/use-attachment-uploads.d.ts +2 -2
- package/dist/client/hooks/use-attachment-uploads.d.ts.map +1 -1
- package/dist/client/hooks/use-attachment-uploads.js +28 -13
- package/dist/client/hooks/use-attachment-uploads.js.map +1 -1
- package/dist/client/hooks/use-notify.d.ts +3 -0
- package/dist/client/hooks/use-notify.d.ts.map +1 -1
- package/dist/client/hooks/use-notify.js +59 -6
- package/dist/client/hooks/use-notify.js.map +1 -1
- package/dist/client/issues.d.ts +3 -5
- package/dist/client/issues.d.ts.map +1 -1
- package/dist/client/issues.js +3 -4
- package/dist/client/issues.js.map +1 -1
- package/dist/client/kit/executor-presentation.d.ts +15 -0
- package/dist/client/kit/executor-presentation.d.ts.map +1 -0
- package/dist/client/kit/executor-presentation.js +4 -0
- package/dist/client/kit/executor-presentation.js.map +1 -0
- package/dist/client/kit/intake-draft.d.ts +21 -0
- package/dist/client/kit/intake-draft.d.ts.map +1 -0
- package/dist/client/kit/intake-draft.js +20 -0
- package/dist/client/kit/intake-draft.js.map +1 -0
- package/dist/client/kit/issue-creation.d.ts +4 -0
- package/dist/client/kit/issue-creation.d.ts.map +1 -0
- package/dist/client/kit/issue-creation.js +4 -0
- package/dist/client/kit/issue-creation.js.map +1 -0
- 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-confirm.d.ts.map +1 -1
- package/dist/client/kit/plans/plan-confirm.js +2 -2
- package/dist/client/kit/plans/plan-confirm.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 +9 -9
- package/dist/client/kit.d.ts.map +1 -1
- package/dist/client/kit.js +9 -9
- package/dist/client/kit.js.map +1 -1
- package/dist/client/lib/format.d.ts.map +1 -1
- package/dist/client/lib/format.js +14 -2
- package/dist/client/lib/format.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/de-DE.d.ts +5 -0
- package/dist/client/locales/de-DE.d.ts.map +1 -0
- package/dist/client/locales/de-DE.js +1327 -0
- package/dist/client/locales/de-DE.js.map +1 -0
- package/dist/client/locales/en-US.d.ts +17 -252
- package/dist/client/locales/en-US.d.ts.map +1 -1
- package/dist/client/locales/en-US.js +21 -252
- package/dist/client/locales/en-US.js.map +1 -1
- package/dist/client/locales/es-ES.d.ts +5 -0
- package/dist/client/locales/es-ES.d.ts.map +1 -0
- package/dist/client/locales/es-ES.js +1341 -0
- package/dist/client/locales/es-ES.js.map +1 -0
- package/dist/client/locales/fr-FR.d.ts +5 -0
- package/dist/client/locales/fr-FR.d.ts.map +1 -0
- package/dist/client/locales/fr-FR.js +1341 -0
- package/dist/client/locales/fr-FR.js.map +1 -0
- package/dist/client/locales/id-ID.d.ts +5 -0
- package/dist/client/locales/id-ID.d.ts.map +1 -0
- package/dist/client/locales/id-ID.js +1327 -0
- package/dist/client/locales/id-ID.js.map +1 -0
- package/dist/client/locales/index.d.ts.map +1 -1
- package/dist/client/locales/index.js +8 -0
- package/dist/client/locales/index.js.map +1 -1
- package/dist/client/locales/ja-JP.d.ts +5 -0
- package/dist/client/locales/ja-JP.d.ts.map +1 -0
- package/dist/client/locales/ja-JP.js +1327 -0
- package/dist/client/locales/ja-JP.js.map +1 -0
- package/dist/client/locales/plans.en-US.js +1 -1
- package/dist/client/locales/plans.en-US.js.map +1 -1
- package/dist/client/locales/plans.zh-CN.js +1 -1
- package/dist/client/locales/plans.zh-CN.js.map +1 -1
- package/dist/client/locales/pt-BR.d.ts +5 -0
- package/dist/client/locales/pt-BR.d.ts.map +1 -0
- package/dist/client/locales/pt-BR.js +1341 -0
- package/dist/client/locales/pt-BR.js.map +1 -0
- package/dist/client/locales/vi-VN.d.ts +5 -0
- package/dist/client/locales/vi-VN.d.ts.map +1 -0
- package/dist/client/locales/vi-VN.js +1327 -0
- package/dist/client/locales/vi-VN.js.map +1 -0
- package/dist/client/locales/zh-CN.d.ts.map +1 -1
- package/dist/client/locales/zh-CN.js +22 -245
- package/dist/client/locales/zh-CN.js.map +1 -1
- package/dist/client/locales/zh-TW.d.ts +5 -0
- package/dist/client/locales/zh-TW.d.ts.map +1 -0
- package/dist/client/locales/zh-TW.js +1327 -0
- package/dist/client/locales/zh-TW.js.map +1 -0
- package/dist/client/pages/config/members/invitations-section.d.ts.map +1 -1
- package/dist/client/pages/config/members/invitations-section.js +34 -12
- package/dist/client/pages/config/members/invitations-section.js.map +1 -1
- package/dist/client/pages/config/members/invite-dialog.d.ts +5 -4
- package/dist/client/pages/config/members/invite-dialog.d.ts.map +1 -1
- package/dist/client/pages/config/members/invite-dialog.js +18 -17
- package/dist/client/pages/config/members/invite-dialog.js.map +1 -1
- package/dist/client/pages/intake/intake-files.d.ts.map +1 -1
- package/dist/client/pages/intake/intake-files.js +38 -2
- package/dist/client/pages/intake/intake-files.js.map +1 -1
- package/dist/client/pages/intake/intake-panel.d.ts.map +1 -1
- package/dist/client/pages/intake/intake-panel.js +19 -7
- package/dist/client/pages/intake/intake-panel.js.map +1 -1
- package/dist/client/pages/intake/use-intake-ai.d.ts +1 -1
- package/dist/client/pages/intake/use-intake-ai.d.ts.map +1 -1
- package/dist/client/pages/intake/use-intake-ai.js +3 -2
- package/dist/client/pages/intake/use-intake-ai.js.map +1 -1
- package/dist/client/pages/intake/use-intake-uploads.d.ts.map +1 -1
- package/dist/client/pages/intake/use-intake-uploads.js +10 -3
- package/dist/client/pages/intake/use-intake-uploads.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 +0 -1
- package/dist/client/pages/issues/detail/new-subtask.d.ts.map +1 -1
- package/dist/client/pages/issues/detail/new-subtask.js +10 -31
- 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 +4 -10
- package/dist/client/pages/issues/detail/use-confirmed-update.d.ts.map +1 -1
- package/dist/client/pages/issues/detail/use-confirmed-update.js +6 -42
- package/dist/client/pages/issues/detail/use-confirmed-update.js.map +1 -1
- package/dist/client/pages/issues/detail/use-issue-activity.d.ts.map +1 -1
- package/dist/client/pages/issues/detail/use-issue-activity.js +56 -10
- package/dist/client/pages/issues/detail/use-issue-activity.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 +8 -8
- package/dist/client/pages/issues/detail/use-issue-update.js.map +1 -1
- package/dist/client/pages/issues/detail/use-older-activities.d.ts +1 -1
- package/dist/client/pages/issues/detail/use-older-activities.d.ts.map +1 -1
- package/dist/client/pages/issues/detail/use-older-activities.js +7 -24
- package/dist/client/pages/issues/detail/use-older-activities.js.map +1 -1
- package/dist/client/pages/issues/detail/use-older-pages.d.ts +14 -0
- package/dist/client/pages/issues/detail/use-older-pages.d.ts.map +1 -0
- package/dist/client/pages/issues/detail/use-older-pages.js +86 -0
- package/dist/client/pages/issues/detail/use-older-pages.js.map +1 -0
- package/dist/client/pages/issues/detail/use-older-threads.d.ts +1 -1
- package/dist/client/pages/issues/detail/use-older-threads.d.ts.map +1 -1
- package/dist/client/pages/issues/detail/use-older-threads.js +7 -23
- package/dist/client/pages/issues/detail/use-older-threads.js.map +1 -1
- package/dist/client/pages/issues/filters.d.ts +1 -1
- package/dist/client/pages/issues/filters.d.ts.map +1 -1
- package/dist/client/pages/issues/filters.js +2 -0
- package/dist/client/pages/issues/filters.js.map +1 -1
- package/dist/client/pages/issues/new-issue-button.d.ts.map +1 -1
- package/dist/client/pages/issues/new-issue-button.js +1 -1
- package/dist/client/pages/issues/new-issue-button.js.map +1 -1
- package/dist/client/pages/issues/new-issue-form.d.ts +13 -8
- package/dist/client/pages/issues/new-issue-form.d.ts.map +1 -1
- package/dist/client/pages/issues/new-issue-form.js +87 -83
- 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 +19 -12
- 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/my-issues/my-issues-model.d.ts +2 -5
- package/dist/client/pages/my-issues/my-issues-model.d.ts.map +1 -1
- package/dist/client/pages/my-issues/my-issues-model.js +6 -7
- package/dist/client/pages/my-issues/my-issues-model.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 +66 -28
- package/dist/client/providers/query-provider.js.map +1 -1
- package/dist/database/migrations/.manifest.json +16 -0
- package/dist/database/migrations/202610110001_pm_issue_graph_revision.d.ts +4 -0
- package/dist/database/migrations/202610110001_pm_issue_graph_revision.d.ts.map +1 -0
- package/dist/database/migrations/202610110001_pm_issue_graph_revision.js +20 -0
- package/dist/database/migrations/202610110001_pm_issue_graph_revision.js.map +1 -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/database/migrations/202610240012_pm_issue_acceptance.d.ts +4 -0
- package/dist/database/migrations/202610240012_pm_issue_acceptance.d.ts.map +1 -0
- package/dist/database/migrations/202610240012_pm_issue_acceptance.js +17 -0
- package/dist/database/migrations/202610240012_pm_issue_acceptance.js.map +1 -0
- package/dist/server/access/viewer.d.ts +3 -0
- package/dist/server/access/viewer.d.ts.map +1 -1
- package/dist/server/access/viewer.js.map +1 -1
- package/dist/server/composition.d.ts +11 -17
- package/dist/server/composition.d.ts.map +1 -1
- package/dist/server/composition.js +15 -58
- package/dist/server/composition.js.map +1 -1
- package/dist/server/domains/attachments/attachment.routes.d.ts.map +1 -1
- package/dist/server/domains/attachments/attachment.routes.js +13 -1
- package/dist/server/domains/attachments/attachment.routes.js.map +1 -1
- package/dist/server/domains/attachments/attachment.service.d.ts +3 -1
- package/dist/server/domains/attachments/attachment.service.d.ts.map +1 -1
- package/dist/server/domains/attachments/attachment.service.js +36 -2
- package/dist/server/domains/attachments/attachment.service.js.map +1 -1
- package/dist/server/domains/attachments/attachment.store.d.ts +5 -0
- package/dist/server/domains/attachments/attachment.store.d.ts.map +1 -1
- package/dist/server/domains/attachments/attachment.store.js +27 -0
- package/dist/server/domains/attachments/attachment.store.js.map +1 -1
- package/dist/server/domains/comments/comment.queries.d.ts +42 -8
- package/dist/server/domains/comments/comment.queries.d.ts.map +1 -1
- package/dist/server/domains/comments/comment.queries.js +69 -8
- package/dist/server/domains/comments/comment.queries.js.map +1 -1
- package/dist/server/domains/comments/comment.routes.d.ts +1 -1
- package/dist/server/domains/comments/comment.routes.js +4 -4
- package/dist/server/domains/comments/comment.routes.js.map +1 -1
- package/dist/server/domains/comments/comment.service.d.ts +2 -2
- package/dist/server/domains/comments/comment.service.d.ts.map +1 -1
- package/dist/server/domains/comments/comment.service.js +18 -10
- package/dist/server/domains/comments/comment.service.js.map +1 -1
- package/dist/server/domains/comments/comment.store.d.ts +22 -1
- package/dist/server/domains/comments/comment.store.d.ts.map +1 -1
- package/dist/server/domains/comments/comment.store.js +65 -2
- 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/comments/ports.d.ts +7 -2
- package/dist/server/domains/comments/ports.d.ts.map +1 -1
- package/dist/server/domains/invitations/invitation.routes.d.ts +2 -1
- package/dist/server/domains/invitations/invitation.routes.d.ts.map +1 -1
- package/dist/server/domains/invitations/invitation.routes.js +27 -10
- package/dist/server/domains/invitations/invitation.routes.js.map +1 -1
- package/dist/server/domains/invitations/invitation.service.d.ts +1 -1
- package/dist/server/domains/invitations/invitation.service.d.ts.map +1 -1
- package/dist/server/domains/invitations/invitation.service.js +19 -3
- package/dist/server/domains/invitations/invitation.service.js.map +1 -1
- package/dist/server/domains/issues/index.d.ts +4 -4
- package/dist/server/domains/issues/index.d.ts.map +1 -1
- package/dist/server/domains/issues/index.js +3 -3
- package/dist/server/domains/issues/index.js.map +1 -1
- package/dist/server/domains/issues/issue.access.d.ts +2 -0
- package/dist/server/domains/issues/issue.access.d.ts.map +1 -1
- package/dist/server/domains/issues/issue.access.js +8 -1
- package/dist/server/domains/issues/issue.access.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 +88 -105
- package/dist/server/domains/issues/issue.context.js.map +1 -1
- package/dist/server/domains/issues/issue.events.d.ts +5 -1
- package/dist/server/domains/issues/issue.events.d.ts.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 +42 -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 +26 -7
- package/dist/server/domains/issues/issue.queries.d.ts.map +1 -1
- package/dist/server/domains/issues/issue.queries.js +139 -60
- package/dist/server/domains/issues/issue.queries.js.map +1 -1
- package/dist/server/domains/issues/issue.routes.d.ts +3 -1
- package/dist/server/domains/issues/issue.routes.d.ts.map +1 -1
- package/dist/server/domains/issues/issue.routes.js +72 -46
- package/dist/server/domains/issues/issue.routes.js.map +1 -1
- package/dist/server/domains/issues/issue.service.d.ts +26 -51
- package/dist/server/domains/issues/issue.service.d.ts.map +1 -1
- package/dist/server/domains/issues/issue.service.js +89 -87
- package/dist/server/domains/issues/issue.service.js.map +1 -1
- package/dist/server/domains/issues/issue.status.d.ts +7 -10
- package/dist/server/domains/issues/issue.status.d.ts.map +1 -1
- package/dist/server/domains/issues/issue.status.js +6 -22
- package/dist/server/domains/issues/issue.status.js.map +1 -1
- package/dist/server/domains/issues/issue.store.d.ts +13 -0
- package/dist/server/domains/issues/issue.store.d.ts.map +1 -1
- package/dist/server/domains/issues/issue.store.js +45 -0
- package/dist/server/domains/issues/issue.store.js.map +1 -1
- package/dist/server/domains/issues/ports.d.ts +39 -38
- package/dist/server/domains/issues/ports.d.ts.map +1 -1
- package/dist/server/domains/issues/ports.js +1 -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/intake/intake.service.d.ts +2 -0
- package/dist/server/domains/plans/intake/intake.service.d.ts.map +1 -1
- package/dist/server/domains/plans/intake/intake.service.js +14 -0
- package/dist/server/domains/plans/intake/intake.service.js.map +1 -1
- package/dist/server/domains/plans/intake/intake.text.d.ts +5 -6
- package/dist/server/domains/plans/intake/intake.text.d.ts.map +1 -1
- package/dist/server/domains/plans/intake/intake.text.js +5 -6
- package/dist/server/domains/plans/intake/intake.text.js.map +1 -1
- package/dist/server/domains/plans/plan.engine.d.ts.map +1 -1
- package/dist/server/domains/plans/plan.engine.js +6 -0
- package/dist/server/domains/plans/plan.engine.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 -16
- package/dist/server/domains/plans/plan.ops.js.map +1 -1
- package/dist/server/domains/plans/plan.schemas.d.ts.map +1 -1
- package/dist/server/domains/plans/plan.schemas.js +26 -10
- package/dist/server/domains/plans/plan.schemas.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-resources.d.ts +5 -0
- package/dist/server/domains/projects/project-resources.d.ts.map +1 -1
- package/dist/server/domains/projects/project-resources.js +43 -1
- package/dist/server/domains/projects/project-resources.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 +92 -136
- package/dist/server/domains/reports/report.service.js.map +1 -1
- package/dist/server/domains/settings/settings.store.d.ts +4 -4
- package/dist/server/domains/settings/settings.store.js +2 -2
- 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 +123 -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 +50 -0
- package/dist/server/domains/statuses/status.fire.d.ts.map +1 -0
- package/dist/server/domains/statuses/status.fire.js +42 -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/index.d.ts +1 -0
- package/dist/server/domains/subtasks/index.d.ts.map +1 -1
- package/dist/server/domains/subtasks/index.js +1 -0
- package/dist/server/domains/subtasks/index.js.map +1 -1
- package/dist/server/domains/subtasks/subtask.blocking.d.ts +10 -5
- package/dist/server/domains/subtasks/subtask.blocking.d.ts.map +1 -1
- package/dist/server/domains/subtasks/subtask.blocking.js +35 -15
- package/dist/server/domains/subtasks/subtask.blocking.js.map +1 -1
- package/dist/server/domains/subtasks/subtask.guard.d.ts +12 -0
- package/dist/server/domains/subtasks/subtask.guard.d.ts.map +1 -0
- package/dist/server/domains/subtasks/subtask.guard.js +23 -0
- package/dist/server/domains/subtasks/subtask.guard.js.map +1 -0
- package/dist/server/domains/subtasks/subtask.release.d.ts +7 -11
- package/dist/server/domains/subtasks/subtask.release.d.ts.map +1 -1
- package/dist/server/domains/subtasks/subtask.release.js +9 -7
- package/dist/server/domains/subtasks/subtask.release.js.map +1 -1
- package/dist/server/domains/subtasks/subtask.routes.d.ts +1 -0
- package/dist/server/domains/subtasks/subtask.routes.d.ts.map +1 -1
- package/dist/server/domains/subtasks/subtask.routes.js +31 -3
- package/dist/server/domains/subtasks/subtask.routes.js.map +1 -1
- package/dist/server/domains/subtasks/subtask.service.d.ts +5 -5
- package/dist/server/domains/subtasks/subtask.service.d.ts.map +1 -1
- package/dist/server/domains/subtasks/subtask.service.js +118 -50
- package/dist/server/domains/subtasks/subtask.service.js.map +1 -1
- package/dist/server/domains/subtasks/subtask.store.d.ts +7 -0
- package/dist/server/domains/subtasks/subtask.store.d.ts.map +1 -1
- package/dist/server/domains/subtasks/subtask.store.js +34 -0
- package/dist/server/domains/subtasks/subtask.store.js.map +1 -1
- package/dist/server/index.d.ts +1 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +1 -0
- package/dist/server/index.js.map +1 -1
- package/dist/server/kernel/activity.d.ts +5 -2
- package/dist/server/kernel/activity.d.ts.map +1 -1
- package/dist/server/kernel/activity.js +28 -1
- package/dist/server/kernel/activity.js.map +1 -1
- package/dist/server/kernel/actor.d.ts +2 -0
- package/dist/server/kernel/actor.d.ts.map +1 -1
- package/dist/server/kernel/actor.js.map +1 -1
- package/dist/server/kernel/http.d.ts.map +1 -1
- package/dist/server/kernel/http.js +2 -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/transaction-read.d.ts +4 -0
- package/dist/server/kernel/transaction-read.d.ts.map +1 -0
- package/dist/server/kernel/transaction-read.js +30 -0
- package/dist/server/kernel/transaction-read.js.map +1 -0
- package/dist/server/kernel/work.d.ts +18 -6
- package/dist/server/kernel/work.d.ts.map +1 -1
- package/dist/server/kernel/work.js +37 -14
- package/dist/server/kernel/work.js.map +1 -1
- package/dist/server/lifecycle/move.d.ts +1 -0
- package/dist/server/lifecycle/move.d.ts.map +1 -1
- package/dist/server/lifecycle/move.js +2 -0
- package/dist/server/lifecycle/move.js.map +1 -1
- package/dist/server/lifecycle/registry.d.ts +5 -0
- package/dist/server/lifecycle/registry.d.ts.map +1 -1
- package/dist/server/lifecycle/registry.js.map +1 -1
- package/dist/server/locales/de-DE.d.ts +5 -0
- package/dist/server/locales/de-DE.d.ts.map +1 -0
- package/dist/server/locales/de-DE.js +202 -0
- package/dist/server/locales/de-DE.js.map +1 -0
- 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/es-ES.d.ts +5 -0
- package/dist/server/locales/es-ES.d.ts.map +1 -0
- package/dist/server/locales/es-ES.js +202 -0
- package/dist/server/locales/es-ES.js.map +1 -0
- package/dist/server/locales/fr-FR.d.ts +5 -0
- package/dist/server/locales/fr-FR.d.ts.map +1 -0
- package/dist/server/locales/fr-FR.js +202 -0
- package/dist/server/locales/fr-FR.js.map +1 -0
- package/dist/server/locales/id-ID.d.ts +5 -0
- package/dist/server/locales/id-ID.d.ts.map +1 -0
- package/dist/server/locales/id-ID.js +202 -0
- package/dist/server/locales/id-ID.js.map +1 -0
- package/dist/server/locales/index.d.ts.map +1 -1
- package/dist/server/locales/index.js +8 -0
- package/dist/server/locales/index.js.map +1 -1
- package/dist/server/locales/ja-JP.d.ts +5 -0
- package/dist/server/locales/ja-JP.d.ts.map +1 -0
- package/dist/server/locales/ja-JP.js +202 -0
- package/dist/server/locales/ja-JP.js.map +1 -0
- package/dist/server/locales/pt-BR.d.ts +5 -0
- package/dist/server/locales/pt-BR.d.ts.map +1 -0
- package/dist/server/locales/pt-BR.js +202 -0
- package/dist/server/locales/pt-BR.js.map +1 -0
- package/dist/server/locales/vi-VN.d.ts +5 -0
- package/dist/server/locales/vi-VN.d.ts.map +1 -0
- package/dist/server/locales/vi-VN.js +202 -0
- package/dist/server/locales/vi-VN.js.map +1 -0
- 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/locales/zh-TW.d.ts +5 -0
- package/dist/server/locales/zh-TW.d.ts.map +1 -0
- package/dist/server/locales/zh-TW.js +202 -0
- package/dist/server/locales/zh-TW.js.map +1 -0
- package/dist/server/providers/change-announcer.d.ts +28 -0
- package/dist/server/providers/change-announcer.d.ts.map +1 -0
- package/dist/server/providers/change-announcer.js +75 -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 +8 -121
- 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 +16 -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 +5 -8
- package/dist/server/routes/api.js.map +1 -1
- package/dist/server/routes/schemas.d.ts +20 -29
- package/dist/server/routes/schemas.d.ts.map +1 -1
- package/dist/server/routes/schemas.js +395 -290
- package/dist/server/routes/schemas.js.map +1 -1
- package/dist/server/tokens.d.ts +22 -35
- package/dist/server/tokens.d.ts.map +1 -1
- package/dist/server/tokens.js +5 -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/attachments.d.ts +29 -0
- package/dist/shared/attachments.d.ts.map +1 -1
- package/dist/shared/attachments.js +7 -0
- package/dist/shared/attachments.js.map +1 -1
- package/dist/shared/comments.d.ts +3 -0
- package/dist/shared/comments.d.ts.map +1 -1
- package/dist/shared/comments.js.map +1 -1
- package/dist/shared/invitations.d.ts +1 -1
- package/dist/shared/invitations.d.ts.map +1 -1
- package/dist/shared/issues.d.ts +32 -40
- package/dist/shared/issues.d.ts.map +1 -1
- package/dist/shared/issues.js +5 -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 +29 -13
- 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 +10 -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 +8 -3
- package/dist/shared/subtasks.d.ts.map +1 -1
- package/package.json +21 -29
- package/skills/nocobase-app-plugin-projects/SKILL.md +38 -57
- 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 -182
- 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 -86
- 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 -125
- 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 -130
- 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 -190
- 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 -365
- 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 -267
- package/dist/shared/workflows.d.ts.map +0 -1
- package/dist/shared/workflows.js +0 -149
- package/dist/shared/workflows.js.map +0 -1
|
@@ -3,6 +3,7 @@ import { BUSINESS_KEYS, SETTINGS_KEYS, } from '../../shared/access.js';
|
|
|
3
3
|
import { REACTION_EMOJIS, } from '../../shared/comments.js';
|
|
4
4
|
import { COLORS, PRIORITIES } from '../../shared/common.js';
|
|
5
5
|
import { INTAKE_AI_MODES, INTAKE_AI_STATUSES, } from '../../shared/intake-ai.js';
|
|
6
|
+
import { ISSUE_IDS_MAX, } from '../../shared/issues.js';
|
|
6
7
|
import { PLAN_OPS, PLAN_RISK_FLAGS, PLAN_STATUSES, PLAN_UNDO_OPS, } from '../../shared/plans.js';
|
|
7
8
|
import { PROJECT_RESOURCE_TYPES, PROJECT_STATUSES, PROJECT_VISIBILITIES, } from '../../shared/projects.js';
|
|
8
9
|
import { SUBSCRIPTION_REASONS, } from '../../shared/subscriptions.js';
|
|
@@ -26,48 +27,56 @@ const executor = z.strictObject({ type: id, id }).nullable();
|
|
|
26
27
|
const isObject = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
27
28
|
// Path parameters
|
|
28
29
|
export const ProjectParams = z.object({
|
|
29
|
-
projectId: id,
|
|
30
|
+
projectId: id.describe('The project identifier.'),
|
|
31
|
+
});
|
|
32
|
+
export const ProjectMemberParams = z.object({
|
|
33
|
+
projectId: id.describe('The project identifier.'),
|
|
34
|
+
userId: id.describe('The user identifier.'),
|
|
35
|
+
});
|
|
36
|
+
export const ProjectResourceParams = z.object({
|
|
37
|
+
projectId: id.describe('The project identifier.'),
|
|
38
|
+
resourceId: id.describe('The resource identifier.'),
|
|
30
39
|
});
|
|
31
|
-
export const ProjectMemberParams = z.object({ projectId: id, userId: id });
|
|
32
|
-
export const ProjectResourceParams = z.object({ projectId: id, resourceId: id });
|
|
33
40
|
export const IssueParams = z.object({
|
|
34
|
-
issueId: id,
|
|
41
|
+
issueId: id.describe('The issue identifier.'),
|
|
42
|
+
});
|
|
43
|
+
export const DependencyParams = z.object({
|
|
44
|
+
issueId: id.describe('The issue identifier.'),
|
|
45
|
+
dependencyId: id.describe('The dependency identifier.'),
|
|
35
46
|
});
|
|
36
|
-
export const DependencyParams = z.object({ issueId: id, dependencyId: id });
|
|
37
|
-
export const ChecklistItemParams = z.object({ issueId: id, statusKey: id, itemKey: id });
|
|
38
47
|
export const CommentParams = z.object({
|
|
39
|
-
commentId: id,
|
|
48
|
+
commentId: id.describe('The comment identifier.'),
|
|
40
49
|
});
|
|
41
50
|
export const LabelParams = z.object({
|
|
42
|
-
labelId: id,
|
|
43
|
-
});
|
|
44
|
-
export const WorkflowParams = z.object({
|
|
45
|
-
workflowId: id,
|
|
51
|
+
labelId: id.describe('The label identifier.'),
|
|
46
52
|
});
|
|
47
53
|
export const InvitationParams = z.object({
|
|
48
|
-
invitationId: id,
|
|
49
|
-
});
|
|
50
|
-
export const ApprovalParams = z.object({
|
|
51
|
-
approvalId: id,
|
|
54
|
+
invitationId: id.describe('The invitation identifier.'),
|
|
52
55
|
});
|
|
53
56
|
export const PlanParams = z.object({
|
|
54
|
-
planId: id,
|
|
57
|
+
planId: id.describe('The plan identifier.'),
|
|
55
58
|
});
|
|
56
59
|
export const IntakeFileParams = z.object({
|
|
57
|
-
fileId: id,
|
|
60
|
+
fileId: id.describe('The file identifier.'),
|
|
58
61
|
});
|
|
59
62
|
export const IntakeJobParams = z.object({
|
|
60
|
-
jobId: id,
|
|
63
|
+
jobId: id.describe('The job identifier.'),
|
|
61
64
|
});
|
|
62
65
|
export const AttachmentParams = z.object({
|
|
63
|
-
attachmentId: id,
|
|
66
|
+
attachmentId: id.describe('The attachment identifier.'),
|
|
64
67
|
});
|
|
65
68
|
/** `GET /projects/mentionCandidates`: one short page of the `@` list, at most 20. */
|
|
66
69
|
export const MentionCandidatesQuery = z
|
|
67
70
|
.object({
|
|
68
|
-
q: text,
|
|
69
|
-
issueId: text,
|
|
70
|
-
pageSize: z.coerce
|
|
71
|
+
q: text.describe('Text to search for.'),
|
|
72
|
+
issueId: text.describe('The issue identifier.'),
|
|
73
|
+
pageSize: z.coerce
|
|
74
|
+
.number()
|
|
75
|
+
.int()
|
|
76
|
+
.min(1)
|
|
77
|
+
.max(20)
|
|
78
|
+
.default(8)
|
|
79
|
+
.describe('The maximum number of records to return.'),
|
|
71
80
|
})
|
|
72
81
|
.transform(({ q, issueId, pageSize: limit }) => ({
|
|
73
82
|
...(q ? { q } : {}),
|
|
@@ -75,47 +84,56 @@ export const MentionCandidatesQuery = z
|
|
|
75
84
|
limit,
|
|
76
85
|
}));
|
|
77
86
|
export const CreateInvitationsBody = z.strictObject({
|
|
78
|
-
emails: z.array(z.string()),
|
|
79
|
-
projectIds: z
|
|
87
|
+
emails: z.array(z.string()).describe('The email addresses to invite.'),
|
|
88
|
+
projectIds: z
|
|
89
|
+
.array(id)
|
|
90
|
+
.optional()
|
|
91
|
+
.describe('Projects the invited members may join.'),
|
|
92
|
+
});
|
|
93
|
+
export const UpdateSettingsBody = z.strictObject({
|
|
94
|
+
issuePrefix: z
|
|
95
|
+
.string()
|
|
96
|
+
.optional()
|
|
97
|
+
.describe('The prefix used for new issue identifiers.'),
|
|
80
98
|
});
|
|
81
|
-
|
|
82
|
-
// Labels and workflows
|
|
99
|
+
// Labels
|
|
83
100
|
export const CreateLabelBody = z.strictObject({
|
|
84
|
-
name: z.string(),
|
|
85
|
-
color: z.enum(COLORS).optional(),
|
|
101
|
+
name: z.string().describe('The name to display.'),
|
|
102
|
+
color: z.enum(COLORS).optional().describe('The label color.'),
|
|
86
103
|
});
|
|
87
104
|
export const UpdateLabelBody = z.strictObject({
|
|
88
|
-
name: z.string().optional(),
|
|
89
|
-
color: z.enum(COLORS).optional(),
|
|
90
|
-
});
|
|
91
|
-
/** The definition's structure is checked by the workflow service, which reports every problem at its path. */
|
|
92
|
-
const definition = z
|
|
93
|
-
.custom(isObject, 'definition must be an object.')
|
|
94
|
-
.meta({
|
|
95
|
-
description: 'A workflow definition, shaped as `ProjectsWorkflowDefinition`: `{ states, transitions }`.',
|
|
96
|
-
});
|
|
97
|
-
export const CreateWorkflowBody = z.strictObject({ name: z.string(), copyFrom: id.nullable() });
|
|
98
|
-
export const UpdateWorkflowBody = z.strictObject({
|
|
99
|
-
revision: z.number().int(),
|
|
100
|
-
name: z.string().optional(),
|
|
101
|
-
description: z.string().nullable().optional(),
|
|
102
|
-
definition: definition.optional(),
|
|
105
|
+
name: z.string().optional().describe('The name to display.'),
|
|
106
|
+
color: z.enum(COLORS).optional().describe('The label color.'),
|
|
103
107
|
});
|
|
104
|
-
export const PreviewWorkflowBody = z.strictObject({ definition });
|
|
105
108
|
// Projects
|
|
106
109
|
const projectFields = {
|
|
107
|
-
description: z
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
110
|
+
description: z
|
|
111
|
+
.string()
|
|
112
|
+
.nullable()
|
|
113
|
+
.optional()
|
|
114
|
+
.describe('A description of the record.'),
|
|
115
|
+
visibility: z
|
|
116
|
+
.enum(PROJECT_VISIBILITIES)
|
|
117
|
+
.optional()
|
|
118
|
+
.describe('Who may see this project.'),
|
|
119
|
+
status: z
|
|
120
|
+
.enum(PROJECT_STATUSES)
|
|
121
|
+
.optional()
|
|
122
|
+
.describe('The status to set or filter by.'),
|
|
123
|
+
priority: priority.optional().describe('The priority to assign.'),
|
|
124
|
+
leadUserId: id.nullable().optional().describe('The lead user identifier.'),
|
|
125
|
+
startDate: date.optional().describe('The planned start date.'),
|
|
126
|
+
dueDate: date.optional().describe('The planned due date.'),
|
|
115
127
|
};
|
|
116
|
-
export const CreateProjectBody = z.strictObject({
|
|
117
|
-
|
|
118
|
-
|
|
128
|
+
export const CreateProjectBody = z.strictObject({
|
|
129
|
+
name: z.string().describe('The name to display.'),
|
|
130
|
+
...projectFields,
|
|
131
|
+
});
|
|
132
|
+
export const UpdateProjectBody = z.strictObject({
|
|
133
|
+
name: z.string().optional().describe('The name to display.'),
|
|
134
|
+
...projectFields,
|
|
135
|
+
});
|
|
136
|
+
export const AddProjectMemberBody = z.strictObject({ userId: id.describe('The user identifier.') });
|
|
119
137
|
const binding = z
|
|
120
138
|
.strictObject({
|
|
121
139
|
provider: id,
|
|
@@ -125,24 +143,58 @@ const binding = z
|
|
|
125
143
|
})
|
|
126
144
|
.nullable();
|
|
127
145
|
export const CreateProjectResourceBody = z.strictObject({
|
|
128
|
-
type: z
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
146
|
+
type: z
|
|
147
|
+
.enum(PROJECT_RESOURCE_TYPES)
|
|
148
|
+
.describe('The type of relationship or record.'),
|
|
149
|
+
url: z.string().nullable().optional().describe('The resource URL.'),
|
|
150
|
+
defaultRef: z
|
|
151
|
+
.string()
|
|
152
|
+
.nullable()
|
|
153
|
+
.optional()
|
|
154
|
+
.describe('The default Git branch or revision.'),
|
|
155
|
+
binding: binding.optional().describe('The resource binding configuration.'),
|
|
156
|
+
runnerId: z
|
|
157
|
+
.string()
|
|
158
|
+
.nullable()
|
|
159
|
+
.optional()
|
|
160
|
+
.describe('The runner identifier.'),
|
|
161
|
+
path: z.string().nullable().optional().describe('The path on the runner.'),
|
|
162
|
+
label: z
|
|
163
|
+
.string()
|
|
164
|
+
.nullable()
|
|
165
|
+
.optional()
|
|
166
|
+
.describe('A label for this resource.'),
|
|
167
|
+
initPrompt: z
|
|
168
|
+
.string()
|
|
169
|
+
.nullable()
|
|
170
|
+
.optional()
|
|
171
|
+
.describe('Instructions for initializing the project.'),
|
|
136
172
|
});
|
|
137
173
|
export const UpdateProjectResourceBody = z.strictObject({
|
|
138
|
-
url: z.string().optional(),
|
|
139
|
-
defaultRef: z
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
174
|
+
url: z.string().optional().describe('The resource URL.'),
|
|
175
|
+
defaultRef: z
|
|
176
|
+
.string()
|
|
177
|
+
.nullable()
|
|
178
|
+
.optional()
|
|
179
|
+
.describe('The default Git branch or revision.'),
|
|
180
|
+
binding: binding.optional().describe('The resource binding configuration.'),
|
|
181
|
+
runnerId: z.string().optional().describe('The runner identifier.'),
|
|
182
|
+
path: z.string().optional().describe('The path on the runner.'),
|
|
183
|
+
label: z
|
|
184
|
+
.string()
|
|
185
|
+
.nullable()
|
|
186
|
+
.optional()
|
|
187
|
+
.describe('A label for this resource.'),
|
|
188
|
+
initPrompt: z
|
|
189
|
+
.string()
|
|
190
|
+
.nullable()
|
|
191
|
+
.optional()
|
|
192
|
+
.describe('Instructions for initializing the project.'),
|
|
193
|
+
position: z
|
|
194
|
+
.number()
|
|
195
|
+
.int()
|
|
196
|
+
.optional()
|
|
197
|
+
.describe('The resource’s position in the ordered list.'),
|
|
146
198
|
});
|
|
147
199
|
// Issues
|
|
148
200
|
const ORDER_FIELDS = {
|
|
@@ -169,16 +221,34 @@ function sortOf(value) {
|
|
|
169
221
|
};
|
|
170
222
|
}
|
|
171
223
|
const issueFilters = {
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
224
|
+
issueIds: z
|
|
225
|
+
.string()
|
|
226
|
+
.optional()
|
|
227
|
+
.transform((value) => value === undefined
|
|
228
|
+
? undefined
|
|
229
|
+
: [
|
|
230
|
+
...new Set(value
|
|
231
|
+
.split(',')
|
|
232
|
+
.map((id) => id.trim())
|
|
233
|
+
.filter(Boolean)),
|
|
234
|
+
])
|
|
235
|
+
.pipe(z.array(z.string().max(64)).max(ISSUE_IDS_MAX).optional())
|
|
236
|
+
.meta({
|
|
237
|
+
description: `Only these issues, comma-separated ids, at most ${ISSUE_IDS_MAX}; the other filters still apply.`,
|
|
238
|
+
}),
|
|
239
|
+
involvesUserId: text.meta({
|
|
240
|
+
description: 'Owned by this user or executed by them as a person, each issue once.',
|
|
241
|
+
}),
|
|
242
|
+
statusKey: text.describe('Filter by issue status key.'),
|
|
243
|
+
projectId: text.describe('The project identifier.'),
|
|
244
|
+
ownerUserId: text.describe('The owner user identifier.'),
|
|
245
|
+
executorId: text.describe('The executor identifier.'),
|
|
246
|
+
labelId: text.describe('The label identifier.'),
|
|
177
247
|
/** An issue id, or `none` for top-level issues only. */
|
|
178
|
-
parentIssueId: text,
|
|
179
|
-
q: text,
|
|
180
|
-
deleted: boolean,
|
|
181
|
-
orderBy,
|
|
248
|
+
parentIssueId: text.describe('The parent issue identifier.'),
|
|
249
|
+
q: text.describe('Text to search for.'),
|
|
250
|
+
deleted: boolean.describe('Whether to include deleted records.'),
|
|
251
|
+
orderBy: orderBy.describe('The field and direction to sort by.'),
|
|
182
252
|
};
|
|
183
253
|
function issueQueryOf(input) {
|
|
184
254
|
const { deleted, orderBy: order, ...filters } = input;
|
|
@@ -190,7 +260,11 @@ function issueQueryOf(input) {
|
|
|
190
260
|
}
|
|
191
261
|
/** `GET /projects/issues`: a cursor-paged list. */
|
|
192
262
|
export const IssueListQuerySchema = z
|
|
193
|
-
.object({
|
|
263
|
+
.object({
|
|
264
|
+
...issueFilters,
|
|
265
|
+
pageSize: pageSize().describe('The maximum number of records to return.'),
|
|
266
|
+
pageToken: pageToken.describe('The continuation token returned by the previous page.'),
|
|
267
|
+
})
|
|
194
268
|
.transform(({ pageSize: limit, pageToken: cursor, ...filters }) => ({
|
|
195
269
|
...issueQueryOf(filters),
|
|
196
270
|
limit,
|
|
@@ -198,68 +272,124 @@ export const IssueListQuerySchema = z
|
|
|
198
272
|
}));
|
|
199
273
|
/** `GET /projects/issues/board`: the list's filters; `pageSize` issues per column. */
|
|
200
274
|
export const IssueBoardQuery = z
|
|
201
|
-
.object({
|
|
275
|
+
.object({
|
|
276
|
+
...issueFilters,
|
|
277
|
+
pageSize: pageSize().describe('The maximum number of records to return.'),
|
|
278
|
+
})
|
|
202
279
|
.transform(({ pageSize: limit, ...filters }) => ({
|
|
203
280
|
...issueQueryOf(filters),
|
|
204
281
|
limit,
|
|
205
282
|
}));
|
|
206
283
|
export const ProjectFilterQuery = z
|
|
207
|
-
.object({ projectId: text })
|
|
284
|
+
.object({ projectId: text.describe('The project identifier.') })
|
|
208
285
|
.transform(({ projectId }) => ({ projectId: projectId ?? null }));
|
|
209
286
|
/** Older activities or comment threads of an issue. */
|
|
210
287
|
export const CursorPageQuery = z
|
|
211
|
-
.object({
|
|
288
|
+
.object({
|
|
289
|
+
pageSize: pageSize().describe('The maximum number of records to return.'),
|
|
290
|
+
pageToken: pageToken.describe('The continuation token returned by the previous page.'),
|
|
291
|
+
})
|
|
212
292
|
.transform(({ pageSize: limit, pageToken: cursor }) => ({
|
|
213
293
|
limit,
|
|
214
294
|
...(cursor ? { cursor } : {}),
|
|
215
295
|
}));
|
|
296
|
+
/** An issue's comment threads, optionally only what was written after a time. */
|
|
297
|
+
export const CommentThreadsQuery = z
|
|
298
|
+
.object({
|
|
299
|
+
pageSize: pageSize().describe('The maximum number of records to return.'),
|
|
300
|
+
pageToken: pageToken.describe('The continuation token returned by the previous page.'),
|
|
301
|
+
since: z.iso.datetime({ offset: true }).optional().meta({
|
|
302
|
+
description: 'RFC 3339. Only threads with a comment written after it, each with its root and only the replies written after it.',
|
|
303
|
+
}),
|
|
304
|
+
})
|
|
305
|
+
.transform(({ pageSize: limit, pageToken: cursor, since }) => ({
|
|
306
|
+
limit,
|
|
307
|
+
...(cursor ? { cursor } : {}),
|
|
308
|
+
...(since ? { since } : {}),
|
|
309
|
+
}));
|
|
216
310
|
const issueFields = {
|
|
217
|
-
description: z.string().optional(),
|
|
218
|
-
statusKey: z.string().optional(),
|
|
219
|
-
priority: priority.optional(),
|
|
220
|
-
ownerUserId: id.optional(),
|
|
221
|
-
executor: executor
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
311
|
+
description: z.string().optional().describe('A description of the record.'),
|
|
312
|
+
statusKey: z.string().optional().describe('Filter by issue status key.'),
|
|
313
|
+
priority: priority.optional().describe('The priority to assign.'),
|
|
314
|
+
ownerUserId: id.optional().describe('The owner user identifier.'),
|
|
315
|
+
executor: executor
|
|
316
|
+
.optional()
|
|
317
|
+
.describe('The executor identity, with type and id; null clears it.'),
|
|
318
|
+
parentIssueId: id
|
|
319
|
+
.nullable()
|
|
320
|
+
.optional()
|
|
321
|
+
.describe('The parent issue identifier.'),
|
|
322
|
+
stage: z
|
|
323
|
+
.number()
|
|
324
|
+
.int()
|
|
325
|
+
.nullable()
|
|
326
|
+
.optional()
|
|
327
|
+
.describe('The workflow stage to assign.'),
|
|
328
|
+
projectId: id.nullable().optional().describe('The project identifier.'),
|
|
329
|
+
startDate: date.optional().describe('The planned start date.'),
|
|
330
|
+
dueDate: date.optional().describe('The planned due date.'),
|
|
331
|
+
labelIds: z.array(id).optional().describe('Label identifiers to assign.'),
|
|
229
332
|
};
|
|
230
333
|
export const CreateIssueBody = z.strictObject({
|
|
231
|
-
title: z.string(),
|
|
334
|
+
title: z.string().describe('The display title.'),
|
|
335
|
+
attachmentIds: z.array(id).optional().meta({
|
|
336
|
+
description: "The caller's unattached uploads; requires attachment upload permission. Bound before work starts.",
|
|
337
|
+
}),
|
|
232
338
|
...issueFields,
|
|
233
|
-
blockedBy: z
|
|
234
|
-
|
|
339
|
+
blockedBy: z
|
|
340
|
+
.array(id)
|
|
341
|
+
.optional()
|
|
342
|
+
.describe('Identifiers of issues that must finish first.'),
|
|
343
|
+
projectSetup: z
|
|
344
|
+
.boolean()
|
|
345
|
+
.optional()
|
|
346
|
+
.describe('Project setup to create when starting this issue.'),
|
|
235
347
|
});
|
|
236
348
|
export const UpdateIssueBody = z.strictObject({
|
|
349
|
+
needsYou: z.string().nullable().optional().meta({
|
|
350
|
+
description: 'Optional decision or input for the owner. Omit to retain; null or whitespace clears it. Cleared outside blocked or in_review. Studio requires nonblank input only for authenticated project-manager direct status updates.',
|
|
351
|
+
}),
|
|
352
|
+
next: z.string().nullable().optional().meta({
|
|
353
|
+
description: 'The next step. Omit to retain; null or whitespace clears it. Terminal statuses clear it.',
|
|
354
|
+
}),
|
|
355
|
+
acceptance: z.string().nullable().optional().meta({
|
|
356
|
+
description: "The issue's delivery report, Markdown: how it was, the agreed approach, what changed, how it was checked, open issues and details, ending with the acceptance criteria the owner checks and where. Kept across status changes; the next delivery replaces it. Omit to retain; null or whitespace clears it.",
|
|
357
|
+
}),
|
|
237
358
|
revision: z.number().int().optional().meta({
|
|
238
359
|
description: 'The revision the change is based on; left out, the change applies to the issue as it is now.',
|
|
239
360
|
}),
|
|
240
|
-
title: z.string().optional(),
|
|
361
|
+
title: z.string().optional().describe('The display title.'),
|
|
241
362
|
...issueFields,
|
|
242
363
|
});
|
|
243
|
-
export const UpdateChecklistItemBody = z.strictObject({ checked: z.boolean() });
|
|
244
364
|
export const AddDependencyBody = z.strictObject({
|
|
245
|
-
dependsOnIssueId: id,
|
|
365
|
+
dependsOnIssueId: id.describe('The depends on issue identifier.'),
|
|
246
366
|
type: z
|
|
247
367
|
.enum(DEPENDENCY_TYPES)
|
|
248
|
-
.optional()
|
|
368
|
+
.optional()
|
|
369
|
+
.describe('The type of relationship or record.'),
|
|
249
370
|
});
|
|
250
371
|
/** `POST /projects/issues/{issueId}/removeDependency`: the link to another issue, by that issue and the type. */
|
|
251
372
|
export const RemoveDependencyBody = AddDependencyBody;
|
|
252
|
-
|
|
373
|
+
export const UpdateDependencyBody = z.strictObject({
|
|
374
|
+
type: z
|
|
375
|
+
.enum(['blockedBy', 'relatedTo'])
|
|
376
|
+
.describe('The type of relationship or record.'),
|
|
377
|
+
expectedType: z.enum(['blockedBy', 'relatedTo']).meta({
|
|
378
|
+
description: 'The relationship type the caller read; a stale value is a conflict.',
|
|
379
|
+
}),
|
|
380
|
+
});
|
|
381
|
+
// Comments
|
|
253
382
|
export const CreateCommentBody = z.strictObject({
|
|
254
|
-
content: z.string(),
|
|
255
|
-
parentId: id.nullable().optional(),
|
|
383
|
+
content: z.string().describe('The Markdown content.'),
|
|
384
|
+
parentId: id.nullable().optional().describe('The parent identifier.'),
|
|
256
385
|
attachmentIds: z.array(id).optional(),
|
|
257
386
|
});
|
|
258
|
-
export const UpdateCommentBody = z.strictObject({ content: z.string() });
|
|
387
|
+
export const UpdateCommentBody = z.strictObject({ content: z.string().describe('The Markdown content.') });
|
|
259
388
|
export const ReactionBody = z.strictObject({
|
|
260
|
-
emoji: z
|
|
389
|
+
emoji: z
|
|
390
|
+
.enum(REACTION_EMOJIS)
|
|
391
|
+
.describe('The emoji reaction to add or remove.'),
|
|
261
392
|
});
|
|
262
|
-
export const DecideApprovalBody = z.strictObject({ comment: z.string().optional() });
|
|
263
393
|
// Plans and intake
|
|
264
394
|
/** A row's `params` are checked per operation by the plan engine, which reports each row's problems (`PLAN_INVALID`). */
|
|
265
395
|
const planRow = z
|
|
@@ -269,15 +399,17 @@ const planRow = z
|
|
|
269
399
|
description: 'A row shaped as `ProjectsPlanRowInput`: `{ op, params, ref? }`, `op` one of `issue.create`, `issue.update`, `comment.create`, `dependency` and `project.create`.',
|
|
270
400
|
});
|
|
271
401
|
const planBody = z.strictObject({
|
|
272
|
-
title: z.string(),
|
|
273
|
-
description: z.string().optional(),
|
|
274
|
-
source: z
|
|
402
|
+
title: z.string().describe('The display title.'),
|
|
403
|
+
description: z.string().optional().describe('A description of the record.'),
|
|
404
|
+
source: z
|
|
405
|
+
.strictObject({
|
|
275
406
|
kind: z.string().min(1),
|
|
276
407
|
key: z.string().nullable().optional(),
|
|
277
408
|
issueId: id.nullable().optional(),
|
|
278
409
|
// Opaque JSON the proposer gets back untouched (`PlanSource.data`).
|
|
279
410
|
data: z.unknown().optional(),
|
|
280
|
-
})
|
|
411
|
+
})
|
|
412
|
+
.describe('The source context associated with this record.'),
|
|
281
413
|
proposer: z
|
|
282
414
|
.strictObject({
|
|
283
415
|
agentId: id,
|
|
@@ -286,36 +418,52 @@ const planBody = z.strictObject({
|
|
|
286
418
|
})
|
|
287
419
|
.nullable()
|
|
288
420
|
.optional(),
|
|
289
|
-
deciderUserId: id.optional(),
|
|
290
|
-
rows: z
|
|
421
|
+
deciderUserId: id.optional().describe('The decider user identifier.'),
|
|
422
|
+
rows: z
|
|
423
|
+
.array(planRow)
|
|
424
|
+
.describe('The operations in the plan, in execution order.'),
|
|
291
425
|
});
|
|
292
426
|
export const CreatePlanBody = planBody;
|
|
293
427
|
export const EditPlanBody = z.strictObject({
|
|
294
|
-
revision: z
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
428
|
+
revision: z
|
|
429
|
+
.number()
|
|
430
|
+
.int()
|
|
431
|
+
.describe('The revision last read; reject if the record has changed.'),
|
|
432
|
+
title: z.string().optional().describe('The display title.'),
|
|
433
|
+
description: z.string().optional().describe('A description of the record.'),
|
|
434
|
+
rows: z
|
|
435
|
+
.array(z.strictObject({
|
|
298
436
|
id,
|
|
299
437
|
// Replaces the row's params, checked by the plan engine as on creation.
|
|
300
438
|
params: z.unknown().optional(),
|
|
301
439
|
remove: z.boolean().optional(),
|
|
302
|
-
}))
|
|
440
|
+
}))
|
|
441
|
+
.describe('The operations in the plan, in execution order.'),
|
|
303
442
|
});
|
|
304
443
|
export const PlanActionBody = z.strictObject({
|
|
305
|
-
revision: z
|
|
444
|
+
revision: z
|
|
445
|
+
.number()
|
|
446
|
+
.int()
|
|
447
|
+
.describe('The revision last read; reject if the record has changed.'),
|
|
306
448
|
});
|
|
307
449
|
export const PlanUndoBody = z.strictObject({
|
|
308
|
-
dryRun: z
|
|
450
|
+
dryRun: z
|
|
451
|
+
.boolean()
|
|
452
|
+
.optional()
|
|
453
|
+
.describe('Preview the changes without applying them.'),
|
|
309
454
|
});
|
|
310
455
|
/** `GET /projects/plans`: a cursor-paged list, newest first. */
|
|
311
456
|
export const PlanListQuerySchema = z
|
|
312
457
|
.object({
|
|
313
|
-
status: z
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
458
|
+
status: z
|
|
459
|
+
.enum(['open', ...PLAN_STATUSES])
|
|
460
|
+
.optional()
|
|
461
|
+
.describe('The status to set or filter by.'),
|
|
462
|
+
sourceKind: text.describe('The kind of source to filter by.'),
|
|
463
|
+
sourceKey: text.describe('The source identifier to filter by.'),
|
|
464
|
+
issueId: text.describe('The issue identifier.'),
|
|
465
|
+
pageSize: pageSize(50).describe('The maximum number of records to return.'),
|
|
466
|
+
pageToken: pageToken.describe('The continuation token returned by the previous page.'),
|
|
319
467
|
})
|
|
320
468
|
.transform(({ pageSize: limit, pageToken: cursor, ...filters }) => ({
|
|
321
469
|
...Object.fromEntries(Object.entries(filters).filter(([, value]) => value !== undefined)),
|
|
@@ -323,21 +471,24 @@ export const PlanListQuerySchema = z
|
|
|
323
471
|
...(cursor ? { cursor } : {}),
|
|
324
472
|
}));
|
|
325
473
|
export const IntakeSplitBody = z.strictObject({
|
|
326
|
-
text: z.string().optional(),
|
|
474
|
+
text: z.string().optional().describe('The source text to process.'),
|
|
327
475
|
fileIds: z.array(id).optional(),
|
|
328
|
-
projectId: id.nullable().optional(),
|
|
476
|
+
projectId: id.nullable().optional().describe('The project identifier.'),
|
|
329
477
|
});
|
|
330
478
|
export const IntakeTextsBody = z.strictObject({
|
|
331
479
|
fileIds: z.array(id),
|
|
332
480
|
});
|
|
333
481
|
export const IntakeAiStartBody = z.strictObject({
|
|
334
|
-
mode: z.enum(INTAKE_AI_MODES),
|
|
335
|
-
text: z.string().optional(),
|
|
482
|
+
mode: z.enum(INTAKE_AI_MODES).describe('The processing mode to use.'),
|
|
483
|
+
text: z.string().optional().describe('The source text to process.'),
|
|
336
484
|
fileIds: z.array(id).optional(),
|
|
337
|
-
projectId: id.nullable().optional(),
|
|
338
|
-
planId: id.nullable().optional(),
|
|
339
|
-
instruction: z
|
|
340
|
-
|
|
485
|
+
projectId: id.nullable().optional().describe('The project identifier.'),
|
|
486
|
+
planId: id.nullable().optional().describe('The plan identifier.'),
|
|
487
|
+
instruction: z
|
|
488
|
+
.string()
|
|
489
|
+
.optional()
|
|
490
|
+
.describe('Instructions for organizing the source text.'),
|
|
491
|
+
issueId: id.optional().describe('The issue identifier.'),
|
|
341
492
|
});
|
|
342
493
|
export const IssueAttachmentsQuery = z.object({
|
|
343
494
|
comments: z.enum(['true', 'false']).optional().meta({
|
|
@@ -421,6 +572,9 @@ export const ExecutorCandidateSchema = z.object({
|
|
|
421
572
|
nameText: NameTextSchema.optional(),
|
|
422
573
|
online: z.boolean().optional(),
|
|
423
574
|
busy: z.number().int().optional(),
|
|
575
|
+
isDefault: z.boolean().optional().meta({
|
|
576
|
+
description: 'A new issue gets this executor when it names none, so a form preselects it.',
|
|
577
|
+
}),
|
|
424
578
|
});
|
|
425
579
|
export const MentionCandidateSchema = z.object({
|
|
426
580
|
kind: z.string(),
|
|
@@ -450,13 +604,18 @@ export const InvitationSchema = z.object({
|
|
|
450
604
|
sentAt: dateTime.nullable(),
|
|
451
605
|
createdAt: dateTime,
|
|
452
606
|
});
|
|
607
|
+
export const ResendInvitationQuery = z.object({
|
|
608
|
+
sendEmail: z.enum(['true', 'false']).optional().meta({
|
|
609
|
+
description: 'Defaults to true. Set false to generate a new link without sending email. The previous link stops working.',
|
|
610
|
+
}),
|
|
611
|
+
});
|
|
453
612
|
export const InvitationResultSchema = z
|
|
454
613
|
.object({
|
|
455
614
|
email: z.string(),
|
|
456
615
|
outcome: z.enum(['invited', 'added', 'alreadyMember']),
|
|
457
616
|
emailSent: z.boolean().optional(),
|
|
458
617
|
inviteUrl: z.string().optional().meta({
|
|
459
|
-
description: '
|
|
618
|
+
description: 'The new shareable invitation link, returned to an authorized original inviter using an unscoped person credential, regardless of email delivery.',
|
|
460
619
|
}),
|
|
461
620
|
})
|
|
462
621
|
.meta({ ref: 'ProjectsInvitationResult' });
|
|
@@ -464,128 +623,33 @@ export const InvitationResultsSchema = z.object({ results: z.array(InvitationRes
|
|
|
464
623
|
export const WorkspaceSettingsSchema = z.object({
|
|
465
624
|
issuePrefix: z.string(),
|
|
466
625
|
});
|
|
467
|
-
//
|
|
468
|
-
const
|
|
469
|
-
.union([
|
|
470
|
-
z.string(),
|
|
471
|
-
z.object({
|
|
472
|
-
key: z.string(),
|
|
473
|
-
ns: z.string().optional(),
|
|
474
|
-
defaultValue: z.string().optional(),
|
|
475
|
-
}),
|
|
476
|
-
])
|
|
477
|
-
.meta({
|
|
478
|
-
ref: 'ProjectsRuleMessage',
|
|
479
|
-
description: 'Plain text, or an i18n key with its namespace and default.',
|
|
480
|
-
});
|
|
481
|
-
const statusRule = z
|
|
482
|
-
.object({
|
|
483
|
-
type: z.string(),
|
|
484
|
-
config: record.optional(),
|
|
485
|
-
})
|
|
486
|
-
.meta({
|
|
487
|
-
ref: 'ProjectsWorkflowStatusRule',
|
|
488
|
-
description: 'What entering a status does. Built in: `checklist` (`config.items`: `{ key, label, required }[]`), `notifyOwner` (`config.message`), `subtasksDone`, `blockersDone` and `startOption` (`config.label`, `config.hint`); other plugins contribute their own types.',
|
|
489
|
-
});
|
|
490
|
-
const WorkflowDefinitionSchema = z
|
|
491
|
-
.object({
|
|
492
|
-
states: z.array(z.object({
|
|
493
|
-
key: z.string(),
|
|
494
|
-
name: z.string(),
|
|
495
|
-
category: statusCategory,
|
|
496
|
-
color,
|
|
497
|
-
builtIn: z.boolean().optional(),
|
|
498
|
-
rules: z.array(statusRule).optional(),
|
|
499
|
-
})),
|
|
500
|
-
transitions: z.array(z.object({
|
|
501
|
-
from: z.string().meta({ description: 'A status key, or `*`.' }),
|
|
502
|
-
to: z.string().meta({ description: 'A status key, or `*`.' }),
|
|
503
|
-
actors: z.array(z.string()),
|
|
504
|
-
approval: z
|
|
505
|
-
.object({
|
|
506
|
-
approvers: z.array(z.enum(['owner', 'projectLead', 'admin'])),
|
|
507
|
-
})
|
|
508
|
-
.optional(),
|
|
509
|
-
on: z.string().optional().meta({
|
|
510
|
-
description: 'An event the system takes the transition on, such as `subtasks.done`.',
|
|
511
|
-
}),
|
|
512
|
-
})),
|
|
513
|
-
})
|
|
514
|
-
.meta({ ref: 'ProjectsWorkflowDefinition' });
|
|
515
|
-
export const WorkflowSchema = z
|
|
626
|
+
// Attachments and comments
|
|
627
|
+
export const IssueScreenshotSchema = z
|
|
516
628
|
.object({
|
|
517
629
|
id: z.string(),
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
630
|
+
filename: z.string(),
|
|
631
|
+
ext: z.string(),
|
|
632
|
+
mimeType: z.string(),
|
|
633
|
+
size: z.number().int(),
|
|
634
|
+
contentUrl: z.string(),
|
|
635
|
+
downloadUrl: z.string(),
|
|
636
|
+
comment: z.object({
|
|
637
|
+
id: z.string(),
|
|
638
|
+
createdAt: dateTime,
|
|
639
|
+
author: z.object({
|
|
640
|
+
type: z.string(),
|
|
641
|
+
id: z.string(),
|
|
642
|
+
name: z.string().nullable(),
|
|
643
|
+
}),
|
|
644
|
+
}),
|
|
529
645
|
})
|
|
530
|
-
.meta({ ref: '
|
|
531
|
-
export const
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
available: z.boolean(),
|
|
537
|
-
summary: z.string().nullable(),
|
|
538
|
-
attention: z.boolean(),
|
|
539
|
-
})),
|
|
540
|
-
attention: z.array(z.object({
|
|
541
|
-
statusKey: z.string(),
|
|
542
|
-
rule: statusRule,
|
|
543
|
-
summary: z.string(),
|
|
544
|
-
isNew: z.boolean(),
|
|
545
|
-
})),
|
|
646
|
+
.meta({ ref: 'ProjectsIssueScreenshot' });
|
|
647
|
+
export const IssueScreenshotsMeta = z.object({
|
|
648
|
+
limit: z.number().int(),
|
|
649
|
+
truncated: z.boolean().meta({
|
|
650
|
+
description: 'More images exist. All counts describe only the returned batch.',
|
|
651
|
+
}),
|
|
546
652
|
});
|
|
547
|
-
// Approvals and checklists
|
|
548
|
-
export const ApprovalRequestSchema = z
|
|
549
|
-
.object({
|
|
550
|
-
id: z.string(),
|
|
551
|
-
issueId: z.string(),
|
|
552
|
-
issueIdentifier: z.string().nullable(),
|
|
553
|
-
issueTitle: z.string().nullable(),
|
|
554
|
-
fromStatus: z.string(),
|
|
555
|
-
toStatus: z.string(),
|
|
556
|
-
requestedByType: z.string(),
|
|
557
|
-
requestedById: z.string(),
|
|
558
|
-
requestedByName: z.string().nullable(),
|
|
559
|
-
approvers: z.array(z.enum(['owner', 'projectLead', 'admin'])),
|
|
560
|
-
approverUserIds: z.array(z.string()),
|
|
561
|
-
approverNames: z.array(z.string()),
|
|
562
|
-
status: z.enum(['pending', 'approved', 'rejected', 'withdrawn', 'stale']),
|
|
563
|
-
decidedById: z.string().nullable(),
|
|
564
|
-
decidedByName: z.string().nullable(),
|
|
565
|
-
decidedAt: dateTime.nullable(),
|
|
566
|
-
comment: z.string().nullable(),
|
|
567
|
-
createdAt: dateTime,
|
|
568
|
-
updatedAt: dateTime,
|
|
569
|
-
})
|
|
570
|
-
.meta({ ref: 'ProjectsApprovalRequest' });
|
|
571
|
-
export const IssueChecklistSchema = z
|
|
572
|
-
.object({
|
|
573
|
-
statusKey: z.string(),
|
|
574
|
-
current: z.boolean(),
|
|
575
|
-
complete: z.boolean(),
|
|
576
|
-
items: z.array(z.object({
|
|
577
|
-
itemKey: z.string(),
|
|
578
|
-
label: z.string(),
|
|
579
|
-
required: z.boolean(),
|
|
580
|
-
checked: z.boolean(),
|
|
581
|
-
checkedByType: z.string().nullable(),
|
|
582
|
-
checkedById: z.string().nullable(),
|
|
583
|
-
checkedByName: z.string().nullable(),
|
|
584
|
-
checkedAt: dateTime.nullable(),
|
|
585
|
-
})),
|
|
586
|
-
})
|
|
587
|
-
.meta({ ref: 'ProjectsIssueChecklist' });
|
|
588
|
-
// Attachments and comments
|
|
589
653
|
export const AttachmentSchema = z
|
|
590
654
|
.object({
|
|
591
655
|
id: z.string(),
|
|
@@ -620,6 +684,36 @@ const MentionRefSchema = z.object({
|
|
|
620
684
|
kind: z.string(),
|
|
621
685
|
id: z.string(),
|
|
622
686
|
});
|
|
687
|
+
const ActivityExecutionSchema = z
|
|
688
|
+
.object({
|
|
689
|
+
attempt: z.number().int(),
|
|
690
|
+
runnerId: z.string(),
|
|
691
|
+
runnerName: z.string().nullable().optional(),
|
|
692
|
+
runnerOwnerUserId: z.string().nullable().optional(),
|
|
693
|
+
runnerOwnerName: z.string().nullable().optional(),
|
|
694
|
+
runnerTrust: z.enum(['team', 'ownerOnly']).nullable().optional(),
|
|
695
|
+
machineHidden: z.boolean().optional(),
|
|
696
|
+
tool: z.string().nullable().optional(),
|
|
697
|
+
toolVersion: z.string().nullable().optional(),
|
|
698
|
+
model: z.string().nullable().optional(),
|
|
699
|
+
actualModels: z.array(z.string()).optional(),
|
|
700
|
+
effort: z.string().nullable().optional(),
|
|
701
|
+
actualEffort: z.string().nullable().optional(),
|
|
702
|
+
actualEffortSource: z.string().nullable().optional(),
|
|
703
|
+
actualEffortAt: dateTime.nullable().optional(),
|
|
704
|
+
})
|
|
705
|
+
.meta({ ref: 'ProjectsActivityExecution' });
|
|
706
|
+
const ActivityViaSchema = z
|
|
707
|
+
.object({
|
|
708
|
+
type: z.enum(['cli', 'api_key', 'agent', 'plan']),
|
|
709
|
+
agentId: z.string().optional(),
|
|
710
|
+
agentName: z.string().nullable().optional(),
|
|
711
|
+
runId: z.string().optional(),
|
|
712
|
+
execution: ActivityExecutionSchema.optional(),
|
|
713
|
+
conversationId: z.string().optional(),
|
|
714
|
+
planId: z.string().optional(),
|
|
715
|
+
})
|
|
716
|
+
.meta({ ref: 'ProjectsActivityVia' });
|
|
623
717
|
export const IssueCommentSchema = z
|
|
624
718
|
.object({
|
|
625
719
|
id: z.string(),
|
|
@@ -633,6 +727,7 @@ export const IssueCommentSchema = z
|
|
|
633
727
|
parentId: z.string().nullable(),
|
|
634
728
|
rootId: z.string(),
|
|
635
729
|
via: z.enum(['cli', 'api_key', 'agent']).nullable(),
|
|
730
|
+
source: ActivityViaSchema.nullable().optional(),
|
|
636
731
|
createdAt: dateTime,
|
|
637
732
|
editedAt: dateTime.nullable(),
|
|
638
733
|
deleted: z.boolean(),
|
|
@@ -667,16 +762,6 @@ export const SubscriptionStateSchema = z.object({
|
|
|
667
762
|
subscribed: z.boolean(),
|
|
668
763
|
});
|
|
669
764
|
// Issues
|
|
670
|
-
const ActivityViaSchema = z
|
|
671
|
-
.object({
|
|
672
|
-
type: z.enum(['cli', 'api_key', 'agent', 'plan']),
|
|
673
|
-
agentId: z.string().optional(),
|
|
674
|
-
agentName: z.string().nullable().optional(),
|
|
675
|
-
runId: z.string().optional(),
|
|
676
|
-
conversationId: z.string().optional(),
|
|
677
|
-
planId: z.string().optional(),
|
|
678
|
-
})
|
|
679
|
-
.meta({ ref: 'ProjectsActivityVia' });
|
|
680
765
|
export const ActivitySchema = z
|
|
681
766
|
.object({
|
|
682
767
|
id: z.string(),
|
|
@@ -698,6 +783,15 @@ const issueShape = {
|
|
|
698
783
|
title: z.string(),
|
|
699
784
|
description: z.string().meta({ description: 'Markdown.' }),
|
|
700
785
|
statusKey: z.string(),
|
|
786
|
+
needsYou: z.string().nullable().meta({
|
|
787
|
+
description: 'The decision or input required from the owner; null outside Blocked and In review, or on historical issues.',
|
|
788
|
+
}),
|
|
789
|
+
acceptance: z.string().nullable().meta({
|
|
790
|
+
description: "The issue's delivery report, Markdown, ending with the acceptance criteria; kept across status changes until the next delivery replaces it, null when none was written.",
|
|
791
|
+
}),
|
|
792
|
+
next: z.string().nullable().meta({
|
|
793
|
+
description: 'The next step; null when none is recorded or the issue is Done or Cancelled.',
|
|
794
|
+
}),
|
|
701
795
|
priority: z.enum(PRIORITIES),
|
|
702
796
|
ownerUserId: z.string(),
|
|
703
797
|
executor: ExecutorSchema.nullable(),
|
|
@@ -747,6 +841,7 @@ export const IssueDependencySchema = z
|
|
|
747
841
|
})
|
|
748
842
|
.meta({ ref: 'ProjectsIssueDependency' });
|
|
749
843
|
export const IssueDetailSchema = z.object({
|
|
844
|
+
progress: z.record(z.string(), z.unknown()).nullable().optional(),
|
|
750
845
|
...issueListItemShape,
|
|
751
846
|
parent: z
|
|
752
847
|
.object({ id: z.string(), identifier: z.string(), title: z.string() })
|
|
@@ -762,9 +857,6 @@ export const IssueDetailSchema = z.object({
|
|
|
762
857
|
reason: z.enum(SUBSCRIPTION_REASONS),
|
|
763
858
|
})),
|
|
764
859
|
attachments: z.array(AttachmentSchema),
|
|
765
|
-
checklist: IssueChecklistSchema.nullable(),
|
|
766
|
-
pendingApproval: ApprovalRequestSchema.nullable(),
|
|
767
|
-
recentApprovals: z.array(ApprovalRequestSchema),
|
|
768
860
|
subtasks: z.array(z.object({
|
|
769
861
|
id: z.string(),
|
|
770
862
|
identifier: z.string(),
|
|
@@ -790,9 +882,6 @@ export const IssueDetailSchema = z.object({
|
|
|
790
882
|
});
|
|
791
883
|
export const UpdateIssueResultSchema = z.object({
|
|
792
884
|
issue: IssueSchema,
|
|
793
|
-
pendingApproval: ApprovalRequestSchema.nullable().meta({
|
|
794
|
-
description: 'With 202: the request holding the status change for approval; the issue is unchanged.',
|
|
795
|
-
}),
|
|
796
885
|
});
|
|
797
886
|
export const IssueBoardSchema = z.object({
|
|
798
887
|
columns: z.array(z.object({
|
|
@@ -803,14 +892,6 @@ export const IssueBoardSchema = z.object({
|
|
|
803
892
|
}),
|
|
804
893
|
})),
|
|
805
894
|
});
|
|
806
|
-
export const IssueStartsSchema = z.object({
|
|
807
|
-
initialStatus: z.string(),
|
|
808
|
-
options: z.array(z.object({
|
|
809
|
-
status: StatusDefinitionSchema,
|
|
810
|
-
label: ruleMessage.nullable(),
|
|
811
|
-
hint: ruleMessage.nullable(),
|
|
812
|
-
})),
|
|
813
|
-
});
|
|
814
895
|
// Projects
|
|
815
896
|
const projectShape = {
|
|
816
897
|
id: z.string(),
|
|
@@ -822,7 +903,6 @@ const projectShape = {
|
|
|
822
903
|
leadUserId: z.string().nullable(),
|
|
823
904
|
startDate: day.nullable(),
|
|
824
905
|
dueDate: day.nullable(),
|
|
825
|
-
workflowId: z.string().nullable(),
|
|
826
906
|
setupIssueId: z.string().nullable(),
|
|
827
907
|
createdAt: dateTime,
|
|
828
908
|
updatedAt: dateTime,
|
|
@@ -895,26 +975,38 @@ const PlanRowInputSchema = z
|
|
|
895
975
|
.discriminatedUnion('op', [
|
|
896
976
|
z.object({
|
|
897
977
|
op: z.literal('issue.create'),
|
|
898
|
-
ref: z
|
|
978
|
+
ref: z
|
|
979
|
+
.string()
|
|
980
|
+
.optional()
|
|
981
|
+
.describe('A local reference name for this plan row.'),
|
|
899
982
|
params: z.object({
|
|
900
983
|
title: z.string(),
|
|
901
984
|
...issueFieldChanges,
|
|
902
985
|
blockedBy: z.array(issueTarget).optional(),
|
|
903
|
-
start: z.boolean().optional(),
|
|
904
986
|
}),
|
|
905
987
|
}),
|
|
906
988
|
z.object({
|
|
907
989
|
op: z.literal('issue.update'),
|
|
908
|
-
ref: z
|
|
990
|
+
ref: z
|
|
991
|
+
.string()
|
|
992
|
+
.optional()
|
|
993
|
+
.describe('A local reference name for this plan row.'),
|
|
909
994
|
params: z.object({
|
|
910
995
|
issue: issueTarget,
|
|
911
|
-
set: z.object({
|
|
912
|
-
|
|
996
|
+
set: z.object({
|
|
997
|
+
title: z.string().optional(),
|
|
998
|
+
...issueFieldChanges,
|
|
999
|
+
needsYou: z.string().nullable().optional(),
|
|
1000
|
+
next: z.string().nullable().optional(),
|
|
1001
|
+
}),
|
|
913
1002
|
}),
|
|
914
1003
|
}),
|
|
915
1004
|
z.object({
|
|
916
1005
|
op: z.literal('comment.create'),
|
|
917
|
-
ref: z
|
|
1006
|
+
ref: z
|
|
1007
|
+
.string()
|
|
1008
|
+
.optional()
|
|
1009
|
+
.describe('A local reference name for this plan row.'),
|
|
918
1010
|
params: z.object({
|
|
919
1011
|
issue: issueTarget,
|
|
920
1012
|
content: z.string(),
|
|
@@ -924,7 +1016,10 @@ const PlanRowInputSchema = z
|
|
|
924
1016
|
}),
|
|
925
1017
|
z.object({
|
|
926
1018
|
op: z.literal('dependency'),
|
|
927
|
-
ref: z
|
|
1019
|
+
ref: z
|
|
1020
|
+
.string()
|
|
1021
|
+
.optional()
|
|
1022
|
+
.describe('A local reference name for this plan row.'),
|
|
928
1023
|
params: z.object({
|
|
929
1024
|
action: z.enum(['add', 'remove']),
|
|
930
1025
|
issue: issueTarget,
|
|
@@ -934,7 +1029,10 @@ const PlanRowInputSchema = z
|
|
|
934
1029
|
}),
|
|
935
1030
|
z.object({
|
|
936
1031
|
op: z.literal('project.create'),
|
|
937
|
-
ref: z
|
|
1032
|
+
ref: z
|
|
1033
|
+
.string()
|
|
1034
|
+
.optional()
|
|
1035
|
+
.describe('A local reference name for this plan row.'),
|
|
938
1036
|
params: z.object({
|
|
939
1037
|
name: z.string(),
|
|
940
1038
|
description: z.string().nullable().optional(),
|
|
@@ -943,7 +1041,6 @@ const PlanRowInputSchema = z
|
|
|
943
1041
|
leadUserId: z.string().nullable().optional(),
|
|
944
1042
|
startDate: z.string().nullable().optional(),
|
|
945
1043
|
dueDate: z.string().nullable().optional(),
|
|
946
|
-
workflowId: z.string().nullable().optional(),
|
|
947
1044
|
}),
|
|
948
1045
|
}),
|
|
949
1046
|
])
|
|
@@ -1176,10 +1273,18 @@ export const singleFileBody = {
|
|
|
1176
1273
|
type: 'object',
|
|
1177
1274
|
required: ['file'],
|
|
1178
1275
|
properties: {
|
|
1179
|
-
file: {
|
|
1276
|
+
file: {
|
|
1277
|
+
type: 'string',
|
|
1278
|
+
format: 'binary',
|
|
1279
|
+
description: 'The file to upload.',
|
|
1280
|
+
},
|
|
1180
1281
|
},
|
|
1181
1282
|
},
|
|
1182
1283
|
},
|
|
1183
1284
|
},
|
|
1184
1285
|
};
|
|
1286
|
+
/** Context supplied by the session bridge, never an authentication credential. */
|
|
1287
|
+
export const IssueSessionHeader = z.object({
|
|
1288
|
+
'x-nb-agent-session': z.string().min(1).max(200).optional(),
|
|
1289
|
+
});
|
|
1185
1290
|
//# sourceMappingURL=schemas.js.map
|